Skip to content

chore: migrate unhead to v3, typescript to v6#2602

Merged
antfu merged 9 commits into
mainfrom
antfu/unhead-v3-ts-v6
May 19, 2026
Merged

chore: migrate unhead to v3, typescript to v6#2602
antfu merged 9 commits into
mainfrom
antfu/unhead-v3-ts-v6

Conversation

@antfu

@antfu antfu commented May 19, 2026

Copy link
Copy Markdown
Member

Summary

  • Bump catalog deps: typescript ^5.9.3 → ^6.0.3, unhead and @unhead/vue ^2.1.15 → ^3.1.0.
  • Adapt packages/slidev/node/setups/indexHtml.ts to unhead v3: drop await on the now-sync transformHtmlTemplate, and replace the false fallback in slidev:entry's content with null to satisfy v3's stricter Meta typing (existing .filter(x => x.content) still drops it in build mode).
  • Also includes a prior general chore: update deps catalog refresh on this branch.

Test plan

  • pnpm install clean (only pre-existing peer-dep warnings)
  • pnpm lint clean
  • pnpm test: 143/143 tests pass (2 pre-existing suite-load failures from an unrelated tsdown/rolldown-plugin-dts issue with @slidev/types, reproduces on main)
  • Smoke-test demo (pnpm dev): verify deck title, presenter/notes/overview titles, and <meta slidev:version> / slidev:entry (dev-only) render correctly

@netlify

netlify Bot commented May 19, 2026

Copy link
Copy Markdown

Deploy Preview for slidev ready!

Name Link
🔨 Latest commit cc3f5c8
🔍 Latest deploy log https://app.netlify.com/projects/slidev/deploys/6a0c0bf0a046240008400579
😎 Deploy Preview https://deploy-preview-2602--slidev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

antfu added 2 commits May 19, 2026 12:27
tsdown 0.22 + rolldown-plugin-dts can't bundle transitive CJS d.ts
files (postcss, esbuild, webpack-virtual-modules). Treat all
node_modules as external so the bundled dts references them as
imports instead of inlining.
@pkg-pr-new

pkg-pr-new Bot commented May 19, 2026

Copy link
Copy Markdown

Open in StackBlitz

@slidev/client

npm i https://pkg.pr.new/@slidev/client@2602

create-slidev

npm i https://pkg.pr.new/create-slidev@2602

create-slidev-theme

npm i https://pkg.pr.new/create-slidev-theme@2602

@slidev/parser

npm i https://pkg.pr.new/@slidev/parser@2602

@slidev/cli

npm i https://pkg.pr.new/@slidev/cli@2602

@slidev/types

npm i https://pkg.pr.new/@slidev/types@2602

commit: cc3f5c8

antfu added 5 commits May 19, 2026 14:20
Cypress 14.5.4's webpack-preprocessor injects `downlevelIteration: true`
into its internal ts-loader config. TS 6 errors on it as deprecated and
blocks spec compilation. Set `ignoreDeprecations: "6.0"` at the root so
the cypress tsconfig inherits it and the deprecation downgrades to a
silent acceptance until TS 7.
v15 officially supports TypeScript 6. None of its breaking changes
(SelectorPlayground rename, cy.stub 3-arg signature, cy.exec exitCode,
Firefox CDP, Node 18/23 drop) touch our specs, which only use
cy.visit/get/wait/url/type.
Twoslash's virtual TS env sets baseUrl in its default compiler options,
and TS 6 errors on it. Pass `ignoreDeprecations: '6.0'` through
twoslashOptions.compilerOptions so the doc build's snippet compilation
stops failing. Also remove the unused baseUrl from docs/tsconfig.json.
The vitepress-twoslash transformer Slidev installs for code blocks
hits the same TS5101 baseUrl/moduleResolution deprecation as the docs
build did. Pass `ignoreDeprecations: '6.0'` so the demo's starter
slides (which feed Netlify's deploy preview) compile under TS 6.
@antfu
antfu merged commit 9a10a59 into main May 19, 2026
21 checks passed
@antfu
antfu deleted the antfu/unhead-v3-ts-v6 branch May 19, 2026 07:44
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