Skip to content

build: migrate toolchain to Vite+ (vp) - #658

Merged
mattrothenberg merged 2 commits into
cloudflare:mainfrom
TheAlexLichter:build/use-vite-plus
Jul 23, 2026
Merged

build: migrate toolchain to Vite+ (vp)#658
mattrothenberg merged 2 commits into
cloudflare:mainfrom
TheAlexLichter:build/use-vite-plus

Conversation

@TheAlexLichter

@TheAlexLichter TheAlexLichter commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

This is the first of a few PRs to move the repo over to Vite+.

What that means:

  • vp test/vp lint/vp fmt replacing vitest/oxlint/prettier
  • THe pnpm catalog aliases vite/vitest to the Vite+ packages
  • The three .oxlintrc.json files are merged into lint blocks in vite.config.ts
    • Custom rules now import defineRule from @oxlint/plugins
    • Native jsx-a11y rules are used instead of the JS plugin
  • Lefthook is replaced with vp's git hook management
  • Rewrites 91 vitest imports to vite-plus/test
  • Add temporary Prettier-parity fmt.ignorePatterns with upstream-issue links for ~10 files.
  • Make use-sync-external-store a real dependency (more accurate than bundling it)
  • Kumo is now built with Vite 8/Rolldown (this is the biggest "danger" for the user ⚠️)
    • I did test the build but would appreciate a double check

  • Reviews
    • bonk has reviewed the change
    • automated review not possible because:
  • Tests
    • Tests included/updated
    • Automated tests not possible - manual testing has been completed as follows: Running commands, checking outputs and testing built kumo
    • Additional testing not necessary because: Matt did a thorough manual review.

@@ -0,0 +1 @@
/// <reference types="astro/client" />

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Necessary so vp check understands the types used (usually auto generated but that is "too late")

"baseUrl": ".",
"paths": {
"~/*": ["src/*"]
"~/*": ["./src/*"]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Needed for TS7

"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"types": ["@figma/plugin-typings", "node"],
"baseUrl": ".",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Also needed for TS7 compat.

@TheAlexLichter
TheAlexLichter force-pushed the build/use-vite-plus branch 2 times, most recently from da2bb19 to 7728834 Compare July 23, 2026 15:50
Comment thread .node-version
@@ -0,0 +1 @@
24.12.0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added in addition to .nvmrc so previous tooling still works. This might cause drift in the future though.

Comment thread pnpm-workspace.yaml
allowedVersions:
vite: "*"
vitest: "*"
minimumReleaseAgeExclude:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We can remove these exceptions too.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added as "smoke test" to avoid interop issues

@pkg-pr-new

pkg-pr-new Bot commented Jul 23, 2026

Copy link
Copy Markdown
npm i https://pkg.pr.new/@cloudflare/kumo@658

commit: 8733310

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Docs Preview

View docs preview

Commit: 8733310

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor
Visual Regression Report — 25 changed, 18 unchanged

25 screenshot(s) with visual changes:

Button / Loading State

33 px (0.04%) changed

Before After Diff
Before After Diff

Dialog / Dialog With Actions

298 px (0.34%) changed

Before After Diff
Before After Diff

Dialog / Dialog Basic

316 px (0.36%) changed

Before After Diff
Before After Diff

Dialog / Dialog Sizes

2,945 px (3.33%) changed

Before After Diff
Before After Diff

Dialog / Dialog Alert

433 px (0.49%) changed

Before After Diff
Before After Diff

Dialog / Dialog Confirmation

440 px (0.5%) changed

Before After Diff
Before After Diff

Dialog / Custom Max Width

951 px (1.07%) changed

Before After Diff
Before After Diff

Dialog / Dialog With Dropdown

253 px (0.29%) changed

Before After Diff
Before After Diff

Dialog (Open)

0 px (0%) changed

Before After Diff
Before After Diff

Select / Select Basic

91 px (0.1%) changed

Before After Diff
Before After Diff

Select / Select Sizes

3,098 px (1.91%) changed

Before After Diff
Before After Diff

Select / Select Without Label

716 px (0.81%) changed

Before After Diff
Before After Diff

Select / Select With Description

1,688 px (1.62%) changed

Before After Diff
Before After Diff

Select / Select With Error

0 px (0%) changed

Before After Diff
Before After Diff

Select / Select Placeholder

1,234 px (1.39%) changed

Before After Diff
Before After Diff

Select / Select With Tooltip

933 px (1.05%) changed

Before After Diff
Before After Diff

Select / Select Custom Rendering

1,137 px (1.28%) changed

Before After Diff
Before After Diff

Select / Select Loading

3,161 px (1.79%) changed

Before After Diff
Before After Diff

Select / Select Multiple

1,265 px (1.43%) changed

Before After Diff
Before After Diff

Select / Select Complex

1,655 px (1.59%) changed

Before After Diff
Before After Diff

Select / Select Disabled Items

793 px (0.9%) changed

Before After Diff
Before After Diff

Select / Select Grouped

708 px (0.8%) changed

Before After Diff
Before After Diff

Select / Select Grouped With Disabled

190 px (0.21%) changed

Before After Diff
Before After Diff

Select / Select Long List

2,209 px (2.12%) changed

Before After Diff
Before After Diff

Select (Open)

1,082 px (0%) changed

Before After Diff
Before After Diff
18 screenshot(s) unchanged
  • Button / Basic
  • Button / Variant: Primary
  • Button / Variant: Secondary
  • Button / Variant: Ghost
  • Button / Variant: Destructive
  • Button / Variant: Outline
  • Button / Variant: Secondary Destructive
  • Button / Sizes
  • Button / With Icon
  • Button / Icon Only
  • Button / Disabled State
  • Button / Title
  • Button / Link as Button
  • Button / Link with Tooltip
  • Button / Disabled Link
  • Dialog / Dialog With Select
  • Dialog / Dialog With Combobox
  • Select / Select Disabled Options

Generated by Kumo Visual Regression

@mattrothenberg
mattrothenberg merged commit 8de0551 into cloudflare:main Jul 23, 2026
17 of 20 checks passed
@TheAlexLichter
TheAlexLichter deleted the build/use-vite-plus branch July 23, 2026 19:15
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.

2 participants