aboutsummaryrefslogtreecommitdiff
path: root/package.json
diff options
context:
space:
mode:
authorJoe Mou <dev@mou.fo>2026-07-15 02:08:17 -0400
committerJoe Mou <dev@mou.fo>2026-07-15 02:08:29 -0400
commitfb16dc2b017e339e6a36a89c9b5d8a830ce3a541 (patch)
tree640775bc65b7a14019df8aea789a00e65023d3bb /package.json
parent0f4681d55b9d865a4e860fb3f28203ffd0bdc034 (diff)
Add Cloudflare Workers deployment target
Split routes into a shared createApp() (src/app.ts) used by both the Node entry (src/index.ts) and a new Workers entry (src/worker.ts). Workers disallow runtime code generation, so scripts/compile-views.ts precompiles the Eta templates into src/views.generated.ts and rendering switches from renderAsync to the sync render. Static files move to public/static so Workers Static Assets can serve them; the Node build and serveStatic root are updated to match. Deploy with pnpm run deploy:cf, local dev with pnpm run dev:cf. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'package.json')
-rw-r--r--package.json12
1 files changed, 9 insertions, 3 deletions
diff --git a/package.json b/package.json
index 06e2876..b5349ca 100644
--- a/package.json
+++ b/package.json
@@ -6,8 +6,10 @@
"type": "module",
"scripts": {
"dev": "node --watch --watch-preserve-output src/index.ts",
- "build": "rm -rf dist/* && esbuild --bundle --format=esm --platform=node --outdir=dist/build --sourcemap src/index.ts && cp -R static views dist/",
- "test": "node --test --test-concurrency=4 src/scraper.test.ts"
+ "build": "rm -rf dist/* && esbuild --bundle --format=esm --platform=node --outdir=dist/build --sourcemap src/index.ts && cp -R public views dist/",
+ "test": "node --test --test-concurrency=4 src/scraper.test.ts",
+ "dev:cf": "node scripts/compile-views.ts && wrangler dev",
+ "deploy:cf": "node scripts/compile-views.ts && wrangler deploy"
},
"dependencies": {
"@hono/node-server": "^1.13.7",
@@ -18,10 +20,14 @@
"hono": "^4.6.14",
"htmlparser2": "^10.1.0"
},
+ "pnpm": {
+ "onlyBuiltDependencies": ["esbuild", "workerd"]
+ },
"devDependencies": {
"@types/node": "^22.10.2",
"esbuild": "^0.27.2",
"prettier": "^3.8.1",
- "typescript": "^5.7.2"
+ "typescript": "^5.7.2",
+ "wrangler": "^4.110.0"
}
}