Repository navigation
refactor: convert shared form helpers and components to TypeScript (CM-1579) - #4902
Conversation
…M-1579) Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
PR SummaryLow Risk Overview
Reviewed by Cursor Bugbot for commit 436e735. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
🟡 Changes recommended
CI reports 534 type errors, so the baseline of 536 would permit two regressions.
1 open finding
What changed in this PR
Converts shared Vue form utilities and components to TypeScript while removing their ESLint legacy exemptions.
Changes:
- Adds typed props, emits, slots, and Vuelidate errors.
- Converts
form-change.jsto TypeScript. - Updates ESLint exemptions and the type-check baseline.
| File | Description |
|---|---|
frontend/typecheck-baseline.json |
Lowers the type-error baseline. |
frontend/.eslint/legacy-files.json |
Removes converted components from legacy exemptions. |
frontend/src/shared/form/array-input.vue |
Adds TypeScript component definitions. |
frontend/src/shared/form/element-change.ts |
Types the element change detector. |
frontend/src/shared/form/form-change.js |
Removes the JavaScript implementation. |
frontend/src/shared/form/form-change.ts |
Adds the typed replacement implementation. |
frontend/src/shared/form/form-errors.vue |
Types validation errors and messages. |
frontend/src/shared/form/form-item.vue |
Types props, slots, and validation handling. |
frontend/src/shared/form/inline-select-input.vue |
Types options, props, and emitted events. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>

Summary
Converts the shared form helpers and components (
element-change,form-change,form-errors,form-item,inline-select-input,array-input) to TypeScript. The type-check baseline drops from 538 to 536..eslint/legacy-files.json.JIRA: https://linuxfoundation.atlassian.net/browse/CM-1579