mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
Next 16.4.0, pg-boss 12.37.1, the AWS SDK 3.1146, @napi-rs/canvas 1.0.10, @node-rs/argon2 2.2.2, @simplewebauthn/server 14.0.3, TanStack Query and Virtual, lucide-react, mmdb-lib, nodemailer, otpauth, pg, radix-ui, react-day-picker, react-hook-form, tailwind-merge and yaml. pg-boss moves its schema from 42 to 45 (three additive migrations, nullable columns and one partial index, no table rewrite); the worker applies them on start as before. The retention test pins the installed version, so it moves to 12.37.1 after re-checking every source line it asserts. zod stays on 4.4.3. 4.5 requires seconds in `z.iso.datetime()` and 4.6 rewrites nullable unions in the generated JSON Schema into `type` arrays, which reshapes the OpenAPI document and the MCP tool schemas. Dependabot skips zod 4.5 and later until that move is made on purpose.
143 lines
4.5 KiB
JSON
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": "^17.4.2",
|
|
"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.4.0",
|
|
"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.1.0",
|
|
"@types/node": "26.6.2",
|
|
"@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.1",
|
|
"@vitest/coverage-v8": "^4.1.5",
|
|
"ajv": "^8.20.0",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.3.8",
|
|
"knip": "^6.32.3",
|
|
"lefthook": "^2.1.12",
|
|
"pdf-parse": "^2.4.5",
|
|
"pdfjs-dist": "6.3.289",
|
|
"prettier": "^3.9.9",
|
|
"prettier-plugin-tailwindcss": "^0.8.1",
|
|
"shadcn": "^4.16.1",
|
|
"tailwindcss": "^4",
|
|
"testcontainers": "^12.2.0",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^6",
|
|
"vitest": "^4.1.11"
|
|
}
|
|
}
|