mirror of https://github.com/twbs/bootstrap.git
Tweak build/build-plugins.js.
This commit is contained in:
parent
7c7a1706c3
commit
19f70f9d4c
|
@ -5,12 +5,12 @@
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const rollup = require('rollup')
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
|
const rollup = require('rollup')
|
||||||
const babel = require('rollup-plugin-babel')
|
const babel = require('rollup-plugin-babel')
|
||||||
const banner = require('./banner.js')
|
const banner = require('./banner.js')
|
||||||
const TEST = process.env.NODE_ENV === 'test'
|
|
||||||
|
|
||||||
|
const TEST = process.env.NODE_ENV === 'test'
|
||||||
const plugins = [
|
const plugins = [
|
||||||
babel({
|
babel({
|
||||||
exclude: 'node_modules/**', // Only transpile our source code
|
exclude: 'node_modules/**', // Only transpile our source code
|
||||||
|
@ -23,9 +23,6 @@ const plugins = [
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
|
|
||||||
const format = 'umd'
|
|
||||||
const rootPath = !TEST ? '../js/dist/' : '../js/coverage/dist/'
|
|
||||||
const bsPlugins = {
|
const bsPlugins = {
|
||||||
Alert: path.resolve(__dirname, '../js/src/alert.js'),
|
Alert: path.resolve(__dirname, '../js/src/alert.js'),
|
||||||
Button: path.resolve(__dirname, '../js/src/button.js'),
|
Button: path.resolve(__dirname, '../js/src/button.js'),
|
||||||
|
@ -39,10 +36,10 @@ const bsPlugins = {
|
||||||
Tooltip: path.resolve(__dirname, '../js/src/tooltip.js'),
|
Tooltip: path.resolve(__dirname, '../js/src/tooltip.js'),
|
||||||
Util: path.resolve(__dirname, '../js/src/util.js')
|
Util: path.resolve(__dirname, '../js/src/util.js')
|
||||||
}
|
}
|
||||||
|
const rootPath = TEST ? '../js/coverage/dist/' : '../js/dist/'
|
||||||
|
|
||||||
Object.keys(bsPlugins)
|
function build(plugin) {
|
||||||
.forEach((pluginKey) => {
|
console.log(`Building ${plugin} plugin...`)
|
||||||
console.log(`Building ${pluginKey} plugin...`)
|
|
||||||
|
|
||||||
const external = ['jquery', 'popper.js']
|
const external = ['jquery', 'popper.js']
|
||||||
const globals = {
|
const globals = {
|
||||||
|
@ -51,33 +48,35 @@ Object.keys(bsPlugins)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do not bundle Util in plugins
|
// Do not bundle Util in plugins
|
||||||
if (pluginKey !== 'Util') {
|
if (plugin !== 'Util') {
|
||||||
external.push(bsPlugins.Util)
|
external.push(bsPlugins.Util)
|
||||||
globals[bsPlugins.Util] = 'Util'
|
globals[bsPlugins.Util] = 'Util'
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do not bundle Tooltip in Popover
|
// Do not bundle Tooltip in Popover
|
||||||
if (pluginKey === 'Popover') {
|
if (plugin === 'Popover') {
|
||||||
external.push(bsPlugins.Tooltip)
|
external.push(bsPlugins.Tooltip)
|
||||||
globals[bsPlugins.Tooltip] = 'Tooltip'
|
globals[bsPlugins.Tooltip] = 'Tooltip'
|
||||||
}
|
}
|
||||||
|
|
||||||
const pluginFilename = `${pluginKey.toLowerCase()}.js`
|
const pluginFilename = `${plugin.toLowerCase()}.js`
|
||||||
|
|
||||||
rollup.rollup({
|
rollup.rollup({
|
||||||
input: bsPlugins[pluginKey],
|
input: bsPlugins[plugin],
|
||||||
plugins,
|
plugins,
|
||||||
external
|
external
|
||||||
}).then((bundle) => {
|
}).then((bundle) => {
|
||||||
bundle.write({
|
bundle.write({
|
||||||
banner: banner(pluginFilename),
|
banner: banner(pluginFilename),
|
||||||
format,
|
format: 'umd',
|
||||||
name: pluginKey,
|
name: plugin,
|
||||||
sourcemap: true,
|
sourcemap: true,
|
||||||
globals,
|
globals,
|
||||||
file: path.resolve(__dirname, `${rootPath}${pluginFilename}`)
|
file: path.resolve(__dirname, `${rootPath}${pluginFilename}`)
|
||||||
})
|
})
|
||||||
.then(() => console.log(`Building ${pluginKey} plugin... Done!`))
|
.then(() => console.log(`Building ${plugin} plugin... Done!`))
|
||||||
.catch((err) => console.error(`${pluginKey}: ${err}`))
|
.catch((err) => console.error(`${plugin}: ${err}`))
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
Object.keys(bsPlugins).forEach((plugin) => build(plugin))
|
||||||
|
|
Loading…
Reference in New Issue