diff options
Diffstat (limited to 'vendor/twbs/bootstrap/build/build-plugins.js')
-rw-r--r-- | vendor/twbs/bootstrap/build/build-plugins.js | 82 |
1 files changed, 43 insertions, 39 deletions
diff --git a/vendor/twbs/bootstrap/build/build-plugins.js b/vendor/twbs/bootstrap/build/build-plugins.js index 22a179066..abcbc5e2f 100644 --- a/vendor/twbs/bootstrap/build/build-plugins.js +++ b/vendor/twbs/bootstrap/build/build-plugins.js @@ -1,17 +1,18 @@ /*! * Script to build our plugins to use them separately. - * Copyright 2018 The Bootstrap Authors - * Copyright 2018 Twitter, Inc. + * Copyright 2019 The Bootstrap Authors + * Copyright 2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ 'use strict' -const rollup = require('rollup') const path = require('path') +const rollup = require('rollup') const babel = require('rollup-plugin-babel') -const TEST = process.env.NODE_ENV === 'test' +const banner = require('./banner.js') +const TEST = process.env.NODE_ENV === 'test' const plugins = [ babel({ exclude: 'node_modules/**', // Only transpile our source code @@ -24,9 +25,6 @@ const plugins = [ ] }) ] - -const format = 'umd' -const rootPath = !TEST ? '../js/dist/' : '../js/coverage/dist/' const bsPlugins = { Alert: path.resolve(__dirname, '../js/src/alert.js'), Button: path.resolve(__dirname, '../js/src/button.js'), @@ -37,45 +35,51 @@ const bsPlugins = { Popover: path.resolve(__dirname, '../js/src/popover.js'), ScrollSpy: path.resolve(__dirname, '../js/src/scrollspy.js'), Tab: path.resolve(__dirname, '../js/src/tab.js'), + Toast: path.resolve(__dirname, '../js/src/toast.js'), Tooltip: path.resolve(__dirname, '../js/src/tooltip.js'), Util: path.resolve(__dirname, '../js/src/util.js') } +const rootPath = TEST ? '../js/coverage/dist/' : '../js/dist/' + +function build(plugin) { + console.log(`Building ${plugin} plugin...`) -Object.keys(bsPlugins) - .forEach((pluginKey) => { - console.log(`Building ${pluginKey} plugin...`) + const external = ['jquery', 'popper.js'] + const globals = { + jquery: 'jQuery', // Ensure we use jQuery which is always available even in noConflict mode + 'popper.js': 'Popper' + } - const external = ['jquery', 'popper.js'] - const globals = { - jquery: 'jQuery', // Ensure we use jQuery which is always available even in noConflict mode - 'popper.js': 'Popper' - } + // Do not bundle Util in plugins + if (plugin !== 'Util') { + external.push(bsPlugins.Util) + globals[bsPlugins.Util] = 'Util' + } - // Do not bundle Util in plugins - if (pluginKey !== 'Util') { - external.push(bsPlugins.Util) - globals[bsPlugins.Util] = 'Util' - } + // Do not bundle Tooltip in Popover + if (plugin === 'Popover') { + external.push(bsPlugins.Tooltip) + globals[bsPlugins.Tooltip] = 'Tooltip' + } - // Do not bundle Tooltip in Popover - if (pluginKey === 'Popover') { - external.push(bsPlugins.Tooltip) - globals[bsPlugins.Tooltip] = 'Tooltip' - } + const pluginFilename = `${plugin.toLowerCase()}.js` - rollup.rollup({ - input: bsPlugins[pluginKey], - plugins, - external - }).then((bundle) => { - bundle.write({ - format, - name: pluginKey, - sourcemap: true, - globals, - file: path.resolve(__dirname, `${rootPath}${pluginKey.toLowerCase()}.js`) - }) - .then(() => console.log(`Building ${pluginKey} plugin... Done !`)) - .catch((err) => console.error(`${pluginKey}: ${err}`)) + rollup.rollup({ + input: bsPlugins[plugin], + plugins, + external + }).then((bundle) => { + bundle.write({ + banner: banner(pluginFilename), + format: 'umd', + name: plugin, + sourcemap: true, + globals, + file: path.resolve(__dirname, `${rootPath}${pluginFilename}`) }) + .then(() => console.log(`Building ${plugin} plugin... Done!`)) + .catch((err) => console.error(`${plugin}: ${err}`)) }) +} + +Object.keys(bsPlugins).forEach((plugin) => build(plugin)) |