the cli args for generating the documentation of your deno project to via the buildDist function.

interface CliArgs {
    dir?: string;
    deno?: string;
    log?:
        | boolean
        | "none"
        | "basic"
        | "verbose";
    dryrun?: boolean;
    passes?: "1" | "2";
    split?: boolean;
    minify?:
        | boolean
        | "syntax"
        | "whitespace"
        | "identifiers";
    format?: any;
    config?: string;
}

Properties

dir?: string

the path to the folder where you wish to create your distribution 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.) the directory provided here will serve as esbuild configuration's ["outdir"] | outdir option.

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.

passes?: "1" | "2"

specify the number of compilation passes to perform:

  • "1" implies a single-pass compilation, and only uses the buildDist function under the hood.
  • "2" implies a double-pass compilation, which consists of two compilations, and is performed in the following set of steps:
    1. your source files are first bundled in-memory via the bundle function (which uses esbuild's build api).
    2. the resulting virtual files are then individually transformed via the transform function (which uses esbuild's transform api).
      you can configure this step through custom transformation functions and capture patterns, by specifying them in the TransformationCliConfig.pattern field of your CliConfigJson. but by default, only javascript files are further minified. (no css minification or transformation of other file/content types). see the default transformation here.
    3. the virtual files emitted by the transform function are then fed to the createFiles utility function which writes them onto your filesystem.

"1"

split?: boolean

enable esbuild's code splitting option.
you will probably want this turned on if you are transpiling multiple entry-points, so that the distribution files are overall shared and smaller in size.

false

minify?:
    | boolean
    | "syntax"
    | "whitespace"
    | "identifiers"

minify the output code, or apply minification of only one type ("syntax", "whitespace", or "identifiers").
note that when minify is true, EsBuildOptions.treeShaking also occurs by default.

"syntax"

format?: any

{@inheritDoc dist!EsBuildOptions.format}

"esm"

config?: string

a path to an dist-build configuration json file that provides additional modifiable parameters. see CliConfigJson for more details on the available extended configurations. in case there is a contradiction between the CliConfigJson setting and the current cli args, the cli arg will take precedence.