0.0.4
This commit is contained in:
parent
cd16119416
commit
18d605339f
12 changed files with 434 additions and 149 deletions
55
index.ts
55
index.ts
|
|
@ -1,24 +1,23 @@
|
|||
import javascriptEslint from "@eslint/js";
|
||||
import { Linter } from "eslint";
|
||||
import functional from "eslint-plugin-functional";
|
||||
import perfectionist from "eslint-plugin-perfectionist";
|
||||
import { defineConfig, globalIgnores } from "eslint/config";
|
||||
import globals from "globals";
|
||||
import typescriptEslint from "typescript-eslint";
|
||||
|
||||
import { règlesJavaScript } from "./règles/javascript.ts";
|
||||
import { règlesProgrammationFonctionnelle } from "./règles/programmation-fonctionnelle.ts";
|
||||
import { règlesTri } from "./règles/tri.ts";
|
||||
import { règlesTypeScript } from "./règles/typescript.ts";
|
||||
import { règlesUnicorn } from "./règles/unicorn.ts";
|
||||
|
||||
export const configTypescriptNavigateur: ReadonlyArray<Linter.Config> = defineConfig([
|
||||
globalIgnores(["dist/**/*"], "Ignore le Dossier de Compilation"),
|
||||
globalIgnores(["dist/**/*"], "Ignore le dossier de compilation"),
|
||||
{
|
||||
files: ["**/*.js", "**/*.ts"],
|
||||
name: "Fichiers à analyser",
|
||||
},
|
||||
javascriptEslint.configs.recommended,
|
||||
typescriptEslint.configs.strictTypeChecked,
|
||||
typescriptEslint.configs.stylisticTypeChecked,
|
||||
{
|
||||
languageOptions: {
|
||||
ecmaVersion: "latest",
|
||||
globals: { ...globals.browser, ...globals.es2026 },
|
||||
globals: { ...globals.browser, ...globals.builtin, ...globals.es2026, ...globals.node },
|
||||
parserOptions: {
|
||||
ecmaVersion: "latest",
|
||||
projectService: true,
|
||||
|
|
@ -28,37 +27,9 @@ export const configTypescriptNavigateur: ReadonlyArray<Linter.Config> = defineCo
|
|||
},
|
||||
name: "Configuration du projet",
|
||||
},
|
||||
{
|
||||
name: "Programmation fonctionnelle",
|
||||
plugins: { functional: functional as typeof typescriptEslint.plugin },
|
||||
rules: {
|
||||
...functional.configs.noExceptions.rules,
|
||||
...functional.configs.noMutations.rules,
|
||||
...functional.configs.externalTypeScriptRecommended.rules,
|
||||
...functional.configs.stylistic.rules,
|
||||
// Choix stylistique.
|
||||
"@typescript-eslint/array-type": ["error", { default: "generic", readonly: "generic" }],
|
||||
// L'imposition d'une immutabilité plus importante est extrêmement contraignante.
|
||||
"functional/prefer-immutable-types": ["error", { enforcement: "ReadonlyShallow" }],
|
||||
// Choix stylistique.
|
||||
"functional/readonly-type": ["error", "generic"],
|
||||
// L'imposition d'une immutabilité plus importante est extrêmement contraignante.
|
||||
"functional/type-declaration-immutability": [
|
||||
"error",
|
||||
{
|
||||
ignoreInterfaces: false,
|
||||
rules: [
|
||||
{
|
||||
comparator: "AtLeast",
|
||||
fixer: false,
|
||||
identifiers: "^(?!I?Mutable).+",
|
||||
immutability: "ReadonlyShallow",
|
||||
suggestions: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
perfectionist.configs["recommended-natural"],
|
||||
règlesJavaScript,
|
||||
règlesTypeScript,
|
||||
règlesProgrammationFonctionnelle,
|
||||
règlesUnicorn,
|
||||
règlesTri,
|
||||
]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue