
Security News
Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.
@node-cli/parser
Advanced tools
Simple, non-interactive, CLI app arguments parser
parser(options) ⇒ { flags, parameters, showHelp }
| Argument | Type |
|---|---|
| options | Object |
| options.meta | import.meta |
| options.examples | Array of Object |
| options.flags | Object |
| options.parameters | Object |
| options.restrictions | Array of Object |
| options.usage | String or Boolean |
| options.defaultFlags | Object |
| options.defaultParameters | Object |
import { parser } from "@node-cli/parser";
const { flags, parameters, showHelp } = parser({
meta: import.meta, // this is required for --version to work correctly
examples: [
{
command: 'my-cli --verbose --command "chmod +x" bin',
comment: '## Make all files executable in the "bin" folder',
},
],
flags: {
encrypt: {
shortFlag: "e",
description: "Encrypt the file",
type: "boolean",
},
decrypt: {
shortFlag: "d",
description: "Decrypt the file",
type: "boolean",
},
verbose: {
shortFlag: "V",
description: "Enable extra logging",
type: "boolean",
},
command: {
shortFlag: "c",
description: "Command to execute over each node (ex: chmod +x)",
type: "string",
},
help: {
shortFlag: "h",
description: "Display help instructions",
type: "boolean",
},
version: {
shortFlag: "v",
description: "Output the current version",
type: "boolean",
},
},
parameters: {
src: {
default: "current folder",
description: "the source",
},
dest: {
description: "the destination",
},
},
restrictions: [
{
exit: 1,
message: () =>
log.error("Error: --encrypt or --decrypt option must be provided."),
test: (x) => x.encrypt === false && x.decrypt === false,
},
],
// use usage:true is equivalent to the following line
usage: "my-cli [options] [src] [dest]",
defaultFlags: {
verbose: false,
},
});
// `flags` will be an object with what the user provided
// `parameters` will be an object with what the user provided
// `showHelp` is a method that can be invoked to display help instructions
If options --version or --help are used, they will automatically print version or help, respectively, and exit with 0 (process.exit(0)).
MIT © Arno Versini
FAQs
A simple CLI parser helper
The npm package @node-cli/parser receives a total of 171 weekly downloads. As such, @node-cli/parser popularity was classified as not popular.
We found that @node-cli/parser 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
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.