Skip to content

fix(build): unbreak CI — pin TypeScript to 6.x, drop removed baseUrl - #741

Merged
michaelpporter merged 1 commit into
tailwind-theme-layerfrom
fix-tsconfig-baseurl-ts7
Jul 25, 2026
Merged

fix(build): unbreak CI — pin TypeScript to 6.x, drop removed baseUrl#741
michaelpporter merged 1 commit into
tailwind-theme-layerfrom
fix-tsconfig-baseurl-ts7

Conversation

@michaelpporter

Copy link
Copy Markdown
Owner

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 nobody noticed — run 30163678094 on #737 is just the first PR to surface it. Not caused by any of the stacked fixes.

Top of the stack (#737#738#739#740 → this).

What broke

That bump took typescript from ^6.0.3 to ^7.0.2. Three things follow:

  1. TS7 removed baseUrl outright. TS6 only deprecated it, which ignoreDeprecations: "6.0" was silencing. Now it's a hard error:
    tsconfig.json(6,3): error TS5102: Option 'baseUrl' has been removed.
    
  2. TS7 breaks svelte-check@4.7.3 — the newest release — which crashes reading typescript.sys off an undefined default export:
    TypeError: Cannot read properties of undefined (reading 'useCaseSensitiveFileNames')
    
  3. @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.

Fix

  • Pin typescript back to ^6.0.3, reverting just that one entry of the dependabot bump. typescript-eslint@^8.65.0 stays.
  • 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. ignoreDeprecations is dropped; it existed only for baseUrl.
  • Clears the three lint warnings this stack introduced (52 → 49): an interface over type, 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 test pass (379 tests, 0 type errors, svelte-check 0 errors / 0 warnings).

Follow-up worth considering

Dependabot will re-propose TypeScript 7 on its next run. An ignore entry for the typescript major in .github/dependabot.yml would stop it recurring until svelte-check and typescript-eslint ship support. Not done here — separate concern.

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.
@michaelpporter
michaelpporter merged commit dfb4a6c into tailwind-theme-layer Jul 25, 2026
@michaelpporter
michaelpporter deleted the fix-tsconfig-baseurl-ts7 branch July 25, 2026 15:50
michaelpporter added a commit that referenced this pull request Jul 26, 2026
TS 7 is not yet supported by svelte-check or typescript-eslint. The bump
was merged once in a grouped dependency PR and broke `bun run build` on
main, where it sat undetected for two months; reverted in PR #741.

Scoped to semver-major so 6.x minor and patch updates still come through.

Refs #741
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant