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

52 lines
1.4 KiB
JavaScript
Raw Normal View History

const path = require('path')
const babel = require('rollup-plugin-babel')
const resolve = require('rollup-plugin-node-resolve')
2017-12-16 12:00:38 +00:00
const pkg = require(path.resolve(__dirname, '../package.json'))
const BUNDLE = process.env.BUNDLE === 'true'
const year = new Date().getFullYear()
2017-09-26 12:14:52 +00:00
let fileDest = 'bootstrap.js'
2017-12-16 12:00:38 +00:00
const external = ['jquery', '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
'popper.js': 'Popper'
}
if (BUNDLE) {
fileDest = 'bootstrap.bundle.js'
2017-12-16 12:00:38 +00:00
// Remove last entry in external array to bundle Popper
external.pop()
delete globals['popper.js']
plugins.push(resolve())
}
module.exports = {
input: path.resolve(__dirname, '../js/src/index.js'),
output: {
banner: `/*!
* Bootstrap v${pkg.version} (${pkg.homepage})
* Copyright 2011-${year} ${pkg.author}
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/`,
file: path.resolve(__dirname, `../dist/js/${fileDest}`),
format: 'umd',
globals,
name: 'bootstrap'
},
external,
plugins
}