@demiurgejs/core 0.1.1 → 0.2.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +5 -0
  2. package/bin/demiurge.mjs +51 -0
  3. package/dist/adapter/testing.d.ts +33 -0
  4. package/dist/adapter/testing.d.ts.map +1 -0
  5. package/dist/adapter/testing.js +251 -0
  6. package/dist/adapter/testing.js.map +1 -0
  7. package/dist/browser/file-router.d.ts.map +1 -1
  8. package/dist/chunks/document-shell-D1xo6cEA.js +35 -0
  9. package/dist/chunks/document-shell-D1xo6cEA.js.map +1 -0
  10. package/dist/chunks/image-codec-BGTx_t5K.js +141 -0
  11. package/dist/chunks/image-codec-BGTx_t5K.js.map +1 -0
  12. package/dist/chunks/images-B9MqcjSA.js +339 -0
  13. package/dist/chunks/images-B9MqcjSA.js.map +1 -0
  14. package/dist/chunks/request-metadata-D5NrT8ks.js +642 -0
  15. package/dist/chunks/request-metadata-D5NrT8ks.js.map +1 -0
  16. package/dist/chunks/streaming-BQ1bykDo.js +469 -0
  17. package/dist/chunks/streaming-BQ1bykDo.js.map +1 -0
  18. package/dist/chunks/{testing-DR3eQAvY.js → testing-B_iMFYz_.js} +2376 -1927
  19. package/dist/chunks/testing-B_iMFYz_.js.map +1 -0
  20. package/dist/cli.d.ts +42 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +173 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/document/deferred-scripts.d.ts +11 -0
  25. package/dist/document/deferred-scripts.d.ts.map +1 -0
  26. package/dist/document/index.d.ts +4 -2
  27. package/dist/document/index.d.ts.map +1 -1
  28. package/dist/document/render.d.ts +1 -1
  29. package/dist/document/render.d.ts.map +1 -1
  30. package/dist/document/scripts.d.ts +34 -1
  31. package/dist/document/scripts.d.ts.map +1 -1
  32. package/dist/edge/assets.d.ts +14 -0
  33. package/dist/edge/assets.d.ts.map +1 -0
  34. package/dist/edge/index.d.ts +19 -0
  35. package/dist/edge/index.d.ts.map +1 -0
  36. package/dist/edge/index.js +286 -0
  37. package/dist/edge/index.js.map +1 -0
  38. package/dist/edge/stores.d.ts +8 -0
  39. package/dist/edge/stores.d.ts.map +1 -0
  40. package/dist/edge/streaming.d.ts +7 -0
  41. package/dist/edge/streaming.d.ts.map +1 -0
  42. package/dist/index.d.ts +9 -9
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +894 -1043
  45. package/dist/index.js.map +1 -1
  46. package/dist/internal/testing.js +12 -11
  47. package/dist/internal/testing.js.map +1 -1
  48. package/dist/kv/index.d.ts +3 -0
  49. package/dist/kv/index.d.ts.map +1 -0
  50. package/dist/kv/index.js +103 -0
  51. package/dist/kv/index.js.map +1 -0
  52. package/dist/kv/store.d.ts +28 -0
  53. package/dist/kv/store.d.ts.map +1 -0
  54. package/dist/node/font.d.ts +5 -0
  55. package/dist/node/font.d.ts.map +1 -0
  56. package/dist/node/image.d.ts +15 -0
  57. package/dist/node/image.d.ts.map +1 -0
  58. package/dist/node/index.d.ts +4 -0
  59. package/dist/node/index.d.ts.map +1 -1
  60. package/dist/node/index.js +25 -23
  61. package/dist/node/index.js.map +1 -1
  62. package/dist/node/streaming.d.ts +2 -0
  63. package/dist/node/streaming.d.ts.map +1 -1
  64. package/dist/platform/analytics.d.ts +58 -5
  65. package/dist/platform/analytics.d.ts.map +1 -1
  66. package/dist/platform/font-assets.d.ts +19 -0
  67. package/dist/platform/font-assets.d.ts.map +1 -0
  68. package/dist/platform/fonts.d.ts +14 -4
  69. package/dist/platform/fonts.d.ts.map +1 -1
  70. package/dist/platform/image-codec.d.ts +15 -0
  71. package/dist/platform/image-codec.d.ts.map +1 -0
  72. package/dist/platform/image-url.d.ts +17 -0
  73. package/dist/platform/image-url.d.ts.map +1 -0
  74. package/dist/platform/image.d.ts +8 -0
  75. package/dist/platform/image.d.ts.map +1 -0
  76. package/dist/platform/images.d.ts +15 -0
  77. package/dist/platform/images.d.ts.map +1 -1
  78. package/dist/platform/index.d.ts +8 -5
  79. package/dist/platform/index.d.ts.map +1 -1
  80. package/dist/redis/index.d.ts +3 -0
  81. package/dist/redis/index.d.ts.map +1 -0
  82. package/dist/redis/index.js +171 -0
  83. package/dist/redis/index.js.map +1 -0
  84. package/dist/redis/store.d.ts +8 -0
  85. package/dist/redis/store.d.ts.map +1 -0
  86. package/dist/route/action.d.ts +11 -11
  87. package/dist/route/action.d.ts.map +1 -1
  88. package/dist/route/index.d.ts +2 -1
  89. package/dist/route/index.d.ts.map +1 -1
  90. package/dist/route/middleware.d.ts +7 -0
  91. package/dist/route/middleware.d.ts.map +1 -0
  92. package/dist/route/page.d.ts +2 -2
  93. package/dist/route/page.d.ts.map +1 -1
  94. package/dist/route/response.d.ts +19 -19
  95. package/dist/route/response.d.ts.map +1 -1
  96. package/dist/route/types.d.ts +55 -31
  97. package/dist/route/types.d.ts.map +1 -1
  98. package/dist/route/webhook.d.ts +1 -1
  99. package/dist/router/manifest.d.ts +1 -0
  100. package/dist/router/manifest.d.ts.map +1 -1
  101. package/dist/routing/generate.d.ts +2 -0
  102. package/dist/routing/generate.d.ts.map +1 -1
  103. package/dist/routing/index.d.ts +1 -1
  104. package/dist/routing/index.d.ts.map +1 -1
  105. package/dist/routing/types.d.ts +2 -0
  106. package/dist/routing/types.d.ts.map +1 -1
  107. package/dist/security/cors.d.ts.map +1 -1
  108. package/dist/security/index.d.ts +4 -2
  109. package/dist/security/index.d.ts.map +1 -1
  110. package/dist/security/policy.d.ts +5 -1
  111. package/dist/security/policy.d.ts.map +1 -1
  112. package/dist/security/types.d.ts +34 -13
  113. package/dist/security/types.d.ts.map +1 -1
  114. package/dist/security/verification.d.ts +8 -0
  115. package/dist/security/verification.d.ts.map +1 -0
  116. package/dist/server/document-shell.d.ts +12 -0
  117. package/dist/server/document-shell.d.ts.map +1 -0
  118. package/dist/server/errors.d.ts.map +1 -1
  119. package/dist/server/not-found.d.ts.map +1 -1
  120. package/dist/server/render-tree.d.ts +6 -1
  121. package/dist/server/render-tree.d.ts.map +1 -1
  122. package/dist/server/request-handler.d.ts +4 -1
  123. package/dist/server/request-handler.d.ts.map +1 -1
  124. package/dist/server/ssr.d.ts +1 -0
  125. package/dist/server/ssr.d.ts.map +1 -1
  126. package/dist/static/images.d.ts +13 -0
  127. package/dist/static/images.d.ts.map +1 -0
  128. package/dist/static/index.d.ts +18 -0
  129. package/dist/static/index.d.ts.map +1 -1
  130. package/dist/static/index.js +677 -129
  131. package/dist/static/index.js.map +1 -1
  132. package/dist/static/preview.d.ts +8 -0
  133. package/dist/static/preview.d.ts.map +1 -0
  134. package/dist/static/vercel.d.ts +34 -0
  135. package/dist/static/vercel.d.ts.map +1 -0
  136. package/dist/vite/index.d.ts +3 -2
  137. package/dist/vite/index.d.ts.map +1 -1
  138. package/dist/vite/index.js +782 -329
  139. package/dist/vite/index.js.map +1 -1
  140. package/dist/vite/plugin.d.ts +20 -0
  141. package/dist/vite/plugin.d.ts.map +1 -1
  142. package/dist/vite/policy-verification.d.ts +10 -0
  143. package/dist/vite/policy-verification.d.ts.map +1 -0
  144. package/package.json +38 -2
  145. package/dist/chunks/index-BnX9Qxbm.js +0 -44
  146. package/dist/chunks/index-BnX9Qxbm.js.map +0 -1
  147. package/dist/chunks/ssr-BJejKlkZ.js +0 -275
  148. package/dist/chunks/ssr-BJejKlkZ.js.map +0 -1
  149. package/dist/chunks/streaming-DN1DnbRE.js +0 -343
  150. package/dist/chunks/streaming-DN1DnbRE.js.map +0 -1
  151. package/dist/chunks/testing-DR3eQAvY.js.map +0 -1
