Skip to content
CAI
Software that uses CAICheck a score

avajs/ava

52.6

Weak · 1 October 2026

14.8k

lines of production code

JavaScript

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a legacy codebase undergoing maintenance to ensure compatibility with modern runtime environments, specifically targeting Node.js 26 support. Recent efforts have centered on updating the test infrastructure, including migrating to AVA v8 and switching to the cbor2 library, alongside preparing for the 8.0.0 release. The work also includes minor improvements to developer experience, such as better error reporting for unawaited async assertions. The system appears to be a stable, older project focused on sustaining its existing functionality rather than introducing new features.

Narrated so far: 2026-04-27 – 2026-05-17; history before 2026-04-27 not narrated yet.

How it got here

Week 18 of 2026 (27 Apr – 3 May) — Version 8.0.0 release and error reporting

2 changes.

This period focused on the release of version 8.0.0, marked by a significant dependency version bump. Alongside the release preparation, improvements were made to error reporting for unawaited async assertions to enhance developer experience and debugging capabilities.

May 2026 — Node.js 26 compatibility

6 changes.

This period focused on updating the project's toolchain and dependencies to support Node.js 26. The work involved upgrading the AVA test runner to version 8, adjusting its configuration and snapshots, and switching to the cbor2 library. These changes ensured the test suite and core libraries remained compatible with the new runtime environment.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 53.

Lenses

  • Code Health 46
  • Architecture 98
  • Maturity 57
  • Readiness 52
  • Security 70
  • Performance 60

Changes since last survey

  • 300 commits — 275 feature/other, 25 fixes

By area

  • (root) — 97 commits
  • test-tap/reporters — 27 commits
  • docs/recipes — 24 commits
  • .github/workflows — 12 commits
  • test-tap/fixture — 11 commits
  • docs/03-assertions.md — 8 commits
  • docs/06-configuration.md — 6 commits
  • lib/api.js — 6 commits
  • lib/cli.js — 5 commits
  • test-types/import-in-cts — 5 commits
  • test/external-assertions — 5 commits
  • test/shared-workers — 5 commits
  • docs/01-writing-tests.md — 4 commits
  • lib/fork.js — 4 commits
  • lib/snapshot-manager.js — 4 commits
  • lib/worker — 4 commits
  • test/config — 4 commits
  • test/snapshot-tests — 4 commits
  • test/watch-mode — 4 commits
  • docs/05-command-line.md — 3 commits

Notable commits

  • fix: Fix 'previous failures' in watch mode always incrementing
  • fix: Fix Mongoose recipe
  • fix: Fix TS 4.7 compatibility
  • fix: Fix ava/internal ESM type module
  • fix: Fix circular selector detection in t.like()
  • fix: Fix discarding of timeout trigger
  • fix: Fix encoding of large snapshot data
  • fix: Fix error handling in watcher tests
  • fix: Fix external assertions tests for Node.js 21
  • fix: Fix external-assertions snapshot for Node.js 20.11
  • fix: Fix function reference in t.try() assertion documentation
  • fix: Fix iterating over p-map aggregate errors
  • fix: Fix link to test isolation
  • fix: Fix potential bug with watch mode when no failed test files are written
  • fix: Fix prefix normalization
  • fix: Fix release workflow (#3417)
  • fix: Fix reporting of errors that crash test workers
  • fix: Fix runner test
  • fix: Fix throws assertions rejecting falsy values when any: true
  • fix: Fix type tests for t.assert()
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

avajs/ava was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit bbfd946322fdeca2b547a691d947fb4e18c0c67f — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.