Creating CLI programs with Node.js
A CLI program is a quick way of interfacing with the user without the need to create a User Interface. How do we make one with Node?
A CLI program is a quick way of interfacing with the user without the need to create a User Interface. How do we make one with Node?
In Node, a CLI program is nothing more than a regular JS script that’s accessed from the command line. There’s nothing special to it.
You can access the arguments with process.argv
. It returns an array like this:
[
'/usr/local/bin/node',
'~/Documents/JSPlon/plon',
'Test.plon'
]
The first two are always the location of the Node executable and the location of the script. Everything else is what the user passed to the program.
Once you’ve made your program, you must add this little snippet to your package.json
to make your script work everywhere:
"bin": {
"command": "relative location"
}
Where command
is what you’d like the user to type in the command line to get to your program (like: plon
) and relative location
is just the relative location of the script from your package.json
.
If you want to test the program in the CLI without publishing, run npm link
. You can now run your script typing the command
from earlier.
Once you’re done testing, type npm unlink
to clean up.
When you want to publish, just type npm publish
as usual and follow the steps.
The end result is that something like this works:
plon test.plon
And this:
#! /usr/bin/env plon
Again, where plon
is the comamnd from earlier.
Alright, we’re done with this shorter tutorial; I hope you liked it. See you next time. Happy coding!