├── .changeset ├── README.md ├── config.json └── smooth-jokes-eat.md ├── .editorconfig ├── .env-cmdrc ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── change.md │ ├── rule-change.md │ └── rule-proposal.md └── workflows │ ├── CI.yml │ ├── Release.yml │ └── check-for-resources-update.yml ├── .gitignore ├── .markdownlint.yml ├── .markdownlintignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .vscode ├── launch.json └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── docs ├── .eslintrc.js ├── .vitepress │ ├── build-system │ │ ├── build.mts │ │ ├── shim │ │ │ ├── eslint │ │ │ │ └── use-at-your-own-risk.mjs │ │ │ ├── esquery.mjs │ │ │ ├── globby.mjs │ │ │ └── path.mjs │ │ └── src │ │ │ ├── eslint.mjs │ │ │ └── process-shim.mjs │ ├── config.mts │ ├── public │ │ ├── favicon.png │ │ └── service-worker.js │ ├── theme │ │ ├── Layout.vue │ │ ├── components │ │ │ ├── eslint-code-block.vue │ │ │ └── rules-table.vue │ │ └── index.ts │ └── vite-plugin.mts ├── developer-guide │ └── index.md ├── index.md ├── rules │ ├── array-bracket-newline.md │ ├── array-bracket-spacing.md │ ├── array-element-newline.md │ ├── arrow-spacing.md │ ├── attribute-hyphenation.md │ ├── attributes-order.md │ ├── block-lang.md │ ├── block-order.md │ ├── block-spacing.md │ ├── block-tag-newline.md │ ├── brace-style.md │ ├── camelcase.md │ ├── comma-dangle.md │ ├── comma-spacing.md │ ├── comma-style.md │ ├── comment-directive.md │ ├── component-api-style.md │ ├── component-definition-name-casing.md │ ├── component-name-in-template-casing.md │ ├── component-options-name-casing.md │ ├── component-tags-order.md │ ├── custom-event-name-casing.md │ ├── define-emits-declaration.md │ ├── define-macros-order.md │ ├── define-props-declaration.md │ ├── define-props-destructuring.md │ ├── dot-location.md │ ├── dot-notation.md │ ├── enforce-style-attribute.md │ ├── eqeqeq.md │ ├── experimental-script-setup-vars.md │ ├── first-attribute-linebreak.md │ ├── func-call-spacing.md │ ├── html-button-has-type.md │ ├── html-closing-bracket-newline.md │ ├── html-closing-bracket-spacing.md │ ├── html-comment-content-newline.md │ ├── html-comment-content-spacing.md │ ├── html-comment-indent.md │ ├── html-end-tags.md │ ├── html-indent.md │ ├── html-quotes.md │ ├── html-self-closing.md │ ├── index.md │ ├── jsx-uses-vars.md │ ├── key-spacing.md │ ├── keyword-spacing.md │ ├── match-component-file-name.md │ ├── match-component-import-name.md │ ├── max-attributes-per-line.md │ ├── max-len.md │ ├── max-lines-per-block.md │ ├── max-props.md │ ├── max-template-depth.md │ ├── multi-word-component-names.md │ ├── multiline-html-element-content-newline.md │ ├── multiline-ternary.md │ ├── mustache-interpolation-spacing.md │ ├── name-property-casing.md │ ├── new-line-between-multi-line-property.md │ ├── next-tick-style.md │ ├── no-arrow-functions-in-watch.md │ ├── no-async-in-computed-properties.md │ ├── no-bare-strings-in-template.md │ ├── no-boolean-default.md │ ├── no-child-content.md │ ├── no-computed-properties-in-data.md │ ├── no-confusing-v-for-v-if.md │ ├── no-console.md │ ├── no-constant-condition.md │ ├── no-custom-modifiers-on-v-model.md │ ├── no-deprecated-data-object-declaration.md │ ├── no-deprecated-delete-set.md │ ├── no-deprecated-destroyed-lifecycle.md │ ├── no-deprecated-dollar-listeners-api.md │ ├── no-deprecated-dollar-scopedslots-api.md │ ├── no-deprecated-events-api.md │ ├── no-deprecated-filter.md │ ├── no-deprecated-functional-template.md │ ├── no-deprecated-html-element-is.md │ ├── no-deprecated-inline-template.md │ ├── no-deprecated-model-definition.md │ ├── no-deprecated-props-default-this.md │ ├── no-deprecated-router-link-tag-prop.md │ ├── no-deprecated-scope-attribute.md │ ├── no-deprecated-slot-attribute.md │ ├── no-deprecated-slot-scope-attribute.md │ ├── no-deprecated-v-bind-sync.md │ ├── no-deprecated-v-is.md │ ├── no-deprecated-v-on-native-modifier.md │ ├── no-deprecated-v-on-number-modifiers.md │ ├── no-deprecated-vue-config-keycodes.md │ ├── no-dupe-keys.md │ ├── no-dupe-v-else-if.md │ ├── no-duplicate-attr-inheritance.md │ ├── no-duplicate-attributes.md │ ├── no-empty-component-block.md │ ├── no-empty-pattern.md │ ├── no-export-in-script-setup.md │ ├── no-expose-after-await.md │ ├── no-extra-parens.md │ ├── no-implicit-coercion.md │ ├── no-import-compiler-macros.md │ ├── no-invalid-model-keys.md │ ├── no-irregular-whitespace.md │ ├── no-lifecycle-after-await.md │ ├── no-lone-template.md │ ├── no-loss-of-precision.md │ ├── no-multi-spaces.md │ ├── no-multiple-objects-in-class.md │ ├── no-multiple-slot-args.md │ ├── no-multiple-template-root.md │ ├── no-mutating-props.md │ ├── no-parsing-error.md │ ├── no-potential-component-option-typo.md │ ├── no-ref-as-operand.md │ ├── no-ref-object-destructure.md │ ├── no-ref-object-reactivity-loss.md │ ├── no-required-prop-with-default.md │ ├── no-reserved-component-names.md │ ├── no-reserved-keys.md │ ├── no-reserved-props.md │ ├── no-restricted-block.md │ ├── no-restricted-call-after-await.md │ ├── no-restricted-class.md │ ├── no-restricted-component-names.md │ ├── no-restricted-component-options.md │ ├── no-restricted-custom-event.md │ ├── no-restricted-html-elements.md │ ├── no-restricted-props.md │ ├── no-restricted-static-attribute.md │ ├── no-restricted-syntax.md │ ├── no-restricted-v-bind.md │ ├── no-restricted-v-on.md │ ├── no-root-v-if.md │ ├── no-setup-props-destructure.md │ ├── no-setup-props-reactivity-loss.md │ ├── no-shared-component-data.md │ ├── no-side-effects-in-computed-properties.md │ ├── no-spaces-around-equal-signs-in-attribute.md │ ├── no-sparse-arrays.md │ ├── no-static-inline-styles.md │ ├── no-template-key.md │ ├── no-template-shadow.md │ ├── no-template-target-blank.md │ ├── no-textarea-mustache.md │ ├── no-this-in-before-route-enter.md │ ├── no-undef-components.md │ ├── no-undef-properties.md │ ├── no-unregistered-components.md │ ├── no-unsupported-features.md │ ├── no-unused-components.md │ ├── no-unused-emit-declarations.md │ ├── no-unused-properties.md │ ├── no-unused-refs.md │ ├── no-unused-vars.md │ ├── no-use-computed-property-like-method.md │ ├── no-use-v-else-with-v-for.md │ ├── no-use-v-if-with-v-for.md │ ├── no-useless-concat.md │ ├── no-useless-mustaches.md │ ├── no-useless-template-attributes.md │ ├── no-useless-v-bind.md │ ├── no-v-for-template-key-on-child.md │ ├── no-v-for-template-key.md │ ├── no-v-html.md │ ├── no-v-model-argument.md │ ├── no-v-text-v-html-on-component.md │ ├── no-v-text.md │ ├── no-watch-after-await.md │ ├── object-curly-newline.md │ ├── object-curly-spacing.md │ ├── object-property-newline.md │ ├── object-shorthand.md │ ├── one-component-per-file.md │ ├── operator-linebreak.md │ ├── order-in-components.md │ ├── padding-line-between-blocks.md │ ├── padding-line-between-tags.md │ ├── padding-lines-in-component-definition.md │ ├── prefer-define-options.md │ ├── prefer-import-from-vue.md │ ├── prefer-prop-type-boolean-first.md │ ├── prefer-separate-static-class.md │ ├── prefer-template.md │ ├── prefer-true-attribute-shorthand.md │ ├── prefer-use-template-ref.md │ ├── prop-name-casing.md │ ├── quote-props.md │ ├── require-component-is.md │ ├── require-default-export.md │ ├── require-default-prop.md │ ├── require-direct-export.md │ ├── require-emit-validator.md │ ├── require-explicit-emits.md │ ├── require-explicit-slots.md │ ├── require-expose.md │ ├── require-macro-variable-name.md │ ├── require-name-property.md │ ├── require-prop-comment.md │ ├── require-prop-type-constructor.md │ ├── require-prop-types.md │ ├── require-render-return.md │ ├── require-slots-as-functions.md │ ├── require-toggle-inside-transition.md │ ├── require-typed-object-prop.md │ ├── require-typed-ref.md │ ├── require-v-for-key.md │ ├── require-valid-default-prop.md │ ├── restricted-component-names.md │ ├── return-in-computed-property.md │ ├── return-in-emits-validator.md │ ├── script-indent.md │ ├── script-setup-uses-vars.md │ ├── singleline-html-element-content-newline.md │ ├── slot-name-casing.md │ ├── sort-keys.md │ ├── space-in-parens.md │ ├── space-infix-ops.md │ ├── space-unary-ops.md │ ├── static-class-names-order.md │ ├── template-curly-spacing.md │ ├── this-in-template.md │ ├── use-v-on-exact.md │ ├── v-bind-style.md │ ├── v-for-delimiter-style.md │ ├── v-if-else-key.md │ ├── v-on-event-hyphenation.md │ ├── v-on-function-call.md │ ├── v-on-handler-style.md │ ├── v-on-style.md │ ├── v-slot-style.md │ ├── valid-attribute-name.md │ ├── valid-define-emits.md │ ├── valid-define-options.md │ ├── valid-define-props.md │ ├── valid-model-definition.md │ ├── valid-next-tick.md │ ├── valid-template-root.md │ ├── valid-v-bind-sync.md │ ├── valid-v-bind.md │ ├── valid-v-cloak.md │ ├── valid-v-else-if.md │ ├── valid-v-else.md │ ├── valid-v-for.md │ ├── valid-v-html.md │ ├── valid-v-if.md │ ├── valid-v-is.md │ ├── valid-v-memo.md │ ├── valid-v-model.md │ ├── valid-v-on.md │ ├── valid-v-once.md │ ├── valid-v-pre.md │ ├── valid-v-show.md │ ├── valid-v-slot.md │ └── valid-v-text.md └── user-guide │ └── index.md ├── eslint-internal-rules ├── no-invalid-meta-docs-categories.js ├── no-invalid-meta.js └── require-eslint-community.js ├── eslint.config.js ├── lib ├── configs │ ├── base.js │ ├── flat │ │ ├── base.js │ │ ├── vue2-essential.js │ │ ├── vue2-recommended.js │ │ ├── vue2-strongly-recommended.js │ │ ├── vue3-essential.js │ │ ├── vue3-recommended.js │ │ └── vue3-strongly-recommended.js │ ├── no-layout-rules.js │ ├── vue2-essential.js │ ├── vue2-recommended.js │ ├── vue2-strongly-recommended.js │ ├── vue3-essential.js │ ├── vue3-recommended.js │ └── vue3-strongly-recommended.js ├── index.d.ts ├── index.js ├── meta.js ├── processor.js ├── removed-rules.js ├── rules │ ├── array-bracket-newline.js │ ├── array-bracket-spacing.js │ ├── array-element-newline.js │ ├── arrow-spacing.js │ ├── attribute-hyphenation.js │ ├── attributes-order.js │ ├── block-lang.js │ ├── block-order.js │ ├── block-spacing.js │ ├── block-tag-newline.js │ ├── brace-style.js │ ├── camelcase.js │ ├── comma-dangle.js │ ├── comma-spacing.js │ ├── comma-style.js │ ├── comment-directive.js │ ├── component-api-style.js │ ├── component-definition-name-casing.js │ ├── component-name-in-template-casing.js │ ├── component-options-name-casing.js │ ├── custom-event-name-casing.js │ ├── define-emits-declaration.js │ ├── define-macros-order.js │ ├── define-props-declaration.js │ ├── define-props-destructuring.js │ ├── dot-location.js │ ├── dot-notation.js │ ├── enforce-style-attribute.js │ ├── eqeqeq.js │ ├── first-attribute-linebreak.js │ ├── func-call-spacing.js │ ├── html-button-has-type.js │ ├── html-closing-bracket-newline.js │ ├── html-closing-bracket-spacing.js │ ├── html-comment-content-newline.js │ ├── html-comment-content-spacing.js │ ├── html-comment-indent.js │ ├── html-end-tags.js │ ├── html-indent.js │ ├── html-quotes.js │ ├── html-self-closing.js │ ├── jsx-uses-vars.js │ ├── key-spacing.js │ ├── keyword-spacing.js │ ├── match-component-file-name.js │ ├── match-component-import-name.js │ ├── max-attributes-per-line.js │ ├── max-len.js │ ├── max-lines-per-block.js │ ├── max-props.js │ ├── max-template-depth.js │ ├── multi-word-component-names.js │ ├── multiline-html-element-content-newline.js │ ├── multiline-ternary.js │ ├── mustache-interpolation-spacing.js │ ├── new-line-between-multi-line-property.js │ ├── next-tick-style.js │ ├── no-arrow-functions-in-watch.js │ ├── no-async-in-computed-properties.js │ ├── no-bare-strings-in-template.js │ ├── no-boolean-default.js │ ├── no-child-content.js │ ├── no-computed-properties-in-data.js │ ├── no-console.js │ ├── no-constant-condition.js │ ├── no-custom-modifiers-on-v-model.js │ ├── no-deprecated-data-object-declaration.js │ ├── no-deprecated-delete-set.js │ ├── no-deprecated-destroyed-lifecycle.js │ ├── no-deprecated-dollar-listeners-api.js │ ├── no-deprecated-dollar-scopedslots-api.js │ ├── no-deprecated-events-api.js │ ├── no-deprecated-filter.js │ ├── no-deprecated-functional-template.js │ ├── no-deprecated-html-element-is.js │ ├── no-deprecated-inline-template.js │ ├── no-deprecated-model-definition.js │ ├── no-deprecated-props-default-this.js │ ├── no-deprecated-router-link-tag-prop.js │ ├── no-deprecated-scope-attribute.js │ ├── no-deprecated-slot-attribute.js │ ├── no-deprecated-slot-scope-attribute.js │ ├── no-deprecated-v-bind-sync.js │ ├── no-deprecated-v-is.js │ ├── no-deprecated-v-on-native-modifier.js │ ├── no-deprecated-v-on-number-modifiers.js │ ├── no-deprecated-vue-config-keycodes.js │ ├── no-dupe-keys.js │ ├── no-dupe-v-else-if.js │ ├── no-duplicate-attr-inheritance.js │ ├── no-duplicate-attributes.js │ ├── no-empty-component-block.js │ ├── no-empty-pattern.js │ ├── no-export-in-script-setup.js │ ├── no-expose-after-await.js │ ├── no-extra-parens.js │ ├── no-implicit-coercion.js │ ├── no-import-compiler-macros.js │ ├── no-irregular-whitespace.js │ ├── no-lifecycle-after-await.js │ ├── no-lone-template.js │ ├── no-loss-of-precision.js │ ├── no-multi-spaces.js │ ├── no-multiple-objects-in-class.js │ ├── no-multiple-slot-args.js │ ├── no-multiple-template-root.js │ ├── no-mutating-props.js │ ├── no-parsing-error.js │ ├── no-potential-component-option-typo.js │ ├── no-ref-as-operand.js │ ├── no-ref-object-reactivity-loss.js │ ├── no-required-prop-with-default.js │ ├── no-reserved-component-names.js │ ├── no-reserved-keys.js │ ├── no-reserved-props.js │ ├── no-restricted-block.js │ ├── no-restricted-call-after-await.js │ ├── no-restricted-class.js │ ├── no-restricted-component-names.js │ ├── no-restricted-component-options.js │ ├── no-restricted-custom-event.js │ ├── no-restricted-html-elements.js │ ├── no-restricted-props.js │ ├── no-restricted-static-attribute.js │ ├── no-restricted-syntax.js │ ├── no-restricted-v-bind.js │ ├── no-restricted-v-on.js │ ├── no-root-v-if.js │ ├── no-setup-props-reactivity-loss.js │ ├── no-shared-component-data.js │ ├── no-side-effects-in-computed-properties.js │ ├── no-spaces-around-equal-signs-in-attribute.js │ ├── no-sparse-arrays.js │ ├── no-static-inline-styles.js │ ├── no-template-key.js │ ├── no-template-shadow.js │ ├── no-template-target-blank.js │ ├── no-textarea-mustache.js │ ├── no-this-in-before-route-enter.js │ ├── no-undef-components.js │ ├── no-undef-properties.js │ ├── no-unsupported-features.js │ ├── no-unused-components.js │ ├── no-unused-emit-declarations.js │ ├── no-unused-properties.js │ ├── no-unused-refs.js │ ├── no-unused-vars.js │ ├── no-use-computed-property-like-method.js │ ├── no-use-v-else-with-v-for.js │ ├── no-use-v-if-with-v-for.js │ ├── no-useless-concat.js │ ├── no-useless-mustaches.js │ ├── no-useless-template-attributes.js │ ├── no-useless-v-bind.js │ ├── no-v-for-template-key-on-child.js │ ├── no-v-for-template-key.js │ ├── no-v-html.js │ ├── no-v-model-argument.js │ ├── no-v-text-v-html-on-component.js │ ├── no-v-text.js │ ├── no-watch-after-await.js │ ├── object-curly-newline.js │ ├── object-curly-spacing.js │ ├── object-property-newline.js │ ├── object-shorthand.js │ ├── one-component-per-file.js │ ├── operator-linebreak.js │ ├── order-in-components.js │ ├── padding-line-between-blocks.js │ ├── padding-line-between-tags.js │ ├── padding-lines-in-component-definition.js │ ├── prefer-define-options.js │ ├── prefer-import-from-vue.js │ ├── prefer-prop-type-boolean-first.js │ ├── prefer-separate-static-class.js │ ├── prefer-template.js │ ├── prefer-true-attribute-shorthand.js │ ├── prefer-use-template-ref.js │ ├── prop-name-casing.js │ ├── quote-props.js │ ├── require-component-is.js │ ├── require-default-export.js │ ├── require-default-prop.js │ ├── require-direct-export.js │ ├── require-emit-validator.js │ ├── require-explicit-emits.js │ ├── require-explicit-slots.js │ ├── require-expose.js │ ├── require-macro-variable-name.js │ ├── require-name-property.js │ ├── require-prop-comment.js │ ├── require-prop-type-constructor.js │ ├── require-prop-types.js │ ├── require-render-return.js │ ├── require-slots-as-functions.js │ ├── require-toggle-inside-transition.js │ ├── require-typed-object-prop.js │ ├── require-typed-ref.js │ ├── require-v-for-key.js │ ├── require-valid-default-prop.js │ ├── restricted-component-names.js │ ├── return-in-computed-property.js │ ├── return-in-emits-validator.js │ ├── script-indent.js │ ├── singleline-html-element-content-newline.js │ ├── slot-name-casing.js │ ├── sort-keys.js │ ├── space-in-parens.js │ ├── space-infix-ops.js │ ├── space-unary-ops.js │ ├── static-class-names-order.js │ ├── syntaxes │ │ ├── define-model.js │ │ ├── define-options.js │ │ ├── define-slots.js │ │ ├── dynamic-directive-arguments.js │ │ ├── is-attribute-with-vue-prefix.js │ │ ├── scope-attribute.js │ │ ├── script-setup.js │ │ ├── slot-attribute.js │ │ ├── slot-scope-attribute.js │ │ ├── style-css-vars-injection.js │ │ ├── utils │ │ │ └── can-convert-to-v-slot.js │ │ ├── v-bind-attr-modifier.js │ │ ├── v-bind-prop-modifier-shorthand.js │ │ ├── v-bind-same-name-shorthand.js │ │ ├── v-is.js │ │ ├── v-memo.js │ │ ├── v-model-argument.js │ │ ├── v-model-custom-modifiers.js │ │ └── v-slot.js │ ├── template-curly-spacing.js │ ├── this-in-template.js │ ├── use-v-on-exact.js │ ├── v-bind-style.js │ ├── v-for-delimiter-style.js │ ├── v-if-else-key.js │ ├── v-on-event-hyphenation.js │ ├── v-on-handler-style.js │ ├── v-on-style.js │ ├── v-slot-style.js │ ├── valid-attribute-name.js │ ├── valid-define-emits.js │ ├── valid-define-options.js │ ├── valid-define-props.js │ ├── valid-model-definition.js │ ├── valid-next-tick.js │ ├── valid-template-root.js │ ├── valid-v-bind-sync.js │ ├── valid-v-bind.js │ ├── valid-v-cloak.js │ ├── valid-v-else-if.js │ ├── valid-v-else.js │ ├── valid-v-for.js │ ├── valid-v-html.js │ ├── valid-v-if.js │ ├── valid-v-is.js │ ├── valid-v-memo.js │ ├── valid-v-model.js │ ├── valid-v-on.js │ ├── valid-v-once.js │ ├── valid-v-pre.js │ ├── valid-v-show.js │ ├── valid-v-slot.js │ └── valid-v-text.js └── utils │ ├── casing.js │ ├── comments.js │ ├── deprecated-html-elements.json │ ├── html-comments.js │ ├── html-elements.json │ ├── indent-common.js │ ├── indent-ts.js │ ├── indent-utils.js │ ├── index.js │ ├── inline-non-void-elements.json │ ├── js-reserved.json │ ├── key-aliases.json │ ├── keycode-to-key.js │ ├── math-elements.json │ ├── property-references.js │ ├── ref-object-references.js │ ├── regexp.js │ ├── scope.js │ ├── selector.js │ ├── style-variables │ └── index.js │ ├── svg-attributes-weird-case.json │ ├── svg-elements.json │ ├── ts-utils │ ├── index.js │ ├── ts-ast.js │ ├── ts-types.js │ └── typescript.js │ ├── void-elements.json │ ├── vue-builtin-elements.js │ ├── vue-component-options.json │ ├── vue-reserved.json │ ├── vue2-builtin-components.js │ ├── vue3-builtin-components.js │ └── vue3-export-names.json ├── package.json ├── tests ├── .eslintrc.json ├── eslint-compat.js ├── fixtures │ ├── html-indent │ │ ├── address-component-01.vue │ │ ├── array-expression-01.vue │ │ ├── arrow-function-expression-01.vue │ │ ├── arrow-function-expression-02.vue │ │ ├── arrow-function-expression-03.vue │ │ ├── arrow-function-expression-04.vue │ │ ├── arrow-function-expression-05.vue │ │ ├── await-expression-01.vue │ │ ├── binary-expression-01.vue │ │ ├── binary-expression-02.vue │ │ ├── binary-expression-03.vue │ │ ├── binary-expression-04.vue │ │ ├── binary-expression-05.vue │ │ ├── binary-expression-06.vue │ │ ├── binary-expression-07.vue │ │ ├── binary-expression-08.vue │ │ ├── binary-expression-09.vue │ │ ├── binary-expression-10.vue │ │ ├── binary-expression-11.vue │ │ ├── break-statement-01.vue │ │ ├── call-expression-01.vue │ │ ├── call-expression-02.vue │ │ ├── call-expression-03.vue │ │ ├── call-expression-04.vue │ │ ├── class-declaration-01.vue │ │ ├── class-declaration-02.vue │ │ ├── class-expression-01.vue │ │ ├── close-bracket-01.vue │ │ ├── close-bracket-02.vue │ │ ├── close-bracket-03.vue │ │ ├── close-bracket-04.vue │ │ ├── close-bracket-05.vue │ │ ├── close-bracket-06.vue │ │ ├── conditional-expression-01.vue │ │ ├── conditional-expression-02.vue │ │ ├── conditional-expression-03.vue │ │ ├── conditional-expression-04.vue │ │ ├── conditional-expression-05.vue │ │ ├── do-while-statement-01.vue │ │ ├── do-while-statement-02.vue │ │ ├── do-while-statement-03.vue │ │ ├── example.vue │ │ ├── for-in-statement-01.vue │ │ ├── for-in-statement-02.vue │ │ ├── for-of-statement-01.vue │ │ ├── for-statement-01.vue │ │ ├── for-statement-02.vue │ │ ├── for-statement-03.vue │ │ ├── for-statement-04.vue │ │ ├── for-statement-05.vue │ │ ├── function-declaration-01.vue │ │ ├── function-declaration-02.vue │ │ ├── function-declaration-03.vue │ │ ├── function-expression-01.vue │ │ ├── function-expression-02.vue │ │ ├── if-statement-01.vue │ │ ├── if-statement-02.vue │ │ ├── if-statement-03.vue │ │ ├── input-component-01.vue │ │ ├── input-component-02.vue │ │ ├── issue514.vue │ │ ├── issue729.vue │ │ ├── labeled-statement-01.vue │ │ ├── logical-expression-01.vue │ │ ├── member-expression-01.vue │ │ ├── member-expression-02.vue │ │ ├── member-expression-03.vue │ │ ├── meta-property-01.vue │ │ ├── method-definition-01.vue │ │ ├── new-expression-01.vue │ │ ├── new-expression-02.vue │ │ ├── new-expression-03.vue │ │ ├── new-expression-04.vue │ │ ├── new-expression-05.vue │ │ ├── nullish-coalescing-operator-01.vue │ │ ├── object-expression-01.vue │ │ ├── optional-chaining-01.vue │ │ ├── optional-chaining-02.vue │ │ ├── optional-chaining-03.vue │ │ ├── optional-chaining-04.vue │ │ ├── opts-2spaces.vue │ │ ├── opts-align-attributes-vertically-01.vue │ │ ├── opts-align-attributes-vertically-02.vue │ │ ├── opts-attribute0.vue │ │ ├── opts-attribute2.vue │ │ ├── opts-base-indent-0.vue │ │ ├── opts-base-indent-1.vue │ │ ├── opts-base-indent-2.vue │ │ ├── opts-closebracket1.vue │ │ ├── opts-closebracket2.vue │ │ ├── opts-ignores-vattribute-01.vue │ │ ├── opts-switchcase1.vue │ │ ├── opts-tabs.vue │ │ ├── property-01.vue │ │ ├── rest-element-01.vue │ │ ├── return-statement-01.vue │ │ ├── return-statement-02.vue │ │ ├── sequence-expression-01.vue │ │ ├── sequence-expression-02.vue │ │ ├── sequence-expression-03.vue │ │ ├── sequence-expression-04.vue │ │ ├── slot-scope-01.vue │ │ ├── solo-html-comment-01.vue │ │ ├── spread-element-01.vue │ │ ├── switch-statement-01.vue │ │ ├── switch-statement-02.vue │ │ ├── tagged-template-expression-01.vue │ │ ├── tagged-template-expression-02.vue │ │ ├── tagged-template-expression-03.vue │ │ ├── template-literal-01.vue │ │ ├── try-statement-01.vue │ │ ├── try-statement-02.vue │ │ ├── try-statement-03.vue │ │ ├── unary-expression-01.vue │ │ ├── update-expression-01.vue │ │ ├── v-attribute-01.vue │ │ ├── v-attribute-02.vue │ │ ├── v-expression-container-01.vue │ │ ├── v-filter-sequence-expression-01.vue │ │ ├── v-filter-sequence-expression-02.vue │ │ ├── v-filter-sequence-expression-03.vue │ │ ├── v-filter-sequence-expression-04.vue │ │ ├── v-filter-sequence-expression-05.vue │ │ ├── v-for-expression-01.vue │ │ ├── v-for-expression-02.vue │ │ ├── v-on-expression-01.vue │ │ ├── v-on-expression-02.vue │ │ ├── v-on-expression-03.vue │ │ ├── v-start-tag-01.vue │ │ ├── v-start-tag-02.vue │ │ ├── v-start-tag-03.vue │ │ ├── v-start-tag-04.vue │ │ ├── v-start-tag-05.vue │ │ ├── v-text-01.vue │ │ ├── variable-declaration-01.vue │ │ ├── variable-declaration-02.vue │ │ ├── variable-declaration-03.vue │ │ ├── yield-expression-01.vue │ │ ├── yield-expression-02.vue │ │ └── yield-expression-03.vue │ ├── script-indent │ │ ├── array-expression-01.vue │ │ ├── array-expression-02.vue │ │ ├── array-expression-03.vue │ │ ├── array-expression-04.vue │ │ ├── arrow-function-expression-01.vue │ │ ├── arrow-function-expression-02.vue │ │ ├── arrow-function-expression-03.vue │ │ ├── arrow-function-expression-04.vue │ │ ├── arrow-function-expression-05.vue │ │ ├── await-expression-01.vue │ │ ├── bigint-01.vue │ │ ├── binary-expression-01.vue │ │ ├── binary-expression-02.vue │ │ ├── binary-expression-03.vue │ │ ├── binary-expression-04.vue │ │ ├── binary-expression-05.vue │ │ ├── binary-expression-06.vue │ │ ├── binary-expression-07.vue │ │ ├── binary-expression-08.vue │ │ ├── binary-expression-09.vue │ │ ├── binary-expression-10.vue │ │ ├── binary-expression-11.vue │ │ ├── break-statement-01.vue │ │ ├── call-expression-01.vue │ │ ├── call-expression-02.vue │ │ ├── call-expression-03.vue │ │ ├── call-expression-04.vue │ │ ├── class-declaration-01.vue │ │ ├── class-declaration-02.vue │ │ ├── class-expression-01.vue │ │ ├── class-fields-private-methods-01.vue │ │ ├── class-fields-private-properties-01.vue │ │ ├── class-fields-properties-01.vue │ │ ├── class-fields-properties-02.vue │ │ ├── conditional-expression-01.vue │ │ ├── conditional-expression-02.vue │ │ ├── conditional-expression-03.vue │ │ ├── conditional-expression-04.vue │ │ ├── conditional-expression-05.vue │ │ ├── do-while-statement-01.vue │ │ ├── do-while-statement-02.vue │ │ ├── do-while-statement-03.vue │ │ ├── export-all-declaration-01.vue │ │ ├── export-all-declaration-02.vue │ │ ├── export-default-declaration-01.vue │ │ ├── export-default-declaration-02.vue │ │ ├── export-default-declaration-03.vue │ │ ├── export-default-declaration-04.vue │ │ ├── export-named-declaration-01.vue │ │ ├── export-named-declaration-02.vue │ │ ├── export-named-declaration-03.vue │ │ ├── export-named-declaration-04.vue │ │ ├── export-specifier-01.vue │ │ ├── for-await-of-01.vue │ │ ├── for-in-statement-01.vue │ │ ├── for-in-statement-02.vue │ │ ├── for-of-statement-01.vue │ │ ├── for-statement-01.vue │ │ ├── for-statement-02.vue │ │ ├── for-statement-03.vue │ │ ├── for-statement-04.vue │ │ ├── for-statement-05.vue │ │ ├── function-declaration-01.vue │ │ ├── function-declaration-02.vue │ │ ├── function-declaration-03.vue │ │ ├── function-declaration-04.vue │ │ ├── function-expression-01.vue │ │ ├── function-expression-02.vue │ │ ├── if-statement-01.vue │ │ ├── if-statement-02.vue │ │ ├── if-statement-03.vue │ │ ├── if-statement-04.vue │ │ ├── ignore-01.vue │ │ ├── ignore-02.vue │ │ ├── import-declaration-01.vue │ │ ├── import-declaration-02.vue │ │ ├── import-declaration-03.vue │ │ ├── import-declaration-04.vue │ │ ├── import-declaration-05.vue │ │ ├── import-declaration-06.vue │ │ ├── import-declaration-07.vue │ │ ├── import-declaration-08.vue │ │ ├── import-declaration-09.vue │ │ ├── import-declaration-10.vue │ │ ├── import-declaration-11.vue │ │ ├── import-declaration-12.vue │ │ ├── import-expression-01.vue │ │ ├── import-expression-02.vue │ │ ├── import-expression-03.vue │ │ ├── indent-valid-fixture-01.vue │ │ ├── issue407.vue │ │ ├── issue441.vue │ │ ├── issue443.vue │ │ ├── issue625.vue │ │ ├── jsx-01.vue │ │ ├── jsx-02.vue │ │ ├── labeled-statement-01.vue │ │ ├── logical-expression-01.vue │ │ ├── logical-expression-02.vue │ │ ├── logical-expression-03.vue │ │ ├── member-expression-01.vue │ │ ├── member-expression-02.vue │ │ ├── member-expression-03.vue │ │ ├── meta-property-01.vue │ │ ├── method-definition-01.vue │ │ ├── method-definition-02.vue │ │ ├── new-expression-01.vue │ │ ├── new-expression-02.vue │ │ ├── new-expression-03.vue │ │ ├── new-expression-04.vue │ │ ├── new-expression-05.vue │ │ ├── no-linebreak-script.vue │ │ ├── nullish-coalescing-operator-01.vue │ │ ├── object-expression-01.vue │ │ ├── object-expression-02.vue │ │ ├── object-expression-03.vue │ │ ├── object-expression-04.vue │ │ ├── optional-chaining-01.vue │ │ ├── optional-chaining-02.vue │ │ ├── optional-chaining-03.vue │ │ ├── optional-chaining-04.vue │ │ ├── optional-chaining-05.vue │ │ ├── optional-chaining-06.vue │ │ ├── optional-chaining-07.vue │ │ ├── optional-chaining-08.vue │ │ ├── optional-chaining-09.vue │ │ ├── opts-2spaces.vue │ │ ├── opts-baseindent1.vue │ │ ├── opts-switchcase1.vue │ │ ├── opts-tabs.vue │ │ ├── property-01.vue │ │ ├── property-02.vue │ │ ├── property-03.vue │ │ ├── property-04.vue │ │ ├── property-05.vue │ │ ├── property-06.vue │ │ ├── rest-element-01.vue │ │ ├── rest-properties-01.vue │ │ ├── return-statement-01.vue │ │ ├── return-statement-02.vue │ │ ├── sequence-expression-01.vue │ │ ├── sequence-expression-02.vue │ │ ├── sequence-expression-03.vue │ │ ├── sequence-expression-04.vue │ │ ├── spread-element-01.vue │ │ ├── static-block-01.vue │ │ ├── switch-statement-01.vue │ │ ├── switch-statement-02.vue │ │ ├── tagged-template-expression-01.vue │ │ ├── tagged-template-expression-02.vue │ │ ├── tagged-template-expression-03.vue │ │ ├── template-literal-01.vue │ │ ├── try-statement-01.vue │ │ ├── try-statement-02.vue │ │ ├── try-statement-03.vue │ │ ├── try-statement-04.vue │ │ ├── ts-abstract-accessor-property-01.vue │ │ ├── ts-abstract-class-property-01.vue │ │ ├── ts-abstract-class-property-02.vue │ │ ├── ts-abstract-method-definition-01.vue │ │ ├── ts-accessor-property-01.vue │ │ ├── ts-accessor-property-02.vue │ │ ├── ts-accessor-property-03.vue │ │ ├── ts-accessor-property-04.vue │ │ ├── ts-accessor-property-05.vue │ │ ├── ts-as-expression-01.vue │ │ ├── ts-call-expression-01.vue │ │ ├── ts-call-signature-declaration-01.vue │ │ ├── ts-call-signature-declaration-02.vue │ │ ├── ts-class-declaration-01.vue │ │ ├── ts-class-declaration-02.vue │ │ ├── ts-class-declaration-03.vue │ │ ├── ts-class-declaration-04.vue │ │ ├── ts-class-declaration-05.vue │ │ ├── ts-class-declaration-06.vue │ │ ├── ts-class-declaration-07.vue │ │ ├── ts-class-fields-private-methods-01.vue │ │ ├── ts-class-fields-private-properties-01.vue │ │ ├── ts-class-property-01.vue │ │ ├── ts-class-property-02.vue │ │ ├── ts-class-property-03.vue │ │ ├── ts-conditional-type-01.vue │ │ ├── ts-conditional-type-02.vue │ │ ├── ts-conditional-type-03.vue │ │ ├── ts-constructor-type-01.vue │ │ ├── ts-declare-function-01.vue │ │ ├── ts-declare-function-02.vue │ │ ├── ts-declare-function-03.vue │ │ ├── ts-declare-function-04.vue │ │ ├── ts-decorator-01.vue │ │ ├── ts-decorator-02.vue │ │ ├── ts-enum-01.vue │ │ ├── ts-enum-02.vue │ │ ├── ts-enum-03.vue │ │ ├── ts-enum-04.vue │ │ ├── ts-enum-05.vue │ │ ├── ts-enum-06.vue │ │ ├── ts-enum-member-01.vue │ │ ├── ts-enum-member-02.vue │ │ ├── ts-export-assignment-01.vue │ │ ├── ts-export-assignment-02.vue │ │ ├── ts-export-namespace-01.vue │ │ ├── ts-function-type-01.vue │ │ ├── ts-function-type-02.vue │ │ ├── ts-import-assertion-01.vue │ │ ├── ts-import-assertion-02.vue │ │ ├── ts-import-assertion-03.vue │ │ ├── ts-import-assertion-04.vue │ │ ├── ts-import-equal-01.vue │ │ ├── ts-import-equal-02.vue │ │ ├── ts-import-equal-03.vue │ │ ├── ts-import-type-01.vue │ │ ├── ts-import-type-02.vue │ │ ├── ts-import-type-03.vue │ │ ├── ts-indexed-access-type-01.vue │ │ ├── ts-indexed-access-type-02.vue │ │ ├── ts-infer-01.vue │ │ ├── ts-instantiation-expression-01.vue │ │ ├── ts-interface-declaration-01.vue │ │ ├── ts-interface-declaration-02.vue │ │ ├── ts-interface-declaration-03.vue │ │ ├── ts-interface-declaration-04.vue │ │ ├── ts-interface-declaration-05.vue │ │ ├── ts-interface-declaration-06.vue │ │ ├── ts-interface-declaration-07.vue │ │ ├── ts-interface-declaration-08.vue │ │ ├── ts-mapped-type-01.vue │ │ ├── ts-module-declaration-01.vue │ │ ├── ts-new-expression-01.vue │ │ ├── ts-qualified-name-01.vue │ │ ├── ts-satisfies-operators-01.vue │ │ ├── ts-static-block-01.vue │ │ ├── ts-template-literal-type-01.vue │ │ ├── ts-tuple-01.vue │ │ ├── ts-tuple-02.vue │ │ ├── ts-type-alias-seclaration-01.vue │ │ ├── ts-type-annotation-01.vue │ │ ├── ts-type-annotation-02.vue │ │ ├── ts-type-annotation-03.vue │ │ ├── ts-type-annotation-04.vue │ │ ├── ts-type-annotation-05.vue │ │ ├── ts-type-annotation-06.vue │ │ ├── ts-type-assertion-01.vue │ │ ├── ts-type-literal-01.vue │ │ ├── ts-type-only-import-export-01.vue │ │ ├── ts-type-only-import-export-02.vue │ │ ├── ts-type-only-import-export-03.vue │ │ ├── ts-type-paramater-01.vue │ │ ├── ts-type-parameter-seclaration-01.vue │ │ ├── ts-union-intersection-01.vue │ │ ├── ts-union-intersection-02.vue │ │ ├── ts-union-intersection-03.vue │ │ ├── ts-union-intersection-04.vue │ │ ├── ts-union-intersection-05.vue │ │ ├── ts-union-intersection-06.vue │ │ ├── unary-expression-01.vue │ │ ├── update-expression-01.vue │ │ ├── variable-declaration-01.vue │ │ ├── variable-declaration-02.vue │ │ ├── variable-declaration-03.vue │ │ ├── yield-expression-01.vue │ │ ├── yield-expression-02.vue │ │ └── yield-expression-03.vue │ ├── typescript │ │ ├── src │ │ │ ├── test.vue │ │ │ └── test01.ts │ │ └── tsconfig.json │ └── utils │ │ ├── html-comments │ │ ├── abrupt-closing-of-empty-comment │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── blank1 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── blank2 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── decoration-empty-value │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── decoration1 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── decoration2 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── decoration3 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── empty │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── ie-conditional-comments1 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── ie-conditional-comments2 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── incorrectly-closed-comment │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── non-decoration │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── script-comment │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── test1 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── test2 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── test3 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ └── test4 │ │ │ ├── comment-tokens.json │ │ │ └── source.vue │ │ ├── ref-object-references │ │ ├── reactive-vars │ │ │ ├── $-with-destructuring │ │ │ │ ├── result.js │ │ │ │ └── source.js │ │ │ ├── $ │ │ │ │ ├── result.js │ │ │ │ └── source.js │ │ │ ├── $computed │ │ │ │ ├── result.js │ │ │ │ └── source.js │ │ │ ├── $customRef │ │ │ │ ├── result.js │ │ │ │ └── source.js │ │ │ ├── $ref │ │ │ │ ├── result.js │ │ │ │ └── source.js │ │ │ ├── $shallowRef │ │ │ │ ├── result.js │ │ │ │ └── source.js │ │ │ └── $toRef │ │ │ │ ├── result.js │ │ │ │ └── source.js │ │ └── ref-objects │ │ │ ├── computed │ │ │ ├── result.js │ │ │ └── source.js │ │ │ ├── customRef │ │ │ ├── result.js │ │ │ └── source.js │ │ │ ├── defineModel01 │ │ │ ├── result.vue │ │ │ └── source.vue │ │ │ ├── defineModel02 │ │ │ ├── result.vue │ │ │ └── source.vue │ │ │ ├── ref-to-pattern │ │ │ ├── result.js │ │ │ └── source.js │ │ │ ├── ref │ │ │ ├── result.js │ │ │ └── source.js │ │ │ ├── shallowRef │ │ │ ├── result.js │ │ │ └── source.js │ │ │ ├── toRef │ │ │ ├── result.js │ │ │ └── source.js │ │ │ ├── toRefs-to-pattern │ │ │ ├── result.js │ │ │ └── source.js │ │ │ └── toRefs │ │ │ ├── result.js │ │ │ └── source.js │ │ ├── selector │ │ ├── attr-contains │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-empty-value │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-eq │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-has │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-insensitive │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-lang │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-not-insensitive │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-prefixed │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-suffixed │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── attr-words │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── class │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── combinator-adjacent │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── combinator-child01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── combinator-child02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── combinator-descendant01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── combinator-descendant02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── combinator-sibling │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── comment01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── comment02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── comment03 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── id │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-attr-op │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-combinators │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-empty │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-last-combinator │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-nesting │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-nth │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-selector │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-string │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-unknown-combinator │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── invalid-unknown-pseudo │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-empty │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-first-child01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-first-child02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-first-of-type01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-first-of-type02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-has-complex01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-has-complex02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-has01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-has02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-has03 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-has04 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-is │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-last-child │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-last-of-type01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-last-of-type02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-not │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-child01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-child02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-child03 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-last-child01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-last-child02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-last-child03 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-last-of-type01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-last-of-type02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-of-type01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-of-type02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-of-type03 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-nth-of-type04 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-only-child │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-only-of-type │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── pseudo-where │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── tag01 │ │ │ ├── result.json │ │ │ └── source.vue │ │ ├── tag02 │ │ │ ├── result.json │ │ │ └── source.vue │ │ └── universal │ │ │ ├── result.json │ │ │ └── source.vue │ │ └── ts-utils │ │ ├── src │ │ ├── test.ts │ │ └── test.vue │ │ └── tsconfig.json ├── integrations │ ├── eslint-plugin-import.js │ ├── eslint-plugin-import │ │ ├── .eslintrc.json │ │ ├── .npmrc │ │ ├── a.vue │ │ ├── b.vue │ │ └── package.json │ ├── flat-config.js │ └── flat-config │ │ ├── .npmrc │ │ ├── a.vue │ │ ├── eslint.config.js │ │ └── package.json ├── lib │ ├── autofix.js │ ├── configs │ │ ├── eslintrc.js │ │ └── flat.js │ ├── meta.js │ ├── rules-without-vue-eslint-parser.js │ ├── rules-without-vue-sfc.js │ ├── rules │ │ ├── array-bracket-newline.js │ │ ├── array-bracket-spacing.js │ │ ├── array-element-newline.js │ │ ├── arrow-spacing.js │ │ ├── attribute-hyphenation.js │ │ ├── attributes-order.js │ │ ├── block-lang.js │ │ ├── block-order.js │ │ ├── block-spacing.js │ │ ├── block-tag-newline.js │ │ ├── brace-style.js │ │ ├── camelcase.js │ │ ├── comma-dangle.js │ │ ├── comma-spacing.js │ │ ├── comma-style.js │ │ ├── comment-directive.js │ │ ├── component-api-style.js │ │ ├── component-definition-name-casing.js │ │ ├── component-name-in-template-casing.js │ │ ├── component-options-name-casing.js │ │ ├── custom-event-name-casing.js │ │ ├── define-emits-declaration.js │ │ ├── define-macros-order.js │ │ ├── define-props-declaration.js │ │ ├── define-props-destructuring.js │ │ ├── dot-location.js │ │ ├── dot-notation.js │ │ ├── enforce-style-attribute.js │ │ ├── eqeqeq.js │ │ ├── first-attribute-linebreak.js │ │ ├── func-call-spacing.js │ │ ├── html-button-has-type.js │ │ ├── html-closing-bracket-newline.js │ │ ├── html-closing-bracket-spacing.js │ │ ├── html-comment-content-newline.js │ │ ├── html-comment-content-spacing.js │ │ ├── html-comment-indent.js │ │ ├── html-end-tags.js │ │ ├── html-indent.js │ │ ├── html-quotes.js │ │ ├── html-self-closing.js │ │ ├── jsx-uses-vars.js │ │ ├── key-spacing.js │ │ ├── keyword-spacing.js │ │ ├── match-component-file-name.js │ │ ├── match-component-import-name.js │ │ ├── max-attributes-per-line.js │ │ ├── max-len.js │ │ ├── max-lines-per-block.js │ │ ├── max-props.js │ │ ├── max-template-depth.js │ │ ├── multi-word-component-names.js │ │ ├── multiline-html-element-content-newline.js │ │ ├── multiline-ternary.js │ │ ├── mustache-interpolation-spacing.js │ │ ├── new-line-between-multi-line-property.js │ │ ├── next-tick-style.js │ │ ├── no-arrow-functions-in-watch.js │ │ ├── no-async-in-computed-properties.js │ │ ├── no-bare-strings-in-template.js │ │ ├── no-boolean-default.js │ │ ├── no-child-content.js │ │ ├── no-computed-properties-in-data.js │ │ ├── no-console.js │ │ ├── no-constant-condition.js │ │ ├── no-custom-modifiers-on-v-model.js │ │ ├── no-deprecated-data-object-declaration.js │ │ ├── no-deprecated-delete-set.js │ │ ├── no-deprecated-destroyed-lifecycle.js │ │ ├── no-deprecated-dollar-listeners-api.js │ │ ├── no-deprecated-dollar-scopedslots-api.js │ │ ├── no-deprecated-events-api.js │ │ ├── no-deprecated-filter.js │ │ ├── no-deprecated-functional-template.js │ │ ├── no-deprecated-html-element-is.js │ │ ├── no-deprecated-inline-template.js │ │ ├── no-deprecated-model-definition.js │ │ ├── no-deprecated-props-default-this.js │ │ ├── no-deprecated-router-link-tag-prop.js │ │ ├── no-deprecated-scope-attribute.js │ │ ├── no-deprecated-slot-attribute.js │ │ ├── no-deprecated-slot-scope-attribute.js │ │ ├── no-deprecated-v-bind-sync.js │ │ ├── no-deprecated-v-is.js │ │ ├── no-deprecated-v-on-native-modifier.js │ │ ├── no-deprecated-v-on-number-modifiers.js │ │ ├── no-deprecated-vue-config-keycodes.js │ │ ├── no-dupe-keys.js │ │ ├── no-dupe-v-else-if.js │ │ ├── no-duplicate-attr-inheritance.js │ │ ├── no-duplicate-attributes.js │ │ ├── no-empty-component-block.js │ │ ├── no-empty-pattern.js │ │ ├── no-export-in-script-setup.js │ │ ├── no-expose-after-await.js │ │ ├── no-extra-parens.js │ │ ├── no-implicit-coercion.js │ │ ├── no-import-compiler-macros.js │ │ ├── no-irregular-whitespace.js │ │ ├── no-lifecycle-after-await.js │ │ ├── no-lone-template.js │ │ ├── no-loss-of-precision.js │ │ ├── no-multi-spaces.js │ │ ├── no-multiple-objects-in-class.js │ │ ├── no-multiple-slot-args.js │ │ ├── no-multiple-template-root.js │ │ ├── no-mutating-props.js │ │ ├── no-parsing-error.js │ │ ├── no-potential-component-option-typo.js │ │ ├── no-ref-as-operand.js │ │ ├── no-ref-object-reactivity-loss.js │ │ ├── no-required-prop-with-default.js │ │ ├── no-reserved-component-names.js │ │ ├── no-reserved-keys.js │ │ ├── no-reserved-props.js │ │ ├── no-restricted-block.js │ │ ├── no-restricted-call-after-await.js │ │ ├── no-restricted-class.js │ │ ├── no-restricted-component-names.js │ │ ├── no-restricted-component-options.js │ │ ├── no-restricted-custom-event.js │ │ ├── no-restricted-html-elements.js │ │ ├── no-restricted-props.js │ │ ├── no-restricted-static-attribute.js │ │ ├── no-restricted-syntax.js │ │ ├── no-restricted-v-bind.js │ │ ├── no-restricted-v-on.js │ │ ├── no-root-v-if.js │ │ ├── no-setup-props-reactivity-loss.js │ │ ├── no-shared-component-data.js │ │ ├── no-side-effects-in-computed-properties.js │ │ ├── no-spaces-around-equal-signs-in-attribute.js │ │ ├── no-sparse-arrays.js │ │ ├── no-static-inline-styles.js │ │ ├── no-template-key.js │ │ ├── no-template-shadow.js │ │ ├── no-template-target-blank.js │ │ ├── no-textarea-mustache.js │ │ ├── no-this-in-before-route-enter.js │ │ ├── no-undef-components.js │ │ ├── no-undef-properties.js │ │ ├── no-unsupported-features.js │ │ ├── no-unsupported-features │ │ │ ├── define-model.js │ │ │ ├── define-options.js │ │ │ ├── define-slots.js │ │ │ ├── dynamic-directive-arguments.js │ │ │ ├── is-attribute-with-vue-prefix.js │ │ │ ├── script-setup.js │ │ │ ├── slot-scope-attribute.js │ │ │ ├── style-css-vars-injection.js │ │ │ ├── utils.js │ │ │ ├── v-bind-attr-modifier.js │ │ │ ├── v-bind-prop-modifier-shorthand.js │ │ │ ├── v-bind-same-name-shorthand.js │ │ │ ├── v-is.js │ │ │ ├── v-memo.js │ │ │ ├── v-model-argument.js │ │ │ ├── v-model-custom-modifiers.js │ │ │ └── v-slot.js │ │ ├── no-unused-components.js │ │ ├── no-unused-emit-declarations.js │ │ ├── no-unused-properties.js │ │ ├── no-unused-refs.js │ │ ├── no-unused-vars.js │ │ ├── no-use-computed-property-like-method.js │ │ ├── no-use-v-else-with-v-for.js │ │ ├── no-use-v-if-with-v-for.js │ │ ├── no-useless-concat.js │ │ ├── no-useless-mustaches.js │ │ ├── no-useless-template-attributes.js │ │ ├── no-useless-v-bind.js │ │ ├── no-v-for-template-key-on-child.js │ │ ├── no-v-for-template-key.js │ │ ├── no-v-html.js │ │ ├── no-v-model-argument.js │ │ ├── no-v-text-v-html-on-component.js │ │ ├── no-v-text.js │ │ ├── no-watch-after-await.js │ │ ├── object-curly-newline.js │ │ ├── object-curly-spacing.js │ │ ├── object-property-newline.js │ │ ├── object-shorthand.js │ │ ├── one-component-per-file.js │ │ ├── operator-linebreak.js │ │ ├── order-in-components.js │ │ ├── padding-line-between-blocks.js │ │ ├── padding-line-between-tags.js │ │ ├── padding-lines-in-component-definition.js │ │ ├── prefer-define-options.js │ │ ├── prefer-import-from-vue.js │ │ ├── prefer-prop-type-boolean-first.js │ │ ├── prefer-separate-static-class.js │ │ ├── prefer-template.js │ │ ├── prefer-true-attribute-shorthand.js │ │ ├── prefer-use-template-ref.js │ │ ├── prop-name-casing.js │ │ ├── quote-props.js │ │ ├── require-component-is.js │ │ ├── require-default-export.js │ │ ├── require-default-prop.js │ │ ├── require-direct-export.js │ │ ├── require-emit-validator.js │ │ ├── require-explicit-emits.js │ │ ├── require-explicit-slots.js │ │ ├── require-expose.js │ │ ├── require-macro-variable-name.js │ │ ├── require-name-property.js │ │ ├── require-prop-comment.js │ │ ├── require-prop-type-constructor.js │ │ ├── require-prop-types.js │ │ ├── require-render-return.js │ │ ├── require-slots-as-functions.js │ │ ├── require-toggle-inside-transition.js │ │ ├── require-typed-object-prop.js │ │ ├── require-typed-ref.js │ │ ├── require-v-for-key.js │ │ ├── require-valid-default-prop.js │ │ ├── restricted-component-names.js │ │ ├── return-in-computed-property.js │ │ ├── return-in-emits-validator.js │ │ ├── script-indent.js │ │ ├── singleline-html-element-content-newline.js │ │ ├── slot-name-casing.js │ │ ├── sort-keys.js │ │ ├── space-in-parens.js │ │ ├── space-infix-ops.js │ │ ├── space-unary-ops.js │ │ ├── static-class-names-order.js │ │ ├── template-curly-spacing.js │ │ ├── this-in-template.js │ │ ├── use-v-on-exact.js │ │ ├── v-bind-style.js │ │ ├── v-for-delimiter-style.js │ │ ├── v-if-else-key.js │ │ ├── v-on-event-hyphenation.js │ │ ├── v-on-handler-style.js │ │ ├── v-on-style.js │ │ ├── v-slot-style.js │ │ ├── valid-attribute-name.js │ │ ├── valid-define-emits.js │ │ ├── valid-define-options.js │ │ ├── valid-define-props.js │ │ ├── valid-model-definition.js │ │ ├── valid-next-tick.js │ │ ├── valid-template-root.js │ │ ├── valid-v-bind-sync.js │ │ ├── valid-v-bind.js │ │ ├── valid-v-cloak.js │ │ ├── valid-v-else-if.js │ │ ├── valid-v-else.js │ │ ├── valid-v-for.js │ │ ├── valid-v-html.js │ │ ├── valid-v-if.js │ │ ├── valid-v-is.js │ │ ├── valid-v-memo.js │ │ ├── valid-v-model.js │ │ ├── valid-v-on.js │ │ ├── valid-v-once.js │ │ ├── valid-v-pre.js │ │ ├── valid-v-show.js │ │ ├── valid-v-slot.js │ │ └── valid-v-text.js │ ├── script-setup-vars.js │ └── utils │ │ ├── casing.js │ │ ├── comments.js │ │ ├── core-rules │ │ └── wrap-core-rule.js │ │ ├── html-comments.js │ │ ├── index.js │ │ ├── ref-object-references.js │ │ ├── regexp.js │ │ ├── selector.js │ │ ├── ts-utils │ │ └── index │ │ │ ├── get-component-emits.js │ │ │ ├── get-component-props.js │ │ │ └── get-component-slots.js │ │ └── vue-component.js └── test-utils │ └── typescript.js ├── tools ├── lib │ ├── categories.js │ ├── http.js │ ├── rules.js │ └── utils.js ├── new-rule.js ├── update-docs-rules-index.js ├── update-docs.js ├── update-html-resources.js ├── update-lib-configs.js ├── update-lib-flat-configs.js ├── update-lib-index.js ├── update-no-layout-rules-config.js ├── update-resources.js ├── update-vue3-export-names.js └── update.js ├── tsconfig.json └── typings ├── @eslint-community └── eslint-utils │ └── index.d.ts ├── eslint-plugin-vue ├── global.d.ts └── util-types │ ├── ast │ ├── ast.ts │ ├── es-ast.ts │ ├── index.ts │ ├── jsx-ast.ts │ ├── ts-ast.ts │ └── v-ast.ts │ ├── errors.ts │ ├── indent-helper.ts │ ├── node │ ├── index.ts │ ├── locations.ts │ ├── node.ts │ └── tokens.ts │ ├── parser-services.ts │ └── utils.ts ├── eslint └── index.d.ts └── vue-eslint-parser └── index.d.ts /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config/schema.json", 3 | "changelog": [ 4 | "@svitejs/changesets-changelog-github-compact", 5 | { 6 | "repo": "vuejs/eslint-plugin-vue" 7 | } 8 | ], 9 | "commit": false, 10 | "linked": [], 11 | "access": "public", 12 | "baseBranch": "master", 13 | "bumpVersionsWithWorkspaceProtocolOnly": true, 14 | "ignore": [] 15 | } 16 | -------------------------------------------------------------------------------- /.changeset/smooth-jokes-eat.md: -------------------------------------------------------------------------------- 1 | --- 2 | "eslint-plugin-vue": patch 3 | --- 4 | 5 | Updates resources 6 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.env-cmdrc: -------------------------------------------------------------------------------- 1 | { 2 | "version": { 3 | "IN_VERSION_SCRIPT": "true" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: 2 | - ota-meshi 3 | - FloEdelmann 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | /.nyc_output 4 | /coverage 5 | /tests/integrations/*/node_modules 6 | /node_modules 7 | /test.* 8 | yarn.lock 9 | yarn-error.log 10 | /docs/.vitepress/dist 11 | /docs/.vitepress/build-system/shim/eslint.mjs 12 | /docs/.vitepress/build-system/shim/assert.mjs 13 | /docs/.vitepress/.temp 14 | /docs/.vitepress/cache 15 | typings/eslint/lib/rules 16 | -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | CHANGELOG.md 3 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | tests/fixtures/ 2 | .github/ISSUE_TEMPLATE/*.md 3 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | semi: false 2 | singleQuote: true 3 | printWidth: 80 4 | trailingComma: none 5 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "type": "node", 6 | "request": "launch", 7 | "name": "Start testing", 8 | "program": "${workspaceFolder}/node_modules/.bin/mocha", 9 | "args": ["${file}", "--watch"], 10 | "console": "integratedTerminal" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # eslint-plugin-vue 2 | 3 | ## 10.2.0 4 | 5 | ### Minor Changes 6 | 7 | - [vue/no-restricted-html-elements](https://eslint.vuejs.org/rules/no-restricted-html-elements.html) now accepts multiple elements in each entry. ([#2750](https://github.com/vuejs/eslint-plugin-vue/pull/2750)) 8 | 9 | ### Patch Changes 10 | 11 | - Updates resources ([#2747](https://github.com/vuejs/eslint-plugin-vue/pull/2747)) 12 | -------------------------------------------------------------------------------- /docs/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | parserOptions: { 5 | sourceType: 'module' 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /docs/.vitepress/build-system/shim/eslint/use-at-your-own-risk.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | /* empty */ 3 | } 4 | -------------------------------------------------------------------------------- /docs/.vitepress/build-system/shim/esquery.mjs: -------------------------------------------------------------------------------- 1 | import esquery from '../../../../node_modules/esquery/dist/esquery.esm.js' 2 | 3 | export const { parse, match, traverse, matches, query } = esquery 4 | 5 | export { default } from '../../../../node_modules/esquery/dist/esquery.esm.js' 6 | -------------------------------------------------------------------------------- /docs/.vitepress/build-system/shim/globby.mjs: -------------------------------------------------------------------------------- 1 | export {} 2 | export default {} 3 | -------------------------------------------------------------------------------- /docs/.vitepress/build-system/src/eslint.mjs: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /* eslint-disable unicorn/prefer-export-from -- exporting as named and default is less duplication without `export…from` */ 3 | 4 | import { Linter } from '../../../../node_modules/eslint/lib/linter/linter.js' 5 | import SourceCode from '../../../../node_modules/eslint/lib/source-code/source-code.js' 6 | 7 | export { Linter, SourceCode } 8 | export default { Linter, SourceCode } 9 | -------------------------------------------------------------------------------- /docs/.vitepress/build-system/src/process-shim.mjs: -------------------------------------------------------------------------------- 1 | /* globals window */ 2 | // @ts-nocheck 3 | export const process = { 4 | env: {}, 5 | cwd: () => '', 6 | stdout: {} 7 | } 8 | if (typeof window !== 'undefined') { 9 | window.process = process 10 | } 11 | -------------------------------------------------------------------------------- /docs/.vitepress/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs/eslint-plugin-vue/66dab39a878b77a1884633b78bcaec6d3a5c3820/docs/.vitepress/public/favicon.png -------------------------------------------------------------------------------- /lib/meta.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const { name, version } = require('../package.json') 3 | module.exports = { name, version } 4 | -------------------------------------------------------------------------------- /lib/rules/array-bracket-newline.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('array-bracket-newline', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/array-bracket-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Toru Nagashima 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('array-bracket-spacing', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/array-element-newline.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alshyra 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('array-element-newline', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/arrow-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('arrow-spacing') 10 | -------------------------------------------------------------------------------- /lib/rules/block-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('block-spacing', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/brace-style.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('brace-style', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/camelcase.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapCoreRule('camelcase') 10 | -------------------------------------------------------------------------------- /lib/rules/comma-dangle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('comma-dangle') 10 | -------------------------------------------------------------------------------- /lib/rules/comma-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('comma-spacing', { 10 | skipDynamicArguments: true, 11 | skipDynamicArgumentsReport: true, 12 | applyDocument: true 13 | }) 14 | -------------------------------------------------------------------------------- /lib/rules/dot-location.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('dot-location') 10 | -------------------------------------------------------------------------------- /lib/rules/dot-notation.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('dot-notation', { 10 | applyDocument: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/eqeqeq.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Toru Nagashima 3 | */ 4 | 'use strict' 5 | 6 | const { wrapCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapCoreRule('eqeqeq', { 10 | applyDocument: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/key-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Toru Nagashima 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('key-spacing', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/keyword-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('keyword-spacing', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/multiline-ternary.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author dev1437 3 | * See LICENSE file in root directory for full license. 4 | */ 5 | 'use strict' 6 | 7 | const { wrapStylisticOrCoreRule } = require('../utils') 8 | 9 | // eslint-disable-next-line internal/no-invalid-meta 10 | module.exports = wrapStylisticOrCoreRule('multiline-ternary', { 11 | skipDynamicArguments: true, 12 | applyDocument: true 13 | }) 14 | -------------------------------------------------------------------------------- /lib/rules/no-empty-pattern.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapCoreRule('no-empty-pattern') 10 | -------------------------------------------------------------------------------- /lib/rules/no-implicit-coercion.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author lozinsky 3 | * See LICENSE file in root directory for full license. 4 | */ 5 | 'use strict' 6 | 7 | const utils = require('../utils') 8 | 9 | // eslint-disable-next-line internal/no-invalid-meta 10 | module.exports = utils.wrapCoreRule('no-implicit-coercion', { 11 | applyDocument: true 12 | }) 13 | -------------------------------------------------------------------------------- /lib/rules/no-loss-of-precision.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | * See LICENSE file in root directory for full license. 4 | */ 5 | 'use strict' 6 | 7 | const utils = require('../utils') 8 | 9 | // eslint-disable-next-line internal/no-invalid-meta 10 | module.exports = utils.wrapCoreRule('no-loss-of-precision', { 11 | applyDocument: true 12 | }) 13 | -------------------------------------------------------------------------------- /lib/rules/no-restricted-syntax.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapCoreRule('no-restricted-syntax', { 10 | applyDocument: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/no-sparse-arrays.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapCoreRule('no-sparse-arrays') 10 | -------------------------------------------------------------------------------- /lib/rules/no-useless-concat.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapCoreRule('no-useless-concat', { 10 | applyDocument: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/object-curly-newline.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('object-curly-newline', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/object-curly-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Toru Nagashima 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('object-curly-spacing', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/object-property-newline.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('object-property-newline', { 10 | skipDynamicArguments: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/object-shorthand.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | * See LICENSE file in root directory for full license. 4 | */ 5 | 'use strict' 6 | 7 | const { wrapCoreRule } = require('../utils') 8 | 9 | // eslint-disable-next-line internal/no-invalid-meta 10 | module.exports = wrapCoreRule('object-shorthand', { 11 | skipDynamicArguments: true 12 | }) 13 | -------------------------------------------------------------------------------- /lib/rules/operator-linebreak.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('operator-linebreak') 10 | -------------------------------------------------------------------------------- /lib/rules/prefer-template.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapCoreRule('prefer-template', { 10 | applyDocument: true 11 | }) 12 | -------------------------------------------------------------------------------- /lib/rules/space-in-parens.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('space-in-parens', { 10 | skipDynamicArguments: true, 11 | skipDynamicArgumentsReport: true, 12 | applyDocument: true 13 | }) 14 | -------------------------------------------------------------------------------- /lib/rules/space-infix-ops.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Toru Nagashima 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('space-infix-ops', { 10 | skipDynamicArguments: true, 11 | applyDocument: true 12 | }) 13 | -------------------------------------------------------------------------------- /lib/rules/space-unary-ops.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Toru Nagashima 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('space-unary-ops', { 10 | skipDynamicArguments: true, 11 | applyDocument: true 12 | }) 13 | -------------------------------------------------------------------------------- /lib/rules/template-curly-spacing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Yosuke Ota 3 | */ 4 | 'use strict' 5 | 6 | const { wrapStylisticOrCoreRule } = require('../utils') 7 | 8 | // eslint-disable-next-line internal/no-invalid-meta 9 | module.exports = wrapStylisticOrCoreRule('template-curly-spacing', { 10 | skipDynamicArguments: true, 11 | applyDocument: true 12 | }) 13 | -------------------------------------------------------------------------------- /lib/utils/void-elements.json: -------------------------------------------------------------------------------- 1 | [ 2 | "area", 3 | "base", 4 | "br", 5 | "col", 6 | "embed", 7 | "hr", 8 | "img", 9 | "input", 10 | "keygen", 11 | "link", 12 | "menuitem", 13 | "meta", 14 | "param", 15 | "source", 16 | "track", 17 | "wbr" 18 | ] 19 | -------------------------------------------------------------------------------- /lib/utils/vue-builtin-elements.js: -------------------------------------------------------------------------------- 1 | module.exports = ['template', 'slot', 'component'] 2 | -------------------------------------------------------------------------------- /lib/utils/vue2-builtin-components.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | 'template', 3 | 'slot', 4 | 'component', 5 | 'Component', 6 | 'transition', 7 | 'Transition', 8 | 'transition-group', 9 | 'TransitionGroup', 10 | 'keep-alive', 11 | 'KeepAlive' 12 | ] 13 | -------------------------------------------------------------------------------- /lib/utils/vue3-builtin-components.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | ...require('./vue2-builtin-components'), 3 | 'teleport', 4 | 'Teleport', 5 | 'suspense', 6 | 'Suspense' 7 | ] 8 | -------------------------------------------------------------------------------- /tests/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "mocha": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/address-component-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/array-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/arrow-function-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/arrow-function-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/arrow-function-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/arrow-function-expression-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/arrow-function-expression-05.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/await-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 15 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-04.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-05.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-06.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-07.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-08.vue: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-09.vue: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-10.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/binary-expression-11.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/break-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/call-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/call-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/call-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/call-expression-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/class-declaration-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/class-declaration-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 19 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/class-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/close-bracket-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/close-bracket-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/close-bracket-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/close-bracket-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/close-bracket-05.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/close-bracket-06.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/conditional-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/conditional-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/conditional-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/conditional-expression-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/conditional-expression-05.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/do-while-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/do-while-statement-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/do-while-statement-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/example.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-in-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-in-statement-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 15 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-of-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 19 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-statement-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-statement-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-statement-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/for-statement-05.vue: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/function-declaration-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/function-declaration-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 19 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/function-declaration-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/function-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/function-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/if-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 15 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/if-statement-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 19 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/if-statement-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/input-component-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/input-component-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/issue514.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/labeled-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/member-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/member-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/member-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/meta-property-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/new-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/new-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/new-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/new-expression-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/new-expression-05.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/nullish-coalescing-operator-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/object-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/optional-chaining-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/optional-chaining-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/optional-chaining-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/optional-chaining-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-align-attributes-vertically-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 15 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-align-attributes-vertically-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-attribute0.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-attribute2.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-base-indent-0.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-base-indent-1.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-base-indent-2.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-closebracket1.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-closebracket2.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-ignores-vattribute-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 20 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/opts-tabs.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/rest-element-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/return-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/return-statement-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/sequence-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/sequence-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/sequence-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/sequence-expression-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/slot-scope-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 18 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/solo-html-comment-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/spread-element-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/switch-statement-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/tagged-template-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/tagged-template-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/tagged-template-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/template-literal-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 15 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/try-statement-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/try-statement-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/try-statement-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 20 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/unary-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/update-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-attribute-01.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-attribute-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-expression-container-01.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-filter-sequence-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-filter-sequence-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-filter-sequence-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-filter-sequence-expression-04.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-filter-sequence-expression-05.vue: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-for-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-for-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-on-expression-01.vue: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-on-expression-02.vue: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-on-expression-03.vue: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /tests/fixtures/html-indent/v-start-tag-01.vue: -------------------------------------------------------------------------------- 1 | 2 |