chore(repo): stop working around lint rules that do not fit tests, e2e and the API #524
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
spec
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
amaurycoudr/chess-project!524
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/lint-audit-398-fd284c"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Steps 1 to 5 of #398, checked against current main. Each config change also deletes the suppressions and override copies it makes unnecessary.
Suppressions deleted (7):
room-footer.test.tsx,room-offers.test.tsx(its reason is kept as a plain comment),room.handlers.ts, the e2etargets.ts,tests/mailbox.tsandplaywright.screenshots.config.ts, and the API'sapp.ts. No new suppression is added.Deviations from the issue
require-array-join-separatoris back on across the whole API, rather than narrowed to one file. On main, nothing inapps/apidefines a Roomjoinany more, and every.join(call passes a separator. With the rule on everywhere, the API lints clean, so both overrides that turned it off are deleted (room/and tests).browserOnfold. The split blocks are named by theme (Username rules, password rules, before / once the server answers), and each reads better than one merged block would.Evidence
envinside an override works. With it removed,apps/e2ereportseslint(no-undef): 'process' is not definedmany times; with it in place, 0 errors.reflect-metadataallow is narrow. A probe file withimport "zod";still failsimport/no-unassigned-import, whileapp.tspasses.require-array-join-separatorstill fires. A probe["a"].join()undersrc/room/fails, and the real code passes.pnpm lint,typecheck,test(engine 742, api 730, front 1216),buildandformat:checkare all green.Proposed rule changes
CODING_STANDARDS.mdrule 9 says "Outside tests, numbers … are named constants". The*.handlers.tsMSW fakes inapps/front/srcnow lint as tests, so the rule could read "outside tests and their fakes" to match.Merge Danger
Door: two-way
Blast Radius: lint-only
Nothing changes at runtime. Lint is looser in tests, handlers,
apps/e2eand the API's nulls, and stricter for join separators in the API.Closes #398
Screenshots
Before is production, after is this merge request's review app at
afee5e1.Desktop
Mobile