Skip to content

Commit 1c44134

Browse files
xrendanclaudehappy-otter
committed
Add Cloudflare Workers deployment with OpenNext
- Add wrangler.jsonc configuration for Cloudflare Workers - Add open-next.config.ts for OpenNext Cloudflare adapter - Add public/_headers for static asset caching - Update next.config.ts with initOpenNextCloudflareForDev() - Add deploy/preview/upload scripts to package.json - Update .gitignore with .open-next and .dev.vars Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
1 parent 35b876b commit 1c44134

File tree

7 files changed

+3524
-220
lines changed

7 files changed

+3524
-220
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ yarn-error.log*
4141
# vercel
4242
.vercel
4343

44+
# cloudflare
45+
.open-next
46+
.dev.vars
47+
4448
# typescript
4549
*.tsbuildinfo
4650
next-env.d.ts

next.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ import {
55
getProvincialSlugs,
66
getMunicipalitiesByProvince,
77
} from "./src/lib/jurisdictions";
8+
import { initOpenNextCloudflareForDev } from "@opennextjs/cloudflare";
9+
10+
initOpenNextCloudflareForDev();
811

912
const nextConfig: NextConfig = {
1013
/* config options here */

open-next.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { defineCloudflareConfig } from "@opennextjs/cloudflare";
2+
3+
export default defineCloudflareConfig({});

package.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@
1212
"lint:fix": "next lint --fix",
1313
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,css,md}\"",
1414
"prepare": "node -e \"if (!process.env.CI) { require('child_process').execSync('npx simple-git-hooks', {stdio: 'inherit'}) }\"",
15-
"extract": "lingui extract --clean"
15+
"extract": "lingui extract --clean",
16+
"preview": "opennextjs-cloudflare build && opennextjs-cloudflare preview",
17+
"deploy": "opennextjs-cloudflare build && opennextjs-cloudflare deploy",
18+
"upload": "opennextjs-cloudflare build && opennextjs-cloudflare upload",
19+
"cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts"
1620
},
1721
"dependencies": {
1822
"@beehiiv/sdk": "^0.1.6",
@@ -27,6 +31,7 @@
2731
"@mui/icons-material": "^7.3.1",
2832
"@mui/material": "^7.3.1",
2933
"@next/mdx": "^15.5.6",
34+
"@opennextjs/cloudflare": "^1.16.4",
3035
"@radix-ui/react-accordion": "^1.2.12",
3136
"@radix-ui/react-dialog": "^1.1.15",
3237
"@radix-ui/react-dropdown-menu": "^2.1.16",
@@ -93,7 +98,8 @@
9398
"simple-git-hooks": "^2.13.1",
9499
"tailwindcss": "^4.1.12",
95100
"tsx": "^4.20.4",
96-
"typescript": "^5.9.2"
101+
"typescript": "^5.9.2",
102+
"wrangler": "^4.65.0"
97103
},
98104
"packageManager": "pnpm@9.5.0+sha512.140036830124618d624a2187b50d04289d5a087f326c9edfc0ccd733d76c4f52c3a313d4fc148794a2a9d81553016004e6742e8cf850670268a7387fc220c903",
99105
"lint-staged": {

0 commit comments

Comments
 (0)