Skip to content

Commit

Permalink
Update Rollup plugins (#13265)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed May 6, 2021
1 parent 187094b commit 9440318
Show file tree
Hide file tree
Showing 20 changed files with 86 additions and 100 deletions.
12 changes: 6 additions & 6 deletions .yarn/patches/@rollup__plugin-commonjs.patch
@@ -1,15 +1,15 @@
See packages/babel-standalone/src/dynamic-require-entrypoint.cjs for the reason for this diff.

diff --git a/dist/index.js b/dist/index.js
index 712f6a7d81b115d468a764b4139caa00d6cfc358..73fbf004217f3d44b6420d3082a0846b53e00f4c 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -1626,7 +1626,7 @@ function commonjs(options = {}) {
diff --git a/dist/index.es.js b/dist/index.es.js
index 81cb408c8482fc7591a3381eb00b46abc9d21b14..1816113246e075ba7ae99638b64f004fd985ec74 100644
--- a/dist/index.es.js
+++ b/dist/index.es.js
@@ -1641,7 +1641,7 @@ function commonjs(options = {}) {
const sourceMap = options.sourceMap !== false;

function transformAndCheckExports(code, id) {
- if (isDynamicRequireModulesEnabled && this.getModuleInfo(id).isEntry) {
+ if (isDynamicRequireModulesEnabled && (this.getModuleInfo(id).isEntry || id.endsWith("/dynamic-require-entrypoint.cjs"))) {
// eslint-disable-next-line no-param-reassign
code =
getDynamicPackagesEntryIntro(dynamicRequireModuleDirPaths, dynamicRequireModuleSet) + code;
}
4 changes: 4 additions & 0 deletions Gulpfile.mjs
Expand Up @@ -351,6 +351,10 @@ function buildRollup(packages, targetBrowsers) {
"regenerate-unicode-properties"
) + "/**/*.js",
],
// Never delegate to the native require()
ignoreDynamicRequires: true,
// Align with the Node.js behavior
defaultIsModuleExports: true,
}),
rollupBabel({
envName,
Expand Down
40 changes: 11 additions & 29 deletions babel.config.js
Expand Up @@ -159,7 +159,7 @@ module.exports = function (api) {
convertESM ? "@babel/proposal-export-namespace-from" : null,
convertESM
? ["@babel/transform-modules-commonjs", { importInterop }]
: pluginNodeImportInteropRollup,
: null,
convertESM ? pluginImportMetaUrl : null,

pluginPackageJsonMacro,
Expand Down Expand Up @@ -219,19 +219,24 @@ module.exports = function (api) {
return config;
};

const monorepoPackages = ["codemods", "eslint", "packages"]
.map(folder => fs.readdirSync(__dirname + "/" + folder))
.reduce((a, b) => a.concat(b))
.map(name => name.replace(/^babel-/, "@babel/"));

function importInterop(source) {
if (
// These internal files are "real CJS" (whose default export is
// on module.exports) and not compiled ESM.
source.startsWith("@babel/compat-data/") ||
source.includes("babel-eslint-shared-fixtures/utils") ||
// @babel/preset-modules is an external package, and it uses
// module.exports for the default export
source.startsWith("@babel/preset-modules/")
source.includes("babel-eslint-shared-fixtures/utils")
) {
return "node";
}
if (source[0] === "." || source.startsWith("@babel/")) {
if (
source[0] === "." ||
monorepoPackages.some(name => source.startsWith(name))
) {
// We don't need to worry about interop for internal files, since we know
// for sure that they are ESM modules compiled to CJS
return "none";
Expand Down Expand Up @@ -446,29 +451,6 @@ function pluginPackageJsonMacro({ types: t }) {
};
}

function pluginNodeImportInteropRollup({ types: t }) {
const depsUsing__esModuleAndDefaultExport = src =>
src.startsWith("babel-plugin-polyfill-") || src === "regenerator-transform";

return {
visitor: {
ImportDeclaration(path) {
const { value: source } = path.node.source;
if (!depsUsing__esModuleAndDefaultExport(source)) {
return;
}

const defImport = path
.get("specifiers")
.find(s => s.isImportDefaultSpecifier());
if (!defImport) return;

defImport.replaceWith(t.importNamespaceSpecifier(defImport.node.local));
},
},
};
}

function pluginImportMetaUrl({ types: t, template }) {
const isImportMeta = node =>
t.isMetaProperty(node) &&
Expand Down
Expand Up @@ -2,7 +2,7 @@ import syntaxObjectRestSpread from "@babel/plugin-syntax-object-rest-spread";

export default function ({ types: t }) {
return {
inherits: syntaxObjectRestSpread,
inherits: syntaxObjectRestSpread.default,

visitor: {
CallExpression(path) {
Expand Down
Expand Up @@ -2,7 +2,7 @@ import syntaxOptionalCatchBinding from "@babel/plugin-syntax-optional-catch-bind

export default function ({ types: t }) {
return {
inherits: syntaxOptionalCatchBinding,
inherits: syntaxOptionalCatchBinding.default,

visitor: {
CatchClause(path) {
Expand Down
12 changes: 6 additions & 6 deletions package.json
Expand Up @@ -34,11 +34,11 @@
"@babel/preset-typescript": "^7.13.0",
"@babel/register": "^7.13.16",
"@babel/runtime": "^7.14.0",
"@rollup/plugin-babel": "^5.2.0",
"@rollup/plugin-commonjs": "patch:@rollup/plugin-commonjs@^17.1.0#./.yarn/patches/@rollup__plugin-commonjs.patch",
"@rollup/plugin-babel": "^5.3.0",
"@rollup/plugin-commonjs": "patch:@rollup/plugin-commonjs@^18.1.0#./.yarn/patches/@rollup__plugin-commonjs.patch",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^11.2.1",
"@rollup/plugin-replace": "^2.4.0",
"@rollup/plugin-node-resolve": "^13.0.0",
"@rollup/plugin-replace": "^2.4.2",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"babel-plugin-transform-charcodes": "^0.2.0",
Expand All @@ -64,10 +64,10 @@
"lodash": "^4.17.20",
"mergeiterator": "^1.2.5",
"prettier": "^2.2.1",
"rollup": "^2.36.2",
"rollup": "^2.47.0",
"rollup-plugin-dts": "^2.0.0",
"rollup-plugin-node-polyfills": "^0.2.1",
"rollup-plugin-terser": "^7.0.0",
"rollup-plugin-terser": "^7.0.2",
"test262-stream": "^1.3.0",
"through2": "^2.0.0",
"typescript": "~4.2.3"
Expand Down
Expand Up @@ -81,7 +81,7 @@ export default declare(api => {

return {
name: "proposal-async-generator-functions",
inherits: syntaxAsyncGenerators,
inherits: syntaxAsyncGenerators.default,

visitor: {
Program(path, state) {
Expand Down
2 changes: 1 addition & 1 deletion packages/babel-plugin-proposal-dynamic-import/src/index.js
Expand Up @@ -21,7 +21,7 @@ export default declare(api => {

return {
name: "proposal-dynamic-import",
inherits: syntaxDynamicImport,
inherits: syntaxDynamicImport.default,

pre() {
this.file.set(
Expand Down
Expand Up @@ -7,7 +7,7 @@ export default declare(api => {

return {
name: "proposal-export-namespace-from",
inherits: syntaxExportNamespaceFrom,
inherits: syntaxExportNamespaceFrom.default,

visitor: {
ExportNamedDeclaration(path) {
Expand Down
2 changes: 1 addition & 1 deletion packages/babel-plugin-proposal-json-strings/src/index.js
Expand Up @@ -16,7 +16,7 @@ export default declare(api => {

return {
name: "proposal-json-strings",
inherits: syntaxJsonStrings,
inherits: syntaxJsonStrings.default,

visitor: {
"DirectiveLiteral|StringLiteral"({ node }) {
Expand Down
Expand Up @@ -7,7 +7,7 @@ export default declare(api => {

return {
name: "proposal-logical-assignment-operators",
inherits: syntaxLogicalAssignmentOperators,
inherits: syntaxLogicalAssignmentOperators.default,

visitor: {
AssignmentExpression(path) {
Expand Down
Expand Up @@ -8,7 +8,7 @@ export default declare((api, { loose = false }) => {

return {
name: "proposal-nullish-coalescing-operator",
inherits: syntaxNullishCoalescingOperator,
inherits: syntaxNullishCoalescingOperator.default,

visitor: {
LogicalExpression(path) {
Expand Down
Expand Up @@ -19,7 +19,7 @@ export default declare(api => {

return {
name: "proposal-numeric-separator",
inherits: syntaxNumericSeparator,
inherits: syntaxNumericSeparator.default,

visitor: {
NumericLiteral: remover,
Expand Down
Expand Up @@ -225,7 +225,7 @@ export default declare((api, opts) => {

return {
name: "proposal-object-rest-spread",
inherits: syntaxObjectRestSpread,
inherits: syntaxObjectRestSpread.default,

visitor: {
// function a({ b, ...c }) {}
Expand Down
Expand Up @@ -6,7 +6,7 @@ export default declare(api => {

return {
name: "proposal-optional-catch-binding",
inherits: syntaxOptionalCatchBinding,
inherits: syntaxOptionalCatchBinding.default,

visitor: {
CatchClause(path) {
Expand Down
Expand Up @@ -11,7 +11,7 @@ export default declare((api, options) => {

return {
name: "proposal-optional-chaining",
inherits: syntaxOptionalChaining,
inherits: syntaxOptionalChaining.default,

visitor: {
"OptionalCallExpression|OptionalMemberExpression"(path) {
Expand Down
6 changes: 3 additions & 3 deletions packages/babel-plugin-transform-runtime/src/index.js
Expand Up @@ -8,9 +8,9 @@ import getRuntimePath from "./get-runtime-path";
import _pluginCorejs2 from "babel-plugin-polyfill-corejs2";
import _pluginCorejs3 from "babel-plugin-polyfill-corejs3";
import _pluginRegenerator from "babel-plugin-polyfill-regenerator";
const pluginCorejs2 = _pluginCorejs2.default;
const pluginCorejs3 = _pluginCorejs3.default;
const pluginRegenerator = _pluginRegenerator.default;
const pluginCorejs2 = _pluginCorejs2.default || _pluginCorejs2;
const pluginCorejs3 = _pluginCorejs3.default || _pluginCorejs3;
const pluginRegenerator = _pluginRegenerator.default || _pluginRegenerator;

const pluginsCompat = "#__secret_key__@babel/runtime__compatibility";

Expand Down
6 changes: 3 additions & 3 deletions packages/babel-preset-env/src/index.js
Expand Up @@ -19,9 +19,9 @@ import legacyBabelPolyfillPlugin from "./polyfills/babel-polyfill";
import _pluginCoreJS2 from "babel-plugin-polyfill-corejs2";
import _pluginCoreJS3 from "babel-plugin-polyfill-corejs3";
import _pluginRegenerator from "babel-plugin-polyfill-regenerator";
const pluginCoreJS2 = _pluginCoreJS2.default;
const pluginCoreJS3 = _pluginCoreJS3.default;
const pluginRegenerator = _pluginRegenerator.default;
const pluginCoreJS2 = _pluginCoreJS2.default || _pluginCoreJS2;
const pluginCoreJS3 = _pluginCoreJS3.default || _pluginCoreJS3;
const pluginRegenerator = _pluginRegenerator.default || _pluginRegenerator;

import getTargets, {
prettifyTargets,
Expand Down
6 changes: 3 additions & 3 deletions test/runtime-integration/rollup/package.json
Expand Up @@ -3,8 +3,8 @@
"private": true,
"devDependencies": {
"@babel/runtime": "workspace:*",
"@rollup/plugin-commonjs": "^17.1.0",
"@rollup/plugin-node-resolve": "^11.2.0",
"rollup": "^2.39.1"
"@rollup/plugin-commonjs": "^18.1.0",
"@rollup/plugin-node-resolve": "^13.0.0",
"rollup": "^2.47.0"
}
}

0 comments on commit 9440318

Please sign in to comment.