You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.6 KiB
Markdown
26 lines
1.6 KiB
Markdown
---
|
|
# pages-lxjz
|
|
title: Scaffold worker crate (hello world builds)
|
|
status: completed
|
|
type: task
|
|
priority: normal
|
|
created_at: 2026-07-13T02:07:52Z
|
|
updated_at: 2026-07-13T02:18:40Z
|
|
parent: pages-77lk
|
|
---
|
|
|
|
Create the pages crate skeleton per design doc §4.5 and quotesdb patterns: Cargo.toml (cdylib+rlib, worker 0.7 with d1+http features, axum 0.8 no-default-features json+query, tower-service, http, serde/serde_json, thiserror, zip no-default-features deflate, getrandom wasm_js — mirror ../quotesdb/Cargo.toml target-gating), src/lib.rs with wasm-only #[worker::event(fetch)] returning a placeholder response via an axum Router, wrangler.toml (name=pages, worker-build, D1 binding DB, R2 binding PAGES, vars BASE_URL/GITHUB_CLIENT_ID/ADMIN_GITHUB_LOGIN), .dev.vars.example, release profile size opts.
|
|
|
|
- [x] Cargo.toml with target-gated deps and release profile
|
|
- [x] src/lib.rs hello-world axum router behind cfg(wasm32)
|
|
- [x] wrangler.toml + .dev.vars.example
|
|
- [x] cargo check --target wasm32-unknown-unknown passes
|
|
- [x] cargo check + clippy (both targets) + test pass
|
|
|
|
## Summary of Changes
|
|
|
|
Crate skeleton implemented by a Sonnet agent, reviewed by an Opus agent (verdict: APPROVE).
|
|
- Cargo.toml (target-gated deps mirroring quotesdb), src/lib.rs wasm-only axum fetch glue, src/tests.rs, wrangler.toml (DB/PAGES bindings, vars), .dev.vars.example.
|
|
- Review fixes applied: dropped dead duplicate getrandom 0.3 dep and corrected its comment; added commented [[routes]] placeholder for pages.elijah.run to wrangler.toml.
|
|
- Validation green on both targets (fmt, check, clippy -D warnings, test).
|