Skip to content

Conversation

@rzzf
Copy link
Contributor

@rzzf rzzf commented Dec 20, 2025

resolves #2994

@changeset-bot
Copy link

changeset-bot bot commented Dec 20, 2025

🦋 Changeset detected

Latest commit: 087ebb5

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 Patch

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

Copy link
Member

@waynzh waynzh left a comment

Choose a reason for hiding this comment

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

Thanks!

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes a bug in the vue/define-props-destructuring rule where it incorrectly handled imported props declarations (both TypeScript types and runtime objects). The rule was previously skipping validation when props were defined using imported identifiers, causing false negatives.

  • Fixed the logic to properly detect when defineProps has arguments by checking for both named props and unknown types with nodes
  • Added comprehensive test coverage for imported types and objects in both destructuring and non-destructuring scenarios

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
lib/rules/define-props-destructuring.js Updated the hasArgs check to include unknown prop types that have AST nodes, correctly handling imported props declarations
tests/lib/rules/define-props-destructuring.js Added test cases for imported TypeScript types and runtime objects in both valid and invalid scenarios with different destructuring preferences
.changeset/lemon-turtles-visit.md Added changeset documenting the bug fix for imported props in the destructuring rule

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

vue/define-props-destructuring does not work with imported types passed to defineProps.

2 participants