Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 2.07 KB

README.md

File metadata and controls

71 lines (52 loc) · 2.07 KB

npm version Build Status Windows Build Status

Logo

Intelligent multi-version dependency management for npm packages.

Install

npm install --save requirey

Usage

  • Initialize

const ry = require('requirey')(config, options);

config - object of module names mapped to arrays of supported versions
options - extra options to override default behaviors like strict

Default behavior is strict mode enabled which will always use config to determine which versions can be installed and required

Strict mode will ignore version overrides for require calls

eg:

{
  "lodash": ['1.0.0', '2.1.2'],
  ...
}
  • Install

ry.installAll();

or

ry.install('lodash');
// or
ry.install('lodash', '1.0.0');
ry.install('lodash', '2.0.0');
  • Require

const requirer = new ry.Requirer(pkgJson);

requirer.require('lodash'); // ==> highest possible version supported
requirer.require('[email protected]'); // ==> version 1.0.0
requirer.require('lodash', '^2.0.0'); // ==> highest version in the range between 2.0.0 and 3.0.0
requirer.require('lodash', '~2.2.0'); // ==> highest version in the range between 2.2.0 to 2.3.0
requirer.require('lodash/fp/curry'); // ==> require sub-paths from auto-detected version
requirer.require('[email protected]/array/chunk'); // ==> require sub-paths from particular version

The require method also takes an optional third parameter:

force - boolean ==> Forces a require call for a particular version

requirer.require('lodash', '4.0.0', true);

Built Using