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: `