fix(build): unbreak CI — pin TypeScript to 6.x, drop removed baseUrl - #741
Merged
Merged
Conversation
CI has been failing on every PR since 444661a (the dependabot bump) landed on main; main itself hasn't run CI since 2026-05-28, so it went unnoticed. That bump took typescript from ^6.0.3 to ^7.0.2, and: - TS7 removed `baseUrl` outright (TS6 only deprecated it, which `ignoreDeprecations: "6.0"` was silencing) -> `tsc` hard-errors with TS5102. - TS7 also breaks `svelte-check@4.7.3` — the newest release — which crashes reading `typescript.sys` off an undefined default export. - `@typescript-eslint@8.65.0` declares `typescript: ">=4.8.4 <6.1.0"`, so it doesn't claim TS7 support either. The ecosystem isn't ready for TypeScript 7, so pin back to ^6.0.3. tsconfig keeps the forward-compatible fix: `baseUrl: "."` becomes `paths: { "*": ["./*"] }`, which behaves identically under TS6 and is what TS7 will want. `ignoreDeprecations` is dropped — it existed only for baseUrl. Also clears the three lint warnings this stack introduced (52 -> 49): an `interface` over `type`, and two non-null assertions that don't narrow anything.
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.
CI has been failing on every PR since
444661a(the dependabot bump) landed onmain.mainitself hasn't run CI since 2026-05-28, so nobody noticed — run 30163678094 on #737 is just the first PR to surface it. Not caused by any of the stacked fixes.What broke
That bump took
typescriptfrom^6.0.3to^7.0.2. Three things follow:baseUrloutright. TS6 only deprecated it, whichignoreDeprecations: "6.0"was silencing. Now it's a hard error:svelte-check@4.7.3— the newest release — which crashes readingtypescript.sysoff an undefined default export:@typescript-eslint@8.65.0declarestypescript: ">=4.8.4 <6.1.0", so it doesn't claim TS7 support either.The ecosystem isn't ready for TypeScript 7.
Fix
typescriptback to^6.0.3, reverting just that one entry of the dependabot bump.typescript-eslint@^8.65.0stays.tsconfig.json:baseUrl: "."→paths: { "*": ["./*"] }— the replacement TypeScript itself suggests. Behaves identically under TS6 and is what TS7 will want, so this doesn't need redoing when the ecosystem catches up.ignoreDeprecationsis dropped; it existed only forbaseUrl.interfaceovertype, and two non-null assertions that don't narrow anything.Verified by installing exactly what CI installs (
bun install --frozen-lockfile, which gave TS 7.0.2 and reproduced the failure locally) before pinning back.bun run build && bun run testpass (379 tests, 0 type errors,svelte-check0 errors / 0 warnings).Follow-up worth considering
Dependabot will re-propose TypeScript 7 on its next run. An
ignoreentry for thetypescriptmajor in.github/dependabot.ymlwould stop it recurring untilsvelte-checkandtypescript-eslintship support. Not done here — separate concern.