0.3.0 • Published 6 years ago

babel-plugin-transform-es2015-modules-ym v0.3.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

babel-plugin-transform-es2015-modules-ym

This plugin transforms ES2015 modules to ym.

Example

In

// MyModule.esn.js
import id from 'util.id';
export default id.gen();

Out

ym.modules.define('MyModule', ['util.id'], function (_provide, id) {
  _provide(id.gen());
});

In

import {require, provide as ppp} from 'ym';
require(['foo.bar'], function (Bar) {
  ppp(new Bar());
});

Out

ym.modules.define('MyModule', ['util.id'], function (ppp) {
  var require = ym.modules.require;
  require(['foo.bar'], function (Bar) {
    ppp(new Bar());
  });
});

Supported features

  • default import's;
  • single export default per module;
  • special module 'ym' with require, provide and logger inside;
  • asynchronous export with provide from 'ym' module.

Usage

.babelrc:

{
  "plugins": [
    ["transform-es2015-modules-ym", {
      "sourceExtension": ".es6.js"
    }]
  ]
}

If you're using env preset, set modules to false to prevent it from generating commonjs modules by default (see https://babeljs.io/docs/plugins/preset-env/#optionsmodules):

{
  "preset": [
    ["env", {
      "modules": false
    }]
  ]
}