Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Comandi
Opzioni di Filtro
I comandi di Lerna possono utilizzare opzioni di filtro per controllare su quali pacchetti operano.
Opzioni per i sotto-comandi di lerna che richiedono filtraggio
Installa lerna per accedere alla CLI lerna.
Opzioni
--scope <glob>
Includi solo i pacchetti con nomi corrispondenti al glob specificato.
$ lerna exec --scope my-component -- ls -la
$ lerna run --scope "toolbar-*" test
$ lerna run --scope package-1 --scope "*-2" lint
Nota: Per alcuni glob potrebbe essere necessario racchiudere tra virgolette l'argomento dell'opzione per evitare l'espansione prematura da parte della shell.
Esecuzione con npx
Quando si esegue lerna con npx, è necessario utilizzare un "=" esplicito quando si passano argomenti glob. Questo previene l'espansione prematura degli argomenti da parte di npx.
Ad esempio:
$ npx lerna run --scope="toolbar-*" test
$ npx lerna run --scope="package-{1,2,5}" test
--ignore <glob>
Escludi i pacchetti con nomi corrispondenti al glob specificato.
$ 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
Altri esempi di filtraggio sono disponibili qui.
--no-private
Escludi i pacchetti privati. Sono inclusi per impostazione predefinita.
--since [ref]
Includi solo i pacchetti modificati dopo il ref specificato. Se non viene passato alcun ref, viene utilizzato il tag più recente.
# 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
Questo può essere particolarmente utile in ambienti CI, quando è possibile identificare il branch di destinazione di una PR, poiché tale branch può essere utilizzato come ref per l'opzione --since. Funziona efficacemente sia per PR dirette al branch predefinito che a branch di funzionalità.
--exclude-dependents
Esclude tutte le dipendenze transitive quando si esegue un comando con --since, sovrascrivendo l'algoritmo predefinito di "cambiamenti".
Questa opzione non ha effetto senza --since e genererà un errore in tal caso.
--include-dependents
Includi tutte le dipendenze transitive durante l'esecuzione di un comando, indipendentemente da --scope, --ignore o --since.
--include-dependencies
Includi tutte le dipendenze transitive durante l'esecuzione di un comando, indipendentemente da --scope, --ignore o --since.
Utilizzato in combinazione con qualsiasi comando che accetta --scope (bootstrap, clean, ls, run, exec).
Garantisce che tutte le dipendenze (e dipendenze di sviluppo) dei pacchetti selezionati (tramite --scope o --ignore) vengano inclusi nell'operazione.
Nota: Questa opzione sovrascriverà i flag
--scopee--ignore.Esempio: Un pacchetto escluso con
--ignoreverrà comunque processato se richiesto da un altro pacchetto incluso nel bootstrap.
Utile quando si desidera configurare un singolo pacchetto che dipende da altri pacchetti da predisporre.
$ 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
Includi i tag dei branch uniti quando si esegue un comando con --since. Rilevante solo in scenari avanzati di pubblicazione da branch di funzionalità, generalmente non raccomandati.
Limitazioni
Sebbene sia possibile eseguire Lerna senza installare prima le dipendenze del progetto (ad esempio con pnpm dlx o npx), non è consigliato. Il comando potrebbe funzionare, ma l'output potrebbe non essere completamente accurato. Consultare questo issue per dettagli.