-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Promote remaining Vue lint warnings to errors now that the codebase is clean #13510
Copy link
Copy link
Closed
Closed
Copy link
Labels
Good First IssueEasy issue. Good for newcomers. [managed]Easy issue. Good for newcomers. [managed]Lead: @RayBBIssues overseen by Ray (Onboarding & Documentation Lead) [manages]Issues overseen by Ray (Onboarding & Documentation Lead) [manages]Module: JavaScriptIssues related to the JavaScript functionality. [managed]Issues related to the JavaScript functionality. [managed]Needs: HelpIssues, typically substantial ones, that need a dedicated developer to take them on. [managed]Issues, typically substantial ones, that need a dedicated developer to take them on. [managed]Theme: DevelopmentIssues related to the developer experience and the dev environment. [managed]Issues related to the developer experience and the dev environment. [managed]Type: Subtask of EpicA subtask that is part of the work breakdown of an epic issue (see comments). [managed]A subtask that is part of the work breakdown of an epic issue (see comments). [managed]
Description
Metadata
Metadata
Assignees
Labels
Good First IssueEasy issue. Good for newcomers. [managed]Easy issue. Good for newcomers. [managed]Lead: @RayBBIssues overseen by Ray (Onboarding & Documentation Lead) [manages]Issues overseen by Ray (Onboarding & Documentation Lead) [manages]Module: JavaScriptIssues related to the JavaScript functionality. [managed]Issues related to the JavaScript functionality. [managed]Needs: HelpIssues, typically substantial ones, that need a dedicated developer to take them on. [managed]Issues, typically substantial ones, that need a dedicated developer to take them on. [managed]Theme: DevelopmentIssues related to the developer experience and the dev environment. [managed]Issues related to the developer experience and the dev environment. [managed]Type: Subtask of EpicA subtask that is part of the work breakdown of an epic issue (see comments). [managed]A subtask that is part of the work breakdown of an epic issue (see comments). [managed]
Part of epic #13447 — comment on the issue to claim it (no need to wait for assignment), then open a PR referencing it. Follow-up to #13477 (fixed by #13479) and #13473.
Both PRs are merged, so
npx eslint .now reports 0 warnings on first-party Vue components. The only reason these warnings accumulated is thatflat/recommendedships the relevant rules atwarn, and CI does not fail on warnings. With the codebase clean, we can flip them toerrorat zero cost and prevent regression.Change
In
eslint.config.cjs, in the**/*.vuerules block (next to the existingvue/multi-word-component-namesentry), add:Rationale per rule:
require-prop-types+require-default-propforce every prop to declare a type and an explicitrequired/default— the exact decisions Fix Vue prop lint warnings #13473 had to make by hand.require-explicit-emits+no-template-shadowcover the other two warning classes cleaned up in fix(vue): resolve remaining component lint warnings (#13477) #13479.no-v-htmlis the only security rule of the bunch; as an error, any futurev-htmlrequires a visible, justifiedeslint-disablein review.Do not bulk-promote all 30
warnrules fromflat/recommended— most are formatting rules (vue/html-indent,vue/max-attributes-per-line, ...) that would turn style churn into hard CI failures without safety value.Acceptance criteria
"error"ineslint.config.cjsnpm run lint/npx eslint .passes with 0 errors and 0 warnings on currentmastereslint-disableadded anywhere to make the flip passDifficulty: 1/5