babel/packages/babel-plugin-transform-es2015-modules-systemjs
Anton Rusinov fcdfc61bdb Move plugin processing to top of plugins (#6381)
* centralize plugin options

* Centralize plugins options

- move more options to the top
- move validations that depend on options to the top

* use isLoose option

* Move more validations to the top

* Move ref parameter for rewriteModuleStatementsAndPrepareHeader() to the top

* fix eslint errors

* remove unused parameter

* set default systemGlobal value

* Revert "Move ref parameter for rewriteModuleStatementsAndPrepareHeader() to the top"

This reverts commit b3855302d17fa19d8acb4c8accab3680c8d2710e.

* Revert "Move more validations to the top"

This reverts commit e5861d8a034ff8f553391f55654f753bcf428a5d.

* fix allowMutablePropsOnTags option usage

* improve naming

* change Contructor definition for sake of consistency

* move allowMutablePropsOnTags validation to the top

* add missing !
2017-10-10 00:51:34 -04:00
..
2017-08-02 15:35:29 -04:00
2017-03-25 21:46:16 -04:00
2017-09-26 11:14:41 -04:00

babel-plugin-transform-es2015-modules-systemjs

This plugin transforms ES2015 modules to SystemJS.

Example

In

export default 42;

Out

System.register([], function (_export, _context) {
  return {
    setters: [],
    execute: function () {
      _export("default", 42);
    }
  };
});

For dynamic import support (import('./lazy.js').then(m => ...)), enable the syntax-dynamic-import plugin before this one.

Installation

npm install --save-dev babel-plugin-transform-es2015-modules-systemjs

Usage

.babelrc

Without options:

{
  "plugins": ["transform-es2015-modules-systemjs"]
}

With options:

{
  "plugins": [
    ["transform-es2015-modules-systemjs", {
      // outputs SystemJS.register(...)
      "systemGlobal": "SystemJS"
    }]
  ]
}

Via CLI

babel --plugins transform-es2015-modules-systemjs script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-modules-systemjs"]
});