From 1973694b55fb49db56bbac20493e9865c1e2571c Mon Sep 17 00:00:00 2001 From: Helmut Granda Date: Tue, 25 Sep 2018 18:55:35 +0300 Subject: [PATCH 1/3] Add license headers in js/dist files By implementing the same approach of rollup.config.js and replicate it in build-plugins.js, individual plugins will display license headers. --- build/banner.js | 11 +++++++++++ build/build-plugins.js | 2 ++ build/rollup.config.js | 9 ++------- 3 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 build/banner.js diff --git a/build/banner.js b/build/banner.js new file mode 100644 index 000000000000..4c66589f092e --- /dev/null +++ b/build/banner.js @@ -0,0 +1,11 @@ +const path = require('path') +const pkg = require(path.resolve(__dirname, '../package.json')) +const year = new Date().getFullYear() + +module.exports = function () { + return `/*! + * Bootstrap v${pkg.version} (${pkg.homepage}) + * Copyright 2011-${year} ${pkg.author} + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */` +} diff --git a/build/build-plugins.js b/build/build-plugins.js index f76796700035..678044685539 100644 --- a/build/build-plugins.js +++ b/build/build-plugins.js @@ -9,6 +9,7 @@ const rollup = require('rollup') const path = require('path') const babel = require('rollup-plugin-babel') const TEST = process.env.NODE_ENV === 'test' +const banner = require(path.resolve(__dirname, './banner.js')) const plugins = [ babel({ @@ -67,6 +68,7 @@ Object.keys(bsPlugins) external }).then((bundle) => { bundle.write({ + banner, format, name: pluginKey, sourcemap: true, diff --git a/build/rollup.config.js b/build/rollup.config.js index df88fb304d93..1e6d5fcebcdf 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(path.resolve(__dirname, './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, From dd9cdc165c97debb7fe737afbf3e86404276214d Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Wed, 26 Sep 2018 10:54:46 +0300 Subject: [PATCH 2/3] Include the plugin's filename in the license header. --- build/banner.js | 6 ++++-- build/build-plugins.js | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/build/banner.js b/build/banner.js index 4c66589f092e..93935bfcb91b 100644 --- a/build/banner.js +++ b/build/banner.js @@ -2,10 +2,12 @@ const path = require('path') const pkg = require(path.resolve(__dirname, '../package.json')) const year = new Date().getFullYear() -module.exports = function () { +function getBanner(pluginFilename) { return `/*! - * Bootstrap v${pkg.version} (${pkg.homepage}) + * 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 678044685539..b2d80b022060 100644 --- a/build/build-plugins.js +++ b/build/build-plugins.js @@ -8,8 +8,8 @@ const rollup = require('rollup') const path = require('path') const babel = require('rollup-plugin-babel') -const TEST = process.env.NODE_ENV === 'test' const banner = require(path.resolve(__dirname, './banner.js')) +const TEST = process.env.NODE_ENV === 'test' const plugins = [ babel({ @@ -62,18 +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: 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}`)) From 271e0782ee43d4bbbadde4d57d78575bce3931d3 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Wed, 26 Sep 2018 15:41:30 +0300 Subject: [PATCH 3/3] Remove unneeded `path.resolve`. --- build/build-plugins.js | 2 +- build/rollup.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/build-plugins.js b/build/build-plugins.js index b2d80b022060..ab56e1426c68 100644 --- a/build/build-plugins.js +++ b/build/build-plugins.js @@ -8,7 +8,7 @@ const rollup = require('rollup') const path = require('path') const babel = require('rollup-plugin-babel') -const banner = require(path.resolve(__dirname, './banner.js')) +const banner = require('./banner.js') const TEST = process.env.NODE_ENV === 'test' const plugins = [ diff --git a/build/rollup.config.js b/build/rollup.config.js index 1e6d5fcebcdf..c8acf7a9e92b 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -1,7 +1,7 @@ const path = require('path') const babel = require('rollup-plugin-babel') const resolve = require('rollup-plugin-node-resolve') -const banner = require(path.resolve(__dirname, './banner.js')) +const banner = require('./banner.js') const BUNDLE = process.env.BUNDLE === 'true'