Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

argv-utils

jesusgraterol15MIT1.0.3TypeScript support: included

The argv-utils package is a lightweight library for Node.js that simplifies working with command-line arguments passed to your scripts. It streamlines the process of accessing and managing arguments from process.argv property

arguments, shell, argv, argvs, parser, node, sh, utils, utilities

readme

argv Utils

The argv-utils package is a lightweight library for Node.js that simplifies working with command-line arguments passed to your scripts. It streamlines the process of accessing and managing arguments from process.argv property.

Getting Started

Install the package:

npm install -D argv-utils

Usage

node my-script.js --one --two="Hello World!" --someValue="false"
// my-script.js
import { argv } from 'node:process';
import { parseArgs } from 'argv-utils';

parseArgs(argv);
// {
//    execPath: '/usr/local/bin/node',
//    scriptPath: '/path/to/my-script.js',
//    one: 'true',
//    two: 'Hello World!',
//    someValue: 'false',
// }

Types

/**
 * Base Parsed Args
 * The args that will always be present when a Node.js process is launched; taking the indexes 0 and 1 in the vector.
 */
interface IBaseParsedArgs {
  // the absolute pathname of the executable that started the Node.js process
  execPath: string,

  // the path to the JavaScript file being executed
  scriptPath: string,
}

/**
 * Parsed Args
 * The arguments provided by the process.argv property when running a script from the shell.
 */
interface IParsedArgs extends IBaseParsedArgs {
  // the rest of the extracted arguments
  [argKey: string]: string
}

If you wish to enforce strong typing in your script, extend the base type as follows:

interface IMyScriptArgs extends IBaseParsedArgs {
  src?: string,
  init?: 'true',
  development?: 'true',
  staging?: 'true',
  production?: 'true',
}

Built With

  • TypeScript

Running the Tests

npm run test:unit

License

MIT


Deployment

Install dependencies:

npm install

Build the library:

npm start

Publish to npm:

npm publish