Repository navigation
ci: keep typescript-classic on the TypeScript 6 API - #2071
Conversation
Renovate #2055 bumps the npm alias to [email protected]. TypeScript 7 does not export parseConfigFileTextToJson, so @ark/attest crashes vitest setup. Allow 6.x patches and block 7+. Co-authored-by: Yam Borodetsky <[email protected]>
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Pin
typescript-classicto the TypeScript 6 API — adds apackageRulesentry keyed onmatchDepNames: ["typescript-classic"]withallowedVersions: "<7.0.0", scoping the constraint to thenpm:[email protected]alias so Renovate cannot bump it to native TypeScript 7 (which dropsparseConfigFileTextToJsonand breaks@ark/attest/dpdmand the Vitest setup).
matchDepNames is the right key here: the alias's depName is typescript-classic while its packageName is typescript, so a matchPackageNames: ["typescript"] rule would also have pinned the catalog typescript and contradicted the intent. The constraint leaves 6.x patch/minor updates in play and correctly filters out 7.0.0+.
ℹ️ allowedVersions is a silent pin if the version ever drifts past 7
allowedVersions only filters releases newer than the current version, so if typescript-classic is ever manually moved to a 7.x, no candidate satisfies <7.0.0 and Renovate simply stops opening PRs for it, with no warning. Not triggered by this change — 6.0.3 is in range — just worth knowing this is a quiet pin rather than a loud one.
Technical details
# allowedVersions silent-drift behavior
## Affected sites
- `.github/renovate.json:134-138` — the new `typescript-classic` packageRule.
## Required outcome
- None required for this PR. If a guard against drift is wanted later, a companion rule matching on
`matchCurrentVersion` (or `rollbackPrs: true`) would surface a pin that has left the allowed range.deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏

Related to #1996. Does not close it. That issue stays blocked until
@ark/attestanddpdmwork on TypeScript 7.Why #2055 fails
test (lts)andtest (latest)both die in Vitest global setup:#2055 bumps
typescript-classicfromnpm:[email protected]tonpm:[email protected]. #1996 keeps that alias on purpose:@ark/attestanddpdmstill import the classic compiler, and TypeScript 7 does not exportparseConfigFileTextToJson. Catalogtypescriptis already 7.0.2.Change
Renovate rule matches dep name
typescript-classicand setsallowedVersionsto<7.0.0. Patch updates on 6.x still apply. Catalogtypescriptis untouched.After this lands, close #2055 (or let the next Renovate run close it). Do not merge it.
Validation
biome check .github/renovate.json