diff --git a/packages/cloudflare/src/cdn-warm.ts b/packages/cloudflare/src/cdn-warm.ts index fb9c5adc9..fb1de9efa 100644 --- a/packages/cloudflare/src/cdn-warm.ts +++ b/packages/cloudflare/src/cdn-warm.ts @@ -43,6 +43,7 @@ export type CdnWarmOptions = { fetchImpl?: typeof fetch; }; +export const DEFAULT_CDN_WARM_CONCURRENCY = 25; export const DEFAULT_CDN_WARM_TIMEOUT_MS = 10_000; export type PrerenderCdnWarmOptions = Omit & { @@ -571,7 +572,7 @@ export async function warmCdnCache(options: CdnWarmOptions): Promise - Maximum number of CDN warmup requests in parallel + Maximum number of CDN warmup requests in parallel (default: 25) --warm-cdn-timeout Per-request CDN warmup timeout (default: 10000) --warm-cdn-retries Retries for transient CDN warmup failures (default: 1) --warm-cdn-strict Fail deploy when any CDN warmup request fails diff --git a/tests/cloudflare-cdn-warm.test.ts b/tests/cloudflare-cdn-warm.test.ts index 9e56c94bf..639229a4a 100644 --- a/tests/cloudflare-cdn-warm.test.ts +++ b/tests/cloudflare-cdn-warm.test.ts @@ -4,6 +4,7 @@ import os from "node:os"; import path from "node:path"; import { buildWarmupUrl, + DEFAULT_CDN_WARM_CONCURRENCY, DEFAULT_CDN_WARM_TIMEOUT_MS, readPrerenderWarmPlan, warmCdnCache, @@ -62,7 +63,8 @@ afterEach(() => { }); describe("Cloudflare CDN warmup", () => { - it("uses a 10 second default timeout and preserves query strings", () => { + it("uses the documented warmup defaults and preserves query strings", () => { + expect(DEFAULT_CDN_WARM_CONCURRENCY).toBe(25); expect(DEFAULT_CDN_WARM_TIMEOUT_MS).toBe(10_000); expect(buildWarmupUrl("https://app.example.com", "/search?q=x").href).toBe( "https://app.example.com/search?q=x",