Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TECH] Configuration des workspaces pnpm #10838

Draft
wants to merge 7 commits into
base: dev
Choose a base branch
from

Conversation

bpetetot
Copy link
Contributor

@bpetetot bpetetot commented Dec 17, 2024

🎄 Problème

🎁 Proposition

Travail basé sur la PR #7155

🗒️ TODO

  • Appliquer la modification de ce commit pour faire fonctionner la CI.

🧦 Documentation

  • Le commit ajoutant la propriété packageManager dans le package.json n'a pas été repris car il ne semble pas nécessaire d'après la documentation (bcf82f5)
  • Le commit concernant Bookshelf n'a pas été repris car la librarie a été supprimée de l'API (fca31e7)
  • Le buildpack nodejs de Scalingo supporte désormais pnpm par défaut. Donc il n'y plus besoin d'avoir un fork du buildpack comme dans la PR originale (https://github.com/Scalingo/nodejs-buildpack/blob/master/CHANGELOG.md#v245---2024-04-29)
  • Le commit modifiant la CI sera fait à la fin car on veut d'abord que ça fonctionne en local (ab06ad1)
  • Le commit corrigeant le build en supprimant polyfillUUID n'a pour le moment pas été repris et sera fait plus tard (voir cette PR [TECH] Suppression de polyfills Intl (PIX-13595) #9820 pour exemple)
  • Le script migrate-to-pnpm a été lançé mais non commité.
    • Sur Mac, nous avons dû modifier le script migrate-to-pnpm.sh pour faire marcher les commandes sed en ajoutant une chaîne vide ('') après le -i.

Important

Il est préférable de partir d'une "clean install" (sans node modules), sinon il faut au préalable les supprimer (dans tous les projets).

🚨 Il est nécessaire de supprimer le répertoire temporaire $TMPDIR/embroider

🧰 Questions / Améliorations

  • Dans le package.json racine:
  • la commande "build" ne fait le build que des fronts et pas audit logger. Pourquoi ?
  • Pourquoi les commandes lint et test utilisent des regex ?
  • Vérifier l'utilité de la propriété dedupe-peer-dependencies dans le fichier .npmrc
  • Raccourir les commandes avec pnpm run (run non obligatoire)
  • Mettre à jour les configurations .vscode
  • A voir si c'est possible de remplacer npm-run-all
  • Mettre à jour le fichier INSTALLATION.md / README.mdde Pix Admin, procfile de scalingo (postdeploy), configure.sh, les fichier Dockerfile, docker-compose dans le dossier docker
  • Vérifier que les scripts utilisent maintenant pnpm au lieu de npm.

🎅 Pour tester

Fonctionnement des commandes racines:

  • pnpm install
  • pnpm lint
  • pnpm test
  • pnpm dev

Commandes admin

  • pnpm dev

Commandes api

  • pnpm dev
  • pnpm lint
  • pnpm test
  • pnpm db:reset

Commandes audit-logger

  • pnpm dev

Commandes certif

  • pnpm dev

Commandes junior

  • pnpm dev

Commandes mon-pix

  • pnpm dev

Commandes orga

  • pnpm dev

@er-lim er-lim marked this pull request as draft December 17, 2024 13:43
@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

@er-lim er-lim added Development in progress cross-team Toutes les équipes de dev labels Dec 17, 2024
@bpetetot bpetetot force-pushed the tech-return-of-pnpm-workspaces branch from 7f5e5e6 to 9211d84 Compare December 17, 2024 14:39
@bpetetot bpetetot force-pushed the tech-return-of-pnpm-workspaces branch from 0d3d8a5 to 8fa0f00 Compare December 17, 2024 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cross-team Toutes les équipes de dev Development in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants