vite-plus 0.2.8 → 0.2.9

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 (74) hide show
  1. package/AGENTS.md +7 -0
  2. package/README.md +9 -3
  3. package/binding/index.cjs +54 -54
  4. package/binding/index.d.cts +7 -3
  5. package/dist/{agent-CI79DuSy.js → agent-DQU8uS6P.js} +4 -188
  6. package/dist/bin.js +288 -278
  7. package/dist/config/bin.js +27 -15
  8. package/dist/{constants-BppDcRc1.js → constants-CG513DRa.js} +10 -2
  9. package/dist/create/bin.js +178 -204
  10. package/dist/{define-config-DPnHe1Mx.js → define-config-CV4bQG_8.js} +3 -3
  11. package/dist/{define-config-CEm_MtvJ.cjs → define-config-DyNLA_f0.cjs} +1 -1
  12. package/dist/define-config.cjs +1 -1
  13. package/dist/define-config.js +1 -1
  14. package/dist/{dist-CSQWHI6y.js → dist-BDYZP12R.js} +193 -149
  15. package/dist/dist-Dqv1-Clg.js +3 -0
  16. package/dist/{editor-CGWdbLgD.js → editor-g4PosU99.js} +188 -108
  17. package/dist/hooks/bin.d.ts +1 -0
  18. package/dist/hooks/bin.js +130 -0
  19. package/dist/hooks-pNCBWtFT.js +570 -0
  20. package/dist/index.cjs +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/{json-BU88uu6o.js → json-qlK6UH0r.js} +38 -32
  23. package/dist/migration/bin.js +15 -18
  24. package/dist/{oxlint-plugin-config-BHOzlwMw.js → oxlint-plugin-config-BEZ9IUf7.js} +1 -1
  25. package/dist/oxlint-plugin.js +1 -1
  26. package/dist/pack-bin.js +1 -1
  27. package/dist/{package-hV-77cBb.js → package-B4T8RGMG.js} +2 -2
  28. package/dist/{prompts-DYap08te.js → prompts-CHz_98bJ.js} +142 -50
  29. package/dist/{resolve-vite-config-EWXclqvV.js → resolve-vite-config-Dmeyeyj-.js} +2 -9
  30. package/dist/staged/bin.js +224 -206
  31. package/dist/{terminal-CrqqK8WT.js → terminal-Bz-ps6rJ.js} +33 -3
  32. package/dist/test/browser/providers/playwright/context.d.ts +1 -1
  33. package/dist/test/browser/providers/playwright.d.ts +6 -6
  34. package/dist/test/browser/providers/preview/context.d.ts +1 -1
  35. package/dist/test/browser/providers/preview.d.ts +4 -4
  36. package/dist/test/browser/providers/webdriverio/context.d.ts +1 -1
  37. package/dist/test/browser/providers/webdriverio.d.ts +6 -6
  38. package/dist/test/browser-playwright/context.d.ts +1 -1
  39. package/dist/test/browser-playwright.d.ts +6 -6
  40. package/dist/test/browser-preview/context.d.ts +1 -1
  41. package/dist/test/browser-preview.d.ts +4 -4
  42. package/dist/test/browser-webdriverio/context.d.ts +1 -1
  43. package/dist/test/browser-webdriverio.d.ts +6 -6
  44. package/dist/test/context.d.ts +3 -3
  45. package/dist/test/locators.d.ts +1 -1
  46. package/dist/toolchain.d.ts +25 -0
  47. package/dist/toolchain.js +194 -0
  48. package/dist/toolchain.json +193 -0
  49. package/dist/{tsconfig-CVUKLfL8.js → tsconfig-7v_BHagU.js} +3 -3
  50. package/dist/tsgolint-path.js +1 -1
  51. package/dist/version.js +4 -4
  52. package/dist/versions.d.ts +3 -3
  53. package/dist/versions.js +6 -6
  54. package/docs/guide/ci.md +37 -4
  55. package/docs/guide/commit-hooks.md +87 -14
  56. package/docs/guide/create.md +7 -4
  57. package/docs/guide/fmt.md +2 -2
  58. package/docs/guide/github-actions-cache.md +5 -1
  59. package/docs/guide/ide-integration.md +61 -2
  60. package/docs/guide/index.md +3 -1
  61. package/docs/guide/install.md +25 -0
  62. package/docs/guide/installer-env-vars.md +12 -1
  63. package/docs/guide/lint.md +3 -1
  64. package/docs/guide/migrate.md +39 -2
  65. package/docs/guide/monorepo.md +4 -4
  66. package/docs/guide/troubleshooting.md +12 -4
  67. package/docs/guide/upgrade.md +27 -4
  68. package/docs/package.json +1 -1
  69. package/docs/pnpm-workspace.yaml +7 -0
  70. package/docs/vite.config.ts +3 -0
  71. package/package.json +18 -14
  72. package/rules/vite-tools.yml +0 -7
  73. package/dist/dist-DT25H9pj.js +0 -3
  74. package/dist/{tsgolint-path-eMZT-oea.js → tsgolint-path-CbDReEOx.js} +1 -1
