contains the relevant fields within the configuration json file, that are used for configuring the npm build of the project.

interface CliNpmConfig {
    dir?: string;
    deno?: string;
    log?:
        | boolean
        | "none"
        | "basic"
        | "verbose";
    dryrun?: boolean;
    install?: any;
    copy?: [source: string, destination: string][];
    text?: WritableFileConfig[];
    dnt?: Omit<DntBuildOptions, "entryPoints" | "outDir" | "scriptModule">;
}

Hierarchy

  • Omit<CliArgs, "config">
    • CliNpmConfig

Properties

dir?: string

the path to the folder where you wish to create your npm release. if a relative path is provided, then it will be resolved as a path relative to Deno's current working directory. (which is generally where deno.json resides.)

deno?: string

the path to your deno.json file for this project. if a relative path is provided, then it will be resolved as a path relative to Deno's current working directory. (which is also where deno.json generally resides.)

log?:
    | boolean
    | "none"
    | "basic"
    | "verbose"

select logging level:

  • false or "none": skip logging (dnt itself will still log).
  • true or "basic": log what is being carried out at the top level.
  • "verbose": in addition to basic logging, it also logs which files/folders are being copied or generated.
  • undefined: unchange logging from previous state (which is "basic" by default).
dryrun?: boolean

enable dryrun if you wish for nothing to be written onto the the filesystem.

install?: any

should npm install be invoked after the node project's creation? you could also specify the binary-name of the node-installer, such as pnpm, npm, yarn, or provide the binary's path if it is not available in the system-path, such as ~/.pnpm/pnpm or /usr/bin/npm.

  • if you do specify the binary name, then the generated package will be installed.
  • if you specify this option as a true boolean, then the installation will default to using npm for installation.
  • if the you don't provide the install option, or leave it false, then no package installation will occur.

false

copy?: [source: string, destination: string][]

a list of paths/glob patterns relative to the deno.json directory, that should be copied over to the build directory, at the specified path. note that if the source is a glob pattern, then its destination can only be a folder. moreover, folder sources and destinations must always end in a trailing slash (i.e. "./path/to/my/folder/")

[!CAUTION] be cautious with using glob patterns with folders, as it will generally give you a bad unexpected output. when using glob patterns, make sure to execute a dryrun of the build process with "verbose" logging, to ensure that you are getting your desired copy paths.

write (or append) additional text or binary files to the output build directory, at the specified relative destination. use the 3rd options item to specify text Deno.WriteFileOptions | writing options, such as "append" the new text, or permit the creation ("create") of new file if it doesn't exist, etc...

dnt?: Omit<DntBuildOptions, "entryPoints" | "outDir" | "scriptModule">

dnt related additional build options for you to configure.