A babel plugin to Automatically load modules.

Downloads in past


501.0.38 years ago8 years agoMinified + gzip package size for babel-plugin-provide-modules in KB


Provide Modules
A babel plugin to Automatically load modules.
Module (value) is loaded and the identifier (key) is used as free variable. The identifier is filled with the exports of the loaded module.


npm install --save babel babel-plugin-provide-modules

The add plugin to .babelrc along with options.
  "plugins": [
    ["provide-modules", {
      "debug": "debug", // default
      "lodash": ["get", "assign"], // de-structured
      "react-dom": [{"findDOMNode" : "find"}], // de-structured with alias
      // both default and de-structured imports with alias
      "react": {
        default: "React",
        destructured: ["PropTypes", {"cloneElement": "clone" }],

The above will inject the following into every file:
import debug from 'debug';
import {get, assign} from 'lodash';
import {findDOMNode as find} from 'react-dom';
import React, {PropTypes, cloneElement as clone} from 'react';

If any file already contains a binding defined in options, the binding will not be inserted.
For example, given the same options above and the following file:
const debug = 'some value';

Debug will not be automatically loaded for that file.