Please upgrade Node Build Status npm

:information_desk_person: 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.

```sh $ 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

sh npm install please-upgrade-node

Add please-upgrade-node at the top of your CLI

```js

!/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

js { "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

js 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

Thanks to zeit/serve for the error message inspiration.

License

MIT - Typicode :cactus: - Patreon