Barrel Files
JavaScript 🟡 MidDefinition
Fichier index.ts/js qui re-exporte les modules d'un dossier pour simplifier les imports. Peut nuire au tree shaking et au temps de build si mal utilise.
Analogie
Un sommaire de livre : pratique pour trouver un chapitre, mais si le sommaire force a charger tout le livre, c'est contre-productif.
Exemple de code
// components/index.ts (barrel)
export { Button } from './Button';
export { Modal } from './Modal';
export { Input } from './Input';
// Usage
import { Button } from './components';
Cas d'usage
API publiques de librairies, organisation de dossiers de composants.
Anti-pattern
Barrel files dans chaque sous-dossier qui forcent le bundler a parser des centaines de modules.