Files
HealthLog/package.json
T
Marc-André Bombeck 369775e039 chore(deps): move dotenv to 18
The breaking changes in 18 do not reach this repository: nothing preloads
dotenv with -r, nothing reads a .env.vault, and both entry points in use
(the default export in prisma.config.ts and the side-effect dotenv/config
import in the one-shot scripts) keep their behaviour. dotenv/config stays
quiet by default.

What does change is the load message, which now goes to stderr. Prisma
reads prisma.config.ts on every migrate deploy at container start, so
both loads there pass quiet: true rather than adding two stderr lines to
each boot. The image's /opt/prisma-cli install, which the config resolves
dotenv from, moves to the same 18.0.6.
2026-10-10 01:08:57 +02:00

143 lines
4.5 KiB
JSON

{
"name": "healthlog",
"version": "1.42.0",
"description": "Self-hosted personal-health-tracking PWA with Withings integration, AI insights, and doctor-report PDF export.",
"license": "PolyForm-Noncommercial-1.0.0",
"homepage": "https://healthlog.dev",
"repository": {
"type": "git",
"url": "git+https://github.com/MBombeck/HealthLog.git"
},
"bugs": {
"url": "https://github.com/MBombeck/HealthLog/issues"
},
"keywords": [
"health-tracking",
"self-hosted",
"pwa",
"blood-pressure",
"withings",
"next.js",
"prisma",
"passkey"
],
"private": true,
"packageManager": "pnpm@11.15.1",
"scripts": {
"prepare": "node scripts/prepare.mjs",
"dev": "next dev",
"predev": "node scripts/generate-i18n-boot.mjs && node scripts/stage-tesseract-assets.mjs",
"prebuild": "node scripts/generate-sw-version.mjs && node scripts/generate-i18n-boot.mjs && node scripts/stage-tesseract-assets.mjs",
"build": "NODE_OPTIONS=--max-old-space-size=8192 next build",
"analyze": "ANALYZE=1 next build",
"bundle-report": "node scripts/check-bundle-budget.mjs",
"bundle-check": "node scripts/check-bundle-budget.mjs --check",
"start": "next start",
"lint": "eslint",
"db:generate": "prisma generate",
"db:push": "prisma db push",
"db:migrate": "prisma migrate dev",
"db:migrate:deploy": "prisma migrate deploy",
"db:studio": "prisma studio",
"format": "prettier --write .",
"format:check": "prettier --check .",
"typecheck": "NODE_OPTIONS=--max-old-space-size=8192 tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:integration": "vitest run --config vitest.integration.config.mts",
"e2e": "playwright test",
"e2e:ui": "playwright test --ui",
"openapi:generate": "npx tsx scripts/generate-openapi.ts",
"openapi:check": "npx tsx scripts/check-openapi.ts",
"check-env": "npx tsx scripts/check-env.ts",
"mcp:stdio": "npx tsx src/cli/mcp-stdio.ts"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.1146.0",
"@aws-sdk/lib-storage": "3.1146.0",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@hookform/resolvers": "^5.9.1",
"@modelcontextprotocol/sdk": "^1.32.1",
"@napi-rs/canvas": "1.0.10",
"@node-rs/argon2": "^2.2.2",
"@parse/node-apn": "^8.1.0",
"@prisma/adapter-pg": "^7.10.0",
"@prisma/client": "^7.10.0",
"@simplewebauthn/browser": "^14.0.0",
"@simplewebauthn/server": "^14.0.3",
"@tanstack/react-query": "5.104.1",
"@tanstack/react-virtual": "^3.14.13",
"@types/sax": "^1.2.7",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.4.0",
"dotenv": "^18.0.6",
"fflate": "^0.8.3",
"jose": "^6.2.12",
"jspdf": "^4.2.1",
"jspdf-autotable": "^5.0.8",
"lucide-react": "^1.52.0",
"mmdb-lib": "^3.0.3",
"next": "16.3.8",
"next-themes": "^0.4.6",
"nodemailer": "10.0.15",
"otpauth": "^9.5.2",
"p-limit": "^7.3.3",
"pg": "^8.23.1",
"pg-boss": "^12.37.1",
"prisma": "^7.10.0",
"qrcode": "^1.5.4",
"radix-ui": "^1.7.0",
"react": "19.3.0",
"react-day-picker": "^10.0.2",
"react-dom": "19.3.0",
"react-hook-form": "7.89.0",
"recharts": "^3.10.1",
"rrule": "^2.8.1",
"sax": "^1.6.1",
"sonner": "^2.0.8",
"tailwind-merge": "^3.7.0",
"tesseract.js": "^7.0.0",
"undici": "^8.11.2",
"web-push": "^3.6.7",
"yaml": "^2.9.1",
"zod": "^4.4.3",
"zod-openapi": "^6.0.2",
"zxcvbn-typescript": "^5.0.1"
},
"devDependencies": {
"@axe-core/playwright": "^4.13.0",
"@next/bundle-analyzer": "^16.3.3",
"@playwright/test": "^1.63.0",
"@tailwindcss/postcss": "^4",
"@tesseract.js-data/deu": "1.0.0",
"@tesseract.js-data/eng": "1.0.0",
"@testcontainers/postgresql": "^12.2.0",
"@types/node": "26.6.4",
"@types/pg": "^8.23.1",
"@types/qrcode": "^1.5.6",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"@types/web-push": "^3.6.4",
"@vitejs/plugin-react": "^6.1.2",
"@vitest/coverage-v8": "^4.1.5",
"ajv": "^8.20.0",
"eslint": "^9",
"eslint-config-next": "16.3.8",
"knip": "^6.40.0",
"lefthook": "^2.1.17",
"pdf-parse": "^2.4.5",
"pdfjs-dist": "6.4.299",
"prettier": "^3.9.9",
"prettier-plugin-tailwindcss": "^0.8.1",
"shadcn": "^4.21.3",
"tailwindcss": "^4",
"testcontainers": "^12.2.0",
"tw-animate-css": "^1.4.0",
"typescript": "^6",
"vitest": "^4.1.11"
}
}