From 0f767884687e2b31e635cfd89e12a83603972240 Mon Sep 17 00:00:00 2001 From: David Jensen Date: Thu, 3 Sep 2026 14:33:42 -0600 Subject: [PATCH 1/2] FRONTIER-4800: widen typescript peer range to allow TypeScript 6 npm 7+ enforces peer ranges even for optional peers present in the tree, so consuming repos fail install with ERESOLVE when upgrading to typescript@^6. Co-Authored-By: Claude Fable 5 --- packages/react-scripts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index 8534658cbe..82adb6ea5a 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -145,7 +145,7 @@ "peerDependencies": { "@fs/eslint-config-frontier-react": ">=10.0.0", "react": ">= 16", - "typescript": "^3.2.1 || ^4 || ^5" + "typescript": "^3.2.1 || ^4 || ^5 || ^6" }, "peerDependenciesMeta": { "typescript": { From 574de9bce6ebe531e06c3c27db78ed6dc3ba8783 Mon Sep 17 00:00:00 2001 From: Joey Cozza Date: Wed, 9 Sep 2026 14:20:04 -0600 Subject: [PATCH 2/2] FRONTIER-4800: bump @fs/react-scripts to 8.16.4 and add changelog entry CI publishes the committed version of @fs/react-scripts on push to a release branch, so the widened typescript peer range would not reach any consumer without a version bump. Patch rather than minor: the change is purely additive and no existing consumer on TS 3/4/5 is affected. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG-FRONTIER.md | 8 ++++++++ packages/react-scripts/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG-FRONTIER.md b/CHANGELOG-FRONTIER.md index 938fc45539..1efd7199aa 100644 --- a/CHANGELOG-FRONTIER.md +++ b/CHANGELOG-FRONTIER.md @@ -1,3 +1,11 @@ +## 8.16.4 + +- Widen the `typescript` peer range from `^3.2.1 || ^4 || ^5` to `^3.2.1 || ^4 || ^5 || ^6` so consuming apps can take `typescript@6` + - npm 7+ enforces peer ranges for optional peers that are actually present in the tree, so any repo upgrading to `typescript@^6` hit an `ERESOLVE` conflict on `npm install` — including plain-JavaScript repos that only pull TypeScript in for lint and type-check tooling. Teams were closing or excluding their Renovate TypeScript 6 PRs to work around it, which also silences future 6.x notifications + - react-scripts touches TypeScript in three places — `verifyTypeScriptSetup.js`, `ForkTsCheckerWebpackPlugin` (via react-dev-utils), and `@babel/preset-typescript` for transpilation. TypeScript 6.x is the bridge release line that keeps the JavaScript-based compiler and its in-process compiler API, so all three behave as they do under 5.x + - `^7` is deliberately excluded: TS 7 is the native (Go) compiler and does not expose the in-process JS compiler API that fork-ts-checker and `verifyTypeScriptSetup` depend on, so declaring it would trade today's up-front `ERESOLVE` for a runtime build failure. `^3.2.1 || ^4` is deliberately kept — narrowing a peer range is breaking for consumers still on older TS + - Purely additive for existing consumers on TS 3/4/5. Note that this repo's own CI still runs `typescript: ^4.4.4`, so TS 6 is not exercised here; verified by smoke test in `fs-eng/data-dmconsole` at `typescript@6.0.3` (clean `npm install`, passing production build, passing tests) + ## 8.16.3 - Migrate CI from Travis to GitHub Actions (`.github/workflows/ci.yml`); delete `.travis.yml` diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index 82adb6ea5a..18f880ce3a 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -1,6 +1,6 @@ { "name": "@fs/react-scripts", - "version": "8.16.3", + "version": "8.16.4", "upstreamVersion": "5.0.1", "description": "Configuration and scripts for Create React App.", "repository": {