please-upgrade-node
    TypeScript icon, indicating that this package has built-in type declarations

    3.2.0 • Public • Published

    Please upgrade Node Build Status npm

    💁 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

    Install

    npm i please-upgrade-node

    DownloadsWeekly Downloads

    5,155,371

    Version

    3.2.0

    License

    MIT

    Unpacked Size

    5.54 kB

    Total Files

    7

    Last publish

    Collaborators

    • typicode