Files
boc/landvex-quixzoom-cms/package.json
T
Bernt 6989a98d75 feat: Passwordless cross-device authentication
- Arkitektur: docs/auth/passwordless-architecture.md
- Backend: iom/quixzoom-auth-service/ (FastAPI + Redis)
- Webb: quixzoom-market-pages/se/login/ (QR-kod + polling)
- App: iom/quixzoom-app/src/features/auth/ (push + deep links)

Flöde: QR-kod → app-godkännande → webb-inloggad
2026-07-07 07:11:50 +00:00

47 lines
1.3 KiB
JSON

{
"name": "landvex-quixzoom-cms",
"version": "1.0.0",
"description": "Global Content Network for Landvex/QuiXzoom — Transcreation System",
"type": "module",
"scripts": {
"dev": "tsx watch src/server.ts",
"build": "tsc",
"start": "node dist/server.js",
"db:migrate": "tsx src/db/migrate.ts",
"db:seed": "tsx src/db/seed.ts",
"test": "vitest",
"lint": "eslint src/",
"translate:batch": "tsx src/scripts/batch-translate.ts",
"content:sync": "tsx src/scripts/sync-content.ts",
"seo:audit": "tsx src/scripts/seo-audit.ts"
},
"dependencies": {
"@fastify/cors": "^9.0.1",
"@fastify/jwt": "^8.0.1",
"@fastify/static": "^7.0.4",
"better-sqlite3": "^11.5.0",
"fastify": "^4.28.1",
"fastify-type-provider-zod": "^2.0.0",
"zod": "^3.23.8",
"drizzle-orm": "^0.35.3",
"drizzle-zod": "^0.5.1",
"openai": "^4.68.4",
"cheerio": "^1.0.0",
"node-html-markdown": "^1.3.0",
"slugify": "^1.6.6",
"dotenv": "^16.4.5",
"pino-pretty": "^11.3.0",
"resend": "^4.0.0",
"bullmq": "^5.21.2",
"ioredis": "^5.4.1"
},
"devDependencies": {
"@types/better-sqlite3": "^7.6.11",
"@types/node": "^22.8.6",
"eslint": "^9.13.0",
"tsx": "^4.19.2",
"typescript": "^5.6.3",
"vitest": "^2.1.4"
}
}