Need help with please-upgrade-node?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

typicode
219 Stars 23 Forks MIT License 57 Commits 5 Opened issues

Description

:information_desk_person: Show a message to your users to upgrade Node instead of a stacktrace

Services available

!
?

Need anything else?

Contributors list

# 348
JavaScr...
React
Git
exec
46 commits
# 19,345
cypress
Svelte
stubs
Ember
1 commit

Please upgrade Node Build Status npm

:informationdeskperson: 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) // 

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 - :ok_hand: Prevents publishing a module with bad paths
  • husky - :dog: Git hooks made easy
  • update-notifier - Update notifications for your CLI app

Thanks to zeit/serve for the error message inspiration.

License

MIT - Typicode :cactus: - Patreon

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.