babel-plugin-transform-cjs-system-wrapper

0.6.2 • Public • Published

babel-plugin-transform-cjs-system-wrapper

Wraps CommonJS scripts into System.registerDynamic(...

Example

In

'use strict';
 
var foo = require('foo/');

Babel Options

{
  moduleId: 'foobar'
  plugins: [
    ['transform-cjs-system-wrapper', {
      deps: ['bar'],
      globals: {
        f: foo
      }
    }]
  ]
}

Out

System.registerDynamic('foobar', ['bar'], true, function ($__require, exports, module) {
  'use strict';
 
  var f = $__require('foo');
  var global = this,
      GLOBAL = this;
  var foo = $__require('foo');
});

Installation

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

Usage

Via .babelrc

.babelrc

{
  "moduleId": "foobar",
  "plugins": [
    ["transform-cjs-system-wrapper", {
      "systemGlobal": "SystemJS",
      "path": "/path/to/foobar",
      "optimize": true,
      "static": true,
      "deps": ["bar"],
      "esModule": true,
      "globals": {
        "f": "foo"
      }
    }]
  ]
}

Via CLI

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

Via Node API (Recommended)

require("babel-core").transform("code", {
  moduleId: 'foobar', // optional (default: '')
  plugins: [
    ["transform-cjs-system-wrapper", {
      requireName: 'require' // (default: 'require')
      systemGlobal: "SystemJS", // optional (default: 'SystemJS')
      path: "/path/to/foobar", // optional (default: '')
      optimize: true, // optional (default: false)
      static: true, // optional (default: false)
      deps: ['bar'], // optional (default: []),
      esModule: true, // optional (default: false)
      map: function(dep) {
        return mappedDep
      }, // (default: identity)
      globals: {  // optional (default: {})
        f: foo
      }
    }]
  ]
});

Package Sidebar

Install

npm i babel-plugin-transform-cjs-system-wrapper

Weekly Downloads

20,560

Version

0.6.2

License

MIT

Last publish

Collaborators

  • guybedford
  • jrauschenbusch