Please upgrade Node
![npm](https://camo.githubusercontent.com/fc574395a418deb7b249b5e805c22c09ac2dfe028498e11744b89b9e949a7174/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f706c656173652d757067726164652d6e6f64652e737667)
๐ show a message to your users to upgrade Node instead of a stacktrace
It's common for new Node users to miss or not understand engines warning when installing a CLI. This package displays a beginner-friendly message if their Node version is below the one expected.
$ node -v
0.12
$ modern-cli
modern-cli requires at least version 6 of Node, please upgrade
Support
If you like this project, you can support me on GitHub Sponsors
Usage
npm install please-upgrade-node
Add please-upgrade-node
at the top of your CLI
#!/usr/bin/env node
const pkg = require('./package.json')
require('please-upgrade-node')(pkg) // <- Must run BEFORE requiring any other modules
// ...
Set in your package.json
the required Node version
{
"engines": {
"node": ">=6"
}
}
Important: >=
is the only operator supported by please-upgrade-node
(e.g. >=6
, >=6.0
, >=6.0.0
).
Options
You can set custom exitCode
and message
function if needed
pleaseUpgradeNode(pkg, {
exitCode: 0, // Default: 1
message: function(requiredVersion) {
return 'Oops this program require Node ' + requiredVersion
}
})
Important: to keep message
function compatible with older versions of Node, avoid using ES6 features like =>
or string interpolation.
See also
- pkg-ok -
๐ Prevents publishing a module with bad paths - husky -
๐ถ Git hooks made easy - update-notifier - Update notifications for your CLI app
Thanks to zeit/serve for the error message inspiration.
License
MIT - Typicode