56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
module.exports = {
|
|
extends: [
|
|
"eslint:recommended",
|
|
"airbnb",
|
|
"airbnb-typescript",
|
|
// "airbnb/hooks",
|
|
"plugin:import/recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
// "plugin:@typescript-eslint/recommended-requiring-type-checking",
|
|
"next/core-web-vitals",
|
|
],
|
|
parser: "@typescript-eslint/parser",
|
|
parserOptions: {
|
|
tsconfigRootDir: __dirname,
|
|
project: "./tsconfig.json",
|
|
},
|
|
plugins: ["@typescript-eslint"],
|
|
overrides: [
|
|
{
|
|
files: ["*.js"],
|
|
rules: {
|
|
"@typescript-eslint/no-var-requires": "off",
|
|
},
|
|
},
|
|
],
|
|
rules: {
|
|
"max-len": [
|
|
"warn",
|
|
240,
|
|
],
|
|
"@typescript-eslint/quotes": [
|
|
"error",
|
|
"double",
|
|
],
|
|
"react/jsx-props-no-spreading": "off",
|
|
"react/jsx-one-expression-per-line": "off",
|
|
"react/require-default-props": "off",
|
|
"react/default-props-match-prop-types": "off",
|
|
"react/function-component-definition": ["error", {
|
|
namedComponents: "arrow-function",
|
|
unnamedComponents: "arrow-function",
|
|
}],
|
|
// Temp
|
|
"react/no-array-index-key": "warn",
|
|
"jsx-a11y/label-has-associated-control": "off",
|
|
"jsx-a11y/click-events-have-key-events": "off",
|
|
"jsx-a11y/no-noninteractive-element-interactions": "off",
|
|
"jsx-a11y/no-static-element-interactions": "off",
|
|
"@typescript-eslint/default-param-last": "warn",
|
|
"object-curly-newline": "warn",
|
|
"no-mixed-spaces-and-tabs": "warn",
|
|
"no-tabs": "warn",
|
|
"react/jsx-indent": "warn",
|
|
},
|
|
};
|