What is dargs?
The dargs npm package is used to convert an object of options into an array of command-line arguments. This is particularly useful when you need to pass configuration options to a command-line tool in a programmatic way.
What are dargs's main functionalities?
Basic Conversion
Converts an object of options into an array of command-line arguments. In this example, the object { foo: 'bar', baz: true, qux: false } is converted to ['--foo', 'bar', '--baz'].
const dargs = require('dargs');
const options = { foo: 'bar', baz: true, qux: false };
const args = dargs(options);
console.log(args); // ['--foo', 'bar', '--baz']
Excluding Keys
Allows you to exclude specific keys from the conversion. In this example, the key 'qux' is excluded from the resulting array.
const dargs = require('dargs');
const options = { foo: 'bar', baz: true, qux: false };
const args = dargs(options, { excludes: ['qux'] });
console.log(args); // ['--foo', 'bar', '--baz']
Including Only Specific Keys
Allows you to include only specific keys in the conversion. In this example, only the keys 'foo' and 'baz' are included in the resulting array.
const dargs = require('dargs');
const options = { foo: 'bar', baz: true, qux: false };
const args = dargs(options, { includes: ['foo', 'baz'] });
console.log(args); // ['--foo', 'bar', '--baz']
Using Short Flags
Converts long flags to short flags if specified. In this example, the long flags are converted to short flags.
const dargs = require('dargs');
const options = { foo: 'bar', baz: true, qux: false };
const args = dargs(options, { shortFlag: true });
console.log(args); // ['-f', 'bar', '-b']
Other packages similar to dargs
minimist
Minimist is a package for parsing command-line arguments. Unlike dargs, which converts an object to command-line arguments, minimist is used to parse command-line arguments into an object. It is often used for the opposite purpose of dargs.
yargs
Yargs is a more feature-rich package for parsing command-line arguments and generating an elegant user interface. It provides more advanced features like command handling, middleware, and more, making it more comprehensive compared to dargs.
commander
Commander is a package for building command-line interfaces. It provides a way to define commands, options, and arguments, and it also parses command-line arguments. While dargs focuses on converting objects to arguments, Commander is more about building complete CLI applications.
dargs
Converts an object of options into an array of command-line arguments
Basically the inverse of an argument parser like nopt or minimist. Useful when calling command-line tools.
Install
$ npm install --save dargs
Usage
var dargs = require('dargs');
var options = {
foo: 'bar',
unicorn: 'rainbows and ponies',
hello: true,
cake: false,
camelCase: 5,
multiple: ['value', 'value2'],
sad: ':('
};
var excludes = ['sad'];
console.log(dargs(options, excludes));
API
dargs(options, excludes)
options
Type: object
Options to convert to command-line arguments.
excludes
Type: array
Keys to exclude.
License
MIT © Sindre Sorhus