72 lines
2.0 KiB
JSON
72 lines
2.0 KiB
JSON
{
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"ecmaVersion": 2020,
|
|
"sourceType": "module",
|
|
"ecmaFeatures": {
|
|
// Allows for the parsing of JSX
|
|
"jsx": true
|
|
}
|
|
},
|
|
"ignorePatterns": ["node_modules/**/*"],
|
|
"settings": {
|
|
"react": {
|
|
"version": "detect"
|
|
}
|
|
},
|
|
"extends": [
|
|
"plugin:react/recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:react-hooks/recommended",
|
|
"prettier/@typescript-eslint",
|
|
"plugin:prettier/recommended"
|
|
],
|
|
"plugins": ["simple-import-sort", "unused-imports"],
|
|
"rules": {
|
|
"unused-imports/no-unused-imports": "error",
|
|
"simple-import-sort/imports": "error",
|
|
"simple-import-sort/exports": "error",
|
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
"prettier/prettier": "error",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"@typescript-eslint/ban-ts-comment": "off",
|
|
"@typescript-eslint/ban-ts-ignore": "off",
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"react/react-in-jsx-scope": "off",
|
|
"object-shorthand": ["error", "always"],
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
"paths": [
|
|
{
|
|
"name": "lodash",
|
|
"message": "Please import from 'lodash/module' directly to support tree-shaking."
|
|
},
|
|
{
|
|
"name": "ethers",
|
|
"message": "Please import from '@ethersproject/module' directly to support tree-shaking."
|
|
},
|
|
{
|
|
"name": "styled-components",
|
|
"message": "Please import from styled-components/macro."
|
|
},
|
|
{
|
|
"name": "@lingui/macro",
|
|
"importNames": ["t"],
|
|
"message": "Please use <Trans> instead of t."
|
|
}
|
|
],
|
|
"patterns": [
|
|
{
|
|
"group": ["**/dist"],
|
|
"message": "Do not import from dist/ - this is an implementation detail, and breaks tree-shaking."
|
|
},
|
|
{
|
|
"group": ["!styled-components/macro"]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|