Skip to content

Commit 5d7a3cd

Browse files
ericyangpanclaude
andcommitted
fix(build): configure Cloudflare Pages deployment with OpenNext adapter
- Add output: 'standalone' to Next.js config for OpenNext compatibility - Split build script into build:next and build to avoid circular dependency - Update deploy/preview scripts to use --skipBuild flag with opennextjs-cloudflare - Update CI workflow to upload both .next and .open-next build artifacts This fixes the Cloudflare Pages build failure where worker.js was not found. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 925720d commit 5d7a3cd

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ jobs:
132132
uses: actions/upload-artifact@v4
133133
with:
134134
name: build-output
135-
path: .next
135+
path: |
136+
.next
137+
.open-next
136138
retention-days: 7
137139

138140
ci-success:

next.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ const securityHeaders = [
3939
const nextConfig: NextConfig = {
4040
pageExtensions: ['js', 'jsx', 'md', 'mdx', 'ts', 'tsx'],
4141

42+
// Required for OpenNext Cloudflare adapter
43+
output: 'standalone',
44+
4245
// Performance optimizations
4346
compress: true, // Enable gzip compression
4447
poweredByHeader: false, // Remove X-Powered-By header for security

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
"description": "AI Coding Stack Website",
55
"scripts": {
66
"dev": "npm run generate:manifests && npm run generate:metadata && next dev",
7-
"build": "npm run validate:manifests && npm run generate:manifests && npm run generate:metadata && BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) next build",
7+
"build:next": "npm run validate:manifests && npm run generate:manifests && npm run generate:metadata && BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) next build",
8+
"build": "npm run build:next && opennextjs-cloudflare build --skipBuild",
89
"start": "next start",
910
"format": "biome format --write .",
1011
"format:check": "biome format .",
@@ -19,8 +20,8 @@
1920
"generate:manifests": "node scripts/generate-manifest-indexes.mjs",
2021
"generate:metadata": "node scripts/generate-metadata.mjs",
2122
"fetch:github-stars": "node scripts/fetch-github-stars.mjs",
22-
"deploy": "npm run validate:manifests && npm run generate:manifests && npm run generate:metadata && BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) opennextjs-cloudflare build && opennextjs-cloudflare deploy",
23-
"preview": "npm run validate:manifests && npm run generate:manifests && npm run generate:metadata && BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) opennextjs-cloudflare build && opennextjs-cloudflare preview",
23+
"deploy": "npm run build:next && opennextjs-cloudflare build --skipBuild && opennextjs-cloudflare deploy",
24+
"preview": "npm run build:next && opennextjs-cloudflare build --skipBuild && opennextjs-cloudflare preview",
2425
"cf-typegen": "wrangler types --env-interface CloudflareEnv ./cloudflare-env.d.ts",
2526
"analyze": "ANALYZE=true BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) npm run build",
2627
"prepare": "husky"

0 commit comments

Comments
 (0)