Files
eslint-cofig/index.ts
2025-12-17 17:19:43 +01:00

60 lines
1.5 KiB
TypeScript

import js from "@eslint/js";
import tseslint from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
import react from "eslint-plugin-react";
import reactHooks from "eslint-plugin-react-hooks";
import a11y from "eslint-plugin-jsx-a11y";
import importPlugin from "eslint-plugin-import";
import unusedImports from "eslint-plugin-unused-imports";
export default [
/* Core ESLint recommended rules */
js.configs.recommended,
/* TypeScript recommended */
{
files: ["**/*.ts", "**/*.tsx"],
languageOptions: {
parser: tsParser,
parserOptions: {
project: true
}
},
plugins: {
"@typescript-eslint": tseslint
},
...tseslint.configs["recommended-type-checked"]
},
/* React recommended */
react.configs.flat.recommended,
/* React Hooks recommended */
{
plugins: { "react-hooks": reactHooks },
rules: {
...reactHooks.configs.recommended.rules
}
},
/* JSX Accessibility recommended */
a11y.flatConfigs.recommended,
/* Import validation rules */
importPlugin.flatConfigs.recommended,
/* Unused imports */
{
plugins: { "unused-imports": unusedImports },
rules: {
"unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": [
"warn",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" }
]
}
}
];