Skip to content

Commit 6d7c4b0

Browse files
committed
feat(cloudflare): enable no_bundle by default
1 parent 2292c66 commit 6d7c4b0

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

src/presets/cloudflare/utils.ts

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -306,29 +306,27 @@ export async function writeWranglerConfig(
306306
}
307307

308308
// Compatibility flags
309-
// prettier-ignore
310-
const compatFlags = new Set(wranglerConfig.compatibility_flags || [])
311-
if (nitro.options.cloudflare?.nodeCompat) {
312-
if (
313-
compatFlags.has("nodejs_compat_v2") &&
314-
compatFlags.has("no_nodejs_compat_v2")
315-
) {
316-
nitro.logger.warn(
317-
"[cloudflare] Wrangler config `compatibility_flags` contains both `nodejs_compat_v2` and `no_nodejs_compat_v2`. Ignoring `nodejs_compat_v2`."
318-
);
319-
compatFlags.delete("nodejs_compat_v2");
320-
}
321-
if (compatFlags.has("nodejs_compat_v2")) {
322-
nitro.logger.warn(
323-
"[cloudflare] Please consider replacing `nodejs_compat_v2` with `nodejs_compat` in your `compatibility_flags` or USE IT AT YOUR OWN RISK as it can cause issues with nitro."
324-
);
325-
} else {
326-
// Add default compatibility flags
327-
compatFlags.add("nodejs_compat");
328-
compatFlags.add("no_nodejs_compat_v2");
329-
}
309+
wranglerConfig.compatibility_flags ??= [];
310+
if (
311+
nitro.options.cloudflare?.nodeCompat &&
312+
!wranglerConfig.compatibility_flags.includes("nodejs_compat")
313+
) {
314+
wranglerConfig.compatibility_flags.push("nodejs_compat");
315+
}
316+
317+
// Avoid double bundling
318+
if (wranglerConfig.no_bundle === undefined) {
319+
wranglerConfig.no_bundle = true;
320+
}
321+
322+
// Scan all server/ chunks
323+
wranglerConfig.rules ??= [];
324+
if (!wranglerConfig.rules.some((rule) => rule.type === "ESModule")) {
325+
wranglerConfig.rules.push({
326+
type: "ESModule",
327+
globs: ["**/*.mjs", "**/*.js"],
328+
});
330329
}
331-
wranglerConfig.compatibility_flags = [...compatFlags];
332330

333331
// Write wrangler.json
334332
await writeFile(

0 commit comments

Comments
 (0)