scripts/seed-demo.js — one open Pulse with realistic context, marks "Traceability layer" as shipping with shipped_at -2 days and attributes it to the cab user, two events (dinner in 5 weeks, office hours in 2 weeks), six hand-crafted activity rows mixing all 5 activity kinds so the ticker has something to scroll on first load. Idempotent: skips if any pulses exist. Backdates Lars's cab_joined_date so the greeting renders "2 years, 4 months". Wired to db:setup and db:seed:demo. Also fixes a parse bug on /pulse: SQL stores last_seen_at as 'YYYY-MM-DD HH:MM:SS' UTC, but new Date(string) parses that as local time — on a non-UTC server the freshness check was wrong by the server's offset. Coerce to UTC ISO before parsing. Manual smoke as Lars now shows two member chips in "online now"; admin tabs all render. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
39 lines
1.1 KiB
JSON
39 lines
1.1 KiB
JSON
{
|
|
"name": "project-bifrost",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "astro dev",
|
|
"build": "astro build",
|
|
"preview": "astro preview",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint . && prettier --check .",
|
|
"test": "vitest run",
|
|
"db:migrate": "node scripts/migrate.js",
|
|
"db:seed": "node scripts/seed.js",
|
|
"db:seed:roadmap": "node scripts/seed-roadmap.js",
|
|
"db:seed:demo": "node scripts/seed-demo.js",
|
|
"db:setup": "node scripts/migrate.js && node scripts/seed.js && node scripts/seed-roadmap.js && node scripts/seed-demo.js"
|
|
},
|
|
"dependencies": {
|
|
"@astrojs/node": "^8.3.0",
|
|
"astro": "^4.16.0",
|
|
"bcryptjs": "^2.4.3",
|
|
"better-sqlite3": "^11.3.0",
|
|
"marked": "^12.0.0",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/better-sqlite3": "^7.6.11",
|
|
"typescript": "^5.6.3",
|
|
"vitest": "^2.1.4"
|
|
},
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": ["better-sqlite3", "esbuild", "sharp"]
|
|
}
|
|
}
|