Skip to content
Vy logo
Guides

Releasing new versions

Denne guiden introduserer deg til hvordan publisering av nye versjoner fungerer, og hva du trenger å gjøre.

Spor er tilgjengelige som forskjellige React-pakker. Versjonering og publisering av nye pakker gjøres gjennom et verktøy som heter Changesets 🦋. Pakkeversjonene følger en standard som heter semantisk versjonering (eller SemVer om du har dårlig tid), som indikerer om en versjon er bakoverkompatibel med forrige versjon, eller om den inneholder noen nye features eller bugfikser.

Når du endrer en pakke

Når du har gjort en endring i en pakke som du vil at andre skal få nytte av, bør du lage et nytt changeset. Det gjør du ved å kjøre kommandoen:

npx changeset

npx er en måte å kjøre scripts fra npm på – har du node installert, har du npx installert.

Denne kommandoen vil ta deg gjennom noen steg, der den spør deg om hvilke pakker som bør få en major versjonsbump, hvilke som bør få en minor versjonsbump, og hvilke som bør få en patch versjonsbump. Her er en kjapp huskeregelliste på hva som er hva.

  • Har du fjernet eller endret navnet på en eksponert (tilgjengelig utenfor pakken din) komponent, prop eller funksjon, er det en "major". Dette burde skje svært, svært sjeldent (typ en gang eller to i året), siden det krever en aktiv kodeendring av konsumentene.
  • Har du lagt til en komponent, prop eller funksjon på en måte som gjør at koden din er bakoverkompatibel, er det en "minor".
  • Har du fikset en bug, refaktorert eller gjort andre endringer som krever en release, er det en "patch".

Du får også beskjed om å skrive inn en melding til "changeloggen" i løpet av denne kommandoen. Her beskriver du hva denne endringen er, og hvordan den vil påvirke brukerne. Om det er en major (også kjent som en "breaking change"), bør du også beskrive hva brukerne må gjøre for å migrere koden sin. Vi skriver disse meldingene på engelsk.

Når du er ferdig med å kjøre npx changeset, vil det bli lagt til en fil i .changeset/-mappen din, som du så skal committe. Du kan gjerne ha flere slike filer i samme pull request om du vil det.

Publisere nye versjoner

Når pull requestet ditt er merget, og du har hatt med noen changeset-filer, vil det automatisk bli opprettet en ny pull request kalt "Version Packages". Her vil man fortsette å legge til flere og flere changesets til man er klar til å lansere en ny versjon. Når du merger dette pull requestet vil nye versjoner bli publisert etter ~5 minutter.

Tips

Det kan være smart å slå sammen flere endringer i samme release – spesielt om det er snakk om en major eller minor versjonsbump.

Feilsøking ved publisering

Dersom du opplever feil ved publisering, må du feilsøke.

Noen ganger krever byggen bare en retry (pga manglende kommunikasjon med servere), og dette burde alltid prøves først.

Dersom du prøver å publisere flere pakker samtidig, kan du få en versjoneringsfeil (det jobbes med å fikse dette). Da vil byggen klage på at den ikke finner versjonen av hva enn du prøver å publisere.

Den eneste måten å fikse dette på er å kjøre en revert av Version Packages og merge denne. Når en ny Version Packages dukker opp, må du inn i branchen og endre versjonen den klager på til en tidligere versjon.

Ta kontakt med Spor-teamet eller Team Kanaler dersom du har spørsmål om dette.