Skip to content

chore(dependabot): ignore typescript majors until twoslash supports TS 7 - #34

Open
craigthackerx wants to merge 1 commit into
mainfrom
chore/ignore-typescript-major
Open

chore(dependabot): ignore typescript majors until twoslash supports TS 7#34
craigthackerx wants to merge 1 commit into
mainfrom
chore/ignore-typescript-major

Conversation

@craigthackerx

Copy link
Copy Markdown
Contributor

Follow-up to closing #33. TypeScript 7 breaks the build, so Dependabot should stop proposing it weekly.

What I tested

Installed typescript@7.0.2 locally and ran the full pipeline. Two distinct failures.

Config — fixable. tsc --noEmit fails before touching any source:

tsconfig.json(18,5): error TS5102: Option 'baseUrl' has been removed.
  Use '"paths": {"*": ["./*"]}' instead.

Dropping baseUrl and keeping paths type-checks clean under 7.0.2, and it still works under 5.8.3 — paths has resolved relative to the tsconfig without baseUrl since TS 5.0. So that edit is forward-compatible and can land whenever we actually move. I have deliberately not included it here, since it is pointless churn while TS 7 is unusable for the reason below.

Build — not fixable here. With the config fixed, next build dies in the MDX loader:

TypeError: Cannot read properties of undefined (reading 'readFile')
  at createCacheableFSBackedSystem (@shikijs/twoslash/node_modules/twoslash/dist/core.mjs:445)
  from nextra/loader.cjs

twoslash drives TypeScript's JS compiler API, which the native TS 7 port does not expose. The chain is nextra@shikijs/twoslash@3.23.0twoslash@0.3.9, and 0.3.9 is the latest published version, declaring:

"peerDependencies": { "typescript": "^5.5.0 || ^6.0.0" }

TS 7 is excluded on purpose, and there is no release that supports it. Nothing to work around at our level.

What this changes

One ignore entry for typescript majors, alongside the existing eslint one, each carrying the reason and the condition for removing it.

Remove this entry once twoslash widens its peer range — and apply the baseUrl removal at the same time.

On #32

@types/node 26.1.2 was tested in the same run and is cleantsc --noEmit, next build (42 pages, 36 indexed) and eslint (0 findings) all pass. It is deliberately not ignored, and is safe to merge.

Caveat

GitHub Actions is still in major outage, so CI has not run on this. The dependabot.yml parses and both ecosystem entries resolve correctly, verified locally.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

TypeScript 7 breaks the build, verified locally against 7.0.2.

Two problems. tsc fails on config first — TS 7 removed baseUrl (TS5102) —
which is fixable, and dropping baseUrl while keeping paths type-checks
clean on both 7.0.2 and 5.8.3, so that change is forward-compatible
whenever we do move.

The blocker is the build:

  TypeError: Cannot read properties of undefined (reading 'readFile')
    at createCacheableFSBackedSystem (twoslash/dist/core.mjs:445)
    from nextra/loader.cjs

twoslash uses TypeScript's JS compiler API, which the native TS 7 port
does not expose. It is upstream and not workaroundable here:
nextra -> @shikijs/twoslash@3.23.0 -> twoslash@0.3.9, and 0.3.9 is latest
with peerDependencies typescript ^5.5.0 || ^6.0.0. No published version
supports 7.

Dependabot PR #33 is closed. Remove this entry once twoslash widens its
peer range, along with the baseUrl removal noted above.

@types/node 26.1.2 (#32) was tested alongside and is unaffected — tsc,
next build and eslint all pass, so it is not ignored here.
@craigthackerx
craigthackerx force-pushed the chore/ignore-typescript-major branch from ef25152 to a1424c1 Compare August 8, 2026 08:37
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