Skip to content

Commit

Permalink
(tests) Log transform- instead of proposal- in preset-env (#15473)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Apr 5, 2023
1 parent 548b05d commit 83d9ba4
Show file tree
Hide file tree
Showing 213 changed files with 2,829 additions and 2,771 deletions.
23 changes: 20 additions & 3 deletions packages/babel-helper-transform-fixture-test-runner/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -358,13 +358,18 @@ async function run(task: Test) {
}

if (validateLogs) {
const normalizationOpts = {
normalizePathSeparator: true,
normalizePresetEnvDebug: task.taskDir.includes("babel-preset-env"),
};

validateFile(
normalizeOutput(actualLogs.stdout, /* normalizePathSeparator */ true),
normalizeOutput(actualLogs.stdout, normalizationOpts),
stdout.loc,
stdout.code,
);
validateFile(
normalizeOutput(actualLogs.stderr, /* normalizePathSeparator */ true),
normalizeOutput(actualLogs.stderr, normalizationOpts),
stderr.loc,
stderr.code,
);
Expand Down Expand Up @@ -412,7 +417,10 @@ function escapeRegExp(string: string) {
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
}

function normalizeOutput(code: string, normalizePathSeparator?: boolean) {
function normalizeOutput(
code: string,
{ normalizePathSeparator = false, normalizePresetEnvDebug = false } = {},
) {
const projectRoot = path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
"../../../",
Expand Down Expand Up @@ -441,6 +449,15 @@ function normalizeOutput(code: string, normalizePathSeparator?: boolean) {
);
}
}

// In Babel 8, preset-env logs transform- instead of proposal-. Manually rewrite
// the output logs so that we don't have to duplicate all the debug fixtures for
// the two different Babel versions.
// TODO(Babel 8): Remove this.
if (normalizePresetEnvDebug) {
result = result.replace(/(\s+)proposal-/gm, "$1transform-");
}

return result;
}

Expand Down
19 changes: 10 additions & 9 deletions packages/babel-preset-env/src/debug.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,16 @@ export const logPlugin = (

const support = list[item];

// TODO(Babel 8): Remove this. It's needed to keep outputting proposal-
// in the debug log.
if (item.startsWith("transform-")) {
const proposalName = `proposal-${item.slice(10)}`;
if (
proposalName === "proposal-dynamic-import" ||
Object.prototype.hasOwnProperty.call(compatData, proposalName)
) {
item = proposalName;
if (!process.env.BABEL_8_BREAKING) {
// It's needed to keep outputting proposal- in the debug log.
if (item.startsWith("transform-")) {
const proposalName = `proposal-${item.slice(10)}`;
if (
proposalName === "proposal-dynamic-import" ||
Object.prototype.hasOwnProperty.call(compatData, proposalName)
) {
item = proposalName;
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,29 @@ Using targets:
Using modules transform: auto

Using plugins:
proposal-class-static-block { android, chrome < 94, edge < 94, firefox < 93, ios, node < 16.11, opera < 80, safari, samsung < 17 }
proposal-private-property-in-object { android, chrome < 91, edge < 91, firefox < 90, ios < 15, node < 16.9, opera < 77, safari < 15, samsung < 16 }
proposal-class-properties { android, chrome < 74, edge < 79, firefox < 90, ios < 15, opera < 62, safari < 14.1, samsung < 11 }
proposal-private-methods { android, chrome < 84, edge < 84, firefox < 90, ios < 15, node < 14.6, opera < 70, safari < 15, samsung < 14 }
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung < 14 }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome < 91, edge < 91, firefox < 74, ios < 13.4, node < 16.9, opera < 77, safari < 13.1, samsung < 16 }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }
proposal-optional-catch-binding { android, chrome < 66, edge < 79, ios < 11.3, opera < 53, safari < 11.1, samsung < 9 }
transform-class-static-block { android, chrome < 94, edge < 94, firefox < 93, ios, node < 16.11, opera < 80, safari, samsung < 17 }
transform-private-property-in-object { android, chrome < 91, edge < 91, firefox < 90, ios < 15, node < 16.9, opera < 77, safari < 15, samsung < 16 }
transform-class-properties { android, chrome < 74, edge < 79, firefox < 90, ios < 15, opera < 62, safari < 14.1, samsung < 11 }
transform-private-methods { android, chrome < 84, edge < 84, firefox < 90, ios < 15, node < 14.6, opera < 70, safari < 15, samsung < 14 }
transform-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
transform-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung < 14 }
transform-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
transform-optional-chaining { android, chrome < 91, edge < 91, firefox < 74, ios < 13.4, node < 16.9, opera < 77, safari < 13.1, samsung < 16 }
transform-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }
transform-optional-catch-binding { android, chrome < 66, edge < 79, ios < 11.3, opera < 53, safari < 11.1, samsung < 9 }
transform-parameters { edge < 18, ios, safari }
proposal-async-generator-functions { android, chrome < 63, edge < 79, ios < 12, opera < 50, safari < 12 }
proposal-object-rest-spread { edge < 79, ios < 11.3, safari < 11.1 }
transform-async-generator-functions { android, chrome < 63, edge < 79, ios < 12, opera < 50, safari < 12 }
transform-object-rest-spread { edge < 79, ios < 11.3, safari < 11.1 }
transform-dotall-regex { android, chrome < 62, edge < 79, firefox < 78, ios < 11.3, opera < 49, safari < 11.1 }
proposal-unicode-property-regex { android, chrome < 64, edge < 79, firefox < 78, ios < 11.3, opera < 51, safari < 11.1, samsung < 9 }
transform-unicode-property-regex { android, chrome < 64, edge < 79, firefox < 78, ios < 11.3, opera < 51, safari < 11.1, samsung < 9 }
transform-named-capturing-groups-regex { android, chrome < 64, edge < 79, firefox < 78, ios < 11.3, opera < 51, safari < 11.1, samsung < 9 }
transform-async-to-generator { ios < 11, safari < 11 }
transform-template-literals { ios < 13, safari < 13 }
transform-function-name { edge < 79 }
transform-unicode-regex { ios < 12, safari < 12 }
transform-block-scoping { ios < 11, safari < 11 }
proposal-export-namespace-from { android < 72, chrome < 72, edge < 79, firefox < 80, ios, opera < 60, safari, samsung < 11.0 }
transform-export-namespace-from { android < 72, chrome < 72, edge < 79, firefox < 80, ios, opera < 60, safari, samsung < 11.0 }
transform-modules-commonjs
proposal-dynamic-import
transform-dynamic-import

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,23 @@ Using targets:
Using modules transform: auto

Using plugins:
proposal-class-static-block { android, chrome < 94, edge < 94, firefox < 93, ios, node < 16.11, opera < 80, safari, samsung < 17 }
proposal-private-property-in-object { android, chrome < 91, edge < 91, firefox < 90, ios < 15, node < 16.9, opera < 77, safari < 15, samsung < 16 }
proposal-class-properties { android, chrome < 74, edge < 79, firefox < 90, ios < 15, opera < 62, safari < 14.1, samsung < 11 }
proposal-private-methods { android, chrome < 84, edge < 84, firefox < 90, ios < 15, node < 14.6, opera < 70, safari < 15, samsung < 14 }
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung < 14 }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome < 80, edge < 80, firefox < 74, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }
proposal-optional-catch-binding { android, chrome < 66, edge < 79, ios < 11.3, opera < 53, safari < 11.1, samsung < 9 }
proposal-async-generator-functions { android, chrome < 63, edge < 79, ios < 12, opera < 50, safari < 12 }
proposal-object-rest-spread { edge < 79, ios < 11.3, safari < 11.1 }
transform-class-static-block { android, chrome < 94, edge < 94, firefox < 93, ios, node < 16.11, opera < 80, safari, samsung < 17 }
transform-private-property-in-object { android, chrome < 91, edge < 91, firefox < 90, ios < 15, node < 16.9, opera < 77, safari < 15, samsung < 16 }
transform-class-properties { android, chrome < 74, edge < 79, firefox < 90, ios < 15, opera < 62, safari < 14.1, samsung < 11 }
transform-private-methods { android, chrome < 84, edge < 84, firefox < 90, ios < 15, node < 14.6, opera < 70, safari < 15, samsung < 14 }
transform-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
transform-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung < 14 }
transform-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
transform-optional-chaining { android, chrome < 80, edge < 80, firefox < 74, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
transform-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }
transform-optional-catch-binding { android, chrome < 66, edge < 79, ios < 11.3, opera < 53, safari < 11.1, samsung < 9 }
transform-async-generator-functions { android, chrome < 63, edge < 79, ios < 12, opera < 50, safari < 12 }
transform-object-rest-spread { edge < 79, ios < 11.3, safari < 11.1 }
transform-dotall-regex { android, chrome < 62, edge < 79, firefox < 78, ios < 11.3, opera < 49, safari < 11.1 }
proposal-unicode-property-regex { android, chrome < 64, edge < 79, firefox < 78, ios < 11.3, opera < 51, safari < 11.1, samsung < 9 }
transform-unicode-property-regex { android, chrome < 64, edge < 79, firefox < 78, ios < 11.3, opera < 51, safari < 11.1, samsung < 9 }
transform-named-capturing-groups-regex { android, chrome < 64, edge < 79, firefox < 78, ios < 11.3, opera < 51, safari < 11.1, samsung < 9 }
transform-unicode-regex { ios < 12, safari < 12 }
proposal-export-namespace-from { android < 72, chrome < 72, edge < 79, firefox < 80, ios, opera < 60, safari, samsung < 11.0 }
transform-export-namespace-from { android < 72, chrome < 72, edge < 79, firefox < 80, ios, opera < 60, safari, samsung < 11.0 }
bugfix/transform-async-arrows-in-class { ios < 11, safari < 11 }
bugfix/transform-edge-default-parameters { edge < 18 }
bugfix/transform-edge-function-name { edge < 79 }
Expand All @@ -41,6 +41,6 @@ Using plugins:
bugfix/transform-safari-id-destructuring-collision-in-function-expression { ios, safari }
bugfix/transform-tagged-template-caching { ios < 13, safari < 13 }
transform-modules-commonjs
proposal-dynamic-import
transform-dynamic-import

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@ Using targets:
Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 94 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 74 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
proposal-logical-assignment-operators { chrome < 85 }
proposal-nullish-coalescing-operator { chrome < 80 }
proposal-optional-chaining { chrome < 80 }
proposal-json-strings { chrome < 66 }
proposal-optional-catch-binding { chrome < 66 }
transform-class-static-block { chrome < 94 }
transform-private-property-in-object { chrome < 91 }
transform-class-properties { chrome < 74 }
transform-private-methods { chrome < 84 }
transform-numeric-separator { chrome < 75 }
transform-logical-assignment-operators { chrome < 85 }
transform-nullish-coalescing-operator { chrome < 80 }
transform-optional-chaining { chrome < 80 }
transform-json-strings { chrome < 66 }
transform-optional-catch-binding { chrome < 66 }
transform-parameters { chrome < 49 }
proposal-async-generator-functions { chrome < 63 }
proposal-object-rest-spread { chrome < 60 }
transform-async-generator-functions { chrome < 63 }
transform-object-rest-spread { chrome < 60 }
transform-dotall-regex { chrome < 62 }
proposal-unicode-property-regex { chrome < 64 }
transform-unicode-property-regex { chrome < 64 }
transform-named-capturing-groups-regex { chrome < 64 }
transform-async-to-generator { chrome < 55 }
transform-exponentiation-operator { chrome < 52 }
Expand All @@ -43,8 +43,8 @@ Using plugins:
transform-block-scoping { chrome < 49 }
transform-new-target { chrome < 46 }
transform-regenerator { chrome < 50 }
proposal-export-namespace-from { chrome < 72 }
transform-export-namespace-from { chrome < 72 }
transform-modules-commonjs
proposal-dynamic-import
transform-dynamic-import

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@ Using targets:
Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 94 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 74 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
proposal-logical-assignment-operators { chrome < 85 }
proposal-nullish-coalescing-operator { chrome < 80 }
proposal-optional-chaining { chrome < 80 }
transform-class-static-block { chrome < 94 }
transform-private-property-in-object { chrome < 91 }
transform-class-properties { chrome < 74 }
transform-private-methods { chrome < 84 }
transform-numeric-separator { chrome < 75 }
transform-logical-assignment-operators { chrome < 85 }
transform-nullish-coalescing-operator { chrome < 80 }
transform-optional-chaining { chrome < 80 }
syntax-json-strings
syntax-optional-catch-binding
syntax-async-generators
syntax-object-rest-spread
proposal-export-namespace-from { chrome < 72 }
transform-export-namespace-from { chrome < 72 }
transform-modules-commonjs
proposal-dynamic-import
transform-dynamic-import

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,28 @@ Using targets:
Using modules transform: auto

