Skip to content
This repository has been archived by the owner on Oct 9, 2020. It is now read-only.

systemjs/babel-plugin-transform-amd-system-wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

babel-plugin-transform-amd-system-wrapper

Wraps AMD modules into System.registerDynamic(...

Example

In

define(['bar'], function(bar, require, module) {
  module.exports = {
	  bar: bar
  }
});

Babel Options

{
  plugins: [
    ['transform-amd-system-wrapper', {
      map: function(dep) {
        return dep;
      }
    }]
  ]
}

Out

System.registerDynamic(['bar'], false, function ($__require, $__exports, $__module) {
  'use strict';

  $__module.uri = $__module.id;
  return (function(bar, require, module) {
    module.exports = {
	  bar: bar
	}
  }).call(this, $__require('bar'), $__require, $__module);
});

Installation

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

Usage

Via .babelrc

.babelrc

{
  "plugins": [
    ["transform-amd-system-wrapper", {
      "systemGlobal": "SystemJS",
      "filterMode": false,
      "deps": []
    }]
  ]
}

Via CLI

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

Via Node API (Recommended)

require("babel-core").transform("code", {
  plugins: [
    ["transform-amd-system-wrapper", {
      systemGlobal: "SystemJS", // Overwrites the default system global identifier. optional (default: 'System')
      filterMode: true, // Flag to disable the transformation process. Enables the filter mode to filter AMD dependencies which will be added to output.metadata.amdDeps. optional (default: false)
      esModule: true, // Indicates "__esModule" flag should be added to module if not already for named exports compatibility
      deps: [], // Array of additional dependencies to add to the registerDynamic dependencies array. optional (default: [])  
      map: function(dep) {
        return dep;
      } // Dependency mapping function hook. optional (default: identity)
    }]
  ]
});