From 8ea837dab301c536d0b5258577469251515d647b Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Sat, 3 Jul 2021 21:41:02 +0900 Subject: [PATCH] Fix false negative for `ref` in `vue/script-setup-uses-vars` rule. --- lib/rules/script-setup-uses-vars.js | 6 ++++++ tests/lib/rules/script-setup-uses-vars.js | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/lib/rules/script-setup-uses-vars.js b/lib/rules/script-setup-uses-vars.js index e08af640f..68e0b3fc3 100644 --- a/lib/rules/script-setup-uses-vars.js +++ b/lib/rules/script-setup-uses-vars.js @@ -104,6 +104,12 @@ module.exports = { return } markElementVariableAsUsed(`v-${node.key.name.rawName}`) + }, + /** @param {VAttribute} node */ + 'VAttribute[directive=false]'(node) { + if (node.key.name === 'ref' && node.value) { + context.markVariableAsUsed(node.value.value) + } } }, undefined, diff --git a/tests/lib/rules/script-setup-uses-vars.js b/tests/lib/rules/script-setup-uses-vars.js index aed894178..5d3c80060 100644 --- a/tests/lib/rules/script-setup-uses-vars.js +++ b/tests/lib/rules/script-setup-uses-vars.js @@ -163,6 +163,22 @@ describe('script-setup-uses-vars', () => { ecmaVersion: 2022, sourceType: 'module' } + }, + + // ref + { + filename: 'test.vue', + code: ` + + + + ` } ],