Repository navigation
chore: fail CI on any type error and delete the type-check ratchet (CM-1537) - #5058
Conversation
Refs linuxfoundation/lfx-cdp-insights-ops#237 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
…M-1537) Refs linuxfoundation/lfx-cdp-insights-ops#237 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
PR SummaryLow Risk Overview The type-check ratchet is removed: To keep Reviewed by Cursor Bugbot for commit 0e95bab. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
🟢 Approval recommended
The focused changes consistently enforce strict type checking, with no blocking issues identified in static review; project checks were not run.
No open issues 🎉
What changed in this PR
Replaces the frontend’s type-error baseline with strict CI type checking.
Changes:
- Runs plain
vue-tscin CI and removes the ratchet machinery. - Adds Vite plugin type assertions.
- Adds temporary Vue slot error expectations for untyped child components.
| File | Description |
|---|---|
| frontend/vite.config.ts | Adds explicit plugin types and assertions. |
| frontend/typecheck-baseline.json | Deletes the error baseline. |
| frontend/src/modules/organization/components/organization-unmerge-dialog.vue | Adds three slot error expectations. |
| frontend/src/modules/organization/components/organization-merge-suggestions-dialog.vue | Adds one slot error expectation. |
| frontend/scripts/typecheck-ratchet.mjs | Deletes baseline enforcement. |
| frontend/package.json | Removes the ratchet script entry. |
| .github/workflows/frontend-checks.yml | Runs strict frontend type checking. |
Review effort: Balanced
Summary
Makes the CI
typecheckjob fail on any type error, and deletes the ratchet that allowed a baseline.mainis at zero type errors, so the job passes today.pnpm --filter frontend run typecheck(plainvue-tsc) instead oftypecheck:ci.frontend/scripts/typecheck-ratchet.mjs,frontend/typecheck-baseline.jsonand thetypecheck:ciscript are deleted.vite.config.tstypes the visualizer and components plugins asPluginOption, and four child-component slots in the organization merge and unmerge dialogs carry@vue-expect-errornotes. The child components are untyped JavaScript; the note fails the check as soon as they are converted, which is when the markers should go.vue-tscexits 0 on this branch and exits 2 when a file with a deliberate type error is added.Closes linuxfoundation/lfx-cdp-insights-ops#237