47 lines
1.4 KiB
TypeScript
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]);
|