From bd27f498974a0937559e7176bf8003bcc4db592e Mon Sep 17 00:00:00 2001 From: Eliott Vincent Date: Thu, 4 Jul 2024 14:41:45 +0200 Subject: [PATCH] v1.0.90 Update ref check --- package-lock.json | 4 ++-- package.json | 2 +- rules/vue-ref-case.js | 25 ++++++++++++++----------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3d62574..f4d3289 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "eslint-plugin-crisp", - "version": "1.0.89", + "version": "1.0.90", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "eslint-plugin-crisp", - "version": "1.0.88", + "version": "1.0.90", "license": "MIT", "dependencies": { "doctrine": "3.0.0", diff --git a/package.json b/package.json index 8d9fc9c..4645004 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-crisp", - "version": "1.0.89", + "version": "1.0.90", "description": "Custom ESLint Rules for Crisp", "author": "Crisp IM SAS", "main": "index.js", diff --git a/rules/vue-ref-case.js b/rules/vue-ref-case.js index 1c510b5..afd78cf 100644 --- a/rules/vue-ref-case.js +++ b/rules/vue-ref-case.js @@ -12,18 +12,21 @@ module.exports = { create(context) { return context.parserServices.defineTemplateBodyVisitor({ "VAttribute[directive=false][key.name='ref']"(node) { - const refValue = node.value && node.value.value; + // Check if the ref attribute is not bound to an expression + if (node.value && node.value.type === 'VLiteral') { + const refValue = node.value.value; - if (refValue && !/^[a-z]+(_[a-z]+)*$/.test(refValue)) { - context.report({ - node, - message: "Ref attribute \"{{refValue}}\" should be snake-cased.", - data: { - refValue, - }, - }); + if (refValue && !/^[a-z]+(_[a-z]+)*$/.test(refValue)) { + context.report({ + node, + message: "Ref attribute \"{{refValue}}\" should be snake-cased.", + data: { + refValue, + }, + }); + } } } - }) + }); } -}; \ No newline at end of file +};