- Drop tsconfig.node.json: composite + noEmit conflict, and the
vite.config.ts doesn't need its own project / node types.
- Inline vite.config.ts in the main tsconfig include list.
- Switch web build from `tsc -b` to `tsc --noEmit` since there are
no project references anymore.
- Make b64urlDecode return Uint8Array<ArrayBuffer> so its output
is accepted by crypto.subtle.verify under stricter lib types.
- Cast the Pages EventContext to ExecutionContext when forwarding
to Hono; props is unused at runtime.
https://claude.ai/code/session_01TPBqgcSJMppgrpiq7fLywL
Set up pnpm workspaces with three packages: a shared Zod-schema
package, a Hono-based API exported as a library, and a Vite/React/
Tailwind frontend that mounts the API via Cloudflare Pages Functions.
Storage is abstracted behind an S3-compatible provider so the project
can migrate from R2 to a self-hosted MinIO without code changes.
https://claude.ai/code/session_01TPBqgcSJMppgrpiq7fLywL