Skip to content

feat: add vue/no-deprecated-html-elements rule - #3215

Open
ValentinYoushkevich wants to merge 3 commits into
vuejs:masterfrom
ValentinYoushkevich:feat/no-deprecated-html-elements
Open

ValentinYoushkevich wants to merge 3 commits into
vuejs:masterfrom
ValentinYoushkevich:feat/no-deprecated-html-elements

Conversation

@ValentinYoushkevich

Copy link
Copy Markdown
Contributor

This adds vue/no-deprecated-html-elements, which reports native HTML elements that the HTML Standard lists as non-conforming, like <center>, <font>, <marquee> or <strike>. As suggested in #620, it reuses lib/utils/deprecated-html-elements.json, the list the plugin already keeps updated through tools/update-html-resources.js, so users don't have to copy it into vue/no-restricted-html-elements themselves.

Only lowercase tags in the HTML namespace are reported: <Center>, <CENTER> and elements with is, :is or v-is compile to components, and SVG or MathML elements are skipped. I made it a problem because Vue 3 doesn't treat these tags (except <param>) as native, tries to resolve them as components and warns in development. No options for now; an allow list can come later if someone needs it.

Closes #620

@changeset-bot

changeset-bot Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 89f5a67

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
eslint-plugin-vue Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rule Proposal: Lint deprecated tags

1 participant