@reckona/mreact-router 0.0.111 → 0.0.113

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.
@@ -47,6 +47,7 @@ export interface CloudflareRouteModuleComponentProps<Data = unknown, Env = unkno
47
47
  export type CloudflareRouteModuleComponent<Data = unknown, Env = unknown> = (props: CloudflareRouteModuleComponentProps<Data, Env>) => Response | string | PromiseLike<Response | string>;
48
48
  export interface CloudflareRouteModule<Data = unknown, Env = unknown> {
49
49
  App?: CloudflareRouteModuleComponent<Data, Env> | undefined;
50
+ CloudflareRouteComponent?: CloudflareRouteModuleComponent<Data, Env> | undefined;
50
51
  default?: CloudflareRouteModuleComponent<Data, Env> | undefined;
51
52
  generateMetadata?: ((context: GenerateMetadataContext<Data>) => RouteMetadata | PromiseLike<RouteMetadata | undefined> | undefined) | undefined;
52
53
  loader?: ((context: CloudflareRouteModuleLoaderContext<Env>) => Data | PromiseLike<Data>) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/adapters/cloudflare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EAGvB,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAI3D,MAAM,WAAW,0BAA0B;IACzC,sBAAsB,IAAI,IAAI,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB,CAAC,GAAG,GAAG,OAAO;IAClD,KAAK,CAAC,EACF,CAAC,CACC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,0BAA0B,KAChC,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAC1D,SAAS,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB,CAAC,GAAG,GAAG,OAAO;IACpD,cAAc,EAAE,wBAAwB,CAAC;IACzC,OAAO,EAAE,0BAA0B,CAAC;IACpC,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,+BAA+B,CAAC,GAAG,GAAG,OAAO;IAC5D,MAAM,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAChD,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EACJ,CAAC,CACC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,0BAA0B,KAChC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAClC,SAAS,CAAC;IACd,MAAM,CAAC,EACH,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC3F,SAAS,CAAC;IACd,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB,CAAC,GAAG,GAAG,OAAO;IACrD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,iCAAiC,CAChD,GAAG,GAAG,OAAO,CACb,SAAQ,uBAAuB,CAAC,GAAG,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,kCAAkC,CACjD,GAAG,GAAG,OAAO,CACb,SAAQ,iCAAiC,CAAC,GAAG,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B,CAC3C,GAAG,GAAG,OAAO,CACb,SAAQ,iCAAiC,CAAC,GAAG,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mCAAmC,CAClD,IAAI,GAAG,OAAO,EACd,GAAG,GAAG,OAAO,CACb,SAAQ,iCAAiC,CAAC,GAAG,CAAC;IAC9C,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,8BAA8B,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,CAC1E,KAAK,EAAE,mCAAmC,CAAC,IAAI,EAAE,GAAG,CAAC,KAClD,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,qBAAqB,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO;IAClE,GAAG,CAAC,EAAE,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5D,OAAO,CAAC,EAAE,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAChE,gBAAgB,CAAC,EACb,CAAC,CACC,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,KACnC,aAAa,GAAG,WAAW,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GACxE,SAAS,CAAC;IACd,MAAM,CAAC,EACH,CAAC,CAAC,OAAO,EAAE,kCAAkC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAChF,SAAS,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,MAAM,4BAA4B,CAAC,GAAG,GAAG,OAAO,IAAI,CACxD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,KACvC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEpC,MAAM,WAAW,2BAA2B,CAAC,GAAG,GAAG,OAAO;IACxD,GAAG,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxD,GAAG,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACpD,IAAI,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxD,KAAK,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACtD,IAAI,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACrD,GAAG,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CACrG;AAED,MAAM,MAAM,kCAAkC,CAAC,GAAG,GAAG,OAAO,IACxD,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,GACnC,6BAA6B,GAC7B,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAErC,MAAM,MAAM,6BAA6B,CAAC,GAAG,GAAG,OAAO,IAAI,MAAM,CAC/D,MAAM,EACJ,kCAAkC,CAAC,GAAG,CAAC,GACvC,CAAC,MAAM,kCAAkC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,CACzG,CAAC;AAEF,MAAM,WAAW,oCAAoC,CAAC,GAAG,GAAG,OAAO;IACjE,QAAQ,CAAC,EACL,CAAC,CACC,OAAO,EAAE,mCAAmC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG;QAC3D,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB,KACE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,GACxD,SAAS,CAAC;IACd,OAAO,EAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,yBAAyB,CAAC,GAAG,GAAG,OAAO,IAAI,MAAM,CAC3D,MAAM,EACJ,kCAAkC,CAAC,GAAG,CAAC,GACvC,CAAC,MAAM,kCAAkC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,CACzG,CAAC;AAEF,MAAM,WAAW,oCAAoC;IACnD,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,oCAAoC,CAAC,GAAG,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC/E,+BAA+B,CAAC,GAAG,CAAC,EACpC,QAAQ,CACT;IACC,WAAW,CAAC,EACR,CAAC,CACC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,iCAAiC,CAAC,GAAG,CAAC,KAC5C,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAClC,SAAS,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,kCAAkC,CAAC,GAAG,GAAG,OAAO;IAC/D,OAAO,EACH,sBAAsB,GACtB,CAAC,CACC,GAAG,EAAE,GAAG,KACL,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3F,cAAc,EAAE,wBAAwB,CAAC;IACzC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACvF,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAMD,wBAAgB,8BAA8B,CAAC,GAAG,GAAG,OAAO,EAC1D,OAAO,EAAE,+BAA+B,CAAC,GAAG,CAAC,GAC5C,wBAAwB,CAAC,GAAG,CAAC,CAiC/B;AAED,wBAAgB,mCAAmC,CAAC,GAAG,GAAG,OAAO,EAC/D,OAAO,EAAE,oCAAoC,CAAC,GAAG,CAAC,GACjD,wBAAwB,CAAC,GAAG,CAAC,CAsB/B;AAED,wBAAgB,mCAAmC,CAAC,GAAG,GAAG,OAAO,EAC/D,OAAO,EAAE,oCAAoC,CAAC,GAAG,CAAC,GACjD,WAAW,CAAC,oCAAoC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CA4GvE;AA0ND,wBAAgB,6BAA6B,CAAC,GAAG,GAAG,OAAO,EACzD,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,EACpC,OAAO,EAAE,oCAAoC,GAC5C,6BAA6B,CAAC,GAAG,CAAC,CA4BpC;AAED,wBAAgB,iCAAiC,CAAC,GAAG,GAAG,OAAO,EAC7D,OAAO,EAAE,kCAAkC,CAAC,GAAG,CAAC,GAC/C,qBAAqB,CAAC,GAAG,CAAC,CA2B5B;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,wBAAwB,EAClC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GACxF,GAAG,CAAC,MAAM,CAAC,CAqCb;AAUD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,uBAAuB,CAuBzB"}
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/adapters/cloudflare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EAGvB,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAI3D,MAAM,WAAW,0BAA0B;IACzC,sBAAsB,IAAI,IAAI,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB,CAAC,GAAG,GAAG,OAAO;IAClD,KAAK,CAAC,EACF,CAAC,CACC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,0BAA0B,KAChC,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAC1D,SAAS,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB,CAAC,GAAG,GAAG,OAAO;IACpD,cAAc,EAAE,wBAAwB,CAAC;IACzC,OAAO,EAAE,0BAA0B,CAAC;IACpC,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,+BAA+B,CAAC,GAAG,GAAG,OAAO;IAC5D,MAAM,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAChD,cAAc,EAAE,wBAAwB,CAAC;IACzC,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EACJ,CAAC,CACC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,0BAA0B,KAChC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAClC,SAAS,CAAC;IACd,MAAM,CAAC,EACH,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC3F,SAAS,CAAC;IACd,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB,CAAC,GAAG,GAAG,OAAO;IACrD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,iCAAiC,CAChD,GAAG,GAAG,OAAO,CACb,SAAQ,uBAAuB,CAAC,GAAG,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,kCAAkC,CACjD,GAAG,GAAG,OAAO,CACb,SAAQ,iCAAiC,CAAC,GAAG,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B,CAC3C,GAAG,GAAG,OAAO,CACb,SAAQ,iCAAiC,CAAC,GAAG,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mCAAmC,CAClD,IAAI,GAAG,OAAO,EACd,GAAG,GAAG,OAAO,CACb,SAAQ,iCAAiC,CAAC,GAAG,CAAC;IAC9C,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,8BAA8B,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,CAC1E,KAAK,EAAE,mCAAmC,CAAC,IAAI,EAAE,GAAG,CAAC,KAClD,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,qBAAqB,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO;IAClE,GAAG,CAAC,EAAE,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5D,wBAAwB,CAAC,EAAE,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IACjF,OAAO,CAAC,EAAE,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAChE,gBAAgB,CAAC,EACb,CAAC,CACC,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,KACnC,aAAa,GAAG,WAAW,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GACxE,SAAS,CAAC;IACd,MAAM,CAAC,EACH,CAAC,CAAC,OAAO,EAAE,kCAAkC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAChF,SAAS,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,MAAM,4BAA4B,CAAC,GAAG,GAAG,OAAO,IAAI,CACxD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,4BAA4B,CAAC,GAAG,CAAC,KACvC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEpC,MAAM,WAAW,2BAA2B,CAAC,GAAG,GAAG,OAAO;IACxD,GAAG,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxD,GAAG,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACpD,IAAI,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxD,KAAK,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACtD,IAAI,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACrD,GAAG,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CACrG;AAED,MAAM,MAAM,kCAAkC,CAAC,GAAG,GAAG,OAAO,IACxD,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,GACnC,6BAA6B,GAC7B,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAErC,MAAM,MAAM,6BAA6B,CAAC,GAAG,GAAG,OAAO,IAAI,MAAM,CAC/D,MAAM,EACJ,kCAAkC,CAAC,GAAG,CAAC,GACvC,CAAC,MAAM,kCAAkC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,CACzG,CAAC;AAEF,MAAM,WAAW,oCAAoC,CAAC,GAAG,GAAG,OAAO;IACjE,QAAQ,CAAC,EACL,CAAC,CACC,OAAO,EAAE,mCAAmC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG;QAC3D,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB,KACE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,GACxD,SAAS,CAAC;IACd,OAAO,EAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,yBAAyB,CAAC,GAAG,GAAG,OAAO,IAAI,MAAM,CAC3D,MAAM,EACJ,kCAAkC,CAAC,GAAG,CAAC,GACvC,CAAC,MAAM,kCAAkC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,CACzG,CAAC;AAEF,MAAM,WAAW,oCAAoC;IACnD,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,oCAAoC,CAAC,GAAG,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC/E,+BAA+B,CAAC,GAAG,CAAC,EACpC,QAAQ,CACT;IACC,WAAW,CAAC,EACR,CAAC,CACC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,iCAAiC,CAAC,GAAG,CAAC,KAC5C,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAClC,SAAS,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,kCAAkC,CAAC,GAAG,GAAG,OAAO;IAC/D,OAAO,EACH,sBAAsB,GACtB,CAAC,CACC,GAAG,EAAE,GAAG,KACL,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3F,cAAc,EAAE,wBAAwB,CAAC;IACzC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACvF,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAMD,wBAAgB,8BAA8B,CAAC,GAAG,GAAG,OAAO,EAC1D,OAAO,EAAE,+BAA+B,CAAC,GAAG,CAAC,GAC5C,wBAAwB,CAAC,GAAG,CAAC,CAiC/B;AAED,wBAAgB,mCAAmC,CAAC,GAAG,GAAG,OAAO,EAC/D,OAAO,EAAE,oCAAoC,CAAC,GAAG,CAAC,GACjD,wBAAwB,CAAC,GAAG,CAAC,CAsB/B;AAED,wBAAgB,mCAAmC,CAAC,GAAG,GAAG,OAAO,EAC/D,OAAO,EAAE,oCAAoC,CAAC,GAAG,CAAC,GACjD,WAAW,CAAC,oCAAoC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CA4GvE;AAgOD,wBAAgB,6BAA6B,CAAC,GAAG,GAAG,OAAO,EACzD,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,EACpC,OAAO,EAAE,oCAAoC,GAC5C,6BAA6B,CAAC,GAAG,CAAC,CA4BpC;AAED,wBAAgB,iCAAiC,CAAC,GAAG,GAAG,OAAO,EAC7D,OAAO,EAAE,kCAAkC,CAAC,GAAG,CAAC,GAC/C,qBAAqB,CAAC,GAAG,CAAC,CA2B5B;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,wBAAwB,EAClC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GACxF,GAAG,CAAC,MAAM,CAAC,CAqCb;AAUD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,uBAAuB,CAuBzB"}
@@ -166,6 +166,7 @@ const cloudflareReservedPageModuleExportNames = new Set([
166
166
  "POST",
167
167
  "PUT",
168
168
  "App",
169
+ "CloudflareRouteComponent",
169
170
  "default",
170
171
  "generateMetadata",
171
172
  "generateStaticParams",
@@ -186,6 +187,10 @@ function selectCloudflarePageComponent(module) {
186
187
  if (typeof appExport === "function") {
187
188
  return appExport;
188
189
  }
190
+ const cloudflareRouteComponentExport = readCloudflareModuleExport(module, "CloudflareRouteComponent");
191
+ if (typeof cloudflareRouteComponentExport === "function") {
192
+ return cloudflareRouteComponentExport;
193
+ }
189
194
  for (const name of Object.keys(module)) {
190
195
  const value = readCloudflareModuleExport(module, name);
191
196
  if (!cloudflareReservedPageModuleExportNames.has(name) &&
@@ -205,7 +210,7 @@ function readCloudflareModuleExport(module, name) {
205
210
  }
206
211
  return descriptor.get?.call(module);
207
212
  }
208
- const cloudflareDiagnosticPageModuleExportNames = ["default", "App", "slots"];
213
+ const cloudflareDiagnosticPageModuleExportNames = ["default", "App", "CloudflareRouteComponent", "slots"];
209
214
  // Fixed names + typeof only (never values) so the 500 response is useful without
210
215
  // listing app-specific export names. Accessors are not invoked.
211
216
  function describeCloudflareModuleExports(module) {
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/adapters/cloudflare.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BuiltPrerenderedRoute, BuiltServerManifest } from \"../build.js\";\nimport type { ClientRouteManifestEntry } from \"../client.js\";\nimport type { AppRouterResponseHook } from \"../render.js\";\nimport type {\n GenerateMetadataContext,\n ManifestDescriptor,\n RobotsManifest,\n RouteMetadata,\n SitemapEntry,\n} from \"../types.js\";\nimport {\n emitRouterLog,\n logDurationMs,\n logError,\n logNow,\n requestLogFields,\n type AppRouterLogger,\n} from \"../logger.js\";\nimport { normalizeRoutePath } from \"../route-path.js\";\nimport type { AppRoute } from \"../routes.js\";\nimport { isNotFoundError } from \"../navigation.js\";\nimport { routeSecurityHeaders } from \"../security-headers.js\";\nimport type { AppRouterPrerenderStore } from \"../serve.js\";\nimport { emitRouterDevtoolsEvent } from \"./devtools.js\";\nimport { escapeHtmlAttribute, escapeHtmlText } from \"@reckona/mreact-shared/html-escape\";\n\nexport interface CloudflareExecutionContext {\n passThroughOnException(): void;\n waitUntil(promise: Promise<unknown>): void;\n}\n\nexport interface CloudflareAssetLoader<Env = unknown> {\n fetch?:\n | ((\n pathname: string,\n request: Request,\n env: Env,\n context: CloudflareExecutionContext,\n ) => Response | Promise<Response | undefined> | undefined)\n | undefined;\n}\n\nexport interface CloudflareRenderContext<Env = unknown> {\n clientManifest: CloudflareClientManifest;\n context: CloudflareExecutionContext;\n env: Env;\n serverManifest: BuiltServerManifest;\n}\n\nexport interface CloudflareRequestHandlerOptions<Env = unknown> {\n assets?: CloudflareAssetLoader<Env> | undefined;\n clientManifest: CloudflareClientManifest;\n logger?: AppRouterLogger | undefined;\n onResponse?: AppRouterResponseHook | undefined;\n onError?:\n | ((\n error: unknown,\n request: Request,\n env: Env,\n context: CloudflareExecutionContext,\n ) => Response | Promise<Response>)\n | undefined;\n render?:\n | ((request: Request, context: CloudflareRenderContext<Env>) => Response | Promise<Response>)\n | undefined;\n serverManifest: BuiltServerManifest;\n}\n\nexport interface CloudflareRequestHandler<Env = unknown> {\n fetch(request: Request, env: Env, context: CloudflareExecutionContext): Promise<Response>;\n}\n\nexport interface CloudflareBuiltRouteRenderContext<\n Env = unknown,\n> extends CloudflareRenderContext<Env> {\n params: Record<string, readonly string[] | string>;\n route: AppRoute;\n}\n\nexport interface CloudflareRouteModuleLoaderContext<\n Env = unknown,\n> extends CloudflareBuiltRouteRenderContext<Env> {\n request: Request;\n}\n\nexport interface CloudflareServerRouteContext<\n Env = unknown,\n> extends CloudflareBuiltRouteRenderContext<Env> {\n request: Request;\n}\n\nexport interface CloudflareRouteModuleComponentProps<\n Data = unknown,\n Env = unknown,\n> extends CloudflareBuiltRouteRenderContext<Env> {\n data: Data;\n request: Request;\n}\n\nexport type CloudflareRouteModuleComponent<Data = unknown, Env = unknown> = (\n props: CloudflareRouteModuleComponentProps<Data, Env>,\n) => Response | string | PromiseLike<Response | string>;\n\nexport interface CloudflareRouteModule<Data = unknown, Env = unknown> {\n App?: CloudflareRouteModuleComponent<Data, Env> | undefined;\n default?: CloudflareRouteModuleComponent<Data, Env> | undefined;\n generateMetadata?:\n | ((\n context: GenerateMetadataContext<Data>,\n ) => RouteMetadata | PromiseLike<RouteMetadata | undefined> | undefined)\n | undefined;\n loader?:\n | ((context: CloudflareRouteModuleLoaderContext<Env>) => Data | PromiseLike<Data>)\n | undefined;\n metadata?: RouteMetadata | undefined;\n}\n\nexport type CloudflareServerRouteHandler<Env = unknown> = (\n request: Request,\n context: CloudflareServerRouteContext<Env>,\n) => unknown | PromiseLike<unknown>;\n\nexport interface CloudflareServerRouteModule<Env = unknown> {\n ALL?: CloudflareServerRouteHandler<Env> | undefined;\n DELETE?: CloudflareServerRouteHandler<Env> | undefined;\n default?: CloudflareServerRouteHandler<Env> | undefined;\n GET?: CloudflareServerRouteHandler<Env> | undefined;\n HEAD?: CloudflareServerRouteHandler<Env> | undefined;\n OPTIONS?: CloudflareServerRouteHandler<Env> | undefined;\n PATCH?: CloudflareServerRouteHandler<Env> | undefined;\n POST?: CloudflareServerRouteHandler<Env> | undefined;\n PUT?: CloudflareServerRouteHandler<Env> | undefined;\n}\n\nexport interface CloudflareMetadataRouteContext {\n baseUrl: string;\n host: string;\n params: Record<string, readonly string[] | string>;\n request: Request;\n}\n\nexport interface CloudflareMetadataRouteModule {\n default?: ((context: CloudflareMetadataRouteContext) => unknown | PromiseLike<unknown>) | undefined;\n}\n\nexport type CloudflareRouteModuleRegistryEntry<Env = unknown> =\n | CloudflareRouteModule<unknown, Env>\n | CloudflareMetadataRouteModule\n | CloudflareServerRouteModule<Env>;\n\nexport type CloudflareRouteModuleRegistry<Env = unknown> = Record<\n string,\n | CloudflareRouteModuleRegistryEntry<Env>\n | (() => CloudflareRouteModuleRegistryEntry<Env> | PromiseLike<CloudflareRouteModuleRegistryEntry<Env>>)\n>;\n\nexport interface CloudflareRouteModuleRendererOptions<Env = unknown> {\n document?:\n | ((\n context: CloudflareRouteModuleComponentProps<unknown, Env> & {\n body: string;\n modulePreload: string;\n },\n ) => Response | string | PromiseLike<Response | string>)\n | undefined;\n modules: CloudflareRouteModuleRegistry<Env>;\n}\n\nexport type CloudflareRouteModuleGlob<Env = unknown> = Record<\n string,\n | CloudflareRouteModuleRegistryEntry<Env>\n | (() => CloudflareRouteModuleRegistryEntry<Env> | PromiseLike<CloudflareRouteModuleRegistryEntry<Env>>)\n>;\n\nexport interface CollectCloudflareRouteModulesOptions {\n manifest: BuiltServerManifest;\n}\n\nexport interface CloudflareBuiltRequestHandlerOptions<Env = unknown> extends Omit<\n CloudflareRequestHandlerOptions<Env>,\n \"render\"\n> {\n renderRoute?:\n | ((\n request: Request,\n context: CloudflareBuiltRouteRenderContext<Env>,\n ) => Response | Promise<Response>)\n | undefined;\n}\n\nexport interface CloudflareClientManifest {\n publicAssets?: readonly string[] | undefined;\n routes: ClientRouteManifestEntry[];\n}\n\nexport interface CloudflareAssetBinding {\n fetch(request: Request): Response | Promise<Response>;\n}\n\nexport interface CloudflareStaticAssetLoaderOptions<Env = unknown> {\n binding:\n | CloudflareAssetBinding\n | ((\n env: Env,\n ) => CloudflareAssetBinding | Promise<CloudflareAssetBinding | undefined> | undefined);\n clientManifest: CloudflareClientManifest;\n extraPaths?: readonly string[] | undefined;\n prefix?: string | undefined;\n}\n\nexport interface CloudflareCache {\n delete(request: Request | string): boolean | Promise<boolean>;\n match(request: Request | string): Response | Promise<Response | undefined> | undefined;\n put(request: Request | string, response: Response): void | Promise<void>;\n}\n\nexport interface CloudflarePrerenderStoreOptions {\n cache: CloudflareCache;\n keyOrigin?: string | undefined;\n keyPrefix?: string | undefined;\n}\n\nconst clientPrefix = \"/_mreact/client/\";\nconst defaultPrerenderCacheOrigin = \"https://mreact.local\";\nconst defaultPrerenderCachePrefix = \"/_mreact/prerender\";\n\nexport function createCloudflareRequestHandler<Env = unknown>(\n options: CloudflareRequestHandlerOptions<Env>,\n): CloudflareRequestHandler<Env> {\n return {\n async fetch(request, env, context) {\n const startedAt = logNow();\n try {\n return await handleCloudflareRequest(options, request, env, context);\n } catch (error) {\n const logFields = requestLogFields(request, \"cloudflare\");\n emitRouterDevtoolsEvent({\n method: request.method,\n type: \"router:request:error\",\n url: request.url,\n });\n emitRouterLog(options.logger, \"error\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n error: logError(error),\n type: \"router:request:error\",\n });\n\n return await applyCloudflareResponseHook(\n options.onError === undefined\n ? new Response(\"Internal Server Error\", {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n status: 500,\n })\n : await options.onError(error, request, env, context),\n options,\n request,\n );\n }\n },\n };\n}\n\nexport function createCloudflareBuiltRequestHandler<Env = unknown>(\n options: CloudflareBuiltRequestHandlerOptions<Env>,\n): CloudflareRequestHandler<Env> {\n const sortedRoutes = [...options.serverManifest.routes].sort(compareCloudflareRoutes);\n\n return createCloudflareRequestHandler({\n ...options,\n render(request, context) {\n const matched = matchCloudflareRoute(\n sortedRoutes,\n new URL(request.url).pathname,\n );\n\n if (matched === undefined || options.renderRoute === undefined) {\n return new Response(\"Not Found\", { status: 404 });\n }\n\n return options.renderRoute(request, {\n ...context,\n params: matched.params,\n route: matched.route,\n });\n },\n });\n}\n\nexport function createCloudflareRouteModuleRenderer<Env = unknown>(\n options: CloudflareRouteModuleRendererOptions<Env>,\n): NonNullable<CloudflareBuiltRequestHandlerOptions<Env>[\"renderRoute\"]> {\n return async (request, context) => {\n if (context.route.kind !== \"server\" && isCloudflareNavigationRequest(request)) {\n return cloudflareDocumentReloadNavigationResponse();\n }\n\n const module = await loadCloudflareRouteModule(options.modules, context.route.file);\n\n if (module === undefined) {\n return new Response(`No Cloudflare route module registered for ${context.route.file}.`, {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n status: 500,\n });\n }\n\n if (context.route.kind === \"server\") {\n return withDefaultSecurityHeaders(\n await dispatchCloudflareServerRoute(module as CloudflareServerRouteModule<Env>, request, {\n ...context,\n request,\n }),\n request,\n );\n }\n\n if (context.route.kind === \"metadata\") {\n return withDefaultSecurityHeaders(\n await dispatchCloudflareMetadataRoute(module as CloudflareMetadataRouteModule, request, {\n ...context,\n request,\n }),\n request,\n );\n }\n\n const pageModule = module as CloudflareRouteModule<unknown, Env>;\n const component = selectCloudflarePageComponent(pageModule);\n\n if (component === undefined) {\n return new Response(\n `No Cloudflare page component registered for ${context.route.file}. Module exports: ${describeCloudflareModuleExports(pageModule)}.`,\n {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n status: 500,\n },\n );\n }\n\n const loaderContext = {\n ...context,\n request,\n };\n let data: unknown;\n\n try {\n data = pageModule.loader === undefined ? undefined : await pageModule.loader(loaderContext);\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n\n if (isNotFoundError(error)) {\n return cloudflareNotFoundResponse(request);\n }\n\n throw error;\n }\n const props = {\n ...context,\n data,\n request,\n };\n let rendered: Awaited<ReturnType<typeof component>>;\n\n try {\n rendered = await component(props);\n } catch (error) {\n if (isNotFoundError(error)) {\n return cloudflareNotFoundResponse(request);\n }\n\n throw error;\n }\n\n if (rendered instanceof Response) {\n return withDefaultSecurityHeaders(rendered, request);\n }\n\n const modulePreload = cloudflareModulePreloadTag(context.clientManifest, context.route.path);\n const metadata = await resolveCloudflareRouteMetadata([pageModule], props);\n const documented =\n options.document === undefined\n ? defaultCloudflareDocument(rendered, modulePreload, metadata)\n : await options.document({\n ...props,\n body: rendered,\n modulePreload,\n });\n\n return withDefaultSecurityHeaders(\n documented instanceof Response\n ? documented\n : new Response(documented, {\n headers: { \"content-type\": \"text/html; charset=utf-8\" },\n }),\n request,\n );\n };\n}\n\nasync function dispatchCloudflareServerRoute<Env>(\n module: CloudflareServerRouteModule<Env>,\n request: Request,\n context: CloudflareServerRouteContext<Env>,\n): Promise<Response> {\n const handler =\n module[request.method as keyof CloudflareServerRouteModule<Env>] ?? module.ALL ?? module.default;\n\n if (typeof handler !== \"function\") {\n return new Response(\"Method Not Allowed\", { status: 405 });\n }\n\n let response: unknown;\n\n try {\n response = await handler(request, context);\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n\n throw error;\n }\n\n return response instanceof Response\n ? response\n : new Response(\"Invalid route response\", { status: 500 });\n}\n\nconst cloudflareReservedPageModuleExportNames = new Set([\n \"ALL\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n \"App\",\n \"default\",\n \"generateMetadata\",\n \"generateStaticParams\",\n \"loader\",\n \"metadata\",\n \"middleware\",\n \"prerender\",\n \"revalidate\",\n \"slots\",\n \"stream\",\n]);\n\nfunction selectCloudflarePageComponent<Data, Env>(\n module: CloudflareRouteModule<Data, Env>,\n): CloudflareRouteModuleComponent<Data, Env> | undefined {\n const defaultExport = readCloudflareModuleExport(module, \"default\");\n if (typeof defaultExport === \"function\") {\n return defaultExport as CloudflareRouteModuleComponent<Data, Env>;\n }\n\n const appExport = readCloudflareModuleExport(module, \"App\");\n if (typeof appExport === \"function\") {\n return appExport as CloudflareRouteModuleComponent<Data, Env>;\n }\n\n for (const name of Object.keys(module)) {\n const value = readCloudflareModuleExport(module, name);\n if (\n !cloudflareReservedPageModuleExportNames.has(name) &&\n typeof value === \"function\"\n ) {\n return value as CloudflareRouteModuleComponent<Data, Env>;\n }\n }\n\n return undefined;\n}\n\nfunction readCloudflareModuleExport(module: object, name: string): unknown {\n const descriptor = Object.getOwnPropertyDescriptor(module, name);\n if (descriptor === undefined) {\n return undefined;\n }\n\n if (\"value\" in descriptor) {\n return descriptor.value;\n }\n\n return descriptor.get?.call(module);\n}\n\nconst cloudflareDiagnosticPageModuleExportNames = [\"default\", \"App\", \"slots\"] as const;\n\n// Fixed names + typeof only (never values) so the 500 response is useful without\n// listing app-specific export names. Accessors are not invoked.\nfunction describeCloudflareModuleExports(module: object): string {\n const described = cloudflareDiagnosticPageModuleExportNames.map(\n (name) => `${name}=${typeofCloudflareModuleExport(module, name)}`,\n );\n\n return described.join(\", \");\n}\n\nfunction typeofCloudflareModuleExport(module: object, name: string): string {\n const descriptor = Object.getOwnPropertyDescriptor(module, name);\n if (descriptor === undefined) {\n return \"absent\";\n }\n\n if (!(\"value\" in descriptor)) {\n return \"accessor\";\n }\n\n return typeof descriptor.value;\n}\n\nasync function dispatchCloudflareMetadataRoute(\n module: CloudflareMetadataRouteModule,\n request: Request,\n context: CloudflareBuiltRouteRenderContext & { request: Request },\n): Promise<Response> {\n if (request.method !== \"GET\" && request.method !== \"HEAD\") {\n return new Response(\"Method Not Allowed\", {\n headers: { allow: \"GET, HEAD\" },\n status: 405,\n });\n }\n\n if (typeof module.default !== \"function\") {\n return new Response(\"Invalid metadata route response\", { status: 500 });\n }\n\n const url = new URL(request.url);\n const value = await module.default({\n baseUrl: url.origin,\n host: url.host,\n params: context.params,\n request,\n });\n\n if (value instanceof Response) {\n return value;\n }\n\n if (context.route.kind !== \"metadata\") {\n return new Response(\"Invalid metadata route convention\", { status: 500 });\n }\n\n if (context.route.convention === \"robots\") {\n return new Response(serializeCloudflareRobots(value as RobotsManifest), {\n headers: {\n \"cache-control\": \"public, max-age=3600\",\n \"content-type\": \"text/plain; charset=utf-8\",\n },\n });\n }\n\n if (context.route.convention === \"sitemap\") {\n return new Response(serializeCloudflareSitemap(value as readonly SitemapEntry[]), {\n headers: {\n \"cache-control\": \"no-cache\",\n \"content-type\": \"application/xml; charset=utf-8\",\n },\n });\n }\n\n if (context.route.convention === \"manifest\") {\n return new Response(JSON.stringify(value as ManifestDescriptor), {\n headers: {\n \"cache-control\": \"public, max-age=3600\",\n \"content-type\": \"application/manifest+json; charset=utf-8\",\n },\n });\n }\n\n if (context.route.convention === \"opengraph-image\") {\n const body = value instanceof Uint8Array ? value.slice().buffer : String(value);\n return new Response(body, {\n headers: {\n \"cache-control\": \"public, max-age=3600\",\n \"content-type\": typeof value === \"string\" && value.trimStart().startsWith(\"<svg\")\n ? \"image/svg+xml\"\n : \"application/octet-stream\",\n },\n });\n }\n\n return new Response(\"Invalid metadata route convention\", { status: 500 });\n}\n\nfunction isCloudflareNavigationRequest(request: Request): boolean {\n return request.headers.get(\"x-mreact-navigation\") === \"1\";\n}\n\nfunction cloudflareDocumentReloadNavigationResponse(): Response {\n return new Response(null, {\n headers: { \"x-mreact-navigation\": \"reload\" },\n status: 204,\n });\n}\n\nfunction withDefaultSecurityHeaders(response: Response, request: Request): Response {\n const headers = new Headers(response.headers);\n\n for (const [name, value] of Object.entries(routeSecurityHeaders({ request, security: undefined }))) {\n if (!headers.has(name)) {\n headers.set(name, value);\n }\n }\n\n return new Response(response.body, {\n headers,\n status: response.status,\n statusText: response.statusText,\n });\n}\n\nexport function collectCloudflareRouteModules<Env = unknown>(\n glob: CloudflareRouteModuleGlob<Env>,\n options: CollectCloudflareRouteModulesOptions,\n): CloudflareRouteModuleRegistry<Env> {\n const requiredRoutes = options.manifest.routes.filter((route) =>\n cloudflareRouteRequiresModule(route, options.manifest),\n );\n const matchedKeys = new Set<string>();\n const modules: CloudflareRouteModuleRegistry<Env> = {};\n\n for (const route of requiredRoutes) {\n const match = Object.entries(glob).find(([key]) =>\n cloudflareRouteGlobKeyMatchesRoute(key, route.file),\n );\n\n if (match === undefined) {\n throw new Error(`Missing Cloudflare route module for ${route.file}.`);\n }\n\n const [key, module] = match;\n matchedKeys.add(key);\n modules[route.file] = module;\n }\n\n const extraKeys = Object.keys(glob).filter((key) => !matchedKeys.has(key));\n\n if (extraKeys.length > 0) {\n throw new Error(`Extra Cloudflare route module entries: ${extraKeys.join(\", \")}.`);\n }\n\n return modules;\n}\n\nexport function createCloudflareStaticAssetLoader<Env = unknown>(\n options: CloudflareStaticAssetLoaderOptions<Env>,\n): CloudflareAssetLoader<Env> {\n const prefix = normalizeAssetPrefix(options.prefix ?? clientPrefix);\n const allowedPaths = cloudflareClientAssetPaths(options.clientManifest, {\n extraPaths: options.extraPaths,\n prefix,\n });\n\n return {\n async fetch(pathname, request, env) {\n if (!allowedPaths.has(pathname)) {\n return undefined;\n }\n\n const binding =\n typeof options.binding === \"function\" ? await options.binding(env) : options.binding;\n\n if (binding === undefined) {\n return undefined;\n }\n\n const assetUrl = new URL(request.url);\n assetUrl.pathname = pathname;\n assetUrl.search = \"\";\n\n return await binding.fetch(new Request(assetUrl, request));\n },\n };\n}\n\nexport function cloudflareClientAssetPaths(\n manifest: CloudflareClientManifest,\n options: { extraPaths?: readonly string[] | undefined; prefix?: string | undefined } = {},\n): Set<string> {\n const prefix = normalizeAssetPrefix(options.prefix ?? clientPrefix);\n const paths = new Set<string>([`${prefix}manifest.json`]);\n\n for (const route of manifest.routes) {\n for (const asset of [\n route.script,\n route.sourceMap,\n route.navigationScript,\n ...(route.css ?? []),\n ...(route.imports ?? []),\n ]) {\n const path = safeClientAssetPath(prefix, asset);\n\n if (path !== undefined) {\n paths.add(path);\n }\n }\n }\n\n for (const extraPath of options.extraPaths ?? []) {\n const path = safeClientAssetPath(prefix, extraPath);\n\n if (path !== undefined) {\n paths.add(path);\n }\n }\n\n for (const publicAsset of manifest.publicAssets ?? []) {\n const path = safePublicAssetPath(publicAsset);\n\n if (path !== undefined) {\n paths.add(path);\n }\n }\n\n return paths;\n}\n\nfunction safePublicAssetPath(asset: string): string | undefined {\n if (!asset.startsWith(\"/\") || asset.startsWith(\"//\") || asset.includes(\"..\")) {\n return undefined;\n }\n\n return asset;\n}\n\nexport function createCloudflarePrerenderStore(\n options: CloudflarePrerenderStoreOptions,\n): AppRouterPrerenderStore {\n return {\n async delete(path) {\n await options.cache.delete(prerenderCacheRequest(options, path));\n },\n async get(path) {\n const response = await options.cache.match(prerenderCacheRequest(options, path));\n\n if (response === undefined) {\n return undefined;\n }\n\n return (await response.json()) as BuiltPrerenderedRoute;\n },\n async set(path, entry) {\n await options.cache.put(\n prerenderCacheRequest(options, path),\n Response.json(entry, {\n headers: { \"cache-control\": \"no-store\" },\n }),\n );\n },\n };\n}\n\nasync function handleCloudflareRequest<Env>(\n options: CloudflareRequestHandlerOptions<Env>,\n request: Request,\n env: Env,\n context: CloudflareExecutionContext,\n): Promise<Response> {\n const startedAt = logNow();\n const logFields = requestLogFields(request, \"cloudflare\");\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n type: \"router:request:start\",\n });\n emitRouterDevtoolsEvent({\n method: request.method,\n type: \"router:request:start\",\n url: request.url,\n });\n\n const url = new URL(request.url);\n\n if (\n url.pathname.startsWith(clientPrefix) ||\n isCloudflarePublicAssetPath(options.clientManifest, url.pathname)\n ) {\n const response = await options.assets?.fetch?.(url.pathname, request, env, context);\n const assetResponse = await applyCloudflareResponseHook(\n response ?? new Response(\"Not Found\", { status: 404 }),\n options,\n request,\n );\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: assetResponse.status,\n type: \"router:request:end\",\n });\n return assetResponse;\n }\n\n const staticResponse = prerenderedResponse(\n options.serverManifest.prerenderedRoutes,\n normalizeRoutePath(url.pathname),\n request.method,\n isCloudflareNavigationRequest(request),\n );\n\n if (staticResponse !== undefined) {\n emitRouterDevtoolsEvent({\n method: request.method,\n status: staticResponse.status,\n type: \"router:request:end\",\n url: request.url,\n });\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: staticResponse.status,\n type: \"router:request:end\",\n });\n return await applyCloudflareResponseHook(staticResponse, options, request);\n }\n\n if (options.render === undefined) {\n const notFoundResponse = await applyCloudflareResponseHook(\n new Response(\"Not Found\", { status: 404 }),\n options,\n request,\n );\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: notFoundResponse.status,\n type: \"router:request:end\",\n });\n return notFoundResponse;\n }\n\n const renderedResponse = await options.render(request, {\n clientManifest: options.clientManifest,\n context,\n env,\n serverManifest: options.serverManifest,\n });\n const response = await applyCloudflareResponseHook(\n preserveCloudflareStreamedHtmlResponse(renderedResponse),\n options,\n request,\n );\n emitRouterDevtoolsEvent({\n method: request.method,\n status: response.status,\n type: \"router:request:end\",\n url: request.url,\n });\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: response.status,\n type: \"router:request:end\",\n });\n\n return response;\n}\n\nfunction isCloudflarePublicAssetPath(manifest: CloudflareClientManifest, pathname: string): boolean {\n return (manifest.publicAssets ?? []).includes(pathname);\n}\n\nasync function applyCloudflareResponseHook<Env>(\n response: Response,\n options: Pick<CloudflareRequestHandlerOptions<Env>, \"onResponse\">,\n request: Request,\n): Promise<Response> {\n const hooked = await options.onResponse?.(response, { request });\n\n return hooked instanceof Response ? hooked : response;\n}\n\nfunction preserveCloudflareStreamedHtmlResponse(response: Response): Response {\n if (\n response.headers.get(\"x-mreact-stream\") !== \"1\" ||\n !isHtmlContentType(response.headers.get(\"content-type\"))\n ) {\n return response;\n }\n\n const headers = new Headers(response.headers);\n const cacheControl = headers.get(\"cache-control\");\n\n if (!cacheControlHasDirective(cacheControl, \"no-transform\")) {\n headers.set(\n \"cache-control\",\n cacheControl === null || cacheControl.trim() === \"\"\n ? \"no-transform\"\n : `${cacheControl}, no-transform`,\n );\n }\n\n if (headers.get(\"content-encoding\") === null) {\n headers.set(\"content-encoding\", \"identity\");\n }\n\n return new Response(response.body, {\n headers,\n status: response.status,\n statusText: response.statusText,\n });\n}\n\nfunction isHtmlContentType(contentType: string | null): boolean {\n return contentType?.toLowerCase().split(\";\", 1)[0]?.trim() === \"text/html\";\n}\n\nfunction cacheControlHasDirective(cacheControl: string | null, directive: string): boolean {\n if (cacheControl === null) {\n return false;\n }\n\n const normalizedDirective = directive.toLowerCase();\n return cacheControl\n .split(\",\")\n .some((part) => part.trim().toLowerCase() === normalizedDirective);\n}\n\nfunction prerenderedResponse(\n prerenderedRoutes: Record<string, BuiltPrerenderedRoute> | undefined,\n path: string,\n method: string,\n isNavigation: boolean,\n): Response | undefined {\n if (method !== \"GET\" && method !== \"HEAD\") {\n return undefined;\n }\n\n const prerendered = prerenderedRoutes?.[path];\n\n if (prerendered === undefined) {\n return undefined;\n }\n\n if (isNavigation && !prerendered.html.includes(\"data-mreact-route-id\")) {\n return cloudflareDocumentReloadNavigationResponse();\n }\n\n return new Response(method === \"HEAD\" ? null : prerendered.html, {\n headers: prerendered.headers,\n status: prerendered.status,\n });\n}\n\nfunction cloudflareRouteRequiresModule(\n route: AppRoute,\n manifest: BuiltServerManifest,\n): boolean {\n return (\n route.kind === \"metadata\" ||\n route.kind === \"server\" ||\n (route.kind === \"page\" &&\n (route.segments.some((segment) => segment.kind !== \"static\") ||\n manifest.prerenderedRoutes?.[route.path] === undefined))\n );\n}\n\nfunction cloudflareRouteGlobKeyMatchesRoute(key: string, routeFile: string): boolean {\n const normalizedKey = normalizeCloudflareRouteModulePath(key);\n const normalizedRoute = normalizeCloudflareRouteModulePath(routeFile);\n\n return (\n normalizedKey === normalizedRoute ||\n normalizedKey.endsWith(`/${normalizedRoute}`)\n );\n}\n\nfunction normalizeCloudflareRouteModulePath(path: string): string {\n const withoutPrefix = path\n .replace(/\\\\/g, \"/\")\n .replace(/^\\.\\//, \"\")\n .replace(/^\\/+/, \"\");\n\n return withoutPrefix.replace(/\\.(?:mjs|js|ts|tsx)$/, \"\");\n}\n\nfunction matchCloudflareRoute(\n routes: readonly AppRoute[],\n pathname: string,\n): { params: Record<string, readonly string[] | string>; route: AppRoute } | undefined {\n const normalizedPath = normalizeRoutePath(pathname);\n const pathSegments = normalizedPath === \"/\" ? [] : normalizedPath.slice(1).split(\"/\");\n\n for (const route of routes) {\n const params: Record<string, readonly string[] | string> = {};\n const catchAllIndex = route.segments.findIndex((segment) => segment.kind === \"catch-all\");\n\n if (catchAllIndex === -1 && route.segments.length !== pathSegments.length) {\n continue;\n }\n\n if (\n catchAllIndex !== -1 &&\n pathSegments.length <\n catchAllIndex + 1 + route.segments.length - catchAllIndex - 1\n ) {\n continue;\n }\n\n let matched = true;\n\n for (const [index, segment] of route.segments.entries()) {\n const value = pathSegments[index];\n\n if (value === undefined) {\n matched = false;\n break;\n }\n\n if (segment.kind === \"static\") {\n if (segment.value !== value) {\n matched = false;\n break;\n }\n continue;\n }\n\n if (segment.kind === \"dynamic\") {\n const decoded = safeDecodePathSegment(value);\n if (decoded === undefined) {\n matched = false;\n break;\n }\n params[segment.name] = decoded;\n continue;\n }\n\n const suffixSegments = route.segments.slice(index + 1);\n const catchAllEnd = pathSegments.length - suffixSegments.length;\n\n if (catchAllEnd <= index) {\n matched = false;\n break;\n }\n\n const decodedParts: string[] = [];\n for (const part of pathSegments.slice(index, catchAllEnd)) {\n const decoded = safeDecodePathSegment(part);\n if (decoded === undefined) {\n matched = false;\n break;\n }\n decodedParts.push(decoded);\n }\n params[segment.name] = decodedParts;\n\n for (let suffixIndex = 0; suffixIndex < suffixSegments.length; suffixIndex += 1) {\n const suffixSegment = suffixSegments[suffixIndex];\n const suffixValue = pathSegments[catchAllEnd + suffixIndex];\n\n if (suffixSegment === undefined || suffixValue === undefined) {\n matched = false;\n break;\n }\n\n if (suffixSegment.kind === \"static\") {\n if (suffixSegment.value !== suffixValue) {\n matched = false;\n break;\n }\n continue;\n }\n\n if (suffixSegment.kind === \"dynamic\") {\n const decoded = safeDecodePathSegment(suffixValue);\n if (decoded === undefined) {\n matched = false;\n break;\n }\n params[suffixSegment.name] = decoded;\n continue;\n }\n\n matched = false;\n break;\n }\n\n break;\n }\n\n if (matched) {\n return { params, route };\n }\n }\n\n return undefined;\n}\n\nfunction compareCloudflareRoutes(a: AppRoute, b: AppRoute): number {\n const scoreDelta = routeSpecificityScore(b) - routeSpecificityScore(a);\n\n return scoreDelta === 0 ? a.path.localeCompare(b.path) || a.kind.localeCompare(b.kind) : scoreDelta;\n}\n\nfunction routeSpecificityScore(route: AppRoute): number {\n return route.segments.reduce((score, segment) => {\n if (segment.kind === \"static\") {\n return score + 100;\n }\n\n if (segment.kind === \"dynamic\") {\n return score + 10;\n }\n\n return score;\n }, route.segments.length);\n}\n\nfunction safeDecodePathSegment(segment: string): string | undefined {\n try {\n return decodeURIComponent(segment);\n } catch {\n return undefined;\n }\n}\n\nfunction normalizeAssetPrefix(prefix: string): string {\n const withLeadingSlash = prefix.startsWith(\"/\") ? prefix : `/${prefix}`;\n\n return withLeadingSlash.endsWith(\"/\") ? withLeadingSlash : `${withLeadingSlash}/`;\n}\n\nfunction safeClientAssetPath(prefix: string, asset: string | undefined): string | undefined {\n if (asset === undefined || asset === \"\" || asset.startsWith(\"/\") || asset.includes(\"\\\\\")) {\n return undefined;\n }\n\n const segments = asset.split(\"/\");\n\n if (segments.some((segment) => unsafeAssetSegment(segment))) {\n return undefined;\n }\n\n return `${prefix}${segments.join(\"/\")}`;\n}\n\nfunction unsafeAssetSegment(segment: string): boolean {\n if (segment === \"\" || segment === \".\" || segment === \"..\") {\n return true;\n }\n\n try {\n const decoded = decodeURIComponent(segment);\n return decoded === \".\" || decoded === \"..\" || decoded.includes(\"/\") || decoded.includes(\"\\\\\");\n } catch {\n return true;\n }\n}\n\nasync function loadCloudflareRouteModule<Env>(\n modules: CloudflareRouteModuleRegistry<Env>,\n file: string,\n): Promise<CloudflareRouteModuleRegistryEntry<Env> | undefined> {\n const entry = modules[file];\n\n return typeof entry === \"function\" ? await entry() : entry;\n}\n\nfunction cloudflareModulePreloadTag(manifest: CloudflareClientManifest, routePath: string): string {\n const script = manifest.routes.find((route) => route.path === routePath)?.script;\n\n return script === undefined\n ? \"\"\n : `<link rel=\"modulepreload\" href=\"/_mreact/client/${escapeHtmlAttribute(script)}\">`;\n}\n\nasync function resolveCloudflareRouteMetadata<Data, Env>(\n modules: readonly CloudflareRouteModule<Data, Env>[],\n context: GenerateMetadataContext<Data>,\n): Promise<RouteMetadata | undefined> {\n const metadata: RouteMetadata[] = [];\n\n for (const module of modules) {\n let next = module.metadata;\n\n if (module.generateMetadata !== undefined) {\n const generated = await module.generateMetadata(context);\n next = mergeCloudflareRouteMetadata([next, generated].filter(isCloudflareRouteMetadata));\n }\n\n if (next !== undefined) {\n metadata.push(next);\n }\n }\n\n return mergeCloudflareRouteMetadata(metadata);\n}\n\nfunction isCloudflareRouteMetadata(value: RouteMetadata | undefined): value is RouteMetadata {\n return value !== undefined;\n}\n\nfunction mergeCloudflareRouteMetadata(metadata: readonly RouteMetadata[]): RouteMetadata | undefined {\n if (metadata.length === 0) {\n return undefined;\n }\n\n return metadata.reduce<RouteMetadata>((merged, next) => {\n const openGraph = mergeCloudflareMetadataObject(merged.openGraph, next.openGraph);\n const openGraphImages = mergeCloudflareMetadataArrays(\n merged.openGraph?.images,\n next.openGraph?.images,\n );\n\n const alternates = mergeCloudflareMetadataObject(merged.alternates, next.alternates);\n const csp = mergeCloudflareMetadataObject(merged.csp, next.csp);\n const head = mergeCloudflareMetadataArrays(merged.head, next.head);\n const icons = mergeCloudflareMetadataObject(merged.icons, next.icons);\n const mergedMetadata: RouteMetadata = {\n ...merged,\n ...next,\n ...(alternates === undefined ? {} : { alternates }),\n ...(csp === undefined ? {} : { csp }),\n ...(head === undefined ? {} : { head }),\n ...(icons === undefined ? {} : { icons }),\n ...(openGraph === undefined && openGraphImages === undefined\n ? {}\n : { openGraph: { ...openGraph, ...(openGraphImages === undefined ? {} : { images: openGraphImages }) } }),\n };\n\n return mergedMetadata;\n }, {});\n}\n\nfunction mergeCloudflareMetadataObject<T extends object>(\n left: T | undefined,\n right: T | undefined,\n): T | undefined {\n if (left === undefined) {\n return right;\n }\n if (right === undefined) {\n return left;\n }\n\n return { ...left, ...right };\n}\n\nfunction mergeCloudflareMetadataArrays<T>(\n left: readonly T[] | undefined,\n right: readonly T[] | undefined,\n): readonly T[] | undefined {\n if (left === undefined || left.length === 0) {\n return right;\n }\n if (right === undefined || right.length === 0) {\n return left;\n }\n\n return [...left, ...right];\n}\n\nfunction defaultCloudflareDocument(\n body: string,\n modulePreload: string,\n metadata: RouteMetadata | undefined,\n): string {\n return `<!DOCTYPE html><html><head>${modulePreload}${cloudflareMetadataTitle(metadata)}</head><body>${body}</body></html>`;\n}\n\nfunction cloudflareMetadataTitle(metadata: RouteMetadata | undefined): string {\n if (metadata?.title === undefined) {\n return \"\";\n }\n\n return `<title>${escapeHtmlText(metadataString(metadata.title))}</title>`;\n}\n\nfunction metadataString(value: boolean | number | string): string {\n return String(value);\n}\n\nfunction serializeCloudflareRobots(manifest: RobotsManifest): string {\n const lines: string[] = [];\n const rules =\n manifest.rules === undefined\n ? []\n : Array.isArray(manifest.rules)\n ? manifest.rules\n : [manifest.rules];\n\n for (const rule of rules) {\n for (const userAgent of arrayValue(rule.userAgent)) {\n lines.push(`User-agent: ${userAgent}`);\n }\n for (const allow of arrayValue(rule.allow)) {\n lines.push(`Allow: ${allow}`);\n }\n for (const disallow of arrayValue(rule.disallow)) {\n lines.push(`Disallow: ${disallow}`);\n }\n }\n\n for (const sitemap of arrayValue(manifest.sitemap)) {\n lines.push(`Sitemap: ${sitemap}`);\n }\n if (manifest.host !== undefined) {\n lines.push(`Host: ${manifest.host}`);\n }\n\n return `${lines.join(\"\\n\")}\\n`;\n}\n\nfunction serializeCloudflareSitemap(entries: readonly SitemapEntry[]): string {\n const urls = entries\n .map((entry) => {\n const fields = [\n `<loc>${escapeXml(entry.url)}</loc>`,\n entry.lastModified === undefined\n ? undefined\n : `<lastmod>${escapeXml(sitemapDate(entry.lastModified))}</lastmod>`,\n entry.changeFrequency === undefined\n ? undefined\n : `<changefreq>${escapeXml(entry.changeFrequency)}</changefreq>`,\n entry.priority === undefined ? undefined : `<priority>${entry.priority}</priority>`,\n ].filter((field): field is string => field !== undefined);\n\n return `<url>${fields.join(\"\")}</url>`;\n })\n .join(\"\");\n\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">${urls}</urlset>`;\n}\n\nfunction sitemapDate(value: Date | number | string): string {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return typeof value === \"number\" ? new Date(value).toISOString() : value;\n}\n\nfunction arrayValue<T>(value: T | readonly T[] | undefined): readonly T[] {\n if (value === undefined) {\n return [];\n }\n\n return Array.isArray(value) ? (value as readonly T[]) : [value as T];\n}\n\nfunction escapeXml(value: string): string {\n return value\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll('\"', \"&quot;\");\n}\n\nfunction cloudflareNotFoundResponse(request: Request): Response {\n return withDefaultSecurityHeaders(\n new Response(\"<!DOCTYPE html><html><head></head><body>Not Found</body></html>\", {\n headers: { \"content-type\": \"text/html; charset=utf-8\" },\n status: 404,\n }),\n request,\n );\n}\n\nfunction prerenderCacheRequest(options: CloudflarePrerenderStoreOptions, path: string): Request {\n const origin = options.keyOrigin ?? defaultPrerenderCacheOrigin;\n const prefix = options.keyPrefix ?? defaultPrerenderCachePrefix;\n const normalizedPath = normalizeRoutePath(path.startsWith(\"/\") ? path : `/${path}`);\n const url = new URL(`${normalizePrerenderPrefix(prefix)}${normalizedPath}`, origin);\n\n return new Request(url, { method: \"GET\" });\n}\n\nfunction normalizePrerenderPrefix(prefix: string): string {\n const withLeadingSlash = prefix.startsWith(\"/\") ? prefix : `/${prefix}`;\n\n return withLeadingSlash.replace(/\\/+$/, \"\");\n}\n"]}
1
+ {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/adapters/cloudflare.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BuiltPrerenderedRoute, BuiltServerManifest } from \"../build.js\";\nimport type { ClientRouteManifestEntry } from \"../client.js\";\nimport type { AppRouterResponseHook } from \"../render.js\";\nimport type {\n GenerateMetadataContext,\n ManifestDescriptor,\n RobotsManifest,\n RouteMetadata,\n SitemapEntry,\n} from \"../types.js\";\nimport {\n emitRouterLog,\n logDurationMs,\n logError,\n logNow,\n requestLogFields,\n type AppRouterLogger,\n} from \"../logger.js\";\nimport { normalizeRoutePath } from \"../route-path.js\";\nimport type { AppRoute } from \"../routes.js\";\nimport { isNotFoundError } from \"../navigation.js\";\nimport { routeSecurityHeaders } from \"../security-headers.js\";\nimport type { AppRouterPrerenderStore } from \"../serve.js\";\nimport { emitRouterDevtoolsEvent } from \"./devtools.js\";\nimport { escapeHtmlAttribute, escapeHtmlText } from \"@reckona/mreact-shared/html-escape\";\n\nexport interface CloudflareExecutionContext {\n passThroughOnException(): void;\n waitUntil(promise: Promise<unknown>): void;\n}\n\nexport interface CloudflareAssetLoader<Env = unknown> {\n fetch?:\n | ((\n pathname: string,\n request: Request,\n env: Env,\n context: CloudflareExecutionContext,\n ) => Response | Promise<Response | undefined> | undefined)\n | undefined;\n}\n\nexport interface CloudflareRenderContext<Env = unknown> {\n clientManifest: CloudflareClientManifest;\n context: CloudflareExecutionContext;\n env: Env;\n serverManifest: BuiltServerManifest;\n}\n\nexport interface CloudflareRequestHandlerOptions<Env = unknown> {\n assets?: CloudflareAssetLoader<Env> | undefined;\n clientManifest: CloudflareClientManifest;\n logger?: AppRouterLogger | undefined;\n onResponse?: AppRouterResponseHook | undefined;\n onError?:\n | ((\n error: unknown,\n request: Request,\n env: Env,\n context: CloudflareExecutionContext,\n ) => Response | Promise<Response>)\n | undefined;\n render?:\n | ((request: Request, context: CloudflareRenderContext<Env>) => Response | Promise<Response>)\n | undefined;\n serverManifest: BuiltServerManifest;\n}\n\nexport interface CloudflareRequestHandler<Env = unknown> {\n fetch(request: Request, env: Env, context: CloudflareExecutionContext): Promise<Response>;\n}\n\nexport interface CloudflareBuiltRouteRenderContext<\n Env = unknown,\n> extends CloudflareRenderContext<Env> {\n params: Record<string, readonly string[] | string>;\n route: AppRoute;\n}\n\nexport interface CloudflareRouteModuleLoaderContext<\n Env = unknown,\n> extends CloudflareBuiltRouteRenderContext<Env> {\n request: Request;\n}\n\nexport interface CloudflareServerRouteContext<\n Env = unknown,\n> extends CloudflareBuiltRouteRenderContext<Env> {\n request: Request;\n}\n\nexport interface CloudflareRouteModuleComponentProps<\n Data = unknown,\n Env = unknown,\n> extends CloudflareBuiltRouteRenderContext<Env> {\n data: Data;\n request: Request;\n}\n\nexport type CloudflareRouteModuleComponent<Data = unknown, Env = unknown> = (\n props: CloudflareRouteModuleComponentProps<Data, Env>,\n) => Response | string | PromiseLike<Response | string>;\n\nexport interface CloudflareRouteModule<Data = unknown, Env = unknown> {\n App?: CloudflareRouteModuleComponent<Data, Env> | undefined;\n CloudflareRouteComponent?: CloudflareRouteModuleComponent<Data, Env> | undefined;\n default?: CloudflareRouteModuleComponent<Data, Env> | undefined;\n generateMetadata?:\n | ((\n context: GenerateMetadataContext<Data>,\n ) => RouteMetadata | PromiseLike<RouteMetadata | undefined> | undefined)\n | undefined;\n loader?:\n | ((context: CloudflareRouteModuleLoaderContext<Env>) => Data | PromiseLike<Data>)\n | undefined;\n metadata?: RouteMetadata | undefined;\n}\n\nexport type CloudflareServerRouteHandler<Env = unknown> = (\n request: Request,\n context: CloudflareServerRouteContext<Env>,\n) => unknown | PromiseLike<unknown>;\n\nexport interface CloudflareServerRouteModule<Env = unknown> {\n ALL?: CloudflareServerRouteHandler<Env> | undefined;\n DELETE?: CloudflareServerRouteHandler<Env> | undefined;\n default?: CloudflareServerRouteHandler<Env> | undefined;\n GET?: CloudflareServerRouteHandler<Env> | undefined;\n HEAD?: CloudflareServerRouteHandler<Env> | undefined;\n OPTIONS?: CloudflareServerRouteHandler<Env> | undefined;\n PATCH?: CloudflareServerRouteHandler<Env> | undefined;\n POST?: CloudflareServerRouteHandler<Env> | undefined;\n PUT?: CloudflareServerRouteHandler<Env> | undefined;\n}\n\nexport interface CloudflareMetadataRouteContext {\n baseUrl: string;\n host: string;\n params: Record<string, readonly string[] | string>;\n request: Request;\n}\n\nexport interface CloudflareMetadataRouteModule {\n default?: ((context: CloudflareMetadataRouteContext) => unknown | PromiseLike<unknown>) | undefined;\n}\n\nexport type CloudflareRouteModuleRegistryEntry<Env = unknown> =\n | CloudflareRouteModule<unknown, Env>\n | CloudflareMetadataRouteModule\n | CloudflareServerRouteModule<Env>;\n\nexport type CloudflareRouteModuleRegistry<Env = unknown> = Record<\n string,\n | CloudflareRouteModuleRegistryEntry<Env>\n | (() => CloudflareRouteModuleRegistryEntry<Env> | PromiseLike<CloudflareRouteModuleRegistryEntry<Env>>)\n>;\n\nexport interface CloudflareRouteModuleRendererOptions<Env = unknown> {\n document?:\n | ((\n context: CloudflareRouteModuleComponentProps<unknown, Env> & {\n body: string;\n modulePreload: string;\n },\n ) => Response | string | PromiseLike<Response | string>)\n | undefined;\n modules: CloudflareRouteModuleRegistry<Env>;\n}\n\nexport type CloudflareRouteModuleGlob<Env = unknown> = Record<\n string,\n | CloudflareRouteModuleRegistryEntry<Env>\n | (() => CloudflareRouteModuleRegistryEntry<Env> | PromiseLike<CloudflareRouteModuleRegistryEntry<Env>>)\n>;\n\nexport interface CollectCloudflareRouteModulesOptions {\n manifest: BuiltServerManifest;\n}\n\nexport interface CloudflareBuiltRequestHandlerOptions<Env = unknown> extends Omit<\n CloudflareRequestHandlerOptions<Env>,\n \"render\"\n> {\n renderRoute?:\n | ((\n request: Request,\n context: CloudflareBuiltRouteRenderContext<Env>,\n ) => Response | Promise<Response>)\n | undefined;\n}\n\nexport interface CloudflareClientManifest {\n publicAssets?: readonly string[] | undefined;\n routes: ClientRouteManifestEntry[];\n}\n\nexport interface CloudflareAssetBinding {\n fetch(request: Request): Response | Promise<Response>;\n}\n\nexport interface CloudflareStaticAssetLoaderOptions<Env = unknown> {\n binding:\n | CloudflareAssetBinding\n | ((\n env: Env,\n ) => CloudflareAssetBinding | Promise<CloudflareAssetBinding | undefined> | undefined);\n clientManifest: CloudflareClientManifest;\n extraPaths?: readonly string[] | undefined;\n prefix?: string | undefined;\n}\n\nexport interface CloudflareCache {\n delete(request: Request | string): boolean | Promise<boolean>;\n match(request: Request | string): Response | Promise<Response | undefined> | undefined;\n put(request: Request | string, response: Response): void | Promise<void>;\n}\n\nexport interface CloudflarePrerenderStoreOptions {\n cache: CloudflareCache;\n keyOrigin?: string | undefined;\n keyPrefix?: string | undefined;\n}\n\nconst clientPrefix = \"/_mreact/client/\";\nconst defaultPrerenderCacheOrigin = \"https://mreact.local\";\nconst defaultPrerenderCachePrefix = \"/_mreact/prerender\";\n\nexport function createCloudflareRequestHandler<Env = unknown>(\n options: CloudflareRequestHandlerOptions<Env>,\n): CloudflareRequestHandler<Env> {\n return {\n async fetch(request, env, context) {\n const startedAt = logNow();\n try {\n return await handleCloudflareRequest(options, request, env, context);\n } catch (error) {\n const logFields = requestLogFields(request, \"cloudflare\");\n emitRouterDevtoolsEvent({\n method: request.method,\n type: \"router:request:error\",\n url: request.url,\n });\n emitRouterLog(options.logger, \"error\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n error: logError(error),\n type: \"router:request:error\",\n });\n\n return await applyCloudflareResponseHook(\n options.onError === undefined\n ? new Response(\"Internal Server Error\", {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n status: 500,\n })\n : await options.onError(error, request, env, context),\n options,\n request,\n );\n }\n },\n };\n}\n\nexport function createCloudflareBuiltRequestHandler<Env = unknown>(\n options: CloudflareBuiltRequestHandlerOptions<Env>,\n): CloudflareRequestHandler<Env> {\n const sortedRoutes = [...options.serverManifest.routes].sort(compareCloudflareRoutes);\n\n return createCloudflareRequestHandler({\n ...options,\n render(request, context) {\n const matched = matchCloudflareRoute(\n sortedRoutes,\n new URL(request.url).pathname,\n );\n\n if (matched === undefined || options.renderRoute === undefined) {\n return new Response(\"Not Found\", { status: 404 });\n }\n\n return options.renderRoute(request, {\n ...context,\n params: matched.params,\n route: matched.route,\n });\n },\n });\n}\n\nexport function createCloudflareRouteModuleRenderer<Env = unknown>(\n options: CloudflareRouteModuleRendererOptions<Env>,\n): NonNullable<CloudflareBuiltRequestHandlerOptions<Env>[\"renderRoute\"]> {\n return async (request, context) => {\n if (context.route.kind !== \"server\" && isCloudflareNavigationRequest(request)) {\n return cloudflareDocumentReloadNavigationResponse();\n }\n\n const module = await loadCloudflareRouteModule(options.modules, context.route.file);\n\n if (module === undefined) {\n return new Response(`No Cloudflare route module registered for ${context.route.file}.`, {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n status: 500,\n });\n }\n\n if (context.route.kind === \"server\") {\n return withDefaultSecurityHeaders(\n await dispatchCloudflareServerRoute(module as CloudflareServerRouteModule<Env>, request, {\n ...context,\n request,\n }),\n request,\n );\n }\n\n if (context.route.kind === \"metadata\") {\n return withDefaultSecurityHeaders(\n await dispatchCloudflareMetadataRoute(module as CloudflareMetadataRouteModule, request, {\n ...context,\n request,\n }),\n request,\n );\n }\n\n const pageModule = module as CloudflareRouteModule<unknown, Env>;\n const component = selectCloudflarePageComponent(pageModule);\n\n if (component === undefined) {\n return new Response(\n `No Cloudflare page component registered for ${context.route.file}. Module exports: ${describeCloudflareModuleExports(pageModule)}.`,\n {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n status: 500,\n },\n );\n }\n\n const loaderContext = {\n ...context,\n request,\n };\n let data: unknown;\n\n try {\n data = pageModule.loader === undefined ? undefined : await pageModule.loader(loaderContext);\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n\n if (isNotFoundError(error)) {\n return cloudflareNotFoundResponse(request);\n }\n\n throw error;\n }\n const props = {\n ...context,\n data,\n request,\n };\n let rendered: Awaited<ReturnType<typeof component>>;\n\n try {\n rendered = await component(props);\n } catch (error) {\n if (isNotFoundError(error)) {\n return cloudflareNotFoundResponse(request);\n }\n\n throw error;\n }\n\n if (rendered instanceof Response) {\n return withDefaultSecurityHeaders(rendered, request);\n }\n\n const modulePreload = cloudflareModulePreloadTag(context.clientManifest, context.route.path);\n const metadata = await resolveCloudflareRouteMetadata([pageModule], props);\n const documented =\n options.document === undefined\n ? defaultCloudflareDocument(rendered, modulePreload, metadata)\n : await options.document({\n ...props,\n body: rendered,\n modulePreload,\n });\n\n return withDefaultSecurityHeaders(\n documented instanceof Response\n ? documented\n : new Response(documented, {\n headers: { \"content-type\": \"text/html; charset=utf-8\" },\n }),\n request,\n );\n };\n}\n\nasync function dispatchCloudflareServerRoute<Env>(\n module: CloudflareServerRouteModule<Env>,\n request: Request,\n context: CloudflareServerRouteContext<Env>,\n): Promise<Response> {\n const handler =\n module[request.method as keyof CloudflareServerRouteModule<Env>] ?? module.ALL ?? module.default;\n\n if (typeof handler !== \"function\") {\n return new Response(\"Method Not Allowed\", { status: 405 });\n }\n\n let response: unknown;\n\n try {\n response = await handler(request, context);\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n\n throw error;\n }\n\n return response instanceof Response\n ? response\n : new Response(\"Invalid route response\", { status: 500 });\n}\n\nconst cloudflareReservedPageModuleExportNames = new Set([\n \"ALL\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n \"App\",\n \"CloudflareRouteComponent\",\n \"default\",\n \"generateMetadata\",\n \"generateStaticParams\",\n \"loader\",\n \"metadata\",\n \"middleware\",\n \"prerender\",\n \"revalidate\",\n \"slots\",\n \"stream\",\n]);\n\nfunction selectCloudflarePageComponent<Data, Env>(\n module: CloudflareRouteModule<Data, Env>,\n): CloudflareRouteModuleComponent<Data, Env> | undefined {\n const defaultExport = readCloudflareModuleExport(module, \"default\");\n if (typeof defaultExport === \"function\") {\n return defaultExport as CloudflareRouteModuleComponent<Data, Env>;\n }\n\n const appExport = readCloudflareModuleExport(module, \"App\");\n if (typeof appExport === \"function\") {\n return appExport as CloudflareRouteModuleComponent<Data, Env>;\n }\n\n const cloudflareRouteComponentExport = readCloudflareModuleExport(module, \"CloudflareRouteComponent\");\n if (typeof cloudflareRouteComponentExport === \"function\") {\n return cloudflareRouteComponentExport as CloudflareRouteModuleComponent<Data, Env>;\n }\n\n for (const name of Object.keys(module)) {\n const value = readCloudflareModuleExport(module, name);\n if (\n !cloudflareReservedPageModuleExportNames.has(name) &&\n typeof value === \"function\"\n ) {\n return value as CloudflareRouteModuleComponent<Data, Env>;\n }\n }\n\n return undefined;\n}\n\nfunction readCloudflareModuleExport(module: object, name: string): unknown {\n const descriptor = Object.getOwnPropertyDescriptor(module, name);\n if (descriptor === undefined) {\n return undefined;\n }\n\n if (\"value\" in descriptor) {\n return descriptor.value;\n }\n\n return descriptor.get?.call(module);\n}\n\nconst cloudflareDiagnosticPageModuleExportNames = [\"default\", \"App\", \"CloudflareRouteComponent\", \"slots\"] as const;\n\n// Fixed names + typeof only (never values) so the 500 response is useful without\n// listing app-specific export names. Accessors are not invoked.\nfunction describeCloudflareModuleExports(module: object): string {\n const described = cloudflareDiagnosticPageModuleExportNames.map(\n (name) => `${name}=${typeofCloudflareModuleExport(module, name)}`,\n );\n\n return described.join(\", \");\n}\n\nfunction typeofCloudflareModuleExport(module: object, name: string): string {\n const descriptor = Object.getOwnPropertyDescriptor(module, name);\n if (descriptor === undefined) {\n return \"absent\";\n }\n\n if (!(\"value\" in descriptor)) {\n return \"accessor\";\n }\n\n return typeof descriptor.value;\n}\n\nasync function dispatchCloudflareMetadataRoute(\n module: CloudflareMetadataRouteModule,\n request: Request,\n context: CloudflareBuiltRouteRenderContext & { request: Request },\n): Promise<Response> {\n if (request.method !== \"GET\" && request.method !== \"HEAD\") {\n return new Response(\"Method Not Allowed\", {\n headers: { allow: \"GET, HEAD\" },\n status: 405,\n });\n }\n\n if (typeof module.default !== \"function\") {\n return new Response(\"Invalid metadata route response\", { status: 500 });\n }\n\n const url = new URL(request.url);\n const value = await module.default({\n baseUrl: url.origin,\n host: url.host,\n params: context.params,\n request,\n });\n\n if (value instanceof Response) {\n return value;\n }\n\n if (context.route.kind !== \"metadata\") {\n return new Response(\"Invalid metadata route convention\", { status: 500 });\n }\n\n if (context.route.convention === \"robots\") {\n return new Response(serializeCloudflareRobots(value as RobotsManifest), {\n headers: {\n \"cache-control\": \"public, max-age=3600\",\n \"content-type\": \"text/plain; charset=utf-8\",\n },\n });\n }\n\n if (context.route.convention === \"sitemap\") {\n return new Response(serializeCloudflareSitemap(value as readonly SitemapEntry[]), {\n headers: {\n \"cache-control\": \"no-cache\",\n \"content-type\": \"application/xml; charset=utf-8\",\n },\n });\n }\n\n if (context.route.convention === \"manifest\") {\n return new Response(JSON.stringify(value as ManifestDescriptor), {\n headers: {\n \"cache-control\": \"public, max-age=3600\",\n \"content-type\": \"application/manifest+json; charset=utf-8\",\n },\n });\n }\n\n if (context.route.convention === \"opengraph-image\") {\n const body = value instanceof Uint8Array ? value.slice().buffer : String(value);\n return new Response(body, {\n headers: {\n \"cache-control\": \"public, max-age=3600\",\n \"content-type\": typeof value === \"string\" && value.trimStart().startsWith(\"<svg\")\n ? \"image/svg+xml\"\n : \"application/octet-stream\",\n },\n });\n }\n\n return new Response(\"Invalid metadata route convention\", { status: 500 });\n}\n\nfunction isCloudflareNavigationRequest(request: Request): boolean {\n return request.headers.get(\"x-mreact-navigation\") === \"1\";\n}\n\nfunction cloudflareDocumentReloadNavigationResponse(): Response {\n return new Response(null, {\n headers: { \"x-mreact-navigation\": \"reload\" },\n status: 204,\n });\n}\n\nfunction withDefaultSecurityHeaders(response: Response, request: Request): Response {\n const headers = new Headers(response.headers);\n\n for (const [name, value] of Object.entries(routeSecurityHeaders({ request, security: undefined }))) {\n if (!headers.has(name)) {\n headers.set(name, value);\n }\n }\n\n return new Response(response.body, {\n headers,\n status: response.status,\n statusText: response.statusText,\n });\n}\n\nexport function collectCloudflareRouteModules<Env = unknown>(\n glob: CloudflareRouteModuleGlob<Env>,\n options: CollectCloudflareRouteModulesOptions,\n): CloudflareRouteModuleRegistry<Env> {\n const requiredRoutes = options.manifest.routes.filter((route) =>\n cloudflareRouteRequiresModule(route, options.manifest),\n );\n const matchedKeys = new Set<string>();\n const modules: CloudflareRouteModuleRegistry<Env> = {};\n\n for (const route of requiredRoutes) {\n const match = Object.entries(glob).find(([key]) =>\n cloudflareRouteGlobKeyMatchesRoute(key, route.file),\n );\n\n if (match === undefined) {\n throw new Error(`Missing Cloudflare route module for ${route.file}.`);\n }\n\n const [key, module] = match;\n matchedKeys.add(key);\n modules[route.file] = module;\n }\n\n const extraKeys = Object.keys(glob).filter((key) => !matchedKeys.has(key));\n\n if (extraKeys.length > 0) {\n throw new Error(`Extra Cloudflare route module entries: ${extraKeys.join(\", \")}.`);\n }\n\n return modules;\n}\n\nexport function createCloudflareStaticAssetLoader<Env = unknown>(\n options: CloudflareStaticAssetLoaderOptions<Env>,\n): CloudflareAssetLoader<Env> {\n const prefix = normalizeAssetPrefix(options.prefix ?? clientPrefix);\n const allowedPaths = cloudflareClientAssetPaths(options.clientManifest, {\n extraPaths: options.extraPaths,\n prefix,\n });\n\n return {\n async fetch(pathname, request, env) {\n if (!allowedPaths.has(pathname)) {\n return undefined;\n }\n\n const binding =\n typeof options.binding === \"function\" ? await options.binding(env) : options.binding;\n\n if (binding === undefined) {\n return undefined;\n }\n\n const assetUrl = new URL(request.url);\n assetUrl.pathname = pathname;\n assetUrl.search = \"\";\n\n return await binding.fetch(new Request(assetUrl, request));\n },\n };\n}\n\nexport function cloudflareClientAssetPaths(\n manifest: CloudflareClientManifest,\n options: { extraPaths?: readonly string[] | undefined; prefix?: string | undefined } = {},\n): Set<string> {\n const prefix = normalizeAssetPrefix(options.prefix ?? clientPrefix);\n const paths = new Set<string>([`${prefix}manifest.json`]);\n\n for (const route of manifest.routes) {\n for (const asset of [\n route.script,\n route.sourceMap,\n route.navigationScript,\n ...(route.css ?? []),\n ...(route.imports ?? []),\n ]) {\n const path = safeClientAssetPath(prefix, asset);\n\n if (path !== undefined) {\n paths.add(path);\n }\n }\n }\n\n for (const extraPath of options.extraPaths ?? []) {\n const path = safeClientAssetPath(prefix, extraPath);\n\n if (path !== undefined) {\n paths.add(path);\n }\n }\n\n for (const publicAsset of manifest.publicAssets ?? []) {\n const path = safePublicAssetPath(publicAsset);\n\n if (path !== undefined) {\n paths.add(path);\n }\n }\n\n return paths;\n}\n\nfunction safePublicAssetPath(asset: string): string | undefined {\n if (!asset.startsWith(\"/\") || asset.startsWith(\"//\") || asset.includes(\"..\")) {\n return undefined;\n }\n\n return asset;\n}\n\nexport function createCloudflarePrerenderStore(\n options: CloudflarePrerenderStoreOptions,\n): AppRouterPrerenderStore {\n return {\n async delete(path) {\n await options.cache.delete(prerenderCacheRequest(options, path));\n },\n async get(path) {\n const response = await options.cache.match(prerenderCacheRequest(options, path));\n\n if (response === undefined) {\n return undefined;\n }\n\n return (await response.json()) as BuiltPrerenderedRoute;\n },\n async set(path, entry) {\n await options.cache.put(\n prerenderCacheRequest(options, path),\n Response.json(entry, {\n headers: { \"cache-control\": \"no-store\" },\n }),\n );\n },\n };\n}\n\nasync function handleCloudflareRequest<Env>(\n options: CloudflareRequestHandlerOptions<Env>,\n request: Request,\n env: Env,\n context: CloudflareExecutionContext,\n): Promise<Response> {\n const startedAt = logNow();\n const logFields = requestLogFields(request, \"cloudflare\");\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n type: \"router:request:start\",\n });\n emitRouterDevtoolsEvent({\n method: request.method,\n type: \"router:request:start\",\n url: request.url,\n });\n\n const url = new URL(request.url);\n\n if (\n url.pathname.startsWith(clientPrefix) ||\n isCloudflarePublicAssetPath(options.clientManifest, url.pathname)\n ) {\n const response = await options.assets?.fetch?.(url.pathname, request, env, context);\n const assetResponse = await applyCloudflareResponseHook(\n response ?? new Response(\"Not Found\", { status: 404 }),\n options,\n request,\n );\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: assetResponse.status,\n type: \"router:request:end\",\n });\n return assetResponse;\n }\n\n const staticResponse = prerenderedResponse(\n options.serverManifest.prerenderedRoutes,\n normalizeRoutePath(url.pathname),\n request.method,\n isCloudflareNavigationRequest(request),\n );\n\n if (staticResponse !== undefined) {\n emitRouterDevtoolsEvent({\n method: request.method,\n status: staticResponse.status,\n type: \"router:request:end\",\n url: request.url,\n });\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: staticResponse.status,\n type: \"router:request:end\",\n });\n return await applyCloudflareResponseHook(staticResponse, options, request);\n }\n\n if (options.render === undefined) {\n const notFoundResponse = await applyCloudflareResponseHook(\n new Response(\"Not Found\", { status: 404 }),\n options,\n request,\n );\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: notFoundResponse.status,\n type: \"router:request:end\",\n });\n return notFoundResponse;\n }\n\n const renderedResponse = await options.render(request, {\n clientManifest: options.clientManifest,\n context,\n env,\n serverManifest: options.serverManifest,\n });\n const response = await applyCloudflareResponseHook(\n preserveCloudflareStreamedHtmlResponse(renderedResponse),\n options,\n request,\n );\n emitRouterDevtoolsEvent({\n method: request.method,\n status: response.status,\n type: \"router:request:end\",\n url: request.url,\n });\n emitRouterLog(options.logger, \"info\", {\n ...logFields,\n durationMs: logDurationMs(startedAt),\n status: response.status,\n type: \"router:request:end\",\n });\n\n return response;\n}\n\nfunction isCloudflarePublicAssetPath(manifest: CloudflareClientManifest, pathname: string): boolean {\n return (manifest.publicAssets ?? []).includes(pathname);\n}\n\nasync function applyCloudflareResponseHook<Env>(\n response: Response,\n options: Pick<CloudflareRequestHandlerOptions<Env>, \"onResponse\">,\n request: Request,\n): Promise<Response> {\n const hooked = await options.onResponse?.(response, { request });\n\n return hooked instanceof Response ? hooked : response;\n}\n\nfunction preserveCloudflareStreamedHtmlResponse(response: Response): Response {\n if (\n response.headers.get(\"x-mreact-stream\") !== \"1\" ||\n !isHtmlContentType(response.headers.get(\"content-type\"))\n ) {\n return response;\n }\n\n const headers = new Headers(response.headers);\n const cacheControl = headers.get(\"cache-control\");\n\n if (!cacheControlHasDirective(cacheControl, \"no-transform\")) {\n headers.set(\n \"cache-control\",\n cacheControl === null || cacheControl.trim() === \"\"\n ? \"no-transform\"\n : `${cacheControl}, no-transform`,\n );\n }\n\n if (headers.get(\"content-encoding\") === null) {\n headers.set(\"content-encoding\", \"identity\");\n }\n\n return new Response(response.body, {\n headers,\n status: response.status,\n statusText: response.statusText,\n });\n}\n\nfunction isHtmlContentType(contentType: string | null): boolean {\n return contentType?.toLowerCase().split(\";\", 1)[0]?.trim() === \"text/html\";\n}\n\nfunction cacheControlHasDirective(cacheControl: string | null, directive: string): boolean {\n if (cacheControl === null) {\n return false;\n }\n\n const normalizedDirective = directive.toLowerCase();\n return cacheControl\n .split(\",\")\n .some((part) => part.trim().toLowerCase() === normalizedDirective);\n}\n\nfunction prerenderedResponse(\n prerenderedRoutes: Record<string, BuiltPrerenderedRoute> | undefined,\n path: string,\n method: string,\n isNavigation: boolean,\n): Response | undefined {\n if (method !== \"GET\" && method !== \"HEAD\") {\n return undefined;\n }\n\n const prerendered = prerenderedRoutes?.[path];\n\n if (prerendered === undefined) {\n return undefined;\n }\n\n if (isNavigation && !prerendered.html.includes(\"data-mreact-route-id\")) {\n return cloudflareDocumentReloadNavigationResponse();\n }\n\n return new Response(method === \"HEAD\" ? null : prerendered.html, {\n headers: prerendered.headers,\n status: prerendered.status,\n });\n}\n\nfunction cloudflareRouteRequiresModule(\n route: AppRoute,\n manifest: BuiltServerManifest,\n): boolean {\n return (\n route.kind === \"metadata\" ||\n route.kind === \"server\" ||\n (route.kind === \"page\" &&\n (route.segments.some((segment) => segment.kind !== \"static\") ||\n manifest.prerenderedRoutes?.[route.path] === undefined))\n );\n}\n\nfunction cloudflareRouteGlobKeyMatchesRoute(key: string, routeFile: string): boolean {\n const normalizedKey = normalizeCloudflareRouteModulePath(key);\n const normalizedRoute = normalizeCloudflareRouteModulePath(routeFile);\n\n return (\n normalizedKey === normalizedRoute ||\n normalizedKey.endsWith(`/${normalizedRoute}`)\n );\n}\n\nfunction normalizeCloudflareRouteModulePath(path: string): string {\n const withoutPrefix = path\n .replace(/\\\\/g, \"/\")\n .replace(/^\\.\\//, \"\")\n .replace(/^\\/+/, \"\");\n\n return withoutPrefix.replace(/\\.(?:mjs|js|ts|tsx)$/, \"\");\n}\n\nfunction matchCloudflareRoute(\n routes: readonly AppRoute[],\n pathname: string,\n): { params: Record<string, readonly string[] | string>; route: AppRoute } | undefined {\n const normalizedPath = normalizeRoutePath(pathname);\n const pathSegments = normalizedPath === \"/\" ? [] : normalizedPath.slice(1).split(\"/\");\n\n for (const route of routes) {\n const params: Record<string, readonly string[] | string> = {};\n const catchAllIndex = route.segments.findIndex((segment) => segment.kind === \"catch-all\");\n\n if (catchAllIndex === -1 && route.segments.length !== pathSegments.length) {\n continue;\n }\n\n if (\n catchAllIndex !== -1 &&\n pathSegments.length <\n catchAllIndex + 1 + route.segments.length - catchAllIndex - 1\n ) {\n continue;\n }\n\n let matched = true;\n\n for (const [index, segment] of route.segments.entries()) {\n const value = pathSegments[index];\n\n if (value === undefined) {\n matched = false;\n break;\n }\n\n if (segment.kind === \"static\") {\n if (segment.value !== value) {\n matched = false;\n break;\n }\n continue;\n }\n\n if (segment.kind === \"dynamic\") {\n const decoded = safeDecodePathSegment(value);\n if (decoded === undefined) {\n matched = false;\n break;\n }\n params[segment.name] = decoded;\n continue;\n }\n\n const suffixSegments = route.segments.slice(index + 1);\n const catchAllEnd = pathSegments.length - suffixSegments.length;\n\n if (catchAllEnd <= index) {\n matched = false;\n break;\n }\n\n const decodedParts: string[] = [];\n for (const part of pathSegments.slice(index, catchAllEnd)) {\n const decoded = safeDecodePathSegment(part);\n if (decoded === undefined) {\n matched = false;\n break;\n }\n decodedParts.push(decoded);\n }\n params[segment.name] = decodedParts;\n\n for (let suffixIndex = 0; suffixIndex < suffixSegments.length; suffixIndex += 1) {\n const suffixSegment = suffixSegments[suffixIndex];\n const suffixValue = pathSegments[catchAllEnd + suffixIndex];\n\n if (suffixSegment === undefined || suffixValue === undefined) {\n matched = false;\n break;\n }\n\n if (suffixSegment.kind === \"static\") {\n if (suffixSegment.value !== suffixValue) {\n matched = false;\n break;\n }\n continue;\n }\n\n if (suffixSegment.kind === \"dynamic\") {\n const decoded = safeDecodePathSegment(suffixValue);\n if (decoded === undefined) {\n matched = false;\n break;\n }\n params[suffixSegment.name] = decoded;\n continue;\n }\n\n matched = false;\n break;\n }\n\n break;\n }\n\n if (matched) {\n return { params, route };\n }\n }\n\n return undefined;\n}\n\nfunction compareCloudflareRoutes(a: AppRoute, b: AppRoute): number {\n const scoreDelta = routeSpecificityScore(b) - routeSpecificityScore(a);\n\n return scoreDelta === 0 ? a.path.localeCompare(b.path) || a.kind.localeCompare(b.kind) : scoreDelta;\n}\n\nfunction routeSpecificityScore(route: AppRoute): number {\n return route.segments.reduce((score, segment) => {\n if (segment.kind === \"static\") {\n return score + 100;\n }\n\n if (segment.kind === \"dynamic\") {\n return score + 10;\n }\n\n return score;\n }, route.segments.length);\n}\n\nfunction safeDecodePathSegment(segment: string): string | undefined {\n try {\n return decodeURIComponent(segment);\n } catch {\n return undefined;\n }\n}\n\nfunction normalizeAssetPrefix(prefix: string): string {\n const withLeadingSlash = prefix.startsWith(\"/\") ? prefix : `/${prefix}`;\n\n return withLeadingSlash.endsWith(\"/\") ? withLeadingSlash : `${withLeadingSlash}/`;\n}\n\nfunction safeClientAssetPath(prefix: string, asset: string | undefined): string | undefined {\n if (asset === undefined || asset === \"\" || asset.startsWith(\"/\") || asset.includes(\"\\\\\")) {\n return undefined;\n }\n\n const segments = asset.split(\"/\");\n\n if (segments.some((segment) => unsafeAssetSegment(segment))) {\n return undefined;\n }\n\n return `${prefix}${segments.join(\"/\")}`;\n}\n\nfunction unsafeAssetSegment(segment: string): boolean {\n if (segment === \"\" || segment === \".\" || segment === \"..\") {\n return true;\n }\n\n try {\n const decoded = decodeURIComponent(segment);\n return decoded === \".\" || decoded === \"..\" || decoded.includes(\"/\") || decoded.includes(\"\\\\\");\n } catch {\n return true;\n }\n}\n\nasync function loadCloudflareRouteModule<Env>(\n modules: CloudflareRouteModuleRegistry<Env>,\n file: string,\n): Promise<CloudflareRouteModuleRegistryEntry<Env> | undefined> {\n const entry = modules[file];\n\n return typeof entry === \"function\" ? await entry() : entry;\n}\n\nfunction cloudflareModulePreloadTag(manifest: CloudflareClientManifest, routePath: string): string {\n const script = manifest.routes.find((route) => route.path === routePath)?.script;\n\n return script === undefined\n ? \"\"\n : `<link rel=\"modulepreload\" href=\"/_mreact/client/${escapeHtmlAttribute(script)}\">`;\n}\n\nasync function resolveCloudflareRouteMetadata<Data, Env>(\n modules: readonly CloudflareRouteModule<Data, Env>[],\n context: GenerateMetadataContext<Data>,\n): Promise<RouteMetadata | undefined> {\n const metadata: RouteMetadata[] = [];\n\n for (const module of modules) {\n let next = module.metadata;\n\n if (module.generateMetadata !== undefined) {\n const generated = await module.generateMetadata(context);\n next = mergeCloudflareRouteMetadata([next, generated].filter(isCloudflareRouteMetadata));\n }\n\n if (next !== undefined) {\n metadata.push(next);\n }\n }\n\n return mergeCloudflareRouteMetadata(metadata);\n}\n\nfunction isCloudflareRouteMetadata(value: RouteMetadata | undefined): value is RouteMetadata {\n return value !== undefined;\n}\n\nfunction mergeCloudflareRouteMetadata(metadata: readonly RouteMetadata[]): RouteMetadata | undefined {\n if (metadata.length === 0) {\n return undefined;\n }\n\n return metadata.reduce<RouteMetadata>((merged, next) => {\n const openGraph = mergeCloudflareMetadataObject(merged.openGraph, next.openGraph);\n const openGraphImages = mergeCloudflareMetadataArrays(\n merged.openGraph?.images,\n next.openGraph?.images,\n );\n\n const alternates = mergeCloudflareMetadataObject(merged.alternates, next.alternates);\n const csp = mergeCloudflareMetadataObject(merged.csp, next.csp);\n const head = mergeCloudflareMetadataArrays(merged.head, next.head);\n const icons = mergeCloudflareMetadataObject(merged.icons, next.icons);\n const mergedMetadata: RouteMetadata = {\n ...merged,\n ...next,\n ...(alternates === undefined ? {} : { alternates }),\n ...(csp === undefined ? {} : { csp }),\n ...(head === undefined ? {} : { head }),\n ...(icons === undefined ? {} : { icons }),\n ...(openGraph === undefined && openGraphImages === undefined\n ? {}\n : { openGraph: { ...openGraph, ...(openGraphImages === undefined ? {} : { images: openGraphImages }) } }),\n };\n\n return mergedMetadata;\n }, {});\n}\n\nfunction mergeCloudflareMetadataObject<T extends object>(\n left: T | undefined,\n right: T | undefined,\n): T | undefined {\n if (left === undefined) {\n return right;\n }\n if (right === undefined) {\n return left;\n }\n\n return { ...left, ...right };\n}\n\nfunction mergeCloudflareMetadataArrays<T>(\n left: readonly T[] | undefined,\n right: readonly T[] | undefined,\n): readonly T[] | undefined {\n if (left === undefined || left.length === 0) {\n return right;\n }\n if (right === undefined || right.length === 0) {\n return left;\n }\n\n return [...left, ...right];\n}\n\nfunction defaultCloudflareDocument(\n body: string,\n modulePreload: string,\n metadata: RouteMetadata | undefined,\n): string {\n return `<!DOCTYPE html><html><head>${modulePreload}${cloudflareMetadataTitle(metadata)}</head><body>${body}</body></html>`;\n}\n\nfunction cloudflareMetadataTitle(metadata: RouteMetadata | undefined): string {\n if (metadata?.title === undefined) {\n return \"\";\n }\n\n return `<title>${escapeHtmlText(metadataString(metadata.title))}</title>`;\n}\n\nfunction metadataString(value: boolean | number | string): string {\n return String(value);\n}\n\nfunction serializeCloudflareRobots(manifest: RobotsManifest): string {\n const lines: string[] = [];\n const rules =\n manifest.rules === undefined\n ? []\n : Array.isArray(manifest.rules)\n ? manifest.rules\n : [manifest.rules];\n\n for (const rule of rules) {\n for (const userAgent of arrayValue(rule.userAgent)) {\n lines.push(`User-agent: ${userAgent}`);\n }\n for (const allow of arrayValue(rule.allow)) {\n lines.push(`Allow: ${allow}`);\n }\n for (const disallow of arrayValue(rule.disallow)) {\n lines.push(`Disallow: ${disallow}`);\n }\n }\n\n for (const sitemap of arrayValue(manifest.sitemap)) {\n lines.push(`Sitemap: ${sitemap}`);\n }\n if (manifest.host !== undefined) {\n lines.push(`Host: ${manifest.host}`);\n }\n\n return `${lines.join(\"\\n\")}\\n`;\n}\n\nfunction serializeCloudflareSitemap(entries: readonly SitemapEntry[]): string {\n const urls = entries\n .map((entry) => {\n const fields = [\n `<loc>${escapeXml(entry.url)}</loc>`,\n entry.lastModified === undefined\n ? undefined\n : `<lastmod>${escapeXml(sitemapDate(entry.lastModified))}</lastmod>`,\n entry.changeFrequency === undefined\n ? undefined\n : `<changefreq>${escapeXml(entry.changeFrequency)}</changefreq>`,\n entry.priority === undefined ? undefined : `<priority>${entry.priority}</priority>`,\n ].filter((field): field is string => field !== undefined);\n\n return `<url>${fields.join(\"\")}</url>`;\n })\n .join(\"\");\n\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">${urls}</urlset>`;\n}\n\nfunction sitemapDate(value: Date | number | string): string {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return typeof value === \"number\" ? new Date(value).toISOString() : value;\n}\n\nfunction arrayValue<T>(value: T | readonly T[] | undefined): readonly T[] {\n if (value === undefined) {\n return [];\n }\n\n return Array.isArray(value) ? (value as readonly T[]) : [value as T];\n}\n\nfunction escapeXml(value: string): string {\n return value\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll('\"', \"&quot;\");\n}\n\nfunction cloudflareNotFoundResponse(request: Request): Response {\n return withDefaultSecurityHeaders(\n new Response(\"<!DOCTYPE html><html><head></head><body>Not Found</body></html>\", {\n headers: { \"content-type\": \"text/html; charset=utf-8\" },\n status: 404,\n }),\n request,\n );\n}\n\nfunction prerenderCacheRequest(options: CloudflarePrerenderStoreOptions, path: string): Request {\n const origin = options.keyOrigin ?? defaultPrerenderCacheOrigin;\n const prefix = options.keyPrefix ?? defaultPrerenderCachePrefix;\n const normalizedPath = normalizeRoutePath(path.startsWith(\"/\") ? path : `/${path}`);\n const url = new URL(`${normalizePrerenderPrefix(prefix)}${normalizedPath}`, origin);\n\n return new Request(url, { method: \"GET\" });\n}\n\nfunction normalizePrerenderPrefix(prefix: string): string {\n const withLeadingSlash = prefix.startsWith(\"/\") ? prefix : `/${prefix}`;\n\n return withLeadingSlash.replace(/\\/+$/, \"\");\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
package/dist/build.js CHANGED
@@ -1963,10 +1963,9 @@ ${shellModules.join("\n")}
1963
1963
  const pageComponent = selectComponent(pageModule, ${JSON.stringify(options.filename)});
1964
1964
  const shells = [${shellDefinitions.join(", ")}];
1965
1965
  export const slots = pageModule.slots;
1966
- export function App(props) {
1966
+ export default function CloudflareStringRouteComponent(props) {
1967
1967
  return renderCloudflareStringRoute(props);
1968
1968
  }
1969
- export default App;
1970
1969
 
1971
1970
  async function renderCloudflareStringRoute(props) {
1972
1971
  const slotHtml = await renderRouteSlots(pageModule.slots, props);
@@ -2101,10 +2100,9 @@ ${shellImports.join("\n")}
2101
2100
  const pageComponent = selectComponent(pageModule, ${JSON.stringify(options.filename)});
2102
2101
  const shells = [${shellDefinitions.join(", ")}];
2103
2102
  export const slots = pageModule.slots;
2104
- export function App(props) {
2103
+ export default function CloudflareStringRouteComponent(props) {
2105
2104
  return renderCloudflareStringRoute(props);
2106
2105
  }
2107
- export default App;
2108
2106
 
2109
2107
  async function renderCloudflareStringRoute(props) {
2110
2108
  const slotHtml = await renderRouteSlots(pageModule.slots, props);