-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
223 lines (223 loc) · 15.4 KB
/
Copy pathpackage.json
File metadata and controls
223 lines (223 loc) · 15.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
{
"name": "kravhantering",
"version": "0.1.0",
"private": true,
"description": "En webbapplikation för kravhantering som stödjer företagets kravmodell och kravprocess",
"license": "MIT",
"author": "Viscalyx",
"engines": {
"node": "24"
},
"scripts": {
"predev": "npm run dev:prepare",
"dev": "next dev",
"dev:fresh": "npm run kill:port && npm run clean && npm run dev",
"dev:prepare": "node ./scripts/prebuild.js --metadata-only && npm run openapi:hsa-person-lookup:generate:public",
"idp:up": "docker compose -f docker-compose.idp.yml up --wait --wait-timeout 180 idp",
"idp:down": "docker compose -f docker-compose.idp.yml down",
"idp:reset": "docker compose -f docker-compose.idp.yml down --remove-orphans && docker compose -f docker-compose.idp.yml up --force-recreate --wait --wait-timeout 180 idp",
"idp:reset:elevated": "docker compose -f .devcontainer/elevated/docker-compose.yml up -d --force-recreate idp",
"devcontainer:kong:config": "node scripts/devcontainer/kong.mjs config",
"devcontainer:kong:pull": "node scripts/devcontainer/kong.mjs pull",
"devcontainer:kong:up": "node scripts/devcontainer/kong.mjs up",
"devcontainer:kong:recreate": "node scripts/devcontainer/kong.mjs recreate",
"devcontainer:kong:status": "node scripts/devcontainer/kong.mjs status",
"devcontainer:kong:logs": "node scripts/devcontainer/kong.mjs logs",
"devcontainer:kong:restart": "node scripts/devcontainer/kong.mjs restart",
"devcontainer:kong:down": "node scripts/devcontainer/kong.mjs down",
"devcontainer:hsa-mock:config": "node scripts/devcontainer/hsa-mock.mjs config",
"devcontainer:hsa-mock:build": "node scripts/devcontainer/hsa-mock.mjs build",
"devcontainer:hsa-mock:up": "node scripts/devcontainer/hsa-mock.mjs up",
"devcontainer:hsa-mock:recreate": "node scripts/devcontainer/hsa-mock.mjs recreate",
"devcontainer:hsa-mock:status": "node scripts/devcontainer/hsa-mock.mjs status",
"devcontainer:hsa-mock:verify": "node scripts/devcontainer/hsa-mock.mjs verify",
"devcontainer:hsa-mock:logs": "node scripts/devcontainer/hsa-mock.mjs logs",
"devcontainer:hsa-mock:restart": "node scripts/devcontainer/hsa-mock.mjs restart",
"devcontainer:hsa-mock:down": "node scripts/devcontainer/hsa-mock.mjs down",
"predev:https": "npm run dev:prepare",
"dev:https": "next dev --experimental-https --experimental-https-key certificates/localhost-key.pem --experimental-https-cert certificates/localhost.pem --port 4443",
"prebuild": "node ./scripts/prebuild.js",
"build": "cross-env NODE_ENV=production BUILD_TARGET=prod next build",
"postbuild": "npm run bundle:check",
"container:build:app-runtime": "docker buildx build --file containers/app/Dockerfile --target app-runtime --tag localhost/kravhantering/app-runtime:local --load .",
"container:build:app-runtime:no-cache": "docker buildx build --no-cache --file containers/app/Dockerfile --target app-runtime --tag localhost/kravhantering/app-runtime:local --load .",
"container:build:db-job": "docker buildx build --file containers/app/Dockerfile --target db-job --tag localhost/kravhantering/db-job:local --load .",
"container:build:db-job:no-cache": "docker buildx build --no-cache --file containers/app/Dockerfile --target db-job --tag localhost/kravhantering/db-job:local --load .",
"container:build:demo-seed": "docker buildx build --file containers/app/Dockerfile --target demo-seed --tag localhost/kravhantering/demo-seed:local --load .",
"container:build:demo-seed:no-cache": "docker buildx build --no-cache --file containers/app/Dockerfile --target demo-seed --tag localhost/kravhantering/demo-seed:local --load .",
"container:build:hsa-directory-mock": "docker buildx build --file containers/hsa-directory-mock/Dockerfile --tag localhost/kravhantering/hsa-directory-mock:local --load containers/hsa-directory-mock",
"container:build:hsa-person-lookup-adapter": "docker buildx build --file containers/hsa-person-lookup-adapter/Dockerfile --tag localhost/kravhantering/hsa-person-lookup-adapter:local --load containers/hsa-person-lookup-adapter",
"container:stack-lock:generate": "node scripts/containers/generate-stack-lock.mjs generate",
"container:stack-lock:check": "node scripts/containers/generate-stack-lock.mjs check",
"container:hsa-integration-lock:generate": "node scripts/containers/generate-hsa-integration-support-lock.mjs generate",
"container:hsa-integration-lock:check": "node scripts/containers/generate-hsa-integration-support-lock.mjs check",
"container:compose:generate:pr": "node scripts/containers/generate-compose.mjs --mode pr",
"container:compose:generate:release": "node scripts/containers/generate-compose.mjs --mode release",
"container:env:local": "node scripts/containers/write-env-local.mjs all",
"container:tls:generate": "node scripts/containers/generate-tls.mjs",
"container:wait": "node scripts/containers/wait-for.mjs",
"container:local:up": "node scripts/containers/run-local-stack.mjs up --mode test",
"container:local:down": "node scripts/containers/run-local-stack.mjs down",
"container:release-smoke:up": "node scripts/containers/run-local-stack.mjs up --mode release-smoke && bash .devcontainer/trust-container-ca.sh",
"container:release-smoke:down": "node scripts/containers/run-local-stack.mjs down --mode release-smoke",
"container:oci:export": "node scripts/containers/export-oci-archives.mjs export",
"container:oci:verify": "node scripts/containers/export-oci-archives.mjs verify",
"container:release": "node scripts/release/container-release.mjs",
"container:status": "node scripts/containers/collect-status.mjs",
"container:hashes": "node scripts/containers/write-hashes.mjs",
"prebuild:local-prod": "node ./scripts/prebuild.js",
"build:local-prod": "dotenv -e .env.prodlike -- cross-env NODE_ENV=production BUILD_TARGET=local-prod next build",
"postbuild:local-prod": "npm run bundle:check",
"start": "next start",
"start:prodlike": "npm run build:local-prod && dotenv -e .env.prodlike -- cross-env NODE_ENV=production BUILD_TARGET=local-prod next start --hostname 127.0.0.1 --port 3001",
"start:prodlike-pruned": "NODE_ENV=production BUILD_TARGET=local-prod node --env-file=.env.prodlike node_modules/next/dist/bin/next start --hostname 127.0.0.1 --port 3001",
"dotenv:check": "dotenv-linter check . --exclude .env.sqlserver --exclude .env.local --exclude .env.*.local && dotenv-linter check .devcontainer --recursive --exclude .devcontainer/.env --exclude .devcontainer/elevated/.env",
"dotenv:fix": "dotenv-linter fix . --no-backup --exclude .env.sqlserver --exclude .env.local --exclude .env.*.local && dotenv-linter fix .devcontainer --no-backup --exclude .devcontainer/.env --exclude .devcontainer/elevated/.env",
"check": "npm run type-check && npm run lint:py && npm run dotenv:check && npm run format:check && npm run spell:check && npm run lint && npm run lint:md && npm run lint:links && npm run test && npm run test:hsa-mock && npm run test:hsa-adapter",
"test": "cross-env NODE_ENV=test vitest run",
"test:hsa-mock": "cross-env-shell NODE_ENV=test \"npm --prefix containers/hsa-directory-mock ci && npm --prefix containers/hsa-directory-mock test\"",
"test:hsa-adapter": "cross-env-shell NODE_ENV=test \"npm --prefix containers/hsa-person-lookup-adapter ci && npm --prefix containers/hsa-person-lookup-adapter test\"",
"test:watch": "cross-env NODE_ENV=test vitest",
"test:coverage": "cross-env NODE_ENV=test vitest run --coverage",
"test:ui": "cross-env NODE_ENV=test vitest --ui --api.host=0.0.0.0 --api.port=51204",
"pretest:integration": "npm run test:integration:chunks:check",
"test:integration": "node tests/integration-chunks.mjs run --suite dev",
"pretest:integration:prodlike": "npm run test:integration:chunks:check",
"test:integration:prodlike": "node tests/integration-chunks.mjs run --suite prodlike",
"test:integration:chunks:generate": "node tests/integration-chunks.mjs generate",
"test:integration:chunks:check": "node tests/integration-chunks.mjs check",
"test:release-smoke": "cross-env NODE_EXTRA_CA_CERTS=tmp/container-tls/ca.crt playwright test --config=playwright.release-smoke.config.ts",
"lint": "biome check --error-on-warnings --assist-enabled=false --formatter-enabled=false . && npm run lint:tailwind && npm run lint:target-size",
"lint:fix": "biome check --write --assist-enabled=false --formatter-enabled=false .",
"lint:strict": "node scripts/biome-lint-strict.js .",
"lint:tailwind": "node scripts/lint-tailwind.mjs",
"lint:target-size": "node scripts/lint-target-size.mjs",
"format": "biome check --write --linter-enabled=false .",
"format:check": "biome check --linter-enabled=false --max-diagnostics=none .",
"spell": "cspell \"**/*.{ts,tsx,js,jsx,md,json}\"",
"spell:check": "cspell \"**/*.{ts,tsx,js,jsx,md,json}\" --no-progress",
"spell:fix": "cspell \"**/*.{ts,tsx,js,jsx,md,json}\" --show-suggestions",
"ssdlc:gate": "node scripts/security/ssdlc-gate.mjs",
"analyze": "ANALYZE=true npm run build",
"export": "next export",
"test:integration:ui": "playwright test --ui-host 0.0.0.0 --ui",
"lint:md": "markdownlint-cli2 \"**/*.md\"",
"lint:md:fix": "markdownlint-cli2 --fix \"**/*.md\"",
"lint:links": "lychee --config .lychee.toml . .github",
"test:integration:report:dev": "playwright show-report --host 0.0.0.0 playwright-report-dev",
"test:integration:report:prodlike": "playwright show-report --host 0.0.0.0 playwright-report-prodlike",
"test:release-smoke:report": "playwright show-report --host 0.0.0.0 playwright-report-release-smoke",
"type-check": "cross-env-shell NODE_ENV=development BUILD_TARGET=dev \"rimraf .next/dev/types && next typegen && tsc --noEmit\"",
"fix": "npm run format && npm run lint:fix && npm run lint:md:fix && npm run dotenv:fix && npm run spell:fix",
"clean": "rimraf .next out",
"perf:requirements-list": "node scripts/requirements-list-performance.mjs check",
"bundle:check": "node scripts/check-client-bundles.mjs",
"bundle:report": "node scripts/check-client-bundles.mjs --report",
"admin:bundle:check": "node scripts/check-admin-center-bundle.mjs",
"admin:bundle:report": "node scripts/check-admin-center-bundle.mjs --report",
"requirements:bundle:check": "node scripts/check-requirement-workflow-bundle.mjs",
"requirements:bundle:report": "node scripts/check-requirement-workflow-bundle.mjs --report",
"stewardship:bundle:check": "node scripts/check-stewardship-bundle.mjs",
"stewardship:bundle:report": "node scripts/check-stewardship-bundle.mjs --report",
"perf:requirements-list:update": "node scripts/requirements-list-performance.mjs update-baseline",
"openapi:hsa-person-lookup:generate": "node scripts/openapi/generate-hsa-person-lookup-swagger-ui.mjs",
"openapi:hsa-person-lookup:generate:public": "node scripts/openapi/generate-hsa-person-lookup-swagger-ui.mjs --output-dir public/api-docs/hsa-person-lookup --asset-base-path /api-docs/hsa-person-lookup/",
"generate:guide": "npm run kill:port && npm run db:setup && playwright test --config playwright.guide.config.ts",
"generate:guide:report": "playwright show-report --host 0.0.0.0 playwright-report-guide",
"clean:all": "rimraf .next out && echo 'Run npm run db:setup to restore the local SQL Server database'",
"purge:install": "rimraf node_modules && npm cache clean --force && npm install && rimraf package-lock.json && npm install",
"db:up": "docker compose --env-file .env.sqlserver -f docker-compose.sqlserver.yml up -d db",
"db:down": "docker compose --env-file .env.sqlserver -f docker-compose.sqlserver.yml down",
"db:wait": "node scripts/db-sqlserver-admin.mjs wait",
"db:health": "node scripts/db-sqlserver-admin.mjs health",
"db:migration-status": "node scripts/db-sqlserver-admin.mjs migration-status",
"db:migrate": "node scripts/db-sqlserver-admin.mjs migrate",
"db:seed:required": "node scripts/db-sqlserver-admin.mjs seed:required",
"db:seed:demo": "node scripts/db-sqlserver-admin.mjs seed:demo",
"db:reset": "node scripts/db-sqlserver-admin.mjs reset",
"db:setup": "node scripts/db-sqlserver-admin.mjs setup",
"db:browse": "node scripts/db-sqlserver-admin.mjs browse-config",
"check:port": "node ./scripts/check-port.js",
"kill:port": "bash ./scripts/kill-dev-server.sh",
"lint:py": "pyright --project pyrightconfig.json"
},
"dependencies": {
"@dagrejs/dagre": "^3.0.0",
"@modelcontextprotocol/sdk": "^1.29.0",
"@react-pdf/renderer": "^4.5.1",
"@tailwindcss/typography": "^0.5.20",
"framer-motion": "^12.42.2",
"iron-session": "^8.0.4",
"jose": "^6.2.3",
"lucide-react": "^1.24.0",
"mssql": "^12.7.0",
"next": "^16.2.10",
"next-intl": "^4.13.2",
"next-themes": "^0.4.6",
"openid-client": "^6.8.4",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-markdown": "^10.1.0",
"reflect-metadata": "^0.2.2",
"typeorm": "^1.0.0",
"zod": "^4.4.3"
},
"devDependencies": {
"@biomejs/biome": "^2.5.3",
"@cspell/dict-sv": "^2.3.2",
"@playwright/test": "^1.61.1",
"@tailwindcss/node": "^4.3.2",
"@tailwindcss/postcss": "^4.3.2",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/node": "^26.1.1",
"@types/oidc-provider": "^9.5.0",
"@types/react": "^19.2.17",
"@types/react-dom": "^19.2.3",
"@viscalyx/developer-mode-core": "^0.2.2",
"@viscalyx/developer-mode-react": "^0.2.0",
"@vitest/coverage-v8": "^4.1.10",
"@vitest/ui": "^4.1.10",
"ajv": "^8.20.0",
"autoprefixer": "^10.5.2",
"cross-env": "^10.1.0",
"cspell": "^10.0.1",
"dotenv-cli": "^11.0.0",
"fast-check": "^4.9.0",
"jsdom": "^29.1.1",
"markdownlint-cli2": "^0.23.0",
"oidc-provider": "^9.9.1",
"pyright": "^1.1.411",
"rimraf": "^6.1.3",
"swagger-ui-dist": "^5.32.8",
"tailwindcss": "^4.3.2",
"typescript": "^6.0.3",
"unpdf": "^1.6.2",
"vitest": "^4.1.10"
},
"//purge:install": [
"Two-phase install: first install rebuilds node_modules with a (possibly corrupt) lockfile,",
"then the lockfile is deleted and regenerated with node_modules present.",
"This works around an npm bug where platform-specific optional deps (e.g. @esbuild/openharmony-arm64)",
"are written as 'extraneous' instead of 'optional' when node_modules is absent during resolution,",
"which causes 'npm ci' to fail with EBADPLATFORM in CI."
],
"overrides": {
"ip-address": "10.2.0",
"postcss": "8.5.15"
},
"//overrides": [
"Overrides pin transitive dependencies that still resolve to vulnerable versions.",
"Remove each override when the parent dependency updates to include the fix natively.",
"Document below this. Example: @swc/helpers: next@16.1.6 pins 0.5.15, but next-intl's @swc/core@^1.15.2 peer-requires >=0.5.17. Override to 0.5.19 resolves the conflict.",
"ip-address: @modelcontextprotocol/sdk@1.29.0 resolves express-rate-limit@8.4.1 -> ip-address@10.1.0 when unforced. Override maps vulnerable ip-address <=10.1.0 to 10.2.0 for GHSA-v2v4-37r5-5v8g.",
"postcss: next@16.2.9 pins postcss@8.4.31 when unforced. Override maps the vulnerable Next postcss pin to 8.5.15 for GHSA-qx2v-qp2m-jg93."
],
"allowScripts": {
"@parcel/watcher@2.5.6": true,
"@swc/core@1.15.32": true,
"sharp@0.34.5": true,
"@scarf/scarf": false
}
}