diff --git a/build/babel-helpers.js b/build/babel-helpers.js
deleted file mode 100644
index 30a51567714ec5bdfb2ba138cc348cfbef11bef2..0000000000000000000000000000000000000000
--- a/build/babel-helpers.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict'
-
-// These are the babel helpers we whitelist
-const helpers = [
-  'createClass',
-  'createSuper',
-  'defineProperties',
-  'defineProperty',
-  'getPrototypeOf',
-  'inheritsLoose',
-  'objectSpread2'
-]
-
-module.exports = helpers
diff --git a/build/build-plugins.js b/build/build-plugins.js
index 44d155c4f9ddc339bf31741fee9c380d69a2d1d6..c57c53ce4e899be15abb626ca810680de7b6fdf0 100644
--- a/build/build-plugins.js
+++ b/build/build-plugins.js
@@ -11,16 +11,15 @@
 
 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 babelHelpers = require('./babel-helpers.js')
 
 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 d32346e10157eecc3494569f15a972bd87b632e5..a79250217277f6c8e73a7ff94ead5c462dec22e1 100644
--- a/build/rollup.config.js
+++ b/build/rollup.config.js
@@ -1,10 +1,9 @@
 'use strict'
 
 const path = require('path')
-const babel = require('rollup-plugin-babel')
+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 BUNDLE = process.env.BUNDLE === 'true'
 const ESM = process.env.ESM === 'true'
@@ -15,8 +14,8 @@ const plugins = [
   babel({
   // 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 d09a9dbbe238daaf74061c6773e19ac72fc54362..0ac6e406ae4e640b586f375bd76d5616119d3594 100644
--- a/js/tests/integration/rollup.bundle.js
+++ b/js/tests/integration/rollup.bundle.js
@@ -1,7 +1,7 @@
 /* eslint-env node */
 
 const resolve = require('@rollup/plugin-node-resolve')
-const babel = require('rollup-plugin-babel')
+const { babel } = require('@rollup/plugin-babel')
 
 module.exports = {
   input: 'js/tests/integration/bundle.js',
@@ -12,7 +12,8 @@ module.exports = {
   plugins: [
     resolve(),
     babel({
-      exclude: 'node_modules/**'
+      exclude: 'node_modules/**',
+      babelHelpers: 'bundled'
     })
   ]
 }
diff --git a/js/tests/karma.conf.js b/js/tests/karma.conf.js
index 6e1effc3a3bb8cb06a3b2bd8b1b73da3654df996..8281593e25fcb8c95933450f88ac66201581fc21 100644
--- a/js/tests/karma.conf.js
+++ b/js/tests/karma.conf.js
@@ -1,7 +1,7 @@
 /* eslint-env node */
 const path = require('path')
 const ip = require('ip')
-const babel = require('rollup-plugin-babel')
+const { babel } = require('@rollup/plugin-babel')
 const istanbul = require('rollup-plugin-istanbul')
 const resolve = require('@rollup/plugin-node-resolve')
 
@@ -9,7 +9,6 @@ const {
   browsers,
   browsersKeys
 } = require('./browsers')
-const babelHelpers = require('../../build/babel-helpers.js')
 
 const { env } = process
 const browserStack = env.BROWSER === 'true'
@@ -77,11 +76,8 @@ const conf = {
       babel({
         // Only transpile our source code
         exclude: 'node_modules/**',
-        // Include only required helpers
-        externalHelpersWhitelist: babelHelpers,
-        plugins: [
-          '@babel/plugin-proposal-object-rest-spread'
-        ]
+        // Inline the required helpers in each file
+        babelHelpers: 'inline'
       }),
       resolve()
     ],
diff --git a/package-lock.json b/package-lock.json
index e55d8a305d78d56fe73f79c71467b1566e546925..3e760b49fe241eea555c524b5c3261e041f58a85 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -985,6 +985,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",
@@ -9878,16 +9888,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-plugin-istanbul": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/rollup-plugin-istanbul/-/rollup-plugin-istanbul-2.0.1.tgz",
diff --git a/package.json b/package.json
index 2b51aa9566e8c521a793779bdf8749fb985e7501..692233c11ffd6620a34f753875e1019778a340ec 100644
--- a/package.json
+++ b/package.json
@@ -96,6 +96,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.8.0",
@@ -129,7 +130,6 @@
     "popper.js": "^1.16.0",
     "postcss-cli": "^7.1.1",
     "rollup": "^2.10.4",
-    "rollup-plugin-babel": "^4.4.0",
     "rollup-plugin-istanbul": "^2.0.1",
     "serve": "^11.3.0",
     "shelljs": "^0.8.4",