actions
CI / quality (push) Waiting to run
CI / e2e-and-a11y (push) Blocked by required conditions
CI / lighthouse (push) Blocked by required conditions
CI / android-smoke (push) Waiting to run
CI / pull-request-report (push) Blocked by required conditions
Security / codeql (push) Waiting to run
Security / deps-and-secrets (push) Waiting to run
CI / quality (push) Waiting to run
CI / e2e-and-a11y (push) Blocked by required conditions
CI / lighthouse (push) Blocked by required conditions
CI / android-smoke (push) Waiting to run
CI / pull-request-report (push) Blocked by required conditions
Security / codeql (push) Waiting to run
Security / deps-and-secrets (push) Waiting to run
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
---
|
||||
name: Refactor Builder SOLID
|
||||
about: Découpage SOLID du flux builder (BuilderFlow)
|
||||
title: "[Refactor] Builder — découpage SOLID et responsabilités claires"
|
||||
labels: ["refactor"]
|
||||
assignees: []
|
||||
---
|
||||
|
||||
## Contexte
|
||||
|
||||
La logique et l’UI du parcours builder sont concentrées dans `apps/web/src/ui/BuilderFlow.tsx` (fichier très volumineux). Le domaine pur existe déjà dans `packages/features/builder/src/domain.ts`.
|
||||
|
||||
## Objectif
|
||||
|
||||
Réduire la surface « tout-en-un » du flux builder et clarifier les frontières entre UI, état du wizard, et domaine (`@ben-to/builder`).
|
||||
|
||||
## Pistes techniques
|
||||
|
||||
- Extraire par **responsabilité unique** : étapes (base / variante / recette), barre d’actions, feuille recette, navigation « Continuer », synchronisation reset (`builder-reset-bus`).
|
||||
- Introduire des **hooks / ports** testables (ex. `useBuilderSteps`, `useRecipeSheet`) pour isoler les effets et la lecture du catalogue.
|
||||
- **DIP** : l’UI consomme le domaine (`domain.ts`) et des interfaces stables pour le catalogue, sans détails de parsing dispersés.
|
||||
- Conserver / étendre les tests (`*.unit.test.ts`, e2e, Gherkin `@int-builder-*`).
|
||||
|
||||
## Critères d’acceptation
|
||||
|
||||
- [ ] Aucun fichier du flux builder > ~250–300 lignes sans justification documentée en commentaire de module.
|
||||
- [ ] Tests unitaires / intégration et e2e verts ; pas de régression sur le parcours dans `specs/features/builder.feature`.
|
||||
|
||||
## Références
|
||||
|
||||
- `apps/web/src/ui/BuilderFlow.tsx`
|
||||
- `packages/features/builder/src/domain.ts`
|
||||
- `specs/features/builder.feature`
|
||||
Reference in New Issue
Block a user