Shuunen/c-est-donne

View on GitHub
.eslintrc.json

Summary

Maintainability
Test Coverage
{
  "$schema": "https://json.schemastore.org/eslintrc",
  "env": {
    "browser": true,
    "es6": true,
    "node": true
  },
  "extends": [
    "plugin:tailwindcss/recommended",
    "plugin:unicorn/all",
    "hardcore",
    "hardcore/ts",
    "hardcore/vue"
  ],
  "ignorePatterns": [
    "stats.html"
  ],
  "parserOptions": {
    "project": "tsconfig.json"
  },
  "root": true,
  "rules": {
    "@stylistic/array-element-newline": "off",
    "@stylistic/arrow-parens": "off",
    "@stylistic/brace-style": "off",
    "@stylistic/comma-dangle": [
      "error",
      "always-multiline"
    ],
    "@stylistic/dot-location": "off",
    "@stylistic/function-call-argument-newline": "off",
    "@stylistic/indent": [
      "error",
      2
    ],
    "@stylistic/lines-around-comment": "off",
    "@stylistic/lines-between-class-members": "off",
    "@stylistic/max-len": "off",
    "@stylistic/member-delimiter-style": [
      "error",
      {
        "multiline": {
          "delimiter": "none"
        }
      }
    ],
    "@stylistic/multiline-comment-style": "off",
    "@stylistic/multiline-ternary": "off",
    "@stylistic/no-extra-parens": "off",
    "@stylistic/object-curly-spacing": [
      "error",
      "always"
    ],
    "@stylistic/object-property-newline": "off",
    "@stylistic/padded-blocks": "off",
    "@stylistic/padding-line-between-statements": "off",
    "@stylistic/quote-props": [
      "error",
      "consistent-as-needed"
    ],
    "@stylistic/quotes": [
      "error",
      "single"
    ],
    "@stylistic/semi": [
      "error",
      "never"
    ],
    "@typescript-eslint/comma-dangle": [
      "error",
      "always-multiline"
    ],
    "@typescript-eslint/consistent-indexed-object-style": "off",
    "@typescript-eslint/consistent-type-definitions": "off",
    "@typescript-eslint/consistent-type-imports": [
      "error",
      {
        "fixStyle": "inline-type-imports",
        "prefer": "type-imports"
      }
    ],
    "@typescript-eslint/explicit-function-return-type": "off",
    "@typescript-eslint/lines-around-comment": "off",
    "@typescript-eslint/member-delimiter-style": [
      "error",
      {
        "multiline": {
          "delimiter": "none"
        }
      }
    ],
    "@typescript-eslint/no-type-alias": "off",
    "@typescript-eslint/no-unused-vars": [
      "error",
      {
        "argsIgnorePattern": "^_",
        "varsIgnorePattern": "^(_|global)"
      }
    ],
    "@typescript-eslint/prefer-destructuring": "off",
    "@typescript-eslint/prefer-readonly-parameter-types": "off",
    "@typescript-eslint/semi": [
      "error",
      "never"
    ],
    "capitalized-comments": "off",
    "comma-dangle": [
      "error",
      "always-multiline"
    ],
    "compat/compat": "off",
    "curly": [
      "error",
      "multi"
    ],
    "eslint-comments/no-use": "off",
    "etc/no-const-enum": "off",
    "etc/no-deprecated": "off",
    "etc/no-enum": "off",
    "etc/no-internal": "off",
    "etc/prefer-interface": "off",
    "ext/lines-between-object-properties": "off",
    "func-names": [
      "error",
      "always"
    ],
    "id-length": [
      "error",
      {
        "exceptions": [
          "t"
        ],
        "min": 2
      }
    ],
    "import/export": "off",
    "import/extensions": "off",
    "import/first": "off",
    "import/named": "off",
    "import/namespace": "off",
    "import/newline-after-import": "off",
    "import/no-absolute-path": "off",
    "import/no-amd": "off",
    "import/no-cycle": "off",
    "import/no-deprecated": "off",
    "import/no-duplicates": "off",
    "import/no-dynamic-require:": "off",
    "import/no-extraneous-dependencies": "off",
    "import/no-import-module-exports": "off",
    "import/no-mutable-exports": "off",
    "import/no-named-as-default": "off",
    "import/no-named-as-default-member": "off",
    "import/no-named-default": "off",
    "import/no-relative-packages": "off",
    "import/no-self-import": "off",
    "import/no-unassigned-import": "off",
    "import/no-unresolved": "off",
    "import/no-unused-modules": "off",
    "import/no-useless-path-segments": "off",
    "import/no-webpack-loader-syntax": "off",
    "import/order": "off",
    "import/prefer-default-export": "off",
    "indent": "off",
    "line-comment-position": "off",
    "lines-around-comment": "off",
    "lines-between-class-members": "off",
    "logical-assignment-operators": "off",
    "max-len": "off",
    "max-statements-per-line": "off",
    "no-console": "error",
    "no-inline-comments": "off",
    "object-curly-spacing": [
      "error",
      "always"
    ],
    "padding-line-between-statements": "off",
    "prettier/prettier": "off",
    "putout/putout": "off",
    "quote-props": [
      "error",
      "consistent-as-needed"
    ],
    "quotes": "off",
    "regexp/require-unicode-sets-regexp": "off",
    "require-atomic-updates": [
      "error",
      {
        "allowProperties": true
      }
    ],
    "semi": [
      "error",
      "never"
    ],
    "simple-import-sort/imports": "off",
    "space-before-function-paren": [
      "error",
      "always"
    ],
    "total-functions/no-partial-division": "off",
    "total-functions/no-unsafe-readonly-mutable-assignment": "off",
    "unicorn/no-array-for-each": "off",
    "unicorn/no-process-exit": "off",
    "unicorn/prefer-module": "off",
    "unicorn/prefer-node-protocol": "off",
    "unicorn/prefer-spread": "off",
    "unicorn/prefer-string-replace-all": "off",
    "unicorn/prefer-switch": "off",
    "unicorn/prevent-abbreviations": [
      "error",
      {
        "allowList": {
          "args": true,
          "pkg": true,
          "str": true
        }
      }
    ],
    "vue/component-name-in-template-casing": [
      "error",
      "kebab-case"
    ],
    "vue/first-attribute-linebreak": "off",
    "vue/html-closing-bracket-newline": "off",
    "vue/html-indent": "off",
    "vue/html-self-closing": "off",
    "vue/max-attributes-per-line": "off",
    "vue/new-line-between-multi-line-property": "off",
    "vue/no-deprecated-slot-attribute": "off",
    "vue/no-multiple-template-root": "off",
    "vue/padding-lines-in-component-definition": "off",
    "vue/singleline-html-element-content-newline": "off",
    "vue/static-class-names-order": "off",
    "vuejs-accessibility/no-autofocus": "off"
  },
  "settings": {
    "tailwindcss": {
      "callees": [
        "tw"
      ],
      "cssFiles": [
        "src/*.css"
      ],
      "whitelist": [
        "sl-[a-z-]+",
        "[a-z-]+-(accent|primary)",
        "app-[a-z-]+"
      ]
    }
  }
}