The template baseline shipped 9 packages without @vitest/coverage-v8 and documented an L0 invocation turbo cannot parse — the full coverage sweep had never run. Adds the provider (pinned to the feature-package spec), a root test:coverage script, corrects every live doc/prompt/CI occurrence, and calibrates coverage excludes for the 4 packages whose latent threshold failures the outage masked (framework glue only — zero threshold numbers changed). L0 sweep now passes 21/21. Squash of a284baa + 5c6af95 (worktree-agent-a013c67cea83b2636), implemented and reviewed via the dispatch loop under the epic's baseline waiver (lint pending story 03). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import path from "node:path";
|
|
import { mergeConfig } from "vitest/config";
|
|
import { jsdomVitestConfig } from "@repo/core-typescript/vitest.base.jsdom";
|
|
|
|
// Coverage excludes mirror the feature-package pattern (see
|
|
// packages/auth/vitest.config.ts): framework glue is excluded, thresholds
|
|
// stay inherited from the shared base — never lowered here.
|
|
export default mergeConfig(jsdomVitestConfig, {
|
|
esbuild: { jsx: "automatic" },
|
|
test: {
|
|
coverage: {
|
|
exclude: [
|
|
// Next.js App Router entry points — async server components and the
|
|
// tRPC route-handler mount, invoked by the framework and covered by
|
|
// Playwright e2e; not unit-testable in jsdom. providers.tsx and
|
|
// src/server/** stay counted (they have unit tests).
|
|
"src/app/**/layout.tsx",
|
|
"src/app/**/page.tsx",
|
|
"src/app/**/route.ts",
|
|
// Ambient type declarations — no executable code
|
|
"src/**/*.d.ts",
|
|
],
|
|
},
|
|
},
|
|
resolve: { alias: { "@": path.resolve(__dirname, "./src") } },
|
|
});
|