Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions lib/rules/no-unused-refs.js
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,23 @@ module.exports = {
refsNode = id.parent
}
extractUsedForPattern(refsNode)
},
CallExpression(exp) {
if (exp.callee.name !== 'useTemplateRef') {
return
}
const arg0 = exp.arguments[0]
if (!arg0) {
return
}
if (arg0.type === 'Literal') {
usedRefs.add(arg0.value)
} else if (
arg0.type === 'TemplateLiteral' &&
arg0.quasis.length === 1
) {
usedRefs.add(arg0.quasis[0].value.cooked)
}
}
}
)
Expand Down
14 changes: 14 additions & 0 deletions tests/lib/rules/no-unused-refs.js
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,20 @@ tester.run('no-unused-refs', rule, {
const x = ref(null)
</script>
`
},
{
filename: 'test.vue',
code: `
<template>
<input ref="x" />
<input ref="y" />
</template>
<script setup>
import {useTemplateRef} from 'vue'
const inputX = useTemplateRef('x')
const inputY = useTemplateRef(\`y\`)
</script>
`
}
],

Expand Down