Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Surveillance des espaces de travail
La fonctionnalité de surveillance des espaces de travail est disponible depuis Lerna 6.4.0.
Lerna peut surveiller les modifications de fichiers dans vos packages et exécuter automatiquement des commandes depuis la racine du dépôt. Cela est utile lorsque vous devez recompiler des packages ou relancer des tests pendant votre flux de développement.
Cela évite d'avoir à configurer manuellement une surveillance pour chaque package individuellement.
Exemples
Surveiller tous les packages et afficher le nom du package et les fichiers modifiés :
$ lerna watch -- echo \$LERNA_PACKAGE_NAME \$LERNA_FILE_CHANGES
Surveiller tous les packages et exécuter le script "build" d'un package lorsqu'un fichier est modifié :
$ lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME
Surveiller tous les packages et exécuter le script "build" sur tout ce qui est affecté par les modifications :
$ lerna watch -- lerna run build --since
Surveiller un seul package et exécuter le script "build" lorsqu'un fichier est modifié :
$ lerna watch --scope="my-package-1" -- lerna run build --scope=\$LERNA_PACKAGE_NAME
Surveiller un package et ses dépendances, en exécutant le script "build" sur ceux qui changent :
$ lerna watch --scope="my-package-1" --include-dependencies -- lerna run build --scope=\$LERNA_PACKAGE_NAME
Surveiller tous les packages et exécuter le script build pour le package modifié et tous les packages qui en dépendent :
$ lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME --include-dependents
Pour des filtres plus avancés, consultez la documentation des options de filtrage. Pour plus d'options disponibles, voir la documentation lerna watch.
Variables d'environnement de surveillance
Lerna définit les variables d'environnement $LERNA_PACKAGE_NAME et $LERNA_FILE_CHANGES lors de l'exécution des commandes. Celles-ci permettent de personnaliser la commande exécutée.
-
$LERNA_PACKAGE_NAMEcontient le nom du package modifié. -
$LERNA_FILE_CHANGESliste les fichiers modifiés. Si plusieurs modifications de fichiers sont détectées dans un même cycle,$LERNA_FILE_CHANGESles listera tous, séparés par des espaces.
Lorsque vous utilisez $LERNA_PACKAGE_NAME et $LERNA_FILE_CHANGES, vous devez échapper le $ avec une barre oblique inverse (\). Voir les exemples ci-dessus.
Utilisation avec les gestionnaires de packages
Les exemples précédents montrent l'utilisation directe de lerna dans le terminal. Vous pouvez aussi utiliser lerna via un gestionnaire de packages sans l'ajouter à votre PATH :
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'
Avec npx, vous devez utiliser -c et entourer toute la commande lerna watch de guillemets simples ('). Sans cela, npx tentera de remplacer les variables d'environnement avant de transmettre la commande à lerna, ce qui viderait $LERNA_PACKAGE_NAME et $LERNA_FILE_CHANGES.
Sous Windows, vous devez encadrer les variables d'environnement avec '%'. Par exemple :
$ lerna watch -- lerna run build --scope=%LERNA_PACKAGE_NAME% --include-dependents