Convert AMD files to ES2016 modules, so they can be included in a Rollup bundle.
npm install --save-dev rollup-plugin-amd
import { rollup } from 'rollup';
import amd from 'rollup-plugin-amd';
rollup({
entry: 'main.js',
plugins: [
amd()
]
});The configuration above converts
define(['utils/array', 'react'], function (array, React) {
React.render();
});into
import array from './javascripts/utils/array';
import React from './node_modules/react/react.js';
React.render();import { rollup } from 'rollup';
import amd form 'rollup-plugin-amd';
rollup({
entry: 'main.js',
plugins: [
amd({
include: 'src/**', // Optional, Default: undefined (everything)
exclude: [ 'node_modules/**' ], // Optional, Default: undefined (nothing)
rewire: function (moduleId, parentPath) { // Optional, Default: false
return './basePath/' + moduleId;
}
})
]
});- rewire allows to modify the imported path of
definedependencies.moduleIdis the dependency IDparentPathis the path of the file including the dependency
define(['lodash'], function (_) {});becomes
import _ form './basePath/lodash';If you're converting AMD modules from requirejs, you can use node-module-lookup-amd to rewire your dependencies
import { rollup } from 'rollup';
import amd form 'rollup-plugin-amd';
import lookup from 'module-lookup-amd';
rollup({
entry: 'main.js',
plugins: [
amd({
rewire: function (moduleId, parentPath) { // Optional, Default: false
return lookup({
partial: moduleId,
filename: parentPath,
config: 'path-to-requirejs.config' // Or an object
});
}
})
]
});Apache-2.0