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,51 @@
|
|
|
1
|
+
# Commit Hooks
|
|
2
|
+
|
|
3
|
+
Use `vp config` to install commit hooks, and `vp staged` to run checks on staged files.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Vite+ supports commit hooks and staged-file checks without additional tooling.
|
|
8
|
+
|
|
9
|
+
Use:
|
|
10
|
+
|
|
11
|
+
- `vp config` to set up project hooks and related integrations
|
|
12
|
+
- `vp staged` to run checks against the files currently staged in Git
|
|
13
|
+
|
|
14
|
+
If you use [`vp create`](/guide/create) or [`vp migrate`](/guide/migrate), Vite+ prompts you to set this up for your project automatically.
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
### `vp config`
|
|
19
|
+
|
|
20
|
+
`vp config` configures Vite+ for the current project. It installs Git hooks, sets up the hook directory, and can also handle related project integration such as agent setup. By default, hooks are written to `.vite-hooks`:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
vp config
|
|
24
|
+
vp config --hooks-dir .vite-hooks
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### `vp staged`
|
|
28
|
+
|
|
29
|
+
`vp staged` runs staged-file checks using the `staged` config from `vite.config.ts`. If you set up Vite+ to handle your commit hooks, it will automatically run when you commit your local changes.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
vp staged
|
|
33
|
+
vp staged --verbose
|
|
34
|
+
vp staged --fail-on-changes
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Configuration
|
|
38
|
+
|
|
39
|
+
Define staged-file checks in the `staged` block in `vite.config.ts`:
|
|
40
|
+
|
|
41
|
+
```ts [vite.config.ts]
|
|
42
|
+
import { defineConfig } from 'vite-plus';
|
|
43
|
+
|
|
44
|
+
export default defineConfig({
|
|
45
|
+
staged: {
|
|
46
|
+
'*.{js,ts,tsx,vue,svelte}': 'vp check --fix',
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This is the default Vite+ approach and should replace separate `lint-staged` configuration in most projects. Because `vp staged` reads from `vite.config.ts`, your staged-file checks stay in the same place as your lint, format, test, build, and task-runner config.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Creating a Project
|
|
2
|
+
|
|
3
|
+
`vp create` interactively scaffolds new Vite+ projects, monorepos, and apps inside existing workspaces.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The `create` command is the fastest way to start with Vite+. It can be used in a few different ways:
|
|
8
|
+
|
|
9
|
+
- Start a new Vite+ monorepo
|
|
10
|
+
- Create a new standalone application or library
|
|
11
|
+
- Add a new app or library inside an existing project
|
|
12
|
+
|
|
13
|
+
This command can be used with built-in templates, community templates, or remote GitHub templates.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
vp create
|
|
19
|
+
vp create <template>
|
|
20
|
+
vp create <template> -- <template-options>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Built-in Templates
|
|
24
|
+
|
|
25
|
+
Vite+ ships with these built-in templates:
|
|
26
|
+
|
|
27
|
+
- `vite:monorepo` creates a new monorepo
|
|
28
|
+
- `vite:application` creates a new application
|
|
29
|
+
- `vite:library` creates a new library
|
|
30
|
+
- `vite:generator` creates a new generator
|
|
31
|
+
|
|
32
|
+
## Template Sources
|
|
33
|
+
|
|
34
|
+
`vp create` is not limited to the built-in templates.
|
|
35
|
+
|
|
36
|
+
- Use shorthand templates like `vite`, `@tanstack/start`, `svelte`, `next-app`, `nuxt`, `react-router`, and `vue`
|
|
37
|
+
- Use full package names like `create-vite` or `create-next-app`
|
|
38
|
+
- Use local templates such as `./tools/create-ui-component` or `@acme/generator-*`
|
|
39
|
+
- Use remote templates such as `github:user/repo` or `https://github.com/user/template-repo`
|
|
40
|
+
|
|
41
|
+
Run `vp create --list` to see the built-in templates and the common shorthand templates Vite+ recognizes.
|
|
42
|
+
|
|
43
|
+
## Options
|
|
44
|
+
|
|
45
|
+
- `--directory <dir>` writes the generated project into a specific target directory
|
|
46
|
+
- `--agent <name>` creates agent instructions files during scaffolding
|
|
47
|
+
- `--editor <name>` writes editor config files
|
|
48
|
+
- `--hooks` enables pre-commit hook setup
|
|
49
|
+
- `--no-hooks` skips hook setup
|
|
50
|
+
- `--no-interactive` runs without prompts
|
|
51
|
+
- `--verbose` shows detailed scaffolding output
|
|
52
|
+
- `--list` prints the available built-in and popular templates
|
|
53
|
+
|
|
54
|
+
## Template Options
|
|
55
|
+
|
|
56
|
+
Arguments after `--` are passed directly to the selected template.
|
|
57
|
+
|
|
58
|
+
This matters when the template itself accepts flags. For example, you can forward Vite template selection like this:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
vp create vite -- --template react-ts
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Examples
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Interactive mode
|
|
68
|
+
vp create
|
|
69
|
+
|
|
70
|
+
# Create a Vite+ monorepo, application, library, or generator
|
|
71
|
+
vp create vite:monorepo
|
|
72
|
+
vp create vite:application
|
|
73
|
+
vp create vite:library
|
|
74
|
+
vp create vite:generator
|
|
75
|
+
|
|
76
|
+
# Use shorthand community templates
|
|
77
|
+
vp create vite
|
|
78
|
+
vp create @tanstack/start
|
|
79
|
+
vp create svelte
|
|
80
|
+
|
|
81
|
+
# Use full package names
|
|
82
|
+
vp create create-vite
|
|
83
|
+
vp create create-next-app
|
|
84
|
+
|
|
85
|
+
# Use remote templates
|
|
86
|
+
vp create github:user/repo
|
|
87
|
+
vp create https://github.com/user/template-repo
|
|
88
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Dev
|
|
2
|
+
|
|
3
|
+
`vp dev` starts the Vite development server.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
`vp dev` runs the standard Vite development server through Vite+, so you keep the normal Vite dev experience while using the same CLI entry point as the rest of the toolchain. For more information about using and configuring the dev server, see the [Vite guide](https://vite.dev/guide/).
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
vp dev
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Configuration
|
|
16
|
+
|
|
17
|
+
Use standard Vite config in `vite.config.ts`. For the full configuration reference, see the [Vite config docs](https://vite.dev/config/).
|
|
18
|
+
|
|
19
|
+
Use it for:
|
|
20
|
+
|
|
21
|
+
- [plugins](https://vite.dev/guide/using-plugins)
|
|
22
|
+
- [aliases](https://vite.dev/config/shared-options#resolve-alias)
|
|
23
|
+
- [`server`](https://vite.dev/config/server-options)
|
|
24
|
+
- [environment modes](https://vite.dev/guide/env-and-mode)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Environment
|
|
2
|
+
|
|
3
|
+
`vp env` manages Node.js versions globally and per project.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Managed mode is on by default, so `node`, `npm`, and related shims resolve through Vite+ and pick the right Node.js version for the current project.
|
|
8
|
+
|
|
9
|
+
By default, Vite+ stores its managed runtime and related files in `~/.vite-plus`. If needed, you can override that location with `VP_HOME`.
|
|
10
|
+
|
|
11
|
+
If you want to keep that behavior, run:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
vp env on
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This enables managed mode, where the shims always use the Vite+-managed Node.js installation.
|
|
18
|
+
|
|
19
|
+
If you do not want Vite+ to manage Node.js first, run:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
vp env off
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This switches to system-first mode, where the shims prefer your system Node.js and only fall back to the Vite+-managed runtime when needed.
|
|
26
|
+
|
|
27
|
+
## Commands
|
|
28
|
+
|
|
29
|
+
### Setup
|
|
30
|
+
|
|
31
|
+
- `vp env setup` creates or updates shims in `VP_HOME/bin`
|
|
32
|
+
- `vp env on` enables managed mode so shims always use Vite+-managed Node.js
|
|
33
|
+
- `vp env off` enables system-first mode so shims prefer system Node.js first
|
|
34
|
+
- `vp env print` prints the shell snippet for the current session
|
|
35
|
+
|
|
36
|
+
### Manage
|
|
37
|
+
|
|
38
|
+
- `vp env default` sets or shows the global default Node.js version
|
|
39
|
+
- `vp env pin` pins a Node.js version in the current directory
|
|
40
|
+
- `vp env unpin` removes `.node-version` from the current directory
|
|
41
|
+
- `vp env use` sets a Node.js version for the current shell session
|
|
42
|
+
- `vp env install` installs a Node.js version
|
|
43
|
+
- `vp env uninstall` removes an installed Node.js version
|
|
44
|
+
- `vp env exec` runs a command with a specific Node.js version
|
|
45
|
+
- `vp node` runs a Node.js script — shorthand for `vp env exec node`
|
|
46
|
+
|
|
47
|
+
### Inspect
|
|
48
|
+
|
|
49
|
+
- `vp env current` shows the current resolved environment
|
|
50
|
+
- `vp env doctor` runs environment diagnostics
|
|
51
|
+
- `vp env which` shows which tool path will be used
|
|
52
|
+
- `vp env list` shows locally installed Node.js versions
|
|
53
|
+
- `vp env list-remote` shows available Node.js versions from the registry
|
|
54
|
+
|
|
55
|
+
## Project Setup
|
|
56
|
+
|
|
57
|
+
- Pin a project version with `.node-version`
|
|
58
|
+
- Use `vp install`, `vp dev`, and `vp build` normally
|
|
59
|
+
- Let Vite+ pick the right runtime for the project
|
|
60
|
+
|
|
61
|
+
## Examples
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Setup
|
|
65
|
+
vp env setup # Create shims for node, npm, npx
|
|
66
|
+
vp env on # Use Vite+ managed Node.js
|
|
67
|
+
vp env print # Print shell snippet for this session
|
|
68
|
+
|
|
69
|
+
# Manage
|
|
70
|
+
vp env pin lts # Pin the project to the latest LTS release
|
|
71
|
+
vp env install # Install the version from .node-version or package.json
|
|
72
|
+
vp env default lts # Set the global default version
|
|
73
|
+
vp env use 20 # Use Node.js 20 for the current shell session
|
|
74
|
+
vp env use --unset # Remove the session override
|
|
75
|
+
|
|
76
|
+
# Inspect
|
|
77
|
+
vp env current # Show current resolved environment
|
|
78
|
+
vp env current --json # JSON output for automation
|
|
79
|
+
vp env which node # Show which node binary will be used
|
|
80
|
+
vp env list-remote --lts # List only LTS versions
|
|
81
|
+
|
|
82
|
+
# Execute
|
|
83
|
+
vp env exec --node lts npm i # Execute npm with latest LTS
|
|
84
|
+
vp env exec node -v # Use shim mode with automatic version resolution
|
|
85
|
+
vp node script.js # Shorthand: run a Node.js script with the resolved version
|
|
86
|
+
vp node -e "console.log(1+1)" # Shorthand: forward any node flag or argument
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Custom Node.js Mirror
|
|
90
|
+
|
|
91
|
+
By default, Vite+ downloads Node.js from `https://nodejs.org/dist`. If you're behind a corporate proxy or need to use an internal mirror (e.g., Artifactory), set the `VP_NODE_DIST_MIRROR` environment variable:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Install a specific version from your custom mirror
|
|
95
|
+
VP_NODE_DIST_MIRROR=https://my-mirror.example.com/nodejs/dist vp env install 22
|
|
96
|
+
|
|
97
|
+
# Set the global default version using a custom mirror
|
|
98
|
+
VP_NODE_DIST_MIRROR=https://my-mirror.example.com/nodejs/dist vp env default lts
|
|
99
|
+
|
|
100
|
+
# Set it permanently in your shell profile (.bashrc, .zshrc, etc.)
|
|
101
|
+
echo 'export VP_NODE_DIST_MIRROR=https://my-mirror.example.com/nodejs/dist' >> ~/.zshrc
|
|
102
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Format
|
|
2
|
+
|
|
3
|
+
`vp fmt` formats code with Oxfmt.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
`vp fmt` is built on [Oxfmt](https://oxc.rs/docs/guide/usage/formatter.html), the Oxc formatter. Oxfmt has full Prettier compatibility and is designed as a fast drop-in replacement for Prettier.
|
|
8
|
+
|
|
9
|
+
Use `vp fmt` to format your project, and `vp check` to format, lint and type-check all at once.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
vp fmt
|
|
15
|
+
vp fmt --check
|
|
16
|
+
vp fmt . --write
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Configuration
|
|
20
|
+
|
|
21
|
+
Put formatting configuration directly in the `fmt` block in `vite.config.ts` so all your configuration stays in one place. We do not recommend using `.oxfmtrc.json` with Vite+.
|
|
22
|
+
|
|
23
|
+
For editors, point the formatter config path at `./vite.config.ts` so format-on-save uses the same `fmt` block:
|
|
24
|
+
|
|
25
|
+
```json [.vscode/settings.json]
|
|
26
|
+
{
|
|
27
|
+
"oxc.fmt.configPath": "./vite.config.ts"
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For the upstream formatter behavior and configuration reference, see the [Oxfmt docs](https://oxc.rs/docs/guide/usage/formatter.html).
|
|
32
|
+
|
|
33
|
+
```ts [vite.config.ts]
|
|
34
|
+
import { defineConfig } from 'vite-plus';
|
|
35
|
+
|
|
36
|
+
export default defineConfig({
|
|
37
|
+
fmt: {
|
|
38
|
+
singleQuote: true,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# IDE Integration
|
|
2
|
+
|
|
3
|
+
Vite+ supports VS Code and Zed through editor-specific settings that `vp create` and `vp migrate` can automatically write into your project.
|
|
4
|
+
|
|
5
|
+
## VS Code
|
|
6
|
+
|
|
7
|
+
For the best VS Code experience with Vite+, install the [Vite Plus Extension Pack](https://marketplace.visualstudio.com/items?itemName=VoidZero.vite-plus-extension-pack). It currently includes:
|
|
8
|
+
|
|
9
|
+
- `Oxc` for formatting and linting via `vp check`
|
|
10
|
+
- `Vitest` for test runs via `vp test`
|
|
11
|
+
|
|
12
|
+
When you create or migrate a project, Vite+ prompts whether you want editor config written for VS Code. `vp create` additionally sets `npm.scriptRunner` to `vp` so the VS Code NPM Scripts panel runs scripts through the Vite+ task runner. For migrated or existing projects, you can add this setting manually (see below).
|
|
13
|
+
|
|
14
|
+
You can also manually set up the VS Code config:
|
|
15
|
+
|
|
16
|
+
```json [.vscode/extensions.json]
|
|
17
|
+
{
|
|
18
|
+
"recommendations": ["VoidZero.vite-plus-extension-pack"]
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```json [.vscode/settings.json]
|
|
23
|
+
{
|
|
24
|
+
"editor.defaultFormatter": "oxc.oxc-vscode",
|
|
25
|
+
"[javascript]": { "editor.defaultFormatter": "oxc.oxc-vscode" },
|
|
26
|
+
"[javascriptreact]": { "editor.defaultFormatter": "oxc.oxc-vscode" },
|
|
27
|
+
"[typescript]": { "editor.defaultFormatter": "oxc.oxc-vscode" },
|
|
28
|
+
"[typescriptreact]": { "editor.defaultFormatter": "oxc.oxc-vscode" },
|
|
29
|
+
"oxc.fmt.configPath": "./vite.config.ts",
|
|
30
|
+
"editor.formatOnSave": true,
|
|
31
|
+
"editor.formatOnSaveMode": "file",
|
|
32
|
+
"editor.codeActionsOnSave": {
|
|
33
|
+
"source.fixAll.oxc": "explicit"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This gives the project a shared default formatter and enables Oxc-powered fix actions on save. The language-specific override blocks (`[javascript]`, `[typescript]`, etc.) are required because VS Code prioritizes user-level `[language]` settings over the workspace-level `editor.defaultFormatter` — without them, a global Prettier configuration would silently take over. Setting `oxc.fmt.configPath` to `./vite.config.ts` keeps editor format-on-save aligned with the `fmt` block in your Vite+ config. Vite+ uses `formatOnSaveMode: "file"` because Oxfmt does not support partial formatting.
|
|
39
|
+
|
|
40
|
+
To let the VS Code NPM Scripts panel run scripts through `vp`, add the following to your `.vscode/settings.json`:
|
|
41
|
+
|
|
42
|
+
```json [.vscode/settings.json]
|
|
43
|
+
{
|
|
44
|
+
"npm.scriptRunner": "vp"
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This is included automatically by `vp create` but not by `vp migrate`, since existing projects may have team members who do not have `vp` installed locally.
|
|
49
|
+
|
|
50
|
+
## Zed
|
|
51
|
+
|
|
52
|
+
For the best Zed experience with Vite+, install the [oxc-zed](https://github.com/oxc-project/oxc-zed) extension from the Zed extensions marketplace. It provides formatting and linting via `vp check`.
|
|
53
|
+
|
|
54
|
+
When you create or migrate a project, Vite+ prompts you to choose whether you want the editor config written for Zed.
|
|
55
|
+
|
|
56
|
+
You can also manually set up the Zed config:
|
|
57
|
+
|
|
58
|
+
```json [.zed/settings.json]
|
|
59
|
+
{
|
|
60
|
+
"lsp": {
|
|
61
|
+
"oxlint": {
|
|
62
|
+
"initialization_options": {
|
|
63
|
+
"settings": {
|
|
64
|
+
"run": "onType",
|
|
65
|
+
"fixKind": "safe_fix",
|
|
66
|
+
"typeAware": true,
|
|
67
|
+
"unusedDisableDirectives": "deny"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"oxfmt": {
|
|
72
|
+
"initialization_options": {
|
|
73
|
+
"settings": {
|
|
74
|
+
"configPath": "./vite.config.ts",
|
|
75
|
+
"run": "onSave"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"languages": {
|
|
81
|
+
"JavaScript": {
|
|
82
|
+
"format_on_save": "on",
|
|
83
|
+
"prettier": { "allowed": false },
|
|
84
|
+
"formatter": [{ "language_server": { "name": "oxfmt" } }],
|
|
85
|
+
"code_action": "source.fixAll.oxc"
|
|
86
|
+
},
|
|
87
|
+
"TypeScript": {
|
|
88
|
+
"format_on_save": "on",
|
|
89
|
+
"prettier": { "allowed": false },
|
|
90
|
+
"formatter": [{ "language_server": { "name": "oxfmt" } }]
|
|
91
|
+
},
|
|
92
|
+
"Vue.js": {
|
|
93
|
+
"format_on_save": "on",
|
|
94
|
+
"prettier": { "allowed": false },
|
|
95
|
+
"formatter": [{ "language_server": { "name": "oxfmt" } }]
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Setting `oxfmt.configPath` to `./vite.config.ts` keeps editor format-on-save aligned with the `fmt` block in your Vite+ config. The full generated config covers additional languages (CSS, HTML, JSON, Markdown, etc.) — run `vp create` or `vp migrate` to get the complete file written automatically.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Removing Vite+
|
|
2
|
+
|
|
3
|
+
Use `vp implode` to remove `vp` and all related Vite+ data from your machine.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
`vp implode` is the cleanup command for removing a Vite+ installation and its managed data. Use it if you no longer want Vite+ to manage your runtime, package manager, and related local tooling state.
|
|
8
|
+
|
|
9
|
+
::: info
|
|
10
|
+
If you decide Vite+ is not for you, please [share your feedback with us](https://discord.gg/cAnsqHh5PX).
|
|
11
|
+
:::
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
vp implode
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Skip the confirmation prompt with:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
vp implode --yes
|
|
23
|
+
```
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
Vite+ is the unified toolchain and entry point for web development. It manages your runtime, package manager, and frontend toolchain in one place by combining [Vite](https://vite.dev/), [Vitest](https://vitest.dev/), [Oxlint](https://oxc.rs/docs/guide/usage/linter.html), [Oxfmt](https://oxc.rs/docs/guide/usage/formatter.html), [Rolldown](https://rolldown.rs/), [tsdown](https://tsdown.dev/), and [Vite Task](https://github.com/voidzero-dev/vite-task).
|
|
4
|
+
|
|
5
|
+
Vite+ ships in two parts: `vp`, the global command-line tool, and `vite-plus`, the local package installed in each project. If you already have a Vite project, use [`vp migrate`](/guide/migrate) to migrate it to Vite+, or paste our [migration prompt](/guide/migrate#migration-prompt) into your coding agent.
|
|
6
|
+
|
|
7
|
+
## Install `vp`
|
|
8
|
+
|
|
9
|
+
### macOS / Linux
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
curl -fsSL https://vite.plus | bash
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Windows
|
|
16
|
+
|
|
17
|
+
```powershell
|
|
18
|
+
irm https://vite.plus/ps1 | iex
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Alternatively, download and run [`vp-setup.exe`](https://setup.viteplus.dev).
|
|
22
|
+
|
|
23
|
+
::: tip SmartScreen warning
|
|
24
|
+
The `vp-setup.exe` is not yet code-signed. Your browser may show a warning when downloading. Click **"..."** → **"Keep"** → **"Keep anyway"** to proceed. If Windows Defender SmartScreen blocks the file when you run it, click **"More info"** → **"Run anyway"**.
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
After installation, open a new shell and run:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
vp help
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
::: info
|
|
34
|
+
Vite+ will manage your global Node.js runtime and package manager. If you'd like to opt out of this behavior, run `vp env off`. If you realize Vite+ is not for you, type `vp implode`, but please [share your feedback with us](https://discord.gg/cAnsqHh5PX).
|
|
35
|
+
:::
|
|
36
|
+
|
|
37
|
+
::: details Using a minor platform (CPU architecture, OS) ?
|
|
38
|
+
|
|
39
|
+
Prebuilt binaries are distributed for the following platforms (grouped by [Node.js v24 platform support tier](https://github.com/nodejs/node/blob/v24.x/BUILDING.md#platform-list)):
|
|
40
|
+
|
|
41
|
+
- Tier 1
|
|
42
|
+
- Linux x64 glibc (`x86_64-unknown-linux-gnu`)
|
|
43
|
+
- Linux arm64 glibc (`aarch64-unknown-linux-gnu`)
|
|
44
|
+
- Windows x64 (`x86_64-pc-windows-msvc`)
|
|
45
|
+
- macOS x64 (`x86_64-apple-darwin`)
|
|
46
|
+
- macOS arm64 (`aarch64-apple-darwin`)
|
|
47
|
+
- Tier 2
|
|
48
|
+
- Windows arm64 (`aarch64-pc-windows-msvc`)
|
|
49
|
+
- Experimental
|
|
50
|
+
- Linux x64 musl (`x86_64-unknown-linux-musl`)
|
|
51
|
+
- Other
|
|
52
|
+
- Linux arm64 musl (`aarch64-unknown-linux-musl`)
|
|
53
|
+
|
|
54
|
+
If a prebuilt binary is not available for your platform, installation will fail with an error.
|
|
55
|
+
|
|
56
|
+
On Alpine Linux (musl), you need to install `libstdc++` before using Vite+:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
apk add libstdc++
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
This is required because the managed [unofficial-builds](https://unofficial-builds.nodejs.org/) Node.js runtime depends on the GNU C++ standard library.
|
|
63
|
+
|
|
64
|
+
:::
|
|
65
|
+
|
|
66
|
+
## Quick Start
|
|
67
|
+
|
|
68
|
+
Create a project, install dependencies, and use the default commands:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
vp create # Create a new project
|
|
72
|
+
vp install # Install dependencies
|
|
73
|
+
vp dev # Start the dev server
|
|
74
|
+
vp check # Format, lint, type-check
|
|
75
|
+
vp test # Run JavaScript tests
|
|
76
|
+
vp build # Build for production
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
You can also just run `vp` on its own and use the interactive command line.
|
|
80
|
+
|
|
81
|
+
## Core Commands
|
|
82
|
+
|
|
83
|
+
Vite+ can handle the entire local frontend development cycle from starting a project, developing it, checking & testing, and building it for production.
|
|
84
|
+
|
|
85
|
+
### Start
|
|
86
|
+
|
|
87
|
+
- [`vp create`](/guide/create) creates new apps, packages, and monorepos.
|
|
88
|
+
- [`vp migrate`](/guide/migrate) moves existing projects onto Vite+.
|
|
89
|
+
- [`vp config`](/guide/commit-hooks) configures commit hooks and agent integration.
|
|
90
|
+
- [`vp staged`](/guide/commit-hooks) runs checks on staged files.
|
|
91
|
+
- [`vp install`](/guide/install) installs dependencies with the right package manager.
|
|
92
|
+
- [`vp env`](/guide/env) manages Node.js versions.
|
|
93
|
+
|
|
94
|
+
### Develop
|
|
95
|
+
|
|
96
|
+
- [`vp dev`](/guide/dev) starts the dev server powered by Vite.
|
|
97
|
+
- [`vp check`](/guide/check) runs format, lint, and type checks together.
|
|
98
|
+
- [`vp lint`](/guide/lint), [`vp fmt`](/guide/fmt), and [`vp test`](/guide/test) let you run those tools directly.
|
|
99
|
+
|
|
100
|
+
### Execute
|
|
101
|
+
|
|
102
|
+
- [`vp run`](/guide/run) runs tasks across workspaces with caching.
|
|
103
|
+
- [`vp cache clean`](/guide/cache) clears task cache entries.
|
|
104
|
+
- [`vpx`](/guide/vpx) downloads and runs binaries globally.
|
|
105
|
+
- [`vp exec`](/guide/vpx) runs local project binaries.
|
|
106
|
+
- [`vp dlx`](/guide/vpx) downloads and runs package binaries without adding them as dependencies.
|
|
107
|
+
|
|
108
|
+
### Build
|
|
109
|
+
|
|
110
|
+
- [`vp build`](/guide/build) builds apps.
|
|
111
|
+
- [`vp pack`](/guide/pack) builds libraries or standalone artifacts.
|
|
112
|
+
- [`vp preview`](/guide/build) previews the production build locally.
|
|
113
|
+
|
|
114
|
+
### Manage Dependencies
|
|
115
|
+
|
|
116
|
+
- [`vp add`](/guide/install), [`vp remove`](/guide/install), [`vp update`](/guide/install), [`vp dedupe`](/guide/install), [`vp outdated`](/guide/install), [`vp why`](/guide/install), and [`vp info`](/guide/install) wrap package-manager workflows.
|
|
117
|
+
- [`vp pm <command>`](/guide/install) calls other package manager commands directly.
|
|
118
|
+
|
|
119
|
+
### Maintain
|
|
120
|
+
|
|
121
|
+
- [`vp upgrade`](/guide/upgrade) updates the `vp` installation itself.
|
|
122
|
+
- [`vp implode`](/guide/implode) removes `vp` and related Vite+ data from your machine.
|
|
123
|
+
|
|
124
|
+
::: info
|
|
125
|
+
Vite+ ships with many predefined commands such as `vp build`, `vp test`, and `vp dev`. These commands are built-in and cannot be changed. If you want to run a command from your `package.json` scripts, use `vp run <command>` or `vpr <command>`.
|
|
126
|
+
|
|
127
|
+
[Learn more about `vp run`.](/guide/run)
|
|
128
|
+
:::
|