Et verktøy for å administrere JavaScript-prosjekter med flere pakker.

  • Om
  • Komme I Gang
  • Slik Fungerer Det
  • Feilsøking
  • Kommandoer
  • Diverse
  • Lerna.json
  • Flagg

Om

Splitting opp store kodebaser i separate uavhengig versjonerte pakker er svært nyttig for kodedeling. Å gjøre endringer på tvers av mange repositorier er imidlertid rotete og vanskelig å spore, og testing på tvers av repositorier blir komplisert veldig fort.

for å løse disse (og mange andre) problemer, vil noen prosjekter organisere sine kodebaser i flere pakkelagre (noen ganger kalt monorepos). Prosjekter som Babel, React, Angular, Ember, Meteor, Jest og mange andre utvikler alle sine pakker i et enkelt depot.

Lerna er et verktøy som optimaliserer arbeidsflyten rundt håndtering av flerpakkelagre med git og npm.

Lerna kan også redusere tid og plassbehov for mange kopier av pakker i utviklings – og byggemiljøer-normalt en ulempe ved å dele et prosjekt i mange separate NPM-pakker. Se taljedokumentasjonen for detaljer.

hvordan ser En lerna repo ut?

det er faktisk veldig lite til det. Du har et filsystem som ser slik ut:

my-lerna-repo/ package.json packages/ package-1/ package.json package-2/ package.json

Hva Kan Lerna gjøre?

de to primære kommandoene I Lerna er lerna bootstrap og lerna publish.

bootstrap vil koble avhengigheter i repo sammen. publish vil bidra til å publisere eventuelle oppdaterte pakker.

Komme I Gang

instruksjonene nedenfor gjelder For Lerna 2.x. vi anbefaler at du bruker den i stedet for 1.x for et Nytt Lerna-prosjekt. Sjekk wiki hvis du trenger å se 1.x README.

La Oss starte med å installere lerna globalt med npm.

$ npm install --global lerna

Neste lager vi et nytt git-depot:

$ git init lerna-repo$ cd lerna-repo

og nå la oss gjøre det til En Lerna repo:

$ lerna init

depotet ditt skal nå se slik ut:

lerna-repo/ packages/ package.json lerna.json

Dette vil skape en lerna.json konfigurasjonsfil samt en packages mappe.

Slik Fungerer Det

Lerna lar deg administrere prosjektet ved hjelp Av en Av To moduser: Fast eller Uavhengig.

Fast / Låst modus (standard)

Fast modus Lerna-prosjekter opererer på en enkelt versjonslinje. Versjonen holdes i lerna.json – filen ved roten til prosjektet ditt under version – tasten. Når du kjører lerna publish, hvis en modul har blitt oppdatert siden forrige gang en utgivelse ble gjort, vil den bli oppdatert til den nye versjonen du slipper. Dette betyr at du bare publiserer en ny versjon av en pakke når du trenger det.

Dette er modusen Som Babel bruker for øyeblikket. Bruk dette hvis du vil automatisk knytte alle pakkeversjoner sammen. Et problem med denne tilnærmingen er at en stor endring i en pakke vil resultere i at alle pakker har en ny hovedversjon.

Uavhengig modus (–uavhengig)

Uavhengig modus Lerna projects lar vedlikeholdere å øke pakkeversjoner uavhengig av hverandre. Hver gang du publiserer, vil du få en melding for hver pakke som er endret for å angi om det er en patch, mindre, større eller tilpasset endring.

Uavhengig modus lar deg mer spesifikt oppdatere versjoner for hver pakke og gir mening for en gruppe komponenter. Kombinere denne modusen med noe som semantisk utgivelse ville gjøre det mindre smertefullt. (Det er arbeid på dette allerede på atlassian / lerna-semantic-release).

version – tasten i lerna.json ignoreres i uavhengig modus.

Feilsøking

hvis du støter på problemer mens Du bruker Lerna, vennligst sjekk Ut Vårt Feilsøkingsdokument hvor du kan finne svaret på problemet ditt.

Ofte stilte spørsmål

Se FAQ.md.

Kommandoer

init

$ lerna init

Opprett en ny lerna repo eller oppgrader en eksisterende repo til gjeldende versjon Av Lerna.

Lerna antar at repo allerede er initialisert med git init.

når du kjører, vil denne kommandoen:

  1. Legg til lerna som en devDependency i package.json hvis den ikke allerede finnes.
  2. Opprett en lerna.json config-fil for å lagre version – nummeret.

