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,36 @@
|
||||
---
|
||||
name: Architecture sans barrels index
|
||||
about: Supprimer les index.ts barrel et verrouiller par règle / CI
|
||||
title: "[Archi] Supprimer les index.ts barrel et verrouiller par règle projet"
|
||||
labels: ["architecture"]
|
||||
assignees: []
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
1. 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-chemins `package.json` **`exports`** sans fichier nommé `index.ts`.
|
||||
2. Mettre à jour tous les imports (`apps/web`, `packages/**`).
|
||||
3. Supprimer les anciens `**/src/index.ts` après migration.
|
||||
|
||||
## Règles / outillage
|
||||
|
||||
- Étendre `.cursor/rules/ben-to-engineering.mdc` : pas de nouveau barrel `index.ts` ; imports depuis modules nommés.
|
||||
- Optionnel : ESLint `no-restricted-imports` ou script `scripts/quality/` qui échoue si un `**/src/index.ts` barrel réapparaît.
|
||||
|
||||
## Critères d’acceptation
|
||||
|
||||
- [ ] Plus de `export * from` dans des `index.ts` à la racine des packages features/shared concernés.
|
||||
- [ ] CI (`check:quality` ou lint) empêche la réintroduction du pattern (selon le niveau de durcissement retenu).
|
||||
|
||||
## Références
|
||||
|
||||
- `apps/web/vite.config.ts`
|
||||
- `packages/features/*/src/index.ts`, `packages/shared/*/src/index.ts`
|
||||
Reference in New Issue
Block a user