You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repo is on TypeScript 5.9.3 and never got the v6 upgrade. It will need it before the ESLint 10 / @cloudfour/eslint-config v26 work in #2458 can land.
Why we're stuck on 5.x
Renovate opened #2437 (TypeScript v7), which was closed because TypeScript 7 is incompatible with typescript-eslint — it peers typescript: ">=4.8.4 <6.1.0". Unlike our sibling repos there was never a v6 PR here at all, so nothing replaced it.
@cloudfour/eslint-config v26 is built on eslint-config-xo@1.0.0, which declares:
peerDependencies: { typescript: ">=6" }
On TypeScript 5.9.3 that peer is unsatisfied, so npm installs typescript@7.0.2 alongside our pinned copy to satisfy it, dragging in TypeScript 7's @typescript/typescript-* platform binaries. Those aren't in package-lock.json, so npm ci fails with Missing: typescript@7.0.2 from lock file. That is exactly what's breaking cloudfour/simple-svg-placeholder#302 right now.
Why 6.0.3 specifically
The two peer ranges in play only overlap on the 6.0.x line:
Package
Peer range
eslint-config-xo@1.0.0
typescript: ">=6"
typescript-eslint@8.66.0 (a dependency of xo)
typescript: ">=4.8.4 <6.1.0"
TypeScript 7.0.2 is currently latest on npm but fails the second range — which is why #2437 was closed. 5.9.3 fails the first. 6.0.3 is the only line satisfying both.
Two separate blockers here
Worth being explicit that this repo has two independent things standing between it and v26, and fixing one won't unblock #2458 on its own:
#2458 currently fails at npm ci on the second of those, so the TypeScript problem hasn't even surfaced there yet. It will once #2464 is resolved.
This one needs a real check
This repo uses TypeScript properly — there's a tsconfig.json and a ts-dist build output — so 5.9.3 → 6.0.3 is a genuine major upgrade, not the peer-satisfying formality it is in simple-svg-placeholder. It should get a full type-check and build, with a review of anything TypeScript 6 newly rejects.
This repo is on TypeScript 5.9.3 and never got the v6 upgrade. It will need it before the ESLint 10 /
@cloudfour/eslint-configv26 work in #2458 can land.Why we're stuck on 5.x
Renovate opened #2437 (TypeScript v7), which was closed because TypeScript 7 is incompatible with
typescript-eslint— it peerstypescript: ">=4.8.4 <6.1.0". Unlike our sibling repos there was never a v6 PR here at all, so nothing replaced it.@cloudfour/eslint-configdid make the jump — cloudfour/eslint-config#704 merged TypeScript v6 there.Why it matters
@cloudfour/eslint-configv26 is built oneslint-config-xo@1.0.0, which declares:On TypeScript 5.9.3 that peer is unsatisfied, so npm installs
typescript@7.0.2alongside our pinned copy to satisfy it, dragging in TypeScript 7's@typescript/typescript-*platform binaries. Those aren't inpackage-lock.json, sonpm cifails withMissing: typescript@7.0.2 from lock file. That is exactly what's breaking cloudfour/simple-svg-placeholder#302 right now.Why 6.0.3 specifically
The two peer ranges in play only overlap on the 6.0.x line:
eslint-config-xo@1.0.0typescript: ">=6"typescript-eslint@8.66.0(a dependency of xo)typescript: ">=4.8.4 <6.1.0"TypeScript 7.0.2 is currently
lateston npm but fails the second range — which is why #2437 was closed. 5.9.3 fails the first. 6.0.3 is the only line satisfying both.Two separate blockers here
Worth being explicit that this repo has two independent things standing between it and v26, and fixing one won't unblock #2458 on its own:
>=6peer.eslint-plugin-react@7.37.5supports ESLint^9.7at most, so it can't coexist with v26'seslint ^10.6.0requirement.#2458 currently fails at
npm cion the second of those, so the TypeScript problem hasn't even surfaced there yet. It will once #2464 is resolved.This one needs a real check
This repo uses TypeScript properly — there's a
tsconfig.jsonand ats-distbuild output — so 5.9.3 → 6.0.3 is a genuine major upgrade, not the peer-satisfying formality it is insimple-svg-placeholder. It should get a full type-check and build, with a review of anything TypeScript 6 newly rejects.