dargs-fork

Patch for the [dargs][] package, that adds support for single flags. Convert an object of options into an array of command-line arguments.

Usage no npm install needed!

<script type="module">
  import dargsFork from 'https://cdn.skypack.dev/dargs-fork';
</script>

README

dargs-fork npmjs.com The MIT License npm downloads

Patch for the dargs package, that adds support for single flags. Convert an object of options into an array of command-line arguments.

code climate standard code style travis build status coverage status dependency status

See readme of dargs!

That's just a fork with patch for single flag support, sindresorhus/dargs#32 - PRs there are welcome, so if you want create one and please ping me. :)

Install

Install with npm

$ npm i dargs-fork --save

Usage

For more use-cases see the tests

const dargs = require('dargs-fork')

const input = {
    _: ['some', 'option'],          // values in '_' will be appended to the end of the generated argument list
    foo: 'bar',
    hello: true,                    // results in only the key being used
    cake: false,                    // prepends `no-` before the key
    camelCase: 5,                   // camelCase is slugged to `camel-case`
    multiple: ['value', 'value2'],  // converted to multiple arguments
    pieKind: 'cherry',
    sad: ':('
}

const excludes = ['sad', /.*Kind$/]  // excludes and includes accept regular expressions
const includes = ['camelCase', 'multiple', 'sad', /^pie.*/]
const aliases = {file: 'f'}

console.log(dargs(input, {excludes}))
/*
[
    '--foo=bar',
    '--hello',
    '--no-cake',
    '--camel-case=5',
    '--multiple=value',
    '--multiple=value2',
    'some',
    'option'
]
*/

console.log(dargs(input, {excludes, includes}))
/*
[
    '--camel-case=5',
    '--multiple=value',
    '--multiple=value2'
]
*/

console.log(dargs(input, {includes}))
/*
[
    '--camel-case=5',
    '--multiple=value',
    '--multiple=value2',
    '--pie-kind=cherry',
    '--sad=:('
]
*/

console.log(dargs({
    foo: 'bar',
    hello: true,
    file: 'baz'
}, {aliases}))
/*
[
    '--foo=bar',
    '--hello',
    '-f', 'baz'
]
*/

Related

  • dargs: Reverse minimist. Convert an object of options into an array of command-line… more | homepage
  • gitclone-cli: Simple command line interface for the git clone command, using gitclone and… more | homepage
  • gitclone: Powerful and flexible programmatic interface for the git clone command, using [gitclone-defaults… more | homepage
  • minibase: MiniBase is minimalist approach to Base - @node-base, the awesome framework. Foundation… more | homepage
  • unzy: Minimalist, extremely pluggable, programmatic Git interface for node.js, built on MiniBase. | homepage

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github