Repository navigation
chore(lint): adopt shared TypeScript coverage and scoped exceptions - #231
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🧹 ESLintQuality check 1 of 3 ✅ Zero warnings. |
🧪 VitestQuality check 2 of 3 ✅ Vitest completed successfully. |
🎭 PlaywrightQuality check 3 of 3 ✅ Playwright completed successfully. |
🗺️ XState v5 State Machine Diff VisualizationArchitecture visualization Base No XState state-machine topology changes detected. Download canonical graphs, structured diff, Mermaid, and diagnostics |
|
Code reviewed and approved. QA deferred. Merging now. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #231 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 53 54 +1
Lines 827 828 +1
Branches 162 162
=========================================
+ Hits 827 828 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Summary
Closes #230
28018031ea1409487e9919b0c62dd58602a3e649; keep this site's typecheck command, coverage owner, and workflow inputs unchanged.ClientShell.tsx, and intentional rest-prop omission in four existing image mocks. No inline suppressions or new source ignores.Why
Before this change, ordinary lint completed cleanly but the shared guard found 0/125 tracked TypeScript files with TypeScript-specific rules. Afterward it verifies 126/126, including the new regression suite, with zero ignored tracked files and zero gaps. Parsing TypeScript was not equivalent to enabling its lint rules.
The existing synchronous fullPage plugin loader follows the upstream initialization contract; converting it to top-level or asynchronous imports just to satisfy lint would change behavior. The image mocks deliberately remove Next.js-only props before forwarding remaining props to an
img. Both exceptions are narrowly scoped and tested against prohibited neighboring cases.Verification
Repository runtime: fnm Node
24.18.0, pnpm11.9.0; no upgrades.checkTypeScriptLintCoverage.ts: 126/126 covered, 0 ignored, 0 gaps. Local scanner and workflow source verified against their immutable pins.pnpm lint: passed with no findings.pnpm formatwith repository ignores plus a private changed-path allowlist: passed; final run left no diff. Existing untracked store and private files preserved.pnpm exec next typegenandpnpm exec tsc --noEmit --incremental false: passed.pnpm exec vitest run --coverage: 42 files, 233 tests passed, including 48 real-ESLint cases. Existing measured report: statements 792/792, branches 355/355, functions 198/198, lines 749/749 (100% each).git diff --check: passed. Four semantic commits, five files.Boundaries / review
No application component, styling, runtime logic, dependency, lockfile, license asset, secret, Playwright/Lighthouse workflow, timeout or coverage-policy change. No build, browser session, hosted QA or deployment performed by the agent; ordinary CI retains its existing triggers. Local checks are not a claim of hosted or manual acceptance.
Review the two scoped config exceptions and shared-workflow pin. Normal site smoke checks remain available to the reviewer, but this PR intentionally leaves the site's runtime and presentation unchanged.