please-upgrade-node

WebJar for please-upgrade-node

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

please-upgrade-node
Last Version

Last Version

3.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

please-upgrade-node
WebJar for please-upgrade-node
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/typicode/please-upgrade-node

Download please-upgrade-node

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/please-upgrade-node/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>please-upgrade-node</artifactId>
    <version>3.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/please-upgrade-node/
implementation 'org.webjars.npm:please-upgrade-node:3.2.0'
// https://jarcasting.com/artifacts/org.webjars.npm/please-upgrade-node/
implementation ("org.webjars.npm:please-upgrade-node:3.2.0")
'org.webjars.npm:please-upgrade-node:jar:3.2.0'
<dependency org="org.webjars.npm" name="please-upgrade-node" rev="3.2.0">
  <artifact name="please-upgrade-node" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='please-upgrade-node', version='3.2.0')
)
libraryDependencies += "org.webjars.npm" % "please-upgrade-node" % "3.2.0"
[org.webjars.npm/please-upgrade-node "3.2.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : semver-compare jar [1.0.0,2)

Project Modules

There are no modules declared in this project.

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

Versions

Version
3.2.0
3.1.1