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
- vpr -C <dir> <task> works on both entry points: the global vpr dispatch
consumes the flag before delegating to run, and the local bin/vpr shim
inserts 'run' after the -C tokens
- the workspace root needs a stronger runnable signal than members: a
shared root vite.config.ts (lint/fmt/tasks) no longer makes the root an
app target for dev/build/preview; root index.html still does
- pack ranking requires an explicitly declared pack block (get_declared),
so a spread-only config cannot be auto-selected into a tsdown run;
FieldMap::contains is gone with its last caller
- add --assetsDir/--assetsInlineLimit/--filter to the required-value flag
list per vite's CLI docs
Regression fixtures: a shared config at the listing fixture's root and a
spread-only package in pack_default_entry, both pinned by unchanged
snapshots.
Copy file name to clipboardExpand all lines: rfcs/cwd-flag.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -278,17 +278,17 @@ The global binary also resolves the local `vite-plus` install from `<dir>`, matc
278
278
279
279
- One row per workspace package: name plus relative path. Nothing is filtered out; likely-runnable packages (rules below) rank first, then by path, so apps surface at the top while everything stays searchable.
280
280
- Fuzzy search over name and path via `vite_select::fuzzy_match`, paging identical to the task picker.
281
-
- A runnable workspace root appears as a `(workspace root)` entry, keeping today's "run at root" behavior one keystroke away.
281
+
- A runnable workspace root appears as a `.` entry, keeping today's "run at root" behavior one keystroke away. The root needs a stronger signal than member packages: an `index.html` for `dev`/`build`/`preview` (a shared root config for lint/fmt/tasks is the normal monorepo setup and does not make the root an app), and the usual explicit-`pack`-or-default-entry rule for `pack`.
282
282
- With exactly one likely-runnable package, the picker auto-selects it, printing only the `Selected package:` line and the tip.
283
283
284
284
### The likely-runnable heuristic
285
285
286
286
Used only for ranking and single-candidate auto-select, never to hide a package: a misjudged package still appears in the picker and listing, just lower. Judged per package directory from file existence and static config extraction; nothing is executed, and parent directories never count.
|`dev` / `build` / `preview`| its directory directly contains one of Vite's config file names (`vite.config.{js,mjs,ts,cjs,mts,cts}`, the exact list Vite probes), **or** an `index.html` at the package root (Vite's default app entry) |
291
-
|`pack`| its `vite.config.*` declares a `pack` block (read via static extraction; a Vite config without `pack`does not count), **or**`src/index.ts` exists (tsdown's only default entry)|
|`dev` / `build` / `preview`| its directory directly contains one of Vite's config file names (`vite.config.{js,mjs,ts,cjs,mts,cts}`, the exact list Vite probes), **or** an `index.html` at the package root (Vite's default app entry) |
291
+
|`pack`| its `vite.config.*`explicitly declares a `pack` block (read via static extraction; neither a config without `pack`nor one that merely might contain it behind a spread counts), **or**`src/index.ts` exists (tsdown's only default entry) |
292
292
293
293
Both file-based signals are upstream defaults, not vp inventions: `index.html` at the project root is Vite's entry point ([index.html and Project Root](https://vite.dev/guide/#index-html-and-project-root)), the config file names are the list Vite resolves ([Configuring Vite](https://vite.dev/config/), mirrored by `vite_static_config::CONFIG_FILE_NAMES` with the upstream source link), and `src/index.ts` is tsdown's default entry when none is configured ([tsdown Entry](https://tsdown.dev/options/entry); `src/features/entry.ts` in tsdown resolves exactly this one path).
0 commit comments