From da34c6b5fc3e4f3ce71953aa1601bac457b47de1 Mon Sep 17 00:00:00 2001 From: George Zahariev Date: Tue, 13 Oct 2026 16:32:39 -0700 Subject: [PATCH] Upgrade JS parser tooling to 0.335.0 Summary: X-link: https://github.com/react/metro/pull/2063 Upgrade `flow-parser`, `flow-estree`, `flow-eslint`, `flow-transform`, and `flow-api-translator` to 0.335.0 across `xplat/js` and `arvr/js`, excluding the Fox toolchains in `tools/fox`, `tools/fox-haas-bundler`, and `tools/react-fox`. Refresh 39 dependency manifests, 18 Yarn lockfiles, the recharts npm lockfile, checked-in runtime packages, Flow type mirrors, and the five shared offline archives. Preserve Fox's existing 0.333.0 pins and lock entries; no Fox compiled artifacts or Forest fixtures are changed. Gauntlet's upgrade is kept in the stacked diff D125076658 because its framework has an independent release system. Use canonical Yarn's hoisted root parser instead of redundant nested rpc/jscodeshift copies. Repair the legacy codegen lock's missing `nullthrows@^1.1.1` entry for its existing dependency declaration, without changing that declaration. Bootstrap GazeHands' declared build dependencies before CI validates its generated outputs, matching the existing build script. Teach license lint to recognize the existing MIT headers in imported Flow type mirrors rather than rewriting them as internal headers; add narrow path assertions. Changelog: [Internal] Differential Revision: D125071452 --- package.json | 8 +-- .../eslint-plugin-react-native/package.json | 4 +- packages/eslint-plugin-specs/package.json | 4 +- .../react-native-babel-preset/package.json | 2 +- .../package.json | 2 +- packages/react-native-codegen/package.json | 4 +- packages/react-native/package.json | 2 +- yarn.lock | 60 +++++++++---------- 8 files changed, 43 insertions(+), 43 deletions(-) diff --git a/package.json b/package.json index 9c7240d8c4c2..1fa53cb0e539 100644 --- a/package.json +++ b/package.json @@ -95,11 +95,11 @@ "eslint-plugin-redundant-undefined": "^0.4.0", "eslint-plugin-relay": "^1.8.3", "fb-dotslash": "0.5.8", - "flow-api-translator": "0.333.0", + "flow-api-translator": "0.335.0", "flow-bin": "^0.335.0", - "flow-eslint": "0.333.0", - "flow-parser": "0.333.0", - "flow-transform": "0.333.0", + "flow-eslint": "0.335.0", + "flow-parser": "0.335.0", + "flow-transform": "0.335.0", "google-java-format": "1.4.0", "ini": "^5.0.0", "inquirer": "^7.1.0", diff --git a/packages/eslint-plugin-react-native/package.json b/packages/eslint-plugin-react-native/package.json index 6bd679faec80..5b2c57cfa0c9 100644 --- a/packages/eslint-plugin-react-native/package.json +++ b/packages/eslint-plugin-react-native/package.json @@ -25,8 +25,8 @@ "utils.js" ], "devDependencies": { - "flow-parser": "0.333.0", - "flow-eslint": "0.333.0" + "flow-parser": "0.335.0", + "flow-eslint": "0.335.0" }, "engines": { "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" diff --git a/packages/eslint-plugin-specs/package.json b/packages/eslint-plugin-specs/package.json index 17be1421dc95..fa2ac98d16ae 100644 --- a/packages/eslint-plugin-specs/package.json +++ b/packages/eslint-plugin-specs/package.json @@ -35,11 +35,11 @@ "@react-native/codegen": "0.87.0-main", "make-dir": "^2.1.0", "pirates": "^4.0.1", - "flow-parser": "0.333.0", + "flow-parser": "0.335.0", "source-map-support": "0.5.0" }, "devDependencies": { - "flow-eslint": "0.333.0" + "flow-eslint": "0.335.0" }, "engines": { "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" diff --git a/packages/react-native-babel-preset/package.json b/packages/react-native-babel-preset/package.json index 0d14584cb665..81ac5845e2a5 100644 --- a/packages/react-native-babel-preset/package.json +++ b/packages/react-native-babel-preset/package.json @@ -56,7 +56,7 @@ "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@react-native/babel-plugin-codegen": "0.87.0-main", - "flow-parser": "0.333.0", + "flow-parser": "0.335.0", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" }, diff --git a/packages/react-native-babel-transformer/package.json b/packages/react-native-babel-transformer/package.json index 45a30323d6af..e4a2c723f272 100644 --- a/packages/react-native-babel-transformer/package.json +++ b/packages/react-native-babel-transformer/package.json @@ -28,7 +28,7 @@ "dependencies": { "@babel/core": "^7.25.2", "@react-native/babel-preset": "0.87.0-main", - "flow-parser": "0.333.0", + "flow-parser": "0.335.0", "nullthrows": "^1.1.1" }, "peerDependencies": { diff --git a/packages/react-native-codegen/package.json b/packages/react-native-codegen/package.json index 8318b98b9d8f..5e9b8b8e4f37 100644 --- a/packages/react-native-codegen/package.json +++ b/packages/react-native-codegen/package.json @@ -31,7 +31,7 @@ "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.29.9", - "flow-parser": "0.333.0", + "flow-parser": "0.335.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "tinyglobby": "^0.2.15", @@ -45,7 +45,7 @@ "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/preset-env": "^7.25.3", - "flow-estree": "0.333.0", + "flow-estree": "0.335.0", "micromatch": "^4.0.4", "prettier": "3.9.4", "rimraf": "^3.0.2" diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 4ee31052b522..973f18a8b239 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -158,7 +158,7 @@ "@react-native/virtualized-lists": "0.87.0-main", "anser": "^1.4.9", "ansi-regex": "^5.0.0", - "flow-parser": "0.333.0", + "flow-parser": "0.335.0", "base64-js": "^1.5.1", "flow-enums-runtime": "^0.0.6", "hermes-compiler": "0.0.0", diff --git a/yarn.lock b/yarn.lock index a40d40a8e8de..24979eb64692 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4819,19 +4819,19 @@ flora-colossus@^3.0.2: dependencies: debug "^4.4.1" -flow-api-translator@0.333.0: - version "0.333.0" - resolved "https://registry.yarnpkg.com/flow-api-translator/-/flow-api-translator-0.333.0.tgz#3ad6552c47ce6930f0cbab3ce46ec2875f4c6e6f" - integrity sha512-T1CvQdFtDj+ss6cKZSMsul1uAf6jwKRKwQBIzyjEUeuz6t8kLNrhLT/vBYtZBjjQV6/gQFa6LvT/UE75FOAqSA== +flow-api-translator@0.335.0: + version "0.335.0" + resolved "https://registry.yarnpkg.com/flow-api-translator/-/flow-api-translator-0.335.0.tgz#62bd5c7d3494c67226f41022febb820e59437486" + integrity sha512-APzyBFsT9x22NlBEYHi/ru++y4Yglx1pwwII9vLXg816ggoVxF5bSmcUxy1B+3Axj+pU5hYGWtJ7z24c5U9cLg== dependencies: "@babel/code-frame" "^7.16.0" "@typescript-eslint/parser" "8.38.0" "@typescript-eslint/visitor-keys" "8.38.0" flow-enums-runtime "^0.0.6" - flow-eslint "0.333.0" - flow-estree "0.333.0" - flow-parser "0.333.0" - flow-transform "0.333.0" + flow-eslint "0.335.0" + flow-estree "0.335.0" + flow-parser "0.335.0" + flow-transform "0.335.0" typescript "5.3.2" flow-bin@^0.335.0: @@ -4844,26 +4844,26 @@ flow-enums-runtime@^0.0.6: resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz#5bb0cd1b0a3e471330f4d109039b7eba5cb3e787" integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== -flow-eslint@0.333.0: - version "0.333.0" - resolved "https://registry.yarnpkg.com/flow-eslint/-/flow-eslint-0.333.0.tgz#58a06f317c743982abdd96663a87c1434d75f4ff" - integrity sha512-u4EJk0AuRCbr/OHzcTB2gWhMoIC/Y31J+UNwuFPYLHXvmPSobkpVo9geWR5DgQn3ecI3l/gKXiMsAHwrFSENPA== +flow-eslint@0.335.0: + version "0.335.0" + resolved "https://registry.yarnpkg.com/flow-eslint/-/flow-eslint-0.335.0.tgz#a8383914568f16475ef5cd62c157843b62e52910" + integrity sha512-G/6qz7O1Otv3/fhZBvVyBQFvDihHZnRIXhJAwQ2HjWhurszVDHSrO4ZOEdCdZTMRtLmCltfPOBTMJRDaKERNCA== dependencies: esrecurse "^4.3.0" - flow-estree "0.333.0" - flow-parser "0.333.0" + flow-estree "0.335.0" + flow-parser "0.335.0" -flow-estree@0.333.0: - version "0.333.0" - resolved "https://registry.yarnpkg.com/flow-estree/-/flow-estree-0.333.0.tgz#f3360e2c0451e71bfe619107a4d37cf4e1a90ad6" - integrity sha512-jyHzdWcuegTEO1fGakW+hZ91PS49xdMSBjCReBu+Xv05vX+ueVdf1ZtFIfqrdJOL9Uows7RMsHXOH6h6RDW/ZA== +flow-estree@0.335.0: + version "0.335.0" + resolved "https://registry.yarnpkg.com/flow-estree/-/flow-estree-0.335.0.tgz#6867e678070b0edb13ff37636d8aaf4b444516bb" + integrity sha512-sfJYlOSnrbBI4ruZ7UG5OJLz16E1hs+Kkt/De8F7vm6UafLfvZIWjkoBmZtKoN6EIOa3zgGkVczt0xpmmQixGA== -flow-parser@0.333.0: - version "0.333.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.333.0.tgz#2310ee20b108debab3f7bcee16fffdee96067edc" - integrity sha512-bSL/1CALDbKlG0nKDD1/09XmNNbhnIMKuqzpe+Mv4NBHoKET23cYacaQmh41dq2RJ17TaQc5HQ3hFaj5OHR7ZA== +flow-parser@0.335.0: + version "0.335.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.335.0.tgz#27c879530fd7fe9521129b15e6d9cedd9860c645" + integrity sha512-TpG7cWiAAh5EoOjaGuzggks8HOM6DJhey1RmMmnzGUd+AYmsl77S5EXvb6gxAEGX40FyfkXEwsvQcuI6Knkm7g== dependencies: - flow-estree "0.333.0" + flow-estree "0.335.0" flow-remove-types@^2.237.2: version "2.259.1" @@ -4874,17 +4874,17 @@ flow-remove-types@^2.237.2: pirates "^3.0.2" vlq "^0.2.1" -flow-transform@0.333.0: - version "0.333.0" - resolved "https://registry.yarnpkg.com/flow-transform/-/flow-transform-0.333.0.tgz#66082c7932361463aebadf058f71d206cfd55c3b" - integrity sha512-3xF5Vtwkeu/p3/YjPmKthqxPoYn6XkaL1TprTDjCVD3PUdbNngCYbzzaRK27r6RkSZOxP3R5uTxAUoZKgiIg/w== +flow-transform@0.335.0: + version "0.335.0" + resolved "https://registry.yarnpkg.com/flow-transform/-/flow-transform-0.335.0.tgz#ec49dedfd5507da0228f715ad20315c6ebf6ae75" + integrity sha512-TUBmPSufhaWaD0Amw/wR8v6+F+CLbnY8aHoUyb3hykEp6kDiPrCvem96uhN/uJ8CnjO2OODxxsisa0ikYaBt5w== dependencies: "@babel/code-frame" "^7.16.0" esquery "^1.4.0" flow-enums-runtime "^0.0.6" - flow-eslint "0.333.0" - flow-estree "0.333.0" - flow-parser "0.333.0" + flow-eslint "0.335.0" + flow-estree "0.335.0" + flow-parser "0.335.0" string-width "4.2.3" for-each@^0.3.3: