Allow disabling dlx function globally with vpx

Offen
#2,880 5 Kommentare 3 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@BlankParticle arbeitet bereits daran.

Seit 05.10.2026.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
cli

Rechercherichtung

Start by locating the vpx binary-resolution path in the CLI crate — the point where a missing local binary falls back to downloading from npm and executing. The config schema needs the new vpxDlxBehaviour option (allow/ask/deny), with non-interactive environments treating ask as deny, while vp dlx keeps its current behaviour. Read CONTRIBUTING.md for build and test steps; done means vpx cowsay prints the suggested message under deny and existing dlx tests still pass.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

contribution welcome enhancement
Description

Basically same as what Nub does https://x.com/colinhacks/status/2099827579817779683
When the config is set, if the current project doesn't have the bin installed and the user tries to do vpx <something>, don't try to download it from npm and execute

Suggested solution

there can be option like vpxDlxBehaviour = allow(default) | ask | deny which will figure out what needs to be done when vpx is invoked with a not installed package, in non interactive envs like for agents, ask will deny, vp dlx will still work, but its a more conscious choice which is saying download and execute this from npm

$ vpx cowsay

`cowsay` is not a installed binary in this project, if you meant to execute `cowsay` from npm, use `vp dlx cowsay`
Alternative

Hope you don't typo the package name or use the wrong binary name,
I have done it most with typescript, where I don't have typescript installed, I try to do vpx tsc which resolves to tsc on npm (which is a placeholder that warns about this exact thing)

Additional context

No response

Validations
  • Read the Contributing Guidelines.
  • Confirm this request is for Vite+ itself and not for Vite, Vitest, tsdown, Rolldown, or Oxc.
  • Check that there isn't already an issue requesting the same feature.
Vorherrschende Sprache
TypeScript
Sterne
6.6k
Forks
303
Ø Merge
1 T. 5 Std.
Gemergte PRs (30 T.)
212

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus voidzero-dev/vite-plus

Alle Issues in voidzero-dev/vite-plus

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.