Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/laruiss/gabarit-monorepo-explained

Étapes pour un monorepo avec pnpm, turbo, une app client (vue), une app server (fastify et vite-plugin-node), et une bibliothèque partagée
https://github.com/laruiss/gabarit-monorepo-explained

fastify monorepo turbo vite-plugin-node vue

Last synced: 25 days ago
JSON representation

Étapes pour un monorepo avec pnpm, turbo, une app client (vue), une app server (fastify et vite-plugin-node), et une bibliothèque partagée

Awesome Lists containing this project

README

        

# Construire un monorepo

## Introduction

Le monorepo va consister en :

- une configuration eslint partagée
- une bibliothèque partagée par le front et le back
- une application cliente
- une application server (fastify ou NestJS)

## Les prérequis pour la compréhension

Les workspaces facilitent :

- le **partage de code** entre différents packages

Des outils spécialisées permettent

- l’**exécution de plusieurs tâches en une seule commande** (test, lint, build, deploy ou publish de plusieurs packages, par exemple)

## Les outils utilisées

### pnpm

Pour limiter les téléchargements et gagner de l’espace disque, ainsi que pour une gestions plus facile des workspaces, nous utiliserons pnpm.

### turbo

Pour gérer les actions sur plusieurs packages, nous utiliserons turborepo.

### back

Pour le back, nous allons faire une API avec Fastify.

### front

Pour le front, nous utiliserons Vue et VueDsfr

## Les étapes

1. Créons d’abord un fichier [.gitignore](./docs/gitignore.md)
2. Créons ensuite un fichier [.editorconfig](./docs/editorconfig.md)
3. Créons ensuite un fichier [pnpm-workspace.yaml](./docs/pnpm.mdgi)
4. Ajoutons turbo dans les dépendances et configurons-le [`turbo.json`](./docs/turbo.md)
5. Ajoutons un serveur simple fait avec [fastify](./docs/fastify.md)
6. Ajoutons une application client avec [vue](./docs/vue.md)