You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add `vpr` as a shim binary that acts as a shorthand for `vp run`,
following the same pattern as `vpx` (shorthand for `vp exec`).
When invoked, `vpr` delegates to the same run-or-delegate logic:
local vite-plus CLI when vite-plus is a dependency, otherwise
falls back to `<pm> run`.
- Add vpr command module with execute_vpr entry point
- Add vpr detection in shim/mod.rs detect_shim_tool()
- Add vpr dispatch in shim/dispatch.rs
- Add vpr to SHIM_TOOLS in env setup and doctor
- Update tip message to mention vpr shorthand
- Update run guide, run RFC, and trampoline RFC docs
Copy file name to clipboardExpand all lines: docs/guide/run.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,10 @@
2
2
3
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
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
+
5
9
## Overview
6
10
7
11
Use `vp run` with existing `package.json` scripts:
Copy file name to clipboardExpand all lines: rfcs/run-without-vite-plus-dependency.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -427,6 +427,20 @@ fn test_yarn_run_script() {
427
427
}
428
428
```
429
429
430
+
## Standalone Shorthand: `vpr`
431
+
432
+
`vpr` is available as a standalone binary shorthand for `vp run`, following the same pattern as `vpx` (shorthand for `vp exec`). It is implemented as a shim symlink to the `vp` binary, detected via `argv[0]`, and dispatches to the same `run_or_delegate` logic:
433
+
434
+
```bash
435
+
# These are equivalent:
436
+
vpr dev
437
+
vp run dev
438
+
439
+
# Fallback behavior is identical:
440
+
vpr build # → <pm> run build (when no vite-plus dependency)
441
+
vpr -r build # → delegates to vite-plus task runner (when vite-plus is a dependency)
442
+
```
443
+
430
444
## Backward Compatibility
431
445
432
446
-**Projects with vite-plus**: No change in behavior. The `has_vite_plus_dependency` check passes, and delegation proceeds as before.
Copy file name to clipboardExpand all lines: rfcs/trampoline-exe-for-shims.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Implemented
6
6
7
7
## Summary
8
8
9
-
Replace Windows `.cmd` wrapper scripts with lightweight trampoline `.exe` binaries for all shim tools (`vp`, `node`, `npm`, `npx`, `vpx`, and globally installed package binaries). This eliminates the `Terminate batch job (Y/N)?` prompt that appears when users press Ctrl+C, providing the same clean signal behavior as direct `.exe` invocation.
9
+
Replace Windows `.cmd` wrapper scripts with lightweight trampoline `.exe` binaries for all shim tools (`vp`, `node`, `npm`, `npx`, `vpx`, `vpr`, and globally installed package binaries). This eliminates the `Terminate batch job (Y/N)?` prompt that appears when users press Ctrl+C, providing the same clean signal behavior as direct `.exe` invocation.
10
10
11
11
## Motivation
12
12
@@ -64,7 +64,9 @@ On Unix, shims are symlinks to the `vp` binary. The binary detects the tool name
64
64
├── vp → ../current/bin/vp (symlink)
65
65
├── node → ../current/bin/vp (symlink)
66
66
├── npm → ../current/bin/vp (symlink)
67
-
└── npx → ../current/bin/vp (symlink)
67
+
├── npx → ../current/bin/vp (symlink)
68
+
├── vpx → ../current/bin/vp (symlink)
69
+
└── vpr → ../current/bin/vp (symlink)
68
70
```
69
71
70
72
### Windows (Trampoline `.exe` Files)
@@ -76,6 +78,7 @@ On Unix, shims are symlinks to the `vp` binary. The binary detects the tool name
0 commit comments