Repository navigation
Description
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-timingprints zero timings instead of none. In a terminal,rescript build -nprintsParsed 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. -
watchexits 0 when interrupted.rescript watch, then SIGINT or SIGTERM: printsExiting..., exit 0.rescript watch --helpsays129-143 when interrupted by a signal.rescript_ocaml.ml:84mapsWatcher.Stopto 0. -
--after-builddoes not use a shell.rescript build --after-build 'echo hi; exit 3'printshi; exit 3and exits 0; quotes are passed literally ('echo "a b" c'prints"a b" c).after_build.ml:5splits 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, bothrescript buildandrescript cleanprintCould not build package tree reading dependency 'missing-dep' at path '<project root>'. Error: Could not resolve dependency missing-depand exit 2, the code for command-line usage errors.cleandeletes 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 bogusprintsCould 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_argvincli.ml); the message should say that neither a command nor a folder of that name exists. - Invalid
--featuresand--warn-errorvalues are accepted silently.rescript build --features nopeandrescript build --warn-error zzzexit 0 without a diagnostic;zzzis ignored (cli.ml:63-80and the--warn-erroroption). - Some usage errors lack the
Usage:line.rescript -v -q(rescript: --verbose cannot be used together with --quiet) andrescript format -c -s .res(rescript: --stdin conflicts with --check) exit 2 without it, unlikerescript build --unknown-option; they useTerm.term_resultwithout~usage:true(cli.ml:42-47,:192-196).rescript compiler-args rescript.jsonprintscompiler-args expects a .res or .resi source filewithout therescript:prefix and exits 1 (compiler_args_command.ml:50). -
-hand-Vare undocumented. Both work, butrescript --helplists only--help[=FMT]and--version:cli.ml:286-336rewrites them before Cmdliner sees them.
Metadata
Metadata
Assignees
Labels
No labels
Activity