Files
CollectFlow/eslint.config.mjs
T

37 lines
1.3 KiB
JavaScript

import { defineConfig, globalIgnores } from "eslint/config";
import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
import reactHooks from "eslint-plugin-react-hooks";
import reactRefresh from "eslint-plugin-react-refresh";
/**
* Lint de l'interface (SPA Vite). Seul `src/` est vérifié : `server/` est en
* Rust.
*/
const eslintConfig = defineConfig([
globalIgnores(["dist/**", "server/**", ".claude/**", "_bmad/**", "_bmad-output/**", "docs/**", "*.js", "*.mjs"]),
{
files: ["src/**/*.{ts,tsx}", "vite.config.mts"],
extends: [js.configs.recommended, tseslint.configs.recommended, reactHooks.configs.flat.recommended],
plugins: { "react-refresh": reactRefresh },
languageOptions: {
ecmaVersion: 2022,
globals: globals.browser,
},
rules: {
// Exports utilitaires historiques des composants (rechargement à chaud
// seulement moins fin pour ces fichiers).
"react-refresh/only-export-components": [
"warn",
{
allowConstantExport: true,
allowExportNames: ["buttonVariants", "toast", "confirmer", "useUrlTab", "PROFONDEUR_MAX"],
},
],
},
},
]);
export default eslintConfig;