Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

engine-test

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

engine-test

Demand a Node or npm version to run your app.

latest
Source
npmnpm
Version
0.2.2
Version published
Maintainers
1
Created
Source

engine-test Build status for engine-test on Circle CI.

Demand a Node or npm version to run your app.

Why?

  • Fail fast with a friendly message.
  • Get semver satisfaction between the expected and actual versions.
  • Provide expected versions at runtime or via package.json.
  • Provide actual versions at runtime, if you know them already.

Install

npm install engine-test --save

Usage

Get it into your program.

const engineTest = require('engine-test');

Ask whether the current Node and/or npm in use are acceptable based on the engines in your package.json.

engineTest().then((satisfied) => {
    if (!satisfied) {
        console.error('Hey Jane! Update your Node.');
    }
});

If you want to override the expectations of your package.json, you can.

engineTest({npm : '2.x'}).then((satisfied) => {
    // true if on any version of npm 2
    console.log(satisfied);
});

If you happen to already have data on-hand about the user's current engines, you can save time by providing it. This is particularly good for npm, since its version must be determined asynchronously if it is not provided.

engineTest({npm : '2.x'}, {npm: '3.0.0'})
    .then((satisfied) => {
        console.log(satisfied);  // => false
    });

Ask for a more detailed report.

engineTest(undefined, undefined, {detail : true})
    .then((engines) => {
        console.log(engines);
        // {
        //     allSatisfied : false,
        //     satisfied : {
        //         npm : {
        //             expected : '^2.0.0',
        //             actual   : '2.14.2'
        //         }
        //     },
        //     notSatisfied : {
        //         node : {
        //             expected : '>4.2.0',
        //             actual   : '4.0.0'
        //         }
        //     }
        // }
    });

Have Engine Test automatically reject the promise with a nice reason error, allowing you to easily register a handler that will only run when the user has compatible engines. If they don't, they will see a nice stack trace.

engineTest.assert().then((satisfied) => {
    // Do anything. User is gauranteed to have compatible engines.
    console.log('Hey Jane! You are good to go.');
});

Contributing

See our contributing guidelines for more details.

  • Fork it.
  • Make a feature branch: git checkout -b my-new-feature
  • Commit your changes: git commit -am 'Add some feature'
  • Push to the branch: git push origin my-new-feature
  • Submit a pull request.

License

MPL-2.0 © Seth Holladay

Go make something, dang it.

Keywords

engine

FAQs

Package last updated on 04 Sep 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts