Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Comandos
Opciones de Filtrado
Los comandos de Lerna aceptan opciones de filtrado para controlar sobre qué paquetes operan.
Opciones para subcomandos de lerna que requieren filtrado
Instala lerna para acceder a la CLI de lerna.
Opciones
--scope <glob>
Incluye únicamente paquetes cuyos nombres coincidan con el patrón glob dado.
$ lerna exec --scope my-component -- ls -la
$ lerna run --scope "toolbar-*" test
$ lerna run --scope package-1 --scope "*-2" lint
Nota: Para ciertos patrones glob, puede ser necesario entrecomillar el argumento para evitar expansión prematura en la terminal.
Ejecución con npx
Al ejecutar lerna con npx, es necesario usar explícitamente "=" al pasar argumentos glob. Esto evita que npx expanda prematuramente los argumentos.
Por ejemplo:
$ npx lerna run --scope="toolbar-*" test
$ npx lerna run --scope="package-{1,2,5}" test
--ignore <glob>
Excluye paquetes cuyos nombres coincidan con el patrón glob dado.
$ lerna exec --ignore "package-{1,2,5}" -- ls -la
$ lerna run --ignore package-1 test
$ lerna run --ignore "package-@(1|2)" --ignore package-3 lint
Más ejemplos de filtrado disponibles aquí.
--no-private
Excluye paquetes privados. Por defecto se incluyen.
--since [ref]
Incluye solo paquetes modificados desde la referencia ref especificada. Si no se proporciona ref, usa la etiqueta más reciente por defecto.
# List the contents of packages that have changed since the latest tag
$ lerna exec --since -- ls -la
# Run the tests for all packages that have changed since `main`
$ lerna run test --since main
# List all packages that have changed since `some-branch`
$ lerna ls --since some-branch
Esto puede ser especialmente útil en entornos de CI, si puedes obtener la rama objetivo donde se integrará un PR, ya que puedes usar esa rama como ref para la opción --since. Funciona bien tanto para PRs que se integran en la rama principal como en ramas de características.
--exclude-dependents
Excluye todas las dependencias transitivas al ejecutar un comando con --since, anulando el algoritmo predeterminado de "cambios".
Esta bandera no tiene efecto sin --since, y en ese caso generará un error.
--include-dependents
Incluye todas las dependencias transitivas al ejecutar un comando, independientemente de --scope, --ignore o --since.
--include-dependencies
Incluye todas las dependencias transitivas al ejecutar un comando, independientemente de --scope, --ignore o --since.
Se usa combinado con comandos que aceptan --scope (bootstrap, clean, ls, run, exec).
Asegura que todas las dependencias (y dependencias de desarrollo) de los paquetes delimitados (ya sea mediante --scope o --ignore) también sean procesados.
Nota: Esto anulará las banderas
--scopee--ignore.Ejemplo: Un paquete excluido por
--ignoreaún será instalado si otra dependencia que sí se está procesando lo requiere.
Es útil cuando necesitas "configurar" un paquete individual que depende de otros paquetes.
$ lerna bootstrap --scope my-component --include-dependencies
# my-component and all of its dependencies will be bootstrapped
$ lerna bootstrap --scope "package-*" --ignore "package-util-*" --include-dependencies
# all packages matching "package-util-*" will be ignored unless they are
# depended upon by a package whose name matches "package-*"
--include-merged-tags
$ lerna exec --since --include-merged-tags -- ls -la
Incluye etiquetas de ramas fusionadas al ejecutar un comando con --since. Solo es relevante si publicas frecuentemente desde ramas de características, algo que generalmente no se recomienda.
Limitaciones
Aunque puedes ejecutar Lerna sin instalar primero las dependencias del proyecto (por ejemplo con pnpm dlx o npx), no es recomendable. El comando podría funcionar, pero su salida podría no ser 100% precisa. Consulta este issue para más detalles.