84 lines
1.7 KiB
JavaScript
84 lines
1.7 KiB
JavaScript
const { rollup } = require('rollup');
|
|
|
|
// Plugins
|
|
const babel = require('rollup-plugin-babel');
|
|
const babili = require('rollup-plugin-babel-minify');
|
|
|
|
// Configs
|
|
const babelConfig = require('@popperjs/babel-config');
|
|
const sourceMap = true;
|
|
const external = ['popper.js'];
|
|
const globals = { 'popper.js': 'Popper' };
|
|
|
|
function bundle({ entry, dest, moduleName, banner, miniBanner }) {
|
|
rollup({
|
|
entry,
|
|
plugins: [babel(babelConfig.es6)],
|
|
external,
|
|
}).then(bundle => {
|
|
bundle.write({
|
|
format: 'es',
|
|
dest: `dist/${dest}`,
|
|
sourceMap,
|
|
globals,
|
|
banner,
|
|
});
|
|
});
|
|
|
|
rollup({
|
|
entry,
|
|
plugins: [babili({ comments: false, banner: miniBanner }), babel(babelConfig.es6)],
|
|
external,
|
|
}).then(bundle => {
|
|
bundle.write({
|
|
format: 'es',
|
|
dest: `dist/${dest.replace('.js', '.min.js')}`,
|
|
sourceMap,
|
|
globals,
|
|
});
|
|
});
|
|
|
|
rollup({
|
|
entry,
|
|
plugins: [babel(babelConfig.es5)],
|
|
external,
|
|
}).then(bundle => {
|
|
bundle.write({
|
|
format: 'umd',
|
|
dest: `dist/umd/${dest}`,
|
|
sourceMap,
|
|
globals,
|
|
moduleName,
|
|
banner,
|
|
});
|
|
bundle.write({
|
|
format: 'es',
|
|
dest: `dist/esm/${dest}`,
|
|
sourceMap,
|
|
globals,
|
|
banner,
|
|
});
|
|
});
|
|
|
|
rollup({
|
|
entry,
|
|
plugins: [babili({ comments: false, banner: miniBanner }), babel(babelConfig.es5)],
|
|
external,
|
|
}).then(bundle => {
|
|
bundle.write({
|
|
format: 'umd',
|
|
dest: `dist/umd/${dest.replace('.js', '.min.js')}`,
|
|
sourceMap,
|
|
globals,
|
|
moduleName,
|
|
});
|
|
bundle.write({
|
|
format: 'es',
|
|
dest: `dist/esm/${dest.replace('.js', '.min.js')}`,
|
|
sourceMap,
|
|
});
|
|
});
|
|
}
|
|
|
|
module.exports = bundle;
|