Using plugins:
proposal-class-static-block { edge < 94 }
proposal-private-property-in-object { edge < 91 }
proposal-class-properties { edge < 79 }
proposal-private-methods { edge < 84 }
proposal-numeric-separator { edge < 79 }
proposal-logical-assignment-operators { edge < 85 }
proposal-nullish-coalescing-operator { edge < 80 }
proposal-optional-chaining { edge < 80 }
proposal-json-strings { edge < 79 }
proposal-optional-catch-binding { edge < 79 }
transform-class-static-block { edge < 94 }
transform-private-property-in-object { edge < 91 }
transform-class-properties { edge < 79 }
transform-private-methods { edge < 84 }
transform-numeric-separator { edge < 79 }
transform-logical-assignment-operators { edge < 85 }
transform-nullish-coalescing-operator { edge < 80 }
transform-optional-chaining { edge < 80 }
transform-json-strings { edge < 79 }
transform-optional-catch-binding { edge < 79 }
transform-parameters { edge < 15 }
proposal-async-generator-functions { edge < 79 }
proposal-object-rest-spread { edge < 79 }
transform-async-generator-functions { edge < 79 }
transform-object-rest-spread { edge < 79 }
transform-dotall-regex { edge < 79 }
proposal-unicode-property-regex { edge < 79 }
transform-unicode-property-regex { edge < 79 }
transform-named-capturing-groups-regex { edge < 79 }
transform-async-to-generator { edge < 15 }
transform-for-of { edge < 15 }
transform-destructuring { edge < 15 }
proposal-export-namespace-from { edge < 79 }
transform-export-namespace-from { edge < 79 }
bugfix/transform-edge-function-name { edge < 79 }
transform-modules-commonjs
proposal-dynamic-import
transform-dynamic-import

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,25 @@ Using targets:
Using modules transform: auto

