diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index a28e1aacb..000000000 --- a/.dockerignore +++ /dev/null @@ -1,8 +0,0 @@ -frontend/* -!frontend/dist -!frontend/public -server/* -!server/src -!server/package.json -!server/node_modules -!server/tsconfig.json diff --git a/.github/workflows/deploy-to-dev.yaml b/.github/workflows/deploy-to-dev.yaml index e8b206492..ef9f5b19b 100644 --- a/.github/workflows/deploy-to-dev.yaml +++ b/.github/workflows/deploy-to-dev.yaml @@ -26,45 +26,45 @@ on: run-name: Dev deploy of ${{ github.ref_name }} jobs: - build: - name: Build + build-push: + name: Build and push runs-on: ubuntu-latest permissions: contents: read id-token: write outputs: image: ${{ steps.docker-build-push.outputs.image }} - version: ${{ steps.version.outputs.version }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Bun - uses: oven-sh/setup-bun@v1 + uses: oven-sh/setup-bun@v2 with: bun-version: latest - - - name: Install frontend dependencies - shell: bash + registry-url: https://npm.pkg.github.com/ + scope: "@navikt" + + - name: Generate bunfig.toml run: | - cd frontend - bun install + echo -e "[install.scopes]\n\"@navikt\" = { token = \"${{ secrets.READER_TOKEN }}\", url = \"https://npm.pkg.github.com/\" }" > ./frontend/bunfig.toml + cp ./frontend/bunfig.toml ./server/bunfig.toml + + - name: Install frontend dependencies + working-directory: ./frontend env: - NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} + BUN_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} + run: bun install --frozen-lockfile - name: Test frontend - shell: bash - run: | - cd frontend - bun test + working-directory: ./frontend + run: bun test - name: Build frontend - shell: bash + working-directory: ./frontend env: VERSION: ${{ github.sha }} - run: | - cd frontend - bun run build + run: bun run build - name: Upload static files to CDN uses: nais/deploy/actions/cdn-upload/v2@master @@ -74,20 +74,20 @@ jobs: destination: klang project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }} identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - + - name: Install server dependencies - shell: bash - run: | - cd server - bun install + working-directory: ./server env: - NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} + BUN_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} + run: bun install --frozen-lockfile - name: Test server - shell: bash - run: | - cd server - bun test + working-directory: ./server + run: bun test + + - name: Build server + working-directory: ./server + run: bun run build - name: Generate version number id: version @@ -116,7 +116,7 @@ jobs: permissions: contents: read id-token: write - needs: build + needs: build-push steps: - name: Checkout uses: actions/checkout@v4 @@ -127,7 +127,7 @@ jobs: CLUSTER: dev-gcp VARS: nais/dev.yaml RESOURCE: nais/nais.yaml - VAR: image=${{ needs.build.outputs.image }} + VAR: image=${{ needs.build-push.outputs.image }} e2e_test: name: E2E diff --git a/.github/workflows/sanity-build.yaml b/.github/workflows/sanity-build.yaml index e945a5f2a..4825d8e90 100644 --- a/.github/workflows/sanity-build.yaml +++ b/.github/workflows/sanity-build.yaml @@ -13,18 +13,26 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Setup Bun uses: oven-sh/setup-bun@v1 with: bun-version: latest + registry-url: https://npm.pkg.github.com/ + scope: "@navikt" + - name: Generate bunfig.toml + run: | + cd ${{ matrix.apps }} + echo -e "[install.scopes]\n\"@navikt\" = { token = \"${{ secrets.READER_TOKEN }}\", url = \"https://npm.pkg.github.com/\" }" > bunfig.toml + - name: Install ${{ matrix.apps }} dependencies shell: bash + env: + BUN_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} run: | cd ${{ matrix.apps }} - bun install - env: - NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} + bun install --frozen-lockfile - name: Restore caches for ${{ matrix.apps }} uses: actions/cache/restore@v3 @@ -44,7 +52,7 @@ jobs: shell: bash run: | cd ${{ matrix.apps }} - npm run lint + bun run lint - name: Test ${{ matrix.apps }} shell: bash diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 000000000..f04f04480 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +bun 1.1.26 +nodejs 22.7.0 diff --git a/Dockerfile b/Dockerfile index e837b788e..df92b8889 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,17 @@ -FROM oven/bun:1 +FROM node:22-alpine ENV NODE_ENV=production ENV NPM_CONFIG_CACHE=/tmp WORKDIR /usr/src/app -COPY server server -COPY frontend frontend -WORKDIR /usr/src/app/server +COPY server/dist server/dist +COPY frontend/dist/index.html frontend/dist/index.html -# This command will create an absolute path reference to JSDOM (used by nav-dekoratoren-moduler), which will not work if built outside Docker -RUN bun run build +WORKDIR /usr/src/app/server ARG VERSION ENV VERSION=$VERSION -CMD bun run prod +CMD node --trace-warnings dist/server.js EXPOSE 8080 diff --git a/README.md b/README.md index feae1897b..5b888f739 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,13 @@ Digital innsending av klager og anker. Samt ettersendelse. # Komme i gang ## Autorisering mot @navikt-NPM-registeret -1. Lag et Personal Access Token (PAT) med scope: `read:packages`. _PAT-en må være autorisert for organisasjonen `navikt`._ -2. Sett verdien i miljøvariabelen NODE_AUTH_TOKEN +1. [Lag et Personal Access Token (PAT)](https://github.com/settings/tokens) med scope: `read:packages`. _Tokenet må være autorisert for organisasjonen `navikt`._ +2. Opprett filen `bunfig.toml` i din `$HOME`-mappe med følgende innhold: + ```toml + [install.scopes] + "@navikt" = { token = "ghp_Qj6Xxn8HTUSJL9dNiZ0TW7R5YvupTZclTXsK", url = "https://npm.pkg.github.com/" } + ``` +3. Bytt ut `ghp_Qj6Xxn8HTUSJL9dNiZ0TW7R5YvupTZclTXsK` med ditt eget token. ### Referanser - https://github.com/navikt/nav-dekoratoren-moduler?tab=readme-ov-file#kom-i-gang @@ -64,17 +69,20 @@ For å lenke direkte til klageskjemaet må `innsendingsytelse` være satt i URL- Saksnummeret settes i klagen/anken, men bruker kan **ikke** endre det. Dersom dette ikke er oppgitt som query parameter, får bruker mulighet til å fylle inn saksnummer selv. -### Eksempel på fullstendig URL til klageskjema: -``` -https://klage.nav.no/nb/klage/DAGPENGER?saksnummer=12345 -``` +### Eksempler på fullstendige URLer +| Skjema | URL | +|--------|-----| +| Klage | `https://klage.nav.no/nb/klage/DAGPENGER?saksnummer=12345` | +| Anke | `https://klage.nav.no/nb/anke/DAGPENGER?saksnummer=12345` | +| Ettersendelse til klage | `https://klage.nav.no/nb/ettersendelse/klage/DAGPENGER?saksnummer=12345` | +| Ettersendelse til anke | `https://klage.nav.no/nb/ettersendelse/anke/DAGPENGER?saksnummer=12345` | ## URL-format ``` https://klage.nav.no/{språk}/{type}/{innsendingsytelse}?saksnummer={saksnummer} ``` -- `språk` = `nb | en` -- `type` = `klage | anke | ettersendelse` +- `språk` = `nb | nn | en` +- `type` = `klage | anke | ettersendelse/klage | ettersendelse/anke` - `innsendingsytelse` = Se liste over tilgjengelige ytelser under. - `saksnummer` = Relevant saksnummer. diff --git a/frontend/bun.lockb b/frontend/bun.lockb index 85a321c5e..c39381c20 100755 Binary files a/frontend/bun.lockb and b/frontend/bun.lockb differ diff --git a/frontend/bunfig.toml b/frontend/bunfig.toml deleted file mode 100644 index 4dfda52d5..000000000 --- a/frontend/bunfig.toml +++ /dev/null @@ -1,2 +0,0 @@ -[install.scopes] -"@navikt" = { token = "$NODE_AUTH_TOKEN", url = "https://npm.pkg.github.com/" } diff --git a/frontend/index.html b/frontend/index.html index 060d8c972..a12e14d03 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -12,12 +12,16 @@ + {{DECORATOR_STYLES}} + {{DECORATOR_SCRIPTS}}