vpx: watch reports for `vpx --watch`, and `vpx watch` on oxc-node's watcher
Maintainer thường phản hồi trong vòng 1 ngày
@fengmk2 đang làm issue này rồi.
Từ ngày 20/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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.
- Ngôn ngữ chính
- Rust
- Star
- 6.3k
- Fork
- 283
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 231
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của voidzero-dev/vite-plus
-
pending triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
voidzero-dev/vite-plus#2882 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
voidzero-dev/vite-plus#2097 · 10 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`pnpm create vite-plus` and `yarn create vite-plus` fail with `spawn vp ENOENT` when `vp` is not on PATHCó thể đã có người làm @fengmk2 đã nhận 1 ngày trước. Đang mởbug
voidzero-dev/vite-plus#3177 · 1 reaction · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
vp migrate doesn't flag esbuild-specific config (minify: "esbuild") — migrated project fails to build on Vite 8Có thể đã có người làm @john-okeefe đã nhận 1 ngày trước. Đang mởcontribution welcome
voidzero-dev/vite-plus#3176 · 1 reaction · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`vp run`: scripts get a non-blocking stdin (EAGAIN) when `run` tasks in vite.config.ts use constantsĐang mởpending triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
voidzero-dev/vite-plus#3155 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của voidzero-dev/vite-plus
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
project-robius/robrix#1177 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Quadratic time in Query::bind() makes large parameterized queries (multi-row INSERT) very slowĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
ClickHouse/clickhouse-rs#497 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
-
test(breg): postgres_startup needs the tooling feature its required-features does not declareĐang mởarea:breg bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
registrystack/registry-stack#2307 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
farion1231/cc-switch#8696 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày