twbs--bootstrap/build/rollup.config.js

55 lines
1.3 KiB
JavaScript
Raw Normal View History

const path = require('path')
const babel = require('rollup-plugin-babel')
const resolve = require('rollup-plugin-node-resolve')
const commonjs = require('rollup-plugin-commonjs')
const banner = require('./banner.js')
2017-12-16 12:00:38 +00:00
const BUNDLE = process.env.BUNDLE === 'true'
let fileDest = 'bootstrap.js'
const external = ['jquery', 'hammerjs', 'popper.js']
const plugins = [
babel({
2017-12-16 12:00:38 +00:00
exclude: 'node_modules/**', // Only transpile our source code
externalHelpersWhitelist: [ // Include only required helpers
'defineProperties',
'createClass',
'inheritsLoose',
2018-03-29 20:16:56 +00:00
'defineProperty',
2018-03-20 21:05:30 +00:00
'objectSpread'
]
})
]
const globals = {
2017-12-16 12:00:38 +00:00
jquery: 'jQuery', // Ensure we use jQuery which is always available even in noConflict mode
hammerjs: 'Hammer',
'popper.js': 'Popper'
}
if (BUNDLE) {
fileDest = 'bootstrap.bundle.js'
// We just keep jQuery as external
external.length = 1
delete globals['popper.js']
delete globals.hammerjs
plugins.push(
commonjs({
include: 'node_modules/**'
}),
resolve()
)
}
module.exports = {
input: path.resolve(__dirname, '../js/src/index.js'),
output: {
banner,
file: path.resolve(__dirname, `../dist/js/${fileDest}`),
format: 'umd',
globals,
name: 'bootstrap'
},
external,
plugins
}