@vinext/cloudflare 1.0.0-beta.1 → 1.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +193 -1
  2. package/dist/cache/cdn-adapter-config.d.ts +31 -0
  3. package/dist/cache/cdn-adapter-config.js +95 -0
  4. package/dist/cache/cdn-adapter.d.ts +48 -15
  5. package/dist/cache/cdn-adapter.js +50 -13
  6. package/dist/cache/cdn-adapter.runtime.d.ts +26 -4
  7. package/dist/cache/cdn-adapter.runtime.js +150 -37
  8. package/dist/cache/cdn-adapter.worker.d.ts +31 -0
  9. package/dist/cache/cdn-adapter.worker.js +373 -0
  10. package/dist/cache/cdn-build-id.d.ts +6 -0
  11. package/dist/cache/cdn-build-id.js +9 -0
  12. package/dist/cache/config.d.ts +137 -0
  13. package/dist/cache/config.js +87 -0
  14. package/dist/cache/kv-data-adapter.d.ts +32 -8
  15. package/dist/cache/kv-data-adapter.js +5 -1
  16. package/dist/cache/kv-data-adapter.runtime.d.ts +45 -13
  17. package/dist/cache/kv-data-adapter.runtime.js +132 -52
  18. package/dist/cache/kv-key.d.ts +15 -0
  19. package/dist/cache/kv-key.js +43 -0
  20. package/dist/cache/response-store-adapter.d.ts +73 -0
  21. package/dist/cache/response-store-adapter.js +64 -0
  22. package/dist/cache/response-store-adapter.self-contained.worker.d.ts +18 -0
  23. package/dist/cache/response-store-adapter.self-contained.worker.js +12 -0
  24. package/dist/cache/response-store-adapter.service-binding.worker.d.ts +16 -0
  25. package/dist/cache/response-store-adapter.service-binding.worker.js +11 -0
  26. package/dist/cache/response-store-adapter.worker.d.ts +14 -0
  27. package/dist/cache/response-store-adapter.worker.js +278 -0
  28. package/dist/cache/response-store-cdn.runtime.d.ts +5 -0
  29. package/dist/cache/response-store-cdn.runtime.js +41 -0
  30. package/dist/cache/response-store-data.runtime.d.ts +34 -0
  31. package/dist/cache/response-store-data.runtime.js +300 -0
  32. package/dist/cacheability-artifact.d.ts +10 -0
  33. package/dist/cacheability-artifact.js +215 -0
  34. package/dist/cacheability-manifest-limits.d.ts +4 -0
  35. package/dist/cacheability-manifest-limits.js +7 -0
  36. package/dist/cacheability-probe.d.ts +49 -0
  37. package/dist/cacheability-probe.js +660 -0
  38. package/dist/cdn-warm.d.ts +110 -12
  39. package/dist/cdn-warm.js +880 -82
  40. package/dist/cli.d.ts +1 -1
  41. package/dist/cli.js +15 -1
  42. package/dist/deploy-config.d.ts +14 -11
  43. package/dist/deploy-config.js +24 -5
  44. package/dist/deploy-help.d.ts +3 -4
  45. package/dist/deploy-help.js +65 -22
  46. package/dist/deploy.d.ts +139 -42
  47. package/dist/deploy.js +946 -132
  48. package/dist/images/images-optimizer.d.ts +5 -5
  49. package/dist/images/images-optimizer.runtime.d.ts +1 -5
  50. package/dist/prerender-kv-populate.d.ts +3 -4
  51. package/dist/prerender-kv-populate.js +51 -18
  52. package/dist/tpr.d.ts +34 -70
  53. package/dist/tpr.js +50 -603
  54. package/dist/utils/cache-control-metadata.d.ts +3 -4
  55. package/dist/version-deploy.d.ts +46 -17
  56. package/dist/version-deploy.js +151 -14
  57. package/dist/version-headers.d.ts +2 -0
  58. package/dist/version-headers.js +2 -0
  59. package/dist/worker-deployment-url.d.ts +9 -0
  60. package/dist/worker-deployment-url.js +45 -0
  61. package/dist/workers-dev-url.d.ts +2 -3
  62. package/dist/wrangler-config.d.ts +19 -0
  63. package/dist/wrangler-config.js +294 -0
  64. package/dist/wrangler-version-metadata.d.ts +7 -0
  65. package/dist/wrangler-version-metadata.js +9 -0
  66. package/package.json +21 -11
