vpx: watch reports for `vpx --watch`, and `vpx watch` on oxc-node's watcher
Maintainer antworten meist innerhalb von 1 Tag
@fengmk2 arbeitet bereits daran.
Seit 20.10.2026.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
Follow-up to #2936. vpx --watch is Node.js watch mode with the script loader. It restarts when an imported file changes, but not in two common cases, which tsx watch misses as well:
- A tsconfig edit, such as a new
pathsmapping. - A file an import is waiting for, created after the first run (
import "./later.js", thenlater.tsis added).
It also has none of tsx watch's options: include and exclude globs, clearing the screen, rerunning on Enter, a kill timeout, or polling for Docker, WSL, and network drives.
oxc-node added both pieces in oxc-project/oxc-node#861, which #2936 syncs (ce22828):
- Dependency reports. With
enable_watch_reporton, the binding records the tsconfig files it reads and the paths a failed resolve looked for.@oxc-node/core's loader sends them as{ "watch:import": [url] }over IPC, the message Node.js's own watcher already reads, sonode --watchrestarts on them. oxnode watch. A tsx-style watcher, about 2,500 lines of TypeScript on Node.js built-ins.
Plan
- Reports for
vpx --watch. Forwardenable_watch_reportandtake_watch_dependenciesinpackages/cli/binding/src/oxc_node.rs. Port the relay into vpx's loader: the preload reports on the in-thread path, and the off-thread hooks send through a channel to the main thread. It is on only whenWATCH_REPORT_DEPENDENCIESis set.vpx --watchthen restarts on tsconfig edits and created files, with no new process. - Signal ack. Port the child's side of
OXNODE_SIGNAL_ACKinto the preload, so the watcher does not deliver Ctrl+C twice when it runs in a pipe or the background. vpx watch. Run oxc-node's watcher, bundled from the vendored source, once oxc-project/oxc-node#871 gives it an entry that takes vpx's loader and name.- Both CLIs route
vpx watch <script>: the globalvpxexecs Node.js with the bundled watcher, and the local bin calls it in process. - Add docs and snapshots, and a
vp migraterule that rewritestsx watchtovpx watch.
- Both CLIs route
Notes
vpx watchcurrently runs the binary of the npm packagewatch. A subcommand changes that, as tsx and oxnode did.- The process count matches
vpx --watch, since Node.js watch mode also runs a watcher process above the script. - Step 1 does not depend on oxc-project/oxc-node#871 and can land first.
- Vorherrschende Sprache
- Rust
- Sterne
- 6.3k
- Forks
- 283
- Ø Merge
- 1 T. 16 Std.
- Gemergte PRs (30 T.)
- 214
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus voidzero-dev/vite-plus
-
pending triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
voidzero-dev/vite-plus#2882 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
voidzero-dev/vite-plus#2097 · 10 Kommentare · 2 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
defineConfig drops own properties of Promise plugins (breaks Vike discovery)Evtl. vergeben @liangmiQwQ hat das heute übernommen. Offenbug
voidzero-dev/vite-plus#3152 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Document cross-platform `FOO=bar cmd` in task commands and scriptsEvtl. vergeben @hyunbinseo hat das heute übernommen. Offendocumentation
voidzero-dev/vite-plus#3140 · 2 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
voidzero-dev/vite-plus#3137 · 3 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in voidzero-dev/vite-plus
Ähnliche Issues
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
metasequoiaime/msime#9113 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:desktop priority:p2 type:chore
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
area: supply-chain
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 73/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
-
Refresh stale docsOffen
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 67/100
OpenCarControls/firmware#35 ·