83 lines
2.3 KiB
JavaScript
83 lines
2.3 KiB
JavaScript
import js from "@eslint/js";
|
|
import typescriptParser from "@typescript-eslint/parser";
|
|
import typescriptPlugin from "@typescript-eslint/eslint-plugin";
|
|
import reactPlugin from "eslint-plugin-react";
|
|
import reactHooksPlugin from "eslint-plugin-react-hooks";
|
|
import tailwindcss from "eslint-plugin-tailwindcss";
|
|
import prettier from "eslint-plugin-prettier";
|
|
import eslintConfigPrettier from "eslint-config-prettier";
|
|
|
|
export default [
|
|
js.configs.recommended,
|
|
{
|
|
files: ["**/*.ts", "**/*.tsx"],
|
|
ignores: ["**/generated/**"],
|
|
languageOptions: {
|
|
parser: typescriptParser,
|
|
parserOptions: {
|
|
ecmaVersion: "latest",
|
|
sourceType: "module",
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
projectService: true,
|
|
},
|
|
globals: {
|
|
localStorage: "readonly",
|
|
sessionStorage: "readonly",
|
|
document: "readonly",
|
|
window: "readonly",
|
|
setTimeout: "readonly",
|
|
clearTimeout: "readonly",
|
|
setInterval: "readonly",
|
|
clearInterval: "readonly",
|
|
HTMLElement: "readonly",
|
|
HTMLDivElement: "readonly",
|
|
HTMLButtonElement: "readonly",
|
|
HTMLAnchorElement: "readonly",
|
|
MouseEvent: "readonly",
|
|
Node: "readonly",
|
|
File: "readonly",
|
|
Blob: "readonly",
|
|
FormData: "readonly",
|
|
alert: "readonly",
|
|
confirm: "readonly",
|
|
prompt: "readonly",
|
|
React: "readonly",
|
|
},
|
|
},
|
|
plugins: {
|
|
"@typescript-eslint": typescriptPlugin,
|
|
react: reactPlugin,
|
|
"react-hooks": reactHooksPlugin,
|
|
tailwindcss,
|
|
prettier,
|
|
},
|
|
rules: {
|
|
...eslintConfigPrettier.rules,
|
|
...tailwindcss.configs.recommended.rules,
|
|
"react/react-in-jsx-scope": "off",
|
|
"react/prop-types": "off",
|
|
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
"no-undef": "off",
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"no-unused-vars": "off",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
argsIgnorePattern: "^_",
|
|
varsIgnorePattern: "^_",
|
|
caughtErrorsIgnorePattern: "^_",
|
|
ignoreRestSiblings: true,
|
|
},
|
|
],
|
|
"no-useless-catch": "off",
|
|
},
|
|
settings: {
|
|
react: {
|
|
version: "detect",
|
|
},
|
|
},
|
|
},
|
|
];
|