There are multiple ways of viewing the main help text:

    Deno’s CLI is subcommand-based. The above commands should show you a list of those supported, such as . To see subcommand-specific help for bundle, you can similarly run one of:

    1. deno help bundle
    2. deno bundle -h

    Detailed guides to each subcommand can be found .

    Deno can grab the scripts from multiple sources, a filename, a url, and ‘-‘ to read the file from stdin. The last is useful for integration with other applications.

    1. deno run main.ts
    2. deno run https://mydomain.com/main.ts
    3. cat main.ts | deno run -

    Script arguments

    Separately from the Deno runtime flags, you can pass user-space arguments to the script you are running by specifying them after the script name:

    1. // main.ts
    2. console.log(Deno.args); // [ "a", "b", "-c", "--quiet" ]
    1. # Good. We grant net permission to net_client.ts.
    2. deno run --allow-net net_client.ts
    3. deno run net_client.ts --allow-net

    Some see it as unconventional that:

    However:

    1. This is the most ergonomic way of distinguishing between runtime flags and script arguments.
    2. This is, in fact, the same behaviour as that of any other popular runtime.
      • Try node -c index.js and node index.js -c. The first will only do a syntax check on index.js as per Node’s -c flag. The second will execute index.js with -c passed to require("process").argv.

    There exist logical groups of flags that are shared between related subcommands. We discuss these below.

    You can supply the --watch flag to deno run to enable the built in file watcher. When Deno starts up with this flag it watches the entrypoint, and all local files the entrypoint statically imports. Whenever one of these files is changed on disk, the program will automatically be restarted.

    Integrity flags

    Affect commands which can download resources to the cache: deno cache, and deno test.

    1. --lock <FILE> Check the specified lock file
    2. --lock-write Write lock file. Use with --lock.

    Find out more about these here.

    Affect commands which can populate the cache: deno cache, deno run and deno test. As well as the flags above this includes those which affect module resolution, compilation configuration etc.

    1. --config <FILE> Load tsconfig.json configuration file
    2. --import-map <FILE> UNSTABLE: Load import map file
    3. --no-remote Do not resolve remote modules
    4. --reload=<CACHE_BLOCKLIST> Reload source code cache (recompile TypeScript)
    5. --unstable Enable unstable APIs

    Runtime flags

    Affect commands which execute user code: deno run and . These include all of the above as well as the following.

    Permission flags

    These are listed .

    Other runtime flags