Build system CLI: behavior that disagrees with the help text

Đang mở
#9,242 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@cknitt đang làm issue này rồi.

Từ ngày 6/11/2026.

  • #9248 của @cknitt — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
43/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
ocaml
Lĩnh vực
cli

Hướng nghiên cứu

Start with the listed entry points in rewatch-ocaml/: build.ml, build_report.ml, rescript_ocaml.ml, after_build.ml, project_context.ml, cli.ml, and compiler_args_command.ml. Reproduce each behavior with ReScript 13.0.0-alpha.8 and trace its command handling and diagnostics. Done means the reported mismatches are corrected consistently; the issue does not name tests to run.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

CLI behavior that disagrees with the help text or with common conventions. All reproduce with rescript 13.0.0-alpha.8 (found while reviewing #9238); paths are in rewatch-ocaml/.

  • --no-timing prints zero timings instead of none. In a terminal, rescript build -n prints Parsed 1 source files in 0.00s … Finished compilation in 0.00s. The times are zeroed (build.ml:305, build_report.ml:79, :108) instead of left out.
  • watch exits 0 when interrupted. rescript watch, then SIGINT or SIGTERM: prints Exiting..., exit 0. rescript watch --help says 129-143 when interrupted by a signal. rescript_ocaml.ml:84 maps Watcher.Stop to 0.
  • --after-build does not use a shell. rescript build --after-build 'echo hi; exit 3' prints hi; exit 3 and exits 0; quotes are passed literally ('echo "a b" c' prints "a b" c). after_build.ml:5 splits on whitespace. Either run the command through the shell or document that it is split on whitespace.
  • A missing dependency is a usage error and blocks clean. With "dependencies": ["missing-dep"] and nothing installed, both rescript build and rescript clean print Could not build package tree reading dependency 'missing-dep' at path '<project root>'. Error: Could not resolve dependency missing-dep and exit 2, the code for command-line usage errors. clean deletes nothing. The "at path" is the requesting project, not the dependency. (project_context.ml:169-173, rescript_ocaml.ml:73-76)
  • An unknown subcommand is reported as a lockfile problem. rescript bogus prints Could not start Rescript build: Could not write lockfile because the specified project folder does not exist: bogus, exit 1. A bare word is taken as the build folder (normalize_argv in cli.ml); the message should say that neither a command nor a folder of that name exists.
  • Invalid --features and --warn-error values are accepted silently. rescript build --features nope and rescript build --warn-error zzz exit 0 without a diagnostic; zzz is ignored (cli.ml:63-80 and the --warn-error option).
  • Some usage errors lack the Usage: line. rescript -v -q (rescript: --verbose cannot be used together with --quiet) and rescript format -c -s .res (rescript: --stdin conflicts with --check) exit 2 without it, unlike rescript build --unknown-option; they use Term.term_result without ~usage:true (cli.ml:42-47, :192-196). rescript compiler-args rescript.json prints compiler-args expects a .res or .resi source file without the rescript: prefix and exits 1 (compiler_args_command.ml:50).
  • -h and -V are undocumented. Both work, but rescript --help lists only --help[=FMT] and --version: cli.ml:286-336 rewrites them before Cmdliner sees them.
Ngôn ngữ chính
OCaml
Star
7.5k
Fork
485
Merge trung bình
16 giờ 51 phút
Pull request đã merge (30 ngày)
268

Chuẩn bị môi trường

Mở trong Codespaces

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.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của rescript-lang/rescript

Tất cả issue của rescript-lang/rescript

Issue tương tự

Thêm issue về CLI

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.