From 5a5c6e803659077135aebf709cfdb1de02a84364 Mon Sep 17 00:00:00 2001 From: Yosuke Ota Date: Wed, 18 May 2022 22:54:38 +0900 Subject: [PATCH] Fix false positive for script setup in `vue/no-expose-after-await` rule (#1896) --- lib/rules/no-expose-after-await.js | 5 +++-- tests/lib/rules/no-expose-after-await.js | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/rules/no-expose-after-await.js b/lib/rules/no-expose-after-await.js index fdfa10869..7c5d35019 100644 --- a/lib/rules/no-expose-after-await.js +++ b/lib/rules/no-expose-after-await.js @@ -167,9 +167,10 @@ module.exports = { setupScopes.set(node, { afterAwait: false, range: scriptSetup.range, - isExposeReferenceId: (_id, callNode) => + isExposeReferenceId: (id, callNode) => callNode.parent.type === 'ExpressionStatement' && - callNode.parent.parent === node, + callNode.parent.parent === node && + id.name === 'defineExpose', isContextReferenceId: () => false }) } diff --git a/tests/lib/rules/no-expose-after-await.js b/tests/lib/rules/no-expose-after-await.js index d335da64a..cc10befa4 100644 --- a/tests/lib/rules/no-expose-after-await.js +++ b/tests/lib/rules/no-expose-after-await.js @@ -117,6 +117,17 @@ tester.run('no-expose-after-await', rule, { `, parserOptions: { ecmaVersion: 2022 } + }, + { + filename: 'test.vue', + code: ` + + `, + parserOptions: { ecmaVersion: 2022 } } ], invalid: [