@@ -39,6 +39,13 @@ A range resolves to an already-downloaded satisfying version when possible, othe
39
39
 
40
40
  Vite+ currently downloads the declared package manager (the `onFail: "download"` behavior); the other `onFail` values are accepted but not yet differentiated.
41
41
 
42
+ A `packageManager` pin can carry an integrity hash (`yarn@4.17.1+sha512.…`). `corepack use` writes that hash. Vite+ hashes the same artifact as Corepack:
43
+
44
+ - the extracted CLI binary (`bin/yarn.js`) for Yarn 2 and later
45
+ - the npm package tarball for npm, pnpm, and Yarn Classic
46
+
47
+ Vite+ hashes the CLI once, when it installs Yarn, and records the pin it verified. A later command compares its own pin against that record. A pin that does not match the record fails the check, and the command stops. Corepack keeps the same kind of record for its own cache.
48
+
42
49
  The explicit `packageManager` field (or the `devEngines.packageManager` declaration) also affects matching package-manager shims. If a project has `packageManager: "npm@10.9.4"`, `npm` and `npx` use npm 10.9.4. Other generated alias pairs behave the same way: `pnpm`/`pnpx`, `yarn`/`yarnpkg`, and `bun`/`bunx`. Mismatched tools are not translated; `npm` in a `pnpm` project still resolves as npm.
43
50
 
44
51
  ## Usage
@@ -149,6 +156,11 @@ Use these when you need to understand the current state of dependencies.
149
156
  - `vp why react` explains why `react` is installed
150
157
  - `vp info react` shows registry metadata such as versions and dist-tags
151
158
 
159
+ These commands show the packages that the package manager installed. They do
160
+ not show tools that Vite+ bundles or compiles. Run `vp toolchain [tool]` to show
161
+ these tools, including Vite, Rolldown, and Oxc. For readable output, `vp why`
162
+ shows a hint when Vite+ also provides the package.
163
+
152
164
  #### Rebuild
153
165
 
154
166
  Use `vp rebuild` when native modules need to be recompiled, for example after switching Node.js versions or when a C/C++ addon fails to load.
@@ -167,6 +179,19 @@ vp rebuild -- --update-binary
167
179
 
168
180
  With pnpm v10+, bare `vp rebuild` only rebuilds packages whose build scripts are listed in `onlyBuiltDependencies` (or approved via `pnpm approve-builds`); name the package explicitly to force a rebuild that bypasses the approval gate.
169
181
 
