From fa1675c65c9297d96a9948bb3b38d7f34fc21a19 Mon Sep 17 00:00:00 2001 From: Yosuke Ota Date: Sat, 30 Oct 2021 05:27:34 +0900 Subject: [PATCH] Fix false positive for filename in `vue/multi-word-component-names` rule (#1689) --- lib/rules/multi-word-component-names.js | 3 ++- tests/lib/rules/multi-word-component-names.js | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/rules/multi-word-component-names.js b/lib/rules/multi-word-component-names.js index 18cc79601..4e4e7db28 100644 --- a/lib/rules/multi-word-component-names.js +++ b/lib/rules/multi-word-component-names.js @@ -8,6 +8,7 @@ // Requirements // ------------------------------------------------------------------------------ +const path = require('path') const casing = require('../utils/casing') const utils = require('../utils') @@ -111,7 +112,7 @@ module.exports = { if (hasName) return if (!hasVue && node.body.length > 0) return const fileName = context.getFilename() - const componentName = fileName.replace(/\.[^/.]+$/, '') + const componentName = path.basename(fileName, path.extname(fileName)) if ( utils.isVueFile(fileName) && !isValidComponentName(componentName) diff --git a/tests/lib/rules/multi-word-component-names.js b/tests/lib/rules/multi-word-component-names.js index d5b0f8851..bb0fba770 100644 --- a/tests/lib/rules/multi-word-component-names.js +++ b/tests/lib/rules/multi-word-component-names.js @@ -39,6 +39,10 @@ tester.run('multi-word-component-names', rule, { filename: 'app.vue', code: '' }, + { + filename: 'path/to/app.vue', + code: '' + }, { filename: 'invalid.vue', code: `