@@ -1,37 +1,135 @@
1
+ import { PrerenderPathManifest, PrerenderRoutePattern } from "vinext/internal/build/prerender-paths";
1
2
  import { PrerenderManifest, PrerenderedPathSelectionOptions } from "vinext/internal/server/prerender-manifest";
2
-
3
3
  //#region src/cdn-warm.d.ts
4
- type CdnWarmOptions = {
4
+ export type CdnWarmOptions = {
5
5
  targetUrl: string;
6
6
  paths: readonly string[];
7
+ /** Pages Router JSON data identities used by client navigation. */
8
+ pagesDataPaths?: readonly string[];
9
+ /** Statically eligible App Route Handler request identities. */
10
+ routeHandlerPaths?: readonly string[];
11
+ routePatterns?: Readonly<Record<string, PrerenderRoutePattern>>;
12
+ /** App Router ISR paths whose definitive client-navigation payload is warmed. */
13
+ rscPaths?: readonly string[];
14
+ /** App Router paths whose deterministic loading-boundary payload is warmed. */
15
+ loadingShellPaths?: readonly string[];
16
+ /** Build identity that the warmed RSC response must have been rendered by. */
17
+ expectedRscBuildId?: string;
18
+ /** Application build identity stamped by the configured CDN adapter. */
19
+ expectedBuildId?: string;
20
+ deploymentId?: string;
7
21
  headers?: HeadersInit;
8
22
  concurrency?: number;
9
23
  timeoutMs?: number;
10
24
  retries?: number;
25
+ retryDelayMs?: number;
26
+ /** Bound the whole warm phase, including queued targets and retries. */
27
+ phaseTimeoutMs?: number;
28
+ /** Retry a newly staged version or preview alias until its routing has propagated. */
29
+ propagatingTarget?: boolean;
30
+ /** @internal Matching skipped targets that may be transient while a staged version propagates. */
31
+ retrySkippedTargetKeys?: ReadonlySet<string>;
32
+ /** Require the response to come from a reusable cache entry, not merely an eligible MISS. */
33
+ requireCacheHit?: boolean;
11
34
  strict?: boolean;
35
+ /** Cache-admission signal exposed by the deployed adapter. */
36
+ statusSource?: "cloudflare" | "data-cache" | "vinext";
12
37
  fetchImpl?: typeof fetch;
13
38
  };
14
- declare const DEFAULT_CDN_WARM_TIMEOUT_MS = 5000;
15
- type PrerenderCdnWarmOptions = Omit<CdnWarmOptions, "paths"> & {
39
+ export declare const DEFAULT_CDN_WARM_CONCURRENCY = 25;
40
+ export declare const DEFAULT_CDN_WARM_TIMEOUT_MS = 10000;
41
+ export declare const DEFAULT_STAGED_READINESS_RETRIES = 60;
42
+ export declare const DEFAULT_STAGED_READINESS_INTERVAL_MS = 1000;
43
+ export declare const DEFAULT_STAGED_READINESS_PHASE_TIMEOUT_MS = 120000;
44
+ export type PrerenderCdnWarmOptions = Omit<CdnWarmOptions, "paths"> & {
16
45
  root: string;
17
46
  includeFallbackShells?: boolean;
47
+ /** Use the manifest build identity unless the configured adapter cannot expose it. */
48
+ validateBuildIdentity?: boolean;
18
49
  };
19
- type CdnWarmResult = {
50
+ export type CdnWarmResult = {
20
51
  total: number;
21
52
  warmed: number;
53
+ skipped: number;
22
54
  failed: number;
23
55
  failures: Array<{
24
56
  path: string;
25
57
  error: string;
26
58
  }>;
59
+ skippedTargets: CdnWarmTarget[];
60
+ warmedPlan: CdnWarmRequestPlan;
61
+ retryPlan: CdnWarmRequestPlan;
27
62
  };
28
- declare function readPrerenderWarmPaths(root: string, options?: {
63
+ export type CdnWarmRequestPlan = {
64
+ loadingShellPaths: string[];
65
+ pagesDataPaths: string[];
66
+ paths: string[];
67
+ rscPaths: string[];
68
+ routeHandlerPaths?: string[];
69
+ routePatterns?: Record<string, PrerenderRoutePattern>;
70
+ };
71
+ export type CdnWarmReadinessResult = {
72
+ ready: true;
73
+ } | {
74
+ error: string;
75
+ ready: false;
76
+ };
77
+ export type PrerenderWarmPlan = {
78
+ appPaths?: string[];
79
+ buildId?: string;
80
+ buildIdentity?: string;
81
+ deploymentId?: string;
82
+ fallbackRoutePatterns?: PrerenderRoutePattern[];
83
+ loadingShellPaths: string[];
84
+ pagesDataPaths?: string[];
85
+ pagesPaths?: string[];
86
+ paths: string[];
87
+ routeHandlerPaths?: string[];
88
+ routePatterns?: Record<string, PrerenderRoutePattern>;
89
+ rscBuildId?: string;
90
+ rscPaths: string[];
91
+ };
92
+ type PrerenderWarmPlanOptions = {
93
+ includeCanonicalRsc?: boolean;
94
+ includeFallbackShells?: boolean;
95
+ strict?: boolean;
96
+ };
97
+ export declare function createPrerenderWarmPlan(root: string, manifest: PrerenderPathManifest, options?: PrerenderWarmPlanOptions): PrerenderWarmPlan;
98
+ export declare function readPrerenderWarmPlan(root: string, options?: PrerenderWarmPlanOptions): PrerenderWarmPlan;
99
+ export declare function readPrerenderWarmPaths(root: string, options?: {
29
100
  includeFallbackShells?: boolean;
30
101
  strict?: boolean;
31
102
  }): string[];
32
- declare function getWarmPathsFromPrerenderManifest(manifest: PrerenderManifest, options?: PrerenderedPathSelectionOptions): string[];
33
- declare function buildWarmupUrl(targetUrl: string, pathname: string): URL;
34
- declare function warmCdnCache(options: CdnWarmOptions): Promise<CdnWarmResult>;
35
- declare function warmCdnCacheFromPrerender(options: PrerenderCdnWarmOptions): Promise<CdnWarmResult>;
36
- //#endregion
37
- export { CdnWarmOptions, CdnWarmResult, DEFAULT_CDN_WARM_TIMEOUT_MS, PrerenderCdnWarmOptions, buildWarmupUrl, getWarmPathsFromPrerenderManifest, readPrerenderWarmPaths, warmCdnCache, warmCdnCacheFromPrerender };
103
+ export declare function getWarmPathsFromPrerenderManifest(manifest: PrerenderManifest, options?: PrerenderedPathSelectionOptions): string[];
104
+ export declare function buildWarmupUrl(targetUrl: string, pathname: string): URL;
105
+ export type CdnWarmTarget = {
106
+ headers?: HeadersInit;
107
+ kind: "app-route" | "html" | "pages-data" | "rsc-full" | "rsc-loading-shell";
108
+ label: string;
109
+ pathname: string;
110
+ sourcePathname: string;
111
+ route?: PrerenderRoutePattern;
112
+ };
113
+ export declare function createCdnWarmTargets(options: Pick<CdnWarmOptions, "deploymentId" | "headers" | "loadingShellPaths" | "pagesDataPaths" | "paths" | "routeHandlerPaths" | "routePatterns" | "rscPaths">): Promise<CdnWarmTarget[]>;
114
+ export declare class CdnOperationProgress {
115
+ private readonly isTTY;
116
+ private lastLineLength;
117
+ update(completed: number, total: number, label: string, phase?: string): void;
118
+ finish(): void;
119
+ }
120
+ /**
121
+ * Wait until version-override requests consistently reach the uploaded build
122
+ * before any real cache key is filled. Every probe has a unique query key, so
123
+ * an early response cannot make a later readiness attempt pass from cache.
124
+ */
125
+ export declare function waitForCdnWarmTargetReadiness(options: Pick<CdnWarmOptions, "deploymentId" | "expectedBuildId" | "expectedRscBuildId" | "fetchImpl" | "headers" | "retries" | "targetUrl" | "timeoutMs"> & {
126
+ plan: CdnWarmRequestPlan;
127
+ maxAttempts?: number;
128
+ phaseTimeoutMs?: number;
129
+ prerenderSecret?: string;
130
+ probeIntervalMs?: number;
131
+ requiredConsecutiveSuccesses?: number;
132
+ }): Promise<CdnWarmReadinessResult>;
133
+ export declare function warmCdnCache(options: CdnWarmOptions): Promise<CdnWarmResult>;
134
+ export declare function warmCdnCacheFromPrerender(options: PrerenderCdnWarmOptions): Promise<CdnWarmResult>;
135
+ //#endregion