Skip to content

Commit c27837d

Browse files
feat(no-unused-refs): support template ref api (#2541)
Co-authored-by: Flo Edelmann <[email protected]>
1 parent dfdbe1a commit c27837d

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

lib/rules/no-unused-refs.js

+13
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,19 @@ module.exports = {
233233
refsNode = id.parent
234234
}
235235
extractUsedForPattern(refsNode)
236+
},
237+
CallExpression(callExpression) {
238+
const firstArgument = callExpression.arguments[0]
239+
if (
240+
callExpression.callee.name !== 'useTemplateRef' ||
241+
!firstArgument
242+
) {
243+
return
244+
}
245+
const name = utils.getStringLiteralValue(firstArgument)
246+
if (name !== null) {
247+
usedRefs.add(name)
248+
}
236249
}
237250
}
238251
)

tests/lib/rules/no-unused-refs.js

+14
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,20 @@ tester.run('no-unused-refs', rule, {
315315
const x = ref(null)
316316
</script>
317317
`
318+
},
319+
{
320+
filename: 'test.vue',
321+
code: `
322+
<template>
323+
<input ref="x" />
324+
<input ref="y" />
325+
</template>
326+
<script setup>
327+
import {useTemplateRef} from 'vue'
328+
const inputX = useTemplateRef('x')
329+
const inputY = useTemplateRef(\`y\`)
330+
</script>
331+
`
318332
}
319333
],
320334

0 commit comments

Comments
 (0)