Commit 181e81d
authored
fix(cli): skip lazyPlugins only while resolving config metadata (#1939)
## Problem
`lazyPlugins` decided whether to run the user's plugin factory from
`VP_COMMAND`. That signal is:
- **overloaded** — `vp run`'s task-discovery config read and a verbatim
build child both see `run`;
- **unnormalized** — the `vp format` alias is `format`, not `fmt`;
- **inherited** by spawned children.
So a Vite build spawned under `vp run` (a verbatim `node build.mjs`
task) or `vp exec` built **without** the user's plugins, while `vp
format` wrongly **loaded** them. (Both were raised in review.)
## Fix
Decide from the resolution intent instead of the command name. The
metadata resolvers (`resolveViteConfig`, migrate's rolldown-compat
check, and the oxlint/oxfmt subprocess) mark that the config is being
loaded only to read a config block, and `lazyPlugins` skips the factory
**only while that marker is set**.
The default is to load, so `dev`/`build`/`test`/`preview` and any
spawned build keep their plugins, regardless of which command launched
them. The marker is scoped to the resolution, so it never leaks to task
children, and it's immune to aliases and not-yet-known commands.
`VP_COMMAND` had no other reader, so it's removed.
Adds snap tests for the two fixed cases (verbatim `vp run` build loads
plugins; `vp format` skips them) plus updated unit tests and docs.1 parent 1bbf3f1 commit 181e81d
33 files changed
Lines changed: 288 additions & 90 deletions
File tree
- docs/guide
- packages/cli
- binding/src/cli
- bin
- snap-tests
- vite-plugins-exec-build
- vite-plugins-run-verbatim-build
- vite-plugins-skip-on-format
- src
- src
- __tests__
- migration
- utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | | - | |
| 26 | + | |
28 | 27 | | |
29 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
30 | 33 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
| 30 | + | |
32 | 31 | | |
33 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
34 | 37 | | |
35 | 38 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
| 71 | + | |
78 | 72 | | |
79 | 73 | | |
80 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | 99 | | |
117 | 100 | | |
118 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
0 commit comments