Skip to content

v3.14.0: doMock-aware coverage, faster discovery and alias propagation

Latest

Choose a tag to compare

@BartWaardenburg BartWaardenburg released this 04 Aug 08:59
· 31 commits to main since this release
Immutable release. Only release title and notes can be modified.
v3.14.0
3cf8074

Mock-aware coverage learns doMock, workspace discovery and alias propagation got faster, and type-aware status tells the truth about how it found the sidecar.

Features

vi.doMock and jest.doMock join the mock-aware coverage model. They never mask test reachability (they are unhoisted and order-sensitive, so masking could produce false uncovered findings), but static path-shaped targets and their __mocks__ manual-mock siblings now receive credit edges on every proven receiver shape, and doUnmock cannot clear a sound hoisted mask. Automock (vi.mock without a factory) keeps coverage credit by pinned, documented decision. The --coverage-gaps docs now spell out the full mock-aware semantics, including what abstains.

Performance

  • Workspace discovery: a per-discovery manifest cache stops members reached via multiple workspace sources from being re-read and re-parsed, and Deno config probing collapses to a single filesystem probe per directory. Discovery and diagnostics benchmarks improved 7 to 12 percent with identical behavior.
  • Alias propagation: cross-package namespace alias propagation dropped its per-consumer string formatting and redundant clones, recovering the earlier regression and landing faster than the pre-regression baseline.

Fixes

  • type-aware status reports truthful discovery sources. Fallow's own launchers now mark self-injected wiring, so status distinguishes npm-wrapper and github-action from a genuinely user-set environment-override, and wrapper-wired discovery failures get the right remediation.
  • maxUnitSize semantics are now unambiguous. The schema and docs state explicitly that the four max* health thresholds govern which findings are listed and never move health_score, whose bins keep their fixed cross-project calibration; a regression test locks the score as byte-identical when thresholds change. Thanks @DeLuke84 for the report that exposed the ambiguity.
  • The flaky Windows process-tree lifecycle tests were hardened with deadline polling, serialized execution, and slow-runner headroom.

Full Changelog: v3.13.0...v3.14.0