EnableNotifications subscribes the owner's device with the public VAPID key and stores it; sw.js receives pushes and opens /defects on click; `pnpm vapid:keys` mints the key pair.
52 lines
1.5 KiB
JSON
52 lines
1.5 KiB
JSON
{
|
|
"name": "andon",
|
|
"type": "module",
|
|
"private": true,
|
|
"packageManager": "pnpm@11.0.9",
|
|
"scripts": {
|
|
"build": "nuxt build",
|
|
"dev": "nuxt dev",
|
|
"generate": "nuxt generate",
|
|
"preview": "nuxt preview",
|
|
"postinstall": "nuxt prepare",
|
|
"lint": "eslint .",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"typecheck": "nuxt typecheck",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "tsx server/db/migrate.ts",
|
|
"db:seed": "tsx server/db/seed.ts",
|
|
"db:verify": "tsx scripts/verify-db.ts",
|
|
"vapid:keys": "tsx scripts/generate-vapid.ts",
|
|
"docker:dev": "docker compose -f docker-compose.dev.yml up",
|
|
"docker:dev:build": "docker compose -f docker-compose.dev.yml up --build",
|
|
"docker:dev:down": "docker compose -f docker-compose.dev.yml down"
|
|
},
|
|
"dependencies": {
|
|
"arktype": "^2.2.0",
|
|
"drizzle-orm": "^0.45.2",
|
|
"nuxt": "^4.4.6",
|
|
"nuxt-auth-utils": "^0.5.29",
|
|
"pg": "^8.21.0",
|
|
"vue": "^3.5.34",
|
|
"vue-router": "^5.0.7",
|
|
"web-push": "^3.6.7"
|
|
},
|
|
"devDependencies": {
|
|
"@nuxt/eslint": "^1.15.2",
|
|
"@nuxt/test-utils": "^4.0.3",
|
|
"@tailwindcss/vite": "^4.3.0",
|
|
"@types/pg": "^8.20.0",
|
|
"@types/web-push": "^3.6.4",
|
|
"@vue/test-utils": "^2.4.10",
|
|
"daisyui": "^5.5.20",
|
|
"drizzle-kit": "^0.31.10",
|
|
"eslint": "^10.4.0",
|
|
"happy-dom": "^20.9.0",
|
|
"tailwindcss": "^4.3.0",
|
|
"tsx": "^4.22.3",
|
|
"typescript": "^6.0.3",
|
|
"vitest": "^4.1.7"
|
|
}
|
|
}
|