void 0.10.5 → 0.10.7

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 (216) hide show
  1. package/dist/agents-Bmr5tFFb.mjs +1454 -0
  2. package/dist/{auth-cmd-UoCwfDQv.mjs → auth-cmd-DlgNwByu.mjs} +10 -10
  3. package/dist/{better-auth-shared-D0Mbmx5V.mjs → better-auth-shared-BQooDxbw.mjs} +1 -1
  4. package/dist/{better-auth-shared-jkksALri.d.mts → better-auth-shared-BvnM9px6.d.mts} +2 -2
  5. package/dist/{build-cmd-CVyuBHjP.mjs → build-cmd-Br8qL0rA.mjs} +15 -17
  6. package/dist/{cache-ACORQCIq.mjs → cache-wH-mP8UE.mjs} +10 -12
  7. package/dist/{cancel-deploy-Gi8zmoZC.mjs → cancel-deploy-BEBOEgtu.mjs} +16 -18
  8. package/dist/cli/cli.mjs +47 -49
  9. package/dist/{client-BlbnA92X.mjs → client-Cj96iiBH.mjs} +74 -8
  10. package/dist/{config-8dLIngKW.mjs → config-1twldYCW.mjs} +10 -10
  11. package/dist/{config-CbJS4Krx.mjs → config-BdUctCZD.mjs} +4 -4
  12. package/dist/{create-project-LjvkYziS.mjs → create-project-DD9n8Ho-.mjs} +28 -23
  13. package/dist/{db-C00yjN01.mjs → db-DjKE2-A-.mjs} +147 -149
  14. package/dist/{delete-CplfvTgU.mjs → delete-D2kr3Kmk.mjs} +13 -15
  15. package/dist/{deploy-CISNL5uK.mjs → deploy-C4PbkFyE.mjs} +97 -100
  16. package/dist/{discover-ZWuBvt22.mjs → discover-BuVVSAum.mjs} +3 -3
  17. package/dist/{dist-5cGIJHQQ.mjs → dist-BuiRJkTd.mjs} +59 -27
  18. package/dist/{domain-B4HpcgNG.mjs → domain-_luIsM_B.mjs} +14 -16
  19. package/dist/{env-DNMJpeVF.mjs → env-CO5XAS9t.mjs} +23 -25
  20. package/dist/{env-helpers-B_ks681T.d.mts → env-helpers-z4stu8uc.d.mts} +1 -1
  21. package/dist/{env-types-BS8cZead.mjs → env-types-D51bnR-c.mjs} +3 -3
  22. package/dist/{env-validation-BxbtBbjh.mjs → env-validation-CeC2FL66.mjs} +4 -4
  23. package/dist/{fetch-error-C6qffTl2.mjs → fetch-error-Dj3crt0e.mjs} +3 -3
  24. package/dist/{gen-C0pV2gRQ.mjs → gen-Cf79J4aw.mjs} +42 -44
  25. package/dist/{github-cmd-CwtLD1yI.mjs → github-cmd-DnqxyOsb.mjs} +88 -90
  26. package/dist/{handler-B7rCOy21.d.mts → handler-imD0UVDT.d.mts} +4 -5
  27. package/dist/{headers-BNWymgnH.mjs → headers-BwvFGhkx.mjs} +3 -3
  28. package/dist/index.d.mts +3 -3
  29. package/dist/index.mjs +102 -83
  30. package/dist/{init-D58GxCtt.mjs → init-KirOzVDs.mjs} +132 -134
  31. package/dist/link-CUmiosyb.mjs +45 -0
  32. package/dist/{list-CbNNjXTm.mjs → list-3GEw7b6m.mjs} +10 -12
  33. package/dist/{login-CvxxF_9z.mjs → login-DJReaT_Q.mjs} +14 -15
  34. package/dist/{logs-BDZ9AuhM.mjs → logs-D-rQ56Lq.mjs} +9 -11
  35. package/dist/{magic-string.es-C1Fb0uxq.mjs → magic-string.es-ZQjdJFFn.mjs} +3 -3
  36. package/dist/{mcp-C8BjRt_z.mjs → mcp-D7yc0dXY.mjs} +2 -3
  37. package/dist/{node-B07cZs0d.mjs → node-yFFk626c.mjs} +6 -6
  38. package/dist/{package-json-Bg_GJdJB.mjs → package-json-B0NuUWGd.mjs} +1 -1
  39. package/dist/pages/client.d.mts +1 -1
  40. package/dist/pages/client.mjs +2 -1
  41. package/dist/pages/head-client.d.mts +1 -1
  42. package/dist/pages/head.d.mts +1 -1
  43. package/dist/pages/index.d.mts +2 -2
  44. package/dist/pages/index.mjs +5 -5
  45. package/dist/pages/islands-plugin.d.mts +1 -1
  46. package/dist/pages/islands-plugin.mjs +3 -3
  47. package/dist/pages/protocol.d.mts +2 -2
  48. package/dist/pages/protocol.mjs +5 -2
  49. package/dist/{plugin-inference-D04iL1mW.mjs → plugin-inference-CJxi_fWI.mjs} +3 -3
  50. package/dist/{prepare-DUo9q8cM.mjs → prepare-C_cVurhP.mjs} +15 -18
  51. package/dist/{preset-D0My64KQ.mjs → preset-CVvwCeIy.mjs} +4 -4
  52. package/dist/{project-cmd-Dd1gNRdd.mjs → project-cmd-DnU7u9QF.mjs} +13 -14
  53. package/dist/{project-paths-CCMrHYQm.mjs → project-paths-tpdR1mJR.mjs} +2 -2
  54. package/dist/{project-tsconfig-DMBV55K2.mjs → project-tsconfig-D9uSVVpA.mjs} +2 -2
  55. package/dist/{protocol-6UZCowS1.d.mts → protocol-6hTJ04T1.d.mts} +3 -3
  56. package/dist/{resolve-project-D4O1_fZz.mjs → resolve-project-D2HI3TrG.mjs} +2 -2
  57. package/dist/{rollback-DzmCCrFg.mjs → rollback-Yh7bCKob.mjs} +21 -23
  58. package/dist/{route-types-BpSJEW20.mjs → route-types-CfKfhbIg.mjs} +234 -3
  59. package/dist/{runner-BQyKUqAL.mjs → runner-h272wcPj.mjs} +4 -5
  60. package/dist/{runner-pg-EuhrFW3D.mjs → runner-pg-waxJOnBb.mjs} +1 -1
  61. package/dist/runtime/ai.mjs +2 -2
  62. package/dist/runtime/auth.d.mts +1 -1
  63. package/dist/runtime/better-auth-pg.d.mts +1 -1
  64. package/dist/runtime/better-auth-pg.mjs +3 -3
  65. package/dist/runtime/better-auth.d.mts +1 -1
  66. package/dist/runtime/better-auth.mjs +2 -2
  67. package/dist/runtime/client-react.d.mts +2 -2
  68. package/dist/runtime/client-react.mjs +1 -1
  69. package/dist/runtime/client-solid.d.mts +2 -2
  70. package/dist/runtime/client-solid.mjs +1 -1
  71. package/dist/runtime/client-svelte.d.mts +2 -2
  72. package/dist/runtime/client-svelte.mjs +1 -1
  73. package/dist/runtime/client-vue.d.mts +2 -2
  74. package/dist/runtime/client-vue.mjs +1 -1
  75. package/dist/runtime/client.d.mts +2 -2
  76. package/dist/runtime/client.mjs +1 -1
  77. package/dist/runtime/db-pg.d.mts +1 -1
  78. package/dist/runtime/env-helpers.d.mts +1 -1
  79. package/dist/runtime/env-public-client.d.mts +1 -1
  80. package/dist/runtime/env-public-client.mjs +2 -0
  81. package/dist/runtime/env-public.d.mts +3 -4
  82. package/dist/runtime/env-public.mjs +3 -1
  83. package/dist/runtime/env.mjs +1 -1
  84. package/dist/runtime/fetch-stream.d.mts +1 -1
  85. package/dist/runtime/fetch-stream.mjs +1 -1
  86. package/dist/runtime/fetch.d.mts +1 -1
  87. package/dist/runtime/fetch.mjs +1 -1
  88. package/dist/runtime/handler.d.mts +2 -2
  89. package/dist/runtime/handler.mjs +1 -1
  90. package/dist/runtime/isr.mjs +1 -1
  91. package/dist/runtime/live-server.mjs +2 -0
  92. package/dist/runtime/live.d.mts +2 -2
  93. package/dist/runtime/live.mjs +3 -1
  94. package/dist/runtime/migration-handler-pg.mjs +1 -1
  95. package/dist/runtime/migration-handler.mjs +1 -1
  96. package/dist/runtime/remote/index.mjs +11 -1
  97. package/dist/runtime/sandbox.d.mts +1 -4
  98. package/dist/runtime/sandbox.mjs +1 -1
  99. package/dist/runtime/validator.d.mts +1 -1
  100. package/dist/runtime/ws-server.d.mts +2 -2
  101. package/dist/runtime/ws-server.mjs +2 -0
  102. package/dist/runtime/ws.d.mts +3 -3
  103. package/dist/runtime/ws.mjs +2 -0
  104. package/dist/{scan-VCAM1oh3.mjs → scan-Dp_Gyzs3.mjs} +3 -3
  105. package/dist/{scan---8wfN58.mjs → scan-i7Yz54fv.mjs} +26 -8
  106. package/dist/{secret-CMLYWkE-.mjs → secret-u7FRvg8d.mjs} +22 -24
  107. package/dist/{skills-Dl3u05da.mjs → skills-DsdNDtX3.mjs} +6 -7
  108. package/dist/{subcommand-prompt-B8ng0FTS.mjs → subcommand-prompt-DtES-oP6.mjs} +34 -35
  109. package/dist/sveltekit.mjs +1 -1
  110. package/dist/validate-DT7nFMlf.mjs +504 -0
  111. package/dist/{yarn-pnp-WLW2IHUY.mjs → yarn-pnp-CW8LB6g_.mjs} +1 -1
  112. package/package.json +19 -19
  113. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +94 -0
  114. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +32 -11
  115. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +45 -0
  116. package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +5 -5
  117. package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +1 -1
  118. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +1 -1
  119. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +4 -1
  120. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +1 -1
  121. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +1 -0
  122. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +18 -6
  123. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +1 -1
  124. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +35 -0
  125. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +70 -0
  126. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +3 -1
  127. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +11 -7
  128. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +3 -1
  129. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +1 -1
  130. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +141 -26
  131. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +1 -1
  132. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +1 -1
  133. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  134. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +16 -28
  135. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +16 -0
  136. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +15 -17
  137. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  138. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +255 -2
  139. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +175 -0
  140. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +70 -5
  141. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  142. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  143. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +9 -3
  144. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +63 -11
  145. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  146. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  147. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  148. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +8 -0
  149. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +36 -4
  150. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  151. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  152. package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +403 -390
  153. package/skills/void/docs/node_modules/void/node_modules/pg/README.md +2 -1
  154. package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +1 -1
  155. package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +1 -0
  156. package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +18 -6
  157. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +1 -1
  158. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +35 -0
  159. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +70 -0
  160. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +3 -1
  161. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +11 -7
  162. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +3 -1
  163. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +1 -1
  164. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +141 -26
  165. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +1 -1
  166. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +1 -1
  167. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  168. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +16 -28
  169. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +16 -0
  170. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +15 -17
  171. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  172. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +255 -2
  173. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +175 -0
  174. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +70 -5
  175. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  176. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  177. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +9 -3
  178. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +63 -11
  179. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  180. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  181. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  182. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +8 -0
  183. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +36 -4
  184. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  185. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  186. package/skills/void/docs/reference/cli.md +5 -1
  187. package/dist/agents-MhSzNMiC.mjs +0 -151
  188. package/dist/collect-9rO3JFNM.mjs +0 -55
  189. package/dist/config-hhMYPVRT.mjs +0 -21
  190. package/dist/dist-abzUneor.mjs +0 -1287
  191. package/dist/drizzle-DqstQTGq.mjs +0 -232
  192. package/dist/link-ZFmboqY3.mjs +0 -47
  193. package/dist/output-DeiS4oEX.mjs +0 -139
  194. package/dist/plan-aD3wRDqF.mjs +0 -271
  195. package/dist/project-CH9pdo16.mjs +0 -72
  196. package/dist/project-slug-rX3kTOfY.mjs +0 -10
  197. package/dist/validate-CNWm-PsL.mjs +0 -186
  198. /package/dist/{auth-migrations-BP-hMzYl.mjs → auth-migrations-BTZ-ATvQ.mjs} +0 -0
  199. /package/dist/{auth-Dz2CCn4T.d.mts → auth-qgMlYp7Z.d.mts} +0 -0
  200. /package/dist/{canonical-json-CEyQaVDa.mjs → canonical-json-DuDiiUsQ.mjs} +0 -0
  201. /package/dist/{cf-access-DKDsgwOU.mjs → cf-access-Bqw81xAf.mjs} +0 -0
  202. /package/dist/{defer-C-bdSM_b.mjs → defer-YsYDUoii.mjs} +0 -0
  203. /package/dist/{dotenv-lS94ymhM.mjs → dotenv-D_UbC_vc.mjs} +0 -0
  204. /package/dist/{env-raw-Dtj1UAoK.mjs → env-raw-CoS20LHP.mjs} +0 -0
  205. /package/dist/{fetch-error-B6RaJ-eZ.d.mts → fetch-error-Sp1R4mZv.d.mts} +0 -0
  206. /package/dist/{git-metadata-Ce0AtSZL.mjs → git-metadata-CBKaL0v5.mjs} +0 -0
  207. /package/dist/{head-eOUCWUNy.d.mts → head-nmvOgFjd.d.mts} +0 -0
  208. /package/dist/{log-BdD_Fpms.mjs → log-ChfPKsVd.mjs} +0 -0
  209. /package/dist/{pathe.M-eThtNZ-BrPhGF_K.mjs → pathe.M-eThtNZ-CQzLbt4c.mjs} +0 -0
  210. /package/dist/{pg-CempqvEJ.mjs → pg-J2HbZIkX.mjs} +0 -0
  211. /package/dist/{providers-BJIoduK9.d.mts → providers-BNKRacMr.d.mts} +0 -0
  212. /package/dist/{providers-BwPbdHdi.mjs → providers-CJlNS3kT.mjs} +0 -0
  213. /package/dist/{proxy-M3pxItg2.mjs → proxy-D-3_D-Gl.mjs} +0 -0
  214. /package/dist/{chunk-DJd-R1mw.mjs → rolldown-runtime-DJK8HYOj.mjs} +0 -0
  215. /package/dist/{standard-schema-Cy0lfeWv.d.mts → standard-schema-DJ0HW7QP.d.mts} +0 -0
  216. /package/dist/{types-BodZGegX.d.mts → types-lLjNE9Qp.d.mts} +0 -0
@@ -18,42 +18,18 @@ If you are migrating an existing project and it still depends on older Vite or V
18
18
  ## `vp check` does not run type-aware lint rules or type checks
19
19
 
20
20
  - Confirm that `lint.options.typeAware` and `lint.options.typeCheck` are enabled in `vite.config.ts`
21
- - Check whether your `tsconfig.json` uses `compilerOptions.baseUrl`
21
+ - Check whether your `tsconfig.json` still uses `compilerOptions.baseUrl`
22
22
 
23
- The Oxlint type checker path powered by `tsgolint` does not support `baseUrl`, so Vite+ skips `typeAware` and `typeCheck` when that setting is present.
23
+ The Oxlint type checker path powered by `tsgolint` does not support `baseUrl`.
24
+ `vp migrate` and `vp lint --init` try to run the `vp dlx @andrewbranch/ts5to6 --fixBaseUrl .`
25
+ fix before enabling type-aware linting. If that fix fails or is declined, Vite+
26
+ skips `typeAware` and `typeCheck`.
24
27
 
25
-
26
- ## `vp lint` / `vp fmt` may fail to read `vite.config.ts`
27
-
28
- `vp lint`, `vp fmt`, and the Oxc VS Code extension all read the `lint` / `fmt` blocks from `vite.config.ts`. Today that support has important limitations.
29
-
30
- ### What is currently supported
31
-
32
- - Static object export:
33
- - `export default { ... }`
34
- - `export default defineConfig({ ... })`
35
-
36
- ### What can fail in current integrations
37
-
38
- - Functional or async config:
39
- - `defineConfig((env) => ({ ... }))`
40
- - `defineConfig(async (env) => ({ ... }))`
41
- - Config files that rely on Vite transform/bundling behavior to execute.
42
-
43
- In scenarios reported in issue #930, Oxc-side integrations that read `vite.config.ts` can behave closer to native ESM loading (similar to Vite `--configLoader native`) than Vite's bundled default loader. That means configs depending on bundling/transforms can fail to load for lint/fmt/editor paths. See: https://github.com/voidzero-dev/vite-plus/issues/930
44
-
45
- ### Workarounds
46
-
47
- - Prefer a static `defineConfig({ ... })` export when you need `lint` / `fmt` in `vite.config.ts`.
48
- - Avoid Node-specific globals (`__dirname` in ESM), unresolved TS-only imports, or JSON imports without import attributes in config code used by lint/fmt.
49
- - If needed, keep `.oxlintrc.*` / `.oxfmtrc.*` as temporary fallback, [although we do not recommend doing this normally](/guide/lint##configuration), while this integration behavior is being improved.
50
-
51
- ### VS Code multi-root workspace note
28
+ ## VS Code extension does not read `vite.config.ts`
52
29
 
53
30
  If VS Code has multiple folders open, the shared Oxc language server may pick a different workspace than expected. That can make it look like `vite.config.ts` support is missing.
54
31
 
55
32
  - Confirm the extension is using the intended workspace.
56
- - Confirm the workspace resolves to a recent Oxc/Oxlint/Oxfmt toolchain.
57
33
 
58
34
  ## `vp build` does not run my build script
59
35
 
@@ -79,7 +55,7 @@ If `vp staged` fails or your pre-commit hook does not run:
79
55
 
80
56
  A minimal staged config looks like this:
81
57
 
82
- ```ts
58
+ ```ts [vite.config.ts]
83
59
  import { defineConfig } from 'vite-plus';
84
60
 
85
61
  export default defineConfig({
@@ -91,11 +67,11 @@ export default defineConfig({
91
67
 
92
68
  ## Slow config loading caused by heavy plugins
93
69
 
94
- When `vite.config.ts` imports heavy plugins at the top level, every `import` is evaluated eagerly, even for commands like `vp lint` or `vp fmt` that don't need those plugins. This can make config loading noticeably slow.
70
+ When `vite.config.ts` imports plugins at the top level, they are evaluated for every command, including `vp lint`, `vp fmt`, editor integrations, and long-lived background processes. This can make config loading slow and may trigger plugin setup side effects, such as reading files, starting watchers, or connecting to services.
95
71
 
96
- Use `lazyPlugins` to wrap plugin loading. Plugins are only loaded for commands that need them (`dev`, `build`, `test`, `preview`), and skipped for everything else:
72
+ Use `lazyPlugins` to skip the plugin factory when vite-plus loads your config only to read a metadata block (`lint`, `fmt`, `check`, `staged`, `pack`, `create`, the `run`/`cache` task lookup, and editor tooling). The plugins still load whenever Vite actually runs, `dev`, `build`, `test`, `preview`, and any build your own scripts spawn (a `vp run` task, `vp exec`):
97
73
 
98
- ```ts
74
+ ```ts [vite.config.ts]
99
75
  import { defineConfig, lazyPlugins } from 'vite-plus';
100
76
  import myPlugin from 'vite-plugin-foo';
101
77
 
@@ -106,7 +82,7 @@ export default defineConfig({
106
82
 
107
83
  For heavy plugins that should be lazily imported, combine with dynamic `import()`:
108
84
 
109
- ```ts
85
+ ```ts [vite.config.ts]
110
86
  import { defineConfig, lazyPlugins } from 'vite-plus';
111
87
 
112
88
  export default defineConfig({
@@ -14,36 +14,88 @@ You can upgrade both of them independently.
14
14
  ## Global `vp`
15
15
 
16
16
  ```bash
17
- vp upgrade
17
+ vp upgrade # upgrade to the latest version
18
+ vp upgrade --check # check for updates without installing
19
+ vp upgrade <version> # install a specific version
20
+ vp upgrade --registry <registry> # use a custom npm registry
18
21
  ```
19
22
 
23
+ ### Rollback
24
+
25
+ Vite+ keeps the **3 most recent** versions installed so you can revert quickly:
26
+
27
+ ```bash
28
+ vp upgrade --rollback
29
+ ```
30
+
31
+ Older versions are pruned automatically after each upgrade. The active version and the previous version are always kept, so a rollback target is never removed.
32
+
20
33
  ## Local `vite-plus`
21
34
 
22
- Update the project dependency with the package manager commands in Vite+:
35
+ The recommended way to upgrade an existing Vite+ project is `vp migrate`:
23
36
 
24
37
  ```bash
25
- vp update vite-plus
38
+ vp migrate
26
39
  ```
27
40
 
28
- You can also use `vp add vite-plus@latest` if you want to move the dependency explicitly to the latest version.
41
+ On a project that is already on Vite+, migrate does a toolchain version upgrade only: it re-pins `vite-plus`, the `vite` -> `@voidzero-dev/vite-plus-core` alias, and the `vitest` pin to the versions the global `vp` now bundles, across every workspace package. It skips the first-time setup steps (git hooks, editor and agent files, lint migration), so a version bump does not re-touch things you already configured. Pass `--full` to also run that setup.
42
+
43
+ ### Updating the Vitest Pin
29
44
 
30
- ### Updating Aliased Packages
45
+ If you migrated with `vp migrate`, your project pins `vitest` to an exact version so the whole project shares a single Vitest copy with the bundled `vp test` runner. The pin lives in your package manager's override block:
31
46
 
32
- Vite+ sets up npm aliases for its core packages during installation:
47
+ - **npm / Bun:** a `vitest` entry under `overrides` in `package.json`
48
+ - **Yarn:** a `vitest` entry under `resolutions` in `package.json`
49
+ - **pnpm:** a `vitest` entry under `overrides` in `pnpm-workspace.yaml` — unless your `package.json` already had a `pnpm` field, in which case it lives under `pnpm.overrides` in `package.json` instead (pnpm ignores `pnpm-workspace.yaml` overrides when `package.json` defines `pnpm.overrides`)
33
50
 
34
- - `vite` is aliased to `npm:@voidzero-dev/vite-plus-core@latest`
35
- - `vitest` is aliased to `npm:@voidzero-dev/vite-plus-test@latest`
51
+ A Vite+ release can bump the bundled Vitest. Because that pin also applies to `vite-plus`'s own `vitest` dependency, an out-of-date pin keeps installing the previous runner even after you upgrade `vite-plus` — splitting Vitest's internals (mocks, `expect`, runner state) between the pinned copy and the one `vp test` loads.
36
52
 
37
- `vp update vite-plus` does not re-resolve these aliases in the lockfile. To fully upgrade, update them separately:
53
+ After upgrading `vite-plus`, re-pin `vitest` to the version Vite+ now bundles. Check that version with:
38
54
 
39
55
  ```bash
40
- vp update @voidzero-dev/vite-plus-core @voidzero-dev/vite-plus-test
56
+ vp --version
41
57
  ```
42
58
 
43
- Or update everything at once:
59
+ Then set the `vitest` override to that exact version, or rerun `vp migrate` to update the pin for you.
60
+
61
+ ## Preview Builds
62
+
63
+ Some Vite+ pull requests publish temporary packages for testing before an npm release. Treat these as nightly or bleeding-edge builds: they are useful when you want to verify a specific fix, test a fresh upstream dependency bump, or confirm a change before the next release. For day-to-day work, prefer the published `latest` release.
64
+
65
+ Each commit on an eligible pull request is published to [pkg.pr.new](https://pkg.pr.new) and registered with the [registry bridge](https://registry-bridge.viteplus.dev/). The bridge serves these builds as ordinary npm versions of the form `0.0.0-commit.<sha>` and proxies every other package to the npm registry. That means you install a preview with normal version specs instead of mutable URLs, and the same versions resolve in CI.
66
+
67
+ Both `vite-plus` and `@voidzero-dev/vite-plus-core` publish under the same `0.0.0-commit.<sha>` version. Each pull request carries a comment listing the exact version for its latest commit, along with ready-to-copy install steps.
68
+
69
+ You can find preview builds in pull requests that automatically update upstream dependencies. For examples, search the merged pull requests for [upstream dependency updates](https://github.com/voidzero-dev/vite-plus/pulls?q=is%3Apr+is%3Amerged+upgrade+upstream+dependencies).
70
+
71
+ Preview builds are addressed by pull request number or commit SHA. They are not a stable version range, and you should avoid leaving them in long-lived branches unless a maintainer asks you to.
72
+
73
+ ### Global `vp` Preview
74
+
75
+ Install a preview build of the global CLI by passing `VP_PR_VERSION` to the installer. Pass a pull request number or a commit SHA:
76
+
77
+ ```bash
78
+ curl -fsSL https://vite.plus | VP_PR_VERSION=<pr-or-sha> bash
79
+ ```
80
+
81
+ On Windows:
82
+
83
+ ```powershell
84
+ $env:VP_PR_VERSION = "<pr-or-sha>"
85
+ irm https://vite.plus/ps1 | iex
86
+ Remove-Item Env:\VP_PR_VERSION
87
+ ```
88
+
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`.
90
+
91
+ ### Local `vite-plus` Preview
92
+
93
+ After installing the preview global CLI above, run migrate in the project to move its local `vite-plus` onto the same build:
44
94
 
45
95
  ```bash
46
- vp update vite-plus @voidzero-dev/vite-plus-core @voidzero-dev/vite-plus-test
96
+ vp migrate
47
97
  ```
48
98
 
49
- You can verify with `vp outdated` that no Vite+ packages remain outdated.
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.
100
+
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`.
@@ -579,7 +579,11 @@ void github link
579
579
 
580
580
  Link your current Void account to a GitHub identity. Opens your browser to authorize Void on GitHub (a localhost + PKCE handshake, the same mechanics as `void auth login`), then binds that GitHub identity to the logged-in account. Requires an authenticated CLI (`void auth login` first).
581
581
 
582
- You normally don't need to run this directly — `void github install` runs the link automatically when your account has no GitHub identity yet. Run it on its own to link ahead of time, or to link a GitHub identity without installing the App. If that GitHub account is already linked to a different Void account, the command fails and asks you to use a different GitHub account.
582
+ You normally don't need to run this directly — `void github install` runs the link automatically when your account has no GitHub identity yet. Run it on its own to link ahead of time, or to link a GitHub identity without installing the App.
583
+
584
+ ::: warning Existing GitHub sign-in
585
+ Void accounts cannot be merged. If the GitHub account you authorize is already linked to a different Void account, including one created through GitHub sign-in, `void github link` is refused with `This GitHub account is already linked to another Void account.` Run `void auth logout` and sign in to that existing account, or authorize a different GitHub account. The command is also refused if your current Void account is already linked to a different GitHub identity. Re-authorizing the GitHub account attached to your current Void account is allowed and reports `GitHub account already linked.`
586
+ :::
583
587
 
584
588
  ### `void github install`
585
589
 
@@ -1,151 +0,0 @@
1
- import { a as join } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import { fileURLToPath } from "node:url";
4
- //#region src/cli/agents.ts
5
- function getPackageDir() {
6
- let dir = join(fileURLToPath(import.meta.url), "..");
7
- for (let i = 0; i < 5; i++) {
8
- if (existsSync(join(dir, "package.json"))) {
9
- if (JSON.parse(readFileSync(join(dir, "package.json"), "utf-8")).name === "void") return dir;
10
- }
11
- dir = join(dir, "..");
12
- }
13
- throw new Error("Could not find void package root");
14
- }
15
- const agents = {
16
- "claude-code": {
17
- displayName: "Claude Code",
18
- skillsDir: ".claude/skills",
19
- detect: (root) => existsSync(join(root, ".claude")) || existsSync(join(root, "CLAUDE.md")),
20
- mcpConfig: [{
21
- filePath: ".claude/settings.json",
22
- rootKey: "mcpServers"
23
- }, {
24
- filePath: ".claude/settings.local.json",
25
- rootKey: "mcpServers"
26
- }]
27
- },
28
- amp: {
29
- displayName: "Amp",
30
- skillsDir: ".agents/skills",
31
- detect: (root) => existsSync(join(root, ".agents")),
32
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
33
- },
34
- codex: {
35
- displayName: "Codex",
36
- skillsDir: ".agents/skills",
37
- detect: (root) => existsSync(join(root, ".codex")),
38
- mcpHint: "codex mcp add void -- npx void mcp"
39
- },
40
- cursor: {
41
- displayName: "Cursor",
42
- skillsDir: ".agents/skills",
43
- detect: (root) => existsSync(join(root, ".cursor")),
44
- mcpConfig: [{
45
- filePath: ".cursor/mcp.json",
46
- rootKey: "mcpServers"
47
- }]
48
- },
49
- windsurf: {
50
- displayName: "Windsurf",
51
- skillsDir: ".windsurf/skills",
52
- detect: (root) => existsSync(join(root, ".windsurf")),
53
- mcpConfig: [{
54
- filePath: ".windsurf/mcp.json",
55
- rootKey: "mcpServers"
56
- }]
57
- },
58
- "gemini-cli": {
59
- displayName: "Gemini CLI",
60
- skillsDir: ".agents/skills",
61
- detect: (root) => existsSync(join(root, ".gemini")),
62
- mcpHint: "gemini mcp add void -- npx void mcp"
63
- },
64
- "github-copilot": {
65
- displayName: "GitHub Copilot",
66
- skillsDir: ".agents/skills",
67
- detect: (root) => existsSync(join(root, ".github", "copilot-instructions.md")) || existsSync(join(root, ".vscode", "mcp.json")),
68
- mcpConfig: [{
69
- filePath: ".vscode/mcp.json",
70
- rootKey: "servers",
71
- extraFields: { type: "stdio" }
72
- }]
73
- },
74
- cline: {
75
- displayName: "Cline",
76
- skillsDir: ".cline/skills",
77
- detect: (root) => existsSync(join(root, ".cline")),
78
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
79
- },
80
- roo: {
81
- displayName: "Roo Code",
82
- skillsDir: ".roo/skills",
83
- detect: (root) => existsSync(join(root, ".roo")),
84
- mcpConfig: [{
85
- filePath: ".roo/mcp.json",
86
- rootKey: "mcpServers"
87
- }]
88
- },
89
- kilo: {
90
- displayName: "Kilo Code",
91
- skillsDir: ".kilocode/skills",
92
- detect: (root) => existsSync(join(root, ".kilocode")),
93
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
94
- },
95
- continue: {
96
- displayName: "Continue",
97
- skillsDir: ".continue/skills",
98
- detect: (root) => existsSync(join(root, ".continue")),
99
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
100
- },
101
- goose: {
102
- displayName: "Goose",
103
- skillsDir: ".goose/skills",
104
- detect: (root) => existsSync(join(root, ".goose")),
105
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
106
- },
107
- opencode: {
108
- displayName: "OpenCode",
109
- skillsDir: ".agents/skills",
110
- detect: (root) => existsSync(join(root, ".opencode")),
111
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
112
- },
113
- trae: {
114
- displayName: "Trae",
115
- skillsDir: ".trae/skills",
116
- detect: (root) => existsSync(join(root, ".trae")),
117
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
118
- },
119
- junie: {
120
- displayName: "Junie",
121
- skillsDir: ".junie/skills",
122
- detect: (root) => existsSync(join(root, ".junie")),
123
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
124
- },
125
- "kiro-cli": {
126
- displayName: "Kiro CLI",
127
- skillsDir: ".kiro/skills",
128
- detect: (root) => existsSync(join(root, ".kiro")),
129
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
130
- },
131
- zencoder: {
132
- displayName: "Zencoder",
133
- skillsDir: ".zencoder/skills",
134
- detect: (root) => existsSync(join(root, ".zencoder")),
135
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
136
- },
137
- "qwen-code": {
138
- displayName: "Qwen Code",
139
- skillsDir: ".qwen/skills",
140
- detect: (root) => existsSync(join(root, ".qwen")),
141
- mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
142
- }
143
- };
144
- function getAgentById(id) {
145
- return agents[id];
146
- }
147
- function detectAgents(root) {
148
- return Object.values(agents).filter((a) => a.detect(root));
149
- }
150
- //#endregion
151
- export { getAgentById as n, getPackageDir as r, detectAgents as t };
@@ -1,55 +0,0 @@
1
- import { n as __exportAll } from "./chunk-DJd-R1mw.mjs";
2
- import { a as join, n as dirname } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
3
- import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
4
- //#region src/migrations/collect.ts
5
- var collect_exports = /* @__PURE__ */ __exportAll({
6
- collectMigrations: () => collectMigrations,
7
- readJournal: () => readJournal,
8
- stripSqlExt: () => stripSqlExt,
9
- writeJournal: () => writeJournal
10
- });
11
- /**
12
- * Collect all .sql migration files from the migrations directory,
13
- * sorted by filename (lexicographic order).
14
- */
15
- function collectMigrations(migrationsDir) {
16
- if (!existsSync(migrationsDir)) return [];
17
- return readdirSync(migrationsDir).filter((f) => f.endsWith(".sql") && f !== "seed.sql").sort().map((name) => ({
18
- name,
19
- sql: readFileSync(join(migrationsDir, name), "utf-8")
20
- }));
21
- }
22
- /**
23
- * Read `db/migrations/meta/_journal.json` if it exists. Drizzle maintains
24
- * this file whenever `drizzle-kit generate` runs; every `.sql` migration
25
- * under `db/migrations/` should correspond to an entry whose `tag` is the
26
- * filename without the `.sql` suffix.
27
- */
28
- function readJournal(migrationsDir) {
29
- const journalPath = join(migrationsDir, "meta", "_journal.json");
30
- if (!existsSync(journalPath)) return;
31
- try {
32
- return JSON.parse(readFileSync(journalPath, "utf-8"));
33
- } catch (err) {
34
- throw new Error(`db: Failed to parse db/migrations/meta/_journal.json: '${err.message}'.`);
35
- }
36
- }
37
- /**
38
- * Write `db/migrations/meta/_journal.json` with pretty-printed JSON and a
39
- * trailing newline, matching the format Drizzle itself emits. Creates the
40
- * `meta/` directory if it does not yet exist.
41
- */
42
- function writeJournal(migrationsDir, journal) {
43
- const journalPath = join(migrationsDir, "meta", "_journal.json");
44
- mkdirSync(dirname(journalPath), { recursive: true });
45
- writeFileSync(journalPath, JSON.stringify(journal, null, 2) + "\n");
46
- }
47
- /**
48
- * Drop the `.sql` extension from a migration filename, leaving any other
49
- * suffix untouched. Used to line filenames up with journal `tag` values.
50
- */
51
- function stripSqlExt(name) {
52
- return name.endsWith(".sql") ? name.slice(0, -4) : name;
53
- }
54
- //#endregion
55
- export { writeJournal as a, stripSqlExt as i, collect_exports as n, readJournal as r, collectMigrations as t };
@@ -1,21 +0,0 @@
1
- import { n as readProjectPaths } from "./project-paths-CCMrHYQm.mjs";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import { pathToFileURL } from "node:url";
4
- //#region src/auth/config.ts
5
- function isVoidAuthConfigSource(code) {
6
- return /\bfrom\s+["']void\/auth["']/.test(code);
7
- }
8
- function findVoidAuthConfig(root, paths = readProjectPaths(root)) {
9
- for (const absPath of paths.authConfigCandidates) {
10
- if (!existsSync(absPath)) continue;
11
- if (isVoidAuthConfigSource(readFileSync(absPath, "utf-8"))) return absPath;
12
- }
13
- return null;
14
- }
15
- async function loadVoidAuthConfig(configPath) {
16
- if (!configPath) return;
17
- const mod = await import(pathToFileURL(configPath).href);
18
- return mod.default ?? mod.auth ?? mod.config;
19
- }
20
- //#endregion
21
- export { loadVoidAuthConfig as n, findVoidAuthConfig as t };