Skip to content
CAI
Software that uses CAICheck a score

JakeChampion/fetch

52.4

Adequate · 25 September 2026

588

lines of production code

JavaScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Test coverage

Add headless browser test infrastructure for fetch polyfill

Added a new test suite using the Karma test runner to execute the fetch polyfill's test suite across multiple headless browsers (Chrome, Chromium, Firefox, Safari) and in Web Workers. This replaces the previous manual or limited testing approach, enabling automated cross-browser and cross-environment validation of the polyfill's behavior.

test · high confidence

Dependencies

Initial package.json for whatwg-fetch

Added package.json defining the whatwg-fetch npm package (version 3.6.20) with dependencies for testing (Karma, Mocha, Chai), linting (ESLint, Prettier), and build tools (Rollup).

(dependencies) · medium confidence

Housekeeping

Initialize project scaffolding and linting configuration

The project has been initialized with essential configuration files including .eslintrc.js for JavaScript linting, .eslintignore, .gitignore, .npmignore, and a Makefile for build/test tasks. A Flow type definition file (fetch.js.flow) and rollup configuration (rollup.config.js) have been added to support type checking and module bundling. These changes establish the development environment and tooling but do not alter the runtime behavior of the fetch polyfill itself.

(repo-wide) · high confidence

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

Score

  • CAI 44 → 52 (+8.5)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 42 → 44 (+1.6)
  • Architecture 69 (new)
  • Maturity 55 → 46 (-9.3)
  • Readiness 33 → 72 (+39.5)
  • Security 96 → 96 (+0.0)

Resolved (13)

  • (anonymous) (cognitive 16) (fetch.js)
  • Dimension evaluation failed
  • FileTooLong: ./fetch.js (fetch.js)
  • FileTooLong: test/test.js (test/test.js)
  • No automated tests
  • No exposed public API
  • No tests found
  • Request (cognitive 36) (fetch.js)
  • Request (cyclomatic 27) (fetch.js)
  • Scanner failed to run — not a clean result
  • Test reliability not included
  • _initBody (cognitive 22) (fetch.js)
  • _initBody (cyclomatic 21) (fetch.js)

New (16)

  • Body::_initBody (cognitive 21) (fetch.js)
  • Body::_initBody (cyclomatic 21) (fetch.js)
  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no committed lockfile, so no resolved version to grade)
  • Documentation: no installation or build instructions (README.md)
  • No assertions (empty test): (unnamed test) (test/worker-adapter.js)
  • No assertions: (unnamed test) (test/worker-adapter.js)
  • Orphaned files with no living knowledge
  • Request (cognitive 38) (fetch.js)
  • Scanner failed to run — not a clean result
  • Scanner failed to run — not a clean result
  • Skipped (documented): (unnamed test) (test/worker-adapter.js)
  • Skipped (documented): rejects promise for network error (test/test.js)
  • fetch (cognitive 30) (fetch.js)
  • fetch.Body (cyclomatic 35) (fetch.js)
  • fetch.Request (cyclomatic 28) (fetch.js)
  • fetch.fetch (cyclomatic 26) (fetch.js)

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

Survey your own repository

JakeChampion/fetch 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 25 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit ba5cf1ed2e02ebb96fa1e60b4fd2eb04071b60e4 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-dd72cc24c749.