pnpm exec
Esegue un comando di shell nell'ambito di un progetto.
node_modules/.bin
viene aggiunto a PATH
, quindi pnpm exec
consente l'esecuzione dei comandi delle dipendenze.
Esempi
Se hai Jest come dipendenza del tuo progetto, non è necessario installare Jest a livello globale, basta eseguirlo con pnpm exec
:
pnpm exec jest
La parte exec
è in realtà facoltativa quando il comando non è in conflitto con un comando pnpm integrato, quindi puoi anche eseguire:
pnpm jest
Opzioni
Qualsiasi opzione per il comando exec
dovrebbe essere elencata prima della parola chiave exec
. Le opzioni elencate dopo la parola chiave exec
vengono passate al comando eseguito.
Bene. pnpm verrà eseguito in modo ricorsivo:
pnpm -r exec jest
Male, pnpm non verrà eseguito in modo ricorsivo ma jest
verrà eseguito con l'opzione -r
:
pnpm exec jest -r
--recursive, -r
Esegue il comando shell in ogni progetto dello spazio di lavoro.
Il nome del pacchetto corrente è disponibile tramite la variabile di ambiente PNPM_PACKAGE_NAME
.
Esempi
Elimina le installazioni node_modules
per tutti i pacchetti:
pnpm -r exec rm -rf node_modules
Visualizza le informazioni sui pacchetti per tutti i pacchetti. Questo dovrebbe essere usato con l'opzione --shell-mode
(o -c
) affinché la variabile di ambiente funzioni.
pnpm -rc exec pnpm view \$PNPM_PACKAGE_NAME
--resume-from <nome_pacchetto>
Riprende l'esecuzione da un determinato progetto. Questo può essere utile se si sta lavorando con un grande workspace e si desidera riavviare la build di un determinato progetto senza eseguire la build di tutti i progetti che lo precedono.
--parallel
Ignora completamente la convaluta e l'ordinamento topologico, eseguendo un dato script immediatamente in tutti i pacchetti corrispondenti con output di streaming prefissato. Questo è il flag preferito per i processi a lungo termine su molti pacchetti, per esempio, un lungo processo di compilazione.
--shell-mode, -c
Esegue il comando all'interno di una shell. Utilizza /bin/sh
su UNIX e \cmd.exe
su Windows.
--report-summary
Read about this option in the run command docs