Eksempelutgang på en ny git repo:

$ lerna initlerna info version v2.0.0lerna info Updating package.jsonlerna info Creating lerna.jsonlerna success Initialized Lerna files

–uavhengig, – i

$ lerna init --independent

dette flagget ber Lerna om å bruke uavhengig versjonsmodus.

–exact

$ lerna init --exact

som standard vil lerna init bruke et caret-område når du legger til eller oppdaterer den lokale versjonen av lerna, akkurat som npm install --save-dev lerna.

for å beholde lerna 1.x oppførsel av «eksakt» sammenligning, pass dette flagget. Det vil konfigurere lerna.json for å håndheve eksakt samsvar for alle påfølgende henrettelser.

{ "lerna": "2.0.0", "command": { "init": { "exact": true } }, "version": "0.0.0"}

bootstrap

$ lerna bootstrap

Bootstrap pakkene i gjeldende lerna repo. Installerer alle sine avhengigheter og kobler noen kryss avhengigheter.

når du kjører, vil denne kommandoen:

  1. npm install alle eksterne avhengigheter av hver pakke.
  2. Symlink sammen alle Lerna packages som er avhengigheter av hverandre.
  3. npm prepublish alle bootstrappede pakker.

lerna bootstrap respekterer flaggene --ignore, --scope og --include-filtered-dependencies (Se Flagg).

Send ekstra argumenter til npm-klienten ved å plassere dem etter --:

$ lerna bootstrap -- --production --no-optional

kan også konfigureres i lerna.json:

{ ... "npmClient": "yarn", "npmClientArgs": }

Hvordan bootstrap fungerer

La oss bruke babel som et eksempel.

  • babel-generator og source-map (blant andre) er avhengigheter av babel-core.
  • babel-core‘s package.json viser begge disse pakkene som nøkler i dependencies, som vist nedenfor.
// babel-core package.json{ "name": "babel-core", ... "dependencies": { ... "babel-generator": "^6.9.0", ... "source-map": "^0.5.0" }}
  • Lerna sjekker om hver avhengighet er også en del Av Lerna repo.
    • i dette eksemplet kan babel-generator være en intern avhengighet, mens source-map alltid er en ekstern avhengighet.
    • versjonen av babel-generator i package.json av babel-core er fornøyd med packages/babel-generator, passerer for en intern avhengighet.
    • source-maper npm installed (eller yarn ed) som normalt.
  • packages/babel-core/node_modules/babel-generator symlinks til packages/babel-generator
  • dette tillater nestet katalogimport

Notater:

  • Når en avhengighetsversjon i en pakke ikke er fornøyd med en pakke med samme navn i repo, vil det være npm install ed (eller yarn ed) som normalt.
  • Dist-tagger, som latest, tilfredsstiller ikke semver-områder.
  • Sirkulære avhengigheter resulterer i sirkulære symlinker som kan påvirke redaktøren/IDE.

Webstorm låser seg når sirkulære symlinker er til stede. For å forhindre dette, legg til node_modules i listen over ignorerte filer og mapper i Preferences | Editor | File Types | Ignored files and folders.

publiser

$ lerna publish

Publiser pakker i det aktuelle lerna-prosjektet. Når kjør, gjør denne kommandoen følgende:

Oppretter en ny versjon av pakkene som er oppdatert. Ber om en ny versjon. Oppretter en ny git commit / tag i ferd med å publisere til npm.

mer spesifikt vil denne kommandoen:

  1. Kjør tilsvarende lerna updated for å finne ut hvilke pakker som skal publiseres.
  2. øk om nødvendig version – tasten i lerna.json.
  3. Oppdater package.json av alle oppdaterte pakker til deres nye versjoner.
  4. Oppdater alle avhengigheter av de oppdaterte pakkene med de nye versjonene, angitt med en firkant (^).
  5. Opprett en ny git commit og tag for den nye versjonen.
  6. Publiser oppdaterte pakker til npm.

Lerna vil ikke publisere pakker som er merket som private ("private": true i package.json).

–nøyaktig

$ lerna publish --exact

når du kjører med dette flagget, vil publishspesifisere oppdaterte avhengigheter i oppdaterte pakker nøyaktig (uten tegnsetting), i stedet for som semver kompatibel (med en ^).

se pakken for mer informasjon.json avhengigheter dokumentasjon.

–npm-tag

$ lerna publish --npm-tag=next

