From b617e718f0c6732d27c911f392f826ca06af52b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Fontcuberta?= Date: Wed, 16 Dec 2020 22:42:53 +0100 Subject: [PATCH 01/12] Update new-line-between-multi-line-property.md (#1380) --- docs/rules/new-line-between-multi-line-property.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/rules/new-line-between-multi-line-property.md b/docs/rules/new-line-between-multi-line-property.md index 46862c222..420dee786 100644 --- a/docs/rules/new-line-between-multi-line-property.md +++ b/docs/rules/new-line-between-multi-line-property.md @@ -77,7 +77,7 @@ export default { ```json { - "vue/new-line-between-multiline-property": ["error", { + "vue/new-line-between-multi-line-property": ["error", { "minLineOfMultilineProperty": 2 }] } From 2567f1639ca896b98f4ec77608a0b4b318670e29 Mon Sep 17 00:00:00 2001 From: enzo360 <55434771+enzo360@users.noreply.github.com> Date: Fri, 18 Dec 2020 09:12:37 +0100 Subject: [PATCH 02/12] Fix multiple reporting of same warnings in `vue/no-unregistered-component` (#1382) * fix multiple reporting of unregistered components * add tests * fix linter error --- lib/rules/no-unregistered-components.js | 2 +- tests/lib/rules/no-unregistered-components.js | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 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) diff --git a/tests/lib/rules/no-unregistered-components.js b/tests/lib/rules/no-unregistered-components.js index a50e3c0f0..27739b78a 100644 --- a/tests/lib/rules/no-unregistered-components.js +++ b/tests/lib/rules/no-unregistered-components.js @@ -458,6 +458,25 @@ 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 dfe445fe923c3de5b09b8a0020aa4080eeb1e287 Mon Sep 17 00:00:00 2001 From: Andre-John Mas Date: Thu, 24 Dec 2020 03:30:35 +0100 Subject: [PATCH 03/12] Fixes #1379 Add since attribute (#1384) * Fixes #1379 Add since attribute * reintroduced stripped trailing spaces * add stripped content line * Update docs/rules/README.md * Update docs/rules/html-comment-indent.md Co-authored-by: Yosuke Ota --- docs/rules/array-bracket-newline.md | 1 + docs/rules/array-bracket-spacing.md | 1 + docs/rules/arrow-spacing.md | 1 + docs/rules/attribute-hyphenation.md | 1 + docs/rules/attributes-order.md | 1 + docs/rules/block-spacing.md | 1 + docs/rules/block-tag-newline.md | 1 + docs/rules/brace-style.md | 1 + docs/rules/camelcase.md | 1 + docs/rules/comma-dangle.md | 1 + docs/rules/comma-spacing.md | 1 + docs/rules/comma-style.md | 1 + docs/rules/comment-directive.md | 1 + docs/rules/component-definition-name-casing.md | 1 + docs/rules/component-name-in-template-casing.md | 1 + docs/rules/component-tags-order.md | 1 + docs/rules/custom-event-name-casing.md | 1 + docs/rules/dot-location.md | 1 + docs/rules/dot-notation.md | 1 + docs/rules/eqeqeq.md | 1 + docs/rules/experimental-script-setup-vars.md | 1 + docs/rules/func-call-spacing.md | 1 + docs/rules/html-closing-bracket-newline.md | 1 + docs/rules/html-closing-bracket-spacing.md | 1 + docs/rules/html-comment-content-newline.md | 1 + docs/rules/html-comment-content-spacing.md | 1 + docs/rules/html-comment-indent.md | 1 + docs/rules/html-end-tags.md | 1 + docs/rules/html-indent.md | 1 + docs/rules/html-quotes.md | 1 + docs/rules/html-self-closing.md | 1 + docs/rules/jsx-uses-vars.md | 1 + docs/rules/key-spacing.md | 1 + docs/rules/keyword-spacing.md | 1 + docs/rules/match-component-file-name.md | 1 + docs/rules/max-attributes-per-line.md | 1 + docs/rules/max-len.md | 1 + docs/rules/multiline-html-element-content-newline.md | 1 + docs/rules/mustache-interpolation-spacing.md | 1 + docs/rules/name-property-casing.md | 1 + docs/rules/new-line-between-multi-line-property.md | 1 + docs/rules/no-arrow-functions-in-watch.md | 1 + docs/rules/no-async-in-computed-properties.md | 1 + docs/rules/no-bare-strings-in-template.md | 1 + docs/rules/no-boolean-default.md | 1 + docs/rules/no-confusing-v-for-v-if.md | 1 + docs/rules/no-custom-modifiers-on-v-model.md | 1 + docs/rules/no-deprecated-data-object-declaration.md | 1 + docs/rules/no-deprecated-destroyed-lifecycle.md | 1 + docs/rules/no-deprecated-dollar-listeners-api.md | 1 + docs/rules/no-deprecated-dollar-scopedslots-api.md | 1 + docs/rules/no-deprecated-events-api.md | 1 + docs/rules/no-deprecated-filter.md | 1 + docs/rules/no-deprecated-functional-template.md | 1 + docs/rules/no-deprecated-html-element-is.md | 1 + docs/rules/no-deprecated-inline-template.md | 1 + docs/rules/no-deprecated-props-default-this.md | 1 + docs/rules/no-deprecated-scope-attribute.md | 1 + docs/rules/no-deprecated-slot-attribute.md | 1 + docs/rules/no-deprecated-slot-scope-attribute.md | 1 + docs/rules/no-deprecated-v-bind-sync.md | 1 + docs/rules/no-deprecated-v-on-native-modifier.md | 1 + docs/rules/no-deprecated-v-on-number-modifiers.md | 1 + docs/rules/no-deprecated-vue-config-keycodes.md | 1 + docs/rules/no-dupe-keys.md | 1 + docs/rules/no-dupe-v-else-if.md | 1 + docs/rules/no-duplicate-attr-inheritance.md | 1 + docs/rules/no-duplicate-attributes.md | 1 + docs/rules/no-empty-component-block.md | 1 + docs/rules/no-empty-pattern.md | 1 + docs/rules/no-extra-parens.md | 1 + docs/rules/no-irregular-whitespace.md | 1 + docs/rules/no-lifecycle-after-await.md | 1 + docs/rules/no-lone-template.md | 1 + docs/rules/no-multi-spaces.md | 1 + docs/rules/no-multiple-objects-in-class.md | 1 + docs/rules/no-multiple-slot-args.md | 1 + docs/rules/no-multiple-template-root.md | 1 + docs/rules/no-mutating-props.md | 1 + docs/rules/no-parsing-error.md | 1 + docs/rules/no-potential-component-option-typo.md | 1 + docs/rules/no-ref-as-operand.md | 1 + docs/rules/no-reserved-component-names.md | 1 + docs/rules/no-reserved-keys.md | 1 + docs/rules/no-restricted-component-options.md | 1 + docs/rules/no-restricted-custom-event.md | 1 + docs/rules/no-restricted-props.md | 1 + docs/rules/no-restricted-static-attribute.md | 1 + docs/rules/no-restricted-syntax.md | 1 + docs/rules/no-restricted-v-bind.md | 1 + docs/rules/no-setup-props-destructure.md | 1 + docs/rules/no-shared-component-data.md | 1 + docs/rules/no-side-effects-in-computed-properties.md | 1 + docs/rules/no-spaces-around-equal-signs-in-attribute.md | 1 + docs/rules/no-sparse-arrays.md | 1 + docs/rules/no-static-inline-styles.md | 1 + docs/rules/no-template-key.md | 1 + docs/rules/no-template-shadow.md | 1 + docs/rules/no-template-target-blank.md | 1 + docs/rules/no-textarea-mustache.md | 1 + docs/rules/no-unregistered-components.md | 1 + docs/rules/no-unsupported-features.md | 1 + docs/rules/no-unused-components.md | 1 + docs/rules/no-unused-properties.md | 1 + docs/rules/no-unused-vars.md | 1 + docs/rules/no-use-v-if-with-v-for.md | 1 + docs/rules/no-useless-concat.md | 1 + docs/rules/no-useless-mustaches.md | 1 + docs/rules/no-useless-v-bind.md | 1 + docs/rules/no-v-for-template-key-on-child.md | 1 + docs/rules/no-v-for-template-key.md | 1 + docs/rules/no-v-html.md | 1 + docs/rules/no-v-model-argument.md | 1 + docs/rules/no-watch-after-await.md | 1 + docs/rules/object-curly-newline.md | 1 + docs/rules/object-curly-spacing.md | 1 + docs/rules/object-property-newline.md | 1 + docs/rules/one-component-per-file.md | 1 + docs/rules/operator-linebreak.md | 1 + docs/rules/order-in-components.md | 1 + docs/rules/padding-line-between-blocks.md | 1 + docs/rules/prefer-template.md | 1 + docs/rules/prop-name-casing.md | 1 + docs/rules/require-component-is.md | 1 + docs/rules/require-default-prop.md | 1 + docs/rules/require-direct-export.md | 1 + docs/rules/require-explicit-emits.md | 1 + docs/rules/require-name-property.md | 1 + docs/rules/require-prop-type-constructor.md | 1 + docs/rules/require-prop-types.md | 1 + docs/rules/require-render-return.md | 1 + docs/rules/require-slots-as-functions.md | 1 + docs/rules/require-toggle-inside-transition.md | 1 + docs/rules/require-v-for-key.md | 1 + docs/rules/require-valid-default-prop.md | 1 + docs/rules/return-in-computed-property.md | 1 + docs/rules/return-in-emits-validator.md | 1 + docs/rules/script-indent.md | 1 + docs/rules/singleline-html-element-content-newline.md | 1 + docs/rules/sort-keys.md | 1 + docs/rules/space-in-parens.md | 1 + docs/rules/space-infix-ops.md | 1 + docs/rules/space-unary-ops.md | 1 + docs/rules/static-class-names-order.md | 1 + docs/rules/template-curly-spacing.md | 1 + docs/rules/this-in-template.md | 1 + docs/rules/use-v-on-exact.md | 1 + docs/rules/v-bind-style.md | 1 + docs/rules/v-for-delimiter-style.md | 1 + docs/rules/v-on-function-call.md | 1 + docs/rules/v-on-style.md | 1 + docs/rules/v-slot-style.md | 1 + docs/rules/valid-template-root.md | 1 + docs/rules/valid-v-bind-sync.md | 1 + docs/rules/valid-v-bind.md | 1 + docs/rules/valid-v-cloak.md | 1 + docs/rules/valid-v-else-if.md | 1 + docs/rules/valid-v-else.md | 1 + docs/rules/valid-v-for.md | 1 + docs/rules/valid-v-html.md | 1 + docs/rules/valid-v-if.md | 1 + docs/rules/valid-v-is.md | 1 + docs/rules/valid-v-model.md | 1 + docs/rules/valid-v-on.md | 1 + docs/rules/valid-v-once.md | 1 + docs/rules/valid-v-pre.md | 1 + docs/rules/valid-v-show.md | 1 + docs/rules/valid-v-slot.md | 1 + docs/rules/valid-v-text.md | 1 + 169 files changed, 169 insertions(+) diff --git a/docs/rules/array-bracket-newline.md b/docs/rules/array-bracket-newline.md index 2bc2a0886..02d592022 100644 --- a/docs/rules/array-bracket-newline.md +++ b/docs/rules/array-bracket-newline.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/array-bracket-newline description: enforce linebreaks after opening and before closing array brackets +since: v7.1.0 --- # vue/array-bracket-newline > enforce linebreaks after opening and before closing array brackets diff --git a/docs/rules/array-bracket-spacing.md b/docs/rules/array-bracket-spacing.md index 4da69b6f6..9d84f3f0c 100644 --- a/docs/rules/array-bracket-spacing.md +++ b/docs/rules/array-bracket-spacing.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/array-bracket-spacing description: enforce consistent spacing inside array brackets +since: v5.2.0 --- # vue/array-bracket-spacing > enforce consistent spacing inside array brackets diff --git a/docs/rules/arrow-spacing.md b/docs/rules/arrow-spacing.md index 0ca9c4f82..fb244a0e8 100644 --- a/docs/rules/arrow-spacing.md +++ b/docs/rules/arrow-spacing.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/arrow-spacing description: enforce consistent spacing before and after the arrow in arrow functions +since: v5.2.0 --- # vue/arrow-spacing > enforce consistent spacing before and after the arrow in arrow functions diff --git a/docs/rules/attribute-hyphenation.md b/docs/rules/attribute-hyphenation.md index b6a4915c2..e45ba08c6 100644 --- a/docs/rules/attribute-hyphenation.md +++ b/docs/rules/attribute-hyphenation.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/attribute-hyphenation description: enforce attribute naming style on custom components in template +since: v3.9.0 --- # vue/attribute-hyphenation > enforce attribute naming style on custom components in template diff --git a/docs/rules/attributes-order.md b/docs/rules/attributes-order.md index ea8c4ae9c..01d0adb55 100644 --- a/docs/rules/attributes-order.md +++ b/docs/rules/attributes-order.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/attributes-order description: enforce order of attributes +since: v4.3.0 --- # vue/attributes-order > enforce order of attributes diff --git a/docs/rules/block-spacing.md b/docs/rules/block-spacing.md index bc6b003d6..105e712e2 100644 --- a/docs/rules/block-spacing.md +++ b/docs/rules/block-spacing.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/block-spacing description: disallow or enforce spaces inside of blocks after opening block and before closing block +since: v5.2.0 --- # vue/block-spacing > disallow or enforce spaces inside of blocks after opening block and before closing block diff --git a/docs/rules/block-tag-newline.md b/docs/rules/block-tag-newline.md index a3ab5f965..8432d2537 100644 --- a/docs/rules/block-tag-newline.md +++ b/docs/rules/block-tag-newline.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/block-tag-newline description: enforce line breaks after opening and before closing block-level tags +since: v7.1.0 --- # vue/block-tag-newline > enforce line breaks after opening and before closing block-level tags diff --git a/docs/rules/brace-style.md b/docs/rules/brace-style.md index 7ef57cd85..d2b0b890e 100644 --- a/docs/rules/brace-style.md +++ b/docs/rules/brace-style.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/brace-style description: enforce consistent brace style for blocks +since: v5.2.0 --- # vue/brace-style > enforce consistent brace style for blocks diff --git a/docs/rules/camelcase.md b/docs/rules/camelcase.md index b52fcefd8..206baff29 100644 --- a/docs/rules/camelcase.md +++ b/docs/rules/camelcase.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/camelcase description: enforce camelcase naming convention +since: v5.2.0 --- # vue/camelcase > enforce camelcase naming convention diff --git a/docs/rules/comma-dangle.md b/docs/rules/comma-dangle.md index 8e0561fee..ba120e35c 100644 --- a/docs/rules/comma-dangle.md +++ b/docs/rules/comma-dangle.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/comma-dangle description: require or disallow trailing commas +since: v5.2.0 --- # vue/comma-dangle > require or disallow trailing commas diff --git a/docs/rules/comma-spacing.md b/docs/rules/comma-spacing.md index 47069d384..614850710 100644 --- a/docs/rules/comma-spacing.md +++ b/docs/rules/comma-spacing.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/comma-spacing description: enforce consistent spacing before and after commas +since: v7.0.0 --- # vue/comma-spacing > enforce consistent spacing before and after commas diff --git a/docs/rules/comma-style.md b/docs/rules/comma-style.md index ee335f70c..bf6a1e229 100644 --- a/docs/rules/comma-style.md +++ b/docs/rules/comma-style.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/comma-style description: enforce consistent comma style +since: v7.0.0 --- # vue/comma-style > enforce consistent comma style diff --git a/docs/rules/comment-directive.md b/docs/rules/comment-directive.md index 8b56e14a1..a44fcee4c 100644 --- a/docs/rules/comment-directive.md +++ b/docs/rules/comment-directive.md @@ -3,6 +3,7 @@ pageClass: rule-details sidebarDepth: 0 title: vue/comment-directive description: support comment-directives in `