1.0.3 • Published 6 years ago

babel-plugin-lazy-require v1.0.3

Weekly downloads
326
License
MIT
Repository
github
Last release
6 years ago

Build Status NPM version Coverage Status

babel-plugin-lazy-require

Transform global require statements that run on module load to lazily evaluated statements that get evaluted when first accessed later on in the file.

This is particularly useful when you have modules that are only needed under certain conditions and when startup time and/or memory footprint are important.

Usage

To install:

npm install --save-dev babel-cli@6 babel-plugin-lazy-require

To run:

babel <your-code> --plugins babel-plugin-lazy-require

Example

Input

// Module is imported here
const someModule = require('some-module');

function myCode() { 
    // Module is only actually used here
    someModule.doSomething();
}

Output

const _someModule = {
    initialized: false
};

const _imports = {
    get someModule() {
        if (!_someModule.initialized) {
            _someModule.value = require('some-module');
            _someModule.initialized = true;
        }
        return _someModule.value;
    }
}

function myCode() {
    // Module is imported and used here
    _imports.someModule.doSomething();
}
1.0.3

6 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago