Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomatau/babel-plugin-provide-modules
A babel plugin to Automatically load modules.
https://github.com/tomatau/babel-plugin-provide-modules
Last synced: 26 days ago
JSON representation
A babel plugin to Automatically load modules.
- Host: GitHub
- URL: https://github.com/tomatau/babel-plugin-provide-modules
- Owner: tomatau
- Created: 2015-09-19T14:47:45.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-29T13:38:08.000Z (over 7 years ago)
- Last Synced: 2024-09-19T23:12:35.130Z (about 2 months ago)
- Language: JavaScript
- Size: 7.81 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Provide Modules
[![Greenkeeper badge](https://badges.greenkeeper.io/tomatau/babel-plugin-provide-modules.svg)](https://greenkeeper.io/)
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
```shell
npm install --save babel babel-plugin-provide-modules
```The add plugin to .babelrc along with options.
```js
{
"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:
```js
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:
```js
const debug = 'some value';
```Debug will not be automatically loaded for that file.