Socket
Socket
Sign inDemoInstall

please-upgrade-node

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

please-upgrade-node - npm Package Compare versions

Comparing version 2.0.0 to 3.0.0

4

index.js

@@ -1,4 +0,2 @@

module.exports = function (pkgDir) {
var dir = pkgDir || '.'
var pkg = require(dir + "/package.json");
module.exports = function (pkg) {
var requiredVersion = pkg.engines.node.replace(">=", "");

@@ -5,0 +3,0 @@ var currentVersion = process.version.replace("v", "");

{
"name": "please-upgrade-node",
"version": "2.0.0",
"version": "3.0.0",
"description": "Displays a beginner-friendly message telling your user to upgrade their version of Node",

@@ -9,3 +9,2 @@ "main": "index.js",

"prepublishOnly": "pkg-ok",
"precommit": "npm test",
"fix": "prettier --write *.js"

@@ -12,0 +11,0 @@ },

# Please upgrade Node [![Build Status](https://travis-ci.org/typicode/please-upgrade-node.svg?branch=master)](https://travis-ci.org/typicode/please-upgrade-node) [![npm](https://img.shields.io/npm/v/please-upgrade-node.svg)](https://www.npmjs.com/package/please-upgrade-node)
> __Be friendly, be cool__ :sunglasses: show a message to your users to upgrade Node instead of a stacktrace
> :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 the `npm` engines warning when installing a CLI. This package displays a beginner-friendly message if their Node version is below the one expected and it's just a [__few lines__](index.js) of JS code.
It's common for new Node users to miss the `npm` engines warning when installing a CLI. This package displays a beginner-friendly message if their Node version is below the one expected.
Example with [hotel](https://github.com/typicode/hotel) CLI:
```
```sh
$ node -v
0.12
$ hotel

@@ -16,25 +17,17 @@ hotel requires at least version 4 of Node, please upgrade

## Usage
## Install
Install:
```sh
npm install please-upgrade-node
yarn add please-upgrade-node
```
Require `please-upgrade-node` before anything else:
```js
// ./bin.js
// by default, will load ./package.json
require('please-upgrade-node')()
// The rest of your code...
// bin.js
const pkg = require('./package.json')
require('please-upgrade-node')(pkg)
// please-upgrade-node MUST run before other requires
```
In your `package.json`, define the required Node version:
```json
```js
// package.json
{

@@ -47,43 +40,4 @@ "name": "super-cli",

Please note that `>=` is the only operator supported by `please-upgrade-node` (e.g. `>=4`, `>=4.0`, `>=4.0.0`). Now if your users install your `super-cli` project with an older Node version, they'll see:
`>=` is the only operator supported by `please-upgrade-node` (e.g. `>=4`, `>=4.0`, `>=4.0.0`).
```sh
$ npm install -g super-cli
# [...]
npm WARN engine super-cli@1.0.0: : wanted: {"node":">=6"} (current: {"node":"4.8.3","npm":"2.15.11"})
# [...]
```
```sh
$ super-cli
super-cli requires at least version 6 of Node, please upgrade
```
## API
`pleaseUpgradeNode([pkgDir = '.'])`
You can pass a `pkgDir` if your `package.json` is not at the same level:
```js
// ./package.json
require('please-upgrade-node')()
// ../../package.json
require('please-upgrade-node')('../..')
```
## Caveat
Make sure when requiring `please-upgrade-node` to not use syntax that is only supported in recent versions of Node.
For example, if you use `const` instead of `var`, `please-upgrade-node` won't work with Node `0.12`:
```js
const pleaseUpgradeNode = require('please-upgrade-node') // ← Will fail and exit here with Node 0.12,
pleaseUpgradeNode() // Message won't be displayed
```
To avoid any issues, the recommended syntax is `require('please-upgrade-node')()`.
## See also

@@ -94,3 +48,3 @@

Thanks to [zeit/serve](https://github.com/zeit/serve) for inspiring the error message.
Thanks to [zeit/serve](https://github.com/zeit/serve) for the error message inspiration.

@@ -97,0 +51,0 @@ ## License

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc