From 8013cb17015b7a6d78e9aa43b05d5792b6205138 Mon Sep 17 00:00:00 2001 From: Nicolas Dorseuil Date: Tue, 20 May 2025 10:31:40 +0200 Subject: [PATCH 1/3] add an option to not throw on config error --- packages/cloudflare/src/api/config.ts | 8 ++++++++ .../src/cli/build/utils/ensure-cf-config.ts | 12 ++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/cloudflare/src/api/config.ts b/packages/cloudflare/src/api/config.ts index 2046dbd2..5b48b913 100644 --- a/packages/cloudflare/src/api/config.ts +++ b/packages/cloudflare/src/api/config.ts @@ -116,6 +116,14 @@ interface OpenNextConfig extends AwsOpenNextConfig { * @default true */ useWorkerdCondition?: boolean; + + /** + * Disable throwing an error when the config validation fails. + * This is useful for overriding some of the default provided by cloudflare. + * **USE AT YOUR OWN RISK** + * @default false + */ + dangerousDisableConfigValidation?: boolean; }; } diff --git a/packages/cloudflare/src/cli/build/utils/ensure-cf-config.ts b/packages/cloudflare/src/cli/build/utils/ensure-cf-config.ts index dec63dc6..7402d367 100644 --- a/packages/cloudflare/src/cli/build/utils/ensure-cf-config.ts +++ b/packages/cloudflare/src/cli/build/utils/ensure-cf-config.ts @@ -36,9 +36,9 @@ export function ensureCloudflareConfig(config: OpenNextConfig) { } if (Object.values(requirements).some((satisfied) => !satisfied)) { - throw new Error( + const errorMessage = "The `open-next.config.ts` should have a default export like this:\n\n" + - `{ + `{ default: { override: { wrapper: "cloudflare-node", @@ -61,7 +61,11 @@ export function ensureCloudflareConfig(config: OpenNextConfig) { queue: "dummy" | "direct" | function, }, }, - }\n\n`.replace(/^ {8}/gm, "") - ); + }\n\n`.replace(/^ {8}/gm, ""); + if (config.cloudflare?.dangerousDisableConfigValidation) { + logger.warn(errorMessage); + return; + } + throw new Error(errorMessage); } } From 45765592639b0b03e4a37445e6fae19e0b790f3c Mon Sep 17 00:00:00 2001 From: Nicolas Dorseuil Date: Tue, 20 May 2025 10:32:16 +0200 Subject: [PATCH 2/3] changeset --- .changeset/fresh-crews-move.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fresh-crews-move.md diff --git a/.changeset/fresh-crews-move.md b/.changeset/fresh-crews-move.md new file mode 100644 index 00000000..9e61732d --- /dev/null +++ b/.changeset/fresh-crews-move.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/cloudflare": patch +--- + +add an option to not throw on validation of the config From d980d40dd23559da61412087ff61a0f880e1da2f Mon Sep 17 00:00:00 2001 From: Nicolas Dorseuil Date: Tue, 20 May 2025 11:01:43 +0200 Subject: [PATCH 3/3] review --- .changeset/fresh-crews-move.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/fresh-crews-move.md b/.changeset/fresh-crews-move.md index 9e61732d..c2a98955 100644 --- a/.changeset/fresh-crews-move.md +++ b/.changeset/fresh-crews-move.md @@ -2,4 +2,4 @@ "@opennextjs/cloudflare": patch --- -add an option to not throw on validation of the config +add a `cloudflare.dangerousDisableConfigValidation` config option to not throw on validation of the config