Guide
Publisere npm pakker
I Nav publiserer vi interne npm-pakker på Github sitt npm registry.
Installere pakker lokalt
For å installere npm pakker med @navikt-scope trenger du en .npmrc-fil med følgende:
//npm.pkg.github.com/:_authToken=TOKEN@navikt:registry=https://npm.pkg.github.comToken genererer du under developer settings på Github. Den trenger kun read:packages. Husk å enable SSO for navikt-orgen!
Installere pakker i Github workflow
For å slippe å bruke din egen token til å installere pakker fra en Github workflow har vi definert en org-wide token READER_TOKEN.
Dette er da stegene som trengs i workflowen (se komplett eksempel i npm-publish-workflow.yml):
- uses: actions/setup-node@v3 with: node-version: 16 registry-url: "https://npm.pkg.github.com"- run: npm ci env: NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }}Feilsøking
registry-url må være definert for at NODE_AUTH_TOKEN skal fungere.
Publisere pakker
Den enkleste måten å publisere en pakke er i en Github workflow vha. GITHUB_TOKEN på denne måten (se komplett eksempel i npm-publish-workflow.yml):
- run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}Publisere til npm
Om du allikevel trenger å publisere under navikt-orgen på npmjs kan du ta kontakt med @npm-admins på Slack.
Vi anbefaler da å ta i bruk trusted publishing, slik at du ikke trenger å generere token og får provenance håndtert for deg.
Hvorfor Github npm registry
Grunnen til at vi bruker github framfor npmjs er at vi ikke har SSO på npmjs. Dette gjør det vanskelig å ha god tilgangskontroll.
Medvirkende