github.com/google/python-fire clone for node.js
npm install js-fire> A javascript implementation of google/python-fire
js-fire is a library for automatically generating command line interfaces
(CLIs) from most js objects.
* js Fire is a simple way to create a CLI in js.
* js Fire helps with exploring existing code or turning other people's code
into a CLI.
* js Fire makes transitioning between Bash and js easier.
```
yarn add js-fire
``
npm install js-fire
js-fire is exposed as both an API and a CLI.
You can call Fire on any functions and objects:
Here's an example of calling Fire on a object, you can infinitely nest objects to create subcommands.
`javascript
const fire = require('js-fire')
const calculator = {
__description__: 'I am a math machine',
double: number => {
// I double things
return 2 * number
},
add: (n1 = Math.PI, n2) => {
return n1 + n2
},
misc: {
year: () => '1999',
brand: () => 'casio',
hello: name => hello ${name},
},
}
fire(calculator)
`
Then, from the command line, you can run:
`bash`
node calculator.js double --number=15 # 30
`bash`
node calculator.js misc hello hobochild # 'hello hobochild'
Automactic --help command.
`bash
node calculator.js --help
USAGE:
node calculator.js
DESCRIPTION:
I am a math machine
COMMANDS:
half --number=
double --number=
add --n1=3.141592653589793 --n2=
misc
year
brand
hello --name=
`
Automatic --interactive mode:

For additional examples, see /examples.
js-fire exposes a CLI that takes modulePath and passes it to js-fire.
`bash`
USAGE:
js-fire --modulePath=
So you can js-fire on _most_ js modules.
`bash`
js-fire fs -- writeFileSync --path=hello.txt --data="hiii"
You can also use interactive and help mode to explore a modules api:
`bash
js-fire fs -- -h
USAGE:
js-fire
COMMANDS:
appendFile
appendFileSync
access
accessSync
chown
chownSync
chmod
chmodSync
close
closeSync
copyFile
copyFileSync
createReadStream
createWriteStream
exists
existsSync
...
``