build(tsup): add @zen/core/api to external list and document rule
- Add `@zen/core/api` to the `external` array in `tsup.config.js` to prevent build failures caused by unresolved `dist/` imports at build time - Document the externals rule in `docs/DEV.md`: any `@zen/core/*` import used in bundled module files must be declared as external, with an explanation of why and a code example to follow
This commit is contained in:
+20
@@ -32,6 +32,26 @@ Pour les conventions de commit : [COMMITS.md](./dev/COMMITS.md).
|
||||
|
||||
---
|
||||
|
||||
## Build et configuration tsup
|
||||
|
||||
### Règle des externals
|
||||
|
||||
Tout import de la forme `@zen/core/*` dans un fichier bundlé par tsup (typiquement `src/modules/*/api.js`, `src/modules/*/actions.js`, `src/modules/*/crud.js`) **doit figurer dans la liste `external`** du premier bloc de config dans `tsup.config.js`.
|
||||
|
||||
Pourquoi : tsup tente de résoudre ces imports au moment du build. Or les fichiers `dist/` n'existent pas encore — le build échoue avec `Could not resolve "@zen/core/..."`.
|
||||
|
||||
**Règle :** quand on crée ou refactorise un module `src/core/*/index.js` exposé via `package.json` `exports`, on ajoute immédiatement l'entrée correspondante dans `external` de `tsup.config.js`.
|
||||
|
||||
```js
|
||||
// tsup.config.js — external (premier bloc)
|
||||
'@zen/core/api', // ← à ajouter si src/core/api/index.js est un entry tsup
|
||||
'@zen/core/database',
|
||||
'@zen/core/storage',
|
||||
// etc.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Sécurité
|
||||
|
||||
### Données entrantes
|
||||
|
||||
Reference in New Issue
Block a user