Skip to content

feat(deps): upgrade upstream dependencies - #2606

Open
voidzero-guard[bot] wants to merge 1 commit into
mainfrom
deps/upstream-update
Open

feat(deps): upgrade upstream dependencies#2606
voidzero-guard[bot] wants to merge 1 commit into
mainfrom
deps/upstream-update

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor
  • Automated upgrade of upstream dependencies. The headline bump is vitest 4.1.11 -> 5.0.0, which required export-shim, config, help, and snapshot changes across packages/cli and crates/vp_cli_snapshots.
  • @vitest/runner was folded into vitest in v5 and is no longer published, so it is removed from the catalog, packages/cli dependencies, and the generated plugin shims. @vitest/browser-webdriverio has no 5.0.0 on npm yet, so it is pinned to the newest published 5.x (5.0.0-rc.1); .github/scripts/upgrade-deps.ts now resolves lagging siblings this way instead of pinning an unpublished version.
  • tsdown 0.22.14 -> 0.23.0 changed its logger from ansis to a node:util styleText proxy and removed the --public-dir CLI flag, so packages/core/build.ts branding patches and packages/cli help/pack-bin handling were updated.
  • vitest 5 browser mode pre-bundled vite-plus/test into a second runtime copy; a new vite-plus:exclude-test-runtime-from-prebundling plugin in packages/cli/src/define-config.ts excludes it from optimizeDeps.
  • Both build steps (sync-remote-and-build and build-upstream) failed on this run — see Build status.

Dependency updates

Package From To
rolldown v1.2.6 (5375362) v1.2.7 (26b4c6e)
vitest 4.1.11 5.0.0
@vitest/browser 4.1.11 5.0.0
@vitest/browser-playwright 4.1.11 5.0.0
@vitest/browser-preview 4.1.11 5.0.0
@vitest/browser-webdriverio 4.1.11 5.0.0-rc.1
@vitest/expect 4.1.11 5.0.0
@vitest/mocker 4.1.11 5.0.0
@vitest/pretty-format 4.1.11 5.0.0
@vitest/snapshot 4.1.11 5.0.0
@vitest/spy 4.1.11 5.0.0
@vitest/utils 4.1.11 5.0.0
@vitest/runner 4.1.11 removed (no 5.x published; v5.0.0)
tsdown 0.22.14 0.23.0
@tsdown/css 0.22.14 0.23.0
@tsdown/exe 0.22.14 0.23.0
oxfmt 0.65.0 0.66.0
oxlint 1.80.0 1.81.0
@oxc-project/runtime 0.147.0 0.148.0
@oxc-project/types 0.147.0 0.148.0
oxc-minify 0.147.0 0.148.0
oxc-parser 0.147.0 0.148.0
oxc-transform 0.147.0 0.148.0
oxc Rust crates (oxc, oxc_allocator, oxc_ast, …) 0.147.0 0.148.0
tsdown-migrate 0.23.0-rc.0 0.23.0
VITEST_VERSION constant 4.1.11 5.0.0
README/docs vitest pins 4.1.11 5.0.0

Carried in by the rolldown workspace re-merge (pnpm-workspace.yaml, packages/core/package.json): yuku-codegen/yuku-parser ^0.5.44 -> ^0.9.3, unplugin-unused ^0.5.0 -> >=0.5.0, remeda ^2.42.0 -> ^2.45.0, rollup ^4.60.4 -> ^4.63.0.

Unchanged dependencies
  • vite: v8.2.2 (de1111a)
  • lightningcss: ^1.33.0
  • @oxc-node/cli: 0.1.0
  • @oxc-node/core: 0.1.0
  • oxlint-tsgolint: 7.0.2001

