You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
alfiepates b0b64a865d initial dev commit. everything is broken. 9 years ago
..
LICENSE initial dev commit. everything is broken. 9 years ago
README.md initial dev commit. everything is broken. 9 years ago
index.js initial dev commit. everything is broken. 9 years ago
package.json initial dev commit. everything is broken. 9 years ago

README.md

lazy-cache NPM version Build Status

Cache requires to be lazy-loaded when needed.

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.

Install

Install with npm

$ npm i lazy-cache --save

Usage

var lazy = 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 lazy = require('lazy-cache')(require);

// `npm install glob`
lazy('glob');

// glob sync
console.log(lazy.glob.sync('*.js'));

// glob async
lazy.glob('*.js', function (err, files) {
  console.log(files);
});

Use as a function

var lazy = require('lazy-cache')(require);
var glob = lazy('glob');

// `glob` is a now a function that may be called when needed
glob().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);

utils('ansi-yellow', 'yellow');
console.log(utils.yellow('foo'));

Browserify usage

Example

var utils = require('lazy-cache')(require);
// temporarily re-assign `require` to trick browserify
var 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
 */

// sync
console.log(utils.glob.sync('*.js'));

// async
utils.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 out of > 11 million downloads).

To force lazy-cache to immediately invoke all dependencies, do:

process.env.UNLAZY = true;

lint-deps: CLI tool that tells you when dependencies are missing from package.json and offers you a… more | homepage

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Jon Schlinkert

License

Copyright © 2015 Jon Schlinkert Released under the MIT license.


This file was generated by verb on December 20, 2015.