Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions apps/gittensory-miner-ui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,11 @@ the repo root is a ready-to-adapt persistent unit for this — a companion to
`gittensory-miner.service.example` (the loop daemon), not a replacement for it. Its header comment
carries the full install steps. Like the loop daemon, this is a `Type=simple` service, not a `.timer`
job — the dashboard is a long-running HTTP server, not a periodic batch task.

## Test coverage

`npm test` runs with `--coverage` enabled (v8 provider) and enforces `vitest.config.ts`'s `coverage.thresholds`
— a real measured baseline (#4865), not an aspirational target, so CI fails on a genuine regression (e.g. a
large new feature landing with no tests) rather than staying silently unmeasured the way `apps/**` is by
default at the repo root. `apps/gittensory-miner-extension` is not yet under this gate — its own test
instrumentation needs to exist first (see #4865's own scope note).
2 changes: 1 addition & 1 deletion apps/gittensory-miner-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"preview": "vite preview",
"typecheck": "tsc --noEmit",
"lint": "eslint .",
"test": "vitest run",
"test": "vitest run --coverage",
"format": "prettier --write ."
},
"dependencies": {
Expand Down
17 changes: 17 additions & 0 deletions apps/gittensory-miner-ui/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,22 @@ export default defineConfig({
environment: "jsdom",
globals: true,
include: ["src/**/*.test.{ts,tsx}"],
coverage: {
provider: "v8",
include: ["src/**/*.{ts,tsx}", "vite-*.ts"],
exclude: ["src/routeTree.gen.ts", "src/main.tsx"],
reporter: ["text", "lcov"],
// A real baseline (#4865), not an aspirational target: measured at ~87.65/87.17/78.9/88.79 the day this
// was wired up, with a few points of buffer below that so routine formatting/refactor churn doesn't
// false-fail. This is a floor meant to catch a genuine regression (a big untested addition), not a
// ratchet — raise it incrementally as more of the pre-existing gaps (the three sibling API plugins'
// own middleware-wiring layer, __root.tsx's nav shell) get covered over time, per-PR, not in one sweep.
thresholds: {
statements: 85,
branches: 85,
functions: 75,
lines: 85,
},
},
},
});
Loading