feat: add Deno runtime support
Add Deno as a supported platform alongside Node.js and Cloudflare Workers.
New packages:
- @pds/deno: HTTP server adapter using Deno.serve() and Deno.upgradeWebSocket()
- @pds/blobs-deno: Filesystem blob storage using Deno.readFile/writeFile
Changes:
- Abstract SQLite driver interface for better-sqlite3 and node:sqlite compatibility
- Align Node.js and Deno APIs: both use async createServer() with listen()/close()
- Remove createServerFromEnv convenience wrapper for explicit configuration
- Add Deno e2e tests (npm run test:e2e:deno)
Usage:
import { createServer } from '@pds/deno';
const { listen, close } = await createServer({ dbPath, blobsDir, jwtSecret });
await listen();
Requires Deno 2.2+ for node:sqlite support.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>