Files
ben-to/docs/tickets/issue-no-index-barrels.body.md
T
2026-07-21 16:50:58 +02:00

1.4 KiB
Raw Blame History

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 dacceptation

  • 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