Using plugins:
proposal-class-static-block { edge < 94 }
proposal-private-property-in-object { edge < 91 }
proposal-class-properties { edge < 79 }
proposal-private-methods { edge < 84 }
proposal-numeric-separator { edge < 79 }
proposal-logical-assignment-operators { edge < 85 }
proposal-nullish-coalescing-operator { edge < 80 }
proposal-optional-chaining { edge < 80 }
proposal-json-strings { edge < 79 }
proposal-optional-catch-binding { edge < 79 }
proposal-async-generator-functions { edge < 79 }
proposal-object-rest-spread { edge < 79 }
transform-class-static-block { edge < 94 }
transform-private-property-in-object { edge < 91 }
transform-class-properties { edge < 79 }
transform-private-methods { edge < 84 }
transform-numeric-separator { edge < 79 }
transform-logical-assignment-operators { edge < 85 }
transform-nullish-coalescing-operator { edge < 80 }
transform-optional-chaining { edge < 80 }
transform-json-strings { edge < 79 }
transform-optional-catch-binding { edge < 79 }
transform-async-generator-functions { edge < 79 }
transform-object-rest-spread { edge < 79 }
transform-dotall-regex { edge < 79 }
proposal-unicode-property-regex { edge < 79 }
transform-unicode-property-regex { edge < 79 }
transform-named-capturing-groups-regex { edge < 79 }
proposal-export-namespace-from { edge < 79 }
transform-export-namespace-from { edge < 79 }
bugfix/transform-edge-default-parameters { edge < 18 }
bugfix/transform-edge-function-name { edge < 79 }
transform-modules-commonjs
proposal-dynamic-import
transform-dynamic-import

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,25 @@ Using targets:
Using modules transform: auto

