mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
vitest and @vitest/coverage-v8 move from 4.1 to 5.0.3 together. Neither config uses an option the major removed or changed: no projects, so the new setupFiles concatenation does not apply; no browser mode; and the integration config's forks pool, serial files and isolation keep their meaning. Node 22.12 and Vite 6.4 are the new floors, and both are met.
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": "^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": "^5.0.3",
|
|
"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": "^5.0.3"
|
|
}
|
|
}
|