SvelteKit 2 + Svelte 5 + TypeScript site. SQLite via Drizzle. Gitea OAuth for authoring (RnD org-gated). Pure SVG + CSS DNA helix on landing. What lands - Landing hero with animated two-strand SVG helix + tagline - /projects + /projects/[slug] (markdown body, dashboard embed allowlist) - /posts + /posts/[slug] - Auth-gated /projects/new + /posts/new forms - Gitea OAuth flow (state, code exchange, org-membership check, sessions) - Sliding-window cookie sessions (SHA-256 hashed token storage) - Dockerfile + docker-compose with named-volume SQLite - Idempotent seed (EVOLV + HELIX projects, welcome post) Stack notes - Tailwind v3 (Node 18 compat; v4 needs Node 20+) - drizzle-orm 0.45+ (patched, no SQL-identifier escape vuln) - marked for markdown; iframe embeds gated by DASHBOARD_ALLOWED_HOSTS Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
43 lines
1.2 KiB
JSON
43 lines
1.2 KiB
JSON
{
|
|
"name": "helix",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "HELIX — R&D showcase platform. EVOLV and every R&D strand, one helix.",
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"start": "node build",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "node scripts/migrate.js",
|
|
"db:seed": "node scripts/seed.js"
|
|
},
|
|
"devDependencies": {
|
|
"@sveltejs/adapter-node": "^5.2.0",
|
|
"@sveltejs/kit": "^2.5.0",
|
|
"@sveltejs/vite-plugin-svelte": "^4.0.0",
|
|
"@types/better-sqlite3": "^7.6.8",
|
|
"autoprefixer": "^10.4.20",
|
|
"drizzle-kit": "^0.27.0",
|
|
"postcss": "^8.4.47",
|
|
"svelte": "^5.0.0",
|
|
"svelte-check": "^4.0.0",
|
|
"tailwindcss": "^3.4.13",
|
|
"typescript": "^5.5.0",
|
|
"vite": "^5.4.0"
|
|
},
|
|
"dependencies": {
|
|
"@oslojs/crypto": "^1.0.1",
|
|
"@oslojs/encoding": "^1.1.0",
|
|
"better-sqlite3": "^11.3.0",
|
|
"drizzle-orm": "^0.45.2",
|
|
"marked": "^14.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.13"
|
|
}
|
|
}
|