Using plugins:
proposal-class-static-block { edge < 94 }
proposal-private-property-in-object { edge < 91 }
proposal-class-properties { edge < 79 }
proposal-private-methods { edge < 84 }
proposal-numeric-separator { edge < 79 }
proposal-logical-assignment-operators { edge < 85 }
proposal-nullish-coalescing-operator { edge < 80 }
proposal-optional-chaining { edge < 91 }
proposal-json-strings { edge < 79 }
proposal-optional-catch-binding { edge < 79 }
transform-class-static-block { edge < 94 }
transform-private-property-in-object { edge < 91 }
transform-class-properties { edge < 79 }
transform-private-methods { edge < 84 }
transform-numeric-separator { edge < 79 }
transform-logical-assignment-operators { edge < 85 }
transform-nullish-coalescing-operator { edge < 80 }
transform-optional-chaining { edge < 91 }
transform-json-strings { edge < 79 }
transform-optional-catch-binding { edge < 79 }
transform-parameters { edge < 18 }
proposal-async-generator-functions { edge < 79 }
proposal-object-rest-spread { edge < 79 }
transform-async-generator-functions { edge < 79 }
transform-object-rest-spread { edge < 79 }
transform-dotall-regex { edge < 79 }
proposal-unicode-property-regex { edge < 79 }
transform-unicode-property-regex { edge < 79 }
transform-named-capturing-groups-regex { edge < 79 }
transform-function-name { edge < 79 }
proposal-export-namespace-from { edge < 79 }
transform-export-namespace-from { edge < 79 }
transform-modules-commonjs
proposal-dynamic-import
transform-dynamic-import

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
Loading

0 comments on commit 83d9ba4

Please sign in to comment.