configuration-eslint/index.ts
2026-03-15 10:44:38 +01:00

47 lines
1.4 KiB
TypeScript

import { Linter } from "eslint";
import { defineConfig, globalIgnores } from "eslint/config";
import globals from "globals";
import { astroRules } from "./rules/astro.ts";
import { functionalRules } from "./rules/functional.ts";
import { javascriptRules } from "./rules/javascript.ts";
import { jsDocRules } from "./rules/jsdoc.ts";
import { sonarJsRules } from "./rules/sonarjs.ts";
import { sortRules } from "./rules/tri.ts";
import { typeScriptRules } from "./rules/typescript.ts";
import { unicornRules } from "./rules/unicorn.ts";
export const configTypescriptNavigateur: ReadonlyArray<Linter.Config> = defineConfig([
globalIgnores(["dist/**/*"], "Ignore le dossier de compilation"),
{
files: ["**/*.js", "**/*.ts"],
name: "Fichiers à analyser",
},
{
languageOptions: {
ecmaVersion: "latest",
globals: {
...globals.browser,
...globals.builtin,
...globals.es2026,
...globals.node,
},
parserOptions: {
ecmaVersion: "latest",
projectService: true,
sourceType: "module",
tsconfigRootDir: import.meta.dirname,
},
},
name: "Configuration du projet",
},
javascriptRules,
typeScriptRules,
functionalRules,
unicornRules,
sonarJsRules,
jsDocRules,
sortRules,
]);
export const configAstro: ReadonlyArray<Linter.Config> = defineConfig([...configTypescriptNavigateur, ...astroRules]);