Kildekode og publisering av npm-moduler til frontender i K9
Kjør npm install
på rot.
Mulig man midlertidig må slenge på --legacy-peer-deps
pga en issue med peer dependencies i Storybook.
Kjør npm run bootstrap
på rot for å hente dependencies og sette opp intern-dependencies i pakkene som er definert i lerna.json
.
For å kjøre opp utviklingsmiljø i Storybook, kjør npm run dev
på rot, etterfulgt av npm run pkg-dev
for å kjøre opp Storybook-ene
til enkeltpakkene. Utviklingsmiljøet er satt opp med Storybook Composition.
Storybook-ene kan også kjøres opp hver for seg ved å kjøre npm run storybook
i de aktuelle pakkene (pr nå packages/ui/react-components
og packages/ui/web-components
).
For å bygge pakkene, gjør npm run build
på rot, ev. samme kommando lokalt på den enkelte modulen.
Det er ikke satt opp noen automatisk publisering av npm-moduler gjennom CI eller lignende. Dette må derfor gjøres manuelt.
Hver npm-pakke har sitt eget build-script i en package.json, som kan kjøres for å lage et nytt bygg under /dist
-mappa på rot av den aktuelle pakken. Når det er gjort kan man bumpe versjonsnummer i package.json
og gjøre npm publish
fra rot av den aktuelle pakken for å publisere den nye versjonen.
Eksempel på publisering av @navikt/k9-form-utils:
cd ./packages/util/form-utils
- Gjør eventuelle endringer og bump versjon i
package.json
npm run build
npm publish
Pakkene publiseres på GitHub Package Registry, og krever derfor at man har satt opp lokal npm
med en PAT (Personal Access Token) med write:packages
-tilgang, med en bruker som har tilgang til å publisere pakker på repoet. GitHub har dokumentert oppsett her.
TLDR er å opprette en GitHub PAT med kun write:packages-tilgang, enable SSO, og putte det i en egen ~/.npmrc-fil slik:
//npm.pkg.github.com/:_authToken=<token>
Merk at dette ikke skal sjekkes inn i versjonskontroll.
Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub
Interne henvendelser kan sendes via Slack i kanalen #sif-pleiepenger.