babel-plugin-provide-modules

A babel plugin to Automatically load modules.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
babel-plugin-provide-modules
501.0.37 years ago7 years agoMinified + gzip package size for babel-plugin-provide-modules in KB

Readme

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.

Usage

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.