diff --git a/build/banner.js b/build/banner.js new file mode 100644 index 000000000000..93935bfcb91b --- /dev/null +++ b/build/banner.js @@ -0,0 +1,13 @@ +const path = require('path') +const pkg = require(path.resolve(__dirname, '../package.json')) +const year = new Date().getFullYear() + +function getBanner(pluginFilename) { + return `/*! + * Bootstrap${pluginFilename ? ` ${pluginFilename}` : ''} v${pkg.version} (${pkg.homepage}) + * Copyright 2011-${year} ${pkg.author} + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */` +} + +module.exports = getBanner diff --git a/build/build-plugins.js b/build/build-plugins.js index f76796700035..ab56e1426c68 100644 --- a/build/build-plugins.js +++ b/build/build-plugins.js @@ -8,6 +8,7 @@ const rollup = require('rollup') const path = require('path') const babel = require('rollup-plugin-babel') +const banner = require('./banner.js') const TEST = process.env.NODE_ENV === 'test' const plugins = [ @@ -61,17 +62,20 @@ Object.keys(bsPlugins) globals[bsPlugins.Tooltip] = 'Tooltip' } + const pluginFilename = `${pluginKey.toLowerCase()}.js` + rollup.rollup({ input: bsPlugins[pluginKey], plugins, external }).then((bundle) => { bundle.write({ + banner: banner(pluginFilename), format, name: pluginKey, sourcemap: true, globals, - file: path.resolve(__dirname, `${rootPath}${pluginKey.toLowerCase()}.js`) + file: path.resolve(__dirname, `${rootPath}${pluginFilename}`) }) .then(() => console.log(`Building ${pluginKey} plugin... Done!`)) .catch((err) => console.error(`${pluginKey}: ${err}`)) diff --git a/build/rollup.config.js b/build/rollup.config.js index df88fb304d93..c8acf7a9e92b 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -1,10 +1,9 @@ const path = require('path') const babel = require('rollup-plugin-babel') const resolve = require('rollup-plugin-node-resolve') +const banner = require('./banner.js') -const pkg = require(path.resolve(__dirname, '../package.json')) const BUNDLE = process.env.BUNDLE === 'true' -const year = new Date().getFullYear() let fileDest = 'bootstrap.js' const external = ['jquery', 'popper.js'] @@ -36,11 +35,7 @@ if (BUNDLE) { 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) - */`, + banner, file: path.resolve(__dirname, `../dist/js/${fileDest}`), format: 'umd', globals,