182
+ #### Dependency build scripts (npm v12+)
183
+
184
+ npm v12 skips dependency install scripts (`preinstall` / `install` / `postinstall`, including implicit `node-gyp` builds) unless the `allowScripts` field in package.json covers them; the install succeeds and npm warns about what it skipped. `vp pm approve-builds` manages that allowlist:
185
+
186
+ - `vp pm approve-builds <pkg...>` approves the named packages (`npm approve-scripts`)
187
+ - `vp pm approve-builds !<pkg...>` denies them (`npm deny-scripts`)
188
+ - `vp pm approve-builds --all` approves everything currently pending
189
+ - `vp pm approve-builds` lists the packages whose scripts are not yet covered
190
+
191
+ Approval only records the allowlist: scripts an earlier install skipped do not run until you run `vp rebuild <pkg>`. With npm 11.16 - 11.x the same commands work, but npm treats the allowlist as advisory and still runs scripts.
192
+
193
+ npm v12 also stops resolving git dependencies (`github:`, `git+https:`) and remote tarball URLs by default; such installs fail with `EALLOWGIT` / `EALLOWREMOTE`. Opt back in per project with npm's `allow-git` / `allow-remote` config.
194
+
170
195
  #### Advanced
171
196
 
172
197
  Use these when you need lower-level package-manager behavior.
@@ -100,6 +100,17 @@ These variables configure the installed Vite+ CLI. `VP_HOME` (above) also applie
100
100
  - **Default**: None (verification enabled)
