chore(deps): adopt TypeScript 7; keep Stryker off the TS JS API#56
Merged
Conversation
Resolves the blocker in #55 locally instead of waiting upstream. - typescript ^7.0.2 replaces @typescript/native-preview; tsgo becomes tsc in scripts and CI step names - stryker: ignore tsconfig*.json in the sandbox so the tsconfig preprocessor short-circuits before import('typescript'); bun test needs no tsconfig in the sandbox, and the mutation score is byte-identical (96.36) - demo: typescript ^6.0.3, the ceiling of typescript-estree's peer range (>=4.8.4 <6.1.0); drop deprecated baseUrl (paths resolve relative to tsconfig without it, and TS 7 removes the option)
the-simian
force-pushed
the
chore/ts7-migration
branch
from
July 10, 2026 20:21
8649931 to
88ed66e
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #56 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 34 34
Lines 2555 2555
=========================================
Hits 2555 2555 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #55 by correcting the blocker locally rather than waiting for upstream.
What changed
typescript@^7.0.2replaces@typescript/native-preview;tsgobecomestscin thebuild/typecheckscripts and CI step names (same shape as chore(deps): adopt TypeScript 7 stable and refresh dev deps chromonym#42)stryker.config.jsonaddsignorePatternsfortsconfig.jsonandtsconfig.test.json: Stryker's tsconfig preprocessor only callsimport('typescript')when a tsconfig is present in the sandbox, so excluding them short-circuits the one code path that needs the TS JS API (which the native TS 7 package does not ship from its bare entry; the API now lives behindtypescript/unstable/*subpaths).bun testdoes not read tsconfig in the sandbox; the mutation run under TS 7 reproduces the exact per-file scores of the TS 5 baseline (96.36, break threshold 75)typescript@^6.0.3, the ceiling of@typescript-eslint/typescript-estree's peer range (>=4.8.4 <6.1.0); TS 7 in the demo stays blocked until typescript-eslint ports to the native APItsconfig.json:baseUrlremoved; TS 6 deprecates it (TS5101) and TS 7 removes it, and the existingpathsentries already resolve relative to the tsconfig without itTesting
bun run checkandbun run mutationpass locally under TS 7: build (tsc), demo build, biome, demo ESLint, typecheck, demo typecheck (TS 6.0.3), bun test, knip, publint + attw, Stryker 96.36.