diff --git a/Gulpfile.mjs b/Gulpfile.mjs index 51feb35d5df4..8cddaf0f479a 100644 --- a/Gulpfile.mjs +++ b/Gulpfile.mjs @@ -30,7 +30,7 @@ const require = createRequire(import.meta.url); const monorepoRoot = path.dirname(fileURLToPath(import.meta.url)); const defaultPackagesGlob = "./@(codemods|packages|eslint)/*"; -const defaultSourcesGlob = `${defaultPackagesGlob}/src/**/{*.js,!(*.d).ts}`; +const defaultSourcesGlob = `${defaultPackagesGlob}/src/**/{*.js,*.cjs,!(*.d).ts}`; const defaultDtsGlob = `${defaultPackagesGlob}/lib/**/*.d.ts{,.map}`; const babelStandalonePluginConfigGlob = @@ -283,6 +283,16 @@ function buildRollup(packages, targetBrowsers) { BABEL_VERSION: JSON.stringify(babelVersion), VERSION: JSON.stringify(version), }), + rollupCommonJs({ + include: [ + /node_modules/, + "packages/babel-runtime/regenerator/**", + "packages/babel-preset-env/data/*.js", + // Rollup doesn't read export maps, so it loads the cjs fallback + "packages/babel-compat-data/*.js", + "packages/*/src/**/*.cjs", + ], + }), rollupBabel({ envName: babelEnvName, babelrc: false, @@ -295,20 +305,11 @@ function buildRollup(packages, targetBrowsers) { browser: nodeResolveBrowser, preferBuiltins: true, }), - rollupCommonJs({ - include: [ - /node_modules/, - "packages/babel-runtime/regenerator/**", - "packages/babel-preset-env/data/*.js", - // Rollup doesn't read export maps, so it loads the cjs fallback - "packages/babel-compat-data/*.js", - ], - }), rollupJson(), targetBrowsers && rollupNodePolyfills({ sourceMap: sourcemap, - include: "**/*.{js,ts}", + include: "**/*.{js,cjs,ts}", }), ].filter(Boolean), }); diff --git a/Makefile b/Makefile index 01097c658040..910b974f7bf7 100644 --- a/Makefile +++ b/Makefile @@ -179,7 +179,7 @@ clone-license: prepublish-build: clean-lib clean-runtime-helpers NODE_ENV=production BABEL_ENV=production STRIP_BABEL_8_FLAG=true $(MAKE) build-bundle - $(MAKE) prepublish-build-standalone clone-license prepublish-prepare-dts + STRIP_BABEL_8_FLAG=true $(MAKE) prepublish-build-standalone clone-license prepublish-prepare-dts prepublish-prepare-dts: $(MAKE) clean-tsconfig diff --git a/package.json b/package.json index 42492b3d5acf..cf1c885e8f57 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@babel/register": "^7.12.0", "@babel/runtime": "^7.12.0", "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-commonjs": "^13.0.0", + "@rollup/plugin-commonjs": "^17.1.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", diff --git a/packages/babel-core/src/config/helpers/escape-regexp.cjs b/packages/babel-core/src/config/helpers/escape-regexp.cjs new file mode 100644 index 000000000000..a3a4be68f185 --- /dev/null +++ b/packages/babel-core/src/config/helpers/escape-regexp.cjs @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = process.env.BABEL_8_BREAKING + ? require("escape-string-regexp") + : require("lodash/escapeRegExp"); diff --git a/packages/babel-core/src/config/pattern-to-regex.js b/packages/babel-core/src/config/pattern-to-regex.js index 847d0e32267b..323f789dcf47 100644 --- a/packages/babel-core/src/config/pattern-to-regex.js +++ b/packages/babel-core/src/config/pattern-to-regex.js @@ -1,9 +1,8 @@ // @flow import path from "path"; -const escapeRegExp = process.env.BABEL_8_BREAKING - ? require("escape-string-regexp") - : require("lodash/escapeRegExp"); +// $FlowIgnore +import escapeRegExp from "./helpers/escape-regexp"; const sep = `\\${path.sep}`; const endSep = `(?:${sep}|$)`; @@ -42,13 +41,11 @@ export default function pathToPattern( // *.ext matches a wildcard with an extension. if (part.indexOf("*.") === 0) { return ( - // $FlowIgnore substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep) ); } // Otherwise match the pattern text. - // $FlowIgnore return escapeRegExp(part) + (last ? endSep : sep); }), ].join(""), diff --git a/packages/babel-helper-transform-fixture-test-runner/src/escape-regexp.cjs b/packages/babel-helper-transform-fixture-test-runner/src/escape-regexp.cjs new file mode 100644 index 000000000000..a3a4be68f185 --- /dev/null +++ b/packages/babel-helper-transform-fixture-test-runner/src/escape-regexp.cjs @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = process.env.BABEL_8_BREAKING + ? require("escape-string-regexp") + : require("lodash/escapeRegExp"); diff --git a/packages/babel-helper-transform-fixture-test-runner/src/index.js b/packages/babel-helper-transform-fixture-test-runner/src/index.js index 1b5116349537..6ac881fb7564 100644 --- a/packages/babel-helper-transform-fixture-test-runner/src/index.js +++ b/packages/babel-helper-transform-fixture-test-runner/src/index.js @@ -16,11 +16,7 @@ import vm from "vm"; import checkDuplicatedNodes from "babel-check-duplicated-nodes"; import QuickLRU from "quick-lru"; import diff from "jest-diff"; - -// $FlowIgnore -const escapeRegExp = process.env.BABEL_8_BREAKING - ? require("escape-string-regexp") - : require("lodash/escapeRegExp"); +import escapeRegExp from "./escape-regexp"; const cachedScripts = new QuickLRU({ maxSize: 10 }); const contextModuleCache = new WeakMap(); diff --git a/packages/babel-register/src/escape-regexp.cjs b/packages/babel-register/src/escape-regexp.cjs new file mode 100644 index 000000000000..a3a4be68f185 --- /dev/null +++ b/packages/babel-register/src/escape-regexp.cjs @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = process.env.BABEL_8_BREAKING + ? require("escape-string-regexp") + : require("lodash/escapeRegExp"); diff --git a/packages/babel-register/src/node.js b/packages/babel-register/src/node.js index ff5209b632d3..01f06503215a 100644 --- a/packages/babel-register/src/node.js +++ b/packages/babel-register/src/node.js @@ -7,11 +7,7 @@ import { addHook } from "pirates"; import fs from "fs"; import path from "path"; import Module from "module"; - -// $FlowIgnore -const escapeRegExp = process.env.BABEL_8_BREAKING - ? require("escape-string-regexp") - : require("lodash/escapeRegExp"); +import escapeRegExp from "./escape-regexp"; const maps = {}; let transformOpts = {}; diff --git a/yarn.lock b/yarn.lock index 1615d6a4fd50..7567e3376616 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3712,20 +3712,20 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-commonjs@npm:^13.0.0": - version: 13.0.2 - resolution: "@rollup/plugin-commonjs@npm:13.0.2" +"@rollup/plugin-commonjs@npm:^17.1.0": + version: 17.1.0 + resolution: "@rollup/plugin-commonjs@npm:17.1.0" dependencies: - "@rollup/pluginutils": ^3.0.8 + "@rollup/pluginutils": ^3.1.0 commondir: ^1.0.1 - estree-walker: ^1.0.1 - glob: ^7.1.2 - is-reference: ^1.1.2 - magic-string: ^0.25.2 - resolve: ^1.11.0 + estree-walker: ^2.0.1 + glob: ^7.1.6 + is-reference: ^1.2.1 + magic-string: ^0.25.7 + resolve: ^1.17.0 peerDependencies: - rollup: ^2.3.4 - checksum: 3a3f6fd5ec8608f4bc7343d89d84ae9253d99b45317e3dd2f05ebc7da476490ac553015ae3a4a34bbcd6afc094bfbf47d9a5769c13bb1e2a093703c8533196b4 + rollup: ^2.30.0 + checksum: 9b162f93090e5bf544c85bb835a29f65371726d2e6161aa1a048bbb708b77433184e5836e7118e2c6277f9a9a7b5835f56e420d2040b1b623b03ca76db4b5d10 languageName: node linkType: hard @@ -4861,7 +4861,7 @@ __metadata: "@babel/register": ^7.12.0 "@babel/runtime": ^7.12.0 "@rollup/plugin-babel": ^5.2.0 - "@rollup/plugin-commonjs": ^13.0.0 + "@rollup/plugin-commonjs": ^17.1.0 "@rollup/plugin-json": ^4.1.0 "@rollup/plugin-node-resolve": ^9.0.0 "@rollup/plugin-replace": ^2.3.3 @@ -6769,6 +6769,13 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^2.0.1": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 378cc9d3be56962c5219c55ad1fde732cb7d55a11cde5acbf5995f39ddd0e98c1095a43c0ef15a520d1d6910e816bd3daff5fc5d7d38baaf8b12d5a2970df57c + languageName: node + linkType: hard + "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -8485,7 +8492,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-reference@npm:^1.1.2": +"is-reference@npm:^1.2.1": version: 1.2.1 resolution: "is-reference@npm:1.2.1" dependencies: @@ -9714,7 +9721,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"magic-string@npm:^0.25.2, magic-string@npm:^0.25.3, magic-string@npm:^0.25.5, magic-string@npm:^0.25.7": +"magic-string@npm:^0.25.3, magic-string@npm:^0.25.5, magic-string@npm:^0.25.7": version: 0.25.7 resolution: "magic-string@npm:0.25.7" dependencies: @@ -11588,7 +11595,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1": +"resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1": version: 1.19.0 resolution: "resolve@npm:1.19.0" dependencies: @@ -11598,7 +11605,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.4#builtin, resolve@patch:resolve@^1.1.6#builtin, resolve@patch:resolve@^1.1.7#builtin, resolve@patch:resolve@^1.10.0#builtin, resolve@patch:resolve@^1.11.0#builtin, resolve@patch:resolve@^1.13.1#builtin, resolve@patch:resolve@^1.14.2#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.18.1#builtin, resolve@patch:resolve@^1.3.2#builtin, resolve@patch:resolve@^1.4.0#builtin, resolve@patch:resolve@^1.8.1#builtin": +"resolve@patch:resolve@^1.1.4#builtin, resolve@patch:resolve@^1.1.6#builtin, resolve@patch:resolve@^1.1.7#builtin, resolve@patch:resolve@^1.10.0#builtin, resolve@patch:resolve@^1.13.1#builtin, resolve@patch:resolve@^1.14.2#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.18.1#builtin, resolve@patch:resolve@^1.3.2#builtin, resolve@patch:resolve@^1.4.0#builtin, resolve@patch:resolve@^1.8.1#builtin": version: 1.19.0 resolution: "resolve@patch:resolve@npm%3A1.19.0#builtin::version=1.19.0&hash=3388aa" dependencies: