Skip to content

v1.6.0 — system harness, exempt coverage, safer --skip-run

Choose a tag to compare

@markabrahams markabrahams released this 14 Aug 12:38
· 16 commits to main since this release

Reconciles the published script with the copy DefProd runs internally. The two had drifted apart in both directions; they are now identical, so features stop landing on only one side.

Added

  • system harness for multi-suite mode — filename-keyed coverage, where a story is covered by a <STORY-KEY>.test.ts file anywhere under the directory. For unit tests filed by code module rather than by product area, where the directory cannot carry the product link.
  • exempt coverage bucket, derived from a story's testExemptReason — an exempt story is no longer reported as uncovered.
  • storyStatus reported alongside coverage and result.

Fixed

  • --skip-run no longer wipes measured pass/fail. It now fetches the product's existing statuses and carries result / totals / lastRunAt forward, so a coverage-only sync updates only coverage and exemptions.
  • An all-skipped story reported passing. Zero active specs is not a pass; it now reports no result.
  • --version has reported 1.1.0 since v1.1.0. The prepublishOnly step baked the version by matching VERSION="dev" exactly, but the baked line had been committed, so the substitution silently stopped matching and every release since shipped the wrong string. It now matches any baked value and is idempotent.

Compatibility

No breaking changes. The .defprod/ config layout, the legacy root .defprod.env fallback, and all existing flags behave exactly as before.

Upgrade

npx @defprod/scripts defprod-sync-tests
# or
npm install -g @defprod/scripts