diff --git a/.changeset/slow-radios-smoke.md b/.changeset/slow-radios-smoke.md new file mode 100644 index 00000000..15b8c107 --- /dev/null +++ b/.changeset/slow-radios-smoke.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/cloudflare": minor +--- + +add option to generate sourcemap for handler.mjs diff --git a/packages/cloudflare/src/api/config.ts b/packages/cloudflare/src/api/config.ts index 7469375c..5e9b3dd7 100644 --- a/packages/cloudflare/src/api/config.ts +++ b/packages/cloudflare/src/api/config.ts @@ -90,6 +90,7 @@ export function defineCloudflareConfig(config: CloudflareOverrides = {}): OpenNe edgeExternals: ["node:crypto"], cloudflare: { useWorkerdCondition: true, + sourcemap: false, }, dangerous: { enableCacheInterception, @@ -154,6 +155,14 @@ interface OpenNextConfig extends AwsOpenNextConfig { */ useWorkerdCondition?: boolean; + /** + * Whether to genereate a sourcemap for the bundled server. + * + * + * @default false + */ + sourcemap?: boolean; + /** * Disable throwing an error when the config validation fails. * This is useful for overriding some of the default provided by cloudflare. diff --git a/packages/cloudflare/src/cli/build/bundle-server.ts b/packages/cloudflare/src/cli/build/bundle-server.ts index cd08a9e6..d891b50b 100644 --- a/packages/cloudflare/src/cli/build/bundle-server.ts +++ b/packages/cloudflare/src/cli/build/bundle-server.ts @@ -81,6 +81,7 @@ export async function bundleServer(buildOpts: BuildOptions): Promise { minifySyntax: !debug, legalComments: "none", metafile: true, + sourcemap: getOpenNextConfig(buildOpts).cloudflare?.sourcemap, // Next traces files using the default conditions from `nft` (`node`, `require`, `import` and `default`) // // Because we use the `node` platform for this build, the "module" condition is used when no conditions are defined.