keycloakify-custom/eslint.config.js
2024-11-21 14:52:11 +01:00

49 lines
1.2 KiB
JavaScript

import typescriptEslint from "typescript-eslint";
import reactRefresh from "eslint-plugin-react-refresh";
import react from "eslint-plugin-react";
import reactHooks from "eslint-plugin-react-hooks";
import eslintConfigPrettier from "eslint-config-prettier";
import globals from "globals";
import js from "@eslint/js";
import storybook from "eslint-plugin-storybook";
export default typescriptEslint.config(
js.configs.recommended,
...typescriptEslint.configs.recommended,
react.configs.flat.recommended,
react.configs.flat["jsx-runtime"],
eslintConfigPrettier,
...storybook.configs["flat/recommended"],
{
ignores: ["dist/**", "public/**"],
},
{
plugins: {
"react-refresh": reactRefresh,
"react-hooks": reactHooks,
},
languageOptions: {
globals: {
...globals.browser,
},
},
settings: {
react: {
version: "detect",
},
},
rules: {
"react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
"react-hooks/exhaustive-deps": "off",
"@typescript-eslint/no-redeclare": "off",
"no-labels": "off",
},
},
{
files: ["**/*.stories.*"],
rules: {
"import/no-anonymous-default-export": "off",
},
},
);