@@ -1,18 +1,18 @@
1
- import type { HttpRouteContext, JsonCapability, JsonLinesSource, RedirectCapability, ResponseOptions, ResponseCapability, RouteValue, ServerTimingMetric, ServerSentEventSource, StreamSource } from "./types";
1
+ import type { HttpRouteContext, JsonCapability, JsonLinesSource, RedirectCapability, ResponseOptions, ResponseCapability, RouteValue, RouteRequestContextFor, ServerTimingMetric, ServerSentEventSource, StreamSource } from "./types";
2
2
  import { type AppHref, type LinkTarget } from "../routing";
3
- export declare function json<T>(value: JsonCapability<T>["value"], init?: ResponseOptions): {
3
+ export declare function json<T, TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(value: JsonCapability<T, TPath, TValues>["value"], init?: ResponseOptions): {
4
4
  cors: import("..").CorsPolicy | undefined;
5
5
  kind: "json";
6
6
  security: import("..").RouteSecurityPolicy | undefined;
7
7
  timing: any[] | undefined;
8
- value: RouteValue<T>;
8
+ value: RouteValue<T, TPath, TValues>;
9
9
  init: {
10
10
  headers?: HeadersInit;
11
11
  status?: number;
12
12
  statusText?: string;
13
13
  } | undefined;
14
14
  };
15
- export declare function jsonl(lines: RouteValue<JsonLinesSource>, init?: ResponseOptions): {
15
+ export declare function jsonl<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(lines: RouteValue<JsonLinesSource, TPath, TValues>, init?: ResponseOptions): {
16
16
  cors: import("..").CorsPolicy | undefined;
17
17
  init: {
18
18
  headers?: HeadersInit;
@@ -20,28 +20,28 @@ export declare function jsonl(lines: RouteValue<JsonLinesSource>, init?: Respons
20
20
  statusText?: string;
21
21
  } | undefined;
22
22
  kind: "jsonl";
23
- lines: RouteValue<JsonLinesSource>;
23
+ lines: RouteValue<JsonLinesSource, TPath, TValues>;
24
24
  security: import("..").RouteSecurityPolicy | undefined;
25
25
  timing: any[] | undefined;
26
26
  };
27
- export declare function text(value: RouteValue<string>, init?: ResponseOptions): {
27
+ export declare function text<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(value: RouteValue<string, TPath, TValues>, init?: ResponseOptions): {
28
28
  cors: import("..").CorsPolicy | undefined;
29
29
  kind: "text";
30
30
  security: import("..").RouteSecurityPolicy | undefined;
31
31
  timing: any[] | undefined;
32
- value: RouteValue<string>;
32
+ value: RouteValue<string, TPath, TValues>;
33
33
  init: {
34
34
  headers?: HeadersInit;
35
35
  status?: number;
36
36
  statusText?: string;
37
37
  } | undefined;
38
38
  };
39
- export declare function html(value: RouteValue<string>, init?: ResponseOptions): {
39
+ export declare function html<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(value: RouteValue<string, TPath, TValues>, init?: ResponseOptions): {
40
40
  cors: import("..").CorsPolicy | undefined;
41
41
  kind: "html";
42
42
  security: import("..").RouteSecurityPolicy | undefined;
43
43
  timing: any[] | undefined;
44
- value: RouteValue<string>;
44
+ value: RouteValue<string, TPath, TValues>;
45
45
  init: {
46
46
  headers?: HeadersInit;
47
47
  status?: number;
@@ -49,28 +49,28 @@ export declare function html(value: RouteValue<string>, init?: ResponseOptions):
49
49
  } | undefined;
50
50
  };
51
51
  export declare function redirect<const TTo extends AppHref>(to: LinkTarget<TTo>, init?: ResponseOptions | number): RedirectCapability;
52
- export declare function redirect(to: RouteValue<string | URL>, init?: ResponseOptions | number): RedirectCapability;
53
- export declare function notFound(body?: RouteValue<string>, init?: ResponseOptions): {
52
+ export declare function redirect<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(to: RouteValue<string | URL, TPath, TValues>, init?: ResponseOptions | number): RedirectCapability<TPath, TValues>;
53
+ export declare function notFound<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(body?: RouteValue<string, TPath, TValues>, init?: ResponseOptions): {
54
54
  cors: import("..").CorsPolicy | undefined;
55
55
  kind: "not-found";
56
56
  security: import("..").RouteSecurityPolicy | undefined;
57
57
  timing: any[] | undefined;
58
- body: RouteValue<string> | undefined;
58
+ body: RouteValue<string, TPath, TValues> | undefined;
59
59
  init: {
60
60
  headers?: HeadersInit;
61
61
  status?: number;
62
62
  statusText?: string;
63
63
  } | undefined;
64
64
  };
65
- export declare function response(response: RouteValue<Response>, init?: Pick<ResponseOptions, "cors" | "security" | "timing">): {
65
+ export declare function response<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(response: RouteValue<Response, TPath, TValues>, init?: Pick<ResponseOptions, "cors" | "security" | "timing">): {
66
66
  cors: import("..").CorsPolicy | undefined;
67
67
  kind: "response";
68
- response: RouteValue<Response>;
68
+ response: RouteValue<Response, TPath, TValues>;
69
69
  security: import("..").RouteSecurityPolicy | undefined;
70
70
  timing: any[] | undefined;
71
71
  };
72
- export declare function stream(body: RouteValue<StreamSource>, init?: ResponseOptions): {
73
- body: RouteValue<StreamSource>;
72
+ export declare function stream<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(body: RouteValue<StreamSource, TPath, TValues>, init?: ResponseOptions): {
73
+ body: RouteValue<StreamSource, TPath, TValues>;
74
74
  cors: import("..").CorsPolicy | undefined;
75
75
  init: {
76
76
  headers?: HeadersInit;
@@ -81,9 +81,9 @@ export declare function stream(body: RouteValue<StreamSource>, init?: ResponseOp
81
81
  security: import("..").RouteSecurityPolicy | undefined;
82
82
  timing: any[] | undefined;
83
83
  };
84
- export declare function sse(events: RouteValue<ServerSentEventSource>, init?: ResponseOptions): {
84
+ export declare function sse<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(events: RouteValue<ServerSentEventSource, TPath, TValues>, init?: ResponseOptions): {
85
85
  cors: import("..").CorsPolicy | undefined;
86
- events: RouteValue<ServerSentEventSource>;
86
+ events: RouteValue<ServerSentEventSource, TPath, TValues>;
87
87
  init: {
88
88
  headers?: HeadersInit;
89
89
  status?: number;
@@ -94,7 +94,7 @@ export declare function sse(events: RouteValue<ServerSentEventSource>, init?: Re
94
94
  timing: any[] | undefined;
95
95
  };
96
96
  export declare function serverTiming(...metrics: readonly ServerTimingMetric[]): readonly ServerTimingMetric[];
97
- export declare function toResponse(capability: ResponseCapability, context: HttpRouteContext): Promise<Response>;
97
+ export declare function toResponse<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>>(capability: ResponseCapability<TPath, TValues>, context: HttpRouteContext<TPath, TValues>): Promise<Response>;
98
98
  export declare function applyServerTimingHeader(response: Response, timing: readonly ServerTimingMetric[] | undefined): Response;
99
99
  export declare function renderServerTimingHeader(timing: readonly ServerTimingMetric[]): string;
100
100
  //# sourceMappingURL=response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/route/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EAEd,eAAe,EAIf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,UAAU,EAEV,kBAAkB,EAGlB,qBAAqB,EAIrB,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EACjC,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,EAClC,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EASrE;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EASrE;AAED,wBAAgB,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS,OAAO,EAChD,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EACnB,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,GAC9B,kBAAkB,CAAC;AACtB,wBAAgB,QAAQ,CACtB,EAAE,EAAE,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,EAC5B,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,GAC9B,kBAAkB,CAAC;AAiBtB,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EASzE;AAED,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;;;;;;EAS7D;AAED,wBAAgB,MAAM,CACpB,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,EAC9B,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,GAAG,CACjB,MAAM,EAAE,UAAU,CAAC,qBAAqB,CAAC,EACzC,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,YAAY,CAC1B,GAAG,OAAO,EAAE,SAAS,kBAAkB,EAAE,GACxC,SAAS,kBAAkB,EAAE,CAE/B;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,kBAAkB,EAC9B,OAAO,EAAE,gBAAgB,qBA8F1B;AAoND,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,YAsBlD;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,kBAAkB,EAAE,UAGtC"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/route/response.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,55 @@
1
1
  import type { ComponentType, ReactNode } from "react";
2
2
  import type { Cache } from "../data";
3
3
  import type { LinkContribution, Metadata, ScriptContribution } from "../document";
4
- import type { PathValue, PathVarsFor, RouteParamsFor, RoutePathVars } from "../routing/types";
4
+ import type { PathValue, PathVarsFor, RouteParamsFor, RoutePathVars, RouteRequestContexts } from "../routing/types";
5
5
  import type { CorsPolicy, RoutePolicy, RouteSecurityPolicy } from "../security/types";
6
6
  import type { HttpErrorStatus } from "./http-error";
7
7
  export type { RoutePolicy } from "../security/types";
8
+ export type { RouteRequestContexts } from "../routing/types";
8
9
  export type MaybePromise<T> = T | Promise<T>;
9
10
  export type PathVars = Record<string, string>;
11
+ /**
12
+ * Values that inherited middleware makes available to later server work.
13
+ *
14
+ * The carrier is mutable for one request. The framework never serializes it
15
+ * into browser route props or navigation data.
16
+ */
17
+ export type RequestContext<TValues extends object = Record<never, never>> = TValues;
18
+ export type RouteRequestContextFor<TPath extends string> = TPath extends keyof RouteRequestContexts ? RouteRequestContexts[TPath] extends object ? RouteRequestContexts[TPath] : Record<never, never> : Record<never, never>;
19
+ declare const middlewareContextBrand: unique symbol;
20
+ export type MiddlewareContextContribution<TValues extends object> = {
21
+ readonly [middlewareContextBrand]: TValues;
22
+ };
23
+ export type MiddlewareContextOf<TMiddleware> = [TMiddleware] extends [
24
+ MiddlewareContextContribution<infer TValues>
25
+ ] ? TValues : Record<never, never>;
26
+ type RequestContextField<TValues extends object> = {
27
+ context: RequestContext<TValues>;
28
+ };
10
29
  export type RouteContext<TPath extends string = string> = {
11
30
  path: RouteParamsFor<TPath>;
12
31
  pathname: string;
13
32
  };
14
- export type HttpRouteContext<TPath extends string = string> = RouteContext<TPath> & {
33
+ export type HttpRouteContext<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = RouteContext<TPath> & RequestContextField<TValues> & {
15
34
  request: Request;
16
35
  search: URLSearchParams;
17
36
  url: URL;
18
37
  };
19
- export type PageDataContext<TPath extends string = string> = HttpRouteContext<TPath> & {
38
+ export type PageDataContext<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = HttpRouteContext<TPath, TValues> & {
20
39
  cache: Cache;
21
40
  };
22
- export type PageDataFunction<TPath extends string = string, TData = unknown> = (context: PageDataContext<TPath>) => MaybePromise<TData>;
41
+ export type PageDataFunction<TPath extends string = string, TData = unknown, TValues extends object = RouteRequestContextFor<TPath>> = (context: PageDataContext<TPath, TValues>) => MaybePromise<TData>;
23
42
  export type StaticPathsContext = {
24
43
  cache: Cache;
25
44
  };
26
45
  export type StaticPath<TPath extends string = string> = TPath extends keyof RoutePathVars & string ? PathVarsFor<TPath> : Record<string, PathValue>;
27
46
  export type StaticPathsFunction<TPath extends string = string> = (context: StaticPathsContext) => MaybePromise<readonly StaticPath<TPath>[]>;
28
47
  export type RouteMiddlewareNext = () => MaybePromise<Response>;
29
- export type RouteMiddleware<TPath extends string = string> = (context: HttpRouteContext<TPath>, next: RouteMiddlewareNext) => MaybePromise<Response>;
30
- export type RouteValue<T> = T | ((context: HttpRouteContext) => MaybePromise<T>);
48
+ export type RouteMiddleware<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = (context: HttpRouteContext<TPath, TValues>, next: RouteMiddlewareNext) => MaybePromise<Response>;
49
+ type AnyRouteMiddleware = {
50
+ bivarianceHack(context: HttpRouteContext<string, object>, next: RouteMiddlewareNext): MaybePromise<Response>;
51
+ }["bivarianceHack"];
52
+ export type RouteValue<T, TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = T | ((context: HttpRouteContext<TPath, TValues>) => MaybePromise<T>);
31
53
  export type RouteProps<TPath extends string = string, TData = undefined> = RouteContext<TPath> & ([TData] extends [undefined] ? {
32
54
  data?: undefined;
33
55
  } : {
@@ -45,8 +67,8 @@ export type RouteErrorProps = {
45
67
  status: HttpErrorStatus;
46
68
  };
47
69
  export type RouteDefaultComponent = ComponentType | ComponentType<LayoutProps> | ComponentType<NotFoundProps> | ComponentType<RouteErrorProps>;
48
- export type PageCapability<TPath extends string = string, TData = undefined> = {
49
- data?: PageDataFunction<TPath, TData>;
70
+ export type PageCapability<TPath extends string = string, TData = undefined, TValues extends object = RouteRequestContextFor<TPath>> = {
71
+ data?: PageDataFunction<TPath, TData, TValues>;
50
72
  kind: "page";
51
73
  layout?: false;
52
74
  render: PageRenderOptions;
@@ -57,72 +79,74 @@ export type PageRenderOptions = {
57
79
  mode: PageRenderMode;
58
80
  };
59
81
  export type AnyPageCapability = {
60
- data?: PageDataFunction<string, unknown>;
82
+ data?: {
83
+ bivarianceHack(context: PageDataContext<string, object>): MaybePromise<unknown>;
84
+ }["bivarianceHack"];
61
85
  kind: "page";
62
86
  layout?: false;
63
87
  render: PageRenderOptions;
64
88
  view: unknown;
65
89
  };
66
- export type JsonCapability<T = unknown> = {
90
+ export type JsonCapability<T = unknown, TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
67
91
  cors?: CorsPolicy;
68
92
  kind: "json";
69
93
  security?: RouteSecurityPolicy;
70
94
  timing?: readonly ServerTimingMetric[];
71
- value: RouteValue<T>;
95
+ value: RouteValue<T, TPath, TValues>;
72
96
  init?: ResponseInit;
73
97
  };
74
98
  export type JsonLinesSource = Iterable<unknown> | AsyncIterable<unknown> | ReadableStream<unknown>;
75
- export type JsonLinesCapability = {
99
+ export type JsonLinesCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
76
100
  cors?: CorsPolicy;
77
101
  init?: ResponseInit;
78
102
  kind: "jsonl";
79
- lines: RouteValue<JsonLinesSource>;
103
+ lines: RouteValue<JsonLinesSource, TPath, TValues>;
80
104
  security?: RouteSecurityPolicy;
81
105
  timing?: readonly ServerTimingMetric[];
82
106
  };
83
- export type TextCapability = {
107
+ export type TextCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
84
108
  cors?: CorsPolicy;
85
109
  kind: "text";
86
110
  security?: RouteSecurityPolicy;
87
111
  timing?: readonly ServerTimingMetric[];
88
- value: RouteValue<string>;
112
+ value: RouteValue<string, TPath, TValues>;
89
113
  init?: ResponseInit;
90
114
  };
91
- export type HtmlCapability = {
115
+ export type HtmlCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
92
116
  cors?: CorsPolicy;
93
117
  kind: "html";
94
118
  security?: RouteSecurityPolicy;
95
119
  timing?: readonly ServerTimingMetric[];
96
- value: RouteValue<string>;
120
+ value: RouteValue<string, TPath, TValues>;
97
121
  init?: ResponseInit;
98
122
  };
99
- export type RedirectCapability = {
123
+ export type RedirectCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
100
124
  cors?: CorsPolicy;
101
125
  kind: "redirect";
102
126
  security?: RouteSecurityPolicy;
103
127
  timing?: readonly ServerTimingMetric[];
104
- to: RouteValue<string | URL>;
128
+ to: RouteValue<string | URL, TPath, TValues>;
105
129
  init?: ResponseInit;
106
130
  };
107
- export type NotFoundCapability = {
131
+ export type NotFoundCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
108
132
  cors?: CorsPolicy;
109
133
  kind: "not-found";
110
134
  security?: RouteSecurityPolicy;
111
135
  timing?: readonly ServerTimingMetric[];
112
- body?: RouteValue<string>;
136
+ body?: RouteValue<string, TPath, TValues>;
113
137
  init?: ResponseInit;
114
138
  };
115
- export type RawResponseCapability = {
139
+ export type RawResponseCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
116
140
  cors?: CorsPolicy;
117
141
  kind: "response";
118
- response: RouteValue<Response>;
142
+ response: RouteValue<Response, TPath, TValues>;
119
143
  security?: RouteSecurityPolicy;
120
144
  timing?: readonly ServerTimingMetric[];
121
145
  };
122
146
  export type StreamChunk = string | Uint8Array;
123
147
  export type StreamSource = Iterable<StreamChunk> | AsyncIterable<StreamChunk> | ReadableStream<StreamChunk>;
124
- export type StreamCapability = {
125
- body: RouteValue<StreamSource>;
148
+ export type StreamCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
149
+ body: RouteValue<StreamSource, TPath, TValues>;
126
150
  cors?: CorsPolicy;
127
151
  init?: ResponseInit;
128
152
  kind: "stream";
@@ -137,19 +161,19 @@ export type ServerSentEvent = {
137
161
  retry?: number;
138
162
  };
139
163
  export type ServerSentEventSource = Iterable<ServerSentEvent | string> | AsyncIterable<ServerSentEvent | string> | ReadableStream<ServerSentEvent | string>;
140
- export type ServerSentEventsCapability = {
164
+ export type ServerSentEventsCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = {
141
165
  cors?: CorsPolicy;
142
- events: RouteValue<ServerSentEventSource>;
166
+ events: RouteValue<ServerSentEventSource, TPath, TValues>;
143
167
  init?: ResponseInit;
144
168
  kind: "sse";
145
169
  security?: RouteSecurityPolicy;
146
170
  timing?: readonly ServerTimingMetric[];
147
171
  };
148
- export type ResponseCapability = JsonCapability | JsonLinesCapability | TextCapability | HtmlCapability | RedirectCapability | NotFoundCapability | RawResponseCapability | StreamCapability | ServerSentEventsCapability;
172
+ export type ResponseCapability<TPath extends string = string, TValues extends object = RouteRequestContextFor<TPath>> = JsonCapability<unknown, TPath, TValues> | JsonLinesCapability<TPath, TValues> | TextCapability<TPath, TValues> | HtmlCapability<TPath, TValues> | RedirectCapability<TPath, TValues> | NotFoundCapability<TPath, TValues> | RawResponseCapability<TPath, TValues> | StreamCapability<TPath, TValues> | ServerSentEventsCapability<TPath, TValues>;
149
173
  export type RouteCapability = AnyPageCapability | ResponseCapability;
150
174
  export type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
151
- export type PageOptions<TPath extends string = string, TData = undefined> = {
152
- data?: PageDataFunction<TPath, TData>;
175
+ export type PageOptions<TPath extends string = string, TData = undefined, TValues extends object = RouteRequestContextFor<TPath>> = {
176
+ data?: PageDataFunction<TPath, TData, TValues>;
153
177
  layout?: false;
154
178
  render?: PageRenderOptions;
155
179
  view: ComponentType<RouteProps<TPath, TData>>;
@@ -177,7 +201,7 @@ export type RouteModule = {
177
201
  layout?: false;
178
202
  links?: LinkContribution;
179
203
  metadata?: Metadata;
180
- middleware?: RouteMiddleware;
204
+ middleware?: AnyRouteMiddleware;
181
205
  paths?: StaticPathsFunction;
182
206
  policy?: RoutePolicy;
183
207
  scripts?: ScriptContribution;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/route/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/route/types.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export type WebhookHmacOptions = {
16
16
  export declare const webhook: {
17
17
  hmac(options: WebhookHmacOptions): {
18
18
  kind: "response";
19
- response: (context: HttpRouteContext<string>) => Promise<Response>;
19
+ response: (context: HttpRouteContext<string, Record<never, never>>) => Promise<Response>;
20
20
  security: {
21
21
  csrf: false;
22
22
  };
@@ -85,6 +85,7 @@ export type PendingRouteMatch = {
85
85
  export declare function createRouteManifest(routes: Record<string, RouteImporter>): RouteManifest;
86
86
  export declare function loadPageRoute(manifest: RouteManifest, pathname: string, request?: Request, initialData?: InitialRouteData, cache?: Cache, options?: {
87
87
  documentContributions?: boolean;
88
+ requestContext?: Record<string, unknown>;
88
89
  }): Promise<PendingRouteMatch>;
89
90
  export declare function collectStaticRoutePaths(manifest: RouteManifest, options?: {
90
91
  includeResources?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/router/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE;QACT,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,aAAa,EAAE,CAAC;QACzB,QAAQ,EAAE,aAAa,EAAE,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACvC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB;IACE,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,GACD;IAAE,OAAO,CAAC,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC9C,CAAC,mBAAmB,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,GAC/C;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAEjD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,iBAiHxE;AAqFD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,UAAkD,EACzD,WAAW,CAAC,EAAE,gBAAgB,EAC9B,KAAK,GAAE,KAA2B,EAClC,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAwF5B;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,OAAO,CAAC,eAAe,EAAE,CAAC,CA0D5B;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,sCAWjB;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,uDAqBjB;AAwBD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC,GACL,OAAO,CAAC,mBAAmB,CAAC,CAqD9B;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,iBAYjB;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,iBASjB;AA0ED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM;;;SAYrE;AAED,eAAO,MAAM,SAAS,sBAAgB,CAAC;AACvC,eAAO,MAAM,aAAa,uBAAiB,CAAC;AAE5C,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,MAAM,EAAE,mBA4B3B;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,WAI/E;AAED,wBAAgB,sBAAsB,CACpC,oBAAoB,EAAE,MAAM,EAAE,EAC9B,iBAAiB,EAAE,MAAM,EAAE,WAK5B;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAoBrD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,WAElD;AA6FD,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,UAYhD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,YAc7C;AAED,qBAAa,sBAAuB,SAAQ,QAAQ;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAQrD"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/router/manifest.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export type GenerateRoutesOptions = {
3
3
  routesDir: string;
4
4
  };
5
5
  type RouteInfo = {
6
+ contextMiddleware: number[];
7
+ fileSegments: string[];
6
8
  pathVars: string[];
7
9
  pattern: string;
8
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/routing/generate.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB;;;GAgBlE"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/routing/generate.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAQF,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB;;;GAmBlE"}
@@ -1,3 +1,3 @@
1
1
  export { href } from "./types";
2
- export type { AppHref, AppPath, LinkTarget, LinkTo, PathValue, PathVarsFor, RouteParamsFor, RouteConcretePaths, RoutePathVars, SearchValue, SearchValues, } from "./types";
2
+ export type { AppHref, AppPath, LinkTarget, LinkTo, PathValue, PathVarsFor, RouteParamsFor, RouteConcretePaths, RoutePathVars, RouteRequestContexts, SearchValue, SearchValues, } from "./types";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,YAAY,EACV,OAAO,EACP,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,YAAY,EACV,OAAO,EACP,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,YAAY,GACb,MAAM,SAAS,CAAC"}
@@ -6,6 +6,8 @@ export interface RoutePathVars {
6
6
  }
7
7
  export interface RouteConcretePaths {
8
8
  }
9
+ export interface RouteRequestContexts {
10
+ }
9
11
  type KnownRoutePath = keyof RoutePathVars & string;
10
12
  type KnownConcretePath = RouteConcretePaths[keyof RouteConcretePaths] & string;
11
13
  type HasGeneratedRoutes = [KnownRoutePath] extends [never] ? false : true;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../src/security/cors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,mBAAwB,WAqDlC;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,YAcjB;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,mBAgCjB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,QAwBpD"}
1
+ {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../src/security/cors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,mBAAwB,WAqDlC;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,YAcjB;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,mBAgCjB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,QA8BpD"}
@@ -3,13 +3,15 @@ export { applyCorsHeaders, createCorsHeaders, createCorsPreflightResponse, valid
3
3
  export { createCsrfCookie, createCsrfToken, enforceCsrfProtection, issueCsrfToken, parseCookieHeader, } from "./csrf";
4
4
  export type { CsrfCookieOptions, IssuedCsrfToken } from "./csrf";
5
5
  export { EnvValidationError, defineEnvSchema, env, validateEnv, } from "./env";
6
- export { createSecurityHeaders, cspHash, defineRoutePolicy, defineSecurityPolicy, mergeRoutePolicies, mergeRouteSecurityPolicies, mergeSecurityPolicies, security, } from "./policy";
6
+ export { createSecurityHeaders, cspNonce, cspHash, defineRoutePolicy, defineSecurityPolicy, mergeRoutePolicies, mergeRouteSecurityPolicies, mergeSecurityPolicies, security, } from "./policy";
7
7
  export { createMemoryRateLimitStore, enforceRateLimit, parseRateLimitWindow, validateRateLimitPolicy, } from "./rate-limit";
8
8
  export { createSecurityReportHandler, } from "./report";
9
9
  export { enforceAllowedMethods, enforceRequestSecurity, parseBodySize, } from "./request";
10
10
  export { validateUploads, } from "./upload";
11
+ export { validateRouteModules } from "./verification";
12
+ export type { RouteModuleVerificationOptions } from "./verification";
11
13
  export { checkWebSocketOrigin, enforceWebSocketOrigin, } from "./websocket";
12
- export type { ContentSecurityPolicy, CorsPolicy, CorsRequestContext, CorsResponseOptions, CsrfPolicy, CspHashAlgorithm, CspDirectiveValue, CspSource, MemoryRateLimitStoreOptions, RateLimitKey, RateLimitPolicy, RateLimitResult, RateLimitStore, ReferrerPolicy, ReportingEndpointUrl, ReportingEndpoints, SecurityAudit, SecurityAuditFinding, SecurityAuditOptions, ScriptDependencyAuditOptions, RequestSecurityPolicy, RoutePolicy, RouteSecurityPolicy, SecurityHeadersOptions, SecurityHeaderPolicy, SecurityPolicy, SecurityPreset, StrictTransportSecurityPolicy, TrustedTypesPolicy, } from "./types";
14
+ export type { ContentSecurityPolicy, CorsPolicy, CorsRequestContext, CorsResponseOptions, CsrfPolicy, CspHashAlgorithm, CspDirectiveValue, CspDirectiveReplacement, CspSource, CspSourceDirective, MemoryRateLimitStoreOptions, RateLimitKey, RateLimitPolicy, RateLimitResult, RateLimitStore, ReferrerPolicy, ReportingEndpointUrl, ReportingEndpoints, SecurityAudit, SecurityAuditFinding, SecurityAuditOptions, ScriptDependencyAuditOptions, RequestSecurityPolicy, RoutePolicy, RouteSecurityNeeds, RouteSecurityPolicy, SecurityHeadersOptions, SecurityHeaderPolicy, SecurityPolicy, SecurityPreset, StrictTransportSecurityPolicy, TrustedTypesPolicy, } from "./types";
13
15
  export type { UploadFilePolicy, UploadPolicy, UploadValidationIssue, UploadValidationResult, } from "./upload";
14
16
  export type { EnvSchema, EnvSource, EnvValidationIssue, EnvVariable, InferEnvSchema, } from "./env";
15
17
  export type { SecurityReportContext, SecurityReportHandlerOptions, SecurityReportPayload, } from "./report";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,iBAAiB,GAClB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,GAAG,EACH,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,QAAQ,GACT,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,2BAA2B,EAC3B,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,cAAc,GACf,MAAM,OAAO,CAAC;AACf,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,iBAAiB,GAClB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,GAAG,EACH,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,QAAQ,GACT,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,2BAA2B,EAC3B,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,cAAc,GACf,MAAM,OAAO,CAAC;AACf,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { CspHashAlgorithm, RoutePolicy, RouteSecurityPolicy, SecurityHeadersOptions, SecurityPolicy, SecurityPreset } from "./types";
2
+ export declare const cspNonce: "'nonce-{nonce}'";
2
3
  export declare const security: {
3
4
  api(options?: SecurityPolicy): SecurityPolicy;
4
5
  preset(name: SecurityPreset, options?: SecurityPolicy): SecurityPolicy;
@@ -9,7 +10,10 @@ export declare const security: {
9
10
  export declare function defineSecurityPolicy(policy: SecurityPolicy): SecurityPolicy;
10
11
  export declare function defineRoutePolicy(policy: RoutePolicy): RoutePolicy;
11
12
  export declare function mergeSecurityPolicies(...policies: Array<SecurityPolicy | false | undefined>): SecurityPolicy;
12
- export declare function mergeRoutePolicies(...policies: Array<RoutePolicy | false | undefined>): RoutePolicy;
13
+ export declare function mergeRoutePolicies(...policies: Array<RoutePolicy | false | undefined>): {
14
+ document: SecurityPolicy | undefined;
15
+ security?: RouteSecurityPolicy;
16
+ };
13
17
  export declare function mergeRouteSecurityPolicies(...policies: Array<RouteSecurityPolicy | false | undefined>): RouteSecurityPolicy;
14
18
  export declare function cspHash(source: string, algorithm?: CspHashAlgorithm): Promise<string>;
15
19
  export declare function createSecurityHeaders(policy: SecurityPolicy, options?: SecurityHeadersOptions): Headers;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/security/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EAEtB,cAAc,EACd,cAAc,EAGf,MAAM,SAAS,CAAC;AA2CjB,eAAO,MAAM,QAAQ;kBACN,cAAc;iBAQd,cAAc,YAAW,cAAc;qBAepC,cAAc;qBASd,cAAc;kCASD,cAAc;CAW5C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,kBAE1D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,eAEpD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC,kBASvD;AAED,wBAAgB,kBAAkB,CAChC,GAAG,QAAQ,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC,eAYpD;AAED,wBAAgB,0BAA0B,CACxC,GAAG,QAAQ,EAAE,KAAK,CAAC,mBAAmB,GAAG,KAAK,GAAG,SAAS,CAAC,uBAa5D;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,gBAA2B,mBAQvC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,sBAA2B,WAkCrC;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,GAAG,KAAK,GAAG,SAAS,WAS3C;AAED,wBAAgB,cAAc,WAK7B"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/security/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAGhB,WAAW,EAEX,mBAAmB,EACnB,sBAAsB,EAEtB,cAAc,EACd,cAAc,EAGf,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,QAAQ,mBAAmC,CAAC;AAyCzD,eAAO,MAAM,QAAQ;kBACN,cAAc;iBAQd,cAAc,YAAW,cAAc;qBAepC,cAAc;qBASd,cAAc;kCASD,cAAc;CAW5C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,kBAE1D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,eAEpD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC,kBASvD;AAED,wBAAgB,kBAAkB,CAChC,GAAG,QAAQ,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC;;;EAiBpD;AAED,wBAAgB,0BAA0B,CACxC,GAAG,QAAQ,EAAE,KAAK,CAAC,mBAAmB,GAAG,KAAK,GAAG,SAAS,CAAC,uBAc5D;AAwFD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,gBAA2B,mBAQvC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,sBAA2B,WAsCrC;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,GAAG,KAAK,GAAG,SAAS,WAY3C;AAED,wBAAgB,cAAc,WAK7B"}
@@ -1,23 +1,34 @@
1
1
  import type { ScriptTag } from "../document/scripts";
2
2
  import type { HttpMethod } from "../route/types";
3
- export type CspSource = "'self'" | "'none'" | "'unsafe-inline'" | "'unsafe-eval'" | "'strict-dynamic'" | "data:" | "blob:" | "https:" | "http:" | string;
4
- export type CspDirectiveValue = readonly CspSource[] | boolean;
3
+ export type CspSource = "'self'" | "'none'" | "'unsafe-inline'" | "'unsafe-eval'" | "'strict-dynamic'" | "data:" | "blob:" | "https:" | "http:" | (string & {});
4
+ export type CspDirectiveReplacement<Source extends string = CspSource> = {
5
+ replace: readonly Source[];
6
+ };
7
+ export type CspSourceDirective = readonly CspSource[] | CspDirectiveReplacement | false;
8
+ export type CspDirectiveValue = CspSourceDirective | CspDirectiveReplacement<ReportingEndpointUrl> | readonly ReportingEndpointUrl[] | boolean;
5
9
  export type ContentSecurityPolicy = {
6
- baseUri?: readonly CspSource[];
7
- connectSrc?: readonly CspSource[];
8
- defaultSrc?: readonly CspSource[];
9
- fontSrc?: readonly CspSource[];
10
- formAction?: readonly CspSource[];
11
- frameAncestors?: readonly CspSource[];
12
- imgSrc?: readonly CspSource[];
13
- objectSrc?: readonly CspSource[];
10
+ baseUri?: CspSourceDirective;
11
+ childSrc?: CspSourceDirective;
12
+ connectSrc?: CspSourceDirective;
13
+ defaultSrc?: CspSourceDirective;
14
+ fontSrc?: CspSourceDirective;
15
+ formAction?: CspSourceDirective;
16
+ frameAncestors?: CspSourceDirective;
17
+ frameSrc?: CspSourceDirective;
18
+ imgSrc?: CspSourceDirective;
19
+ manifestSrc?: CspSourceDirective;
20
+ mediaSrc?: CspSourceDirective;
21
+ objectSrc?: CspSourceDirective;
14
22
  /** Deprecated compatibility targets used alongside `reportTo`. */
15
- reportUri?: readonly ReportingEndpointUrl[];
23
+ reportUri?: readonly ReportingEndpointUrl[] | CspDirectiveReplacement<ReportingEndpointUrl> | false;
16
24
  /** A named member of `headers.reportingEndpoints`. */
17
25
  reportTo?: string;
18
- scriptSrc?: readonly CspSource[];
19
- styleSrc?: readonly CspSource[];
26
+ scriptSrc?: CspSourceDirective;
27
+ styleSrc?: CspSourceDirective;
28
+ styleSrcAttr?: CspSourceDirective;
29
+ styleSrcElem?: CspSourceDirective;
20
30
  upgradeInsecureRequests?: boolean;
31
+ workerSrc?: CspSourceDirective;
21
32
  };
22
33
  export type ReportingEndpointUrl = `/${string}` | `https://${string}`;
23
34
  export type ReportingEndpoints = Readonly<Record<string, ReportingEndpointUrl>>;
@@ -76,8 +87,18 @@ export type MemoryRateLimitStoreOptions = {
76
87
  export type RateLimitStore = {
77
88
  increment: (key: string, windowMs: number, now: number) => RateLimitResult;
78
89
  };
90
+ /**
91
+ * Sources a route needs beyond its inherited policy. Each entry widens one
92
+ * directive only, so a need never grants a source to an unrelated directive.
93
+ */
94
+ export type RouteSecurityNeeds = {
95
+ connect?: readonly CspSource[];
96
+ img?: readonly CspSource[];
97
+ script?: readonly CspSource[];
98
+ };
79
99
  export type RouteSecurityPolicy = {
80
100
  csrf?: CsrfPolicy;
101
+ needs?: RouteSecurityNeeds;
81
102
  rateLimit?: RateLimitPolicy;
82
103
  request?: RequestSecurityPolicy;
83
104
  };