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
1.6 KiB
1.6 KiB
name, about, title, labels, assignees
| name | about | title | labels | assignees | |
|---|---|---|---|---|---|
| Architecture sans barrels index | Supprimer les index.ts barrel et verrouiller par règle / CI | [Archi] Supprimer les index.ts barrel et verrouiller par règle projet |
|
Contexte
Les packages exposent des barrels src/index.ts avec export * from "...". Les alias Vite dans apps/web/vite.config.ts pointent vers ces fichiers. Ce pattern complique le suivi des imports réels et la détection de code inutilisé.
Objectif
Supprimer les barrels index.ts, migrer vers des imports explicites, et verrouiller la réintroduction du pattern (règles projet + CI).
Travail technique
- Remplacer les alias Vite (et chemins TypeScript si besoin) par des modules canoniques nommés (ex.
@ben-to/builder/domain,@ben-to/recipes/catalog) ou par des sous-cheminspackage.jsonexportssans fichier nomméindex.ts. - Mettre à jour tous les imports (
apps/web,packages/**). - Supprimer les anciens
**/src/index.tsaprès migration.
Règles / outillage
- Étendre
.cursor/rules/ben-to-engineering.mdc: pas de nouveau barrelindex.ts; imports depuis modules nommés. - Optionnel : ESLint
no-restricted-importsou scriptscripts/quality/qui échoue si un**/src/index.tsbarrel réapparaît.
Critères d’acceptation
- Plus de
export * fromdans desindex.tsà la racine des packages features/shared concernés. - CI (
check:qualityou lint) empêche la réintroduction du pattern (selon le niveau de durcissement retenu).
Références
apps/web/vite.config.tspackages/features/*/src/index.ts,packages/shared/*/src/index.ts