pnpm exec
Exécute une commande shell dans le cadre d'un projet.
node_modules/.bin
est ajouté au PATH
, donc pnpm exec
permet d'exécuter des commandes de dépendances.
Exemples
Si vous avez Jest en tant que dépendance de votre projet, il n'est pas nécessaire d'installer Jest globalement, exécutez-le simplement avec pnpm exec
:
pnpm exec jest
La partie exec
est en fait facultative lorsque la commande n'est pas en conflit avec une commande pnpm intégrée, vous pouvez donc également exécuter:
pnpm jest
Options
Toute option pour la commande exec
doit être listée avant le mot-clé exec
. Les options listées après le mot-clé exec
sont passées à la commande exécutée.
Bien. pnpm s'exécutera de manière récursive :
pnpm -r exec jest
Mauvais, pnpm
ne s'exécutera pas de manière récursive, mais jest
sera exécuté avec l'option -r
:
pnpm exec jest -r
--recursive, -r
Exécutez la commande shell dans chaque projet de l'espace de travail.
Le nom du package actuel est disponible via la variable d'environnement PNPM_PACKAGE_NAME
.
Exemples
Supprimer les installations de tous les paquets dans les différents node_modules
:
pnpm -r exec rm -rf node_modules
Affiche les informations relatives à chaque paquet. Ceci doit être utilisé avec l'option --shell-mode
(ou -c
) pour que la variable d'environnement fonctionne.
pnpm -rc exec pnpm view \$PNPM_PACKAGE_NAME
--resume-from <nom_du_paquet>
Reprendre l’exécution à partir d’un projet spécifique. Cela peut être utile lorsque l'on travaille avec un workspace de taille conséquente et que l'on souhaite redémarrer une build depuis un projet spécifique sans devoir exécuter tous les projets qui le précèdent dans l’ordre de la build.
--parallel
Completely disregard concurrency and topological sorting, running a given script immediately in all matching packages with prefixed streaming output. This is the preferred flag for long-running processes over many packages, for instance, a lengthy build process.
--shell-mode, -c
Runs the command inside of a shell. Uses /bin/sh
on UNIX and \cmd.exe
on Windows.
--report-summary
Read about this option in the run command docs