Skip to content

feat(deps): upgrade upstream dependencies - #2373

Merged
fengmk2 merged 6 commits into
mainfrom
deps/upstream-update
Aug 7, 2026
Merged

feat(deps): upgrade upstream dependencies#2373
fengmk2 merged 6 commits into
mainfrom
deps/upstream-update

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Automated upgrade of upstream dependencies.
  • Bumps the bundled toolchain: rolldown to v1.2.3 and vite to v8.2.1.
  • Bumps the oxc toolchain: oxlint 1.77.0, oxfmt 0.62.0, and the oxc npm/Rust crates 0.142.0 -> 0.143.0.
  • Required code adjustments: oxc 0.143 arrow-body extraction in vp_static_config, oxlint 1.77 help-wording sync, rolldown pluginutils export types, and a test env fix.

Dependency updates

Package From To
rolldown 872b98a v1.2.3 (52dbd19)
vite fa79f9a v8.2.1 (4216158)
oxfmt 0.61.0 0.62.0
oxlint 1.76.0 1.77.0
@oxc-project/runtime 0.142.0 0.143.0
@oxc-project/types 0.142.0 0.143.0
oxc-minify 0.142.0 0.143.0
oxc-parser 0.142.0 0.143.0
oxc-transform 0.142.0 0.143.0
oxc (Rust crates) 0.142.0 0.143.0
@vitejs/devtools 0.4.10 0.4.12
Unchanged dependencies
  • vitest: 4.1.10
  • @vitest/browser: 4.1.10
  • @vitest/browser-playwright: 4.1.10
  • @vitest/browser-preview: 4.1.10
  • @vitest/browser-webdriverio: 4.1.10
  • @vitest/expect: 4.1.10
  • @vitest/mocker: 4.1.10
  • @vitest/pretty-format: 4.1.10
  • @vitest/runner: 4.1.10
  • @vitest/snapshot: 4.1.10
  • @vitest/spy: 4.1.10
  • @vitest/utils: 4.1.10
  • tsdown: 0.22.14
  • @tsdown/css: 0.22.14
  • @tsdown/exe: 0.22.14
  • lightningcss: ^1.33.0
  • @oxc-node/cli: 0.1.0
  • @oxc-node/core: 0.1.0
  • oxlint-tsgolint: 7.0.2001
  • VITEST_VERSION constant: 4.1.10
  • README vitest pins: 4.1.10

