Commit graph

2 commits

Author SHA1 Message Date
7d11dd1426 uid fourni par le developpeur au lieu d'etre auto-genere
All checks were successful
CI / build-lint-test (pull_request) Successful in 37s
@RegisterService(uid) et @Service<T>(uid) prennent desormais l'uid en
parametre explicite, choisi par l'appelant, plutot que de le generer
automatiquement (crypto.randomUUID) et de resoudre par reference de
classe. ServiceRepository simplifie en consequence : une seule map
uid -> instance (plus de WeakMap constructeur -> uid, resolveClass/
getUidForClass/hasClass supprimes, devenus inutiles).

@Service ne peut plus inferer le type depuis une reference de classe :
a annoter la propriete ou a typer explicitement (@Service<T>(uid)).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 14:22:06 +02:00
10bc209038 Ajouter @lightweight-sdk/service-registry (packages/common)
Some checks failed
CI / build-lint-test (pull_request) Failing after 29s
Registre de services en singleton avec injection par decorateurs :
- ServiceRepository : singleton central, uid genere automatiquement
  (crypto.randomUUID) a l'enregistrement, une seule instance partagee
  par service.
- @RegisterService() : decorateur de classe, instancie et enregistre
  automatiquement la classe decoree (constructeur sans argument).
- @Service(target) : decorateur de propriete, injection paresseuse et
  memoisee par reference de classe (resolution au premier acces, pas
  a la decoration - insensible a l'ordre d'evaluation des modules).

Fix connexe dans tsconfig.base.json : useDefineForClassFields desactive
(target ES2022 l'active par defaut), sinon un champ de classe sans
initialiseur est reinitialise a undefined sur l'instance a la
construction et masque l'accesseur pose sur le prototype par un
decorateur de propriete - touche @Service ici et @LinkToDom dans
web-component. Documente dans spec/architecture.md.

Fix connexe dans scripts/create-package.mjs : execFileSync('pnpm', ...)
ne resout pas le shim .cmd de pnpm sous Windows sans shell: true
(trouve en re-testant le script sur ce package).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 13:59:58 +02:00