Socket
Socket
Sign inDemoInstall

yargs-unparser

Package Overview
Dependencies
4
Maintainers
3
Versions
15
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    yargs-unparser

Converts back a yargs argv object to its original array form


Version published
Weekly downloads
6M
decreased by-0.29%
Maintainers
3
Install size
61.0 kB
Created
Weekly downloads
 

Package description

What is yargs-unparser?

The yargs-unparser npm package is used to reverse the process of parsing arguments. It takes an argv object, like the one yargs or minimist would generate, and turns it back into a string of command-line arguments. This can be useful for debugging, logging, or recreating command lines for subprocesses.

What are yargs-unparser's main functionalities?

Unparsing arguments

This feature allows you to take an argument object and convert it back into an array of command-line arguments.

const yargsUnparser = require('yargs-unparser');
const argv = { _: ['run'], 'file': 'test.js', 'verbose': true };
const unparsedArgs = yargsUnparser(argv);
console.log(unparsedArgs); // Output: ['run', '--file=test.js', '--verbose']

Other packages similar to yargs-unparser

Readme

Source

yargs-unparser

NPM version Downloads

Converts back a yargs argv object to its original array form.

Probably the unparser word doesn't even exist, but it sounds nice and goes well with yargs-parser.

The code originally lived in MOXY's GitHub but was later moved here for discoverability.

Installation

$ npm install yargs-unparser

Usage

const parse = require('yargs-parser');
const unparse = require('yargs-unparser');

const argv = parse(['--no-boolean', '--number', '4', '--string', 'foo'], {
    boolean: ['boolean'],
    number: ['number'],
    string: ['string'],
});
// { boolean: false, number: 4, string: 'foo', _: [] }

const unparsedArgv = unparse(argv);
// ['--no-boolean', '--number', '4', '--string', 'foo'];

The second argument of unparse accepts an options object:

  • alias: The aliases so that duplicate options aren't generated
  • default: The default values so that the options with default values are omitted
  • command: The command first argument so that command names and positional arguments are handled correctly

Example with command options

const yargs = require('yargs');
const unparse = require('yargs-unparser');

const argv = yargs
    .command('my-command <positional>', 'My awesome command', (yargs) =>
        yargs
        .option('boolean', { type: 'boolean' })
        .option('number', { type: 'number' })
        .option('string', { type: 'string' })
    )
    .parse(['my-command', 'hello', '--no-boolean', '--number', '4', '--string', 'foo']);
// { positional: 'hello', boolean: false, number: 4, string: 'foo', _: ['my-command'] }

const unparsedArgv = unparse(argv, {
    command: 'my-command <positional>',
});
// ['my-command', 'hello', '--no-boolean', '--number', '4', '--string', 'foo'];

Caveats

The returned array can be parsed again by yargs-parser using the default configuration. If you used custom configuration that you want yargs-unparser to be aware, please fill an issue.

If you coerce in weird ways, things might not work correctly.

Tests

$ npm test
$ npm test -- --watch during development

Supported Node.js Versions

Libraries in this ecosystem make a best effort to track Node.js' release schedule. Here's a post on why we think this is important.

License

MIT License

Keywords

FAQs

Last updated on 02 Oct 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc