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.
- package/dist/agents-DqkFfc2c.mjs +151 -0
- package/dist/{auth-cmd-DVKi6dzh.mjs → auth-cmd-Dk0acCT5.mjs} +2 -2
- package/dist/{better-auth-shared-C9_GHSkR.d.mts → better-auth-shared-CZsIpjey.d.mts} +1 -1
- package/dist/{cache-B0BgSTZi.mjs → cache-DGSZ5Bh6.mjs} +2 -2
- package/dist/{cancel-deploy-D9OFt5gA.mjs → cancel-deploy-CrY3kt93.mjs} +1 -1
- package/dist/cli/cli.mjs +27 -174
- package/dist/{client-BUdfE3QJ.mjs → client-DCqnMpDt.mjs} +97 -11
- package/dist/{create-project-CN1pF-OQ.mjs → create-project-Bg88Kq_I.mjs} +3 -3
- package/dist/{db-BIP2kuEt.mjs → db-ClNu7vYQ.mjs} +13 -13
- package/dist/{delete-DJTvwbr-.mjs → delete-DXcX1yQZ.mjs} +2 -2
- package/dist/{deploy-BqXz1ycW.mjs → deploy-BkjqNk9U.mjs} +565 -161
- package/dist/{domain-B-fIU3VE.mjs → domain-CDQhvYNZ.mjs} +1 -1
- package/dist/{env-BwbZJd2x.mjs → env-CnrQY2b6.mjs} +1 -1
- package/dist/{env-helpers-Dr9Y7RnE.d.mts → env-helpers-CbeM_7-k.d.mts} +1 -1
- package/dist/{gen-U0Ktr4Zd.mjs → gen-C0EY2k27.mjs} +1 -1
- package/dist/{handler-B0ds0OHJ.d.mts → handler-dKQWyF-G.d.mts} +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +13 -12
- package/dist/{init-Bb_Qsdq6.mjs → init-CPny6w9D.mjs} +63 -28
- package/dist/{link-D4d26PCm.mjs → link-eZ0aiHFK.mjs} +2 -2
- package/dist/{list-bQc1eQCZ.mjs → list-ztyEz4TW.mjs} +2 -2
- package/dist/{login-RWUDCfdx.mjs → login-B5HHT32i.mjs} +1 -1
- package/dist/{logs-DrkTklop.mjs → logs-J4BN0LXd.mjs} +1 -1
- package/dist/{mcp-kZ4zg13a.mjs → mcp-Bdu9bnjR.mjs} +1 -1
- package/dist/{node-DDfXj10V.mjs → node-DFqMcZR1.mjs} +3 -3
- package/dist/pages/client.d.mts +1 -1
- package/dist/pages/client.mjs +3 -0
- package/dist/pages/head-client.d.mts +1 -1
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/index.d.mts +2 -2
- package/dist/pages/index.mjs +1 -1
- package/dist/pages/islands-plugin.d.mts +1 -1
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +23 -18
- package/dist/{prepare-BAtWufvm.mjs → prepare-DKkx-2Kt.mjs} +1 -1
- package/dist/{project-cmd-ATFi3kRm.mjs → project-cmd-DKiQYdSd.mjs} +8 -8
- package/dist/{protocol-BWzXs2A2.d.mts → protocol-CK4OFwfR.d.mts} +2 -2
- package/dist/{rollback-BSyita3C.mjs → rollback-ZNvT8T54.mjs} +1 -1
- package/dist/{runner-6Ep3fNQu.mjs → runner-BUPRnMFN.mjs} +1 -1
- package/dist/runtime/ai.mjs +1 -1
- package/dist/runtime/auth.d.mts +1 -1
- package/dist/runtime/better-auth-pg.d.mts +1 -1
- package/dist/runtime/better-auth-pg.mjs +2 -2
- package/dist/runtime/better-auth.d.mts +1 -1
- package/dist/runtime/better-auth.mjs +2 -2
- package/dist/runtime/client.d.mts +2 -2
- package/dist/runtime/client.mjs +1 -1
- package/dist/runtime/env-helpers.d.mts +1 -1
- package/dist/runtime/env-public-client.d.mts +1 -1
- package/dist/runtime/env-public.d.mts +2 -2
- package/dist/runtime/env-public.mjs +1 -1
- package/dist/runtime/env.mjs +1 -1
- package/dist/runtime/fetch-stream.d.mts +1 -1
- package/dist/runtime/fetch-stream.mjs +1 -1
- package/dist/runtime/fetch.d.mts +1 -1
- package/dist/runtime/fetch.mjs +1 -1
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/handler.mjs +1 -1
- package/dist/runtime/isr.mjs +1 -1
- package/dist/runtime/migration-handler.mjs +2 -2
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +2 -2
- package/dist/runtime/ws.d.mts +3 -3
- package/dist/{secret-DmjBDxB1.mjs → secret-BXHx515u.mjs} +2 -2
- package/dist/{skills-ipldjlKE.mjs → skills-CbuYOthf.mjs} +1 -1
- package/package.json +13 -13
- package/skills/void/docs/guide/deployment.md +4 -6
- package/skills/void/docs/index.md +3 -3
- package/skills/void/docs/node_modules/void/AGENTS.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +208 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +21 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +18 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +31 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +24 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +17 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +249 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +18 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/build.md +40 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +119 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +44 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +64 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +51 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +88 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/dev.md +24 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +102 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/fmt.md +41 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +101 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/implode.md +23 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +128 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +147 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/lint.md +50 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +173 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +61 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +324 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/test.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +132 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +49 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/vpx.md +66 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/why.md +39 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/index.md +12 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/team.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/generator/README.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/monorepo/README.md +29 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +208 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +21 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +18 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +31 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +24 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +17 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +249 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +18 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/build.md +40 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +119 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +44 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +64 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +51 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +88 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/dev.md +24 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +102 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/fmt.md +41 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +101 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/implode.md +23 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +128 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +147 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/lint.md +50 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +173 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +61 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +324 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/test.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +132 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +49 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/vpx.md +66 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/why.md +39 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/index.md +12 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/team.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/generator/README.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/monorepo/README.md +29 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tsdown/README.md +0 -55
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite/LICENSE.md +0 -2230
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite/README.md +0 -20
- package/skills/void/docs/node_modules/void/node_modules/tsdown/README.md +0 -55
- package/skills/void/docs/node_modules/void/node_modules/vite/LICENSE.md +0 -2230
- package/skills/void/docs/node_modules/void/node_modules/vite/README.md +0 -20
- /package/dist/{auth-BdsJ0Aff.d.mts → auth-DrfOTMmr.d.mts} +0 -0
- /package/dist/{auth-migrations-BAtAck2g.mjs → auth-migrations-BwLPwRgH.mjs} +0 -0
- /package/dist/{better-auth-shared-CdYmQGry.mjs → better-auth-shared-APuDaPqW.mjs} +0 -0
- /package/dist/{defer-DcxEsVH1.mjs → defer-2ARBu8Et.mjs} +0 -0
- /package/dist/{drizzle-NnudE_UN.mjs → drizzle-C-NRqGhx.mjs} +0 -0
- /package/dist/{env-raw-BDL4TvdN.mjs → env-raw-DtfQ9E31.mjs} +0 -0
- /package/dist/{fetch-error-BQ8sZ5Nd.mjs → fetch-error-CEr0ACTl.mjs} +0 -0
- /package/dist/{fetch-error-CVZ5CGA-.d.mts → fetch-error-DflegrF3.d.mts} +0 -0
- /package/dist/{head-P-egrtFE.d.mts → head-CZGAunBV.d.mts} +0 -0
- /package/dist/{headers-DCXc7mDs.mjs → headers-YVkHjOyq.mjs} +0 -0
- /package/dist/{preset-D4I73kT4.mjs → preset-DFvePt0l.mjs} +0 -0
- /package/dist/{project-slug-CKam8lF9.mjs → project-slug-KRvHQEQI.mjs} +0 -0
- /package/dist/{resolve-project-Br5BR03U.mjs → resolve-project-DdjLQ2tB.mjs} +0 -0
- /package/dist/{runner-pg-D0wWHYnr.mjs → runner-pg-BI6f6Ncm.mjs} +0 -0
- /package/dist/{standard-schema-9CRjx-uR.d.mts → standard-schema-BfGDWXff.d.mts} +0 -0
- /package/dist/{subcommand-prompt-BKjuNAPb.mjs → subcommand-prompt-BMS1TNG5.mjs} +0 -0
- /package/dist/{types-mHOEwpW4.d.mts → types-AdKzPp2C.d.mts} +0 -0
- /package/dist/{yarn-pnp-BFqMV_bl.mjs → yarn-pnp-6LD6_3Ej.mjs} +0 -0
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
# Run
|
|
2
|
+
|
|
3
|
+
`vp run` runs `package.json` scripts and tasks defined in `vite.config.ts`. It works like `pnpm run`, with caching, dependency ordering, and workspace-aware execution built in.
|
|
4
|
+
|
|
5
|
+
::: tip
|
|
6
|
+
`vpr` is available as a standalone shorthand for `vp run`. All examples below work with both `vp run` and `vpr`.
|
|
7
|
+
:::
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Use `vp run` with existing `package.json` scripts:
|
|
12
|
+
|
|
13
|
+
```json [package.json]
|
|
14
|
+
{
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "node compile-legacy-app.js",
|
|
17
|
+
"test": "jest"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`vp run build` executes the associated build script:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
$ node compile-legacy-app.js
|
|
26
|
+
|
|
27
|
+
building legacy app for production...
|
|
28
|
+
|
|
29
|
+
✓ built in 69s
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Use `vp run` without a task name to use the interactive task runner:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Select a task (↑/↓, Enter to run, Esc to clear):
|
|
36
|
+
|
|
37
|
+
› build: node compile-legacy-app.js
|
|
38
|
+
test: jest
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Caching
|
|
42
|
+
|
|
43
|
+
`package.json` scripts are not cached by default. Use `--cache` to enable caching:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
vp run --cache build
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
$ node compile-legacy-app.js
|
|
51
|
+
✓ built in 69s
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
If nothing changes, the output is replayed from the cache on the next run:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
$ node compile-legacy-app.js ✓ cache hit, replaying
|
|
58
|
+
✓ built in 69s
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
vp run: cache hit, 69s saved.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If an input changes, the task runs again:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
$ node compile-legacy-app.js ✗ cache miss: 'legacy/index.js' modified, executing
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Task Definitions
|
|
71
|
+
|
|
72
|
+
Vite Task automatically tracks which files your command uses. You can define tasks directly in `vite.config.ts` to enable caching by default or control which files and environment variables affect cache behavior.
|
|
73
|
+
|
|
74
|
+
```ts [vite.config.ts]
|
|
75
|
+
import { defineConfig } from 'vite-plus';
|
|
76
|
+
|
|
77
|
+
export default defineConfig({
|
|
78
|
+
run: {
|
|
79
|
+
tasks: {
|
|
80
|
+
build: {
|
|
81
|
+
command: 'vp build',
|
|
82
|
+
dependsOn: ['lint'],
|
|
83
|
+
env: ['NODE_ENV'],
|
|
84
|
+
},
|
|
85
|
+
deploy: {
|
|
86
|
+
command: 'deploy-script --prod',
|
|
87
|
+
cache: false,
|
|
88
|
+
dependsOn: ['build', 'test'],
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If you want to run an existing `package.json` script as-is, use `vp run <script>`. If you want task-level caching, dependencies, or environment/input controls, define a task with an explicit `command`. A task name can come from `vite.config.ts` or `package.json`, but not both.
|
|
96
|
+
|
|
97
|
+
::: info
|
|
98
|
+
Tasks defined in `vite.config.ts` are cached by default. `package.json` scripts are not. See [When Is Caching Enabled?](/guide/cache#when-is-caching-enabled) for the full resolution order.
|
|
99
|
+
:::
|
|
100
|
+
|
|
101
|
+
See [Run Config](/config/run) for the full `run` block reference.
|
|
102
|
+
|
|
103
|
+
## Task Dependencies
|
|
104
|
+
|
|
105
|
+
Use [`dependsOn`](#depends-on) to run tasks in the right order. Running `vp run deploy` with the config above runs `build` and `test` first. Dependencies can also target other packages in the same project with the `package#task` notation:
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
dependsOn: ['@my/core#build', '@my/utils#lint'];
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Running in a Workspace
|
|
112
|
+
|
|
113
|
+
With no package-selection flags, `vp run` runs the task in the package in your current working directory:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
cd packages/app
|
|
117
|
+
vp run build
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
You can also target a package explicitly from anywhere:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
vp run @my/app#build
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Workspace package ordering is based on the normal monorepo dependency graph declared in each package's `package.json`. In other words, when Vite+ talks about package dependencies, it means the regular `dependencies` relationships between workspace packages, not a separate task-runner-specific graph.
|
|
127
|
+
|
|
128
|
+
### Recursive (`-r`)
|
|
129
|
+
|
|
130
|
+
Run the task in every workspace package, in dependency order:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
vp run -r build
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
That dependency order comes from the workspace packages referenced through `package.json` dependencies.
|
|
137
|
+
|
|
138
|
+
### Transitive (`-t`)
|
|
139
|
+
|
|
140
|
+
Run the task in one package and all of its dependencies:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
vp run -t @my/app#build
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
If `@my/app` depends on `@my/utils`, which depends on `@my/core`, this runs all three in order. Vite+ resolves that chain from the normal workspace package dependencies declared in `package.json`.
|
|
147
|
+
|
|
148
|
+
### Filter (`--filter`)
|
|
149
|
+
|
|
150
|
+
Select packages by name, directory, or glob pattern. The syntax matches pnpm's `--filter`:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# By name
|
|
154
|
+
vp run --filter @my/app build
|
|
155
|
+
|
|
156
|
+
# By glob
|
|
157
|
+
vp run --filter "@my/*" build
|
|
158
|
+
|
|
159
|
+
# By directory
|
|
160
|
+
vp run --filter ./packages/app build
|
|
161
|
+
|
|
162
|
+
# Include dependencies
|
|
163
|
+
vp run --filter "@my/app..." build
|
|
164
|
+
|
|
165
|
+
# Include dependents
|
|
166
|
+
vp run --filter "...@my/core" build
|
|
167
|
+
|
|
168
|
+
# Exclude packages
|
|
169
|
+
vp run --filter "@my/*" --filter "!@my/utils" build
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Multiple `--filter` flags are combined as a union. Exclusion filters are applied after all inclusions.
|
|
173
|
+
|
|
174
|
+
### Workspace Root (`-w`)
|
|
175
|
+
|
|
176
|
+
Explicitly run the task in the workspace root package:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
vp run -w build
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Compound Commands
|
|
183
|
+
|
|
184
|
+
Commands joined with `&&` are split into independent sub-tasks. Each sub-task is cached separately when [caching is enabled](/guide/cache#when-is-caching-enabled). This works for both `vite.config.ts` tasks and `package.json` scripts:
|
|
185
|
+
|
|
186
|
+
```json [package.json]
|
|
187
|
+
{
|
|
188
|
+
"scripts": {
|
|
189
|
+
"check": "vp lint && vp build"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Now, run `vp run --cache check`:
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
$ vp lint
|
|
198
|
+
Found 0 warnings and 0 errors.
|
|
199
|
+
|
|
200
|
+
$ vp build
|
|
201
|
+
✓ built in 28ms
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
vp run: 0/2 cache hit (0%).
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Each sub-task has its own cache entry. If only `.ts` files changed but lint still passes, only `vp build` runs again the next time `vp run --cache check` is called:
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
$ vp lint ✓ cache hit, replaying
|
|
211
|
+
$ vp build ✗ cache miss: 'src/index.ts' modified, executing
|
|
212
|
+
✓ built in 30ms
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
vp run: 1/2 cache hit (50%), 120ms saved.
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Nested `vp run`
|
|
219
|
+
|
|
220
|
+
When a command contains `vp run`, Vite Task inlines it as separate tasks instead of spawning a nested process. Each sub-task is cached independently and output stays flat:
|
|
221
|
+
|
|
222
|
+
```json [package.json]
|
|
223
|
+
{
|
|
224
|
+
"scripts": {
|
|
225
|
+
"ci": "vp run lint && vp run test && vp run build"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Running `vp run ci` expands into three tasks:
|
|
231
|
+
|
|
232
|
+
```mermaid
|
|
233
|
+
graph LR
|
|
234
|
+
lint --> test --> build
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Flags also work inside nested scripts. For example, `vp run -r build` inside a script expands into individual build tasks for every package.
|
|
238
|
+
|
|
239
|
+
::: info
|
|
240
|
+
A common monorepo pattern is a root script that runs a task recursively:
|
|
241
|
+
|
|
242
|
+
```json [package.json (root) ~vscode-icons:file-type-node~]
|
|
243
|
+
{
|
|
244
|
+
"scripts": {
|
|
245
|
+
"build": "vp run -r build"
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
This creates a potential recursion: root's `build` -> `vp run -r build` -> includes root's `build` -> ...
|
|
251
|
+
|
|
252
|
+
Vite Task detects this and prunes the self-reference automatically, so other packages build normally.
|
|
253
|
+
:::
|
|
254
|
+
|
|
255
|
+
## Execution Summary
|
|
256
|
+
|
|
257
|
+
Use `-v` to show a detailed execution summary:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
vp run -r -v build
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
265
|
+
Vite+ Task Runner • Execution Summary
|
|
266
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
267
|
+
|
|
268
|
+
Statistics: 3 tasks • 3 cache hits • 0 cache misses
|
|
269
|
+
Performance: 100% cache hit rate, 468ms saved in total
|
|
270
|
+
|
|
271
|
+
Task Details:
|
|
272
|
+
────────────────────────────────────────────────
|
|
273
|
+
[1] @my/core#build: ~/packages/core$ vp build ✓
|
|
274
|
+
→ Cache hit - output replayed - 200ms saved
|
|
275
|
+
·······················································
|
|
276
|
+
[2] @my/utils#build: ~/packages/utils$ vp build ✓
|
|
277
|
+
→ Cache hit - output replayed - 150ms saved
|
|
278
|
+
·······················································
|
|
279
|
+
[3] @my/app#build: ~/packages/app$ vp build ✓
|
|
280
|
+
→ Cache hit - output replayed - 118ms saved
|
|
281
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Use `--last-details` to show the summary from the last run without running tasks again:
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
vp run --last-details
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## Concurrency
|
|
291
|
+
|
|
292
|
+
By default, up to 4 tasks run at the same time. Use `--concurrency-limit` to change this:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
# Run up to 8 tasks at once
|
|
296
|
+
vp run -r --concurrency-limit 8 build
|
|
297
|
+
|
|
298
|
+
# Run tasks one at a time
|
|
299
|
+
vp run -r --concurrency-limit 1 build
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
The limit can also be set via the `VP_RUN_CONCURRENCY_LIMIT` environment variable. The `--concurrency-limit` flag takes priority over the environment variable.
|
|
303
|
+
|
|
304
|
+
### Parallel Mode
|
|
305
|
+
|
|
306
|
+
Use `--parallel` to ignore task dependencies and run all tasks at once with unlimited concurrency:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
vp run -r --parallel dev
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
This is useful when tasks are independent and you want maximum throughput. You can combine `--parallel` with `--concurrency-limit` to run tasks without dependency ordering but still cap the number of concurrent tasks:
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
vp run -r --parallel --concurrency-limit 4 dev
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
## Additional Arguments
|
|
319
|
+
|
|
320
|
+
Arguments after the task name are passed through to the task command:
|
|
321
|
+
|
|
322
|
+
```bash
|
|
323
|
+
vp run test --reporter verbose
|
|
324
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Test
|
|
2
|
+
|
|
3
|
+
`vp test` runs tests with [Vitest](https://vitest.dev).
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
`vp test` is built on [Vitest](https://vitest.dev/), so you get a Vite-native test runner that reuses your Vite config and plugins, supports Jest-style expectations, snapshots, and coverage, and handles modern ESM, TypeScript, and JSX projects cleanly.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
vp test
|
|
13
|
+
vp test watch
|
|
14
|
+
vp test run --coverage
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
::: info
|
|
18
|
+
Unlike Vitest on its own, `vp test` does not stay in watch mode by default. Use `vp test` when you want a normal test run, and use `vp test watch` when you want to jump into watch mode.
|
|
19
|
+
:::
|
|
20
|
+
|
|
21
|
+
## Configuration
|
|
22
|
+
|
|
23
|
+
Put test configuration directly in the `test` block in `vite.config.ts` so all your configuration stays in one place. We do not recommend using `vitest.config.ts` with Vite+.
|
|
24
|
+
|
|
25
|
+
```ts [vite.config.ts]
|
|
26
|
+
import { defineConfig } from 'vite-plus';
|
|
27
|
+
|
|
28
|
+
export default defineConfig({
|
|
29
|
+
test: {
|
|
30
|
+
include: ['src/**/*.test.ts'],
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
For the full Vitest configuration reference, see the [Vitest config docs](https://vitest.dev/config/).
|
package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
Use this page when something in Vite+ is not behaving the way you expect.
|
|
4
|
+
|
|
5
|
+
::: warning
|
|
6
|
+
Vite+ is still in alpha. We are making frequent changes, adding features quickly, and we want feedback to help make it great.
|
|
7
|
+
:::
|
|
8
|
+
|
|
9
|
+
## Supported Tool Versions
|
|
10
|
+
|
|
11
|
+
Vite+ expects modern upstream tool versions.
|
|
12
|
+
|
|
13
|
+
- Vite 8 or newer
|
|
14
|
+
- Vitest 4.1 or newer
|
|
15
|
+
|
|
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
|
+
|
|
18
|
+
## `vp check` does not run type-aware lint rules or type checks
|
|
19
|
+
|
|
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`
|
|
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.
|
|
24
|
+
|
|
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
|
|
52
|
+
|
|
53
|
+
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
|
+
|
|
55
|
+
- Confirm the extension is using the intended workspace.
|
|
56
|
+
- Confirm the workspace resolves to a recent Oxc/Oxlint/Oxfmt toolchain.
|
|
57
|
+
|
|
58
|
+
## `vp build` does not run my build script
|
|
59
|
+
|
|
60
|
+
Unlike package managers, built-in commands cannot be overwritten. If you are trying to run a `package.json` script use `vp run build` instead.
|
|
61
|
+
|
|
62
|
+
For example:
|
|
63
|
+
|
|
64
|
+
- `vp build` always runs the built-in Vite build
|
|
65
|
+
- `vp test` always runs the built-in Vitest command
|
|
66
|
+
- `vp run build` and `vp run test` run `package.json` scripts instead
|
|
67
|
+
|
|
68
|
+
::: info
|
|
69
|
+
You can also run custom tasks defined in `vite.config.ts` and migrate away from `package.json` scripts entirely.
|
|
70
|
+
:::
|
|
71
|
+
|
|
72
|
+
## Staged Checks and Commit Hooks
|
|
73
|
+
|
|
74
|
+
If `vp staged` fails or your pre-commit hook does not run:
|
|
75
|
+
|
|
76
|
+
- make sure `vite.config.ts` contains a `staged` block
|
|
77
|
+
- run `vp config` to install hooks
|
|
78
|
+
- check whether hook installation was skipped intentionally through `VITE_GIT_HOOKS=0`
|
|
79
|
+
|
|
80
|
+
A minimal staged config looks like this:
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
import { defineConfig } from 'vite-plus';
|
|
84
|
+
|
|
85
|
+
export default defineConfig({
|
|
86
|
+
staged: {
|
|
87
|
+
'*': 'vp check --fix',
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Slow config loading caused by heavy plugins
|
|
93
|
+
|
|
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.
|
|
95
|
+
|
|
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:
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
import { defineConfig, lazyPlugins } from 'vite-plus';
|
|
100
|
+
import myPlugin from 'vite-plugin-foo';
|
|
101
|
+
|
|
102
|
+
export default defineConfig({
|
|
103
|
+
plugins: lazyPlugins(() => [myPlugin()]),
|
|
104
|
+
});
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
For heavy plugins that should be lazily imported, combine with dynamic `import()`:
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
import { defineConfig, lazyPlugins } from 'vite-plus';
|
|
111
|
+
|
|
112
|
+
export default defineConfig({
|
|
113
|
+
plugins: lazyPlugins(async () => {
|
|
114
|
+
const { default: heavyPlugin } = await import('vite-plugin-heavy');
|
|
115
|
+
return [heavyPlugin()];
|
|
116
|
+
}),
|
|
117
|
+
});
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Asking for Help
|
|
121
|
+
|
|
122
|
+
If you are stuck, please reach out:
|
|
123
|
+
|
|
124
|
+
- [Discord](https://discord.gg/cAnsqHh5PX) for real-time discussion and troubleshooting help
|
|
125
|
+
- [GitHub](https://github.com/voidzero-dev/vite-plus) for issues, discussions, and bug reports
|
|
126
|
+
|
|
127
|
+
When reporting a problem, please include:
|
|
128
|
+
|
|
129
|
+
- The full output of `vp env current` and `vp --version`
|
|
130
|
+
- The package manager used by the project
|
|
131
|
+
- The exact steps needed to reproduce the problem and your `vite.config.ts`
|
|
132
|
+
- A minimal reproduction repository or runnable sandbox
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Upgrading Vite+
|
|
2
|
+
|
|
3
|
+
Use `vp upgrade` to update the global `vp` binary, and use Vite+'s package management commands to update the local `vite-plus` package in a project.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
There are two parts to upgrading Vite+:
|
|
8
|
+
|
|
9
|
+
- The global `vp` command installed on your machine
|
|
10
|
+
- The local `vite-plus` package used by an individual project
|
|
11
|
+
|
|
12
|
+
You can upgrade both of them independently.
|
|
13
|
+
|
|
14
|
+
## Global `vp`
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
vp upgrade
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Local `vite-plus`
|
|
21
|
+
|
|
22
|
+
Update the project dependency with the package manager commands in Vite+:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
vp update vite-plus
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
You can also use `vp add vite-plus@latest` if you want to move the dependency explicitly to the latest version.
|
|
29
|
+
|
|
30
|
+
### Updating Aliased Packages
|
|
31
|
+
|
|
32
|
+
Vite+ sets up npm aliases for its core packages during installation:
|
|
33
|
+
|
|
34
|
+
- `vite` is aliased to `npm:@voidzero-dev/vite-plus-core@latest`
|
|
35
|
+
- `vitest` is aliased to `npm:@voidzero-dev/vite-plus-test@latest`
|
|
36
|
+
|
|
37
|
+
`vp update vite-plus` does not re-resolve these aliases in the lockfile. To fully upgrade, update them separately:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
vp update @voidzero-dev/vite-plus-core @voidzero-dev/vite-plus-test
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Or update everything at once:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
vp update vite-plus @voidzero-dev/vite-plus-core @voidzero-dev/vite-plus-test
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
You can verify with `vp outdated` that no Vite+ packages remain outdated.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Running Binaries
|
|
2
|
+
|
|
3
|
+
Use `vpx`, `vp exec`, and `vp dlx` to run binaries without switching between local installs, downloaded packages, and project-specific tools.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
`vpx` executes a command from a local or remote npm package. It can run a package that is already available locally, download a package on demand, or target an explicit package version.
|
|
8
|
+
|
|
9
|
+
Use the other binary commands when you need stricter control:
|
|
10
|
+
|
|
11
|
+
- `vpx` resolves a package binary locally first by default and downloads it if not found; with `pkg@version`, `--package/-p`, or `--shell-mode`, it runs via `vp dlx`
|
|
12
|
+
- `vp exec` runs a binary from the current project's `node_modules/.bin`
|
|
13
|
+
- `vp dlx` runs a package binary without adding it as a dependency
|
|
14
|
+
|
|
15
|
+
## `vpx`
|
|
16
|
+
|
|
17
|
+
Use `vpx` for running any local or remote binary:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
vpx <pkg[@version]> [args...]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Options
|
|
24
|
+
|
|
25
|
+
- `-p, --package <name>` installs one or more additional packages before running the command
|
|
26
|
+
- `-c, --shell-mode` executes the command inside a shell
|
|
27
|
+
- `-s, --silent` suppresses Vite+ output and only shows the command output
|
|
28
|
+
|
|
29
|
+
### Examples
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
vpx eslint .
|
|
33
|
+
vpx create-vue my-app
|
|
34
|
+
vpx typescript@5.5.4 tsc --version
|
|
35
|
+
vpx -p cowsay -c 'echo "hi" | cowsay'
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## `vp exec`
|
|
39
|
+
|
|
40
|
+
Use `vp exec` when the binary must come from the current project, for example a binary from a dependency installed in `node_modules/.bin`.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
vp exec <command> [args...]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Examples:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
vp exec eslint .
|
|
50
|
+
vp exec tsc --noEmit
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## `vp dlx`
|
|
54
|
+
|
|
55
|
+
Use `vp dlx` for one-off package execution without adding the package to your project dependencies.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
vp dlx <package> [args...]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Examples:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
vp dlx create-vite
|
|
65
|
+
vp dlx typescript tsc --version
|
|
66
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Why Vite+?
|
|
2
|
+
|
|
3
|
+
Working in the JavaScript ecosystem today, developers need a runtime such as Node.js, a package manager like pnpm, a dev server, a linter, a formatter, a test runner, a bundler, a task runner, and a growing number of config files.
|
|
4
|
+
|
|
5
|
+
Vite showed that frontend tooling could become dramatically faster by rethinking the architecture instead of accepting the status quo. Vite+ applies that same idea to the rest of the local development workflow, and unifies them all into a single package that speeds up and simplifies development.
|
|
6
|
+
|
|
7
|
+
## The Problem Vite+ is Solving
|
|
8
|
+
|
|
9
|
+
The JavaScript tooling ecosystem has seen its fair share of fragmentation and churn. Web apps keep getting larger, and as a result tooling performance, complexity, and inconsistencies have become real bottlenecks as projects grow.
|
|
10
|
+
|
|
11
|
+
These bottlenecks are amplified in organizations with multiple teams, each using a different tooling stack. Dependency management, build infrastructure, and code quality become fragmented responsibilities, handled team by team and often not owned as a priority by anyone. As a result, dependencies drift out of sync, builds get slower, and code quality declines. Fixing those problems later requires significantly more effort, slows everyone down, and pulls teams away from shipping product.
|
|
12
|
+
|
|
13
|
+
## What's Included in Vite+
|
|
14
|
+
|
|
15
|
+
Vite+ brings the tools needed for modern web development together into a single, integrated toolchain. Instead of assembling and maintaining a custom toolchain, Vite+ provides a consistent entry point that manages the runtime, dependencies, development server, code quality checks, testing, and builds in one place.
|
|
16
|
+
|
|
17
|
+
- **[Vite](https://vite.dev/)** and **[Rolldown](https://rolldown.rs/)** for development and application builds
|
|
18
|
+
- **[Vitest](https://vitest.dev/)** for testing
|
|
19
|
+
- **[Oxlint](https://oxc.rs/docs/guide/usage/linter.html)** and **[Oxfmt](https://oxc.rs/docs/guide/usage/formatter.html)** for linting and formatting
|
|
20
|
+
- **[tsdown](https://tsdown.dev/)** for library builds or standalone executables
|
|
21
|
+
- **[Vite Task](https://github.com/voidzero-dev/vite-task)** for task orchestration
|
|
22
|
+
|
|
23
|
+
In practice, this means developers interact with one consistent workflow: `vp dev`, `vp check`, `vp test`, and `vp build`.
|
|
24
|
+
|
|
25
|
+
This unified toolchain reduces configuration overhead, improves performance, and makes it easier for teams to maintain consistent tooling across projects.
|
|
26
|
+
|
|
27
|
+
## Fast and Scalable by Default
|
|
28
|
+
|
|
29
|
+
Vite+ is built on top of modern tooling such as Vite, Rolldown, Oxc, Vitest, and Vite Task to keep your projects fast and scalable as your codebase grows. By using Rust, we can speed up common tasks by [10× or sometimes even by 100×](https://voidzero.dev/posts/announcing-vite-plus-alpha#performance-scale). However, many Rust-based toolchains are incompatible with existing tools, or aren't extensible using JavaScript.
|
|
30
|
+
|
|
31
|
+
Vite+ bridges Rust to JavaScript via [NAPI-RS](https://napi.rs/) which allows it to provide a familiar, easy-to-configure, and extensible interface in JavaScript with a great ecosystem-compatible developer experience.
|
|
32
|
+
|
|
33
|
+
Unifying the toolchain has performance benefits beyond just using faster tools on their own. For example, many developers set up their linter with "type aware" tools, requiring a full-typecheck to be run during the linting stage. With `vp check` you can format, lint, and type-check your code all in a single pass, speeding up static checks by 2× compared to running type-aware lint rules and type-checks separately.
|
|
34
|
+
|
|
35
|
+
## Fully Open Source
|
|
36
|
+
|
|
37
|
+
Vite+ is fully open source and not a new framework or locked-down platform. Vite+ integrates with the existing Vite ecosystem and the frameworks built on top of it, including React, Vue, Svelte, and others. It can use pnpm, npm, yarn, or Bun as package manager, and manages the Node.js runtime for you.
|
|
38
|
+
|
|
39
|
+
We always welcome contributions from the community. See our [Contributing Guidelines](https://github.com/voidzero-dev/vite-plus/blob/main/CONTRIBUTING.md) to get involved.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page
|
|
3
|
+
title: Meet the Team
|
|
4
|
+
description: The development of Vite+ is guided by an international team.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<script setup>
|
|
8
|
+
import {
|
|
9
|
+
VPTeamPage,
|
|
10
|
+
VPTeamPageTitle,
|
|
11
|
+
VPTeamPageSection,
|
|
12
|
+
VPTeamMembers
|
|
13
|
+
} from '@voidzero-dev/vitepress-theme'
|
|
14
|
+
import { core } from './_data/team'
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<VPTeamPage>
|
|
18
|
+
<VPTeamPageTitle>
|
|
19
|
+
<template #title>Meet the Team</template>
|
|
20
|
+
<template #lead>
|
|
21
|
+
The team members who work on Vite+ and are responsible for its development, maintenance, and community engagement.
|
|
22
|
+
</template>
|
|
23
|
+
</VPTeamPageTitle>
|
|
24
|
+
<VPTeamMembers :members="core" />
|
|
25
|
+
<!-- <VPTeamPageSection v-if="emeriti.length">
|
|
26
|
+
<template #title>Team Emeriti</template>
|
|
27
|
+
<template #lead>
|
|
28
|
+
Here we honor some no-longer-active team members who have made valuable
|
|
29
|
+
contributions in the past.
|
|
30
|
+
</template>
|
|
31
|
+
<template #members>
|
|
32
|
+
<VPTeamMembers size="small" :members="emeriti" />
|
|
33
|
+
</template>
|
|
34
|
+
</VPTeamPageSection> -->
|
|
35
|
+
</VPTeamPage>
|