Dagger & Bun
Maintenant que nous connaissons Dagger et que nous avons fait un premier test, on va essayer de le faire avec un projet Bun!
Initialisation
Pour commencer, je vais utiliser ce projet qui est une petite librairie node.
Au cas où, voici le lien du projet : https://github.com/Killian-Aidalinfo/lib-acl-json
Maintenant nous allons initialiser Dagger de la même manière que dans le chapitre précédent :
Une fois les fichiers de dagger initialisé, on va modifier le package.json de dagger.
Voici mon package.json :
Il faut enlever la partie packageManager et ajouter la partie runtime, en indiquant Bun.
Voici la documentation officiel de dagger à ce sujet, si besoin Documentation Bun
Nous n’avons pas besoin d’indiquer un packageManager car il c’est que le runtime Bun utilise son propre package manager.
Première pipeline
On va commencer par une pipeline simple, installer les dépendances, puis réaliser les tests unitaires de Bun.
Nous voyons donc que builEnv, nous permet de faire le bun install et ensuite nous allons récupérer ces fichiers dans la partie test pour exécuter nos tests.
Maintenant appelons notre fonction test :
Parfait ! Tout c’est bien passé 😎
NPM publish
Bien, à présent nous allons voir comment utiliser une variable d’environnement et publier sur NPM notre package.
Je vais aller sur npmjs.com, et générer un token.
Ajout du token en variable d’environnement :
Maintenant on va modifier notre pipeline pour publier notre package :
On lance la fonction publish avec notre env :
Résultat :
On vérifie sur NPM :
Super ! On a bien publié notre package sur NPM !
Comme vous l’avez vu dans publish on appel notre function build qui construit notre package. Ensuite récupère la sortie du dossier ‘src’, création du .npmrc avec le token et on publie sur npm avec la bonne version.
Pour récupérer des variables d’environnement, on utilise la syntaxe env:VARIABLE. Il est aussi possible de le faire depuis un fichier, voici la documentation officielle https://docs.dagger.io/cookbook/#use-secret-variables
Conclusion
Maintenant que nous avons vu comment intégrer Bun, vous pouvez créer des pipelines avec Dagger et Bun 🚀
Prochaine étape, build et push d’une docker image sur un registre privé !