Les bibliothèques et frameworks préconisés
Client et serveur
Agent pour le registre npm
Gestion des versions de node
Note : Épingler la version de node avec Volta ne dispense pas d’indiquer la propriété "engines"
dans le package.json
Lint et formattage
- ESLint cf. page dédiée
- Prettier cf. page dédiée
Langage
Les projets doivent être écrits en TypeScript (cf. page dédiée).
Monorepo
Scripts npm
Dates
Pour les projets qui manipulent des dates, il faut :
Gérer les fuseaux horaires correctement :
- stocker et manipuler les dates en temps universel coordonné (UTC) à l'intérieur de votre application, et les convertir en heure locale uniquement pour l'affichage à l'utilisateur
- utiliser les formats ISO 8601 avec les millisecondes (ex :
2018-10-09T08:19:16.999+02:00
) - utiliser les fonctionnalités de conversion de fuseau horaire de date-fns pour effectuer ces conversions de manière fiable
valider et vérifier les dates côté client et côté serveur pour éviter les erreurs et les incohérences
Client
Vue et son écosystème
Les tests
- Vitest (harnais de tests)
- Vue Testing Library
- Jest DOM (compatible avec Vitest, donc ne pas utiliser Jest !)
- Cypress (pour les tests end-to-end et les tests de composants)
Pour les bibliothèques UI
Serveur
web
- Fastify cf. page dédiée
- NestJs cf. page dédiée
- Vite-plugin-node idéalement (cf. ce post pour NestJS)
- Vitest
- supertest
ORM
TODO: exemples et bonnes pratiques