babel-plugin-bemify-es6
v0.3.0
Published
The babel plugin for es6 imports and exports conversion to YM modules
Downloads
13
Maintainers
Readme
babel-plugin-bemify-es6
A Babel plugin for es6 imports and exports conversion to YM modular system. The best way for using this plugin is the using on the project made using BEM methodology, however you can use this plugin on the projects which just using YM modular system.
Description
This plugin converts the ES6 imports to the YM and CommonJS modular systems imports notations, according to prefix in the module path and also converts exports to the YM module definition. Also this plugin wrap ES6 code to the IIFE function and redefine module if last was been already defined.
The next ES6 code
import "module1"
import defDep from "module1"
import {dep1, dep2 as d2} from "bem:module2"
export default ()=> {
alert(defDep + dep1 + d2)
}
,will be converted to the next code
modules.define("export__module-name", ["module2"], (_provide, module204478, _self) => {
const module119923 = require("module1")
_provide(Object.assign(module119923, _self, function(defDep, dep1, d2) {
const _exported_expression_0128987 = () => {
alert(defDep + dep1 + d2)
}
return {
default: _exported_expression_0128987
}
} (module119923.default, module204478.dep1, module204478.dep2)))
})
,where "export__module-name" is the name of your source file.
Usage
If you want to use this plugin, you should perform 3 steps: Firstly install the plugin from the npm repository,
npm install --save-dev babel-plugin-bemify-es6
Then you should to add your plugin to the "plugins" section in your .babelrc file.
{
"plugins": ["bemify-es6"]
}
And finally you should configure your build system for using the babel.
License
MIT, see LICENSE for details.