Skip to content

feat(lint-plugin-nuxt-ecosystem): complete Nuxt UI rules - #15

Open
lajczi wants to merge 13 commits into
Zerya-Dev:masterfrom
lajczi:feat/add-more-nuxt-ui-rules
Open

lajczi wants to merge 13 commits into
Zerya-Dev:masterfrom
lajczi:feat/add-more-nuxt-ui-rules

Conversation

@lajczi

@lajczi lajczi commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

This PR adds many more Nuxt UI rules to lint-plugin-nuxt-ecosystem.

Most of the work was done by GPT-5.6 Sol, which went through the full Nuxt UI documentation and turned its conventions into practical, docs-driven lint rules covering component APIs, forms, accessibility, overlays, theming, and v4 migrations.

All new rules:

Components, migrations and props

  • no-deprecated-components — catches Nuxt UI components renamed in v4
  • no-deprecated-model-modifiers — replaces the deprecated nullify modifier with nullable
  • no-invalid-prop-combinations — catches documented incompatible prop combinations
  • no-conflicting-state-props — prevents mixing controlled and uncontrolled state props

Component preferences

  • prefer-u-button
  • prefer-u-modal
  • prefer-u-form-controls
  • prefer-u-icon
  • prefer-u-kbd
  • prefer-u-link
  • prefer-u-progress
  • prefer-u-separator
  • prefer-u-table
  • prefer-link-to
  • prefer-semantic-colors

Forms and accessibility

  • require-u-app
  • require-form-field-name
  • require-form-control-label
  • require-avatar-alt
  • require-icon-button-label
  • require-overlay-title
  • require-popover-content
  • require-tooltip-content

Every rule includes its own documentation and tests. The plugin now contains 23 Nuxt UI rules in total.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6e5246f9a6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/lint-plugin-nuxt-ecosystem/src/rules/nuxt-ui/require-form-state/index.ts Outdated

@Norbiros Norbiros left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Ideally all of your docs should have examples and sources where you can read more about the reasoning for a specific rule

I haven't verified all the changes yet

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be moved to a a separate rules directory nuxt-icon, as it is not a nuxt ui specific feature.

import { docsUrl } from '../../../utils/docs-url.js'
import { defineTemplateVisitor, hasRawOptOut } from '../utils.js'

const ICON_NAME = /^i-[a-z\d]+-[a-z\d][a-z\d-]*$/i

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also use other syntax like lucide:smth. Please create a new rule that guards the style i- vs <type>: and a separate for verification, but it is out of scope of this PR

Comment thread packages/lint-plugin-nuxt-ecosystem/src/rules/nuxt-ui/require-form-state/index.md Outdated
Comment thread packages/lint-plugin-nuxt-ecosystem/src/rules/nuxt-ui/prefer-open-model/index.md Outdated
@lajczi

lajczi commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

.@codex resolve all comments :trollface:

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@lajczi

lajczi commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Thank god it didn't actually trigger

@lajczi

lajczi commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Like we talked on discord, I'm not clicking resolve button on your comments

@lajczi

lajczi commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

👋 if you are adding new rules, please make sure to update the README like I did

This rule was highly opinionated and is not something, that we should
enable for everyone by default. It will be reintroduced in a modified
form in a new PR.

@Norbiros Norbiros left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current format of rule documentation looks like this, so please try to follow it. For example, there are supposed to be separate markdown sections for Incorrect and Correct

@Norbiros Norbiros self-assigned this Aug 10, 2026
Split inline Incorrect/Correct code comments into separate ## Incorrect
and ## Correct sections, consistent with the no-deprecated-components doc.
@Norbiros
Norbiros force-pushed the feat/add-more-nuxt-ui-rules branch from 380e206 to 28685dd Compare August 14, 2026 16:26
This is a major breaking change that overhauls the rule architecture,
introduces explicit standalone configuration, and adds @nuxt/image as
a proof-of-concept ecosystem integration. Remove deprecated exports,
improve rule correctness and configuration.
@Norbiros
Norbiros force-pushed the feat/add-more-nuxt-ui-rules branch from 28685dd to c366d3a Compare August 14, 2026 16:47
@lajczi

lajczi commented Aug 16, 2026

Copy link
Copy Markdown
Contributor Author

@codex can u take a final look?

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c366d3a091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/lint-plugin-nuxt-ecosystem/README.md Outdated
@lajczi

lajczi commented Aug 16, 2026

Copy link
Copy Markdown
Contributor Author

should be ready again!

@lajczi

lajczi commented Aug 16, 2026

Copy link
Copy Markdown
Contributor Author

review it when you have time

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.

2 participants