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

Simplified imports and exports

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
babel-plugin-transform-es2015-modules-simple-amd
2610.3.07 years ago8 years agoMinified + gzip package size for babel-plugin-transform-es2015-modules-simple-amd in KB

Readme

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';
doSomething();
export default x + y;

Into this one:
define(['/path/to/x', '/path/to/y'], function (x, y) {
  doSomething();
  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
    };
  }

  doSomething();
  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`).

Installation

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

Usage

Via .babelrc (Recommended)

.babelrc
{
  "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.