Package Exports
- please-upgrade-node
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (please-upgrade-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Please upgrade Node

💁 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 🌵 - Patreon