From a6dfc356ae323a9f788b979bcc0143f8243851aa Mon Sep 17 00:00:00 2001 From: enzo360 Date: Wed, 16 Dec 2020 19:54:30 +0100 Subject: [PATCH 1/3] fix multiple reporting of unregistered components --- lib/rules/no-unregistered-components.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rules/no-unregistered-components.js b/lib/rules/no-unregistered-components.js index 3ae283284..6e6cb2ada 100644 --- a/lib/rules/no-unregistered-components.js +++ b/lib/rules/no-unregistered-components.js @@ -126,7 +126,7 @@ module.exports = { usedComponentNodes.push({ node, name: node.value.value }) }, /** @param {VElement} node */ - "VElement[name='template']:exit"() { + "VElement[name='template'][parent.type='VDocumentFragment']:exit"() { // All registered components, transformed to kebab-case const registeredComponentNames = registeredComponents.map( ({ name }) => casing.kebabCase(name) From 3efbed05b75fde314f2c7a691e75cb72ba11f541 Mon Sep 17 00:00:00 2001 From: enzo360 Date: Thu, 17 Dec 2020 09:37:23 +0100 Subject: [PATCH 2/3] add tests --- tests/lib/rules/no-unregistered-components.js | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/tests/lib/rules/no-unregistered-components.js b/tests/lib/rules/no-unregistered-components.js index a50e3c0f0..74d2355bd 100644 --- a/tests/lib/rules/no-unregistered-components.js +++ b/tests/lib/rules/no-unregistered-components.js @@ -458,7 +458,26 @@ tester.run('no-unregistered-components', rule, { } ` - } + }, + { + filename: 'test.vue', + code: ` + + + ` + }, ], invalid: [ { @@ -668,6 +687,25 @@ tester.run('no-unregistered-components', rule, { line: 3 } ] - } + }, + { + filename: 'test.vue', + code: ` + + `, + errors: [ + { + message: + 'The "CustomComponentWithNamedSlots" component has been used but not registered.', + line: 3 + } + ] + }, ] }) From a4c5b2e38a1b2aeb66e4ba012d8416058dff3c9c Mon Sep 17 00:00:00 2001 From: enzo360 Date: Fri, 18 Dec 2020 09:02:33 +0100 Subject: [PATCH 3/3] fix linter error --- tests/lib/rules/no-unregistered-components.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/lib/rules/no-unregistered-components.js b/tests/lib/rules/no-unregistered-components.js index 74d2355bd..27739b78a 100644 --- a/tests/lib/rules/no-unregistered-components.js +++ b/tests/lib/rules/no-unregistered-components.js @@ -477,7 +477,7 @@ tester.run('no-unregistered-components', rule, { } ` - }, + } ], invalid: [ { @@ -706,6 +706,6 @@ tester.run('no-unregistered-components', rule, { line: 3 } ] - }, + } ] })