node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »


babel-plugin-transform-es2015-modules-simple-amd npm version

Limited transformer for ECMAScript 2015 modules (AMD)

Converts this code:

import x from '/path/to/x';
import y from '/path/to/y';
export default x + y;

Into this one:

define(['/path/to/x', '/path/to/y'], function (x, y) {
  return x + y;

Instead of this one (generated with babel-plugin-transform-es2015-modules-amd):

define(['exports', '/path/to/x', '/path/to/y'], function (exports, _x, _y) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  var _x2 = _interopRequireDefault(_x);
  var _y2 = _interopRequireDefault(_y);
  function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : {
      'default': obj
  exports.default = _x2.default + _y2.default;

Other features (like import x as y from 'X' or import * from 'X' etc) aren't supported. Just import VARIABLE from 'PATH' and import 'PATH'.

Warning. If no import or export are presented in JavaScript file, the plugin does nothing (means it doesn't wrap code with define).


$ npm install --save-dev babel-plugin-transform-es2015-modules-simple-amd


Via .babelrc (Recommended)


  "plugins": ["transform-es2015-modules-simple-amd"]

Via Node API

require('babel').transform('code', {
  plugins: ['transform-es2015-modules-simple-amd']

The same thing for CommonJS.

Thanks to RReverser.