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.
Usage
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.
var utils =require('lazy-cache')(require);var glob =utils('glob');// `glob` is a now a function that may be called when neededglob().sync('foo/*.js');
Aliases
An alias may be passed as the second argument if you don't want to use the automatically camel-cased variable name.
Example
var utils =require('lazy-cache')(require);// alias `ansi-yellow` as `yellow`utils('ansi-yellow','yellow');console.log(utils.yellow('foo'));
Browserify usage
Example
var utils =require('lazy-cache')(require);// temporarily re-assign `require` to trick browserifyvar fn = require;require = utils;// list module dependencies (here, `require` is actually `lazy-cache`)require('glob');require = fn; // restore the native `require` function/** * Now you can use glob with the `utils.glob` variable */// syncconsole.log(utils.glob.sync('*.js'));// asyncutils.glob('*.js',function (err, files) {console.log(files.join('\n'));});
Kill switch
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:
process.env.UNLAZY=true;
Related projects
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
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.