Skip to content

Intelligent multi-version dependency management for npm packages

License

Notifications You must be signed in to change notification settings

debopamsengupta/requirey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Intelligent multi-version dependency management for npm packages

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published