UNPKG

eslint-config-neon

Version:

The ultimate ESLint shareable config

386 lines (385 loc) 13.8 kB
{ "jsPlugins": [ { "name": "@neon/eslint-vue", "specifier": "eslint-plugin-vue" } ], "overrides": [ { "files": [ "**/*.vue" ], "rules": { "@neon/eslint-vue/array-bracket-newline": [ 2, { "multiline": true } ], "@neon/eslint-vue/array-bracket-spacing": [ 2, "never" ], "@neon/eslint-vue/arrow-spacing": [ 2, { "after": true, "before": true } ], "@neon/eslint-vue/attribute-hyphenation": [ 2, "always" ], "@neon/eslint-vue/attributes-order": 2, "@neon/eslint-vue/block-lang": 0, "@neon/eslint-vue/block-spacing": [ 2, "always" ], "@neon/eslint-vue/block-tag-newline": 2, "@neon/eslint-vue/brace-style": [ 2, "1tbs", { "allowSingleLine": false } ], "@neon/eslint-vue/camelcase": 0, "@neon/eslint-vue/comma-dangle": [ 2, { "arrays": "always-multiline", "exports": "always-multiline", "functions": "always-multiline", "imports": "always-multiline", "objects": "always-multiline" } ], "@neon/eslint-vue/comma-spacing": [ 2, { "after": true, "before": false } ], "@neon/eslint-vue/comma-style": [ 2, "last" ], "@neon/eslint-vue/comment-directive": 2, "@neon/eslint-vue/component-api-style": 2, "@neon/eslint-vue/component-definition-name-casing": 2, "@neon/eslint-vue/component-name-in-template-casing": 2, "@neon/eslint-vue/component-options-name-casing": 2, "@neon/eslint-vue/custom-event-name-casing": 2, "@neon/eslint-vue/define-macros-order": 2, "@neon/eslint-vue/dot-location": [ 2, "property" ], "@neon/eslint-vue/dot-notation": 2, "@neon/eslint-vue/eqeqeq": 2, "@neon/eslint-vue/first-attribute-linebreak": [ 2, { "singleline": "beside", "multiline": "below" } ], "@neon/eslint-vue/func-call-spacing": [ 2, "never" ], "@neon/eslint-vue/html-button-has-type": 2, "@neon/eslint-vue/html-closing-bracket-newline": 2, "@neon/eslint-vue/html-closing-bracket-spacing": 2, "@neon/eslint-vue/html-comment-content-newline": 2, "@neon/eslint-vue/html-comment-content-spacing": 2, "@neon/eslint-vue/html-comment-indent": 2, "@neon/eslint-vue/html-end-tags": 2, "@neon/eslint-vue/html-indent": [ 2, "tab" ], "@neon/eslint-vue/html-quotes": 2, "@neon/eslint-vue/html-self-closing": [ "error", { "html": { "void": "never", "normal": "never", "component": "always" }, "svg": "never", "math": "never" } ], "@neon/eslint-vue/jsx-uses-vars": 2, "@neon/eslint-vue/key-spacing": [ 2, { "afterColon": true, "beforeColon": false } ], "@neon/eslint-vue/keyword-spacing": [ 2, { "after": true, "before": true } ], "@neon/eslint-vue/match-component-file-name": [ 2, { "extensions": [ ".js", "jsx", ".ts", ".tsx", ".vue" ], "shouldMatchCase": false } ], "@neon/eslint-vue/match-component-import-name": 0, "@neon/eslint-vue/max-attributes-per-line": [ 2, { "singleline": { "max": 3 }, "multiline": { "max": 1 } } ], "@neon/eslint-vue/max-len": 0, "@neon/eslint-vue/multi-word-component-names": 2, "@neon/eslint-vue/multiline-html-element-content-newline": 2, "@neon/eslint-vue/mustache-interpolation-spacing": 2, "@neon/eslint-vue/new-line-between-multi-line-property": 2, "@neon/eslint-vue/next-tick-style": 2, "@neon/eslint-vue/no-arrow-functions-in-watch": 2, "@neon/eslint-vue/no-async-in-computed-properties": 2, "@neon/eslint-vue/no-bare-strings-in-template": 0, "@neon/eslint-vue/no-boolean-default": 2, "@neon/eslint-vue/no-child-content": 2, "@neon/eslint-vue/no-computed-properties-in-data": 2, "@neon/eslint-vue/no-constant-condition": 0, "@neon/eslint-vue/no-custom-modifiers-on-v-model": 2, "@neon/eslint-vue/no-deprecated-data-object-declaration": 2, "@neon/eslint-vue/no-deprecated-delete-set": 2, "@neon/eslint-vue/no-deprecated-destroyed-lifecycle": 2, "@neon/eslint-vue/no-deprecated-dollar-listeners-api": 2, "@neon/eslint-vue/no-deprecated-dollar-scopedslots-api": 2, "@neon/eslint-vue/no-deprecated-events-api": 2, "@neon/eslint-vue/no-deprecated-filter": 2, "@neon/eslint-vue/no-deprecated-functional-template": 2, "@neon/eslint-vue/no-deprecated-html-element-is": 2, "@neon/eslint-vue/no-deprecated-inline-template": 2, "@neon/eslint-vue/no-deprecated-model-definition": 2, "@neon/eslint-vue/no-deprecated-props-default-this": 2, "@neon/eslint-vue/no-deprecated-router-link-tag-prop": 2, "@neon/eslint-vue/no-deprecated-scope-attribute": 2, "@neon/eslint-vue/no-deprecated-slot-attribute": 2, "@neon/eslint-vue/no-deprecated-slot-scope-attribute": 2, "@neon/eslint-vue/no-deprecated-v-bind-sync": 2, "@neon/eslint-vue/no-deprecated-v-is": 2, "@neon/eslint-vue/no-deprecated-v-on-native-modifier": 2, "@neon/eslint-vue/no-deprecated-v-on-number-modifiers": 2, "@neon/eslint-vue/no-deprecated-vue-config-keycodes": 2, "@neon/eslint-vue/no-dupe-keys": 2, "@neon/eslint-vue/no-dupe-v-else-if": 2, "@neon/eslint-vue/no-duplicate-attr-inheritance": 2, "@neon/eslint-vue/no-duplicate-attributes": 2, "@neon/eslint-vue/no-empty-component-block": 2, "@neon/eslint-vue/no-empty-pattern": 2, "@neon/eslint-vue/no-export-in-script-setup": 2, "@neon/eslint-vue/no-expose-after-await": 2, "@neon/eslint-vue/no-extra-parens": 2, "@neon/eslint-vue/no-irregular-whitespace": 2, "@neon/eslint-vue/no-lifecycle-after-await": 2, "@neon/eslint-vue/no-lone-template": 2, "@neon/eslint-vue/no-loss-of-precision": 2, "@neon/eslint-vue/no-multi-spaces": 2, "@neon/eslint-vue/no-multiple-objects-in-class": 2, "@neon/eslint-vue/no-multiple-slot-args": 2, "@neon/eslint-vue/no-multiple-template-root": 2, "@neon/eslint-vue/no-mutating-props": 2, "@neon/eslint-vue/no-parsing-error": 2, "@neon/eslint-vue/no-potential-component-option-typo": 2, "@neon/eslint-vue/no-ref-as-operand": 2, "@neon/eslint-vue/no-required-prop-with-default": 2, "@neon/eslint-vue/no-reserved-component-names": [ 2, { "disallowVueBuiltInComponents": true, "disallowVue3BuiltInComponents": true } ], "@neon/eslint-vue/no-reserved-keys": 2, "@neon/eslint-vue/no-reserved-props": 2, "@neon/eslint-vue/no-shared-component-data": 2, "@neon/eslint-vue/no-side-effects-in-computed-properties": 2, "@neon/eslint-vue/no-spaces-around-equal-signs-in-attribute": 2, "@neon/eslint-vue/no-sparse-arrays": 0, "@neon/eslint-vue/no-static-inline-styles": [ 2, { "allowBinding": false } ], "@neon/eslint-vue/no-template-key": 2, "@neon/eslint-vue/no-template-shadow": 2, "@neon/eslint-vue/no-template-target-blank": 2, "@neon/eslint-vue/no-textarea-mustache": 2, "@neon/eslint-vue/no-this-in-before-route-enter": 2, "@neon/eslint-vue/no-undef-components": 0, "@neon/eslint-vue/no-undef-properties": 0, "@neon/eslint-vue/no-unsupported-features": 0, "@neon/eslint-vue/no-unused-components": 2, "@neon/eslint-vue/no-unused-properties": 2, "@neon/eslint-vue/no-unused-refs": 2, "@neon/eslint-vue/no-unused-vars": 2, "@neon/eslint-vue/no-use-computed-property-like-method": 2, "@neon/eslint-vue/no-use-v-if-with-v-for": 2, "@neon/eslint-vue/no-useless-concat": 2, "@neon/eslint-vue/no-useless-mustaches": 2, "@neon/eslint-vue/no-useless-template-attributes": 2, "@neon/eslint-vue/no-useless-v-bind": 2, "@neon/eslint-vue/no-v-for-template-key": 0, "@neon/eslint-vue/no-v-for-template-key-on-child": 2, "@neon/eslint-vue/no-v-html": 1, "@neon/eslint-vue/no-v-model-argument": 2, "@neon/eslint-vue/no-v-text": 2, "@neon/eslint-vue/no-v-text-v-html-on-component": 2, "@neon/eslint-vue/no-watch-after-await": 2, "@neon/eslint-vue/object-curly-newline": [ 2, { "multiline": true } ], "@neon/eslint-vue/object-curly-spacing": [ 2, "always" ], "@neon/eslint-vue/object-property-newline": [ 2, { "allowAllPropertiesOnSameLine": false } ], "@neon/eslint-vue/object-shorthand": [ 2, "always" ], "@neon/eslint-vue/one-component-per-file": 2, "@neon/eslint-vue/operator-linebreak": [ 2, "after" ], "@neon/eslint-vue/order-in-components": 2, "@neon/eslint-vue/padding-line-between-blocks": 2, "@neon/eslint-vue/prefer-import-from-vue": 2, "@neon/eslint-vue/prefer-prop-type-boolean-first": 2, "@neon/eslint-vue/prefer-separate-static-class": 2, "@neon/eslint-vue/prefer-template": 0, "@neon/eslint-vue/prefer-true-attribute-shorthand": 2, "@neon/eslint-vue/prop-name-casing": 0, "@neon/eslint-vue/quote-props": [ 2, "as-needed", { "numbers": true } ], "@neon/eslint-vue/require-component-is": 2, "@neon/eslint-vue/require-default-prop": 2, "@neon/eslint-vue/require-direct-export": 2, "@neon/eslint-vue/require-emit-validator": 2, "@neon/eslint-vue/require-explicit-emits": 2, "@neon/eslint-vue/require-expose": 2, "@neon/eslint-vue/require-name-property": 0, "@neon/eslint-vue/require-prop-type-constructor": 2, "@neon/eslint-vue/require-prop-types": 2, "@neon/eslint-vue/require-render-return": 2, "@neon/eslint-vue/require-slots-as-functions": 2, "@neon/eslint-vue/require-toggle-inside-transition": 2, "@neon/eslint-vue/require-v-for-key": 2, "@neon/eslint-vue/require-valid-default-prop": 2, "@neon/eslint-vue/return-in-computed-property": 2, "@neon/eslint-vue/return-in-emits-validator": 2, "@neon/eslint-vue/script-indent": [ 2, "tab" ], "@neon/eslint-vue/singleline-html-element-content-newline": 0, "@neon/eslint-vue/sort-keys": 2, "@neon/eslint-vue/space-in-parens": [ 2, "never" ], "@neon/eslint-vue/space-infix-ops": [ 2, { "int32Hint": true } ], "@neon/eslint-vue/space-unary-ops": [ 2, { "nonwords": false, "words": true } ], "@neon/eslint-vue/static-class-names-order": 0, "@neon/eslint-vue/template-curly-spacing": [ 2, "never" ], "@neon/eslint-vue/this-in-template": 2, "@neon/eslint-vue/use-v-on-exact": 2, "@neon/eslint-vue/v-bind-style": 2, "@neon/eslint-vue/v-for-delimiter-style": 2, "@neon/eslint-vue/v-on-event-hyphenation": [ 2, "always", { "autofix": true } ], "@neon/eslint-vue/v-on-style": 2, "@neon/eslint-vue/v-slot-style": 2, "@neon/eslint-vue/valid-attribute-name": 2, "@neon/eslint-vue/valid-define-emits": 2, "@neon/eslint-vue/valid-define-props": 2, "@neon/eslint-vue/valid-model-definition": 2, "@neon/eslint-vue/valid-next-tick": 2, "@neon/eslint-vue/valid-template-root": 2, "@neon/eslint-vue/valid-v-bind": 2, "@neon/eslint-vue/valid-v-bind-sync": 2, "@neon/eslint-vue/valid-v-cloak": 2, "@neon/eslint-vue/valid-v-else": 2, "@neon/eslint-vue/valid-v-else-if": 2, "@neon/eslint-vue/valid-v-for": 2, "@neon/eslint-vue/valid-v-html": 2, "@neon/eslint-vue/valid-v-if": 2, "@neon/eslint-vue/valid-v-is": 2, "@neon/eslint-vue/valid-v-memo": 2, "@neon/eslint-vue/valid-v-model": 2, "@neon/eslint-vue/valid-v-on": 2, "@neon/eslint-vue/valid-v-once": 2, "@neon/eslint-vue/valid-v-pre": 2, "@neon/eslint-vue/valid-v-show": 2, "@neon/eslint-vue/valid-v-slot": 2, "@neon/eslint-vue/valid-v-text": 2 } } ], "rules": {}, "plugins": [] }