når du kjører med dette flagget, vil publishpublisere til npm med gitt npm dist-tag (standard til latest).

Dette alternativet kan brukes til å publisere en prerelease eller beta versjon.

Notat: latest – koden er den som brukes når en bruker kjører npm install my-package. For å installere en annen tag, kan en bruker kjøre npm install [email protected].

–canary, – c

$ lerna publish --canary$ lerna publish --canary=beta

når du kjører med dette flagget, publiserer publish pakker på en mer granulær måte (per commit). Før publisering til npm, oppretter den den nye version – taggen ved å ta den nåværende version, bumping den til neste mindre versjon, legge til det angitte meta-suffikset (standard til alpha) og legge til gjeldende git sha (ex: 1.0.0 blir 1.1.0-alpha.81e3b443).

tiltenkt bruk tilfelle for dette flagget er en per commit nivå utgivelse eller nattlig utgivelse.

–konvensjonell-inger

$ lerna publish --conventional-commits

når du kjører med dette flagget, vil publish bruke Den Konvensjonelle Inger-Spesifikasjonen for å bestemme versjonsbump og generere CHANGELOG

–git-remote

$ lerna publish --git-remote upstream

når du kjører med dette flagget, vil publishskyve git-endringene til den angitte fjernkontrollen i stedet for origin.

–skip-git

$ lerna publish --skip-git

når du kjører med dette flagget, vil publish publisere til npm uten å kjøre noen av git-kommandoene.

bare publiser til npm; hopp over å begå, merke og skyve git-endringer (dette påvirker bare publish).

–skip-npm

$ lerna publish --skip-npm

når du kjører med dette flagget, vil publish oppdatere alle package.json pakkeversjoner og avhengighetsversjoner, men det vil faktisk ikke publisere pakkene til npm.

Dette var nyttig som en løsning for et npm-problem som siden har blitt løst. Når du publiserer MED README-endringer, bruk --skip-npm og gjør den endelige npm publish for hånd for hver pakke.

dette flagget kan kombineres med --skip-git for å bare oppdatere versjoner og avhengigheter, uten å begå, merke, skyve eller publisere.

bare oppdater versjoner og avhengigheter; ikke publiser (dette påvirker bare publiser).

–force-publish

$ lerna publish --force-publish=package-2,package-4# force publish all packages$ lerna publish --force-publish=*

når du kjører med dette flagget, vil publish tvinge publiser de angitte pakkene (kommaseparert) eller alle pakker med *.

dette vil hoppe over lerna updated se etter endrede pakker og tvinger en pakke som ikke har en git diff endring som skal oppdateres.

–ja

$ lerna publish --canary --yes# skips `Are you sure you want to publish the above changes?`

når du kjører med dette flagget, vil publish hoppe over alle bekreftelsesmeldinger. Nyttig I Kontinuerlig integrasjon (CI) for å automatisk svare på publiseringsbekreftelsesprompten.

–cd-versjon

når du kjører med dette flagget, vil publish hoppe over versjonsvalgmeldingen (i uavhengig modus) og bruke den neste angitte semantiske versjonen. Du må fortsatt bruke flagget --yes for å unngå alle meldinger. Dette er nyttig når bygge systemer må publisere uten ledetekster. Fungerer i både normale og uavhengige moduser.

–pre-id

— repo-versjon

$ lerna publish --repo-version 1.0.1# applies version and skips `Select a new version for...` prompt

når du kjører med dette flagget, vil publish hoppe over versjonsvalg og bruke den angitte versjonen. Nyttig for å omgå brukerinngangsprompten hvis du allerede vet hvilken versjon du skal publisere.

–message, -m

når du kjører med dette flagget, vil publish bruke den angitte meldingen når du forplikter versjonsoppdateringene for publisering. Nyttig for å integrere lerna i prosjekter som forventer commit meldinger å følge visse retningslinjer, for eksempel prosjekter som bruker commitizen og / eller semantisk-release.

hvis meldingen inneholder %s, vil den bli erstattet med det nye globale versjonsnummeret prefiks med en «v». Merk at dette bare gjelder når du bruker standard «fast» versjonsmodus, da det ikke er noen «global» versjon når du bruker --independent.

oppdatert

$ lerna updated

Sjekk hvilke packages har endret seg siden siste utgivelse(siste git-tag).

lerna bestemmer den siste git-taggen som er opprettet og kjører git diff --name-only v6.8.1 for å få alle filer endret siden den taggen. Den returnerer deretter en rekke pakker som har en oppdatert fil.