Code changes

  • .github/scripts/upgrade-deps.ts: add fetchNpmVersions / resolveVitestSiblingVersion so a @vitest/* sibling that lags a vitest major is pinned to its newest published same-major release rather than an unpublished exact version; remove @vitest/runner from vitestExactVersionPackages.
  • packages/tools/src/sync-remote-deps.ts: add vitest and the @vitest/ prefix to the highest-version-wins set so the rolldown workspace re-merge resolves the cross-major vitest conflict instead of refusing it.
  • packages/cli/package.json and packages/cli/build.ts: regenerated vitest export shims — dropped ./test/runners, ./test/suite, ./test/environments, ./test/coverage, ./test/reporters, ./test/snapshot, ./test/plugins/runner, ./test/plugins/runner-utils, ./test/plugins/runner-types; added ./test/internal/traces; removed the @vitest/runner dependency and its PLUGIN_SHIM_ENTRIES.
  • packages/cli/src/define-config.ts: new exported OPTIMIZE_DEPS_EXCLUDE and vite-plus:exclude-test-runtime-from-prebundling plugin that appends vite-plus/test to optimizeDeps.exclude, keeping the browser-mode test runtime a singleton.
  • packages/cli/src/__tests__/define-config-plugins.spec.ts and packages/cli/src/__tests__/index.spec.ts: cover the new plugin and update the injected-plugin ordering assertions (three -> four plugins).
  • packages/cli/src/help.ts: sync static vp test help with vitest 5 — add the doctor subcommand, --injectCjsGlobals, --repeats, --fsModuleCache, --fsModuleCachePath, --sharedViteServer, the -p alias for --project, and reworded --api/--mode/--attachmentsDir/--clearCache text; drop tsdown's removed --public-dir from vp pack help.
  • packages/cli/binding/src/cli/help.rs: recognize doctor in is_vitest_test_subcommand.
  • packages/cli/src/pack-bin.ts: keep --public-dir registered as a documented no-op so existing invocations fail soft, and annotate runBuild with tsdown 0.23's TsdownHandle return type (now returned from buildWithConfigs).
  • packages/core/build.ts: retarget the tsdown logger branding patches at tsdown 0.23's node:util styleText$1 proxy and delete the now-unnecessary ensureAnsisImports helper.
  • crates/vp_cli_snapshots/tests/cli_snapshots/redact.rs: add VITEST_BROWSER_API_URL_RE to mask the browser-mode API port and VITEST_DURATION_SHARES_RE to normalize vitest 5's per-phase duration shares (masked and sorted by phase name).
  • crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/vitest_browser_mode/vitest.config.ts: switch from a bare object literal to defineConfig so the fixture receives the Vite+ plugins.
  • Snapshot updates under crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/: command_helper, command_pack, command_tool_help, command_tool_deep_help_delegation, global_cli_fallback, test_inline_snapshot_indent, test_managed_package_manager_path, test_vi_mock_hoist, vite_plugins_async_test, vitest_browser_mode.
  • packages/cli/src/utils/constants.ts: VITEST_VERSION -> 5.0.0, TSDOWN_MIGRATE_VERSION -> 0.23.0.
  • README.md, packages/cli/README.md, docs/guide/migrate.md: vitest override pins -> 5.0.0. packages/cli/BUNDLING.md: refreshed the shim example table (vitest/runtime replaces vitest/reporters).
  • packages/cli/binding/index.cjs and packages/cli/binding/index.d.cts: regenerated NAPI bindings (PreRenderedChunk.facadeModuleId is now string | null).

Build status

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

- rolldown: v1.2.6 (5375362) -> v1.2.7 (26b4c6e)
- vitest: 4.1.11 -> 5.0.0
- @vitest/browser: 4.1.11 -> 5.0.0
- @vitest/browser-playwright: 4.1.11 -> 5.0.0
- @vitest/browser-preview: 4.1.11 -> 5.0.0
- @vitest/browser-webdriverio: 4.1.11 -> 5.0.0-rc.1 (no 5.0.0 published yet)
- @vitest/expect: 4.1.11 -> 5.0.0
- @vitest/mocker: 4.1.11 -> 5.0.0
- @vitest/pretty-format: 4.1.11 -> 5.0.0
- @vitest/snapshot: 4.1.11 -> 5.0.0
- @vitest/spy: 4.1.11 -> 5.0.0
- @vitest/utils: 4.1.11 -> 5.0.0
- @vitest/runner: 4.1.11 -> removed (folded into vitest 5, no longer published)
- tsdown: 0.22.14 -> 0.23.0
- @tsdown/css: 0.22.14 -> 0.23.0
- @tsdown/exe: 0.22.14 -> 0.23.0
- oxfmt: 0.65.0 -> 0.66.0
- oxlint: 1.80.0 -> 1.81.0
- @oxc-project/runtime: 0.147.0 -> 0.148.0
- @oxc-project/types: 0.147.0 -> 0.148.0
- oxc-minify: 0.147.0 -> 0.148.0
- oxc-parser: 0.147.0 -> 0.148.0
- oxc-transform: 0.147.0 -> 0.148.0
- oxc Rust crates (oxc, oxc_allocator, oxc_ast, ...): 0.147.0 -> 0.148.0
- tsdown-migrate: 0.23.0-rc.0 -> 0.23.0
- VITEST_VERSION constant: 4.1.11 -> 5.0.0
- README/docs vitest pins: 4.1.11 -> 5.0.0

Code changes:
- .github/scripts/upgrade-deps.ts: resolve a lagging @vitest/* sibling to the
  newest published release on vitest's major instead of pinning an unpublished
  exact version; drop @vitest/runner from the tracked catalog list.
- packages/tools/src/sync-remote-deps.ts: treat vitest and @vitest/* as
  highest-version-wins so the rolldown workspace re-merge does not refuse the
  cross-major vitest conflict.
- packages/cli/package.json, packages/cli/build.ts: regenerate the vitest export
  shims (drop ./test/runners, ./test/suite, ./test/environments, ./test/coverage,
  ./test/reporters, ./test/snapshot and ./test/plugins/runner*; add
  ./test/internal/traces) and remove the @vitest/runner dependency.
- packages/cli/src/define-config.ts: add the
  vite-plus:exclude-test-runtime-from-prebundling plugin so vitest 5 browser mode
  does not pre-bundle a second copy of the vite-plus/test runtime; covered by
  packages/cli/src/__tests__/define-config-plugins.spec.ts and
  packages/cli/src/__tests__/index.spec.ts.
- packages/cli/src/help.ts, packages/cli/binding/src/cli/help.rs: sync static
  vitest help (doctor subcommand, --injectCjsGlobals, --repeats, --fsModuleCache,
  --fsModuleCachePath, --sharedViteServer, -p alias, reworded defaults) and drop
  tsdown's removed --public-dir.
- packages/cli/src/pack-bin.ts: keep --public-dir registered as a no-op after
  tsdown removed it, and annotate runBuild with tsdown 0.23's TsdownHandle.
- packages/core/build.ts: retarget the tsdown logger branding at tsdown 0.23's
  node:util styleText proxy and delete the obsolete ensureAnsisImports helper.
- packages/core/package.json, pnpm-workspace.yaml: catalog and dependency bumps
  carried in by the rolldown re-merge (yuku-codegen/yuku-parser ^0.5.44 ->
  ^0.9.3, unplugin-unused ^0.5.0 -> >=0.5.0, remeda ^2.42.0 -> ^2.45.0,
  rollup ^4.60.4 -> ^4.63.0) plus bundledVersions.
- crates/vp_cli_snapshots/tests/cli_snapshots/redact.rs: mask vitest 5's browser
  API port and normalize the new duration phase-share breakdown.
- crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/vitest_browser_mode/vitest.config.ts:
  use defineConfig so the fixture gets the Vite+ plugins.
- crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/**/snapshots/*.md: accept
  the help and test-output changes.
- packages/cli/src/utils/constants.ts, README.md, packages/cli/README.md,
  docs/guide/migrate.md, packages/cli/BUNDLING.md: version pins and docs.
- packages/cli/binding/index.cjs, packages/cli/binding/index.d.cts: regenerated
  NAPI bindings.
@voidzero-guard

voidzero-guard Bot commented Sep 4, 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 version update (8.2.2)

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

⚠️ Vitest: CLI help changed (4.1.11 → 5.0.0)
--- vitest@4.1.11
+++ vitest@5.0.0
@@ -11,6 +11,7 @@ Commands:
   dev [...filters]
   bench [...filters]
   init <project>
+  doctor [...filters]
   list [...filters]
   [...filters]
   complete [shell]
@@ -22,6 +23,7 @@ For more info, run any command with the `--help` flag:
   $ vitest dev --help
   $ vitest bench --help
   $ vitest init --help
+  $ vitest doctor --help
   $ vitest list --help
   $ vitest --help
   $ vitest complete --help
@@ -37,15 +39,16 @@ Options:
   --dir <path>                                               Base directory to scan for the test files
   --ui                                                       Enable UI
   --open                                                     Open UI automatically (default: !process.env.CI)
-  --api [port]                                               Specify server port. Note if the port is already being used, Vite will automatically try the next available port so this may not be the actual port the server ends up listening on. If true will be set to 51204. Use '--help --api' for more info.
+  --api [port]                                               Specify server port. Note if the port is already being used, Vite will automatically try the next available port so this may not be the actual port the server ends up listening on. If true will be set to 51204 or 63315 in browser mode. Use '--help --api' for more info.
   --silent [value]                                           Silent console output from tests. Use 'passed-only' to see logs from failing tests only.
   --hideSkippedTests                                         Hide logs for skipped tests
   --reporter <name>                                          Specify reporters (default, agent, minimal, blob, verbose, dot, json, tap, tap-flat, junit, tree, hanging-process, github-actions)
   --outputFile <filename/-s>                                 Write test results to a file when supporter reporter is also specified, use cac's dot notation for individual outputs of multiple reporters (example: --outputFile.tap=./tap.txt)
   --coverage                                                 Enable coverage report. Use '--help --coverage' for more info.
-  --mode <name>                                              Override Vite mode (default: test or benchmark)
+  --mode <name>                                              Override Vite mode (default: test)
   --isolate                                                  Run every test file in isolation. To disable isolation, use --no-isolate (default: true)
   --globals                                                  Inject apis globally
+  --injectCjsGlobals                                         Inject CommonJS variables (module, exports, require, __filename, __dirname) into every test module. To disable, use --no-inject-cjs-globals (default: true)
   --dom                                                      Mock browser API with happy-dom
   --browser <name>                                           Run tests in the browser. Equivalent to --browser.enabled (default: false). Use '--help --browser' for more info.
   --pool <pool>                                              Specify pool, if not running in the browser (default: forks)
@@ -68,20 +71,23 @@ Options:
   --hookTimeout <timeout>                                    Default hook timeout in milliseconds (default: 10000). Use 0 to disable timeout completely.
   --bail <number>                                            Stop test execution when given number of tests have failed (default: 0)
   --retry <times>                                            Retry the test specific number of times if it fails (default: 0). Use '--help --retry' for more info.
+  --repeats <number>                                         Repeat every test a specific number of times regardless of the result (default: 0)
   --diff <path>                                              DiffOptions object or a path to a module which exports DiffOptions object. Use '--help --diff' for more info.
   --exclude <glob>                                           Additional file globs to be excluded from test
   --expandSnapshotDiff                                       Show full diff when snapshot fails
   --disableConsoleIntercept                                  Disable automatic interception of console logging (default: false)
   --typecheck                                                Enable typechecking alongside tests (default: false). Use '--help --typecheck' for more info.
-  --project <name>                                           The name of the project to run if you are using Vitest workspace feature. This can be repeated for multiple projects: --project=1 --project=2. You can also filter projects using wildcards like --project=packages*, and exclude projects with --project=!pattern.
+  -p, --project <name>                                       The name of the project to run if you are using Vitest workspace feature. This can be repeated for multiple projects: --project=1 --project=2. You can also filter projects using wildcards like --project=packages*, and exclude projects with --project=!pattern. A project runs if it matches no negated pattern and, when regular patterns are also given, matches at least one of them.
   --slowTestThreshold <threshold>                            Threshold in milliseconds for a test or suite to be considered slow (default: 300)
   --teardownTimeout <timeout>                                Default timeout of a teardown function in milliseconds (default: 10000)
   --cache                                                    Enable cache. Use '--help --cache' for more info.
   --maxConcurrency <number>                                  Maximum number of concurrent tests and suites during test file execution (default: 5)
+  --fsModuleCache                                            Cache transformed modules on the file system and reuse them between reruns (default: false)
+  --fsModuleCachePath <path>                                 Directory where the fsModuleCache is stored (default: node_modules/.vitest-cache)
   --expect                                                   Configuration options for expect() matches. Use '--help --expect' for more info.
   --printConsoleTrace                                        Always print console stack traces
   --includeTaskLocation                                      Collect test and suite locations in the location property
-  --attachmentsDir <dir>                                     The directory where attachments from context.annotate are stored in (default: .vitest-attachments)
+  --attachmentsDir <dir>                                     The directory where attachments from context.annotate are stored in (default: .vitest/attachments)
   --run                                                      Disable watch mode
   --no-color                                                 Removes colors from the console output (default: true)
   --clearScreen                                              Clear terminal screen when re-running tests during watch mode (default: true)
@@ -89,8 +95,9 @@ Options:
   --standalone                                               Start Vitest without running tests. Tests will be running only on change. If browser mode is enabled, the UI will be opened automatically. This option is ignored when CLI file filters are passed. (default: false)
   --mergeReports [path]                                      Path to a blob reports directory. If this options is used, Vitest won't run any tests, it will only report previously recorded tests
   --listTags [type]                                          List all available tags instead of running tests. --list-tags=json will output tags in JSON format, unless there are no tags.
-  --clearCache                                               Delete all Vitest caches, including experimental.fsModuleCache, without running any tests. This will reduce the performance in the subsequent test run.
+  --clearCache                                               Delete all Vitest caches, including the fsModuleCache, without running any tests. This will reduce the performance in the subsequent test run.
   --tagsFilter <expression>                                  Run only tests with the specified tags. You can use logical operators && (and), || (or) and ! (not) to create complex expressions, see https://vitest.dev/guide/test-tags#syntax for more information.
   --strictTags                                               Should Vitest throw an error if test has a tag that is not defined in the config. (default: true)
+  --sharedViteServer                                         Let inline projects that don't modify the Vite config reuse the Vite server of the config that declares them. (default: true)
   --experimental <features>                                  Experimental features.. Use '--help --experimental' for more info.
   -h, --help                                                 Display this message
✅ Oxlint: no CLI help changes (1.80.0 → 1.81.0)

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

✅ Oxfmt: no CLI help changes (0.65.0 → 0.66.0)

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

⚠️ tsdown: CLI help changed (0.22.14 → 0.23.0)
--- tsdown@0.22.14
+++ tsdown@0.23.0
@@ -46,7 +46,6 @@ Options:
   --env-prefix <prefix>         Prefix for env variables to inject into the bundle (default: TSDOWN_)
   --on-success <command>        Command to run on success
   --copy <dir>                  Copy files to output dir
-  --public-dir <dir>            Alias for --copy, deprecated
   --tsconfig <tsconfig>         Set tsconfig path
   --unbundle                    Unbundle mode
   --root <dir>                  Root directory of input files

@netlify

netlify Bot commented Sep 4, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview ready!

Name Link
🔨 Latest commit f32d9d7
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a9a3b992067df0008bc165f
😎 Deploy Preview https://deploy-preview-2606--viteplus-preview.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.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 4, 2026

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Failed ❌

View logs ↗
f32d9d7 2026-09-04T03:32:02.977Z View logs ↗

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

✅ Staging deployment successful!

Preview: https://viteplus-staging.void.app/
Commit: f32d9d7

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

CLI artifact sizes (f32d9d7)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.
The dist rows use the Linux build. The core total excludes .node files to match the release artifact.

Artifact Format Base PR Change
packages/cli/dist Directory total 1.59 MiB 1.60 MiB +6.26 KiB (+0.38%)
packages/core/dist Directory total 3.92 MiB 3.92 MiB +6.75 KiB (+0.17%)
Combined package dist Directory total 5.51 MiB 5.52 MiB +13.01 KiB (+0.23%)
vp (Linux x64) Binary 10.99 MiB 10.99 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.76 MiB 4.76 MiB 0 B (0.00%)
NAPI (Linux x64) Binary 31.85 MiB 31.86 MiB +12.00 KiB (+0.04%)
NAPI (Linux x64) gzip -9 12.58 MiB 12.58 MiB +2.49 KiB (+0.02%)
vp (macOS ARM64) Binary 8.19 MiB 8.19 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.15 MiB 4.15 MiB 0 B (0.00%)
NAPI (macOS ARM64) Binary 39.49 MiB 39.49 MiB +32 B (+0.00%)
NAPI (macOS ARM64) gzip -9 16.90 MiB 16.90 MiB +5.58 KiB (+0.03%)
vp (Windows x64) Binary 8.85 MiB 8.85 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 3.88 MiB 3.88 MiB 0 B (0.00%)
NAPI (Windows x64) Binary 26.74 MiB 26.75 MiB +13.50 KiB (+0.05%)
NAPI (Windows x64) gzip -9 10.67 MiB 10.67 MiB +3.02 KiB (+0.03%)
Trampoline (Windows x64) Binary 14.00 KiB 14.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.09 KiB 7.09 KiB -2 B (-0.03%)
Installer (Windows x64) Binary 4.50 MiB 4.50 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.11 MiB 2.11 MiB +1 B (+0.00%)

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.

0 participants