Skip to content

Commit 5a5c6e8

Browse files
authored
Fix false positive for script setup in vue/no-expose-after-await rule (#1896)
1 parent 1d2318e commit 5a5c6e8

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

lib/rules/no-expose-after-await.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,10 @@ module.exports = {
167167
setupScopes.set(node, {
168168
afterAwait: false,
169169
range: scriptSetup.range,
170-
isExposeReferenceId: (_id, callNode) =>
170+
isExposeReferenceId: (id, callNode) =>
171171
callNode.parent.type === 'ExpressionStatement' &&
172-
callNode.parent.parent === node,
172+
callNode.parent.parent === node &&
173+
id.name === 'defineExpose',
173174
isContextReferenceId: () => false
174175
})
175176
}

tests/lib/rules/no-expose-after-await.js

+11
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,17 @@ tester.run('no-expose-after-await', rule, {
117117
</script>
118118
`,
119119
parserOptions: { ecmaVersion: 2022 }
120+
},
121+
{
122+
filename: 'test.vue',
123+
code: `
124+
<script setup>
125+
import { onMounted } from 'vue';
126+
await doSomething()
127+
onMounted(() => {})
128+
</script>
129+
`,
130+
parserOptions: { ecmaVersion: 2022 }
120131
}
121132
],
122133
invalid: [

0 commit comments

Comments
 (0)