diff --git a/build/babel-helpers.js b/build/babel-helpers.js deleted file mode 100644 index d444628f63..0000000000 --- a/build/babel-helpers.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict' - -// These are the babel helpers we whitelist -const helpers = [ - 'createClass', - 'createSuper', - 'defineProperties', - 'defineProperty', - 'inheritsLoose', - 'objectSpread2' -] - -module.exports = helpers diff --git a/build/build-plugins.js b/build/build-plugins.js index 9e4f2e1c32..00ae91d5dd 100644 --- a/build/build-plugins.js +++ b/build/build-plugins.js @@ -9,19 +9,18 @@ 'use strict' -const path = require('path') -const rollup = require('rollup') -const babel = require('rollup-plugin-babel') -const banner = require('./banner.js') -const babelHelpers = require('./babel-helpers.js') +const path = require('path') +const rollup = require('rollup') +const { babel } = require('@rollup/plugin-babel') +const banner = require('./banner.js') -const TEST = process.env.NODE_ENV === 'test' +const TEST = process.env.NODE_ENV === 'test' const plugins = [ babel({ // Only transpile our source code exclude: 'node_modules/**', - // Include only required helpers - externalHelpersWhitelist: babelHelpers + // Inline the required helpers in each file + babelHelpers: 'inline' }) ] const bsPlugins = { diff --git a/build/rollup.config.js b/build/rollup.config.js index 2d43194fe9..95e412f0e7 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -1,21 +1,20 @@ 'use strict' -const path = require('path') -const babel = require('rollup-plugin-babel') +const path = require('path') +const { babel } = require('@rollup/plugin-babel') const resolve = require('@rollup/plugin-node-resolve') -const banner = require('./banner.js') -const babelHelpers = require('./babel-helpers.js') +const banner = require('./banner.js') -const BUNDLE = process.env.BUNDLE === 'true' +const BUNDLE = process.env.BUNDLE === 'true' -let fileDest = 'bootstrap.js' +let fileDest = 'bootstrap.js' const external = ['jquery', 'popper.js'] const plugins = [ babel({ - // Only transpile our source code + // Only transpile our source code exclude: 'node_modules/**', - // Include only required helpers - externalHelpersWhitelist: babelHelpers + // Include the helpers in the bundle, at most one copy of each + babelHelpers: 'bundled' }) ] const globals = { diff --git a/js/tests/integration/rollup.bundle.js b/js/tests/integration/rollup.bundle.js index f2183e7571..e554d8ce47 100644 --- a/js/tests/integration/rollup.bundle.js +++ b/js/tests/integration/rollup.bundle.js @@ -2,7 +2,7 @@ const resolve = require('@rollup/plugin-node-resolve') const commonjs = require('@rollup/plugin-commonjs') -const babel = require('rollup-plugin-babel') +const { babel } = require('@rollup/plugin-babel') module.exports = { input: 'js/tests/integration/bundle.js', @@ -14,7 +14,8 @@ module.exports = { resolve(), commonjs(), babel({ - exclude: 'node_modules/**' + exclude: 'node_modules/**', + babelHelpers: 'bundled' }) ] } diff --git a/package-lock.json b/package-lock.json index 93bb1b851b..2ebf239b29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1054,6 +1054,16 @@ "fastq": "^1.6.0" } }, + "@rollup/plugin-babel": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.0.2.tgz", + "integrity": "sha512-GiL7jL+FGppzQ1Sn4y2ER4UYXlgXFFEt+sHm4WJEzQwI76Yf9oy2QDqIvcon6xApZWlik3L8fezRGC6Mj2vRXg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@rollup/pluginutils": "^3.0.8" + } + }, "@rollup/plugin-commonjs": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", @@ -8411,33 +8421,6 @@ } } }, - "rollup-plugin-babel": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", - "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "rollup-pluginutils": "^2.8.1" - } - }, - "rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, - "requires": { - "estree-walker": "^0.6.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true - } - } - }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", diff --git a/package.json b/package.json index f0ec45bb81..94a83cb0ae 100644 --- a/package.json +++ b/package.json @@ -113,6 +113,7 @@ "@babel/core": "^7.9.6", "@babel/plugin-proposal-object-rest-spread": "^7.9.6", "@babel/preset-env": "^7.9.6", + "@rollup/plugin-babel": "^5.0.2", "@rollup/plugin-commonjs": "^11.1.0", "@rollup/plugin-node-resolve": "^7.1.3", "autoprefixer": "^9.7.6", @@ -144,7 +145,6 @@ "postcss-cli": "^7.1.1", "qunit": "2.9.2", "rollup": "^2.9.1", - "rollup-plugin-babel": "^4.4.0", "shelljs": "^0.8.4", "shx": "^0.3.2", "sinon": "^7.5.0",