supporting semver checking, forked from please-upgrade-node-fork@3.2.2
💁 show a message to your users to upgrade npm 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 npm version is below the one expected.
$ npm -v
5.1.1
$ modern-cli
modern-cli requires 6 version of npm, please upgrade
npm install please-upgrade-npm
Add please-upgrade-npm
at the top of your CLI
#!/usr/bin/env node
const pkg = require('./package.json')
require('please-upgrade-npm')(pkg) // <- Must run BEFORE requiring any other modules
// ...
Set in your package.json
the required Node version
{
"engines": {
"npm": ">=6"
}
}
You can set custom exitCode
and message
function if needed
pleaseUpgradeNpm(pkg, {
exitCode: 0, // Default: 1
message: function(requiredVersion) {
return 'Oops this program require npm ' + requiredVersion
}
})
Important: to keep message
function compatible with older versions of Node, avoid using ES6 features like =>
or string interpolation.