vite-plus 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +29 -0
  2. package/binding/index.cjs +54 -54
  3. package/binding/index.d.cts +4 -0
  4. package/dist/{agent-KeDc6vmg.js → agent-97KmGCyL.js} +4 -4
  5. package/dist/bin.js +8 -8
  6. package/dist/{command-CguLh2KL.js → command-CdMBoZFD.js} +13 -13
  7. package/dist/command-DVTILtS-.js +1 -0
  8. package/dist/config/bin.js +3 -3
  9. package/dist/{constants-BW3g7VnD.js → constants-DR55DpRm.js} +2 -2
  10. package/dist/create/bin.js +28 -13
  11. package/dist/{define-config-Dq_23Eyr.cjs → define-config-BxDc_9BK.cjs} +2 -2
  12. package/dist/{define-config-CIlk9scU.js → define-config-CvE5pHqB.js} +1 -1
  13. package/dist/define-config.cjs +1 -1
  14. package/dist/define-config.js +1 -1
  15. package/dist/{dist-Bi7ZEK3c.js → dist-DIpm7mot.js} +5 -5
  16. package/dist/dist-Dhu07wmN.js +3 -0
  17. package/dist/{editor-b1XUwt9v.js → editor-CtJGQP7C.js} +13 -13
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/lint-plugins.cjs +1 -1
  21. package/dist/migration/bin.js +8 -8
  22. package/dist/{oxlint-plugin-config-Dx-ZY2MN.js → oxlint-plugin-config-BIzrO2y2.js} +1 -1
  23. package/dist/oxlint-plugin.js +2 -2
  24. package/dist/pack-bin.js +1 -1
  25. package/dist/{package-BP16iQby.js → package-CQDXTm6j.js} +1 -1
  26. package/dist/{prompts-BGpQtC5z.js → prompts-1xNz_ne0.js} +90 -196
  27. package/dist/{resolve-vite-config-CGzlyhGr.js → resolve-vite-config-7WDtXO4G.js} +1 -1
  28. package/dist/{resolve-vite-config-x47JetlI.js → resolve-vite-config-BVr1SUNg.js} +2 -2
  29. package/dist/{rolldown-runtime-CMFfr-1z.js → rolldown-runtime-kJ_i4yPo.js} +1 -1
  30. package/dist/staged/bin.js +33 -5
  31. package/dist/sync-versions/bin.js +4 -3
  32. package/dist/sync-versions/bin.mjs +8 -7
  33. package/dist/toolchain.js +6 -6
  34. package/dist/toolchain.json +6 -6
  35. package/dist/{tsconfig-D2DzAQ_D.js → tsconfig-BZu7kl-x.js} +3 -3
  36. package/dist/{tsconfig-C5PnJfW4.js → tsconfig-zWgHiQ3X.js} +1 -1
  37. package/dist/version.js +2 -2
  38. package/dist/versions.js +2 -2
  39. package/docs/guide/create.md +34 -0
  40. package/docs/guide/env.md +16 -9
  41. package/docs/guide/local-cli.md +4 -4
  42. package/docs/guide/migrate.md +5 -5
  43. package/docs/guide/package-management.md +18 -1
  44. package/docs/guide/test.md +1 -1
  45. package/docs/guide/vitest-v5.md +2 -2
  46. package/package.json +23 -23
  47. package/dist/command-DaRqSNpP.js +0 -1
  48. package/dist/dist-CBWGibx8.js +0 -3
@@ -3,7 +3,7 @@ import fs from "node:fs/promises";
3
3
  import { Buffer as Buffer$1 } from "node:buffer";
4
4
  import path from "node:path";
5
5
  //#region \0rolldown/runtime.js
6
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
6
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod, mod.exports), cb = null), mod.exports);
7
7
  var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
8
8
  //#endregion
9
9
  //#region src/sync-versions/input.ts
@@ -413,6 +413,7 @@ function hide(inst, key, value) {
413
413
  return own(inst, key, value, false);
414
414
  }
415
415
  /** Adds members a table derives from the instance: each builds on first read and shadows as own data, and assignment shadows the same way, as when these were own properties. */
416
+ /* @__NO_SIDE_EFFECTS__ */
416
417
  function derived(computes, table) {
417
418
  for (const key in computes) {
418
419
  const compute = computes[key];
@@ -564,6 +565,7 @@ function newError(Definition) {
564
565
  }
565
566
  return new Definition();
566
567
  }
568
+ /* @__NO_SIDE_EFFECTS__ */
567
569
  function $constructor(name, initializer, proto, params) {
568
570
  const zodProto = {};
569
571
  function Internals(def) {
@@ -694,8 +696,7 @@ const initializer$1 = (inst, def) => {
694
696
  });
695
697
  }
696
698
  };