Merk at konfigurasjonen for kommandoen publish også påvirker kommandoen updated. For eksempel config.publish.ignore

–json

$ lerna updated --json

når du kjører med dette flagget, vil updated returnere en rekke objekter i følgende format:

rengjør

$ lerna clean

Fjern node_modules katalogen fra alle pakker.

lerna clean respekterer flaggene --ignore, --scope og --yes (Se Flagg).

diff

$ lerna diff $ lerna diff# diff a specific package$ lerna diff package-name

Diff Alle pakker eller en enkelt pakke siden siste utgivelse.

Ligner lerna updated. Denne kommandoen kjører git diff.

ls

$ lerna ls

Oppgi alle de offentlige pakkene i dagens lerna repo.

lerna ls respekterer flaggene --ignore og --scope (Se Flagg).

–json

$ lerna ls --json

når du kjører med dette flagget, ls vil returnere en rekke objekter i følgende format:

kjør

Kjør et npm-skript i hver pakke som inneholder skriptet. En dobbel strek (--) er nødvendig for å sende stiplede argumenter til skriptutførelsen.

lerna run respekterer --concurrency, --scope, --ignore, --stream, og --parallel flagg (Se Flagg).

$ lerna run --scope my-component test

Merk: det anbefales å begrense omfanget av denne kommandoen (og lerna exec nedenfor) når du bruker flagget --parallel, da gyting av dusinvis av underprosesser kan være skadelig for skallets sinnsro (eller maksimal filbeskrivelsesgrense, for eksempel). YMMV

exec

$ lerna exec -- <command> # runs the command in all packages$ lerna exec -- rm -rf ./node_modules$ lerna exec -- protractor conf.js

Kjør en vilkårlig kommando i hver pakke. En dobbel-dash (--) er nødvendig for å sende stiplede flagg til gytt kommandoen, men er ikke nødvendig når alle argumentene er posisjonelle.

lerna exec respekterer --concurrency, --scope, --ignore, og --parallel flagg (Se Flagg).

$ lerna exec --scope my-component -- ls -la

for å gyte langvarige prosesser, pass --parallel flagget:

# transpile all modules as they change in every package$ lerna exec --parallel -- babel src -d lib -w

du kan også få navnet på den gjeldende pakken gjennom miljøvariabelen LERNA_PACKAGE_NAME:

$ lerna exec -- npm view $LERNA_PACKAGE_NAME

Du kan også kjøre et skript som ligger i root dir, i en komplisert dir-struktur gjennom miljøvariabelen LERNA_ROOT_PATH:

$ lerna exec -- node $LERNA_ROOT_PATH/scripts/some-script.js

Hint: kommandoene er gytt parallelt, ved hjelp av samtidighet gitt (unntatt med --parallel). Utgangen er rør gjennom, så ikke deterministisk. Hvis du vil kjøre kommandoen i en pakke etter hverandre, bruk den slik:

$ lerna exec --concurrency 1 -- ls -la

–bail

$ lerna exec --bail=<boolean> <command>

dette flagget betyr om kommandoen exec skal stoppe utførelsen ved å møte en feil kastet av en av de gyttede delprosessene. Standardverdien er true.

import

$ lerna import <path-to-external-repository>

Importer pakken på <path-to-external-repository>, med commit-historie, til packages/<directory-name>. Opprinnelige forplikte forfattere, datoer og meldinger er bevart. Inger brukes på gjeldende gren.

dette er nyttig for å samle eksisterende frittstående pakker i En Lerna repo. Hver commit er endret for å gjøre endringer i forhold til pakkekatalogen. Så, for eksempel, commit som lagt til package.json vil i stedet legge til packages/<directory-name>/package.json.

Diverse

Lerna vil logge på en lerna-debug.log fil (samme som npm-debug.log) når det oppstår en feil som kjører en kommando.

Lerna har også støtte for omfangsrike pakker.

Kjører lerna uten argumenter vil vise alle kommandoer / alternativer.

lerna.json

