Skip to content

Promote remaining Vue lint warnings to errors now that the codebase is clean #13510

Description

@RayBB

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 that flat/recommended ships the relevant rules at warn, and CI does not fail on warnings. With the codebase clean, we can flip them to error at zero cost and prevent regression.

Change

In eslint.config.cjs, in the **/*.vue rules block (next to the existing vue/multi-word-component-names entry), add:

"vue/require-prop-types": "error",
"vue/require-explicit-emits": "error",
"vue/require-default-prop": "error",
"vue/no-v-html": "error",
"vue/no-template-shadow": "error",

Rationale per rule:

Do not bulk-promote all 30 warn rules from flat/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

  • The five rules above are set to "error" in eslint.config.cjs
  • npm run lint / npx eslint . passes with 0 errors and 0 warnings on current master
  • No inline eslint-disable added anywhere to make the flip pass

Difficulty: 1/5

Metadata

Metadata

Assignees

No one assigned

    Labels

    Good First IssueEasy issue. Good for newcomers. [managed]Lead: @RayBBIssues overseen by Ray (Onboarding & Documentation Lead) [manages]Module: JavaScriptIssues related to the JavaScript functionality. [managed]Needs: HelpIssues, 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]Type: Subtask of EpicA subtask that is part of the work breakdown of an epic issue (see comments). [managed]

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions