diff --git a/examples/api/open-next.config.ts b/examples/api/open-next.config.ts index cb92cf9e..0f7794ff 100644 --- a/examples/api/open-next.config.ts +++ b/examples/api/open-next.config.ts @@ -1,13 +1,23 @@ import type { OpenNextConfig } from "@opennextjs/aws/types/open-next"; const config: OpenNextConfig = { - default: {}, + default: { + override: { + wrapper: "cloudflare-node", + converter: "edge", + // Unused implementation + incrementalCache: "dummy", + tagCache: "dummy", + queue: "dummy", + }, + }, middleware: { external: true, override: { - wrapper: "cloudflare", + wrapper: "cloudflare-edge", converter: "edge", + proxyExternalRequest: "fetch", }, }, }; diff --git a/examples/api/wrangler.toml b/examples/api/wrangler.toml index d16c20ca..dcf026cd 100644 --- a/examples/api/wrangler.toml +++ b/examples/api/wrangler.toml @@ -1,6 +1,6 @@ #:schema node_modules/wrangler/config-schema.json name = "api" -main = ".open-next/index.mjs" +main = ".open-next/worker.ts" compatibility_date = "2024-09-23" compatibility_flags = ["nodejs_compat"] diff --git a/examples/create-next-app/open-next.config.ts b/examples/create-next-app/open-next.config.ts index cb92cf9e..0f7794ff 100644 --- a/examples/create-next-app/open-next.config.ts +++ b/examples/create-next-app/open-next.config.ts @@ -1,13 +1,23 @@ import type { OpenNextConfig } from "@opennextjs/aws/types/open-next"; const config: OpenNextConfig = { - default: {}, + default: { + override: { + wrapper: "cloudflare-node", + converter: "edge", + // Unused implementation + incrementalCache: "dummy", + tagCache: "dummy", + queue: "dummy", + }, + }, middleware: { external: true, override: { - wrapper: "cloudflare", + wrapper: "cloudflare-edge", converter: "edge", + proxyExternalRequest: "fetch", }, }, }; diff --git a/examples/create-next-app/wrangler.toml b/examples/create-next-app/wrangler.toml index 1616e3c1..a20dd3b1 100644 --- a/examples/create-next-app/wrangler.toml +++ b/examples/create-next-app/wrangler.toml @@ -1,6 +1,6 @@ #:schema node_modules/wrangler/config-schema.json name = "create-next-app" -main = ".open-next/index.mjs" +main = ".open-next/worker.ts" compatibility_date = "2024-09-23" compatibility_flags = ["nodejs_compat"] diff --git a/examples/vercel-blog-starter/open-next.config.ts b/examples/vercel-blog-starter/open-next.config.ts index cb92cf9e..0f7794ff 100644 --- a/examples/vercel-blog-starter/open-next.config.ts +++ b/examples/vercel-blog-starter/open-next.config.ts @@ -1,13 +1,23 @@ import type { OpenNextConfig } from "@opennextjs/aws/types/open-next"; const config: OpenNextConfig = { - default: {}, + default: { + override: { + wrapper: "cloudflare-node", + converter: "edge", + // Unused implementation + incrementalCache: "dummy", + tagCache: "dummy", + queue: "dummy", + }, + }, middleware: { external: true, override: { - wrapper: "cloudflare", + wrapper: "cloudflare-edge", converter: "edge", + proxyExternalRequest: "fetch", }, }, }; diff --git a/examples/vercel-blog-starter/wrangler.toml b/examples/vercel-blog-starter/wrangler.toml index feedfe04..3d86363e 100644 --- a/examples/vercel-blog-starter/wrangler.toml +++ b/examples/vercel-blog-starter/wrangler.toml @@ -1,6 +1,6 @@ #:schema node_modules/wrangler/config-schema.json name = "vercel-blog-starter-on-workers" -main = ".open-next/index.mjs" +main = ".open-next/worker.ts" compatibility_date = "2024-09-23" compatibility_flags = ["nodejs_compat"] diff --git a/examples/vercel-commerce/open-next.config.ts b/examples/vercel-commerce/open-next.config.ts index bba33dfc..e26c466e 100644 --- a/examples/vercel-commerce/open-next.config.ts +++ b/examples/vercel-commerce/open-next.config.ts @@ -1,13 +1,23 @@ import type { OpenNextConfig } from '@opennextjs/aws/types/open-next'; const config: OpenNextConfig = { - default: {}, + default: { + override: { + wrapper: 'cloudflare-node', + converter: 'edge', + // Unused implementation + incrementalCache: 'dummy', + tagCache: 'dummy', + queue: 'dummy' + } + }, middleware: { external: true, override: { - wrapper: 'cloudflare', - converter: 'edge' + wrapper: 'cloudflare-edge', + converter: 'edge', + proxyExternalRequest: 'fetch' } } }; diff --git a/examples/vercel-commerce/wrangler.toml b/examples/vercel-commerce/wrangler.toml index 674fb010..1e99bb3f 100644 --- a/examples/vercel-commerce/wrangler.toml +++ b/examples/vercel-commerce/wrangler.toml @@ -1,6 +1,6 @@ #:schema node_modules/wrangler/config-schema.json name = "vercel-commerce-on-workers" -main = ".open-next/index.mjs" +main = ".open-next/worker.ts" compatibility_date = "2024-09-23" compatibility_flags = ["nodejs_compat"] diff --git a/packages/cloudflare/src/cli/build/bundle-server.ts b/packages/cloudflare/src/cli/build/bundle-server.ts index ade9c16e..b1eeffc4 100644 --- a/packages/cloudflare/src/cli/build/bundle-server.ts +++ b/packages/cloudflare/src/cli/build/bundle-server.ts @@ -109,11 +109,13 @@ fetch = globalThis.fetch; const CustomRequest = class extends globalThis.Request { constructor(input, init) { if (init) { - delete init.cache; - if (init.body?.__node_stream__ === true) { + init = { + ...init, + cache: undefined, // https://github.com/cloudflare/workerd/issues/2746 - init.body = __cf_stream.Readable.toWeb(init.body); - } + // https://github.com/cloudflare/workerd/issues/3245 + body: init.body instanceof __cf_stream.Readable ? ReadableStream.from(init.body) : init.body, + }; } super(input, init); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 32a1b6c9..4ae97c5e 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.93.0 - version: 3.93.0 + specifier: ^3.95.0 + version: 3.95.0 importers: @@ -131,7 +131,7 @@ importers: version: 22.2.0 wrangler: specifier: 'catalog:' - version: 3.93.0(@cloudflare/workers-types@4.20240925.0) + version: 3.95.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.93.0(@cloudflare/workers-types@4.20240925.0) + version: 3.95.0(@cloudflare/workers-types@4.20240925.0) examples/middleware: dependencies: @@ -214,7 +214,7 @@ importers: version: 5.5.4 wrangler: specifier: 'catalog:' - version: 3.93.0(@cloudflare/workers-types@4.20240925.0) + version: 3.95.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.93.0(@cloudflare/workers-types@4.20240925.0) + version: 3.95.0(@cloudflare/workers-types@4.20240925.0) devDependencies: '@opennextjs/cloudflare': specifier: workspace:* @@ -348,7 +348,7 @@ importers: version: 23.0.0 wrangler: specifier: 'catalog:' - version: 3.93.0(@cloudflare/workers-types@4.20240925.0) + version: 3.95.0(@cloudflare/workers-types@4.20240925.0) devDependencies: '@cloudflare/workers-types': specifier: 'catalog:' @@ -730,8 +730,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-shared@0.10.0': - resolution: {integrity: sha512-j3EwZBc9ctavmFVOQT1gqztRO/Plx4ZR0LMEEOif+5YoCcuD1P7/NEjlODPMc5a1w+8+7A/H+Ci8Ihd55+x0Zw==} + '@cloudflare/workers-shared@0.11.0': + resolution: {integrity: sha512-A+lQ8xp7992qSeMmuQ0ssL6CPmm+ZmAv6Ddikan0n1jjpMAic+97l7xtVIsswSn9iLMFPYQ9uNN/8Fl0AgARIQ==} engines: {node: '>=16.7.0'} '@cloudflare/workers-shared@0.6.0': @@ -5030,8 +5030,8 @@ packages: '@cloudflare/workers-types': optional: true - wrangler@3.93.0: - resolution: {integrity: sha512-+wfxjOrtm6YgDS+NdJkB6aiBIS3ED97mNRQmfrEShRJW4pVo4sWY6oQ1FsGT+j4tGHplrTbWCE6U5yTgjNW/lw==} + wrangler@3.95.0: + resolution: {integrity: sha512-3w5852i3FNyDz421K2Qk4v5L8jjwegO5O8E1+VAQmjnm82HFNxpIRUBq0bmM7CTLvOPI/Jjcmj/eAWjQBL7QYg==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: @@ -5968,7 +5968,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20241205.0': optional: true - '@cloudflare/workers-shared@0.10.0': + '@cloudflare/workers-shared@0.11.0': dependencies: mime: 3.0.0 zod: 3.23.8 @@ -10701,10 +10701,10 @@ snapshots: - supports-color - utf-8-validate - wrangler@3.93.0(@cloudflare/workers-types@4.20240925.0): + wrangler@3.95.0(@cloudflare/workers-types@4.20240925.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.10.0 + '@cloudflare/workers-shared': 0.11.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 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 60a142c4..dea53fdd 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.93.0 + "wrangler": ^3.95.0