void 0.7.1 → 0.7.3

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 (167) hide show
  1. package/dist/agents-DqkFfc2c.mjs +151 -0
  2. package/dist/{auth-cmd-DVKi6dzh.mjs → auth-cmd-Dk0acCT5.mjs} +2 -2
  3. package/dist/{better-auth-shared-C9_GHSkR.d.mts → better-auth-shared-CZsIpjey.d.mts} +1 -1
  4. package/dist/{cache-B0BgSTZi.mjs → cache-DGSZ5Bh6.mjs} +2 -2
  5. package/dist/{cancel-deploy-D9OFt5gA.mjs → cancel-deploy-CrY3kt93.mjs} +1 -1
  6. package/dist/cli/cli.mjs +27 -174
  7. package/dist/{client-BUdfE3QJ.mjs → client-DCqnMpDt.mjs} +97 -11
  8. package/dist/{create-project-CN1pF-OQ.mjs → create-project-Bg88Kq_I.mjs} +3 -3
  9. package/dist/{db-BIP2kuEt.mjs → db-ClNu7vYQ.mjs} +13 -13
  10. package/dist/{delete-DJTvwbr-.mjs → delete-DXcX1yQZ.mjs} +2 -2
  11. package/dist/{deploy-BqXz1ycW.mjs → deploy-BkjqNk9U.mjs} +565 -161
  12. package/dist/{domain-B-fIU3VE.mjs → domain-CDQhvYNZ.mjs} +1 -1
  13. package/dist/{env-BwbZJd2x.mjs → env-CnrQY2b6.mjs} +1 -1
  14. package/dist/{env-helpers-Dr9Y7RnE.d.mts → env-helpers-CbeM_7-k.d.mts} +1 -1
  15. package/dist/{gen-U0Ktr4Zd.mjs → gen-C0EY2k27.mjs} +1 -1
  16. package/dist/{handler-B0ds0OHJ.d.mts → handler-dKQWyF-G.d.mts} +3 -3
  17. package/dist/index.d.mts +3 -3
  18. package/dist/index.mjs +13 -12
  19. package/dist/{init-Bb_Qsdq6.mjs → init-CPny6w9D.mjs} +63 -28
  20. package/dist/{link-D4d26PCm.mjs → link-eZ0aiHFK.mjs} +2 -2
  21. package/dist/{list-bQc1eQCZ.mjs → list-ztyEz4TW.mjs} +2 -2
  22. package/dist/{login-RWUDCfdx.mjs → login-B5HHT32i.mjs} +1 -1
  23. package/dist/{logs-DrkTklop.mjs → logs-J4BN0LXd.mjs} +1 -1
  24. package/dist/{mcp-kZ4zg13a.mjs → mcp-Bdu9bnjR.mjs} +1 -1
  25. package/dist/{node-DDfXj10V.mjs → node-DFqMcZR1.mjs} +3 -3
  26. package/dist/pages/client.d.mts +1 -1
  27. package/dist/pages/client.mjs +3 -0
  28. package/dist/pages/head-client.d.mts +1 -1
  29. package/dist/pages/head.d.mts +1 -1
  30. package/dist/pages/index.d.mts +2 -2
  31. package/dist/pages/index.mjs +1 -1
  32. package/dist/pages/islands-plugin.d.mts +1 -1
  33. package/dist/pages/protocol.d.mts +2 -2
  34. package/dist/pages/protocol.mjs +23 -18
  35. package/dist/{prepare-BAtWufvm.mjs → prepare-DKkx-2Kt.mjs} +1 -1
  36. package/dist/{project-cmd-ATFi3kRm.mjs → project-cmd-DKiQYdSd.mjs} +8 -8
  37. package/dist/{protocol-BWzXs2A2.d.mts → protocol-CK4OFwfR.d.mts} +2 -2
  38. package/dist/{rollback-BSyita3C.mjs → rollback-ZNvT8T54.mjs} +1 -1
  39. package/dist/{runner-6Ep3fNQu.mjs → runner-BUPRnMFN.mjs} +1 -1
  40. package/dist/runtime/ai.mjs +1 -1
  41. package/dist/runtime/auth.d.mts +1 -1
  42. package/dist/runtime/better-auth-pg.d.mts +1 -1
  43. package/dist/runtime/better-auth-pg.mjs +2 -2
  44. package/dist/runtime/better-auth.d.mts +1 -1
  45. package/dist/runtime/better-auth.mjs +2 -2
  46. package/dist/runtime/client.d.mts +2 -2
  47. package/dist/runtime/client.mjs +1 -1
  48. package/dist/runtime/env-helpers.d.mts +1 -1
  49. package/dist/runtime/env-public-client.d.mts +1 -1
  50. package/dist/runtime/env-public.d.mts +2 -2
  51. package/dist/runtime/env-public.mjs +1 -1
  52. package/dist/runtime/env.mjs +1 -1
  53. package/dist/runtime/fetch-stream.d.mts +1 -1
  54. package/dist/runtime/fetch-stream.mjs +1 -1
  55. package/dist/runtime/fetch.d.mts +1 -1
  56. package/dist/runtime/fetch.mjs +1 -1
  57. package/dist/runtime/handler.d.mts +1 -1
  58. package/dist/runtime/handler.mjs +1 -1
  59. package/dist/runtime/isr.mjs +1 -1
  60. package/dist/runtime/migration-handler.mjs +2 -2
  61. package/dist/runtime/validator.d.mts +1 -1
  62. package/dist/runtime/ws-server.d.mts +2 -2
  63. package/dist/runtime/ws.d.mts +3 -3
  64. package/dist/{secret-DmjBDxB1.mjs → secret-BXHx515u.mjs} +2 -2
  65. package/dist/{skills-ipldjlKE.mjs → skills-CbuYOthf.mjs} +1 -1
  66. package/package.json +13 -13
  67. package/skills/void/docs/guide/deployment.md +4 -6
  68. package/skills/void/docs/index.md +3 -3
  69. package/skills/void/docs/node_modules/void/AGENTS.md +1 -1
  70. package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +1 -1
  71. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +1 -1
  72. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +15 -0
  73. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +208 -0
  74. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +21 -0
  75. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +18 -0
  76. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +31 -0
  77. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +24 -0
  78. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +17 -0
  79. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +249 -0
  80. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +15 -0
  81. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +18 -0
  82. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/build.md +40 -0
  83. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +119 -0
  84. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +44 -0
  85. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +64 -0
  86. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +51 -0
  87. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +88 -0
  88. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/dev.md +24 -0
  89. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +102 -0
  90. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/fmt.md +41 -0
  91. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +101 -0
  92. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/implode.md +23 -0
  93. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +128 -0
  94. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +147 -0
  95. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/lint.md +50 -0
  96. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +173 -0
  97. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +61 -0
  98. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +324 -0
  99. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/test.md +35 -0
  100. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +132 -0
  101. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +49 -0
  102. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/vpx.md +66 -0
  103. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/why.md +39 -0
  104. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/index.md +12 -0
  105. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/team.md +35 -0
  106. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/generator/README.md +35 -0
  107. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/monorepo/README.md +29 -0
  108. package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +15 -0
  109. package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +208 -0
  110. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +21 -0
  111. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +18 -0
  112. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +31 -0
  113. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +24 -0
  114. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +17 -0
  115. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +249 -0
  116. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +15 -0
  117. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +18 -0
  118. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/build.md +40 -0
  119. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +119 -0
  120. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +44 -0
  121. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +64 -0
  122. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +51 -0
  123. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +88 -0
  124. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/dev.md +24 -0
  125. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +102 -0
  126. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/fmt.md +41 -0
  127. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +101 -0
  128. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/implode.md +23 -0
  129. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +128 -0
  130. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +147 -0
  131. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/lint.md +50 -0
  132. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +173 -0
  133. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +61 -0
  134. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +324 -0
  135. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/test.md +35 -0
  136. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +132 -0
  137. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +49 -0
  138. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/vpx.md +66 -0
  139. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/why.md +39 -0
  140. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/index.md +12 -0
  141. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/team.md +35 -0
  142. package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/generator/README.md +35 -0
  143. package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/monorepo/README.md +29 -0
  144. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tsdown/README.md +0 -55
  145. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite/LICENSE.md +0 -2230
  146. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite/README.md +0 -20
  147. package/skills/void/docs/node_modules/void/node_modules/tsdown/README.md +0 -55
  148. package/skills/void/docs/node_modules/void/node_modules/vite/LICENSE.md +0 -2230
  149. package/skills/void/docs/node_modules/void/node_modules/vite/README.md +0 -20
  150. /package/dist/{auth-BdsJ0Aff.d.mts → auth-DrfOTMmr.d.mts} +0 -0
  151. /package/dist/{auth-migrations-BAtAck2g.mjs → auth-migrations-BwLPwRgH.mjs} +0 -0
  152. /package/dist/{better-auth-shared-CdYmQGry.mjs → better-auth-shared-APuDaPqW.mjs} +0 -0
  153. /package/dist/{defer-DcxEsVH1.mjs → defer-2ARBu8Et.mjs} +0 -0
  154. /package/dist/{drizzle-NnudE_UN.mjs → drizzle-C-NRqGhx.mjs} +0 -0
  155. /package/dist/{env-raw-BDL4TvdN.mjs → env-raw-DtfQ9E31.mjs} +0 -0
  156. /package/dist/{fetch-error-BQ8sZ5Nd.mjs → fetch-error-CEr0ACTl.mjs} +0 -0
  157. /package/dist/{fetch-error-CVZ5CGA-.d.mts → fetch-error-DflegrF3.d.mts} +0 -0
  158. /package/dist/{head-P-egrtFE.d.mts → head-CZGAunBV.d.mts} +0 -0
  159. /package/dist/{headers-DCXc7mDs.mjs → headers-YVkHjOyq.mjs} +0 -0
  160. /package/dist/{preset-D4I73kT4.mjs → preset-DFvePt0l.mjs} +0 -0
  161. /package/dist/{project-slug-CKam8lF9.mjs → project-slug-KRvHQEQI.mjs} +0 -0
  162. /package/dist/{resolve-project-Br5BR03U.mjs → resolve-project-DdjLQ2tB.mjs} +0 -0
  163. /package/dist/{runner-pg-D0wWHYnr.mjs → runner-pg-BI6f6Ncm.mjs} +0 -0
  164. /package/dist/{standard-schema-9CRjx-uR.d.mts → standard-schema-BfGDWXff.d.mts} +0 -0
  165. /package/dist/{subcommand-prompt-BKjuNAPb.mjs → subcommand-prompt-BMS1TNG5.mjs} +0 -0
  166. /package/dist/{types-mHOEwpW4.d.mts → types-AdKzPp2C.d.mts} +0 -0
  167. /package/dist/{yarn-pnp-BFqMV_bl.mjs → yarn-pnp-6LD6_3Ej.mjs} +0 -0
