docs(tsup): update build config comments and fix jsx import extensions
This commit is contained in:
+4
-7
@@ -60,14 +60,11 @@ Ces suffixes ne sont pas cosmétiques : **le build les utilise comme source de v
|
||||
|
||||
### Source de vérité
|
||||
|
||||
`tsup.config.js` dérive ses entrées de deux sources :
|
||||
`tsup.config.js` compile **tous les fichiers `.js` et `.jsx` de `src/`** avec `bundle: false`. Chaque fichier devient un module standalone dans `dist/` ; les imports relatifs sont préservés tels quels.
|
||||
|
||||
1. `package.json#exports` — pour tous les points d'entrée publics.
|
||||
2. Un glob récursif `src/**/*.{server,client}.js` — pour le wiring interne (pages, widgets) qui doit rester en module séparé sans être public.
|
||||
|
||||
**Ajouter un module public = éditer seulement `package.json#exports`.** La liste `external` et la liste `entry` sont régénérées au prochain build. Il n'y a plus trois listes à synchroniser.
|
||||
|
||||
Les self-imports `@zen/core/*` sont générés automatiquement à partir des clés de `exports`.
|
||||
- **Ajouter un module public = éditer seulement `package.json#exports`.** L'entry list se régénère au prochain build via un walk de `src/`.
|
||||
- **Pas de bundling des fichiers internes** : les modules de registre (`registry.js`, etc.) sont des singletons — les bundler avec `bundle: true` dans un barrel créerait une copie inline distincte et casserait le partage d'état entre les pages et les widgets.
|
||||
- Les self-imports `@zen/core/*` sont générés automatiquement à partir des clés de `exports` et restent toujours dans la liste `external`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user