From 17651535cfe17e37c7b1ed4c538e360e8ae38caf Mon Sep 17 00:00:00 2001 From: Vladimir Morozov Date: Wed, 22 Apr 2026 14:46:44 -0700 Subject: [PATCH 1/2] Pin @types/react to current minor on stable branches in dependabot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dependabot's lockfile-only strategy respects the existing semver range in package.json. Because @types/react is declared as a caret range (e.g. "^18.2.6", "^19.1.4"), dependabot proposes minor-version bumps to the type definitions even though the paired `react` runtime stays on its current minor. On 0.74-stable this broke TS compilation — bumping @types/react from 18.2.67 to 18.3.28 failed with a forwardRef inference error in KeyboardExt.tsx (see PR #15911). Add an ignore rule to each stable-branch entry so minor and major updates of @types/react and @types/react-dom are filtered out of the grouped PR. Only patch updates flow through, keeping the type definitions aligned with the frozen React minor on each branch: 0.74-stable: @types/react locked to 18.2.x 0.81-stable: @types/react locked to 19.1.x 0.82-stable: @types/react locked to 19.1.x 0.83-stable: @types/react locked to 19.2.x 0.84-stable: @types/react locked to 19.2.x The main-branch entry is unchanged — it should continue to track upstream React type releases. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/dependabot.yml | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ef25910e9c9..7109d0895a6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -35,6 +35,17 @@ updates: update-types: - 'minor' - 'patch' + ignore: + # Pin @types/react* to the React 18.2 minor used by this branch. + # Bumping to 18.3 breaks TS compilation against the React 18.2 runtime. + - dependency-name: "@types/react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "@types/react-dom" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" schedule: interval: weekly time: "05:00" @@ -57,6 +68,16 @@ updates: update-types: - 'minor' - 'patch' + ignore: + # Pin @types/react* to the React 19.1 minor used by this branch. + - dependency-name: "@types/react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "@types/react-dom" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" schedule: interval: weekly time: "05:00" @@ -79,6 +100,16 @@ updates: update-types: - 'minor' - 'patch' + ignore: + # Pin @types/react* to the React 19.1 minor used by this branch. + - dependency-name: "@types/react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "@types/react-dom" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" schedule: interval: weekly time: "05:00" @@ -101,6 +132,16 @@ updates: update-types: - 'minor' - 'patch' + ignore: + # Pin @types/react* to the React 19.2 minor used by this branch. + - dependency-name: "@types/react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "@types/react-dom" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" schedule: interval: weekly time: "05:00" @@ -123,6 +164,16 @@ updates: update-types: - 'minor' - 'patch' + ignore: + # Pin @types/react* to the React 19.2 minor used by this branch. + - dependency-name: "@types/react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "@types/react-dom" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" schedule: interval: weekly time: "05:00" From 848f776dde4e0ab29c463f76f1e038adcbec04f0 Mon Sep 17 00:00:00 2001 From: Vladimir Morozov Date: Wed, 22 Apr 2026 14:54:53 -0700 Subject: [PATCH 2/2] Extend dependabot ignore to react + react-native + react-test-renderer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The react runtime, its type defs, and the matching test renderer are version-locked together on each stable branch. Bumping any one of them to a different minor can break TS compilation or runtime compatibility, so lock the full set on every stable-branch dependabot entry. Also include react-dom / @types/react-dom defensively — they aren't currently in any stable-branch package.json but will be pinned if added later. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/dependabot.yml | 70 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 5 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7109d0895a6..9acbc4c01f7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -36,8 +36,20 @@ updates: - 'minor' - 'patch' ignore: - # Pin @types/react* to the React 18.2 minor used by this branch. + # Pin react + react-native + react-test-renderer + @types/react* to the React 18.2 minor used by this branch. # Bumping to 18.3 breaks TS compilation against the React 18.2 runtime. + - dependency-name: "react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-native" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-test-renderer" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" - dependency-name: "@types/react" update-types: - "version-update:semver-minor" @@ -69,7 +81,19 @@ updates: - 'minor' - 'patch' ignore: - # Pin @types/react* to the React 19.1 minor used by this branch. + # Pin react + react-native + react-test-renderer + @types/react* to the React 19.1 minor used by this branch. + - dependency-name: "react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-native" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-test-renderer" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" - dependency-name: "@types/react" update-types: - "version-update:semver-minor" @@ -101,7 +125,19 @@ updates: - 'minor' - 'patch' ignore: - # Pin @types/react* to the React 19.1 minor used by this branch. + # Pin react + react-native + react-test-renderer + @types/react* to the React 19.1 minor used by this branch. + - dependency-name: "react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-native" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-test-renderer" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" - dependency-name: "@types/react" update-types: - "version-update:semver-minor" @@ -133,7 +169,19 @@ updates: - 'minor' - 'patch' ignore: - # Pin @types/react* to the React 19.2 minor used by this branch. + # Pin react + react-native + react-test-renderer + @types/react* to the React 19.2 minor used by this branch. + - dependency-name: "react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-native" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-test-renderer" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" - dependency-name: "@types/react" update-types: - "version-update:semver-minor" @@ -165,7 +213,19 @@ updates: - 'minor' - 'patch' ignore: - # Pin @types/react* to the React 19.2 minor used by this branch. + # Pin react + react-native + react-test-renderer + @types/react* to the React 19.2 minor used by this branch. + - dependency-name: "react" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-native" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" + - dependency-name: "react-test-renderer" + update-types: + - "version-update:semver-minor" + - "version-update:semver-major" - dependency-name: "@types/react" update-types: - "version-update:semver-minor"