babel-plugin-transform-es2015-modules-ym

0.3.0 • Public • Published

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
    }]
  ]
}

Package Sidebar

Install

npm i babel-plugin-transform-es2015-modules-ym

Weekly Downloads

1

Version

0.3.0

License

MIT

Last publish

Collaborators

  • flapenguin