Mechanical reformat — no logic changes. 398 files changed, 19125 insertions(+), 16457 deletions(-). Prettier 3.8.4 with .prettierrc (singleQuote:true, semi:true, tabWidth:2, trailingComma:all, printWidth:100). Isolated per D-13-08 for reviewability.
47 lines
1.7 KiB
JSON
47 lines
1.7 KiB
JSON
{
|
|
"_meta": {
|
|
"updated_at": "2026-06-09T18:56:37.176Z",
|
|
"commit": "99f59c3999f4ef992f01ef8f8a38c1d86d2f2a0f",
|
|
"version": 3
|
|
},
|
|
"languages": ["TypeScript", "SQL"],
|
|
"frameworks": ["Hono 4.12.23", "React 19", "Drizzle ORM 0.45.2"],
|
|
"tools": [
|
|
"Vite 8.0.16",
|
|
"vite-plugin-pwa 1.3.0",
|
|
"Vitest",
|
|
"drizzle-kit 0.31.10",
|
|
"ESLint",
|
|
"node-cron"
|
|
],
|
|
"build_system": "pnpm workspaces + tsc (api) + vite build (pwa)",
|
|
"test_framework": "Vitest",
|
|
"package_manager": "pnpm 11.5.1",
|
|
"runtime": "Node.js 22 LTS",
|
|
"database": "MariaDB via mysql2 3.22.4",
|
|
"cache": "Redis (ioredis — available in infra; not yet wired; in-memory EventEmitter used for Phase 4 list SSE fan-out)",
|
|
"auth": "Authelia OIDC — authorization_code + PKCE via @hono/oidc-auth 1.8.3",
|
|
"calendar_backend": "Fastmail CalDAV via tsdav 2.2.2 + ical.js 2.2.1",
|
|
"calendar_ui": "@schedule-x/calendar 4.6.0",
|
|
"server_state": "@tanstack/react-query 5.101.0",
|
|
"client_state": "zustand 5.0.14",
|
|
"routing": "react-router 7.17.0 (BrowserRouter, /calendar + /lists + /lists/:listId)",
|
|
"drag_and_drop": "@dnd-kit/core 6.3.1 + @dnd-kit/sortable 10.0.0 (list item reorder)",
|
|
"fractional_rank": "fractional-indexing 3.2.0 (list item ordering — utf8mb4_bin collation in DB)",
|
|
"content_formats": [
|
|
"TypeScript (source)",
|
|
"SQL (Drizzle migrations)",
|
|
"iCalendar / VCALENDAR (CalDAV payloads)",
|
|
"Markdown (planning docs)"
|
|
],
|
|
"infra": {
|
|
"hosting": "Unraid + Docker Compose",
|
|
"networking": "Pangolin/Newt tunnel (no open ports), split-DNS"
|
|
},
|
|
"workspaces": {
|
|
"root": "familysync (pnpm workspace root)",
|
|
"api": "@familysync/api — apps/api",
|
|
"pwa": "@familysync/pwa — apps/pwa"
|
|
}
|
|
}
|