Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Monitoreo de Espacios de Trabajo
El monitoreo de espacios de trabajo está disponible a partir de Lerna 6.4.0.
Lerna puede monitorear cambios en los archivos de los paquetes y ejecutar comandos automáticamente desde la raíz del repositorio. Esto es útil cuando necesitas reconstruir paquetes o volver a ejecutar pruebas mientras actualizas archivos durante tu flujo de desarrollo.
Esto elimina la necesidad de configurar manualmente el monitoreo para cada paquete individualmente.
Ejemplos
Monitorea todos los paquetes y muestra el nombre del paquete y los archivos modificados:
$ lerna watch -- echo \$LERNA_PACKAGE_NAME \$LERNA_FILE_CHANGES
Monitorea todos los paquetes y ejecuta el script "build" en un paquete cuando cambia un archivo dentro de él:
$ lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME
Monitorea todos los paquetes y ejecuta el script "build" en todo lo afectado por los cambios:
$ lerna watch -- lerna run build --since
Monitorea un solo paquete y ejecuta el script "build" en él cuando cambia un archivo dentro de él:
$ lerna watch --scope="my-package-1" -- lerna run build --scope=\$LERNA_PACKAGE_NAME
Monitorea un paquete y sus dependencias, ejecutando el script "build" en cualquiera de ellos que cambie:
$ lerna watch --scope="my-package-1" --include-dependencies -- lerna run build --scope=\$LERNA_PACKAGE_NAME
Monitorea todos los paquetes y ejecuta el script build para el paquete que cambió y todos los paquetes que dependen de él:
$ lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME --include-dependents
Para filtros más avanzados, consulta la documentación de opciones de filtro. Para más opciones disponibles, ve la documentación de lerna watch.
Variables de Entorno para Monitoreo
Lerna establecerá las variables de entorno $LERNA_PACKAGE_NAME y $LERNA_FILE_CHANGES al ejecutar el comando interno. Estas pueden usarse para personalizar el comando que se ejecuta.
-
$LERNA_PACKAGE_NAMEse reemplazará con el nombre del paquete que cambió. -
$LERNA_FILE_CHANGESse reemplazará con los archivos que cambiaron. Si se detectan múltiples cambios en un ciclo,$LERNA_FILE_CHANGESlos listará separados por espacios.
Al usar $LERNA_PACKAGE_NAME y $LERNA_FILE_CHANGES, necesitarás escapar el $ con una barra invertida (\). Consulta los ejemplos anteriores.
Ejecución con Gestores de Paquetes
Los ejemplos anteriores muestran cómo usar lerna directamente en la terminal. Sin embargo, también puedes usar lerna a través de un gestor de paquetes sin agregarlo a tu ruta:
pnpm:
pnpm lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME
yarn:
yarn lerna -- watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME
npx:
npx -c 'lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME'
Al usar npx, necesitarás usar -c y encerrar todo el comando lerna watch entre comillas simples ('). Sin esto, npx intentará reemplazar las variables de entorno de monitoreo antes de pasar el comando a lerna, resultando en valores siempre vacíos para $LERNA_PACKAGE_NAME y $LERNA_FILE_CHANGES.
Si usas Lerna en Windows, debes enmarcar las variables de entorno con '%'. Por ejemplo:
$ lerna watch -- lerna run build --scope=%LERNA_PACKAGE_NAME% --include-dependents