@@ -0,0 +1,18 @@
1
+ # Format Config
2
+
3
+ `vp fmt` and `vp check` read Oxfmt settings from the `fmt` block in `vite.config.ts`. See [Oxfmt's configuration](https://oxc.rs/docs/guide/usage/formatter/config.html) for details.
4
+
5
+ ## Example
6
+
7
+ ```ts
8
+ import { defineConfig } from 'vite-plus';
9
+
10
+ export default defineConfig({
11
+ fmt: {
12
+ ignorePatterns: ['dist/**'],
13
+ singleQuote: true,
14
+ semi: true,
15
+ sortPackageJson: true,
16
+ },
17
+ });
18
+ ```
@@ -0,0 +1,31 @@
1
+ # Configuring Vite+
2
+
3
+ Vite+ keeps project configuration in one place: `vite.config.ts`, allowing you to consolidate many top-level configuration files in a single file. You can keep using your Vite configuration such as `server` or `build`, and add Vite+ blocks for the rest of your workflow:
4
+
5
+ ```ts
6
+ import { defineConfig } from 'vite-plus';
7
+
8
+ export default defineConfig({
9
+ server: {},
10
+ build: {},
11
+ preview: {},
12
+
13
+ test: {},
14
+ lint: {},
15
+ fmt: {},
16
+ run: {},
17
+ pack: {},
18
+ staged: {},
19
+ });
20
+ ```
21
+
22
+ ## Vite+ Specific Configuration
23
+
24
+ Vite+ extends the basic Vite configuration with these additions:
25
+
26
+ - [`lint`](/config/lint) for Oxlint
27
+ - [`fmt`](/config/fmt) for Oxfmt
28
+ - [`test`](/config/test) for Vitest
29
+ - [`run`](/config/run) for Vite Task
30
+ - [`pack`](/config/pack) for tsdown
31
+ - [`staged`](/config/staged) for staged-file checks
@@ -0,0 +1,24 @@
1
+ # Lint Config
2
+
3
+ `vp lint` and `vp check` read Oxlint settings from the `lint` block in `vite.config.ts`. See [Oxlint's configuration](https://oxc.rs/docs/guide/usage/linter/config.html) for details.
4
+
5
+ ## Example
6
+
7
+ ```ts
8
+ import { defineConfig } from 'vite-plus';
9
+
10
+ export default defineConfig({
11
+ lint: {
12
+ ignorePatterns: ['dist/**'],
13
+ options: {
14
+ typeAware: true,
15
+ typeCheck: true,
16
+ },
17
+ rules: {
18
+ 'no-console': ['error', { allow: ['error'] }],
19
+ },
20
+ },
21
+ });
22
+ ```
23
+
24
+ We recommend enabling both `options.typeAware` and `options.typeCheck` so `vp lint` and `vp check` can use the full type-aware path.
@@ -0,0 +1,17 @@
1
+ # Pack Config
2
+
3
+ `vp pack` reads tsdown settings from the `pack` block in `vite.config.ts`. See [tsdown's configuration](https://tsdown.dev/options/config-file) for details.
4
+
5
+ ## Example
6
+
7
+ ```ts
8
+ import { defineConfig } from 'vite-plus';
9
+
10
+ export default defineConfig({
11
+ pack: {
12
+ dts: true,
13
+ format: ['esm', 'cjs'],
14
+ sourcemap: true,
15
+ },
16
+ });
17
+ ```
@@ -0,0 +1,249 @@
1
+ # Run Config
2
+
3
+ You can configure Vite Task under the `run` field in `vite.config.ts`. Check out [`vp run`](/guide/run) to learn more about running scripts and tasks with Vite+.
4
+
5
+ ```ts
6
+ import { defineConfig } from 'vite-plus';
7
+
8
+ export default defineConfig({
9
+ run: {
10
+ enablePrePostScripts: true,
11
+ cache: {
12
+ /* ... */
13
+ },
14
+ tasks: {
15
+ /* ... */
16
+ },
17
+ },
18
+ });
19
+ ```
20
+
21
+ ## `run.enablePrePostScripts`
22
+
23
+ - **Type:** `boolean`
24
+ - **Default:** `true`
25
+
26
+ Whether to automatically run `preX`/`postX` package.json scripts as lifecycle hooks when script `X` is executed.
27
+
28
+ When enabled (the default), running a script like `test` will automatically run `pretest` before it and `posttest` after it, if they exist in `package.json`.
29
+
30
+ ```ts
31
+ export default defineConfig({
32
+ run: {
33
+ enablePrePostScripts: false, // Disable pre/post lifecycle hooks
34
+ },
35
+ });
36
+ ```
37
+
38
+ ::: warning
39
+ This option can only be set in the workspace root's `vite.config.ts`. Setting it in a package's config will result in an error.
40
+ :::
41
+
42
+ ## `run.cache`
43
+
44
+ - **Type:** `boolean | { scripts?: boolean, tasks?: boolean }`
45
+ - **Default:** `{ scripts: false, tasks: true }`
46
+
47
+ Controls whether task results are cached and replayed on subsequent runs.
48
+
49
+ ```ts
50
+ export default defineConfig({
51
+ run: {
52
+ cache: {
53
+ scripts: true, // Cache package.json scripts (default: false)
54
+ tasks: true, // Cache task definitions (default: true)
55
+ },
56
+ },
57
+ });
58
+ ```
59
+
60
+ `cache: true` enables both task and script caching, `cache: false` disables both.
61
+
62
+ ## `run.tasks`
63
+
64
+ - **Type:** `Record<string, TaskConfig>`
65
+
66
+ Defines tasks that can be run with `vp run <task>`.
67
+
68
+ ### `command`
69
+
70
+ - **Type:** `string`
71
+
72
+ Defines the shell command to run for the task.
73
+
74
+ ```ts
75
+ tasks: {
76
+ build: {
77
+ command: 'vp build',
78
+ },
79
+ }
80
+ ```
81
+
82
+ Each task defined in `vite.config.ts` must include its own `command`. You cannot define a task in both `vite.config.ts` and `package.json` with the same task name.
83
+
84
+ Commands joined with `&&` are automatically split into independently cached sub-tasks. See [Compound Commands](/guide/run#compound-commands).
85
+
86
+ ### `dependsOn`
87
+
88
+ - **Type:** `string[]`
89
+ - **Default:** `[]`
90
+
91
+ Tasks that must complete successfully before this one starts.
92
+
93
+ ```ts
94
+ tasks: {
95
+ deploy: {
96
+ command: 'deploy-script --prod',
97
+ dependsOn: ['build', 'test'],
98
+ },
99
+ }
100
+ ```
101
+
102
+ Dependencies can reference tasks in other packages using the `package#task` format:
103
+
104
+ ```ts
105
+ dependsOn: ['@my/core#build', '@my/utils#lint'];
106
+ ```
107
+
108
+ See [Task Dependencies](/guide/run#task-dependencies) for details on how explicit and topological dependencies interact.
109
+
110
+ ### `cache`
111
+
112
+ - **Type:** `boolean`
113
+ - **Default:** `true`
114
+
115
+ Whether to cache this task's output. Set to `false` for tasks that should never be cached, like dev servers:
116
+
117
+ ```ts
118
+ tasks: {
119
+ dev: {
120
+ command: 'vp dev',
121
+ cache: false,
122
+ },
123
+ }
124
+ ```
125
+
126
+ ### `env`
127
+
128
+ - **Type:** `string[]`
129
+ - **Default:** `[]`
130
+
131
+ Environment variables included in the cache fingerprint. When any listed variable's value changes, the cache is invalidated.
132
+
133
+ ```ts
134
+ tasks: {
135
+ build: {
136
+ command: 'vp build',
137
+ env: ['NODE_ENV'],
138
+ },
139
+ }
140
+ ```
141
+
142
+ Wildcard patterns are supported: `VITE_*` matches all variables starting with `VITE_`.
143
+
144
+ ```bash
145
+ $ NODE_ENV=development vp run build # first run
146
+ $ NODE_ENV=production vp run build # cache miss: variable changed
147
+ ```
148
+
149
+ ### `untrackedEnv`
150
+
151
+ - **Type:** `string[]`
152
+ - **Default:** see below
153
+
154
+ Environment variables passed to the task process but **not** included in the cache fingerprint. Changing these values won't invalidate the cache.
155
+
156
+ ```ts
157
+ tasks: {
158
+ build: {
159
+ command: 'vp build',
160
+ untrackedEnv: ['CI', 'GITHUB_ACTIONS'],
161
+ },
162
+ }
163
+ ```
164
+
165
+ A set of common environment variables are automatically passed through to all tasks:
166
+
167
+ - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ`
168
+ - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME`
169
+ - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*`
170
+ - **Terminal:** `TERM`, `COLORTERM`, `FORCE_COLOR`, `NO_COLOR`
171
+
172
+ ### `input`
173
+
174
+ - **Type:** `Array<string | { auto: boolean } | { pattern: string, base: "workspace" | "package" }>`
175
+ - **Default:** `[{ auto: true }]` (auto-inferred)
176
+
177
+ Vite Task automatically detects which files are used by a command (see [Automatic File Tracking](/guide/cache#automatic-file-tracking)). The `input` option can be used to explicitly include or exclude certain files.
178
+
179
+ **Exclude files** from automatic tracking:
180
+
181
+ ```ts
182
+ tasks: {
183
+ build: {
184
+ command: 'vp build',
185
+ // Use `{ auto: true }` to use automatic fingerprinting (default).
186
+ input: [{ auto: true }, '!**/*.tsbuildinfo', '!dist/**'],
187
+ },
188
+ }
189
+ ```
190
+
191
+ **Specify explicit files** only without automatic tracking:
192
+
193
+ ```ts
194
+ tasks: {
195
+ build: {
196
+ command: 'vp build',
197
+ input: ['src/**/*.ts', 'vite.config.ts'],
198
+ },
199
+ }
200
+ ```
201
+
202
+ **Resolve patterns relative to the workspace root** using the object form:
203
+
204
+ ```ts
205
+ tasks: {
206
+ build: {
207
+ command: 'vp build',
208
+ input: [
209
+ { auto: true },
210
+ { pattern: 'shared-config/**', base: 'workspace' },
211
+ ],
212
+ },
213
+ }
214
+ ```
215
+
216
+ The `base` field is required and controls how the glob pattern is resolved:
217
+ - `"package"`: relative to the package directory
218
+ - `"workspace"`: relative to the workspace root
219
+
220
+ **Disable file tracking** entirely and cache only on command/env changes:
221
+
222
+ ```ts
223
+ tasks: {
224
+ greet: {
225
+ command: 'node greet.mjs',
226
+ input: [],
227
+ },
228
+ }
229
+ ```
230
+
231
+ ::: tip
232
+ String glob patterns are resolved relative to the package directory by default. Use the object form with `base: "workspace"` to resolve relative to the workspace root.
233
+ :::
234
+
235
+ ### `cwd`
236
+
237
+ - **Type:** `string`
238
+ - **Default:** package root
239
+
240
+ Working directory for the task, relative to the package root.
241
+
242
+ ```ts
243
+ tasks: {
244
+ 'test-e2e': {
245
+ command: 'vp test',
246
+ cwd: 'tests/e2e',
247
+ },
248
+ }
249
+ ```
@@ -0,0 +1,15 @@
1
+ # Staged Config
2
+
3
+ `vp staged` and `vp config` read staged-file rules from the `staged` block in `vite.config.ts`. See the [Commit hooks guide](/guide/commit-hooks).
4
+
5
+ ## Example
6
+
7
+ ```ts
8
+ import { defineConfig } from 'vite-plus';
9
+
10
+ export default defineConfig({
11
+ staged: {
12
+ '*.{js,ts,tsx,vue,svelte}': 'vp check --fix',
13
+ },
14
+ });
15
+ ```
@@ -0,0 +1,18 @@
1
+ # Test Config
2
+
3
+ `vp test` reads Vitest settings from the `test` block in `vite.config.ts`. See [Vitest's configuration](https://vitest.dev/config/) for details.
4
+
5
+ ## Example
6
+
7
+ ```ts
8
+ import { defineConfig } from 'vite-plus';
9
+
10
+ export default defineConfig({
11
+ test: {
12
+ include: ['src/**/*.test.ts'],
13
+ coverage: {
14
+ reporter: ['text', 'html'],
15
+ },
16
+ },
17
+ });
18
+ ```
@@ -0,0 +1,40 @@
1
+ # Build
2
+
3
+ `vp build` builds Vite applications for production.
4
+
5
+ ## Overview
6
+
7
+ `vp build` runs the standard Vite production build through Vite+. Since it is directly based on Vite, the build pipeline and configuration model are the same as Vite. For more information about how Vite production builds work, see the [Vite guide](https://vite.dev/guide/build). Note that Vite+ uses Vite 8 and [Rolldown](https://rolldown.rs/) for builds.
8
+
9
+ ::: info
10
+ `vp build` always runs the built-in Vite production build. If your project also has a `build` script in `package.json`, run `vp run build` when you want to run that script instead.
11
+ :::
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ vp build
17
+ vp build --watch
18
+ vp build --sourcemap
19
+ ```
20
+
21
+ ## Configuration
22
+
23
+ Use standard Vite configuration in `vite.config.ts`. For the full configuration reference, see the [Vite config docs](https://vite.dev/config/).
24
+
25
+ Use it for:
26
+
27
+ - [plugins](https://vite.dev/guide/using-plugins)
28
+ - [aliases](https://vite.dev/config/shared-options#resolve-alias)
29
+ - [`build`](https://vite.dev/config/build-options)
30
+ - [`preview`](https://vite.dev/config/preview-options)
31
+ - [environment modes](https://vite.dev/guide/env-and-mode)
32
+
33
+ ## Preview
34
+
35
+ Use `vp preview` to serve the production build locally after `vp build`.
36
+
37
+ ```bash
38
+ vp build
39
+ vp preview
40
+ ```
@@ -0,0 +1,119 @@
1
+ # Task Caching
2
+
3
+ Vite Task can automatically track dependencies and cache tasks run through `vp run`.
4
+
5
+ ## Overview
6
+
7
+ When a task runs successfully (exit code 0), its terminal output (stdout/stderr) is saved. On the next run, Vite Task checks if anything changed:
8
+
9
+ 1. **Arguments:** did the [additional arguments](/guide/run#additional-arguments) passed to the task change?
10
+ 2. **Environment variables:** did any [fingerprinted env vars](/config/run#env) change?
11
+ 3. **Input files:** did any file that the command reads change?
12
+
13
+ If everything matches, the cached output is replayed instantly, and the command does not run.
14
+
15
+ ::: info
16
+ Currently, only terminal output is cached and replayed. Output files such as `dist/` are not cached. If you delete them, use `--no-cache` to force a re-run. Output file caching is planned for a future release.
17
+ :::
18
+
19
+ When a cache miss occurs, Vite Task tells you exactly why:
20
+
21
+ ```
22
+ $ vp lint ✗ cache miss: 'src/utils.ts' modified, executing
23
+ $ vp build ✗ cache miss: env changed, executing
24
+ $ vp test ✗ cache miss: args changed, executing
25
+ ```
26
+
27
+ ## When Is Caching Enabled?
28
+
29
+ A command run by `vp run` is either a **task** defined in `vite.config.ts` or a **script** defined in `package.json`. Task names and script names cannot overlap. By default, **tasks are cached and scripts are not.**
30
+
31
+ There are three types of controls for task caching, in order:
32
+
33
+ ### 1. Per-task `cache: false`
34
+
35
+ A task can set [`cache: false`](/config/run#cache) to opt out. This cannot be overridden by any other cache control flag.
36
+
37
+ ### 2. CLI flags
38
+
39
+ `--no-cache` disables caching for everything. `--cache` enables caching for both tasks and scripts, which is equivalent to setting [`run.cache: true`](/config/run#run-cache) for that invocation.
40
+
41
+ ### 3. Workspace config
42
+
43
+ The [`run.cache`](/config/run#run-cache) option in your root `vite.config.ts` controls the default for each category:
44
+
45
+ | Setting | Default | Effect |
46
+ | --------------- | ------- | --------------------------------------- |
47
+ | `cache.tasks` | `true` | Cache tasks defined in `vite.config.ts` |
48
+ | `cache.scripts` | `false` | Cache `package.json` scripts |
49
+
50
+ ## Automatic File Tracking
51
+
52
+ Vite Task tracks which files each command reads during execution. When a task runs, it records which files the process opens, such as your `.ts` source files, `vite.config.ts`, and `package.json`, and records their content hashes. On the next run, it re-checks those hashes to determine if anything changed.
53
+
54
+ This means caching works out of the box for most commands without any configuration. Vite Task also records:
55
+
56
+ - **Missing files:** if a command probes for a file that doesn't exist, such as `utils.ts` during module resolution, creating that file later correctly invalidates the cache.
57
+ - **Directory listings:** if a command scans a directory, such as a test runner looking for `*.test.ts`, adding or removing files in that directory invalidates the cache.
58
+
59
+ ### Avoiding Overly Broad Input Tracking
60
+
61
+ Automatic tracking can sometimes include more files than necessary, causing unnecessary cache misses:
62
+
63
+ - **Tool cache files:** some tools maintain their own cache, such as TypeScript's `.tsbuildinfo` or Cargo's `target/`. These files may change between runs even when your source code has not, causing unnecessary cache invalidation.
64
+ - **Directory listings:** when a command scans a directory, such as when globbing for `**/*.js`, Vite Task sees the directory read but not the glob pattern. Any file added or removed in that directory, even unrelated ones, invalidates the cache.
65
+
66
+ Use the [`input`](/config/run#input) option to exclude files or to replace automatic tracking with explicit file patterns:
67
+
68
+ ```ts
69
+ tasks: {
70
+ build: {
71
+ command: 'tsc',
72
+ input: [{ auto: true }, '!**/*.tsbuildinfo'],
73
+ },
74
+ }
75
+ ```
76
+
77
+ ## Environment Variables
78
+
79
+ By default, tasks run in a clean environment. Only a small set of common variables, such as `PATH`, `HOME`, and `CI`, are passed through. Other environment variables are neither visible to the task nor included in the cache fingerprint.
80
+
81
+ To add an environment variable to the cache key, add it to [`env`](/config/run#env). Changing its value then invalidates the cache:
82
+
83
+ ```ts
84
+ tasks: {
85
+ build: {
86
+ command: 'webpack --mode production',
87
+ env: ['NODE_ENV'],
88
+ },
89
+ }
90
+ ```
91
+
92
+ To pass a variable to the task **without** affecting cache behavior, use [`untrackedEnv`](/config/run#untracked-env). This is useful for variables like `CI` or `GITHUB_ACTIONS` that should be available in the task, but do not generally affect caching behavior.
93
+
94
+ See [Run Config](/config/run#env) for details on wildcard patterns and the full list of automatically passed-through variables.
95
+
96
+ ## Cache Sharing
97
+
98
+ Vite Task's cache is content-based. If two tasks run the same command with the same inputs, they share the cache entry. This happens naturally when multiple tasks include a common step, either as standalone tasks or as parts of [compound commands](/guide/run#compound-commands):
99
+
100
+ ```json [package.json]
101
+ {
102
+ "scripts": {
103
+ "check": "vp lint && vp build",
104
+ "release": "vp lint && deploy-script"
105
+ }
106
+ }
107
+ ```
108
+
109
+ With caching enabled, for example through `--cache` or [`run.cache.scripts: true`](/config/run#run-cache), running `check` first means the `vp lint` step in `release` is an instant cache hit, since both run the same command against the same files.
110
+
111
+ ## Cache Commands
112
+
113
+ Use `vp cache clean` when you need to clear cached task results:
114
+
115
+ ```bash
116
+ vp cache clean
117
+ ```
118
+
119
+ The task cache is stored in `node_modules/.vite/task-cache` at the project root. `vp cache clean` deletes that cache directory.
@@ -0,0 +1,44 @@
1
+ # Check
2
+
3
+ `vp check` runs format, lint, and type checks together.
4
+
5
+ ## Overview
6
+
7
+ `vp check` is the default command for fast static checks in Vite+. It brings together formatting through [Oxfmt](https://oxc.rs/docs/guide/usage/formatter.html), linting through [Oxlint](https://oxc.rs/docs/guide/usage/linter.html), and TypeScript type checks through [tsgolint](https://github.com/oxc-project/tsgolint). By merging all of these tasks into a single command, `vp check` is faster than running formatting, linting, and type checking as separate tools in separate commands.
8
+
9
+ When `typeCheck` is enabled in the `lint.options` block in `vite.config.ts`, `vp check` also runs TypeScript type checks through the Oxlint type-aware path powered by the TypeScript Go toolchain and [tsgolint](https://github.com/oxc-project/tsgolint). `vp create` and `vp migrate` enable both `typeAware` and `typeCheck` by default.
10
+
11
+ We recommend turning `typeCheck` on so `vp check` becomes the single command for static checks during development.
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ vp check
17
+ vp check --fix # Format and run autofixers.
18
+ vp check --no-fmt # Skip format; run lint (and type-check if enabled).
19
+ vp check --no-lint # Skip lint rules; keep type-check when enabled.
20
+ vp check --no-fmt --no-lint # Type-check only (requires `typeCheck` enabled).
21
+ ```
22
+
23
+ ## Configuration
24
+
25
+ `vp check` uses the same configuration you already define for linting and formatting:
26
+
27
+ - [`lint`](/guide/lint#configuration) block in `vite.config.ts`
28
+ - [`fmt`](/guide/fmt#configuration) block in `vite.config.ts`
29
+ - TypeScript project structure and tsconfig files for type-aware linting
30
+
31
+ Recommended base `lint` config:
32
+
33
+ ```ts [vite.config.ts]
34
+ import { defineConfig } from 'vite-plus';
35
+
36
+ export default defineConfig({
37
+ lint: {
38
+ options: {
39
+ typeAware: true,
40
+ typeCheck: true,
41
+ },
42
+ },
43
+ });
44
+ ```
@@ -0,0 +1,64 @@
1
+ # Continuous Integration
2
+
3
+ You can use `voidzero-dev/setup-vp` to use Vite+ in CI environments.
4
+
5
+ ## Overview
6
+
7
+ For GitHub Actions, the recommended setup is [`voidzero-dev/setup-vp`](https://github.com/voidzero-dev/setup-vp). It installs Vite+, sets up the required Node.js version and package manager, and can cache package installs automatically.
8
+
9
+ That means you usually do not need separate `setup-node`, package-manager setup, and manual dependency-cache steps in your workflow.
10
+
11
+ ## GitHub Actions
12
+
13
+ ```yaml
14
+ - uses: voidzero-dev/setup-vp@v1
15
+ with:
16
+ node-version: '22'
17
+ cache: true
18
+ - run: vp install
19
+ - run: vp check
20
+ - run: vp test
21
+ - run: vp build
22
+ ```
23
+
24
+ With `cache: true`, `setup-vp` handles dependency caching for you automatically.
25
+
26
+ ## Simplifying Existing Workflows
27
+
28
+ If you are migrating an existing GitHub Actions workflow, you can often replace large blocks of Node, package-manager, and cache setup with a single `setup-vp` step.
29
+
30
+ #### Before:
31
+
32
+ ```yaml
33
+ - uses: actions/setup-node@v4
34
+ with:
35
+ node-version: '24'
36
+
37
+ - uses: pnpm/action-setup@v4
38
+ with:
39
+ version: 10
40
+
41
+ - name: Get pnpm store path
42
+ run: pnpm store path
43
+
44
+ - uses: actions/cache@v4
45
+ with:
46
+ path: ~/.pnpm-store
47
+ key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
48
+
49
+ - run: pnpm install && pnpm dev:setup
50
+ - run: pnpm test
51
+ ```
52
+
53
+ #### After:
54
+
55
+ ```yaml
56
+ - uses: voidzero-dev/setup-vp@v1
57
+ with:
58
+ node-version: '24'
59
+ cache: true
60
+
61
+ - run: vp install && vp run dev:setup
62
+ - run: vp check
63
+ - run: vp test
64
+ ```