Coverage Matrix
+ {#if matrix} + + {/if} +Failed to load coverage data: {error}
+ {:else if !matrix} +Loading coverage data...
+ {:else if route.view === 'overview'} +How coverage is measured
+ +Unit Files
+
+ Vitest's V8 coverage provider tracks which source files have at least one
+ statement executed during unit tests. This counts all .ts files
+ in the package's src/ directory โ a file-level metric that
+ shows how much of the internal implementation is tested, not just public exports.
+
Unit Exports
+
+ Each public export (function, class, constant) is matched to its source file.
+ If V8 confirms the source file was executed during unit tests, the export is
+ marked covered (runtime). If no V8 data exists, we fall back
+ to static import tracing โ checking whether any .test.ts file
+ imports the export by name (static).
+
E2E %
+
+ Playwright's built-in page.coverage API uses Chrome DevTools
+ Protocol to collect V8 function-level coverage from each e2e test. No
+ instrumented builds or Vite plugins are needed โ the browser itself tracks
+ which functions executed at runtime.
+
+ An export is marked e2e-covered when its source file has + more than one function invoked during any e2e test. This + filters out modules that are merely loaded by the bundler + (module wrapper execution) without any of their functions being actually called. +
+
+ Limitation: For class-based exports, V8 reports constructor
+ calls in the calling module's scope, not the defining module. This
+ means callback classes instantiated via a factory pattern may show as uncovered
+ even if they were used during the test. Top-level function exports
+ (journey(), oidc(), protect()) have the
+ highest accuracy.
+
Uncovered
++ Exports with neither unit nor e2e coverage from any source. Type-only exports + are excluded from all runtime metrics. +
+