blob: 29914c0cd847db344d974bcbbc05ff7fdf016dbe [file] [log] [blame]
{
"extends": ["airbnb", "airbnb/hooks", "prettier"],
"parser": "@babel/eslint-parser",
"parserOptions": {
"babelOptions": {
"presets": [
"@babel/preset-env",
"@babel/preset-react",
"@babel/preset-typescript"
],
"plugins": ["@babel/plugin-transform-runtime"]
}
},
"plugins": ["html", "react"],
"rules": {
"no-param-reassign": 1,
"react/prop-types": 0,
"react/jsx-props-no-spreading": 0,
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
],
"import/no-extraneous-dependencies": [
"error",
{
"devDependencies": true,
"optionalDependencies": false,
"peerDependencies": false
}
],
"react/function-component-definition": [
0,
{
"namedComponents": "function-declaration"
}
]
},
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
},
// eslint that apply only to typescript files
"overrides": [
{
"files": ["*.ts", "*.tsx"],
"extends": ["airbnb-typescript", "prettier"],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"parserOptions": {
"project": "./tsconfig.json"
},
"rules": {
"react/require-default-props": 0,
"@typescript-eslint/no-explicit-any": 1
}
}
]
}