Skip to content

navikt/ft-frontend-saksbehandling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,874 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ft-frontend-saksbehandling

Kildekode og publisering av npm-moduler til frontend-moduler brukt i FP og K9

Quality Gate Status Bugs Lines of Code

Storybook

Storybook hostes på github pages og releases automatisk ved hver push til main.

Komme i gang

Kjør yarn install på rot. Bygg så alle pakkene ved å kjøre yarn build. (Kan også bygges enkeltvis ved å gå inn i pakkene og kjøre samme kommando.)

Utviklingsmiljø i Storybook kan kjøres opp ved å kjøre yarn storybook i de pakkene som er satt opp med Storybook.

En skal alltid utvikle på branch og lage pull request på GitHub. Denne kan mergest til main når testene har gått grønt.

Autentisering

Dette prosjektet bruker GitHub Package Registry for npm-pakker. For å installere dependencies og publisere pakker trenger du å autentisere mot GitHub Package Registry.

Oppsett

Du kan autentisere på en av følgende måter:

Alternativ 1: Environment variabel (anbefalt)

Sett environment variabelen NPM_AUTH_TOKEN med en GitHub Personal Access Token (PAT):

export NPM_AUTH_TOKEN=<din-token>

Alternativ 2: .yarnrc.yml i hjemmemappen

Legg til følgende i ~/.yarnrc.yml:

npmScopes:
  navikt:
    npmAlwaysAuth: true
    npmRegistryServer: 'https://npm.pkg.github.com'
    npmAuthToken: '<din-token>'

Opprett GitHub PAT

  1. Gå til GitHub Settings > Developer settings > Personal access tokens
  2. Opprett en token med read:packages-tilgang (eller write:packages hvis du skal publisere)
  3. Enable SSO for NAV-organisasjonen

Viktig: Tokens skal ikke sjekkes inn i versjonskontroll.

Se GitHubs dokumentasjon for mer informasjon.

Publisering av moduler

Publisering av npm-moduler skjer automatisk via GitHub Actions når nye tags pushes til main.

GitHub Copilot-skill

Du kan publisere pakker ved hjelp av GitHub Copilot-agenten og skillen publiser-pakker. Åpne Copilot Chat og skriv f.eks.:

«Publiser pakker» eller «release ft-frontend-saksbehandling»

Copilot vil da kjøre gjennom alle stegene automatisk: hente siste main, installere avhengigheter, bygge pakkene, starte interaktiv versjonering og vente på at GitHub Actions fullfører publiseringen. Skillen publiser-pakker håndterer også feilsituasjoner og viser relevante logger ved behov.

Hvorfor er det delt i to steg?

Prosessen er delt i tagging (lokalt) og publisering (gjennom GitHub Actions) for å:

  • Tillate semantisk versjonering av pakke-endringer med lerna version
  • Unngå at utviklere trenger et npm-token med write access

Steg-for-steg publisering (manuelt)

  1. Hent siste endringer fra main

    git checkout main
    git pull
  2. Installer dependencies

    yarn
  3. Opprett og push tags

    yarn tag

    Dette kjører interaktiv versjonering via Lerna som:

  • Lar deg velge versjonsnummer for endrede pakker
  • Oppretter signerte Git-tags
  • Pusher tags til GitHub
  1. Verifiser publisering
  • Nye tags finner du her

  • GitHub Actions workflow starter automatisk og publiserer pakkene: Se publish workflow

  • Publiserte pakker finner du her

  • Tips: Hvis du skal publisere en ny pakke kan det hende at workflowen feiler å publisere. I såfall sjekk opp pakken på https://github.com/orgs/navikt/packages > finn pakken > Package settings > Package visibility > Endre til public

Ta i bruk nye pakker

For å bruke de nye pakkene i fp-frontend eller k9-sak-web:

yarn upgrade-interactive

Dette gir deg en interaktiv meny for å velge hvilke pakker som skal oppgraderes.


Utvikling mot lokal kode i ft-frontend-saksbehandling fra konsumerende repo

Dette gir deg mulighet til å teste lokale endringer i ft-frontend-saksbehandling før publisering.

Oppsett

  1. Konverter workspace dependencies

    yarn transform-to-semver

    Dette endrer "workspace:^" til semantisk versjon i package.json-filene

  2. Installer dependencies

    yarn install
  3. Start lokal pakke-utvikling

  • Gå til aktuell pakke
  • Kjør yarn dev
  • Dette bygger pakken automatisk ved endringer og legger resultatet i dist-folderen
  1. Koble pakken til konsument-repoet
  • I konsument-repoet (f.eks. fp-frontend eller k9-sak-web), rediger package.json
  • Endre dependency til å bruke portal:
    "@navikt/ft-prosess-beregningsgrunnlag": "portal:../../../ft-frontend-saksbehandling/packages/prosess-beregningsgrunnlag"
  • Kjør yarn install i konsument-repoet
  1. Start applikasjon
  • Start opp applikasjonen som normalt
  • Endringer i ft-frontend-saksbehandling vil nå reflekteres automatisk

Rydding

Viktig: Husk å reversere endringene før du committer:

yarn transform-to-workspace

Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub

For Nav-ansatte

Interne henvendelser kan sendes via Slack i kanalen #teamforeldrepenger.

Kode generert av GitHub Copilot

Dette repoet bruker GitHub Copilot til å generere kode.

About

Frontendkode felles for k9-sak-web og fp-frontend

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages