
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
cli-argv-util
Advanced tools
Simple utility to parse command line parameters and flags (arguments vector)
<img src=https://centerkey.com/graphics/center-key-logo.svg align=right width=200 alt=logo>
Simple utility to parse command line parameters and flags (arguments vector)
cli-argv-util is called from your bin/cli.js
file in order to read user
supplied information on the command line and return the flags and parameters
in an easy-to-use structure.
Install package for node:
$ npm install cli-argv-util
Place the following code in your bin/cli.js file
import { cliArgvUtil } from 'cli-argv-util';
const validFlags = ['cd', 'find', 'no-summary'];
const cli = cliArgvUtil.parse(validFlags);
if (cli.invalidFlag)
throw new Error(cli.invalidFlagMsg);
if (cli.flagOn.find)
console.log('You set the --find CLI flag to:', cli.flagMap.find);
if (cli.flagOn.noSummary)
console.log('You enabled the --no-summary CLI option.');
console.log('You supplied', cli.params.length , 'CLI parameter(s).');
For a real world example, see: cli.js
If your CLI tool is named my-program
and a user runs it like:
$ my-program about.html --cd=src --no-summary 'Hello World' 777
the resulting cli
object will be:
{
flagMap: {
cd: 'src',
},
flagOn: {
cd: true,
find: false,
noSummary: true,
},
invalidFlag: null,
invalidFlagMsg: null,
params: ['about.html', 'Hello World', '777'],
}
Note: Single quotes in commands are normalized so they work cross-platform and avoid the errors often encountered on Microsoft Windows.
The cliArgvUtil.parse()
returns an object of type Result
:
export type StringFlagMap = { [flag: string]: string | undefined };
export type BooleanFlagMap = { [flag: string]: boolean };
export type Result = {
flagMap: StringFlagMap, //map of flag values for each user supplied flag
flagOn: BooleanFlagMap, //map of the enabled status for all valid flags
invalidFlag: string | null, //name of the first invalid flag
invalidFlagMsg: string | null, //error message for the invalid flag
params: string[], //array of parameter values supplied by the user
};
See the TypeScript Declarations at the top of cli-argv-util.ts for documentation.
CLI Build Tools for package.json
Feel free to submit questions at:
github.com/center-key/cli-argv-util/issues
FAQs
Simple utility to parse command line parameters and flags (arguments vector)
The npm package cli-argv-util receives a total of 3,110 weekly downloads. As such, cli-argv-util popularity was classified as popular.
We found that cli-argv-util demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.