Cache requires to be lazy-loaded when needed.
Install with npm:
sh
$ npm install lazy-cache --save
If you use webpack and are experiencing issues, try using unlazy-loader, a webpack loader that fixes the bug that prevents webpack from working with native javascript getters.
js
var utils = require('lazy-cache')(require);
Use as a property on lazy
The module is also added as a property to the lazy
function
so it can be called without having to call a function first.
```js var utils = require('lazy-cache')(require);
// npm install glob
utils('glob');
// glob sync console.log(utils.glob.sync('*.js'));
// glob async utils.glob('*.js', function (err, files) { console.log(files); }); ```
Use as a function
```js var utils = require('lazy-cache')(require); var glob = utils('glob');
// glob
is a now a function that may be called when needed
glob().sync('foo/*.js');
```
An alias may be passed as the second argument if you don't want to use the automatically camel-cased variable name.
Example
```js var utils = require('lazy-cache')(require);
// alias ansi-yellow
as yellow
utils('ansi-yellow', 'yellow');
console.log(utils.yellow('foo'));
```
Example
``js
var utils = require('lazy-cache')(require);
// temporarily re-assign
requireto trick browserify
var fn = require;
require = utils;
// list module dependencies (here,
requireis actually
lazy-cache)
require('glob');
require = fn; // restore the native
require` function
/*
* Now you can use glob with the utils.glob
variable
/
// sync console.log(utils.glob.sync('*.js'));
// async utils.glob('*.js', function (err, files) { console.log(files.join('\n')); }); ```
In certain rare edge cases it may be necessary to unlazy all lazy-cached dependencies (5 reported cases after ~30 million downloads).
To force lazy-cache to immediately invoke all dependencies, do:
js
process.env.UNLAZY = true;
You might also be interested in these projects:
lint-deps: CLI tool that tells you when dependencies are missing from package.json and offers you a… more | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Generate readme and API documentation with verb:
sh
$ npm install verb && npm run docs
Or, if verb is installed globally:
sh
$ verb
Install dev dependencies:
sh
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on April 22, 2016.