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 = 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 = defineConfig([...configTypescriptNavigateur, ...astroRules]);