- Notifications
You must be signed in to change notification settings - Fork2
POSIX compliant pipe argument parser for node CLI apps
License
gpestana/pipe-args
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
pipe-args adds support for unix piped arguments to your node CLI apps
pipe-args makes your node CLI apps to fully support unix pipelines, completelyout of the box. Require the the pipe-args module and all the piped arguments areadded to the process stdin transparently. It also integrates well with popularcommand line interface/parsers like yarg and commander.js.
$ npm install --save pipe-args
#!/usr/bin/env nodeconstpipe=require('pipe-args').load();console.log(`The piped arg is${process.argv[2]}`);
$echotest| node index.js$ The piped arg istest
You can define which commands allow the stdin to be copied to process.argv bypassing them in theoptions
object:
#!/usr/bin/env nodeconstpipe=require('pipe-args').load(['command']);console.log(`The piped arg is${process.argv[2]}`);
$echo OK| nodecommand index.js$ The piped arg is OK
$echo OK| node commandNotPiping index.js$ The piped arg is null // stdin was not parsed into process.argv
pipe-args plays along with optstrings parsers such as yarg. The following yargsparser code:
#!/usr/bin/env nodeconstpipe=require('pipe-args').load();constyargs=require('yargs')constcli=yargs.demand(1)console.log(cli.argv);
parses linux-style piped arguments as expected:
$echo piped_arg| yargs-cli.js$ { _: ['piped_arg' ],'$0':'index.js' }
MIT ©Gonçalo Pestana
About
POSIX compliant pipe argument parser for node CLI apps