midorimici/fairy-chess-online

View on GitHub
.eslintrc.json

Summary

Maintainability
Test Coverage
{
  "extends": [
    "plugin:react/recommended",
    "airbnb",
    "airbnb/hooks",
    "plugin:import/errors",
    "plugin:import/warnings",
    "plugin:import/typescript",
    "plugin:react/jsx-runtime",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:@typescript-eslint/recommended-requiring-type-checking",
    "plugin:@next/next/recommended",
    "plugin:storybook/recommended",
    "prettier"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 13,
    "project": "./tsconfig.json",
    "sourceType": "module"
  },
  "plugins": ["react", "@typescript-eslint", "import", "jsx-a11y", "react-hooks"],
  "rules": {
    "comma-dangle": [
      "error",
      {
        "arrays": "always-multiline",
        "objects": "always-multiline",
        "imports": "always-multiline",
        "exports": "always-multiline",
        "functions": "never"
      }
    ],
    "no-console": ["warn", { "allow": ["error"] }],
    "object-curly-newline": "off",
    "operator-linebreak": "off",
    "import/extensions": [
      "error",
      "ignorePackages",
      {
        "js": "never",
        "jsx": "never",
        "ts": "never",
        "tsx": "never"
      }
    ],
    "import/no-extraneous-dependencies": "off",
    "import/order": [
      "error",
      {
        "groups": ["builtin", "external", "parent", "sibling", "index"],
        "alphabetize": {
          "order": "asc"
        }
      }
    ],
    "import/prefer-default-export": "off",
    "@typescript-eslint/consistent-type-imports": ["error", { "prefer": "type-imports" }],
    "@typescript-eslint/member-delimiter-style": "error",
    "@typescript-eslint/no-unused-vars": "error",
    "@typescript-eslint/semi": "error",
    "react/jsx-filename-extension": [
      "error",
      {
        "extensions": [".jsx", ".tsx"]
      }
    ],
    "react/function-component-definition": ["error", { "namedComponents": "arrow-function" }],
    "react/jsx-props-no-spreading": "off",
    "react/prop-types": "off",
    "react/require-default-props": ["warn", { "ignoreFunctionalComponents": true }]
  },
  "settings": {
    "import/resolver": {
      "typescript": {}
    }
  }
}