babel-plugin-bemify-es6

The babel plugin for es6 imports and exports conversion to YM modules


Keywords
babel, plugin, bemify, bem, es6, ym
License
ICU
Install
npm install babel-plugin-bemify-es6@0.3.0

Documentation

babel-plugin-bemify-es6

Build Status

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.