1.0.3 • Published 6 months ago

argv-utils v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

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