51 lines
1.4 KiB
JavaScript
51 lines
1.4 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,
|
|
reactPlugin.configs.flat.recommended,
|
|
reactHooksPlugin.configs.flat.recommended,
|
|
{
|
|
files: ["**/*.ts", "**/*.tsx", "**/*.css"],
|
|
ignores: ["**/generated/**"],
|
|
languageOptions: {
|
|
parser: typescriptParser,
|
|
parserOptions: {
|
|
ecmaVersion: "latest",
|
|
sourceType: "module",
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
},
|
|
plugins: {
|
|
"@typescript-eslint": typescriptPlugin,
|
|
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"] }],
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{ argsIgnorePattern: "^_" },
|
|
],
|
|
},
|
|
settings: {
|
|
react: {
|
|
version: "detect",
|
|
},
|
|
},
|
|
},
|
|
];
|