Skip to content

v7.1.0

Choose a tag to compare

@laat laat released this 12 Apr 01:34
· 79 commits to master since this release
9488dbe

Features

  • Stream child stdout live so long-running blocks don't look stalled (#127). Each console.log now appears in your terminal as the block runs, instead of being buffered until it exits.
  • --auto mode detects -> and rejects (#122). Previously only =>, , and throws were picked up; now the auto-detect regex matches what commentToAssert actually understands.
  • /readme-test agent skill (#128). A portable skill file you can drop into ~/.claude/skills/ (or any compatible agent) — Claude runs readme-assert, reads the failing line, and proposes targeted fixes. See https://readme-assert.laat.dev/skill/ for the installable copy.

Fixes

  • package.json exports string + conditional forms (#120). "exports": "./lib/main.js" and "exports": { "import": "./esm.js", "require": "./cjs.js" } shapes are now resolved correctly when rewriting imports; previously they silently fell through to ./index.js.
  • Line numbers preserved through console.log assertions (#121). The console.log(x) //=> value transform no longer inserts a newline that shifted later lines, so error reporting now points at the right line in the README.
  • Clean error when a README has no test blocks (#123). The CLI now prints No test code blocks found in <path> and exits 1 instead of leaking a Node stack trace.
  • Strict CLI argument parsing (#126). Unknown flags like --autop are now rejected with a friendly message and a --help hint, instead of being silently ignored.

Internal

  • Cleanups to examples and dead code, including a functional ts-node example that actually exercises the ts-node hook (#125).
  • Simplified the bails-when-no-tests-exists test shim and added direct coverage for the TypeScript path, the --require CJS downgrade, and unknown-flag rejection (#126).
  • Dropped stale v7 CI trigger (#124).

Compatibility

No breaking changes. The strict CLI argument parsing is the only user-visible behaviour change — if you were passing a typo'd flag that was silently ignored before, you'll now see an error.