{
    "parserOptions": {
        "parser": "@babel/eslint-parser",
        "sourceType": "module",
        "allowImportExportEverywhere": true
    },

    "extends": [
        "plugin:vue/recommended",
        "plugin:json/recommended"
    ],

    "rules": {
        "strict": 0,
        "comma-dangle": [ "warn" ],
        "no-cond-assign": [ "warn" ],
        "no-dupe-args": [ "error" ],
        "no-dupe-keys": [ "error" ],
        "no-duplicate-case": [ "error" ],
        "no-empty": [ "warn" ],
        "no-empty-character-class": [ "warn" ],
        "no-ex-assign": [ "error" ],
        "no-extra-boolean-cast": [ "warn" ],
        "no-extra-parens": [ "warn" ],
        "no-extra-semi": [ "warn" ],
        "no-func-assign": [ "error" ],
        "no-invalid-regexp": [ "error" ],
        "no-irregular-whitespace": [ "error" ],
        "no-negated-in-lhs": [ "warn" ],
        "no-obj-calls": [ "error" ],
        "no-regex-spaces": [ "warn" ],
        "no-sparse-arrays": [ "warn" ],
        "no-unexpected-multiline": [ "warn" ],
        "no-unreachable": [ "warn" ],
        "no-unsafe-finally": [ "warn" ],
        "use-isnan": [ "warn" ],
        "valid-typeof": [ "error" ],
        "curly": [ "warn" ],
        "dot-location": [ "warn", "property" ],
        "eqeqeq": [ "warn", "smart" ],
        "guard-for-in": [ "warn" ],
        "no-alert": [ "warn" ],
        "no-case-declarations": [ "warn" ],
        "no-div-regex": [ "warn" ],
        "no-empty-function": [ "warn" ],
        "no-empty-pattern": [ "warn" ],
        "no-eq-null": [ "warn" ],
        "no-eval": [ "warn" ],
        "no-extend-native": [ "warn" ],
        "no-extra-bind": [ "warn" ],
        "no-extra-label": [ "warn" ],
        "no-floating-decimal": [ "warn" ],
        "no-implicit-coercion": [ "warn" ],
        "no-implied-eval": [ "warn" ],
        "no-iterator": [ "error" ],
        "no-lone-blocks": [ "warn" ],
        "no-loop-func": [ "warn" ],
        "no-multi-spaces": [ "warn" ],
        "no-multi-str": [ "warn" ],
        "no-native-reassign": [ "warn" ],
        "no-new-func": [ "warn" ],
        "no-new-wrappers": [ "warn" ],
        "no-octal": [ "warn" ],
        "no-octal-escape": [ "warn" ],
        "no-param-reassign": [ "warn" ],
        "no-proto": [ "error" ],
        "no-redeclare": [ "warn", { "builtinGlobals": true } ],
        "no-return-assign": [ "warn" ],
        "no-script-url": [ "warn" ],
        "no-self-assign": [ "warn" ],
        "no-self-compare": [ "warn" ],
        "no-sequences": [ "warn" ],
        "no-throw-literal": [ "warn" ],
        "no-unused-expressions": [ "warn" ],
        "no-unused-labels": [ "warn" ],
        "no-useless-call": [ "warn" ],
        "no-useless-concat": [ "warn" ],
        "no-void": [ "warn" ],
        "no-with": [ "warn" ],
        "radix": [ "warn" ],
        "vars-on-top": [ "warn" ],
        "wrap-iife": [ "warn" ],
        "yoda": [ "warn" ],
        "array-bracket-spacing": [ "warn", "always" ],
        "block-spacing": [ "warn" ],
        "brace-style": [ "warn", "1tbs", { "allowSingleLine": true } ],
        "comma-spacing": [ "warn" ],
        "comma-style": [ "warn" ],
        "computed-property-spacing": [ "warn" ],
        "indent": [ "warn", 4, { "SwitchCase": 1 } ],
        "key-spacing": [ "warn" ],
        "keyword-spacing": [ "warn" ],
        "linebreak-style": [ "warn" ],
        "newline-after-var": [ "warn" ],
        "no-lonely-if": [ "warn" ],
        "no-multiple-empty-lines": [ "warn", { "max": 1 } ],
        "no-spaced-func": [ "warn" ],
        "no-unneeded-ternary": [ "warn" ],
        "no-whitespace-before-property": [ "warn" ],
        "object-curly-spacing": [ "warn", "always" ],
        "padded-blocks": [ "warn", "never" ],
        "quotes": [ "warn" ],
        "semi": [ "warn" ],
        "semi-spacing": [ "warn" ],
        "space-before-blocks": [ "warn" ],
        "space-before-function-paren": [ "warn", "never" ],
        "space-in-parens": [ "warn" ],
        "space-infix-ops": [ "warn" ],
        "space-unary-ops": [ "warn" ],
        "spaced-comment": [ "warn" ],
        "wrap-regex": [ "warn" ],
        "vue/component-definition-name-casing": [ "warn", "kebab-case" ]
    },

    "overrides": [
        {
            "files": [ "*" ],

            "rules": {
                "vue/multi-word-component-names": "off"
            }
        },

        {
            "files": [ "*.vue" ],

            "rules": {
                "indent": "off",
                "vue/script-indent": [ "warn", 4, { "baseIndent": 1, "switchCase": 1, "ignores": [ "VariableDeclaration" ] } ],
                "vue/no-spaces-around-equal-signs-in-attribute": [ "warn" ],
                "vue/component-name-in-template-casing": [ "warn", "kebab-case" ],
                "vue/no-unused-components": [ "warn" ],
                "vue/no-unused-vars": [ "warn" ],
                "vue/no-use-v-if-with-v-for": [ "warn" ],
                "vue/require-v-for-key": "off",
                "vue/attribute-hyphenation": [ "warn" ],
                "vue/html-closing-bracket-newline": "off",
                "vue/html-closing-bracket-spacing": [ "warn", { "startTag": "never", "endTag": "never", "selfClosingTag": "always" } ],
                "vue/html-indent": "off",
                "vue/html-self-closing": "off",
                "vue/max-attributes-per-line": [ "warn", { "singleline": 4, "multiline": { "max": 1 } } ],
                "vue/multiline-html-element-content-newline": "off",
                "vue/mustache-interpolation-spacing": [ "warn" ],
                "vue/no-multi-spaces": [ "warn" ],
                "vue/prop-name-casing": [ "warn" ],
                "vue/require-default-prop": "off",
                "vue/require-prop-types": [ "warn" ],
                "vue/singleline-html-element-content-newline": "off",
                "vue/v-bind-style": [ "warn" ],
                "vue/v-on-style": [ "warn" ],
                "vue/attributes-order": [ "warn" ],
                "vue/html-quotes": [ "warn" ],
                "vue/no-v-html": "off",
                "vue/order-in-components": [ "warn", { "order": [ "el", "name", "parent", "functional", [ "delimiters", "comments" ], [ "mixins", "extends" ], [ "components", "directives", "filters" ], "inheritAttrs", "model", [ "props", "propsData" ], "setup", "emits", "data", "computed", "methods", "beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "activated", "deactivated", "watch", "beforeDestroy", "destroyed", [ "template", "render" ], "renderError" ] } ],
                "vue/this-in-template": [ "warn" ]
            }
        }
    ]
}