From 9b2029aa9d3dd23ae9cc1a520247e2f9e5b10c09 Mon Sep 17 00:00:00 2001 From: Mark Erikson Date: Mon, 5 Jul 2021 20:28:49 -0400 Subject: [PATCH] Update Babel config to use more modern output - Switched babelrc to use recommended settings for "modern JS", with `targets: esmodules` and `bugfixes: true` - Fixed missing .tsx extensions in build scripts - Silenced Rollup warning about missing flag --- .babelrc.js | 19 +++++++++++++++---- package.json | 4 ++-- rollup.config.js | 1 + 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.babelrc.js b/.babelrc.js index c6b93d821..343797796 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -1,17 +1,25 @@ const { NODE_ENV, BABEL_ENV } = process.env const cjs = NODE_ENV === 'test' || BABEL_ENV === 'commonjs' -const loose = true module.exports = { presets: [ - ['@babel/env', { loose, modules: false }], + [ + '@babel/preset-env', + { + targets: { + esmodules: true, + }, + // Use the equivalent of `babel-preset-modules` + bugfixes: true, + modules: false, + }, + ], '@babel/preset-typescript', ], plugins: [ ['@babel/proposal-decorators', { legacy: true }], - ['@babel/proposal-object-rest-spread', { loose }], '@babel/transform-react-jsx', - cjs && ['@babel/transform-modules-commonjs', { loose }], + cjs && ['@babel/transform-modules-commonjs'], [ '@babel/transform-runtime', { @@ -22,4 +30,7 @@ module.exports = { }, ], ].filter(Boolean), + assumptions: { + enumerableModuleMeta: true, + }, } diff --git a/package.json b/package.json index 6443420e7..9ce3dc99f 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,8 @@ "es" ], "scripts": { - "build:commonjs": "cross-env BABEL_ENV=commonjs babel src --extensions \".js,.ts\" --out-dir lib", - "build:es": "babel src --extensions \".js,.ts\" --out-dir es", + "build:commonjs": "cross-env BABEL_ENV=commonjs babel src --extensions \".js,.ts,.tsx\" --out-dir lib", + "build:es": "babel src --extensions \".js,.ts,.tsx\" --out-dir es", "build:umd": "cross-env NODE_ENV=development rollup -c -o dist/react-redux.js", "build:umd:min": "cross-env NODE_ENV=production rollup -c -o dist/react-redux.min.js", "build:types": "tsc", diff --git a/rollup.config.js b/rollup.config.js index d4d6330c3..f75eb672d 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -33,6 +33,7 @@ const config = { }), replace({ 'process.env.NODE_ENV': JSON.stringify(env), + preventAssignment: true, }), commonjs(), ],