Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spor rydding del1 #2173

Merged
merged 89 commits into from
Mar 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
eaaca06
Første ommøblering av kode inn i workspaces
terjeofnorway Oct 23, 2024
ceeb0e7
Oppdaterer referanser til 'build'-mappe
terjeofnorway Oct 23, 2024
8c22911
Døper om til 'shared'-mappe
terjeofnorway Oct 23, 2024
146fa5f
Fikser bygge-config-feil og referanse til state-linting
terjeofnorway Oct 23, 2024
c0fbc77
Legger til path for shared-mappe
terjeofnorway Oct 23, 2024
e10dc67
Fjerner lint av shared i denne omgang. Egen linting
terjeofnorway Oct 23, 2024
b449363
oppdaterte imports for å fjerne warnings i lint
taniaholst Oct 23, 2024
1c0a993
oppdaterte navn i package til nextjs
taniaholst Oct 23, 2024
8158e33
renamet redis til redis_local for å unngå konflikt fra npm redis
taniaholst Oct 23, 2024
407e1c1
Flytte kopi av eslintrc
terjeofnorway Oct 23, 2024
2f2b2d1
Reverserer regel for no-unused-vars
terjeofnorway Oct 23, 2024
ac36948
revertet forrige commit
taniaholst Oct 23, 2024
30f1b12
Oppdaterer package-lock
terjeofnorway Oct 23, 2024
31307ff
Fikser package
terjeofnorway Oct 23, 2024
d032e0f
Fikser referanse til next-root
terjeofnorway Oct 23, 2024
7a37f8c
Setter riktig referanse til imagecace ved bygg
terjeofnorway Oct 23, 2024
0ff8ac3
endret moduleres til node og lib til esnext
taniaholst Oct 23, 2024
82bf904
Oppdaterer eslint og fjerner css-modules-referanse
terjeofnorway Oct 24, 2024
1ec7f34
Refactor validering av secret header
anders-nom Oct 23, 2024
48bc53c
Page for render basert på props
anders-nom Oct 23, 2024
96cab4a
Hindrer redirects fra intern dev-url
anders-nom Oct 23, 2024
6a331e5
Fix route string
anders-nom Oct 23, 2024
3db2b8c
Fjerner ubrukt import
anders-nom Oct 23, 2024
d113efa
Utvider sjekke av innholdstyper som skal ha noindex
terjeofnorway Oct 23, 2024
6990b63
Fikser referansefeil etter merge fra master
terjeofnorway Oct 24, 2024
aa7dfd6
Reverserer feil flytting av CODEOWNERS etc. Oppdaterer README for VS …
terjeofnorway Oct 24, 2024
99dea85
Fikser lintingfeil etter regelforbedringer
terjeofnorway Oct 24, 2024
e72c5db
Flytter bygg-mapper og lint-staged. Korrigerer importrekkefølge
terjeofnorway Oct 25, 2024
652e7c1
Oppdaterer Dockerfile i henhold til nye byggestier
terjeofnorway Oct 28, 2024
ffe6f05
Legger til inbound access policy for arkiv-app
anders-nom Oct 24, 2024
e9d536f
Fjerner api for pending responses
anders-nom Oct 25, 2024
62c26e4
Fikser linting-config og feil med workspaces
terjeofnorway Oct 28, 2024
979a624
fikset dependencies i package.json i alle workspaces så de ikke treng…
taniaholst Oct 28, 2024
44e9ac8
Oppdaterer environment for lokal kjøring
terjeofnorway Oct 28, 2024
4fdd5fe
sorterte rekkefølge på dependencies
taniaholst Oct 28, 2024
6b4cd5e
Legger til regel for unused vars
terjeofnorway Oct 29, 2024
5ff624e
fikset lintfeil i no-unused-vars og flyttet rules til root eslint-con…
taniaholst Oct 29, 2024
085fa7d
fikset lintfeil i no-unused-vars og flyttet rules til root eslint-con…
taniaholst Oct 29, 2024
309bcf3
fikset lintfeil
taniaholst Oct 29, 2024
2bbe924
Fikser linting-feil ved linting fra root
terjeofnorway Oct 29, 2024
dd191a3
Test lint-staged
taniaholst Oct 29, 2024
518d2a1
testfil
taniaholst Oct 29, 2024
f12fc6c
lint-staged
taniaholst Oct 29, 2024
b3db5dc
fortsetter å teste
taniaholst Oct 29, 2024
f062b5f
Tester trigging av lintingfeil
terjeofnorway Oct 30, 2024
38adfb1
Attempt triggering lint-staged
terjeofnorway Oct 30, 2024
623a4ba
Introduce lint error
terjeofnorway Oct 30, 2024
cf433d0
Introduce lint error
terjeofnorway Oct 30, 2024
56a4c14
Nytt forslag til Husky-rigg
terjeofnorway Oct 31, 2024
e8f0cf6
Fjerner lint-staged
terjeofnorway Oct 31, 2024
7f7d408
Merge branch 'spor-rydding-del1-alternativ' into spor-rydding-del1
terjeofnorway Oct 31, 2024
a6d533c
Fjerner rootDir fra tsconfig i workspaces
terjeofnorway Oct 31, 2024
cd45c01
Fikser merge-feil og konflikter etter merge fra master
terjeofnorway Oct 31, 2024
b1a4a8f
Synkroniserer package-lock
terjeofnorway Oct 31, 2024
e46457d
Oppdaterer data for caniuse
terjeofnorway Oct 31, 2024
8f15d5b
Oppdaterer package-scripts
terjeofnorway Nov 1, 2024
2631f5e
Fikser feil i copy-env-prod-local
terjeofnorway Nov 1, 2024
c233c99
Fikser feil klient-test
terjeofnorway Nov 1, 2024
53e2f71
Fikser referanse til shared-workspace for tester
terjeofnorway Nov 1, 2024
2b0e2b2
Fjerner unødvendig config for 'cache' i import ved absolutt import
terjeofnorway Nov 1, 2024
80a002b
Fikser feil referanse til build-mappe i byggsteg
terjeofnorway Nov 1, 2024
5d74510
Kopierer env-fil til riktig workspaces
terjeofnorway Nov 1, 2024
acc661d
Fjerner turbo-relatert mappe
terjeofnorway Nov 1, 2024
3d09b28
Setter riktig env-path for server
terjeofnorway Nov 4, 2024
39b4ddc
Korrigerer Docker-file for kopiering av package.json
terjeofnorway Nov 5, 2024
8ac48ff
Fikser referansefeil til nextjs og fikser kopiering i Dockerfile
terjeofnorway Nov 5, 2024
4372ed2
Kopierer riktig .env-fil fra roten
terjeofnorway Nov 5, 2024
b3cf24c
Flytter nextjs og server ett nivå opp.
terjeofnorway Nov 6, 2024
3ea601d
Nedgradert express til 4.21.1
terjeofnorway Nov 6, 2024
15baffb
Fjerne kopiering av node_modules i Dockerfile
terjeofnorway Nov 6, 2024
bd9aaf9
Merge branch 'master' into spor-rydding-del1
terjeofnorway Nov 19, 2024
68c804e
Fikser feil etter løst mergekonflikt
terjeofnorway Nov 19, 2024
af22daa
Legger til pakker som falt ut etter mergekonflikt
terjeofnorway Nov 19, 2024
71ee6c0
Legger til pakker som falt ut etter mergekonflikt
terjeofnorway Nov 19, 2024
d19c3b5
Legger til manglende mocks for tester
terjeofnorway Nov 19, 2024
e1f774a
Oppdaterer failover-config
terjeofnorway Jan 5, 2025
ee75f2e
Merge branch 'master' info spor-rydding-del1
terjeofnorway Jan 5, 2025
d3cf92d
Oppdaterer @types/react etter linting-issues
terjeofnorway Jan 6, 2025
0650ef1
Merge master into spor-rydding-del1
terjeofnorway Feb 4, 2025
f6869ec
Flytter ny MacroConsentBannerLink til korrekt mappe
terjeofnorway Feb 4, 2025
74b7a60
Fikser mulig feil import av page-cache-handler
terjeofnorway Feb 20, 2025
117f68d
Refererer til riktig cache i alias
terjeofnorway Feb 20, 2025
0fa9546
Merge remote-tracking branch 'origin/main' into spor-rydding-del1
terjeofnorway Feb 25, 2025
e2c92a2
Oppdaterer versjoner på avhengigheter
terjeofnorway Feb 25, 2025
2cd3808
Merge remote-tracking branch 'origin/main' into spor-rydding-del1
terjeofnorway Feb 25, 2025
08adfc1
Merge main into 'spor-ryding-del'
terjeofnorway Mar 3, 2025
cd4654b
Merge branch 'main' into spor-rydding-del1
terjeofnorway Mar 3, 2025
c088504
Merge main into 'spor-rydding-del1
terjeofnorway Mar 3, 2025
212cae0
Merge main into 'spor-rydding-del1'
terjeofnorway Mar 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
49 changes: 15 additions & 34 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
{
"plugins": ["css-modules", "no-relative-import-paths"],
"extends": [
"next/core-web-vitals",
"plugin:css-modules/recommended",
"plugin:storybook/recommended"
],
"ignorePatterns": ["next.config.js"],
"plugins": ["css-modules", "@typescript-eslint"],
"extends": [],
"rules": {
"@next/next/no-img-element": 0,
"css-modules/no-unused-class": [
1,
{
Expand All @@ -20,36 +14,23 @@
"camelCase": true
}
],
"import/order": [
"@typescript-eslint/no-unused-vars": [
"warn",
{
"groups": [
["builtin", "external"],
["internal", "parent", "index", "object", "unknown", "type"],
"sibling"
],
"pathGroups": [
{
"pattern": "./**/*.module.scss",
"group": "sibling",
"position": "after"
}
]
}
],
"no-console": "warn",
"no-alert": "error",
"no-relative-import-paths/no-relative-import-paths": [
"warn",
{
"allowSameFolder": true,
"rootDir": "src"
"varsIgnorePattern": "^_",
"argsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
]
},
"settings": {
"css-modules": {
"basePath": "src"
"overrides": [
{
"files": ["workspaces/nextjs/**/*.ts", "workspaces/nextjs/**/*.tsx"],
"settings": {
"css-modules": {
"basePath": "workspaces/nextjs/src"
}
}
}
}
]
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
17 changes: 10 additions & 7 deletions failover/Dockerfile → .failover/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,20 @@ ARG GITHUB_PAT
ARG SERVICE_SECRET
ARG ENV_FILE

COPY package*.json /failover/.npmrc /app/
COPY server /app/server/
COPY package*.json .failover/.npmrc /app/

COPY packages/server /app/packages/server/
COPY packages/nextjs /app/packages/nextjs/
COPY packages/shared /app/packages/shared/

RUN npm ci --ignore-scripts
RUN rm -f .npmrc

COPY public /app/public/
COPY src /app/src/
COPY srcCommon /app/srcCommon/
COPY next.config.js tsconfig.json .eslintrc.json /app/
COPY "/failover/$ENV_FILE" /app/.env
COPY ".failover/${ENV_FILE}" /app/.env
# Also copy this .env file to the nextjs and server packages so they can
# pick the environment variables as needed.
COPY /app/.env /app/packages/nextjs/.env
COPY /app/.env /app/packages/server/.env

RUN npm run build

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

# Script for building failover-images for dev-environments
# Usage: "build-dev-failover-image.sh <dev1|dev2> <image name>"
# XP service secret should be put in the appropriate file (.secret-dev1|.secret-dev2)
# You also need a Github PAT with repo and packages write access in the .github-token
# file at the root of the project
# Take care not to expose secrets!
#
# About secrets:
# As NPM packages with ie post-install scripts could potentially sniff and compromise secrets,
# we need to read secrets from environment variables. These variables should be set using
# ie. 1Password CLI or similar.
#
# The secrets are: NAV_ENONICXP_DEV1, NAV_ENONICXP_DEV2 AND GITHUB_PAT.
#
# Once the image is built, use the relevant deploy action on Github with the chosen
# image name to deploy
Expand All @@ -24,20 +27,18 @@ fi
if [[ "$APP_ENV" == "dev1" ]]
then
echo "Building image $IMAGE_NAME for dev1"
SERVICE_SECRET=$(<.secret-dev1)
SERVICE_SECRET=$NAV_ENONICXP_DEV1
ENV_FILE=".env-dev1"
elif [[ "$APP_ENV" == "dev2" ]]
then
echo "Building image $IMAGE_NAME for dev2"
SERVICE_SECRET=$(<.secret-dev2)
SERVICE_SECRET=$NAV_ENONICXP_DEV2
ENV_FILE=".env-dev2"
else
echo "Invalid ENV specified, aborting"
exit
fi

GITHUB_PAT=$(<../.github-token)

IMAGE_NAME_FULL="ghcr.io/navikt/nav-enonicxp-frontend:$IMAGE_NAME"

docker build -f Dockerfile -t "$IMAGE_NAME_FULL" --no-cache --build-arg ENV_FILE="$ENV_FILE" --build-arg SERVICE_SECRET="$SERVICE_SECRET" --build-arg GITHUB_PAT="$GITHUB_PAT" ../.
Expand Down
1 change: 1 addition & 0 deletions .failover/testfile.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
testfile
12 changes: 7 additions & 5 deletions .github/workflows/build-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ jobs:
name: Build docker image
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
contents: 'read'
id-token: 'write'
environment: ${{ inputs.environment }}
outputs:
image: ${{ steps.docker-push.outputs.image }}
Expand All @@ -78,7 +78,7 @@ jobs:
- name: Setup node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: '20'
registry-url: 'https://npm.pkg.github.com'
cache: 'npm'
- name: Set app environmment
Expand All @@ -101,10 +101,12 @@ jobs:
IMAGE_CACHE_DIR=/tmp/images
NEXT_TELEMETRY_DISABLED=1
EOF
- name: Copy env to nextjs and server workspaces
run: cp .env packages/nextjs/.env && cp .env packages/server/.env
- name: Nextjs cache
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/.next/cache
path: ${{ github.workspace }}/packages/nextjs/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}
- name: Install dependencies
run: npm ci
Expand All @@ -122,7 +124,7 @@ jobs:
uses: nais/deploy/actions/cdn-upload/v2@master
with:
team: personbruker
source: ./.next/static
source: ./packages/nextjs/.next/static
destination: nav-enonicxp-frontend/_next
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
Expand Down
63 changes: 29 additions & 34 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,60 +1,55 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/server/node_modules
/.pnp
.pnp.js
**/node_modules
**/.pnp
**/.pnp.js

# testing
/coverage
*storybook.log
/storybook-static
**/coverage
**/storybook.log
**/storybook-static

# next.js
/.next/
/.next-static/
/out/

# production
/build
**/.next
**/.next-static
**/out

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
**/npm-debug.log*
**/yarn-debug.log*
**/yarn-error.log*

# vercel
.vercel

# local env
.env
.env.local
.env.development.local
.env.prod-local.local
**/.env
**/.env.local
**/.env.development.local
**/.env.prod-local.local

/.idea/
/nav-enonicxp-frontend.iml
**/nav-enonicxp-frontend.iml

# secrets, careful!
/.github-token
/failover/.secret-dev1
/failover/.secret-dev2
**/.github-token
**/.failover/.secret-dev1
**/.failover/.secret-dev2

/tsconfig.tsbuildinfo
/image-manifest
/benchmark.mjs
**/tsconfig.tsbuildinfo
**/image-manifest
**/benchmark.mjs

/server/.dist/
/server/tsconfig.tsbuildinfo
/server/__test-utils/next-dummy/.next/
**/.dist/
**/tsconfig.tsbuildinfo
**/__test-utils/next-dummy/.next/

# VS Code
.vscode
/.env.prod-local.local
/server/.next/
/analyze/
**/.vscode
**/.env.prod-local.local
**/analyze
11 changes: 7 additions & 4 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx lint-staged
cd packages/nextjs
npx eslint --max-warnings=0 '**/*.{ts,tsx}'
cd ../server
npx eslint --max-warnings=0 '**/*.{ts,tsx}'
cd ../shared
npx eslint --max-warnings=0 '**/*.{ts,tsx}'
cd ../../
7 changes: 7 additions & 0 deletions .lintstagedrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
'packages/nextjs/**/*.{ts,tsx}': [
'prettier --write',
'npx eslint --debug --config ./packages/nextjs/.eslintrc.json',
],
'packages/nextjs/**/*.{scss,css}': ['prettier --write'],
};
16 changes: 10 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@ RUN adduser --system --uid 1001 nextjs

WORKDIR /app

COPY package*.json next.config.js .env /app/
COPY .next /app/.next/
COPY public /app/public/
COPY package*.json .env /app/

COPY packages/nextjs/package*.json packages/nextjs/next.config.js .env /app/nextjs/
COPY packages/nextjs/.next /app/nextjs/.next/
COPY packages/nextjs/public /app/nextjs/public/

COPY node_modules /app/node_modules/

COPY /server/package*.json /app/server/
COPY /server/.dist /app/server/.dist/
COPY .env /app/server/
COPY packages/server/package*.json /app/server/
COPY packages/server/.dist /app/server/.dist/

USER nextjs

EXPOSE 3000
CMD ["npm", "start"]
CMD ["npm", "run", "start-in-docker"]
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ Kjøres lokalt på [http://localhost:3000](http://localhost:3000).

Som default kreves en lokal instans av Enonic XP med [nav-enonicxp](https://github.com/navikt/nav-enonicxp) installert. Alternativt kan en dev eller prod-instans av XP benyttes via [nav-enonicxp-dev-proxy](https://github.com/navikt/nav-enonicxp-dev-proxy).

### VS Code

Hvis lintingreglene i pakkene ikke plukkes opp av VS Code, sørg for å ha følgende innstillinger i .vscode/settings.json:

```
{
"eslint.workingDirectories": ["./packages/nextjs", "./packages/shared", "./packages/server"]
}
```

### Development mode:

#### Med lokal XP:
Expand Down Expand Up @@ -66,8 +76,8 @@ og servere denne som en fallback.

Failover deployes ikke automatisk til dev-miljøer. For å bygge og deploye til et dev-miljø, gjør følgende:

- Legg inn relevante secrets lokalt som spesifisert i kommentarer i `/failover/build-dev-failover-image.sh`
- Kjør `/failover/build-dev-failover-image.sh <dev1|dev2> <image-navn>`
- Legg inn relevante secrets lokalt som spesifisert i kommentarer i `.failover/build-dev-failover-image.sh`
- Kjør `./.failover/build-dev-failover-image.sh <dev1|dev2> <image-navn>`
- Vent på at imaget bygges (det tar normalt 15-20 min)
- Kjør Github workflow'en `deploy-failover.dev` med dev-miljøet og image-navnet du valgte som input

Expand Down
Loading
Loading