babel-plugin-transform-global-system-wrapper

Converts global scripts into named System.registerDynamic('name', [], ...


Keywords
babel, plugin, systemjs, babel-plugin
License
MIT
Install
npm install babel-plugin-transform-global-system-wrapper@0.3.2

Documentation

babel-plugin-transform-global-system-wrapper

Converts global scripts into named System.registerDynamic('name', [], ...

Example

In

foo = "bar";

Out

System.registerDynamic("foo", [], false, function ($__require, $__exports, $__module) {
  var _retrieveGlobal = System.registry.get("@@global-helpers").prepareGlobal($__module.id, "foo", null);

  (function ($__global) {
    foo = "bar";
  })(this);

  return _retrieveGlobal();
});

Installation

$ npm install babel-plugin-transform-global-system-wrapper

Usage

Via .babelrc

.babelrc

{
  "plugins": [
    ["transform-global-system-wrapper", {
      "deps": ["baz.js"],
      "exportName": "foo",
      "globals": {
        "jquery": "jquery.js"
      },
      "moduleName": "foo",
      "systemGlobal": "SystemJS"
    }]
  ]
}

Via CLI

$ babel --plugins transform-global-system-wrapper script.js

Via Node API (Recommended)

require("babel-core").transform("code", {
  plugins: [
    ["transform-global-system-wrapper", {
      deps: ["baz.js"],
      exportName: "foo",
      globals: {
        "jquery": "jquery.js"
      },
      moduleName: "foo",
      systemGlobal: "SystemJS",
      esModule: true
    }]
  ]
});