@emergence/interne (0.2.0)
Installation
@emergence:registry=npm install @emergence/interne@0.2.0"@emergence/interne": "0.2.0"About this package
@emergence/interne
Le contrat de l'API interne de la maison : vocabulaire, formes de réponse et transport, partagés par Flux, Nexus et la plateforme.
Pourquoi il existe
Le patron de transport (AbortController + setTimeout + clearTimeout) était
recopié à l'identique en huit exemplaires sur trois dépôts. Et le 3 septembre
2026, externalId a désigné deux choses différentes selon l'application — le
sub du fournisseur chez Nexus et la plateforme, l'identifiant Mongo de la
plateforme chez Flux. Nexus répondait « compte inconnu », indiscernable d'un
compte qui n'existe pas.
⚠ Un type string partagé n'aurait rien attrapé. La forme était juste, c'est
le sens qui divergeait. Les types nominaux IdPlateforme et SubFournisseur
sont la seule forme sous laquelle le compilateur refuse de passer l'un pour
l'autre.
Ce qu'il ne contient pas
- Aucun miroir, aucun modèle. Chaque application garde en local ce que la plateforme ne sait pas. Client et contrat, jamais d'ORM.
- Aucune séquence de création. Elle diverge réellement entre les trois.
- Aucune politique d'erreur. Elles sont trois, incompatibles, et chacune est argumentée chez elle. Le transport la prend en paramètre.
⚠ Il est publié en JS compilé, jamais en TypeScript brut
tsc n'émet jamais pour les fichiers de node_modules : un paquet en .ts
serait illisible pour un backend Node, même muni d'une étape de construction. Le
modèle de @emergence/ui-core ne fonctionne que parce que Next liste ces paquets
dans transpilePackages.
C'est pour cette raison que les tests portent sur dist/ et non sur les sources.
Publier
cd packages/interne
npm publish --registry=https://git.synvectis.fr/api/packages/neigel/npm/
⚠ Incrémenter version à chaque publication : Gitea refuse d'écraser, et c'est
heureux — un paquet qui change sous un même numéro donne deux installations
différentes pour un même package.json.
Dependencies
Development Dependencies
| ID | Version |
|---|---|
| typescript | ^5.9.3 |