Build system: make output wording and labels consistent

Đang mở
#9,244 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.

  • #9250 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
48/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
ocaml

Hướng nghiên cứu

Reproduce the listed output issues with ReScript 13.0.0-alpha.8 and inspect the named files under rewatch-ocaml/, starting with build_report.ml and output.ml. The report names specific locations for build, clean, diagnostics, scheduling, and compiler output. Done means correcting the listed wording, labels, ordering, and color behavior across terminal and redirected output, then checking each reproduction.

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

Mô tả

The build system's messages still follow the Rust implementation's output, which the OCaml one had to match exactly. Now that #9238 removes it, they can be made consistent. All reproduce with rescript 13.0.0-alpha.8; paths are in rewatch-ocaml/.

Progress and results

  • Wrong plurals: Parsed 1 source files, Compiled 1 modules, in plain and terminal output (build_report.ml:52-54, output.ml).
  • A failed one-shot build ends with Incremental build failed. Error: \e[2K\r Failed to Compile. See Errors Above (parse errors: Could not parse Source Files): "Incremental", the Error: in mid-sentence, Title Case, and a line-clear sequence even when redirected (build.ml:317-330).
  • Cleaned 0/0 on every fresh build; a no-op build prints Cleaned 0/1, Parsed 0 source files, Compiled 0 modules (build_report.ml:50-53). The counts are stale ASTs out of previous ASTs, which the line does not say.
  • A redirected one-shot build prints no completion line, while watch prints Finished initial compilation (build_report.ml:89).
  • Redirected rescript clean prints only Cleaning <pkg> (clean.ml:98). In a terminal with "in-source": false, it prints Cleaning files... / Cleaned files with an empty suffix list (clean.ml:102-110).

Diagnostics

  • ERROR: with exit 0: a dependency source folder that is missing or is a file prints ERROR: / Could not read folder: "nosuch". Specified in dependency: dep, located "<path>"..., and the build succeeds. The root package is also called "dependency", and a file is called a folder (package_diagnostics.ml:87-91).
  • The field 'ignored-dirs' … is not supported by ReScript 12's new build system. (config.ml:410-415).
  • Could not start Rescript build next to A ReScript build is already running (build_lock.ml:14, :174, project_context.ml:8).
  • Labels: ERROR:, WARN:, DEBUG: and TRACE: sit on their own line before the message (package_diagnostics.ml:88, :96, output.ml:5-7), while other warnings have none: Duplicated package: a ./node_modules/a (chosen) vs … in ./node_modules/b (package_resolution.ml:76), No implementation file found for interface file (skipping): src/B.resi, which also starts with a line-clear sequence when redirected (package_graph.ml:111).
  • Config diagnostics (deprecated bsc-flags, unknown fields) are printed after the Parsed/Compiled lines and after compiler warnings, with three blank lines before the first and one between the others (build_report.ml:64-73, config.ml:313).
  • Parse errors get an Error in <pkg>: header; type errors do not (package_parse.ml:103).

Verbose output

  • -vv prints compile dirty: A without a label (compiler_scheduler.ml:117), and TRACE: / Compiled 2 out of 2 in the universe (compiler_scheduler.ml:404).

Colors

  • With NO_COLOR=1, progress lines lose their colors, but compiler errors and warnings keep them; compiler output is also colored when redirected. bsc is always run with -color always (compiler_process.ml:240-241 and the compile arguments), while progress output follows output.ml:102-119.
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ề Build System

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.