{ "lerna": "2.0.0", "version": "1.1.3", "commands": { "publish": { "ignore": }, "bootstrap": { "ignore": "component-*" } }, "packages": }
  • lerna: den nåværende versjonen Av Lerna blir brukt.
  • version: den gjeldende versjonen av depotet.
  • commands.publish.ignore: en rekke globs som ikke vil bli inkludert i lerna updated/publish. Bruk dette til å hindre publisering av en ny versjon unødvendig for endringer ,for eksempel å fikse en README.md skrivefeil.
  • commands.bootstrap.ignore: en rekke globs som ikke vil bli bootstrapped når du kjører kommandoen lerna bootstrap.
  • commands.bootstrap.scope: en rekke globs som begrenser hvilke pakker som skal bootstrapped når du kjører kommandoen lerna bootstrap.
  • packages: Rekke globs å bruke som pakke steder.

Vanlige devDependencies

De fleste devDependencies kan trekkes opp til roten Av En Lerna repo.

Dette har noen fordeler:

  • alle pakker bruker samme versjon av en gitt avhengighet
  • Kan holde avhengigheter ved roten oppdatert med et automatisert verktøy som GreenKeeper
  • Avhengighetsinstallasjonstid reduseres
  • Mindre lagring er nødvendig

Merk at devDependencies gir «binære» kjørbare filer som brukes av npm-skript må fortsatt installeres direkte i hver pakke der de Brukes.

for eksempel er nsp avhengighet nødvendig i dette tilfellet for lerna run nsp(og npm run nsp i pakkenes katalog) for å fungere riktig:

{ "scripts": { "nsp": "nsp" }, "devDependencies": { "nsp": "^2.3.3" }}

Flagg

Alternativer Til Lerna kan komme fra konfigurasjon (lerna.json) eller på kommandolinjen. I tillegg alternativer i config kan leve på øverste nivå eller kan brukes til bestemte kommandoer.

Eksempel:

{ "lerna": "x.x.x", "version": "1.2.0", "exampleOption": "foo", "command": { "init": { "exampleOption": "bar", } },}

i dette tilfellet vil exampleOption være «foo» for alle kommandoer unntatt init, hvor det vil være «bar». I alle tilfeller kan det overstyres til » baz » på kommandolinjen med --example-option=baz.

–samtidighet

Hvor mange tråder Som skal brukes når Lerna parallelizes oppgavene (standard til 4)

$ lerna publish --concurrency 1

–scope

Scopes en kommando til et delsett av pakker.

$ lerna exec --scope my-component -- ls -la
$ lerna run --scope toolbar-* test

–siden

når du utfører et skript eller en kommando, omfang operasjonen til pakker som er oppdatert siden den angitte ref. Hvis ref ikke er angitt, er den som standard den nyeste taggen.

Oppgi innholdet i pakker som har endret seg siden den siste taggen:

$ lerna exec --since -- ls -la

Kjør testene for alle pakker som har endret seg siden master:

$ lerna run test --since master

Oppgi alle pakker som har endret seg siden some-branch:

$ lerna ls --since some-branch

Dette kan være spesielt nyttig når det brukes I CI, hvis du kan få målgrenen EN PR vil gå inn i, fordi du kan bruke det som ref til --since alternativet. Dette fungerer bra For PRs går inn master samt funksjonen grener.

–ignorer

Utelukker et delsett av pakker når du kjører en kommando.

$ lerna bootstrap --ignore component-*

ignore flagget, når det brukes med kommandoen bootstrap, kan også settes i lerna.json under commands.bootstrap – tasten. Kommandolinjeflagget vil ta forrang over dette alternativet.

Eksempel

{ "lerna": "2.0.0", "version": "0.0.0", "commands": { "bootstrap": { "ignore": "component-*" } }}

Hint: globen matches mot pakkenavnet som er definert i package.json, ikke katalognavnet pakken lever i.

–inkluder-filtrert-avhengigheter

Merk: dette vil overstyre --scope og --ignore flaggene.

dvs. en pakke matchet av flagget --ignore vil fortsatt bli bootstrapped hvis den er avhengig av en annen pakke som blir bootstrapped.

Dette er nyttig for situasjoner der du vil «sette opp» en enkelt pakke som er avhengig av at andre pakker blir satt opp.

$ lerna bootstrap --scope my-component --include-filtered-dependencies# my-component and all of its dependencies will be bootstrapped

–loglevel

hvilket nivå av logger som skal rapporteres. Ved feil blir alle logger skrevet til lerna-debug.logg inn i gjeldende arbeidskatalog.

alle logger på et høyere nivå enn innstillingen vises. Standard er «info».

–max-buffer

Angi en maks bufferlengde for hvert underliggende prosessanrop. Nyttig for eksempel når noen ønsker å importere en repo med en større mengde inger mens du kjører lerna import. I så fall kan den innebygde bufferlengden ikke være tilstrekkelig.

