From c0db9b7e252f8b4759dd1b6275ed5fe884e83d7d Mon Sep 17 00:00:00 2001 From: ntnyq Date: Thu, 6 Mar 2025 11:46:23 +0800 Subject: [PATCH 1/2] fix: fix typecheck --- lib/rules/no-duplicate-attr-inheritance.js | 2 +- lib/rules/no-unused-refs.js | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/rules/no-duplicate-attr-inheritance.js b/lib/rules/no-duplicate-attr-inheritance.js index 1f0fb0fd3..31aef7e44 100644 --- a/lib/rules/no-duplicate-attr-inheritance.js +++ b/lib/rules/no-duplicate-attr-inheritance.js @@ -63,7 +63,7 @@ module.exports = { const options = context.options[0] || {} const checkMultiRootNodes = options.checkMultiRootNodes === true - /** @type {string | number | boolean | RegExp | BigInt | null} */ + /** @type {Literal['value']} */ let inheritsAttrs = true /** @type {VReference[]} */ const attrsRefs = [] diff --git a/lib/rules/no-unused-refs.js b/lib/rules/no-unused-refs.js index 4896ce25a..242c52fd8 100644 --- a/lib/rules/no-unused-refs.js +++ b/lib/rules/no-unused-refs.js @@ -237,8 +237,11 @@ module.exports = { CallExpression(callExpression) { const firstArgument = callExpression.arguments[0] if ( - callExpression.callee.name !== 'useTemplateRef' || - !firstArgument + ('name' in callExpression.callee && + callExpression.callee.name !== 'useTemplateRef') || + !firstArgument || + (firstArgument.type !== 'Literal' && + firstArgument.type !== 'TemplateLiteral') ) { return } From b7e5f1d192d651daccae850b6e3ab26dd9a66e83 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Thu, 6 Mar 2025 11:06:28 +0100 Subject: [PATCH 2/2] Make condition more consistent and easy to read --- lib/rules/no-unused-refs.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/rules/no-unused-refs.js b/lib/rules/no-unused-refs.js index 242c52fd8..6c5407e02 100644 --- a/lib/rules/no-unused-refs.js +++ b/lib/rules/no-unused-refs.js @@ -237,11 +237,10 @@ module.exports = { CallExpression(callExpression) { const firstArgument = callExpression.arguments[0] if ( - ('name' in callExpression.callee && - callExpression.callee.name !== 'useTemplateRef') || + callExpression.callee.type !== 'Identifier' || + callExpression.callee.name !== 'useTemplateRef' || !firstArgument || - (firstArgument.type !== 'Literal' && - firstArgument.type !== 'TemplateLiteral') + !utils.isStringLiteral(firstArgument) ) { return }