From c565a216597880d3eb525df7625496d72597d06c Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Thu, 24 Sep 2026 01:41:26 -0700 Subject: [PATCH] Bump `@babel/parser` to ^7.29.9, `@babel/types` to ^7.29.8 (#1962) Summary: Pull Request resolved: https://github.com/react/metro/pull/1962 X-link: https://github.com/react/react-native/pull/58641 This picks up https://github.com/babel/babel/pull/18241, fixing parsing of arrow function params inside ternaries with Flow (eg `cond ? async (...args) => {} : null`). (I remember hitting this one internally and not realising where it came from - IIRC it also applies to arrows within conditional types) The update brings `babel/types` 7.29.7 -> 7.29.8, requiring regeneration of generated flow types. ~~**The `xplat/js/yarn.lock` version will likely need updating to match, or the Babel types sync test will fail**~~ - I've updated specifiers to bring everyone onto that version. Changelog: [Internal] Pull Request resolved: https://github.com/react/metro/pull/1958 Test Plan: CI Reviewed By: javache Differential Revision: D121188416 Pulled By: vzaidman --- flow-typed/npm/babel-types_v7.x.x.js | 9 ++++----- package.json | 2 +- packages/metro-source-map/package.json | 4 ++-- packages/metro-transform-plugins/package.json | 2 +- packages/metro-transform-worker/package.json | 4 ++-- packages/metro/package.json | 4 ++-- yarn.lock | 18 +++++++++--------- 7 files changed, 21 insertions(+), 22 deletions(-) diff --git a/flow-typed/npm/babel-types_v7.x.x.js b/flow-typed/npm/babel-types_v7.x.x.js index 494f1eb6dc..827ec44834 100644 --- a/flow-typed/npm/babel-types_v7.x.x.js +++ b/flow-typed/npm/babel-types_v7.x.x.js @@ -434,11 +434,10 @@ declare module "@babel/types" { end: ?number; loc: ?BabelNodeSourceLocation, type: "NewExpression"; - callee: BabelNodeExpression | BabelNodeSuper | BabelNodeV8IntrinsicIdentifier; + callee: BabelNodeExpression; arguments: Array; - optional?: boolean; - typeArguments?: BabelNodeTypeParameterInstantiation; - typeParameters?: BabelNodeTSTypeParameterInstantiation; + typeArguments?: BabelNodeTypeParameterInstantiation | BabelNodeTSTypeParameterInstantiation; + typeParameters: any; }; declare type BabelNodeProgram = { @@ -3284,7 +3283,7 @@ declare module "@babel/types" { declare export function regExpLiteral(pattern: string, flags?: string): BabelNodeRegExpLiteral; declare export function logicalExpression(operator: "||" | "&&" | "??", left: BabelNodeExpression, right: BabelNodeExpression): BabelNodeLogicalExpression; declare export function memberExpression(object: BabelNodeExpression | BabelNodeSuper, property: BabelNodeExpression | BabelNodeIdentifier | BabelNodePrivateName, computed?: boolean, optional?: boolean): BabelNodeMemberExpression; - declare export function newExpression(callee: BabelNodeExpression | BabelNodeSuper | BabelNodeV8IntrinsicIdentifier, _arguments: Array): BabelNodeNewExpression; + declare export function newExpression(callee: BabelNodeExpression, _arguments: Array): BabelNodeNewExpression; declare export function program(body: Array, directives?: Array, sourceType?: "script" | "module", interpreter?: BabelNodeInterpreterDirective): BabelNodeProgram; declare export function objectExpression(properties: Array): BabelNodeObjectExpression; declare export function objectMethod(kind?: "method" | "get" | "set", key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral, params: Array, body: BabelNodeBlockStatement, computed?: boolean, generator?: boolean, async?: boolean): BabelNodeObjectMethod; diff --git a/package.json b/package.json index f101c64894..e8c4f8c23c 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-react-jsx": "^7.25.2", - "@babel/types": "^7.29.0", + "@babel/types": "^7.29.8", "@microsoft/api-extractor": "^7.52.2", "@tsconfig/node20": "^20.1.4", "@types/node": "^22.0.0", diff --git a/packages/metro-source-map/package.json b/packages/metro-source-map/package.json index 3c118e45aa..7f72e7002b 100644 --- a/packages/metro-source-map/package.json +++ b/packages/metro-source-map/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/types": "^7.29.8", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.87.1", @@ -31,7 +31,7 @@ "license": "MIT", "devDependencies": { "@babel/core": "^7.25.2", - "@babel/parser": "^7.29.0", + "@babel/parser": "^7.29.9", "terser": "^5.15.0" }, "engines": { diff --git a/packages/metro-transform-plugins/package.json b/packages/metro-transform-plugins/package.json index 2a405933a0..fde00e011e 100644 --- a/packages/metro-transform-plugins/package.json +++ b/packages/metro-transform-plugins/package.json @@ -31,7 +31,7 @@ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-modules-commonjs": "^7.24.8", - "@babel/types": "^7.29.0", + "@babel/types": "^7.29.8", "babel-plugin-tester": "^6.0.1", "metro": "0.87.1" }, diff --git a/packages/metro-transform-worker/package.json b/packages/metro-transform-worker/package.json index 03a64f44b8..7cad09abdd 100644 --- a/packages/metro-transform-worker/package.json +++ b/packages/metro-transform-worker/package.json @@ -21,8 +21,8 @@ "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.29.1", - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/parser": "^7.29.9", + "@babel/types": "^7.29.8", "flow-enums-runtime": "^0.0.6", "metro": "0.87.1", "metro-babel-transformer": "0.87.1", diff --git a/packages/metro/package.json b/packages/metro/package.json index 59531091f5..465ea6a500 100644 --- a/packages/metro/package.json +++ b/packages/metro/package.json @@ -22,10 +22,10 @@ "@babel/code-frame": "^7.29.0", "@babel/core": "^7.25.2", "@babel/generator": "^7.29.1", - "@babel/parser": "^7.29.0", + "@babel/parser": "^7.29.9", "@babel/template": "^7.28.6", "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/types": "^7.29.8", "accepts": "^2.0.0", "connect": "^3.6.5", "debug": "^4.4.0", diff --git a/yarn.lock b/yarn.lock index b04b498a55..92485496be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -204,12 +204,12 @@ "@babel/template" "^7.29.7" "@babel/types" "^7.29.7" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.25.3", "@babel/parser@^7.29.0", "@babel/parser@^7.29.7", "@babel/parser@^7.4.3": - version "7.29.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.7.tgz#837b87387cbf5ec5530cb634b3c622f68edb9334" - integrity sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.25.3", "@babel/parser@^7.29.7", "@babel/parser@^7.29.9", "@babel/parser@^7.4.3": + version "7.29.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.9.tgz#e7ee0a24f752c5296c6455855ccb72662e67ea96" + integrity sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA== dependencies: - "@babel/types" "^7.29.7" + "@babel/types" "^7.29.8" "@babel/plugin-proposal-export-default-from@^7.24.7": version "7.29.7" @@ -696,10 +696,10 @@ "@babel/types" "^7.29.7" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.29.0", "@babel/types@^7.29.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0": - version "7.29.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.7.tgz#8005e31d82712ee7adaef6e23c63b71a62770a92" - integrity sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA== +"@babel/types@^7.0.0", "@babel/types@^7.29.7", "@babel/types@^7.29.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.8.tgz#1229eef31d85156d70fa3f4cd859376d0eaf6863" + integrity sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg== dependencies: "@babel/helper-string-parser" "^7.29.7" "@babel/helper-validator-identifier" "^7.29.7"