Générateur Interactif ESLint Flat Config (eslint.config.mjs)
Générez des fichiers de configuration moderne pour ESLint 9+ (eslint.config.mjs / .js) avec prise en charge de TypeScript, React, Next.js, Vue, Prettier et de règles sur mesure.
// ============================================================================
// ESLint 9+ Flat Configuration File
// Generated by ToolsAA ESLint Flat Config Builder (https://toolsaa.com)
// Format: ESM (eslint.config.mjs)
// ============================================================================
import js from "@eslint/js";
import tseslint from "typescript-eslint";
import nextPlugin from "@next/eslint-plugin-next";
import jsxA11y from "eslint-plugin-jsx-a11y";
import simpleImportSort from "eslint-plugin-simple-import-sort";
import unusedImports from "eslint-plugin-unused-imports";
import tailwind from "eslint-plugin-tailwindcss";
import prettier from "eslint-config-prettier";
import globals from "globals";
export default tseslint.config(
// 1. Global Ignores
{
ignores: [
"node_modules/**",
".next/**",
"out/**",
"dist/**",
"build/**",
"coverage/**",
"*.config.js",
"*.config.mjs",
],
},
// 2. Base ESLint Recommended Rules
js.configs.recommended,
// 3. TypeScript Rules
...tseslint.configs.recommendedTypeChecked,
...tseslint.configs.stylisticTypeChecked,
{
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
// 4. Next.js 15 App Router Integration
{
files: ["**/*.{js,jsx,mjs,ts,tsx}"],
plugins: {
"@next/next": nextPlugin,
"jsx-a11y": jsxA11y,
},
rules: {
...nextPlugin.configs.recommended.rules,
...nextPlugin.configs["core-web-vitals"].rules,
...jsxA11y.configs.recommended.rules,
},
},
// 5. Tailwind CSS Class Sorting & Linting
...tailwind.configs["flat/recommended"],
// 7. Environment & Runtime Globals
{
languageOptions: {
globals: {
...globals.browser,
...globals.node,
...globals.es2024,
},
},
},
// 8. Custom Rules & Directives
{
plugins: {
"simple-import-sort": simpleImportSort,
"unused-imports": unusedImports,
},
rules: {
"no-console": "warn",
"prefer-const": "error",
"@typescript-eslint/no-unused-vars": [
"warn",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
},
],
"@typescript-eslint/no-explicit-any": "warn",
"react-hooks/exhaustive-deps": "warn",
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error",
"unused-imports/no-unused-imports": "error",
"@next/next/no-html-link-for-pages": "error",
"@next/next/no-img-element": "warn",
},
},
// 9. Prettier Formatting Harmony (Must remain at the very end to disable conflicting rules)
prettier,
);
Imports de tableaux Flat Config natifs sans conflit d'analyseur.
Règles granulaires de style de code, d'imports inutilisés et de typage strict.
Zéro obsolescence de l'ancien .eslintrc ; entièrement certifié.
Paradigme Flat Config ESLint 9+
Génère des configurations plates modernes en tableau sans les ambiguïtés d'héritage ni les conflits de l'ancien .eslintrc.
Zéro Télémétrie Serveur
Toutes les détections et synthèses de configuration sont opérées directement dans la mémoire de votre navigateur.
Sécurité de Typage et Sans Conflits
Intégration transparente de typescript-eslint v8 et eslint-config-prettier pour prévenir tout conflit de formatage.