Limited transformer for ECMAScript 2015 modules (AMD)
Converts this code:
Into this one:
Instead of this one (generated with `
Other features (like `
Warning. If no `Via
.babelrc
The same thing for CommonJS.
Thanks to RReverser.
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.