697
- const $ZodError = $constructor("$ZodError", initializer$1);
698
- $constructor("$ZodError", initializer$1, void 0, { Parent: Error });
699
+ const $ZodError = /* @__PURE__ */ $constructor("$ZodError", initializer$1);
699
700
  /** Get-or-create `obj[key]` as an own data property. A path segment naming an inherited member
700
701
  * ("toString", "constructor") would otherwise read through to the prototype, and assigning
701
702
  * "__proto__" would hit the setter instead of creating a key. */
@@ -7900,13 +7901,13 @@ var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
7900
7901
  //#endregion
7901
7902
  //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/log.js
7902
7903
  var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
7903
- var node_process$2 = __require("process");
7904
+ var node_process = __require("process");
7904
7905
  function debug(logLevel, ...messages) {
7905
7906
  if (logLevel === "debug") console.log(...messages);
7906
7907
  }
7907
7908
  function warn(logLevel, warning) {
7908
7909
  if (logLevel === "debug" || logLevel === "warn") {
7909
- if (typeof node_process$2.emitWarning === "function") node_process$2.emitWarning(warning);
7910
+ if (typeof node_process.emitWarning === "function") node_process.emitWarning(warning);
7910
7911
  else console.warn(warning);
7911
7912
  }
7912
7913
  }
@@ -10825,7 +10826,7 @@ var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
10825
10826
  //#endregion
10826
10827
  //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/composer.js
10827
10828
  var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
10828
- var node_process$1 = __require("process");
10829
+ var node_process = __require("process");
10829
10830
  var directives = require_directives();
10830
10831
  var Document = require_Document();
10831
10832
  var errors = require_errors();
@@ -10942,7 +10943,7 @@ var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
10942
10943
  }
10943
10944
  /** Advance the composer by one CST token. */
