voidzero-dev / voidzero-dev/vite-plus
vp lint / vp run lint print no summary on a clean pass (unlike vp exec turbo run lint)
- Ngôn ngữ chính
- Rust
- Star
- 5.8k
- Fork
- 262
- Merge trung bình
- 23 giờ 18 phút
- Pull request đã merge (30 ngày)
- 139
Mô tả
## Summary
Running `vp lint ` (or `vp run lint`, the task-runner form) directly prints **nothing at all** and exits 0 when there are zero lint violations — no "Found 0 warnings and 0 errors" summary, no file/rule count, nothing. The same underlying lint task, when invoked via `vp exec turbo run lint --filter=`, prints the full oxlint summary line even on a clean pass:
```
manolea-placeholder:lint: $ vp lint .
manolea-placeholder:lint: Found 0 warnings and 0 errors.
manolea-placeholder:lint: Finished in 422ms on 1103 files with 95 rules using 16 threads.
```
To be clear, this is **not** a correctness bug — I verified with injected violations that both invocation paths correctly detect and report real problems (a syntax error fails with exit 1 and the parse error text; a `debugger;` statement prints the `eslint(no-debugger)` warning by name in both paths). The only difference is the empty-output case.
## Why this is worth fixing
Empty stdout + exit 0 is ambiguous to a human running `vp lint .` locally before pushing: "no output" could mean "ran cleanly" or "didn't actually run" (e.g. wrong cwd, misconfigured filter, crashed silently). The turbo-wrapped invocation resolves that ambiguity by always printing a summary; the direct `vp lint`/`vp run lint` invocation doesn't.
## Repro
In a workspace with a shared `vite.config.ts` (via `defineConfig()`, exporting `lint`/`run`/etc. sub-configs) and a package whose `package.json` has `"lint": "vp lint ."`:
```sh
# From the package directory — prints nothing, exit 0
cd packages/some-pkg
vp lint .
echo $? # 0
# From the workspace root — prints a summary even though nothing changed
vp exec turbo run lint --filter=some-pkg --force
```
## Ask
Have `vp lint`/`vp run lint` print the same "Found N warnings and M errors. Finished in Xms on Y files with Z rules" summary on a clean pass that `vp exec turbo run lint` shows, so a passing run is visibly distinguishable from a run that silently did nothing.
## Environment
- vite-plus 0.2.1
- oxlint 1.70.0
- Linux x86_64
Hướng dẫn đóng góp
Hướng nghiên cứu
Tái hiện các lệnh trực tiếp `vp lint .` và `vp exec turbo run lint --filter=some-pkg --force` từ issue, rồi so sánh output khi chạy sạch. Theo dõi đường đi của `vp lint`/`vp run lint` và cách xử lý kết quả oxlint bên dưới; hoàn tất khi một lần chạy trực tiếp sạch in ra phần tóm tắt về cảnh báo/lỗi, thời gian, tệp và rule, đồng thời giữ nguyên exit status được báo cáo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript, rust, typescript
- Lĩnh vực
- tooling
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 68/100