diff --git a/packages/cloudflare/env.d.ts b/packages/cloudflare/env.d.ts index 81bfb429..58204cd8 100644 --- a/packages/cloudflare/env.d.ts +++ b/packages/cloudflare/env.d.ts @@ -9,10 +9,6 @@ declare global { OPEN_NEXT_ORIGIN: string; } } - - interface Window { - [key: string]: string | Fetcher; - } } export {}; diff --git a/packages/cloudflare/package.json b/packages/cloudflare/package.json index 6e831ee8..fc31217f 100644 --- a/packages/cloudflare/package.json +++ b/packages/cloudflare/package.json @@ -59,7 +59,7 @@ "vitest": "catalog:" }, "dependencies": { - "@opennextjs/aws": "https://pkg.pr.new/@opennextjs/aws@2202f36", + "@opennextjs/aws": "https://pkg.pr.new/@opennextjs/aws@d2ead58", "ts-morph": "catalog:" }, "peerDependencies": { diff --git a/packages/cloudflare/src/cli/build/bundle-server.ts b/packages/cloudflare/src/cli/build/bundle-server.ts index 514e0a66..bcd5e189 100644 --- a/packages/cloudflare/src/cli/build/bundle-server.ts +++ b/packages/cloudflare/src/cli/build/bundle-server.ts @@ -91,7 +91,6 @@ export async function bundleServer(config: Config, openNextOptions: BuildOptions // __dirname is used by unbundled js files (which don't inherit the __dirname present in the define field) // so we also need to set it on the global scope // Note: this was hit in the next/dist/compiled/@opentelemetry/api module - globalThis.__dirname ??= ""; // Do not crash on cache not supported @@ -168,6 +167,7 @@ async function updateWorkerBundledCode( patchedCode = patchedCode // workers do not support dynamic require nor require.resolve + // TODO: implement for cf (possibly in @opennextjs/aws) .replace("patchAsyncStorage();", "//patchAsyncStorage();") .replace('require.resolve("./cache.cjs")', '"unused"'); diff --git a/packages/cloudflare/src/cli/build/index.ts b/packages/cloudflare/src/cli/build/index.ts index 67663911..5f01952b 100644 --- a/packages/cloudflare/src/cli/build/index.ts +++ b/packages/cloudflare/src/cli/build/index.ts @@ -41,6 +41,10 @@ export async function build(projectOpts: ProjectOptions): Promise { const options = buildHelper.normalizeOptions(config, openNextDistDir, buildDir); logger.setLevel(options.debug ? "debug" : "info"); + // Do not minify the code so that we can apply string replacement patch. + // Note that wrangler will still minify the bundle. + options.minify = false; + // Pre-build validation buildHelper.checkRunningInsideNextjsApp(options); logger.info(`App directory: ${options.appPath}`); diff --git a/packages/cloudflare/src/cli/build/open-next/createServerBundle.ts b/packages/cloudflare/src/cli/build/open-next/createServerBundle.ts index 78005123..3aaec1ff 100644 --- a/packages/cloudflare/src/cli/build/open-next/createServerBundle.ts +++ b/packages/cloudflare/src/cli/build/open-next/createServerBundle.ts @@ -125,7 +125,7 @@ async function generateBundle( const isBundled = fnOptions.experimentalBundledNextServer ?? false; if (isBundled) { await bundleNextServer(path.join(outputPath, packagePath), appPath, { - debug: options.debug, + minify: options.minify, }); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f7618dd1..ef7b7343 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,8 +73,8 @@ catalogs: specifier: ^2.1.1 version: 2.1.1 wrangler: - specifier: ^3.87.0 - version: 3.89.0 + specifier: ^3.91.0 + version: 3.91.0 importers: @@ -131,7 +131,7 @@ importers: version: 22.2.0 wrangler: specifier: 'catalog:' - version: 3.89.0(@cloudflare/workers-types@4.20240925.0) + version: 3.91.0(@cloudflare/workers-types@4.20240925.0) examples/create-next-app: dependencies: @@ -177,7 +177,7 @@ importers: version: 5.5.4 wrangler: specifier: 'catalog:' - version: 3.89.0(@cloudflare/workers-types@4.20240925.0) + version: 3.91.0(@cloudflare/workers-types@4.20240925.0) examples/middleware: dependencies: @@ -214,7 +214,7 @@ importers: version: 5.5.4 wrangler: specifier: 'catalog:' - version: 3.89.0(@cloudflare/workers-types@4.20240925.0) + version: 3.91.0(@cloudflare/workers-types@4.20240925.0) examples/vercel-blog-starter: dependencies: @@ -299,7 +299,7 @@ importers: version: 1.5.0(react-dom@19.0.0-rc-3208e73e-20240730(react@19.0.0-rc-3208e73e-20240730))(react@19.0.0-rc-3208e73e-20240730) wrangler: specifier: 'catalog:' - version: 3.89.0(@cloudflare/workers-types@4.20240925.0) + version: 3.91.0(@cloudflare/workers-types@4.20240925.0) devDependencies: '@opennextjs/cloudflare': specifier: workspace:* @@ -341,14 +341,14 @@ importers: packages/cloudflare: dependencies: '@opennextjs/aws': - specifier: https://pkg.pr.new/@opennextjs/aws@2202f36 - version: https://pkg.pr.new/@opennextjs/aws@2202f36 + specifier: https://pkg.pr.new/@opennextjs/aws@d2ead58 + version: https://pkg.pr.new/@opennextjs/aws@d2ead58 ts-morph: specifier: 'catalog:' version: 23.0.0 wrangler: specifier: 'catalog:' - version: 3.89.0(@cloudflare/workers-types@4.20240925.0) + version: 3.91.0(@cloudflare/workers-types@4.20240925.0) devDependencies: '@cloudflare/workers-types': specifier: 'catalog:' @@ -734,8 +734,8 @@ packages: resolution: {integrity: sha512-rfUCvb3hx4AsvdUZsxgk9lmgEnQehqV3jdtXLP/Xr0+P56n11T/0nXNMzmn7Nnv+IJFOV6X9NmFhuMz4sBPw7w==} engines: {node: '>=16.7.0'} - '@cloudflare/workers-shared@0.7.1': - resolution: {integrity: sha512-46cP5FCrl3TrvHeoHLb5SRuiDMKH5kc9Yvo36SAfzt8dqJI/qJRoY1GP3ioHn/gP7v2QIoUOTAzIl7Ml7MnfrA==} + '@cloudflare/workers-shared@0.9.0': + resolution: {integrity: sha512-eP6Ir45uPbKnpADVzUCtkRUYxYxjB1Ew6n/whTJvHu8H4m93USHAceCMm736VBZdlxuhXXUjEP3fCUxKPn+cfw==} engines: {node: '>=16.7.0'} '@cloudflare/workers-types@4.20240925.0': @@ -1749,8 +1749,8 @@ packages: '@octokit/types@13.6.1': resolution: {integrity: sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==} - '@opennextjs/aws@https://pkg.pr.new/@opennextjs/aws@2202f36': - resolution: {tarball: https://pkg.pr.new/@opennextjs/aws@2202f36} + '@opennextjs/aws@https://pkg.pr.new/@opennextjs/aws@d2ead58': + resolution: {tarball: https://pkg.pr.new/@opennextjs/aws@d2ead58} version: 3.2.2 hasBin: true @@ -4849,8 +4849,8 @@ packages: unenv-nightly@2.0.0-20241009-125958-e8ea22f: resolution: {integrity: sha512-hRxmKz1iSVRmuFx/vBdPsx7rX4o7Cas9vdjDNeUeWpQTK2LzU3Xy3Jz0zbo7MJX0bpqo/LEFCA+GPwsbl6zKEQ==} - unenv-nightly@2.0.0-20241111-080453-894aa31: - resolution: {integrity: sha512-0W39QQOQ9VE8kVVUpGwEG+pZcsCXk5wqNG6rDPE6Gr+fiA69LR0qERM61hW5KCOkC1/ArCFrfCGjwHyyv/bI0Q==} + unenv-nightly@2.0.0-20241121-161142-806b5c0: + resolution: {integrity: sha512-RnFOasE/O0Q55gBkNB1b84OgKttgLEijGO0JCWpbn+O4XxpyCQg89NmcqQ5RGUiy4y+rMIrKzePTquQcLQF5pQ==} unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -5033,8 +5033,8 @@ packages: '@cloudflare/workers-types': optional: true - wrangler@3.89.0: - resolution: {integrity: sha512-ix3Rir/cu9Cn6FklvPDIW1QwOMcRU8iPj3IrkBWGdB66K9z1uqyqoTP64UZZyXrBItfrU7SbQT4L5wJ5y10TPA==} + wrangler@3.91.0: + resolution: {integrity: sha512-Hdzn6wbY9cz5kL85ZUvWLwLIH7nPaEVRblfms40jhRf4qQO/Zf74aFlku8rQFbe8/2aVZFaxJVfBd6JQMeMSBQ==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: @@ -5974,7 +5974,7 @@ snapshots: mime: 3.0.0 zod: 3.23.8 - '@cloudflare/workers-shared@0.7.1': + '@cloudflare/workers-shared@0.9.0': dependencies: mime: 3.0.0 zod: 3.23.8 @@ -6694,7 +6694,7 @@ snapshots: dependencies: '@octokit/openapi-types': 22.2.0 - '@opennextjs/aws@https://pkg.pr.new/@opennextjs/aws@2202f36': + '@opennextjs/aws@https://pkg.pr.new/@opennextjs/aws@d2ead58': dependencies: '@aws-sdk/client-dynamodb': 3.682.0 '@aws-sdk/client-lambda': 3.682.0 @@ -10467,7 +10467,7 @@ snapshots: pathe: 1.1.2 ufo: 1.5.4 - unenv-nightly@2.0.0-20241111-080453-894aa31: + unenv-nightly@2.0.0-20241121-161142-806b5c0: dependencies: defu: 6.1.4 ohash: 1.1.4 @@ -10710,10 +10710,10 @@ snapshots: - supports-color - utf-8-validate - wrangler@3.89.0(@cloudflare/workers-types@4.20240925.0): + wrangler@3.91.0(@cloudflare/workers-types@4.20240925.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.7.1 + '@cloudflare/workers-shared': 0.9.0 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) blake3-wasm: 2.1.5 @@ -10728,7 +10728,7 @@ snapshots: resolve.exports: 2.0.2 selfsigned: 2.4.1 source-map: 0.6.1 - unenv: unenv-nightly@2.0.0-20241111-080453-894aa31 + unenv: unenv-nightly@2.0.0-20241121-161142-806b5c0 workerd: 1.20241106.1 xxhash-wasm: 1.0.2 optionalDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7ac70006..303a7485 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -26,4 +26,4 @@ catalog: "tsx": ^4.19.2 "typescript-eslint": ^8.7.0 "vitest": ^2.1.1 - "wrangler": ^3.87.0 + "wrangler": ^3.91.0