web/.eslintrc.json
{
"env": {
"es6": true,
"browser": true,
"node": true
},
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:react-hooks/recommended",
"plugin:import/recommended",
"plugin:import/react",
"plugin:security/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"prettier"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"plugins": [
"react",
"react-hooks",
"security",
"import"
],
"ignorePatterns": [
"src/assets"
],
"settings": {
"react": {
"version": "^16.12.0"
},
"import/resolver": {
"typescript": {
"project": "./tsconfig.json"
}
}
},
"rules": {
"max-len": [
"warn",
{
"code": 120
}
],
"react/prop-types": 0,
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": [
"error",
{
"varsIgnorePattern": "(^_+[0-9]*$)|([iI]gnored$)|(^ignored)",
"argsIgnorePattern": "(^_+[0-9]*$)|([iI]gnored$)|(^ignored)"
}
],
"no-console": [
"error",
{
"allow": [
"warn",
"error",
"info",
"debug"
]
}
],
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-explicit-any": "off",
"security/detect-object-injection": "off",
"security/detect-non-literal-fs-filename": "off",
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
],
"import/no-unresolved": "off",
"import/order": [
"warn",
{
"groups": [
"builtin",
"external",
"internal",
"parent",
"sibling",
"index"
],
"pathGroups": [
{
"pattern": "{react,styled-components}",
"group": "external",
"position": "before"
},
{
"pattern": "@kleros/**",
"group": "external",
"position": "after"
},
{
"pattern": "{svgs/**,assets/**}",
"group": "internal",
"position": "after"
},
{
"pattern": "{hooks/**,utils/**,consts/**,types/**,context/**,connectors/**,}",
"group": "internal",
"position": "after"
},
{
"pattern": "{queries/**,}",
"group": "internal",
"position": "after"
},
{
"pattern": "{src/**,}",
"group": "internal",
"position": "after"
},
{
"pattern": "{styles/**,}",
"group": "internal",
"position": "after"
},
{
"pattern": "{layout/**,pages/**,components/**,}",
"group": "internal",
"position": "after"
}
],
"pathGroupsExcludedImportTypes": [
"builtin"
],
"newlines-between": "always",
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
]
}
}