Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/utils/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -1380,7 +1380,7 @@ module.exports = {
* @param {any[]} args
*/
function callVisitor(key, node, ...args) {
if (visitor[key] && inScriptSetup(node)) {
if (visitor[key] && (node.type === 'Program' || inScriptSetup(node))) {
// @ts-expect-error
visitor[key](node, ...args)
}
Expand Down
44 changes: 44 additions & 0 deletions tests/lib/rules/prefer-use-template-ref.js
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,23 @@ tester.run('prefer-use-template-ref', rule, {
})
</script>
`
},
{
filename: 'multiple-scripts.vue',
code: `
<template>
<div ref="root" :data-a="A" />
</template>

<script>
const A = 'foo'
</script>

<script setup>
import { useTemplateRef } from 'vue'
const root = useTemplateRef('root')
</script>
`
}
],
invalid: [
Expand Down Expand Up @@ -420,6 +437,33 @@ tester.run('prefer-use-template-ref', rule, {
column: 28
}
]
},
{
filename: 'multiple-scripts.vue',
code: `
<template>
<div ref="root" :data-a="A" />
</template>

<script>
const A = 'foo'
</script>

<script setup>
import { ref } from 'vue'
const root = ref()
</script>
`,
errors: [
{
messageId: 'preferUseTemplateRef',
data: {
name: 'ref'
},
line: 12,
column: 20
}
]
}
]
})
Loading