Un fichier docker-compose.yml
se trouve à la racine du projet et permet de démarrer simplement le projet si vous le souhaitez
Avertissement : le hot reload ne fonctionnera pas sur l'application NextJS si vous utilisez docker ⚠️
pilote
par exemple.env.example
avec le nom .env
, et bien mettre à jour la variable d'environnement DATABASE_URL
npm run database:seed
npm run dev
pilote_test
par exemple.env.example
avec le nom .env.test
, et bien mettre à jour la variable d'environnement DATABASE_URL
Avertissement : si vous n'avez pas de fichier
.env.test
et que vous avez un fichier.env
, Jest va le trouver et lancer les tests sur votre base locale de run ⚠️
npm run test:database:init
npm run test
npm run lint
Une base de données de test identique à la base de développement est créée dans le data_management/docker-compose.yml, il s'agit de testing
dans le container postgres_tests
, exposée sur localhost:5433
.
Pour lancer les tests qui vont s'exécuter sur cette base:
cp .env.test.example .env.test
: copier le .env.test.example
vers .env.test
docker-compose -f docker-compose.tests.yml up
pour lancer les tests via Docker. /bin/bash scripts/run_tests.sh
pour lancer les tests en localscripts/run_tests.sh
, les variables dans .env.test
vont remplacer celles dans .env
si des variables sont définies dans les deux fichiers. C'est utile pour $DATABSE_URL
entre autres, mais vous pouvez changer la valeur d'autres variables également.-- --watch
à la tâche npm :
npm run test:client -- --watch
npm run build
npm run start
Commande | Fonction |
---|---|
npm run dev | Lance le site en mode développeur (avec hot reload) |
npm run build | Prépare les fichiers (optimisations) afin de pouvoir les mettre en prod |
npm run start | Lance un serveur en local qui utilise les fichiers créés pour la production (cf build) |
npm run lint | Lance le linter ESLint, Typescript et Stylelint |
npm run lint:fix | Lance le linter ESLint et Stylelint et tente de corriger les erreurs automatiquement |
npm run lint:eslint | Lance le linter ESLint |
npm run lint:tsc | Lance le linter Typescript |
npm run lint:stylelint | Lance le linter Stylelint |
npm run test | Lance tous les tests (front et back) |
npm run test:ci | Utilisé par la CI. Lance tous les tests (front et back) |
npm run test:client | Lance tous les tests côté front (dossier src/client) |
npm run test:client:unit | Lance les tests unitaires côté front (dossier src/client) |
npm run test:client:integration | Lance les tests d'intégration côté front (dossier src/client) |
npm run test:client:coverage | Lance les tests d'intégration côté front et permet d'obtenir le code coverage |
npm run test:server | Lance tous les tests côté back (dossier src/server) |
npm run test:server:unit | Lance les tests unitaires côté back (dossier src/server) |
npm run test:server:integration | Lance les tests d'intégration côté back (dossier src/server) |
npm run test:server:domain:coverage | Lance les tests du dossier domain dans le back et permet d'obtenir le code coverage |
npm run test:server:infrastructure:coverage | Lance les tests du dossier infrastructure dans le back et permet d'obtenir le code coverage |
npm run test:database:init | Permet de réinitialiser la base de donnée de test sans aucune données |
npm run database:init | Permet de réinitialiser la base de donnée sans aucune données |
npm run database:seed | Permet de réinitialiser la base de donnée et de la populer avec un jeu de test |
npm run postdeploy | Utilisé automatiquement lors du déploiement sur Scalingo afin de jouer les migrations Prisma |
npm ci | Installation et mise à jour des dépendance node |