101
101
  - **Details**: [Node.js Signature Verification](/guide/env#node-js-signature-verification)
102
102
 
103
+ ### `VP_DOWNLOAD_TIMEOUT`
104
+
105
+ - **Purpose**: Per-request timeout, in seconds, for large downloads such as Node.js runtimes and package-manager tarballs
106
+ - **Values**: Positive integer, at most `86400` (24 hours); invalid values are ignored with a warning
107
+ - **Default**: `600` (10 minutes)
108
+ - **Example**:
109
+ ```bash
110
+ # Allow up to 30 minutes per download on a slow connection
111
+ VP_DOWNLOAD_TIMEOUT=1800 vp env install 22
112
+ ```
113
+
103
114
  ### `VP_SHELL`
104
115
 
105
116
  - **Purpose**: Specify the current shell
@@ -154,7 +165,7 @@ Vite+ sets additional `VP_*` variables during shim dispatch and shell integratio
154
165
  - **Example**:
155
166
  ```bash
156
167
  VP_LOG=debug vp dev
157
- VP_LOG=vite_task=trace vp build
168
+ VP_LOG=vt=trace vp build
158
169
  ```
159
170
 
160
171
  ### `VP_DEBUG_SHIM`
@@ -43,8 +43,10 @@ We recommend enabling both `typeAware` and `typeCheck` in the `lint` block:
43
43
  - `typeAware: true` enables rules that require TypeScript type information
44
44
  - `typeCheck: true` enables full type checking during linting
45
45
 
46
- This path is powered by [tsgolint](https://github.com/oxc-project/tsgolint) on top of the TypeScript Go toolchain. It gives Oxlint access to type information and allows type checking directly via `vp lint` and `vp check`.
46
+ This path is powered by [tsgolint](https://github.com/oxc-project/tsgolint) on top of the TypeScript 7 (aka TypeScript Go) toolchain. It gives Oxlint access to type information and allows type checking directly via `vp lint` and `vp check`.
47
47
 
48
48
  ## JS Plugins
49
49
 
50
50
  If you are migrating from ESLint and still depend on a few critical JavaScript-based ESLint plugins, Oxlint has [JS plugin support](https://oxc.rs/docs/guide/usage/linter/js-plugins) that can help you keep those plugins running while you complete the migration.
51
+
52
+ JS Plugins also enable [writing your own custom rules](https://oxc.rs/docs/guide/usage/linter/writing-js-plugins.html) for Oxlint.
@@ -22,6 +22,9 @@ The positional `PATH` argument is optional.
22
22
 
23
23
  - If omitted, `vp migrate` migrates the current directory
24
24
  - If provided, it migrates that target directory instead
25
+ - For a monorepo, the target must be the workspace root. Vite+ cannot
26
+ migrate one workspace member, because migration updates the package-manager
27
+ configuration, the catalogs, and the lockfiles that all members share.
25
28
 
26
29
  ```bash
27
30
  vp migrate
@@ -69,6 +72,40 @@ After running the migration:
69
72
  - Run `vp test`
70
73
  - Run `vp build`
71
74
 
75
+ ## Manual Installation & Migration
76
+
77
+ If you are manually migrating a project to Vite+, install these dev dependencies first:
78
+
79
+ ```bash
80
+ vp install -D vite-plus
81
+ ```
82
+
83
+ You need to add overrides to your package manager so that other packages resolve the Vite+ versions: alias `vite` to `@voidzero-dev/vite-plus-core`, and pin `vitest` to the version Vite+ bundles (run `vp --version`) so the whole project shares a single Vitest copy with `vp test`. Without the `vitest` pin, a dependency or workspace package can pull a different Vitest than the bundled runner, splitting Vitest's internals (mocks, `expect`, runner state):
84
+
85
+ ```json
86
+ "overrides": {
87
+ "vite": "npm:@voidzero-dev/vite-plus-core@latest",
88
+ "vitest": "4.1.10"
89
+ }
90
+ ```
91
+
92
+ If you are using `pnpm`, add this to your `pnpm-workspace.yaml`:
93
+
94
+ ```yaml
95
+ overrides:
96
+ vite: npm:@voidzero-dev/vite-plus-core@latest
97
+ vitest: 4.1.10
98
+ ```
99
+
100
+ Or, if you are using Yarn:
101
+
102
+ ```json
103
+ "resolutions": {
104
+ "vite": "npm:@voidzero-dev/vite-plus-core@latest",
105
+ "vitest": "4.1.10"
106
+ }
107
+ ```
108
+
72
109
  ## Migration Prompt
73
110
 
74
111
  If you want to hand this work to a coding agent (or the reader is a coding agent!), use this migration prompt:
@@ -184,9 +221,9 @@ only when no existing hook policy is found.
184
221
 
185
222
  If your project currently uses `lefthook`, `simple-git-hooks`, or `yorkie`, `vp migrate` will leave your existing configuration alone and show a warning. This happens even if you choose to set up hooks during the prompt or include the `--hooks` flag.
186
223
 
187
- If you want to move one of those tools over to Vite+ manually, you can follow these steps. First, move your staged-file commands into the `staged` block within `vite.config.ts`. Then, update your lifecycle script so it runs `vp config`. You will also need to create a Vite+ hook at `.vite-hooks/pre-commit` that runs `vp staged`. Finally, once you have confirmed that the Vite+ hook is working as expected, you can remove the old tool's configuration and dependency.
224
+ If you want to move one of those tools over to Vite+ manually, you can follow these steps. First, move your staged-file commands into the `staged` block within `vite.config.ts`. Then, update your lifecycle script so it runs `vp config`. You will also need to create a Vite+ hook at `.vite-hooks/pre-commit` that runs `vp staged`. Run `vp hooks enable` (or `vp config`) to install the dispatcher and set `core.hooksPath`. Finally, once you have confirmed that the Vite+ hook is working as expected, you can remove the old tool's configuration and dependency.
188
225
 
189
- You can find more details about the full Vite+ hook setup in the [Commit hooks guide](/guide/commit-hooks).
226
+ Use `vp hooks status` to verify the dispatcher is active, and `vp hooks disable` if you need to turn it off again in this clone. You can find more details about the full Vite+ hook setup in the [Commit hooks guide](/guide/commit-hooks).
190
227
 
191
228
  ## Examples
192
229
 
@@ -24,7 +24,7 @@ export default defineConfig({
24
24
  overrides: [
25
25
  {
26
26
  files: ['apps/web/**', 'packages/ui/**'],
27
- plugins: ['typescript', 'react'],
27
+ plugins: ['react'],
28
28
  rules: {
29
29
  'react/self-closing-comp': 'error',
30
30
  },
@@ -40,9 +40,9 @@ export default defineConfig({
40
40
  },
41
41
  {
42
42
  files: ['**/*.test.ts', '**/*.spec.ts'],
43
- plugins: ['typescript', 'vitest'],
43
+ plugins: ['vitest'],
44
44
  rules: {
45
- '@typescript-eslint/no-explicit-any': 'off',
45
+ 'typescript/no-explicit-any': 'off',
46
46
  'vitest/no-disabled-tests': 'error',
47
47
  },
48
48
  },
@@ -54,7 +54,7 @@ export default defineConfig({
54
54
  Globs are resolved from the root `vite.config.ts`, so use workspace paths such as `apps/web/**`, `apps/api/**`, and `packages/ui/**`.
55
55
 
56
56
  ::: tip
57
- When a `lint.overrides` entry sets `plugins`, that list replaces the base `lint.plugins` list for matched files. Include every plugin needed by that file group, such as `['typescript', 'react']`. Omit `plugins` only when the override should inherit the base list unchanged.
57
+ When a `lint.overrides` entry sets `plugins`, that list will be merged with the base `lint.plugins` list for matched files. Omit `plugins` only when the override should inherit the base list unchanged.
58
58
  :::
59
59
 
60
60
  ## Format Overrides
@@ -15,6 +15,9 @@ Vite+ expects modern upstream tool versions.
15
15
 
16
16
  If you are migrating an existing project and it still depends on older Vite or Vitest versions, upgrade those first before adopting Vite+.
17
17
 
18
+ Run `vp toolchain` to show the versions from the local Vite+ package.
19
+ Run `vp toolchain --global` to show the versions from the global Vite+ release.
20
+
18
21
  ## `vp check` does not run type-aware lint rules or type checks
19
22
 
20
23
  - Confirm that `lint.options.typeAware` and `lint.options.typeCheck` are enabled in `vite.config.ts`
@@ -53,9 +56,14 @@ You can also run custom tasks defined in `vite.config.ts` and migrate away from
53
56
  If `vp staged` fails or your pre-commit hook does not run:
54
57
 
55
58
  - make sure `vite.config.ts` contains a `staged` block
56
- - make sure the project-owned pre-commit hook runs `vp staged`
57
- - run `vp config` to install the hook dispatcher
58
- - check whether hook installation was skipped intentionally through `VP_GIT_HOOKS=0`
59
+ - make sure the project-owned pre-commit hook runs `vp staged` (for example `.vite-hooks/pre-commit`)
60
+ - run `vp hooks status` to see preference, `core.hooksPath`, and whether the dispatcher is installed
61
+ - run `vp hooks enable` (or `vp config`) to install the hook dispatcher
62
+ - if status shows `Preference: disabled (local)`, re-enable with `vp hooks enable`
63
+ - check whether hooks were skipped intentionally through `VP_GIT_HOOKS=0`
64
+
65
+ To stop hooks in this clone without deleting project policy files, run `vp hooks disable`.
66
+ See the [Commit hooks guide](/guide/commit-hooks) for the full workflow.
59
67
 
60
68
  A minimal staged config looks like this:
61
69
 
@@ -106,7 +114,7 @@ If you are stuck, please reach out:
106
114
 
107
115
  When reporting a problem, please include:
108
116
 
109
- - The full output of `vp env current` and `vp --version`
117
+ - The full output of `vp env current`, `vp --version`, and `vp toolchain`
110
118
  - The package manager used by the project
111
119
  - The exact steps needed to reproduce the problem and your `vite.config.ts`
112
120
  - A minimal reproduction repository or runnable sandbox
@@ -11,6 +11,29 @@ There are two parts to upgrading Vite+:
11
11
 
12
12
  You can upgrade both of them independently.
13
13
 
14
+ ## Show the Toolchain
15
+
16
+ Run `vp toolchain` to show the components for the current directory:
17
+
18
+ ```bash
19
+ vp toolchain
20
+ vp toolchain vite
21
+ vp toolchain vite rolldown oxc
22
+ vp toolchain --json
23
+ ```
24
+
25
+ The command uses the local `vite-plus` package when the project has one. Use
26
+ `--global` to show the release for the global `vp` command:
27
+
28
+ ```bash
29
+ vp toolchain --global
30
+ ```
31
+
32
+ `vp why <package>` shows the dependency graph from the package manager. It
33
+ cannot show code bundled into `@voidzero-dev/vite-plus-core`. It also cannot
34
+ show engines compiled into Vite+. Use `vp toolchain` to show those versions and
35
+ relationships.
36
+
14
37
  ## Global `vp`
15
38
 
16
39
  ```bash
@@ -53,7 +76,7 @@ A Vite+ release can bump the bundled Vitest. Because that pin also applies to `v
53
76
  After upgrading `vite-plus`, re-pin `vitest` to the version Vite+ now bundles. Check that version with:
54
77
 
55
78
  ```bash
56
- vp --version
79
+ vp toolchain vitest
57
80
  ```
58
81
 
59
82
  Then set the `vitest` override to that exact version, or rerun `vp migrate` to update the pin for you.
@@ -86,7 +109,7 @@ irm https://vite.plus/ps1 | iex
86
109
  Remove-Item Env:\VP_PR_VERSION
87
110
  ```
88
111
 
89
- The installer resolves the ref to its `0.0.0-commit.<sha>` build through the registry bridge and installs it like any other version. Run `vp --version` afterward to confirm which build and bundled tool versions are active. When you are done testing, return to the published release with `vp upgrade --force` or by running the installer again without `VP_PR_VERSION`.
112
+ The installer uses the registry bridge to resolve the ref to a `0.0.0-commit.<sha>` build. It installs this build like other versions. Run `vp toolchain --global` to show the active build and tool versions. After testing, run `vp upgrade --force` to restore the published release. You can also run the installer without `VP_PR_VERSION`.
90
113
 
91
114
  ### Local `vite-plus` Preview
92
115
 
@@ -96,6 +119,6 @@ After installing the preview global CLI above, run migrate in the project to mov
96
119
  vp migrate
97
120
  ```
98
121
 
99
- Migrate points the project at the bridge registry (writing it to `.npmrc`, or `.yarnrc.yml` for Yarn Berry) and pins `vite-plus` and the `vite` -> `@voidzero-dev/vite-plus-core` alias to the matching `0.0.0-commit.<sha>` version. That registry line is what lets the same versions resolve in the project's own CI, so commit it if you want CI to test the preview too.
122
+ Migrate writes the bridge registry to `.npmrc`. For Yarn Berry, it writes the registry to `.yarnrc.yml`. It pins `vite-plus` and the `vite` alias to the matching `0.0.0-commit.<sha>` version. The `vite` alias points to `@voidzero-dev/vite-plus-core`. Commit the registry line if the project CI must test the preview.
100
123
 
101
- After installing, check the bundled versions with `vp --version`. When testing is complete, restore the published release: set `vite-plus` back to `latest`, remove the bridge `registry` line from `.npmrc` (or `.yarnrc.yml`), and reinstall with `vp install`.
124
+ After the install, run `vp toolchain` to show the selected versions. After testing, set `vite-plus` to `latest`. Remove the bridge `registry` line from `.npmrc` or `.yarnrc.yml`. Then run `vp install`.
package/docs/package.json CHANGED
@@ -26,5 +26,5 @@
26
26
  "tailwindcss": "^4.1.18",
27
27
  "vitepress": "2.0.0-alpha.17"
28
28
  },
29
- "packageManager": "pnpm@10.34.4"
29
+ "packageManager": "pnpm@11.20.0"
30
30
  }
@@ -1,6 +1,13 @@
1
1
  packages:
2
2
  - .
3
3
 
4
+ # pnpm 11 fails installs on unreviewed dependency build scripts
5
+ # (ERR_PNPM_IGNORED_BUILDS). These scripts were already skipped under
6
+ # pnpm 10; keep them skipped explicitly.
7
+ allowBuilds:
8
+ esbuild: false
9
+ vue-demi: false
10
+
4
11
  peerDependencyRules:
5
12
  allowAny:
6
13
  - vitepress
@@ -3,6 +3,9 @@ export default {
3
3
  tasks: {
4
4
  'build:site': {
5
5
  command: 'vitepress build',
6
+ // The install-URL rewrite in .vitepress/config.mts depends on this
7
+ // variable, so different deploy targets must not share cached output.
8
+ env: ['DOCS_SITE_ORIGIN'],
6
9
  input: [
7
10
  { auto: true },
8
11
  '!.vitepress/.temp/**',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plus",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "description": "The Unified Toolchain for the Web",
5
5
  "homepage": "https://viteplus.dev/guide",
6
6
  "bugs": {
@@ -85,6 +85,10 @@
85
85
  "./pack/client": {
86
86
  "types": "./dist/pack-client.d.ts"
87
87
  },
88
+ "./toolchain": {
89
+ "types": "./dist/toolchain.d.ts",
90
+ "default": "./dist/toolchain.js"
91
+ },
88
92
  "./versions": {
89
93
  "types": "./dist/versions.d.ts",
90
94
  "default": "./dist/versions.js"
@@ -347,7 +351,7 @@
347
351
  }
348
352
  },
349
353
  "dependencies": {
350
- "@oxc-project/types": "=0.142.0",
354
+ "@oxc-project/types": "=0.143.0",
351
355
  "@oxlint/plugins": "=1.73.0",
352
356
  "@vitest/browser": "4.1.10",
353
357
  "@vitest/browser-preview": "4.1.10",
@@ -358,11 +362,11 @@
358
362
  "@vitest/snapshot": "4.1.10",
359
363
  "@vitest/spy": "4.1.10",
360
364
  "@vitest/utils": "4.1.10",
361
- "oxfmt": "=0.61.0",
362
- "oxlint": "=1.76.0",
365
+ "oxfmt": "=0.62.0",
366
+ "oxlint": "=1.77.0",
363
367
  "oxlint-tsgolint": "=7.0.2001",
364
368
  "vitest": "4.1.10",
365
- "@voidzero-dev/vite-plus-core": "0.2.8"
369
+ "@voidzero-dev/vite-plus-core": "0.2.9"
366
370
  },
367
371
  "devDependencies": {
368
372
  "@emnapi/core": "2.0.0-alpha.3",
@@ -392,7 +396,7 @@
392
396
  "yaml": "^2.8.1",
393
397
  "zod": "^3.25.76",
394
398
  "@voidzero-dev/vite-plus-prompts": "0.0.0",
395
- "vite": "npm:@voidzero-dev/vite-plus-core@0.2.8"
399
+ "vite": "npm:@voidzero-dev/vite-plus-core@0.2.9"
396
400
  },
397
401
  "peerDependencies": {
398
402
  "@vitest/browser-playwright": "4.1.10",
@@ -424,14 +428,14 @@
424
428
  "node": "^20.19.0 || ^22.18.0 || >=24.11.0"
425
429
  },
426
430
  "optionalDependencies": {
427
- "@voidzero-dev/vite-plus-darwin-arm64": "0.2.8",
428
- "@voidzero-dev/vite-plus-darwin-x64": "0.2.8",
429
- "@voidzero-dev/vite-plus-linux-arm64-gnu": "0.2.8",
430
- "@voidzero-dev/vite-plus-linux-arm64-musl": "0.2.8",
431
- "@voidzero-dev/vite-plus-linux-x64-gnu": "0.2.8",
432
- "@voidzero-dev/vite-plus-linux-x64-musl": "0.2.8",
433
- "@voidzero-dev/vite-plus-win32-x64-msvc": "0.2.8",
434
- "@voidzero-dev/vite-plus-win32-arm64-msvc": "0.2.8"
431
+ "@voidzero-dev/vite-plus-darwin-arm64": "0.2.9",
432
+ "@voidzero-dev/vite-plus-darwin-x64": "0.2.9",
433
+ "@voidzero-dev/vite-plus-linux-arm64-gnu": "0.2.9",
434
+ "@voidzero-dev/vite-plus-linux-arm64-musl": "0.2.9",
435
+ "@voidzero-dev/vite-plus-linux-x64-gnu": "0.2.9",
436
+ "@voidzero-dev/vite-plus-linux-x64-musl": "0.2.9",
437
+ "@voidzero-dev/vite-plus-win32-x64-msvc": "0.2.9",
438
+ "@voidzero-dev/vite-plus-win32-arm64-msvc": "0.2.9"
435
439
  },
436
440
  "scripts": {
437
441
  "build": "oxnode -C dev ./build.ts",
@@ -10,7 +10,6 @@ rule:
10
10
  regex: 'vite\s+(-v|--version)'
11
11
  fix: vp
12
12
 
13
-
14
13
  # vite => vp dev (handles all cases: with/without env var prefix and flag args)
15
14
  # Match command_name to preserve env var prefix and arguments
16
15
  # Excludes subcommands like "vite build", "vite test", etc.
@@ -27,7 +26,6 @@ rule:
27
26
  regex: 'vite\s+[^-]'
28
27
  fix: vp dev
29
28
 
30
-
31
29
  # vite <subcommand> => vp <subcommand> (handles vite build, vite test, vite dev, etc.)
32
30
  # Match command_name when followed by a subcommand, replace only the command name
33
31
  ---
@@ -41,7 +39,6 @@ rule:
41
39
  regex: 'vite\s+[^-]'
42
40
  fix: vp
43
41
 
44
-
45
42
  # oxlint => vp lint (handles all cases: with/without env var prefix and args)
46
43
  # Match command_name to preserve env var prefix and arguments
47
44
  ---
@@ -52,7 +49,6 @@ rule:
52
49
  regex: '^oxlint$'
53
50
  fix: vp lint
54
51
 
55
-
56
52
  # oxfmt => vp fmt
57
53
  ---
58
54
  id: replace-oxfmt
@@ -62,7 +58,6 @@ rule:
62
58
  regex: '^oxfmt$'
63
59
  fix: vp fmt
64
60
 
65
-
66
61
  # vitest => vp test
67
62
  ---
68
63
  id: replace-vitest
@@ -72,7 +67,6 @@ rule:
72
67
  regex: '^vitest$'
73
68
  fix: vp test
74
69
 
75
-
76
70
  # lint-staged => vp staged
77
71
  ---
78
72
  id: replace-lint-staged
@@ -82,7 +76,6 @@ rule:
82
76
  regex: '^lint-staged$'
83
77
  fix: vp staged
84
78
 
85
-
86
79
  # tsdown => vp pack
87
80
  ---
88
81
  id: replace-tsdown
@@ -1,3 +0,0 @@
1
- import { t as require_dist } from "./dist-CSQWHI6y.js";
2
- export default require_dist();
3
- export {};
@@ -1,6 +1,6 @@
1
1
  import { dirname, join } from "node:path";
2
- import { existsSync, realpathSync } from "node:fs";
3
2
  import { fileURLToPath } from "node:url";
3
+ import { existsSync, realpathSync } from "node:fs";
4
4
  //#region src/utils/tsgolint-path.ts
5
5
  function resolveWindowsTsgolintExecutable(pathCandidates, options) {
6
6
  let oxlintTsgolintPath = pathCandidates.find((p) => options.exists(p)) ?? "";