Code changes

  • crates/vp_static_config/src/lib.rs: adapt defineConfig arrow-body extraction to oxc 0.143, which represents an arrow body as an ArrowFunctionBody enum (block body vs. concise expression body) instead of a FunctionBody.
  • packages/cli/src/help.ts: sync the oxlint 1.77 -W, --warn help text ("Deny the rule or category (emit a warning)" -> "Warn on the rule or category (emit a warning)").
  • crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/{bin_oxlint_wrapper,command_helper,command_lint_help,test_panicked_fix}/snapshots/*.md: update PTY snapshots for the oxlint help-wording change.
  • packages/core/package.json: add types entries to the ./rolldown/pluginutils and ./rolldown/pluginutils/filter exports and bump bundledVersions (vite 8.2.1, rolldown 1.2.3).
  • packages/core/__tests__/binding-resolution-layout.spec.ts: delete the ambient NODE_PATH from the child process env so the virtual-store layout test stays hermetic under pnpm test.
  • Cargo.toml: remove proc-macro2, quote, and syn from the cargo-shear ignored list.
  • pnpm-workspace.yaml: add a @volar/typescript packageExtension and bump the oxc catalog entries.
  • packages/cli/rules/vite-tools.yml: formatter whitespace cleanup (drop duplicate blank lines).

Build status

  • sync-remote-and-build: success
  • build-upstream: failure

@voidzero-guard

voidzero-guard Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Upstream CLI help changes detected

Compared normalized --help output for the upstream CLIs mirrored by Vite+.

✅ Vite: no CLI help changes (8.2.0 → 8.2.1)

The version was updated, but the normalized CLI help output has no differences.

➖ Vitest: no version update (4.1.10)

No version update was detected, so there is no CLI help diff.

⚠️ Oxlint: CLI help changed (1.76.0 → 1.77.0)
--- oxlint@1.76.0
+++ oxlint@1.77.0
@@ -28,7 +28,7 @@ Allowing / Denying Multiple Lints
    * `all`         - All categories listed above except `nursery`. Does not enable plugins
   automatically.
     -A, --allow=NAME          Allow the rule or category (suppress the lint)
-    -W, --warn=NAME           Deny the rule or category (emit a warning)
+    -W, --warn=NAME           Warn on the rule or category (emit a warning)
     -D, --deny=NAME           Deny the rule or category (emit an error)
 
 Enable/Disable Plugins
✅ Oxfmt: no CLI help changes (0.61.0 → 0.62.0)

The version was updated, but the normalized CLI help output has no differences.

➖ tsdown: no version update (0.22.14)

No version update was detected, so there is no CLI help diff.

@netlify

netlify Bot commented Aug 7, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 3c08c37
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a75eace5c884600088fc065

@socket-security

socket-security Bot commented Aug 7, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Native binary sizes (3c08c37)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.

Artifact Format Base PR Change
vp (Linux x64) Binary 10.51 MiB 10.51 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.55 MiB 4.55 MiB 0 B (0.00%)
NAPI (Linux x64) Binary 33.66 MiB 33.68 MiB +16.06 KiB (+0.05%)
NAPI (Linux x64) gzip -9 13.07 MiB 13.08 MiB +9.57 KiB (+0.07%)
vp (macOS ARM64) Binary 7.86 MiB 7.86 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 3.97 MiB 3.97 MiB 0 B (0.00%)
NAPI (macOS ARM64) Binary 40.98 MiB 41.00 MiB +16.20 KiB (+0.04%)
NAPI (macOS ARM64) gzip -9 17.31 MiB 17.31 MiB +2.04 KiB (+0.01%)
vp (Windows x64) Binary 8.40 MiB 8.40 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 3.66 MiB 3.66 MiB -1 B (-0.00%)
NAPI (Windows x64) Binary 27.75 MiB 27.77 MiB +16.50 KiB (+0.06%)
NAPI (Windows x64) gzip -9 10.89 MiB 10.89 MiB +3.93 KiB (+0.04%)
Trampoline (Windows x64) Binary 205.00 KiB 205.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 99.00 KiB 99.00 KiB +1 B (+0.00%)
Installer (Windows x64) Binary 4.45 MiB 4.45 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.09 MiB 2.09 MiB +1 B (+0.00%)

@fengmk2 fengmk2 self-assigned this Aug 7, 2026
@fengmk2
fengmk2 force-pushed the deps/upstream-update branch from e4f5e2e to 2b05fa7 Compare August 7, 2026 12:53
@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Registry bridge build (2b05fa7)

This commit build is published to the registry bridge, which serves these as ordinary npm versions (every other package proxies to npmjs):

Package Version
vite-plus 0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d
@voidzero-dev/vite-plus-core 0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d

Install the Vite+ CLI built from this commit, then migrate a project:

# macOS / Linux
curl -fsSL https://vite.plus | VP_PR_VERSION=2373 bash
# Windows (PowerShell)
$env:VP_PR_VERSION="2373"; irm https://vite.plus/ps1 | iex

After installing, upgrade the current project's vite-plus to this test build with:

vp migrate

Or point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:

Package manager Registry config
npm / pnpm / Bun .npmrc: registry=https://registry-bridge.viteplus.dev/
Yarn (v2+) .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/"

Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):

{
  "devDependencies": {
    "vite-plus": "0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d"
  }
}

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🐳 Docker preview image

Built from this PR's registry bridge build:

Image Compressed size
ghcr.io/voidzero-dev/vite-plus:pr-2373 236MB
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2373 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2373

Quick check:

docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2373 vp --version

See docs/guide/docker.md for usage.

voidzero-guard Bot and others added 3 commits August 7, 2026 21:25
- rolldown: 872b98a -> v1.2.3 (52dbd19)
- vite: fa79f9a -> v8.2.1 (4216158)
- oxfmt: 0.61.0 -> 0.62.0
- oxlint: 1.76.0 -> 1.77.0
- @oxc-project/runtime: 0.142.0 -> 0.143.0
- @oxc-project/types: 0.142.0 -> 0.143.0
- oxc-minify: 0.142.0 -> 0.143.0
- oxc-parser: 0.142.0 -> 0.143.0
- oxc-transform: 0.142.0 -> 0.143.0
- oxc (Rust crates): 0.142.0 -> 0.143.0
- @vitejs/devtools: 0.4.10 -> 0.4.12

Code changes:
- crates/vp_static_config/src/lib.rs: adapt arrow-body extraction to
  oxc 0.143's `ArrowFunctionBody` enum (block vs. concise expression body).
- packages/cli/src/help.ts: sync oxlint 1.77 `-W, --warn` help wording
  ("Deny the rule..." -> "Warn on the rule...").
- crates/vp_cli_snapshots/.../{bin_oxlint_wrapper,command_helper,command_lint_help,test_panicked_fix}.md:
  update snapshots for the oxlint help wording change.
- packages/core/package.json: add `types` to `./rolldown/pluginutils`
  and `./rolldown/pluginutils/filter` exports; bump bundledVersions.
- packages/core/__tests__/binding-resolution-layout.spec.ts: drop ambient
  NODE_PATH from the child env to keep the virtual-store layout hermetic.
- Cargo.toml: drop proc-macro2/quote/syn from cargo-shear ignored list.
- pnpm-workspace.yaml: add `@volar/typescript` packageExtension.
- packages/cli/rules/vite-tools.yml: formatter whitespace cleanup.
oxfmt 0.62.0 collapsed the duplicate blank lines in
packages/cli/rules/vite-tools.yml. getScriptRulesYaml split that file on
'\n\n\n' to drop the replace-lint-staged rule, so the split returned a
single block, the filter removed it, and the function returned an empty
string. ast-grep then failed with "Fail to parse yaml as RuleConfig:
missing field `id`", which broke vp migrate, vp create, 46 PTY snapshot
cases, and every ecosystem E2E job.

Split on the `---` document separator lines instead, keeping the comment
lines above a separator with the rule below it. The result no longer
depends on blank lines, so a formatter cannot break it again.
Move the vinext ecosystem-ci pin from aec4421b (2026-08-03) to 884259a8,
the tip of cloudflare/vinext main. All three Vitest unit shards, the ten
integration shards, and every E2E job are green on that commit. Its red
checks are the Deploy suite and bonk, which run the upstream Next.js
conformance tests against real deploys and not the unit shard this job
runs.

The patch anchors still hold: minimumReleaseAge in pnpm-workspace.yaml,
testTimeout: 30000 in vite.config.ts, the unit and integration projects,
the build and check scripts, and the better-sqlite3 fixture dependency.
@fengmk2
fengmk2 force-pushed the deps/upstream-update branch from 2b05fa7 to b0f7e0b Compare August 7, 2026 13:26
fengmk2 added 2 commits August 7, 2026 22:01
oxlint 1.77 applies .gitignore to explicitly passed paths as well
(oxc-project/oxc#25133). vinext's prefer-shared-utils rule test symlinks a
temp fixture directory into the repo and lints those files by path, and its
.gitignore covers the link name, so oxlint reports "No files found to lint"
and two tests fail.

Strip the ignore entry during the ecosystem run so the rule test keeps
linting its fixtures.
Add a case for `defineConfig(() => someFunction())`, a concise arrow body
that is not an object literal. oxc 0.143 represents it as an expression
rather than a function body, so it takes its own extraction path, and
nothing covered that branch.

Also give three existing arrow tests the `defineConfig` import they were
missing. Without it `extract_config_from_expr` bails at the trusted-binding
check and never reaches the arrow handling, so those tests asserted
NonStatic without exercising the code they name.
@fengmk2

fengmk2 commented Aug 7, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: 3c08c37289

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@fengmk2
fengmk2 merged commit e088f54 into main Aug 7, 2026
103 checks passed
@fengmk2
fengmk2 deleted the deps/upstream-update branch August 7, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-build Publish this PR's commits to the registry bridge as preview builds

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant