Barrel Files

JavaScript 🟡 Mid

Definition

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.
#core#modules#architecture