Dépendances PoC TAMIS
Premier point et pour rappel, pour ceux qui souhaitent installer la stack complète de l'application en local, JB a mis à disposition deux guides rapides pour mettre en place un client + serveur :
Les principaux dépôts de code consommés par le POC v1 sont les suivants :
Côté serveur:
- Le framework, côté serveur
- Le paquet server spécifique TAMIS
- Le paquet qui sert pour la gestion des utilisateurs
- Le paquet qui sert pour l'authentification OIDC
- Le paquet qui sert les tableaux de bord
Côté client:
- La base Orbit, qui sert de plateforme partagée pour assembler les webcomponents :
- Le framework côté client
- Les webcomponents TAMIS
- Le webcomponent partagé qui sert de base au tableau de bord
Pour ce qui est d'Orbit, le template générique de nos applications, il a pour dépendances principales pour son fonctionnement Vite, Lit, Handlebars (through a Vite plugin though) et notre Orbit-styling-framework. Ensuite cela dépend de la configuration appliquée.
De manière générale, pour retrouver la liste des dépendances d'un de nos projets, il faut croiser le contenu de la configuration du projet et le modèle de chargement des composants d'Orbit. Ce qui permet pour chacun des composants présents de retrouver l'URL du package publié sur NPM (l'entrée dans le tableau, par exemple @startinblox/core, préfixé de https://npmjs.com, ce qui donne https://npmjs.com/@
Le détail des principales:
Les 3 premiers composants présentés dans le default.npm.json (@startinblox/core, @startinblox/router et @startinblox/oidc) sont chargés quel que soit la configuration de l'application. Leur détail:
- @startinblox/core: le framework, qui dépend principalement des librairies vite, jsonld, Lit, jsonld-context-parser et d'autres helpers plus spécifiques. Liste complète de ses dépendances ici
- @startinblox/oidc: notre composant d'authentification, qui lui dépend du core et de solid-client-authn-browser, la librairie d'Inrupt compatible solid-oidc. Liste complète des dépendances ici
- @startinblox/router: notre composant de router, qui lui dépend essentiellement du core. Liste complète des dépendances ici
Pour ce qui est des composants spécifiques TAMIS, si on part donc de la configuration disponible ici
On peut voir qu'elle charge en particulier les composants:
- Tamis-profile
- Tamis-prestations
- Tamis-asset
Ces 3 composants font partie de la même librairie Tamis accessible via CDN à l'URL https://cdn.jsdelivr.net/npm/@
Cette librairie est publiée sur NPM, ici.
La liste de ses dépendances est également accessible
Voilà. Ce n'est effectivement pas trivial mais si je simplifie, depuis le front il s'agit surtout de retrouver l'URL du paquet sur NPM et depuis celle-ci on peut remonter beaucoup d'informations.