–no-sort

som standard utføres alle oppgaver på pakker i topologisk sortert rekkefølge for å respektere avhengighetsforholdene til de aktuelle pakkene. Sykluser brytes på best mulig måte på en måte som ikke garanteres å være konsistente på Tvers Av lerna-invokasjoner.

Topologisk sortering kan forårsake flaskehalser for samtidighet hvis det er et lite antall pakker med mange pårørende, eller hvis noen pakker tar uforholdsmessig lang tid å utføre. Alternativet --no-sort deaktiverer sortering, i stedet utfører oppgaver i en vilkårlig rekkefølge med maksimal samtidighet.

Dette alternativet kan også hjelpe hvis du kjører flere» watch » – kommandoer. Siden lerna run vil utføre kommandoer i topologisk sortert rekkefølge, kan det ende opp med å vente på en kommando før du går videre. Dette vil blokkere kjøring når du kjører» watch » – kommandoer, siden de vanligvis aldri slutter. Et eksempel på en» watch » – kommando kjører babel med --watch cli-flagget.

–hoist

Installer eksterne avhengigheter som samsvarer glob ved repo-roten, slik at de er tilgjengelige for alle pakker. Eventuelle binærfiler fra disse avhengighetene vil bli koblet til avhengige pakke node_modules/.bin/ kataloger, slik at de er tilgjengelige for npm-skript. Hvis alternativet er til stede, men ingen glob er gitt, er standard ** (heise alt). Dette alternativet påvirker bare kommandoen bootstrap.

$ lerna bootstrap --hoist

for bakgrunn på --hoist, se taljedokumentasjonen.

Merk: hvis pakker avhenger av forskjellige versjoner av en ekstern avhengighet, vil den mest brukte versjonen bli heist, og en advarsel vil bli sendt ut.

–nohoist

ikke installer eksterne avhengigheter som samsvarer glob ved repo-roten. Dette kan brukes til å velge bort heising for visse avhengigheter.

$ lerna bootstrap --hoist --nohoist=babel-*

–npm-klient

Installer eksterne avhengigheter ved hjelp av install. Må være en kjørbar som vet hvordan du installerer npm-avhengigheter.

$ lerna bootstrap --npm-client=yarn

kan også konfigureres i lerna.json:

{ ... "npmClient": "yarn"}

–bruk-arbeidsområder

Muliggjør integrasjon Med Garn Arbeidsområder (tilgjengelig siden [email protected]+).
verdiene i arrayet er kommandoene Der Lerna vil delegere operasjon Til Garn (for tiden bare bootstrapping).
hvis --use-workspaces er sant, blir packages overstyrt av verdien fra package.json/workspaces.
kan også konfigureres i lerna.json:

{ ... "npmClient": "yarn", "useWorkspaces": true}

–stream

Stream utdata fra underordnede prosesser umiddelbart, prefiks med navnet på opprinnelig pakke. Dette gjør at utgang fra forskjellige pakker som skal interleaved.

$ lerna run watch --stream

–parallell

Ligner på --stream, men ignorerer helt samtidighet og topologisk sortering, kjører en gitt kommando eller skript umiddelbart i alle matchende pakker med prefiks streaming utgang. Dette er det foretrukne flagget for langvarige prosesser som babel src -d lib -w kjører over mange pakker.

$ lerna exec --parallel -- babel src -d lib -w

–register

når du kjører med dette flagget, vil videresendte npm-kommandoer bruke det angitte registeret for pakken(e).

dette er nyttig hvis du ikke vil eksplisitt sette opp registerkonfigurasjonen i hele pakken.json filer individuelt når f. eks ved hjelp av private registre.

–temp-tag

når bestått, vil dette flagget endre standard publiseringsprosessen ved først å publisere alle endrede pakker til en midlertidig dist-tag (lerna-temp) og deretter flytte den nye versjonen(e) til standard dist-tag (latest).

dette er generelt ikke nødvendig, Da Lerna vil publisere pakker i topologisk rekkefølge (alle avhengigheter før avhengige) som standard.

Wizard

hvis du foretrekker litt veiledning for cli (hvis du skal begynne å bruke lerna eller introdusere den til et nytt lag), kan du kanskje like lerna-wizard. Det vil lede deg gjennom en rekke veldefinerte trinn:

Nåværende Tagger

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.