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,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
|
+
```
|