Skip to content

betagouv/lab-anssi-ui-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UI Kit du Lab. ANSSI

Version Typescript Version Svelte Version Vite Version Vitest

État Build État Déploiement Storybook

État Déploiement NPM Version NPM


Storybook des composants

Nous parlons de Storybook car c'est le terme généralement employé, mais nous utilisons Histoire.
Nous avons fait ce choix car au moment de la création de notre repo, Storybook n'était pas compatible Svelte.

Lors de la release d'une nouvelle version de l'UI Kit, le Storybook des composants est déployé sur Github Pages : https://betagouv.github.io/lab-anssi-ui-kit/.

Architecture de build

Cette librairie a pour objectif de produire des composants Svelte et leurs équivalents WebComponent.

L'architecture pour produire du Svelte utilise SvelteKit, configuré via le wizard npx sv create. C'est ce qui explique les nombreux fichiers de configuration Svelte (Prettier, Vitest, etc.) : ils ont été rajoutés par le wizard.

Pour rajouter le build des WebComponents, on rajoute manuellement un fichier de configuration vite.webcomponents.config.ts et des appels à la commande vite -c vite.webcomponents.config.ts build lors des étapes de build du package.

Résultat : dans le repertoire dist/ on retrouvera les composants Svelte et leurs équivalents Webcomponents.
Tout le contenu de dist/ est publié via npm publish.

Développement en local

La commande principale pour le développement en local est npm run story:dev.
La sortie devrait ressembler à :

$ npm run story:dev

@lab-anssi/[email protected] story:dev
HISTOIRE_ENV=development histoire dev
Re-optimizing dependencies because lockfile has changed
Using 5 threads for story collection
Collect stories start all
  ➜  Local:   http://localhost:6006/
  ➜  Network: use --host to expose

Après cette commande, le Storybook local est disponible sur http://localhost:6006/.
Il devrait ressembler au Storybook disponible en ligne.