Saltar al contenido principal
Traducción Beta No Oficial

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 --scope e --ignore.

Ejemplo: Un paquete excluido por --ignore aú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.