Skip to content

Conversation

@9romise
Copy link
Contributor

@9romise 9romise commented Nov 27, 2025

Re-implement of #2632 (closes #2632). (I really love this feature!)
But this PR doesn't insert import { useTemplateRef } from 'vue' automatically.
Because I think that falls outside the scope of this rule. Additionally, some users rely on unplugin-auto-import and would have to remove the unnecessary import to maintain clean imports.

Please merge #2982 first.

@changeset-bot
Copy link

changeset-bot bot commented Nov 27, 2025

⚠️ No Changeset found

Latest commit: c6feec2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@9romise 9romise marked this pull request as ready for review November 28, 2025 01:27
Copy link
Member

@FloEdelmann FloEdelmann left a comment

Choose a reason for hiding this comment

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

Looks good to me, thank you 🙂

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 implements auto-fix functionality for the prefer-use-template-ref rule, which automatically converts ref() and shallowRef() calls to useTemplateRef('name') when they are used as template refs. The implementation intentionally does not auto-import useTemplateRef to avoid conflicts with users who rely on unplugin-auto-import.

  • Adds fixable: 'code' metadata to enable auto-fixing
  • Implements fixer logic that correctly handles TypeScript type arguments/parameters
  • Updates all test cases with expected outputs and enhanced error location information

Reviewed changes

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

File Description
lib/rules/prefer-use-template-ref.js Adds fixable metadata and implements the fix function that replaces ref/shallowRef calls with useTemplateRef, preserving type arguments
tests/lib/rules/prefer-use-template-ref.js Adds output expectations for all invalid test cases and includes endLine/endColumn in error assertions; adds TypeScript test case
docs/rules/prefer-use-template-ref.md Adds wrench icon notation and fix attribute to code blocks to indicate auto-fix capability
docs/rules/index.md Updates the rules table to show the wrench icon for this 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.

2 participants