Build system: make output wording and labels consistent

オープン
#9,244 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@cknitt がすでに取り組んでいます。

2026年11月6日 から。

  • #9250 @cknitt による — オープン

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
ocaml

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
OCaml
スター
7.5k
フォーク
485
平均マージ
16時間 51分
マージ済み PR(30日)
268

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

rescript-lang/rescript のほかの issue

rescript-lang/rescript の issue をすべて見る

似ている issue

Build System の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。