10944
10945
  *next(token) {
10945
- if (node_process$1.env.LOG_STREAM) console.dir(token, { depth: null });
10946
+ if (node_process.env.LOG_STREAM) console.dir(token, { depth: null });
10946
10947
  switch (token.type) {
10947
10948
  case "directive":
10948
10949
  this.directives.add(token.source, (offset, message, warning) => {
package/dist/toolchain.js CHANGED
@@ -4,7 +4,7 @@ export const toolchain = {
4
4
  {
5
5
  "id": "vite-plus",
6
6
  "name": "vite-plus",
7
- "version": "1.2.0",
7
+ "version": "1.3.0",
8
8
  "kind": "package",
9
9
  "delivery": [
10
10
  "dependency"
@@ -14,7 +14,7 @@ export const toolchain = {
14
14
  {
15
15
  "id": "vite-plus-core",
16
16
  "name": "@voidzero-dev/vite-plus-core",
17
- "version": "1.2.0",
17
+ "version": "1.3.0",
18
18
  "kind": "package",
19
19
  "delivery": [
20
20
  "dependency"
@@ -36,7 +36,7 @@ export const toolchain = {
36
36
  {
37
37
  "id": "rolldown",
38
38
  "name": "rolldown",
39
- "version": "1.2.13",
39
+ "version": "1.2.14",
40
40
  "kind": "tool",
41
41
  "delivery": [
42
42
  "bundled",
@@ -47,7 +47,7 @@ export const toolchain = {
47
47
  {
48
48
  "id": "vitest",
49
49
  "name": "vitest",
50
- "version": "5.0.4",
50
+ "version": "5.0.5",
51
51
  "kind": "tool",
52
52
  "delivery": [
53
53
  "dependency"
@@ -100,7 +100,7 @@ export const toolchain = {
100
100
  "id": "vite-task",
101
101
  "name": "vite-task",
102
102
  "revision": "9ba4cc93379cf2d7a6c7e657285bb8a00e8339dc",
103
- "builtAt": "2026-10-14T08:52:28Z",
103
+ "builtAt": "2026-10-16T05:08:44Z",
104
104
  "kind": "tool",
105
105
  "delivery": [
106
106
  "compiled"
@@ -110,7 +110,7 @@ export const toolchain = {
110
110
  {
111
111
  "id": "oxc",
112
112
  "name": "oxc",
113
- "version": "0.153.0",
113
+ "version": "0.154.0",
114
114
  "kind": "engine",
115
115
  "delivery": [
116
116
  "compiled"
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "id": "vite-plus",
6
6
  "name": "vite-plus",
7
- "version": "1.2.0",
7
+ "version": "1.3.0",
8
8
  "kind": "package",
9
9
  "delivery": [
10
10
  "dependency"
@@ -14,7 +14,7 @@
14
14
  {
15
15
  "id": "vite-plus-core",
16
16
  "name": "@voidzero-dev/vite-plus-core",
17
- "version": "1.2.0",
17
+ "version": "1.3.0",
18
18
  "kind": "package",
19
19
  "delivery": [
20
20
  "dependency"
@@ -36,7 +36,7 @@
36
36
  {
37
37
  "id": "rolldown",
38
38
  "name": "rolldown",
39
- "version": "1.2.13",
39
+ "version": "1.2.14",
40
40
  "kind": "tool",
41
41
  "delivery": [
42
42
  "bundled",
@@ -47,7 +47,7 @@
47
47
  {
48
48
  "id": "vitest",
49
49
  "name": "vitest",
50
- "version": "5.0.4",
50
+ "version": "5.0.5",
51
51
  "kind": "tool",
52
52
  "delivery": [
53
53
  "dependency"
@@ -100,7 +100,7 @@
100
100
  "id": "vite-task",
101
101
  "name": "vite-task",
102
102
  "revision": "9ba4cc93379cf2d7a6c7e657285bb8a00e8339dc",
103
- "builtAt": "2026-10-14T08:52:28Z",
103
+ "builtAt": "2026-10-16T05:08:44Z",
104
104
  "kind": "tool",
105
105
  "delivery": [
106
106
  "compiled"
@@ -110,7 +110,7 @@
110
110
  {
111
111
  "id": "oxc",
112
112
  "name": "oxc",
113
- "version": "0.153.0",
113
+ "version": "0.154.0",
114
114
  "kind": "engine",
115
115
  "delivery": [
116
116
  "compiled"
@@ -1,8 +1,8 @@
1
- import { p as createBaseUrlTsconfigFixArgs, t as BASEURL_TSCONFIG_FIX_PACKAGE } from "./constants-BW3g7VnD.js";
1
+ import { p as createBaseUrlTsconfigFixArgs, t as BASEURL_TSCONFIG_FIX_PACKAGE } from "./constants-DR55DpRm.js";
2
2
  import { c as modify, l as parse, o as applyEdits } from "./json-JP24qHUF.js";
3
3
  import { t as vitest_v5_entry_points_default } from "./vitest-v5-entry-points-DthU1e_O.js";
4
- import { C as confirm, M as isCancel, T as log, t as cancelAndExit } from "./prompts-BGpQtC5z.js";
5
- import { n as runCommandSilently } from "./command-CguLh2KL.js";
4
+ import { C as confirm, M as isCancel, T as log, t as cancelAndExit } from "./prompts-1xNz_ne0.js";
5
+ import { n as runCommandSilently } from "./command-CdMBoZFD.js";
6
6
  import path from "node:path";
7
7
  import { styleText } from "node:util";
8
8
  import fs from "node:fs";
@@ -1 +1 @@
1
- export { i as fixBaseUrlInTsconfig, a as hasBaseUrlInTsconfig } from "./tsconfig-D2DzAQ_D.js";
1
+ export { i as fixBaseUrlInTsconfig, a as hasBaseUrlInTsconfig } from "./tsconfig-BZu7kl-x.js";
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as renderCliDoc } from "./help-BmKpeOP9.js";
2
2
  import { i as log, o as printHeader, t as accent } from "./terminal-MKGAuy-p.js";
3
- import { y as version } from "./constants-BW3g7VnD.js";
4
- import { a as hasVitePlusDependency, n as detectPackageMetadata } from "./package-BP16iQby.js";
3
+ import { y as version } from "./constants-DR55DpRm.js";
4
+ import { a as hasVitePlusDependency, n as detectPackageMetadata } from "./package-CQDXTm6j.js";
5
5
  import path from "node:path";
6
6
  import { pathToFileURL } from "node:url";
7
7
  import fs from "node:fs";
package/dist/versions.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export const versions = {
2
2
  "vite": "8.3.4",
3
- "rolldown": "1.2.13",
4
- "vitest": "5.0.4",
3
+ "rolldown": "1.2.14",
4
+ "vitest": "5.0.5",
5
5
  "oxfmt": "0.73.0",
6
6
  "oxlint": "1.88.0",
7
7
  "oxlint-tsgolint": "7.0.2004",
@@ -20,6 +20,40 @@ vp create <template>
20
20
  vp create <template> -- <template-options>
21
21
  ```
22
22
 
23
+ ### Without the Global CLI
24
+
25
+ If you haven't installed [the global `vp`](/guide/global-cli) yet. Vite+ provides `create-vite-plus` package running `vp create` through your package manager.
26
+
27
+ ::: code-group
28
+
29
+ ```bash [pnpm]
30
+ pnpm create vite-plus
31
+ ```
32
+
33
+ ```bash [npm]
34
+ npm create vite-plus@latest
35
+ ```
36
+
37
+ ```bash [Yarn]
38
+ yarn create vite-plus
39
+ ```
40
+
41
+ ```bash [Bun]
42
+ bun create vite-plus
43
+ ```
44
+
45
+ :::
46
+
47
+ The new project uses the package manager that ran the command, unless you pass `--package-manager` or create it inside an existing workspace. Arguments are forwarded to `vp create` unchanged, so the first argument is the template, not the target directory:
48
+
49
+ ```bash
50
+ pnpm create vite-plus vite:application --directory my-app
51
+ ```
52
+
53
+ If you are using npm, there is a `--` needed before options meant for `vp create`, for example `npm create vite-plus@latest -- vite:application --directory my-app`.
54
+
55
+ After creating the project, run `vp` through your package manager, for example `pnpm exec vp run`.
56
+
23
57
  ## Built-in Templates
24
58
 
25
59
  Vite+ ships with these built-in templates:
package/docs/guide/env.md CHANGED
@@ -46,13 +46,16 @@ If no directory declares a version, Vite+ uses the global default (`vp env defau
46
46
  ::: tip Using pnpm with Vite+ runtime management
47
47
  pnpm can also manage the runtime declared in `devEngines.runtime`. When both pnpm and Vite+ manage Node.js, they can download the same version separately or select different versions, causing inconsistent behavior between commands.
48
48
 
49
- If you want Vite+ to manage Node.js, pnpm 11+ supports disabling pnpm's automatic runtime management globally with [`runtimeOnFail`](https://pnpm.io/settings/cli#runtimeonfail):
49
+ If your project uses Vite+ to manage Node.js and pnpm versions, add these settings to the project's `pnpm-workspace.yaml` (pnpm 11+):
50
50
 
51
- ```bash
52
- pnpm config set --global runtimeOnFail ignore
51
+ ```yaml
52
+ runtimeOnFail: ignore
53
+ pmOnFail: ignore
53
54
  ```
54
55
 
55
- This setting also disables pnpm's automatic management of other declared runtimes, including Bun and Deno. Consider whether any of your projects rely on that behavior before setting it globally.
56
+ [`runtimeOnFail`](https://pnpm.io/settings/cli#runtimeonfail) disables pnpm's automatic management of declared runtimes. [`pmOnFail`](https://pnpm.io/settings/cli#pmonfail) prevents pnpm from switching to the package-manager version declared in `package.json`. Commit these settings so the project shares the same policy.
57
+
58
+ `runtimeOnFail: ignore` also affects other declared runtimes, including Bun and Deno. If the project relies on pnpm to manage them, consider that before enabling this setting. Switching an existing project to this policy can change runtime entries in `pnpm-lock.yaml` on the next install; review and commit those changes with the configuration.
56
59
  :::
57
60
 
58
61
  ## Package-Manager Selection
@@ -76,7 +79,7 @@ Package-manager selection uses this priority:
76
79
  | `VP_YARN_VERSION` | `yarn`, `yarnpkg` |
77
80
  | `VP_BUN_VERSION` | `bun`, `bunx` |
78
81
 
79
- These variables accept a version or range, such as `10.18.0`, `10`, or `latest`, and override the matching shim's project and default versions. They do not change the manager or version selected by `vp install`.
82
+ These variables accept a version, range, or npm dist-tag, such as `10.18.0`, `10`, `latest`, or `latest-10`, and override the matching shim's project and default versions. They do not change the manager or version selected by `vp install`.
80
83
 
81
84
  `vp env use pnpm@10.20.0` sets `VP_PNPM_VERSION` for the current shell, just as `vp env use node@22` sets `VP_NODE_VERSION`. Each package manager has its own override, so switching Yarn does not clear a pnpm override. `vp env use` does not set or clear `VP_PACKAGE_MANAGER`.
82
85
 
@@ -87,12 +90,14 @@ VP_PACKAGE_MANAGER=pnpm@10.18.0 vp install
87
90
  VP_PNPM_VERSION=10.20.0 pnpm --version
88
91
  ```
89
92
 
90
- The overrides apply in managed mode. A package manager can also perform its own version switching after Vite+ launches it; for example, pnpm's `managePackageManagerVersions` setting may switch back to the version in `package.json`.
93
+ The overrides apply in managed mode. A package manager can also perform its own version switching after Vite+ launches it; for example, pnpm 11+'s [`pmOnFail`](https://pnpm.io/settings/cli#pmonfail) defaults to `download` and may switch back to the version in `package.json`. To let Vite+ control the pnpm version, set `pmOnFail: ignore` in the project's `pnpm-workspace.yaml`. In pnpm 10, the corresponding setting is `managePackageManagerVersions`.
91
94
 
92
95
  A project selection applies only to its matching shims. For example, pnpm controls `pnpm`, `pnpx`, `pn`, and `pnx`; invoking `npm` still resolves npm independently. Without a matching project selection, a named shim uses its configured default version and otherwise uses the latest release without prompting. The npm shim falls back to Node's bundled npm. `vp env use npm` selects standalone npm's latest release for the current shell when no project version or global default is configured.
93
96
 
94
- ::: details Latest-version caching
95
- When a named shim falls back to the latest release, the resolved version is cached for one hour. An expired cache remains available when the registry cannot be reached.
97
+ Package-manager specs follow npm's order: an exact version, then a semver range, then a dist-tag. `default` is an alias of `latest`, except for npm, where it selects the npm on `PATH`.
98
+
99
+ ::: details Dist-tag caching
100
+ When a package-manager dist-tag such as `latest` or `latest-10` is resolved, including a named shim falling back to the latest release, the resolved version is cached for one hour. An expired cache remains available when the registry cannot be reached.
96
101
  :::
97
102
 
98
103
  `pn` runs the same managed binary as `pnpm`, and `pnx` runs the same managed binary as `pnpx` (`pnpm dlx`). These aliases also work with managed pnpm versions older than v11.
@@ -181,7 +186,7 @@ The global CLI supports Tab completion in Bash, Zsh, Fish, Nushell, and PowerShe
181
186
  ### Manage
182
187
 
183
188
  - `vp env default` shows the global Node.js default and each configured package-manager version. Bare versions set Node.js; qualified specs such as `pnpm@10.18.0` set that package manager's shim default without replacing the defaults for Bun, Yarn, or npm. `--unset` clears all defaults unless scoped.
184
- - `vp env default <lts|latest>` and `<package-manager>@latest` re-resolve on each use, so the default follows new releases, including new majors. Other versions and ranges, such as `24` or `pnpm@10`, resolve to an exact version when set.
189
+ - `vp env default <lts|latest>` and package-manager dist-tags such as `pnpm@latest` or `pnpm@latest-10` re-resolve on each use, so the default follows the tag, including new majors for `latest`. Other versions and ranges, such as `24` or `pnpm@10`, resolve to an exact version when set.
185
190
  - `vp env pin` shows or writes project pins. Existing `.node-version` and top-level `packageManager` fields keep being updated for compatibility. An existing `.nvmrc` is updated when it is the effective Node source in the current directory; its comments and other non-version content are preserved. Otherwise Vite+ writes the matching `devEngines` entry. Use `--target node-version`, `--target nvmrc`, `--target dev-engines`, or `--target package-manager` to choose explicitly. Pinning in a child directory does not modify an inherited `.nvmrc`.
186
191
  - `vp env unpin` removes both effective pins by default; append a selector to remove one. Lower-priority declarations are not deleted.
187
192
  - `vp env use` activates the complete project environment. Explicit specs override selected components; `--unset` clears both unless scoped.
@@ -217,7 +222,9 @@ vp env print # Print PATH setup for both components
217
222
 
218
223
  # Manage
219
224
  vp env pin lts # Pin Node.js only to an exact version
225
+ vp env pin node@26 # Pin Node.js 26 to an exact version
220
226
  vp env pin lts pnpm@10 # Pin both project components to exact versions
227
+ vp env pin pnpm@latest-10 # Pin pnpm to the version of its latest-10 dist-tag
221
228
  vp env install # Install the complete resolved environment
222
229
  vp env use 20 pnpm@10 # Override both components for this shell
223
230
  vp env use --unset pnpm # Remove only the pnpm session version
@@ -11,19 +11,19 @@ For most of use cases, we recommend to use Vite+ cli to install in a project or
11
11
  ::: code-group
12
12
 
13
13
  ```bash [pnpm]
14
- pnpm dlx --package=vite-plus vp create
14
+ pnpm create vite-plus
15
15
  ```
16
16
 
17
17
  ```bash [npm]
18
- npx --package=vite-plus vp create
18
+ npm create vite-plus@latest
19
19
  ```
20
20
 
21
21
  ```bash [Yarn]
22
- yarn dlx --package vite-plus vp create
22
+ yarn create vite-plus
23
23
  ```
24
24
 
25
25
  ```bash [Bun]
26
- bunx --package vite-plus vp create
26
+ bun create vite-plus
27
27
  ```
28
28
 
29
29
  :::
@@ -95,21 +95,21 @@ Upgrade the [global CLI](./upgrade.md#global-vp) to your target 1.0 release, the
95
95
 
96
96
  ### Without the Global CLI
97
97
 
98
- Use an existing Node.js runtime that satisfies `^22.18.0 || ^24.11.0 || >=26.0.0`. Run the target migrator through your package manager without adding it to the project first. For the `1.2.0` release:
98
+ Use an existing Node.js runtime that satisfies `^22.18.0 || ^24.11.0 || >=26.0.0`. Run the target migrator through your package manager without adding it to the project first. For the `1.3.0` release:
99
99
 
100
100
  ::: code-group
101
101
 
102
102
  ```bash [pnpm]
103
- pnpm dlx --package=vite-plus@1.2.0 vp migrate --no-interactive
103
+ pnpm dlx --package=vite-plus@1.3.0 vp migrate --no-interactive
104
104
  ```
105
105
 
106
106
  ```bash [npm]
107
- npx --package=vite-plus@1.2.0 vp migrate --no-interactive
107
+ npx --package=vite-plus@1.3.0 vp migrate --no-interactive
108
108
  ```
109
109
 
110
110
  :::
111
111
 
112
- Replace `1.2.0` with your target release. For a preview, use the version from the PR and pass `--registry=https://registry-bridge.viteplus.dev` to `pnpm` or `npx` before the `vp` command. Keep the version in `--package` explicit so you run the target migrator rather than the old local CLI.
112
+ Replace `1.3.0` with your target release. For a preview, use the version from the PR and pass `--registry=https://registry-bridge.viteplus.dev` to `pnpm` or `npx` before the `vp` command. Keep the version in `--package` explicit so you run the target migrator rather than the old local CLI.
113
113
 
114
114
  After migration, finish dependency installation and validate with the updated local CLI:
115
115
 
@@ -151,7 +151,7 @@ View and copy this prompt into your coding agent to upgrade an existing Vite+ 0.
151
151
 
152
152
  ### Vitest
153
153
 
154
- Vitest is automatically migrated through `vp migrate`. `vite-plus` re-exports upstream `vitest@5.0.4` under `vite-plus/test*`, so for node-mode tests a single `vite-plus` install is enough — you no longer need to install `vitest` directly.
154
+ Vitest is automatically migrated through `vp migrate`. `vite-plus` re-exports upstream `vitest@5.0.5` under `vite-plus/test*`, so for node-mode tests a single `vite-plus` install is enough — you no longer need to install `vitest` directly.
155
155
 
156
156
  For browser mode, you can use the base browser runtime (`@vitest/browser`) and Preview provider (`@vitest/browser-preview`) included in `vite-plus`. To use Playwright or WebDriverIO, you also need the opt-in provider (`@vitest/browser-playwright` or `@vitest/browser-webdriverio`) and its framework peer (`playwright` or `webdriverio`).
157
157
 
@@ -211,9 +211,10 @@ Use these when you need lower-level package-manager behavior.
211
211
  - **Dependencies**: `ci`, `prune`, `list`, `rebuild`, `approve-builds`
212
212
  - **Patching**: `patch`, `patch-commit`
213
213
  - **Packaging and publishing**: `pack`, `version`, `publish`, `stage`, `dist-tag`, `deprecate`
214
- - **Inspection**: `view`, `search`, `audit`, `fund`, `ping`
214
+ - **Inspection**: `view`, `search`, `licenses`, `audit`, `fund`, `ping`
215
215
  - **Authentication and access**: `login`, `logout`, `whoami`, `token`, `owner`
216
216
  - **Configuration**: `config`, `cache`
217
+ - **Package manifest**: `pkg get`, `pkg set`, `pkg delete`, `pkg fix`
217
218
 
218
219
  Command support depends on the package manager and its version. Run `vp pm --help` to list commands or `vp pm <command> --help` for available options.
219
220
 
@@ -225,6 +226,22 @@ vp pm cache clean -- --force
225
226
  vp pm audit --json
226
227
  ```
227
228
 
229
+ #### Package manifest
230
+
231
+ `vp pm pkg` reads and updates fields in `package.json` using the detected package manager.
232
+
233
+ ```bash
234
+ vp pm pkg get name
235
+ vp pm pkg set scripts.build="vite build"
236
+ vp pm pkg set private=true --json
237
+ vp pm pkg delete scripts.build
238
+ vp pm pkg fix
239
+ ```
240
+
241
+ npm supports `get`, `set`, and `delete` from 7.20.0 and `fix` from 9.8.0. pnpm supports all four commands from 11.3.0, and Bun supports them through `bun pm pkg` from 1.2.19. Yarn and unsupported versions print a warning and exit successfully without changing the manifest, matching `vp pm patch`.
242
+
243
+ Native behavior is preserved. For example, npm returns JSON from `get`, while pnpm prints a single string value without quotes by default. Use `--json` to request JSON output or to parse values passed to `set` as JSON. Additional native options can be passed after `--`. The corrections made by `fix` depend on the package manager.
244
+
228
245
  #### Staged publishing
229
246
 
230
247
  `vp pm stage` exposes [npm's staged publishing](https://docs.npmjs.com/staged-publishing) workflow: a build is uploaded to a staging area (no 2FA, CI-friendly), then a maintainer approves or rejects it from a trusted device (2FA). It adapts to the detected package manager.
@@ -2,7 +2,7 @@
2
2
 
3
3
  `vp test` runs tests with [Vitest](https://vitest.dev).
4
4
 
5
- Vite+ depends on Vitest `5.0.4`, which requires Node `^22.18.0 || ^24.11.0 || >=26.0.0`. For existing projects, follow [Upgrade to Vitest 5](./vitest-v5.md) before updating dependencies.
5
+ Vite+ depends on Vitest `5.0.5`, which requires Node `^22.18.0 || ^24.11.0 || >=26.0.0`. For existing projects, follow [Upgrade to Vitest 5](./vitest-v5.md) before updating dependencies.
6
6
 
7
7
  `vp test` resolves Vitest from `vite-plus`'s dependencies first, then from your project.
8
8
 
@@ -1,6 +1,6 @@
1
1
  # Upgrade to Vitest 5
2
2
 
3
- Vite+ bundles Vitest `5.0.4`. Use Node `^22.18.0 || ^24.11.0 || >=26.0.0` for the CLI and tests.
3
+ Vite+ bundles Vitest `5.0.5`. Use Node `^22.18.0 || ^24.11.0 || >=26.0.0` for the CLI and tests.
4
4
 
5
5
  ## Before you migrate
6
6
 
@@ -126,7 +126,7 @@ Review calls with benchmark options, imported or reassigned callbacks, callback
126
126
 
127
127
  ## Entry points and packages
128
128
 
129
- Use `vite-plus/test` for assertions and supported runner APIs. Keep coverage providers and `@vitest/ui` at the bundled runner's exact version, `5.0.4`. Keep `@vitest/web-worker` aligned when your project uses it.
129
+ Use `vite-plus/test` for assertions and supported runner APIs. Keep coverage providers and `@vitest/ui` at the bundled runner's exact version, `5.0.5`. Keep `@vitest/web-worker` aligned when your project uses it.
130
130
 
131
131
  | v4 import | v5 import or action |
132
132
  | ---------------------------------------- | --------------------------------------------------------------------------- |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plus",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "The Unified Toolchain for the Web",
5
5
  "homepage": "https://viteplus.dev/guide",
6
6
  "bugs": {
@@ -340,18 +340,18 @@
340
340
  "dependencies": {
341
341
  "@oxc-project/types": "=0.154.0",
342
342
  "@oxlint/plugins": "=1.88.0",
343
- "@vitest/browser": "5.0.4",
344
- "@vitest/browser-preview": "5.0.4",
345
- "@vitest/mocker": "5.0.4",
346
- "@vitest/pretty-format": "5.0.4",
347
- "@vitest/snapshot": "5.0.4",
348
- "@vitest/spy": "5.0.4",
349
- "@vitest/utils": "5.0.4",
343
+ "@vitest/browser": "5.0.5",
344
+ "@vitest/browser-preview": "5.0.5",
345
+ "@vitest/mocker": "5.0.5",
346
+ "@vitest/pretty-format": "5.0.5",
347
+ "@vitest/snapshot": "5.0.5",
348
+ "@vitest/spy": "5.0.5",
349
+ "@vitest/utils": "5.0.5",
350
350
  "oxfmt": "=0.73.0",
351
351
  "oxlint": "=1.88.0",
352
352
  "oxlint-tsgolint": "=7.0.2004",
353
- "vite": "npm:@voidzero-dev/vite-plus-core@1.2.0",
354
- "vitest": "5.0.4"
353
+ "vite": "npm:@voidzero-dev/vite-plus-core@1.3.0",
354
+ "vitest": "5.0.5"
355
355
  },
356
356
  "devDependencies": {
357
357
  "@emnapi/core": "2.0.0-alpha.5",
@@ -360,9 +360,9 @@
360
360
  "@nkzw/safe-word-list": "^3.1.0",
361
361
  "@types/cross-spawn": "^6.0.6",
362
362
  "@types/validate-npm-package-name": "^4.0.2",
363
- "@vitest/browser-playwright": "5.0.4",
363
+ "@vitest/browser-playwright": "5.0.5",
364
364
  "@vitest/browser-webdriverio": "5.0.0",
365
- "@voidzero-dev/vite-plus-prompts": "1.2.0",
365
+ "@voidzero-dev/vite-plus-prompts": "1.3.0",
366
366
  "@voidzero-dev/vite-task-client": "0.2.0",
367
367
  "bingo": "^0.13.2",
368
368
  "cac": "^7.0.0",
@@ -376,13 +376,13 @@
376
376
  "nanotar": "^0.3.0",
377
377
  "picocolors": "^1.1.1",
378
378
  "tsdown": "^0.23.1",
379
- "validate-npm-package-name": "^7.0.2",
379
+ "validate-npm-package-name": "^8.0.0",
380
380
  "verkit": "^0.5.0",
381
- "yaml": "^2.8.1",
381
+ "yaml": "^2.9.1",
382
382
  "zod": "^4.4.3"
383
383
  },
384
384
  "peerDependencies": {
385
- "@vitest/browser-playwright": "5.0.4",
385
+ "@vitest/browser-playwright": "5.0.5",
386
386
  "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0",
387
387
  "playwright": "*"
388
388
  },
@@ -415,14 +415,14 @@
415
415
  "node": "^22.18.0 || ^24.11.0 || >=26.0.0"
416
416
  },
417
417
  "optionalDependencies": {
418
- "@voidzero-dev/vite-plus-darwin-arm64": "1.2.0",
419
- "@voidzero-dev/vite-plus-darwin-x64": "1.2.0",
420
- "@voidzero-dev/vite-plus-linux-arm64-gnu": "1.2.0",
421
- "@voidzero-dev/vite-plus-linux-arm64-musl": "1.2.0",
422
- "@voidzero-dev/vite-plus-linux-x64-gnu": "1.2.0",
423
- "@voidzero-dev/vite-plus-linux-x64-musl": "1.2.0",
424
- "@voidzero-dev/vite-plus-win32-x64-msvc": "1.2.0",
425
- "@voidzero-dev/vite-plus-win32-arm64-msvc": "1.2.0"
418
+ "@voidzero-dev/vite-plus-darwin-arm64": "1.3.0",
419
+ "@voidzero-dev/vite-plus-darwin-x64": "1.3.0",
420
+ "@voidzero-dev/vite-plus-linux-arm64-gnu": "1.3.0",
421
+ "@voidzero-dev/vite-plus-linux-arm64-musl": "1.3.0",
422
+ "@voidzero-dev/vite-plus-linux-x64-gnu": "1.3.0",
423
+ "@voidzero-dev/vite-plus-linux-x64-musl": "1.3.0",
424
+ "@voidzero-dev/vite-plus-win32-x64-msvc": "1.3.0",
425
+ "@voidzero-dev/vite-plus-win32-arm64-msvc": "1.3.0"
426
426
  },
427
427
  "scripts": {
428
428
  "build": "oxnode -C dev ./build.ts",
@@ -1 +0,0 @@
1
- export { n as runCommandSilently } from "./command-CguLh2KL.js";
@@ -1,3 +0,0 @@
1
- import { t as require_dist } from "./dist-Bi7ZEK3c.js";
2
- export default require_dist();
3
- export {};