Appearance
Refactorisation lint : Ă©tat d'avancement â
Ătapes accomplies â
- Garde-fous CI : le workflow
QualityexĂ©cute systĂ©matiquement ESLint (scriptlint:ci) et la vĂ©rification TypeScript (typecheck) sur chaque push et pull request, ce qui couvre les exigences de l'Ă©tape 1 du plan.ăF:.github/workflows/quality.ymlâ L1-L38ă - Baseline tolĂ©rante : la configuration ESLint actuelle abaisse les rĂšgles les plus bruyantes au niveau
warn, tandis quelint:cin'Ă©choue que sur les erreurs. Cela correspond Ă l'Ă©tape 2 (option A) pour accepter l'Ă©tat existant tout en empĂȘchant les rĂ©gressions supplĂ©mentaires.ăF:.eslintrc.cjsâ L1-L60ăăF:package.jsonâ L5-L38ă
Ătape 3 : corrections automatiques sans risque â
Ce qui est accompli â
- Les derniers périmÚtres non traités (routes, classes, scripts hérités
tvkit) ont Ă©tĂ© formatĂ©s avec Prettier eteslint --fix --fix-type problem, ce qui ferme le chantier "mise en forme automatique" sur l'ensemble du front. On le constate notamment sur le layout de connectivitĂ©, les classes de plateformes et les usines TV dĂ©sormais alignĂ©s sur le style partagĂ©.ăF:src/routes/(connectivity)/+layout.svelteâ L1-L173ăăF:src/lib/classes/platforms/identifier.tsâ L1-L60ăăF:src/lib/classes/platforms/tvLauncher.tsâ L1-L31ă - Les composants Svelte normalisĂ©s lors des itĂ©rations prĂ©cĂ©dentes conservent une structure stable (imports triĂ©s, attributs Svelte regroupĂ©s), ce qui facilite l'identification des avertissements mĂ©tiers restants et limite les diffs parasites pour la suite de la refactorisation.ăF:src/lib/components/common/Modal.svelteâ L1-L270ăăF:src/lib/components/area/Widget.svelteâ L1-L123ă
Ătape 4 : durcir progressivement les rĂšgles â
L'exĂ©cution de npm run lint ne remonte plus d'erreurs bloquantes mais laisse 368 avertissements, majoritairement des variables inutilisĂ©es, des any rĂ©siduels et des dĂ©clarations dans des switch LG hĂ©ritĂ©s.ăf5800dâ L1-L128ă Pour franchir le palier suivant sans casser la build :
- Nettoyage automatique ciblé : lancer
eslint --fix --fix-type problemsur les pĂ©rimĂštres les plus bavards (src/lib/components,src/lib/utilsModals.ts,src/routes/(connectivity)) pour Ă©liminer les avertissements "prefer-const" et les cas gĂ©rables automatiquement avant d'attaquer la dette mĂ©tier.ăf5800dâ L39-L128ă - Prioriser les avertissements critiques : traiter manuellement les warnings de sĂ©curitĂ©/accessibilitĂ© (
svelte/no-at-html-tags,svelte/valid-compile,a11y-missing-attribute) afin de pouvoir promouvoir ces rĂšgles enerrordans une prochaine PR et d'Ă©viter les rĂ©gressions sur les parcours d'affichage.ăf5800dâ L21-L128ă
Concept â
La refactorisation ESLint vise à améliorer la qualité du code en configurant des rÚgles strictes, en automatisant les corrections, et en nettoyant les avertissements pour une base de code plus maintenable.
Fonctionnement â
Processus étape par étape : mise en place de garde-fous CI, corrections automatiques, durcissement progressif des rÚgles.
Diagrammes â
e-novatis
Date de derniĂšre mise Ă jour : date inconnue 3. Planifier la montĂ©e en sĂ©vĂ©rité : une fois les variables inutilisĂ©es nettoyĂ©es, prĂ©parer un changement de configuration ESLint en Ă©rigeant @typescript-eslint/no-unused-vars et prefer-const au niveau error, puis mettre Ă jour le workflow CI pour qu'il Ă©choue en cas de rĂ©gression.ăF:.eslintrc.cjsâ L1-L60ăăF:.github/workflows/quality.ymlâ L1-L38ă
Cette approche conserve l'esprit "safe-first" : on consomme d'abord les autofix, puis on sécurise les rÚgles sensibles (sécurité, accessibilité) avant de durcir les rÚgles structurelles dans la configuration.