Deno standard library
GitHub Stars
Go to latest
import * as mod from "";

CLI flag parser.

This module is browser compatible.



Take a set of command line arguments, optionally with a set of options, and return an object representing the flags found in the passed arguments.



The value returned from parse.


The options for the parse call.


Command line arguments parser for Deno based on minimist.


import { parse } from "";

$ deno run -a beep -b boop
{ _: [], a: 'beep', b: 'boop' }
$ deno run -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
{ _: [ 'foo', 'bar', 'baz' ],
  x: 3,
  y: 4,
  n: 5,
  a: true,
  b: true,
  c: true,
  beep: 'boop' }


const parsedArgs = parse(args, options = {});

parsedArgs._ contains all the arguments that didn't have an option associated with them.

Numeric-looking arguments will be returned as numbers unless options.string or options.boolean is set for that argument name.

Any arguments after '--' will not be parsed and will end up in parsedArgs._.

options can be:

  • options.string - a string or array of strings argument names to always treat as strings.
  • options.boolean - a boolean, string or array of strings to always treat as booleans. if true will treat all double hyphenated arguments without equal signs as boolean (e.g. affects --foo, not -f or --foo=bar).
  • options.collect - a string or array of strings argument names to always treat as arrays. Collectable options can be used multiple times. All values will be collected into an array. If a non collectable option is used multiple times, the last value is used. All Collectable arguments will be set to [] by default.
  • options.negatable - a string or array of strings argument names which can be negated by prefixing them with --no-, like --no-config.
  • options.alias - an object mapping string names to strings or arrays of string argument names to use as aliases.
  • options.default - an object mapping string argument names to default values.
  • options.stopEarly - when true, populate parsedArgs._ with everything after the first non-option.
  • options['--'] - when true, populate parsedArgs._ with everything before the -- and parsedArgs['--'] with everything after the --. Here's an example:
    // $ deno run example.ts -- a arg1
    import { parse } from "";
    console.dir(parse(Deno.args, { "--": false }));
    // output: { _: [ "a", "arg1" ] }
    console.dir(parse(Deno.args, { "--": true }));
    // output: { _: [], --: [ "a", "arg1" ] }
  • options.unknown - a function which is invoked with a command line parameter not defined in the options configuration object. If the function returns false, the unknown option is not added to parsedArgs.