Files
drop/.codecov.yml
BillyOutlast 7b275c4ce8 chore(deps,ci): dependabot desktop/main + .codecov.yml + CI merge + MSW error + coverage scope (#28)
* chore(deps): add dependabot desktop/main entry + .codecov.yml

desktop/main/ has its own pnpm-workspace.yaml and pnpm-lock.yaml,
so the root npm entry at / does not cover it. All 30+ deps in
the Nuxt 4 desktop app (tauri plugins, koa, etc.) were invisible
to Dependabot.

.codecov.yml added with:
- project status OFF (1.17% baseline, target: auto would block
  every PR per AGENTS.md)
- patch status informational at 50% (new code should be tested
  but not block)
- server flag target 80% informational
- PR comments disabled (solo dev, low signal at 32 tests)
- ignore patterns for .nuxt/, prisma/client/, proto/, test/

Refs plan at .opencode/plans/hyperplan-dep-tdd-coverage.md PR2.

* chore(ci): merge test+coverage jobs, MSW error, scope coverage to backend

Three changes:

1. ci.yml: delete the separate coverage job (duplicate setup
   vs test job — 14 CI-min wasted per push). Add coverage step
   to test job so vitest run --coverage happens once. Codecov
   upload moves to test job.

2. server/test/mocks/index.ts: onUnhandledRequest: 'warn' →
   'error'. Unmocked HTTP calls now fail the test instead of
   producing stderr noise. Forces explicit handler registration.
   Escape hatch: resetTestMocks([...unmockedHandlers]) for
   intentional bypass.

3. server/vitest.config.ts: include 'server/**/*.ts' →
   'server/server/**/*.ts'. The 1.17% coverage baseline is
   inflated by ~3-5K LOC of frontend (pages/, components/,
   composables/) that is untestable outside Playwright E2E.
   New scope reflects only Nitro backend coverage.

Refs plan at .opencode/plans/hyperplan-dep-tdd-coverage.md PR3.

---------

Co-authored-by: bot <ci@local>
2026-07-25 14:18:47 -04:00

30 lines
818 B
YAML

coverage:
status:
# Project-level gating is OFF until overall coverage > 30% (per AGENTS.md).
# At 1.17% baseline, target: auto would block every PR.
project: off
# Patch-level: warn-only. New code should be tested but not block.
patch:
default:
target: 50%
informational: true
# Per-flag thresholds (server flag already configured in ci.yml).
# Add cli, desktop, etc. as their coverage toolchains ship.
flags:
server:
target: 80%
informational: true
# PR comments disabled for now: solo dev, low PR traffic, low signal at 32 tests.
comment: false
# Group admin paths that should not count toward coverage.
ignore:
- ".nuxt/**"
- ".output/**"
- "prisma/client/**"
- "proto/**"
- "**/*.test.ts"
- "**/*.test.tsx"
- "test/**"