Build system: make output wording and labels consistent

Abierto
#9,244 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@cknitt ya está trabajando en esto.

Desde el 6/11/2026.

  • #9250 de @cknitt — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
ocaml

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.
Lenguaje dominante
OCaml
Estrellas
7.5k
Forks
485
Merge medio
16 h 51 min
PR fusionados (30 d)
268

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de rescript-lang/rescript

Todos los issues de rescript-lang/rescript

Issues similares

Más issues de Build System

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.