pnpm exec
Executa um comando shell no escopo de um projeto.
node_modules/.bin
é adicionado ao PATH
, então pnpm exec
permite executar comandos de dependências.
Exemplos
Se você tem o Jest como dependência do seu projeto, não há necessidade de instalar o Jest globalmente, basta executá-lo com pnpm exec
:
pnpm exec jest
A parte do exec
é realmente opcional quando o comando não está em conflito com um comando interno pnpm, então você também pode executar:
pnpm jest
Opções
Quaisquer opções para o comando exec
devem ser listadas antes de sua palavra-chave. As opções listadas após a palavra-chave exec
são passadas para o comando executado.
Bom. O pnpm será executado recursivamente:
pnpm -r exec jest
Ruim. O pnpm não será executado recursivamente, mas jest
será executado com a opção -r
:
pnpm exec jest -r
--recursive, -r
Execute o comando shell em cada projeto do espaço de trabalho.
O nome do pacote atual está disponível através da variável de ambiente PNPM_PACKAGE_NAME
.
Exemplos
Prune node_modules
installations for all packages:
pnpm -r exec rm -rf node_modules
View package information for all packages. This should be used with the --shell-mode
(or -c
) option for the environment variable to work.
pnpm -rc exec pnpm view $PNPM_PACKAGE_NAME
--resume-from <package_name>
Added in: v7.22.0
Resume execution from a particular project. This can be useful if you are working with a large workspace and you want to restart a build at a particular project without running through all of the projects that precede it in the build order.
--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