Spire-nav-brevgenerator er en pakke som tilbyr komponenten Brevgenerator. Denne komponenten lager et skjema basert på brevmaler definert i Sanity, og etterhvert som skjemaet fylles ut populeres en forhåndsvisning av et vedtaksbrev.
Denne guiden forklarer først hvordan man tar i bruk den publiserte pakken i eget prosjekt. Til slutt forklares det hvordan man kan videreutvikle pakken, inkludert kjøre og teste lokalt:
For å kunne ta pakken i bruk må man være medlem av teamet spire@nav22 på github og følge følgende steg:
- Generer en personal access token som kan lese fra pakker (se Creating a personal access token)
- Legg toket ditt inn i din lokale
.npmrc
-fil:vim ~/.npmrc
- Trykk
o
for å skrive - Legg til
//npm.pkg.github.com/:_authToken=DITT_TOKEN
- esc +
:wq
for å lagre og lukke filen
Benytt følgende kommando for å installere pakken i ditt eget prosjekt:
npm install @bekk/spire-nav-brevgenerator
Pakken tilbyr en komponent som kan importeres og brukes i ditt prosjekt på følgende måte:
import React from 'react';
import BrevGenerator from '@bekk/spire-nav-brevgenerator';
function App() {
const sanityBaseURL = `https://${prosjektid}.api.sanity.io/v2021-10-21/data/query/${datasett}`;
return <BrevGenerator sanityBaseURL={sanityBaseURL} />;
}
export default App;
Legg merke til at sanityBaseURL
må sendes med som en prop til komponenten. Dette er en link på følgende format:
https://${PROSJEKT_ID}.api.sanity.io/v2021-10-21/data/query/${DATASETT}
Brevgeneratoren baserer seg på en spesifikk sanity-struktur og sanity må derfor settes opp på en av følgende måter:
- Bruk eksisterende sanity studio (se informasjon under)
- Benytt eksisterende kode for å sette opp eget sanity-studio.
Bruke eksisterende sanity studio:
const datasett = production;
const prosjektid = 'nrbknng4';
const sanityBaseURL = `https://${prosjektid}.api.sanity.io/v2021-10-21/data/query/${datasett}`;
Klon prosjektet:
git clone [email protected]:bekk/spire-nav-brevgenerator.git
Installer alle nødvendige pakker:
npm install
Brevgeneratoren kan nå brukes, men for å å se endringene man gjør under utviklingen er man nødt til å ta den i bruk i en react-applikasjon.
Når man videreutvikler pakken kan det være greit å ha muligheten til å teste ut ny funksjonalitet før man publiserer en ny versjon av pakken. Dette kan gjøres ved å lage en enkel test-klient som importerer pakken, eller bruke vår test-klient.
For å starte pakken lokalt må man:
- Bygge prosjektet for å lage en ./dist mappe (kun nødvendig første gang pakken skal startes)
npm run build
- Start pakke med en kobling mot testklienten
npm run build:dev --path="path to testklient"
NB! Pakken vil nå lytte etter endringer i typescript-filer, og vise endringene i testklienten fortløpende. Dersom man gjør endringer på andre fil-typer må prosjektet bygges på nytt.
Før du lager PR må du sjekke at du har unikt versjonsnummer i package.json fila. Dette kan settes manuelt eller ved å kjøre:
npm version patch
En ny versjon av pakken vil publiseres når kode pushes til main.