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
subcommands supported, such as . To see subcommand-specific help,
for example for bundle
, you can similarly run one of:
deno help bundle
deno bundle -h
Detailed guides for 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 latter is useful for integration with other applications.
deno run main.ts
deno run https://mydomain.com/main.ts
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:
// main.ts
console.log(Deno.args); // [ "a", "b", "-c", "--quiet" ]
# Good. We grant net permission to net_client.ts.
deno run --allow-net net_client.ts
# Bad! --allow-net was passed to Deno.args, throws a net permission error.
deno run net_client.ts --allow-net
Some see it as unconventional that:
However:
- This is, in fact, the same behaviour as that of any other popular runtime.
- Try
node -c index.js
andnode index.js -c
. The first will only do a syntax check on as per Node’s-c
flag. The second will executeindex.js
with-c
passed torequire("process").argv
.
- Try
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
, deno test
, deno bundle
, and
deno fmt
to enable the built in file watcher. The files that are watched
depend on the subcommand used:
- for
deno run
,deno test
, anddeno bundle
the entrypoint, and all local files the entrypoint(s) statically import(s) will be watched. - for
deno fmt
all local files and directories specified as command line arguments (or the working directory if no specific files/directories is passed) are watched.
Integrity flags (lock files)
Affect commands which can download resources to the cache: deno cache
,
deno run
, deno test
, , deno doc
, and deno compile
.
--lock <FILE> Check the specified lock file
--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
,
deno test
, deno bundle
, deno doc
, and deno compile
. As well as the flags
above, this includes those which affect module resolution, compilation
configuration etc.
--config <FILE> Load configuration file
--import-map <FILE> Load import map file
--no-remote Do not resolve remote modules
--reload=<CACHE_BLOCKLIST> Reload source code cache (recompile TypeScript)
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 .