Skip to content

chore(deps)!: bump unocss & unplugin-vue-markdown for Vite 8; require Node >=22.12 - #710

Merged
YunYouJun merged 3 commits into
mainfrom
fix/709
Jun 13, 2026
Merged

chore(deps)!: bump unocss & unplugin-vue-markdown for Vite 8; require Node >=22.12#710
YunYouJun merged 3 commits into
mainfrom
fix/709

Conversation

@YunYouJun

@YunYouJun YunYouJun commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes the unmet peer dependency warnings reported under Vite 8 (#709) by bumping the offending plugins to versions that declare Vite 8 support.

pnpm i warned that two catalog plugins did not declare Vite 8 in their peer ranges:

  • unocss / @unocss/vite 66.5.10 → vite peer capped at ^7.0.0-0
  • unplugin-vue-markdown ^30.0.0 → vite peer capped at ^7.0.0

Note: silencing these via peerDependencyRules would only fix the monorepo's install — it wouldn't help end users (like the reporter), since those rules don't ship in the published package. The published catalog versions had to be bumped.

Changes (commit 1 — deps)

  • unocss 66.5.1066.7.2 (catalog and overrides; @unocss/vite@66.7.2 peer is ^5 || ^6 || ^7 || ^8).
  • unplugin-vue-markdown ^30.0.0^32.0.0 (the only release that declares the Vite 8 peer; includes ^8.0.0-0).
  • engines.node ^18 || >=20>=22.12.0 across root / valaxy / create-valaxy, plus docs (getting-started EN/ZH, deploy Dockerfile → node:22-alpine) and CLAUDE.md. See below.
  • Declare @unocss/reset explicitly in @valaxyjs/devtools (catalog + devDependencies) — its client entry imports @unocss/reset/tailwind.css, which previously resolved only via a hoisted transitive of unocss@66.5.10; 66.7.2 no longer pulls it in, which broke vite build src/client on a fresh install.
  • Documented the unplugin-vue-components@28.0.0 pin (error components override order by unplugin-vue-components #505) with a comment.

⚠️ BREAKING CHANGE — minimum Node is now >=22.12.0

unplugin-vue-markdown@32 — the only version that declares Vite 8 peer support — requires Node >=22, and Vite 8 itself requires ^20.19 || >=22.12. The intersection is >=22.12.0, so Node 18/20 are dropped in v1.0. CI already runs lts/* (Node 22+). (Per maintainer decision over keeping markdown on v30 with a residual warning.)

#505 safety

unplugin-vue-markdown (v30 and v32) has no dependency on unplugin-vue-components — it still resolves to exactly 28.0.0 with markdown@32 installed. So this bump is unrelated to the #505 override-order bug, which remains fixed by the separate unplugin-vue-components@28.0.0 pin.

The vite-ssg / beasties warning from the original report no longer applies — the legacy vite-ssg engine was removed in v1.0 (#706).

Test hardening (commit 2 — test(e2e))

The PR's first CI run surfaced a flaky Playwright failure: e2e/docs/search.spec.ts gated page.goto on waitUntil: 'networkidle', which never settles against the Vite dev server (HMR, UnoCSS dev updates, the git-log addon's GitHub API calls, async DocSearch chunks keep the network busy) → navigation timed out under CI load.

  • Switched to waitUntil: 'domcontentloaded' + the existing waitForHydration helper (waits for Vue's data-v-app — a deterministic "app is interactive" signal that doesn't depend on the network going quiet), and expanded the helper docs.
  • e2e/theme-yun/index.spec.ts intentionally keeps networkidle: its mount on the served demo build is network-gated (external analytics/resources never resolve in the sandbox), so data-v-app is not a reliable signal there and networkidle is the appropriate wait. Verified that the alternatives break that test.

Verification

  • pnpm i — no vite / unocss / unplugin-vue-markdown peer warnings
  • pnpm run build ✅ (incl. devtools build:client) · docs:build ✅ · build:demo
  • pnpm typecheck ✅ · pnpm test 295/295 ✅ · pnpm lint
  • Playwright E2E ✅ (docs search hardened; ran the changed spec repeatedly with no flakes)
  • All 14 CI checks green.

Closes #709

🤖 Generated with Claude Code

@vercel

vercel Bot commented Jun 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
valaxy-docs-dev Ready Ready Preview, Comment Jun 13, 2026 7:41am

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 13, 2026

Copy link
Copy Markdown

Deploying valaxy with  Cloudflare Pages  Cloudflare Pages

Latest commit: bcf8631
Status: ✅  Deploy successful!
Preview URL: https://ac2a278f.valaxy.pages.dev
Branch Preview URL: https://fix-709.valaxy.pages.dev

View logs

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 13, 2026

Copy link
Copy Markdown

Deploying valaxy-api with  Cloudflare Pages  Cloudflare Pages

Latest commit: bcf8631
Status: ✅  Deploy successful!
Preview URL: https://e02fe33f.valaxy-api.pages.dev
Branch Preview URL: https://fix-709.valaxy-api.pages.dev

View logs

@YunYouJun YunYouJun changed the title chore(deps): bump unocss & unplugin-vue-markdown for Vite 8 peer support chore(deps): bump unocss to 66.7.2 for Vite 8 peer support Jun 13, 2026
@YunYouJun YunYouJun changed the title chore(deps): bump unocss to 66.7.2 for Vite 8 peer support chore(deps): bump unocss & unplugin-vue-markdown for Vite 8 peer support Jun 13, 2026
@YunYouJun
YunYouJun requested a review from Copilot June 13, 2026 06:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the monorepo’s pnpm catalog/overrides and lockfile to eliminate unmet Vite 8 peer dependency warnings by bumping UnoCSS and unplugin-vue-markdown, and it documents an existing pin for unplugin-vue-components related to override-order behavior.

Changes:

  • Bump unocss from 66.5.10 to 66.7.2 (catalog + overrides).
  • Bump unplugin-vue-markdown from ^30.0.0 to ^32.0.0 (catalog).
  • Add a comment documenting the unplugin-vue-components@28.0.0 pin and rationale (#505).

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.

File Description
pnpm-workspace.yaml Updates catalog/overrides for UnoCSS + markdown plugin; documents the vue-components pin.
pnpm-lock.yaml Refreshes the lockfile to reflect the bumped dependency graph and resolved versions.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pnpm-workspace.yaml
Comment thread pnpm-lock.yaml
@github-actions

github-actions Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

@github-actions
github-actions Bot temporarily deployed to pull request June 13, 2026 06:31 Inactive
… Node >=22.12 (close #709)

Under Vite 8, pnpm reported unmet peer dependency warnings:

- unocss / @unocss/vite 66.5.10 declared a vite peer up to ^7.0.0-0 only
- unplugin-vue-markdown ^30.0.0 declared a vite peer up to ^7.0.0 only

Bump both to versions that declare Vite 8 support:

- unocss 66.5.10 -> 66.7.2 (catalog + overrides; @unocss/vite@66.7.2 peer
  is ^5 || ^6 || ^7 || ^8)
- unplugin-vue-markdown ^30.0.0 -> ^32.0.0 (vite peer includes ^8.0.0-0)

BREAKING CHANGE: minimum Node version is now >=22.12.0 (was ^18 || >=20).
unplugin-vue-markdown@32 — the only release that declares Vite 8 peer
support — requires Node >=22, and Vite 8 itself requires ^20.19 || >=22.12.
The intersection is >=22.12.0. engines.node is updated across the root,
valaxy, and create-valaxy manifests, and the docs (getting-started, deploy
Dockerfile) and CLAUDE.md are updated to match. CI already runs lts/*.

Also declare @unocss/reset explicitly in @valaxyjs/devtools: its client
entry imports `@unocss/reset/tailwind.css`, which previously resolved only
via a hoisted transitive of unocss 66.5.10. unocss 66.7.2 no longer pulls
@unocss/reset into the tree, so a fresh install broke `vite build src/client`.

unplugin-vue-markdown has no dependency on unplugin-vue-components, so this
bump is unrelated to the #505 override-order bug (still fixed by the
separate unplugin-vue-components@28.0.0 pin, now documented in a comment).

The vite-ssg / beasties warning in the report no longer applies: the legacy
vite-ssg engine was removed in v1.0 (#706).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@YunYouJun YunYouJun changed the title chore(deps): bump unocss & unplugin-vue-markdown for Vite 8 peer support chore(deps)!: bump unocss & unplugin-vue-markdown for Vite 8; require Node >=22.12 Jun 13, 2026
@github-actions
github-actions Bot temporarily deployed to pull request June 13, 2026 07:04 Inactive
…on gate

`docs/search.spec.ts` gated `page.goto` on `networkidle`, which never
settles against the Vite dev server (HMR, UnoCSS dev updates, the git-log
addon's GitHub API calls and async DocSearch chunks keep the network busy),
so the navigation timed out under CI load — the failure observed on this PR.

Switch to `waitUntil: 'domcontentloaded'` + the existing `waitForHydration`
helper, which waits for Vue's `data-v-app` attribute — a deterministic
"app is interactive" signal that does not depend on the network ever going
quiet. Expand the helper docs to explain why networkidle is avoided.

theme-yun/index.spec.ts intentionally keeps `networkidle`: its mount on the
served demo build is network-gated (external analytics/resources), so
`data-v-app` is not a reliable signal there and networkidle is the
appropriate wait.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 13 changed files in this pull request and generated 5 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

Comment thread packages/devtools/package.json
Comment thread docs/pages/guide/getting-started.md Outdated
Comment thread docs/pages/zh/guide/getting-started.md Outdated
Comment thread docs/pages/guide/deploy.md Outdated
Comment thread docs/pages/zh/guide/deploy.md Outdated
…cs accuracy

- devtools: declare every dep its client build imports (vite.config.ts:
  @vitejs/plugin-vue, unocss, unplugin-vue-components, vite-plugin-vue-devtools,
  vue-router; main.ts: vue, pinia) instead of relying on workspace hoisting, so
  `pnpm -C packages/devtools build:client` is self-contained and won't break
  under stricter installs (same class as the @unocss/reset fix).
- docs(getting-started, EN/ZH): reword the Node note — Vite 8 still supports
  Node 20.19+; Valaxy's >=22.12.0 floor comes from unplugin-vue-markdown@32
  (>=22) combined with Vite's ^20.19 || >=22.12 on the Node 22 line.
- docs(deploy, EN/ZH): pin the Dockerfile base image to `node:22.12-alpine`
  so the example matches the documented minimum.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions
github-actions Bot temporarily deployed to pull request June 13, 2026 07:41 Inactive

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 13 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

@YunYouJun
YunYouJun merged commit 72945e7 into main Jun 13, 2026
15 checks passed
@YunYouJun
YunYouJun deleted the fix/709 branch June 13, 2026 07:55
@github-actions

Copy link
Copy Markdown
Contributor

Yun Good!

YunYouJun added a commit that referenced this pull request Jun 13, 2026
The 1.0 migration guide predated the Node bump (#710), so the most
impactful breaking change — dropping Node 18/20 in favour of >=22.12.0 —
was undocumented. Add a Node.js section (en + zh) explaining the floor
comes from unplugin-vue-markdown@32 (>=22) combined with Vite 8
(^20.19 || >=22.12).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

chore:部分依赖需要更新以支持Vite 8

2 participants