This commit is contained in:
gcch 2025-10-01 14:14:20 +02:00
commit 18d605339f
12 changed files with 434 additions and 149 deletions

33
règles/typescript.ts Normal file
View file

@ -0,0 +1,33 @@
import type { Linter } from "eslint";
import typescriptEslint from "typescript-eslint";
type EsLintConfig = Readonly<Linter.Config>;
const trouveConfiguration = (configuration: ReadonlyArray<Linter.Config>, nom: string): EsLintConfig =>
configuration.find((v: EsLintConfig) => v.name === nom) ?? {};
const base = trouveConfiguration(typescriptEslint.configs.strictTypeChecked, "typescript-eslint/base");
const desactivationsJavaScript = trouveConfiguration(
typescriptEslint.configs.strictTypeChecked,
"typescript-eslint/eslint-recommended",
);
const strictTypeChecked = trouveConfiguration(
typescriptEslint.configs.strictTypeChecked,
"typescript-eslint/strict-type-checked",
);
const stylisticTypeChecked = trouveConfiguration(
typescriptEslint.configs.stylisticTypeChecked,
"typescript-eslint/stylistic-type-checked",
);
export const règlesTypeScript: Readonly<Linter.Config> = {
languageOptions: base.languageOptions ?? {},
name: "TypeScript",
plugins: base.plugins ?? {},
rules: {
...desactivationsJavaScript.rules,
...strictTypeChecked.rules,
...stylisticTypeChecked.rules,
},
};