- étoffe le fichier `JOURNAL` avec les nouveaux changements majeurs. - propose une tâche _Justfile_ pour un rechargement à chaud primitif lors de changements CSS. - ne précompresse pas et ne propose plus de versions « legacy » des scripts JS en methodes développement. - appose correctement `aria-current` sur le lien de la page courante dans les deux menus de navigation. - remplace une image statique « Scroll down » avec une animation SVG reposant sur du texte et des chemins. - renomme moultes choses.
61 lines
2.3 KiB
JavaScript
Executable file
61 lines
2.3 KiB
JavaScript
Executable file
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";
|
|
|
|
export default tseslint.config(
|
|
js.configs.recommended,
|
|
perfectionist.configs["recommended-natural"],
|
|
...tseslint.configs.strictTypeChecked,
|
|
...tseslint.configs.stylisticTypeChecked,
|
|
oxlint.configs["flat/recommended"],
|
|
{
|
|
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"] }],
|
|
},
|
|
},
|
|
);
|