Saltar al contenido principal
Version: Próxima versión

pnpm exec

Ejecuta un comando de shell en el ámbito de un proyecto.

La carpeta node_modules/.bin se agrega al PATH, por lo que pnpm exec permite ejecutar comandos que exponen ciertas dependencias.

Ejemplos

Si tienes Jest como dependencia de tu proyecto, no es necesario instalar Jest globalmente, simplemente ejecútalo con pnpm exec:

pnpm exec jest

El argumento exec es opcional cuando el comando a ejecutar no está en conflicto con un comando incorporado de pnpm, así que también puedes ejecutar:

pnpm jest

Opciones

Cualquier opción para el comando exec debe aparecer antes de la palabra exec. Las opciones listadas después de la palabra exec se pasan al comando ejecutado.

Bien. pnpm se ejecutará recursivamente:

pnpm -r exec jest

Mal, pnpm no se ejecutará recursivamente pero jest se ejecutará con la opción -r:

pnpm exec jest -r

--recursive, -r

Ejecuta un comando de shell en cada proyecto del workspace.

El nombre del paquete actual está disponible a través de la variable de entorno PNPM_PACKAGE_NAME.

Ejemplos

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>

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

--filter <package_selector>

Read more about filtering.