Skip to content

v0.7.0

Choose a tag to compare

@schalermthai schalermthai released this 07 Sep 13:25
· 78 commits to main since this release

Behaviour changes

A wrong reporter option now prints one line and exits with 2, the same as every other usage mistake. Before, it printed a stack trace and exited with 1. This covers an unknown reporter name, a missing --reporter or --outputFile value, two reporters on stdout, and a prove reporter that prove does not support.

An unknown command is now reported before the config search. redproof lint says "Unknown command: lint" whether or not a config file exists.

API

  • renderRun and SourceExcerpts render the terminal report from values. formatRun still reads the source excerpts for you.
  • ReporterArgumentError is thrown by parseReporterArgs, so a caller can catch a bad reporter option by type.
  • The redproof/command subpath is unchanged. Its file moved to dist/command/index.js.

Structure

The package is now organised into bounded contexts, each with a pure core and an effectful shell: project, proof, workspace, run, command, inspect, reporter, cli, and composition. Every context exposes two surfaces, core/index.ts for other cores and index.ts for everyone else. The self-hosted architecture Gate guards both the purity of every core directory and the use of those surfaces, with 22 Rules and 27 proofs.