wip
This commit is contained in:
parent
03af121e92
commit
2d4caefd26
32 changed files with 866 additions and 778 deletions
|
|
@ -1,61 +1,16 @@
|
|||
import js from "@eslint/js";
|
||||
import oxlint from "eslint-plugin-oxlint";
|
||||
import perfectionist from "eslint-plugin-perfectionist";
|
||||
import globals from "globals";
|
||||
import tseslint from "typescript-eslint";
|
||||
import type { Config } from "eslint/config";
|
||||
|
||||
export default tseslint.config(
|
||||
js.configs.recommended,
|
||||
perfectionist.configs["recommended-natural"],
|
||||
...tseslint.configs.strictTypeChecked,
|
||||
...tseslint.configs.stylisticTypeChecked,
|
||||
oxlint.configs["flat/recommended"],
|
||||
import { configTypescriptNavigateur } from "@gcch/configuration-eslint";
|
||||
import { defineConfig } from "eslint/config";
|
||||
|
||||
const esLintConfig: ReadonlyArray<Config> = defineConfig(
|
||||
{
|
||||
files: ["*.js", "web/app/themes/haiku-atelier-2024/src/**/*.ts"],
|
||||
languageOptions: {
|
||||
ecmaVersion: "latest",
|
||||
globals: {
|
||||
...globals.browser,
|
||||
...globals.es2020,
|
||||
},
|
||||
parserOptions: {
|
||||
projectService: true,
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
/* Utilise Array<T> plutôt que T[]. */
|
||||
"@typescript-eslint/array-type": [
|
||||
"error",
|
||||
{
|
||||
default: "generic",
|
||||
readonly: "generic",
|
||||
},
|
||||
],
|
||||
/* L'usage d'interfaces ou de types doit être à la discrétion du développeur. */
|
||||
"@typescript-eslint/consistent-type-definitions": "off",
|
||||
/* Désactive cette règle pour les fonctions fléchées pour rendre le code moins verbeux. */
|
||||
"@typescript-eslint/no-confusing-void-expression": [
|
||||
"error",
|
||||
{
|
||||
ignoreArrowShorthand: true,
|
||||
ignoreVoidOperator: false,
|
||||
},
|
||||
],
|
||||
/* Chiant avec certaines Promises. */
|
||||
"@typescript-eslint/no-misused-promises": "off",
|
||||
/* Cette règle empêche l'usage de génériques précisant les types de retour de fonctions. */
|
||||
"@typescript-eslint/no-unnecessary-type-parameters": "off",
|
||||
// Pour utiliser LogTape.
|
||||
"@typescript-eslint/no-unused-expressions": "off",
|
||||
/* Cette règle est doublon avec les règles noUnused* de TypeScript. */
|
||||
"@typescript-eslint/no-unused-vars": "off",
|
||||
/* Cette règle empêche de lever des erreurs génériques (p.ex. `E extends Error`). */
|
||||
"@typescript-eslint/only-throw-error": "off",
|
||||
/* Cette règle empêche le style fonctionnel « point free ». */
|
||||
"@typescript-eslint/unbound-method": "off",
|
||||
/* Cette règle interdit l'usage de fonctions vides sauf pour les fonctions fléchées. */
|
||||
"no-empty-function": ["error", { allow: ["arrowFunctions"] }],
|
||||
},
|
||||
ignores: [".cache", "web/app/plugins", "**/*.js"],
|
||||
},
|
||||
[...configTypescriptNavigateur],
|
||||
{
|
||||
files: ["*.ts", "web/app/themes/haiku-atelier-2024/src/**/*.ts"],
|
||||
},
|
||||
);
|
||||
|
||||
export default esLintConfig;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue