@samebase/convex-hosting 0.3.2 → 0.4.1

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 (193) hide show
  1. package/CHANGELOG.md +17 -132
  2. package/README.md +188 -406
  3. package/dist/cli/convex.d.ts +63 -0
  4. package/dist/cli/convex.js +108 -0
  5. package/dist/cli/convex.js.map +1 -0
  6. package/dist/cli/files.d.ts +18 -0
  7. package/dist/cli/files.js +106 -0
  8. package/dist/cli/files.js.map +1 -0
  9. package/dist/cli/index.d.ts +1 -11
  10. package/dist/cli/index.js +3 -58
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/main.d.ts +5 -0
  13. package/dist/cli/main.js +377 -0
  14. package/dist/cli/main.js.map +1 -0
  15. package/dist/client/index.d.ts +8 -115
  16. package/dist/client/index.js +65 -242
  17. package/dist/client/index.js.map +1 -1
  18. package/dist/client/types.d.ts +5 -0
  19. package/dist/client/version-module.d.ts +6 -0
  20. package/dist/component/_generated/api.d.ts +0 -5
  21. package/dist/component/_generated/api.js.map +1 -1
  22. package/dist/component/_generated/component.d.ts +20 -18
  23. package/dist/component/_generated/dataModel.d.ts +0 -1
  24. package/dist/component/_generated/server.d.ts +12 -1
  25. package/dist/component/_generated/server.js +2 -0
  26. package/dist/component/_generated/server.js.map +1 -1
  27. package/dist/component/convex.config.d.ts +0 -1
  28. package/dist/component/lib.d.ts +175 -156
  29. package/dist/component/lib.js +396 -710
  30. package/dist/component/lib.js.map +1 -1
  31. package/dist/component/schema.d.ts +76 -72
  32. package/dist/component/schema.js +35 -59
  33. package/dist/component/schema.js.map +1 -1
  34. package/dist/workers-shared/asset-worker/src/analytics.d.ts +39 -0
  35. package/dist/workers-shared/asset-worker/src/analytics.js +86 -0
  36. package/dist/workers-shared/asset-worker/src/analytics.js.map +1 -0
  37. package/dist/workers-shared/asset-worker/src/compatibility-flags.d.ts +19 -0
  38. package/dist/workers-shared/asset-worker/src/compatibility-flags.js +29 -0
  39. package/dist/workers-shared/asset-worker/src/compatibility-flags.js.map +1 -0
  40. package/dist/workers-shared/asset-worker/src/configuration.d.ts +3 -0
  41. package/dist/workers-shared/asset-worker/src/configuration.js +30 -0
  42. package/dist/workers-shared/asset-worker/src/configuration.js.map +1 -0
  43. package/dist/workers-shared/asset-worker/src/constants.d.ts +1 -0
  44. package/dist/workers-shared/asset-worker/src/constants.js +3 -0
  45. package/dist/workers-shared/asset-worker/src/constants.js.map +1 -0
  46. package/dist/workers-shared/asset-worker/src/handler.d.ts +28 -0
  47. package/dist/workers-shared/asset-worker/src/handler.js +717 -0
  48. package/dist/workers-shared/asset-worker/src/handler.js.map +1 -0
  49. package/dist/workers-shared/asset-worker/src/types.d.ts +13 -0
  50. package/dist/workers-shared/asset-worker/src/types.js +2 -0
  51. package/dist/workers-shared/asset-worker/src/types.js.map +1 -0
  52. package/dist/workers-shared/asset-worker/src/utils/base-path.d.ts +29 -0
  53. package/dist/workers-shared/asset-worker/src/utils/base-path.js +56 -0
  54. package/dist/workers-shared/asset-worker/src/utils/base-path.js.map +1 -0
  55. package/dist/workers-shared/asset-worker/src/utils/headers.d.ts +11 -0
  56. package/dist/workers-shared/asset-worker/src/utils/headers.js +77 -0
  57. package/dist/workers-shared/asset-worker/src/utils/headers.js.map +1 -0
  58. package/dist/workers-shared/asset-worker/src/utils/rules-engine.d.ts +23 -0
  59. package/dist/workers-shared/asset-worker/src/utils/rules-engine.js +133 -0
  60. package/dist/workers-shared/asset-worker/src/utils/rules-engine.js.map +1 -0
  61. package/dist/workers-shared/asset-worker/src/worker.d.ts +14 -0
  62. package/dist/workers-shared/asset-worker/src/worker.js +12 -0
  63. package/dist/workers-shared/asset-worker/src/worker.js.map +1 -0
  64. package/dist/workers-shared/utils/base-path.d.ts +32 -0
  65. package/dist/workers-shared/utils/base-path.js +94 -0
  66. package/dist/workers-shared/utils/base-path.js.map +1 -0
  67. package/dist/workers-shared/utils/configuration/constants.d.ts +15 -0
  68. package/dist/workers-shared/utils/configuration/constants.js +16 -0
  69. package/dist/workers-shared/utils/configuration/constants.js.map +1 -0
  70. package/dist/workers-shared/utils/configuration/constructConfiguration.d.ts +12 -0
  71. package/dist/workers-shared/utils/configuration/constructConfiguration.js +103 -0
  72. package/dist/workers-shared/utils/configuration/constructConfiguration.js.map +1 -0
  73. package/dist/workers-shared/utils/configuration/parseHeaders.d.ts +5 -0
  74. package/dist/workers-shared/utils/configuration/parseHeaders.js +181 -0
  75. package/dist/workers-shared/utils/configuration/parseHeaders.js.map +1 -0
  76. package/dist/workers-shared/utils/configuration/parseRedirects.d.ts +8 -0
  77. package/dist/workers-shared/utils/configuration/parseRedirects.js +129 -0
  78. package/dist/workers-shared/utils/configuration/parseRedirects.js.map +1 -0
  79. package/dist/workers-shared/utils/configuration/parseStaticRouting.d.ts +2 -0
  80. package/dist/workers-shared/utils/configuration/parseStaticRouting.js +94 -0
  81. package/dist/workers-shared/utils/configuration/parseStaticRouting.js.map +1 -0
  82. package/dist/workers-shared/utils/configuration/types.d.ts +38 -0
  83. package/dist/workers-shared/utils/configuration/types.js +2 -0
  84. package/dist/workers-shared/utils/configuration/types.js.map +1 -0
  85. package/dist/workers-shared/utils/configuration/validateURL.d.ts +3 -0
  86. package/dist/workers-shared/utils/configuration/validateURL.js +56 -0
  87. package/dist/workers-shared/utils/configuration/validateURL.js.map +1 -0
  88. package/dist/workers-shared/utils/constants.d.ts +28 -0
  89. package/dist/workers-shared/utils/constants.js +34 -0
  90. package/dist/workers-shared/utils/constants.js.map +1 -0
  91. package/dist/workers-shared/utils/helpers.d.ts +22 -0
  92. package/dist/workers-shared/utils/helpers.js +73 -0
  93. package/dist/workers-shared/utils/helpers.js.map +1 -0
  94. package/dist/workers-shared/utils/responses.d.ts +43 -0
  95. package/dist/workers-shared/utils/responses.js +125 -0
  96. package/dist/workers-shared/utils/responses.js.map +1 -0
  97. package/dist/workers-shared/utils/tracing.d.ts +3 -0
  98. package/dist/workers-shared/utils/tracing.js +29 -0
  99. package/dist/workers-shared/utils/tracing.js.map +1 -0
  100. package/dist/workers-shared/utils/types.d.ts +131 -0
  101. package/dist/workers-shared/utils/types.js +72 -0
  102. package/dist/workers-shared/utils/types.js.map +1 -0
  103. package/package.json +21 -37
  104. package/INTEGRATION.md +0 -399
  105. package/dist/cli/args.d.ts +0 -28
  106. package/dist/cli/args.d.ts.map +0 -1
  107. package/dist/cli/args.js +0 -148
  108. package/dist/cli/args.js.map +0 -1
  109. package/dist/cli/argumentChunks.d.ts +0 -3
  110. package/dist/cli/argumentChunks.d.ts.map +0 -1
  111. package/dist/cli/argumentChunks.js +0 -29
  112. package/dist/cli/argumentChunks.js.map +0 -1
  113. package/dist/cli/collectFiles.d.ts +0 -10
  114. package/dist/cli/collectFiles.d.ts.map +0 -1
  115. package/dist/cli/collectFiles.js +0 -53
  116. package/dist/cli/collectFiles.js.map +0 -1
  117. package/dist/cli/commands.d.ts +0 -8
  118. package/dist/cli/commands.d.ts.map +0 -1
  119. package/dist/cli/commands.js +0 -56
  120. package/dist/cli/commands.js.map +0 -1
  121. package/dist/cli/componentName.d.ts +0 -32
  122. package/dist/cli/componentName.d.ts.map +0 -1
  123. package/dist/cli/componentName.js +0 -43
  124. package/dist/cli/componentName.js.map +0 -1
  125. package/dist/cli/deploy.d.ts +0 -16
  126. package/dist/cli/deploy.d.ts.map +0 -1
  127. package/dist/cli/deploy.js +0 -283
  128. package/dist/cli/deploy.js.map +0 -1
  129. package/dist/cli/deployEnvironment.d.ts +0 -10
  130. package/dist/cli/deployEnvironment.d.ts.map +0 -1
  131. package/dist/cli/deployEnvironment.js +0 -12
  132. package/dist/cli/deployEnvironment.js.map +0 -1
  133. package/dist/cli/index.d.ts.map +0 -1
  134. package/dist/cli/upload.d.ts +0 -22
  135. package/dist/cli/upload.d.ts.map +0 -1
  136. package/dist/cli/upload.js +0 -630
  137. package/dist/cli/upload.js.map +0 -1
  138. package/dist/client/_generated/_ignore.d.ts +0 -1
  139. package/dist/client/_generated/_ignore.d.ts.map +0 -1
  140. package/dist/client/_generated/_ignore.js +0 -3
  141. package/dist/client/_generated/_ignore.js.map +0 -1
  142. package/dist/client/index.d.ts.map +0 -1
  143. package/dist/component/_generated/api.d.ts.map +0 -1
  144. package/dist/component/_generated/component.d.ts.map +0 -1
  145. package/dist/component/_generated/dataModel.d.ts.map +0 -1
  146. package/dist/component/_generated/server.d.ts.map +0 -1
  147. package/dist/component/convex.config.d.ts.map +0 -1
  148. package/dist/component/http.d.ts +0 -4
  149. package/dist/component/http.d.ts.map +0 -1
  150. package/dist/component/http.js +0 -113
  151. package/dist/component/http.js.map +0 -1
  152. package/dist/component/lib.d.ts.map +0 -1
  153. package/dist/component/schema.d.ts.map +0 -1
  154. package/dist/component/serving.d.ts +0 -23
  155. package/dist/component/serving.d.ts.map +0 -1
  156. package/dist/component/serving.js +0 -161
  157. package/dist/component/serving.js.map +0 -1
  158. package/dist/react/index.d.ts +0 -59
  159. package/dist/react/index.d.ts.map +0 -1
  160. package/dist/react/index.js +0 -137
  161. package/dist/react/index.js.map +0 -1
  162. package/src/cli/args.test.ts +0 -79
  163. package/src/cli/args.ts +0 -153
  164. package/src/cli/argumentChunks.test.ts +0 -27
  165. package/src/cli/argumentChunks.ts +0 -40
  166. package/src/cli/collectFiles.test.ts +0 -26
  167. package/src/cli/collectFiles.ts +0 -59
  168. package/src/cli/commands.ts +0 -68
  169. package/src/cli/componentName.test.ts +0 -41
  170. package/src/cli/componentName.ts +0 -46
  171. package/src/cli/deploy.ts +0 -336
  172. package/src/cli/deployEnvironment.test.ts +0 -27
  173. package/src/cli/deployEnvironment.ts +0 -17
  174. package/src/cli/index.ts +0 -65
  175. package/src/cli/upload.ts +0 -837
  176. package/src/client/_generated/_ignore.ts +0 -1
  177. package/src/client/index.test.ts +0 -549
  178. package/src/client/index.ts +0 -344
  179. package/src/client/setup.test.ts +0 -22
  180. package/src/component/_generated/api.ts +0 -54
  181. package/src/component/_generated/component.ts +0 -55
  182. package/src/component/_generated/dataModel.ts +0 -60
  183. package/src/component/_generated/server.ts +0 -156
  184. package/src/component/convex.config.ts +0 -3
  185. package/src/component/http.test.ts +0 -254
  186. package/src/component/http.ts +0 -133
  187. package/src/component/lib.test.ts +0 -1007
  188. package/src/component/lib.ts +0 -862
  189. package/src/component/schema.ts +0 -75
  190. package/src/component/serving.ts +0 -170
  191. package/src/component/setup.test.ts +0 -11
  192. package/src/react/index.tsx +0 -197
  193. package/src/test.ts +0 -23
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/workers-shared/asset-worker/src/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { AssetConfig } from "../../utils/types.js";
2
+ export type NormalizedAssetConfig = Required<AssetConfig>;
3
+ export type Environment = "production" | "staging" | "fed-prod";
4
+ export interface ReadyAnalytics {
5
+ logEvent: (e: ReadyAnalyticsEvent) => void;
6
+ }
7
+ export interface ReadyAnalyticsEvent {
8
+ accountId?: number;
9
+ indexId?: string;
10
+ version?: number;
11
+ doubles?: (number | undefined)[];
12
+ blobs?: (string | undefined)[];
13
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/workers-shared/asset-worker/src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Asset-worker-local helpers for converting between public request pathnames
3
+ * and asset-directory-relative pathnames using the configured `base_path`.
4
+ *
5
+ * `base` is always the canonical stored form: either `"/"` or an absolute
6
+ * pathname with a trailing slash such as `"/subpath/"`.
7
+ */
8
+ /**
9
+ * Strip the configured base from a decoded public pathname, returning the
10
+ * asset-directory-relative path.
11
+ *
12
+ * - When `base` is `"/"` this is the identity mapping (`inPrefix: true`).
13
+ * - The base root itself maps to `assetPath: "/"`.
14
+ * - A leading `/` is always preserved on the returned asset path.
15
+ * - When the path is off-prefix, `inPrefix` is `false` and the caller returns
16
+ * `NoIntentResponse`.
17
+ */
18
+ export declare function stripBasePath(publicDecodedPath: string, base: string): {
19
+ inPrefix: boolean;
20
+ assetPath: string;
21
+ };
22
+ /**
23
+ * Re-append the configured base to an asset-directory-relative location,
24
+ * producing a public path. Only ever call this with an explicitly
25
+ * asset-relative location (e.g. an asset-worker-generated redirect); never with
26
+ * a value that might already be public. The empty string represents the base
27
+ * root without its canonical trailing slash.
28
+ */
29
+ export declare function addBasePath(assetRelativePath: string, base: string): string;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Asset-worker-local helpers for converting between public request pathnames
3
+ * and asset-directory-relative pathnames using the configured `base_path`.
4
+ *
5
+ * `base` is always the canonical stored form: either `"/"` or an absolute
6
+ * pathname with a trailing slash such as `"/subpath/"`.
7
+ */
8
+ /**
9
+ * Segment-aware check that a decoded public path is at, or nested under, the
10
+ * base. `/subpath` matches `/subpath` and `/subpath/...`, but not
11
+ * `/subpath-other`. The root base `"/"` matches everything.
12
+ */
13
+ function isWithinBase(publicDecodedPath, base) {
14
+ if (base === "/") {
15
+ return true;
16
+ }
17
+ return (publicDecodedPath === base.slice(0, -1) ||
18
+ publicDecodedPath.startsWith(base));
19
+ }
20
+ /**
21
+ * Strip the configured base from a decoded public pathname, returning the
22
+ * asset-directory-relative path.
23
+ *
24
+ * - When `base` is `"/"` this is the identity mapping (`inPrefix: true`).
25
+ * - The base root itself maps to `assetPath: "/"`.
26
+ * - A leading `/` is always preserved on the returned asset path.
27
+ * - When the path is off-prefix, `inPrefix` is `false` and the caller returns
28
+ * `NoIntentResponse`.
29
+ */
30
+ export function stripBasePath(publicDecodedPath, base) {
31
+ if (base === "/") {
32
+ return { inPrefix: true, assetPath: publicDecodedPath };
33
+ }
34
+ if (!isWithinBase(publicDecodedPath, base)) {
35
+ return { inPrefix: false, assetPath: publicDecodedPath };
36
+ }
37
+ const stripped = publicDecodedPath.slice(base.length - 1);
38
+ return { inPrefix: true, assetPath: stripped === "" ? "/" : stripped };
39
+ }
40
+ /**
41
+ * Re-append the configured base to an asset-directory-relative location,
42
+ * producing a public path. Only ever call this with an explicitly
43
+ * asset-relative location (e.g. an asset-worker-generated redirect); never with
44
+ * a value that might already be public. The empty string represents the base
45
+ * root without its canonical trailing slash.
46
+ */
47
+ export function addBasePath(assetRelativePath, base) {
48
+ if (base === "/") {
49
+ return assetRelativePath;
50
+ }
51
+ if (assetRelativePath === "/") {
52
+ return base;
53
+ }
54
+ return base.slice(0, -1) + assetRelativePath;
55
+ }
56
+ //# sourceMappingURL=base-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-path.js","sourceRoot":"","sources":["../../../../../src/workers-shared/asset-worker/src/utils/base-path.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,SAAS,YAAY,CAAC,iBAAyB,EAAE,IAAY;IAC5D,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CACN,iBAAiB,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAClC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC5B,iBAAyB,EACzB,IAAY;IAEZ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,iBAAyB,EAAE,IAAY;IAClE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IACD,IAAI,iBAAiB,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { AssetIntentWithResolver } from "../handler.js";
2
+ import type { NormalizedAssetConfig } from "../types.js";
3
+ import type { Env } from "../worker.js";
4
+ /**
5
+ * Returns a Headers object that contains additional headers (to those
6
+ * present in the original request) that the Assets Server Worker
7
+ * should attach to its response.
8
+ *
9
+ */
10
+ export declare function getAssetHeaders({ eTag, resolver }: AssetIntentWithResolver, contentType: string | undefined, cacheStatus: string, request: Request, configuration: NormalizedAssetConfig): Headers;
11
+ export declare function attachCustomHeaders(request: Request, response: Response, configuration: NormalizedAssetConfig, env: Env): Response;
@@ -0,0 +1,77 @@
1
+ import { mockJaegerBinding } from "../../../utils/tracing.js";
2
+ import { flagIsEnabled, SEC_FETCH_MODE_NAVIGATE_HEADER_PREFERS_ASSET_SERVING, } from "../compatibility-flags.js";
3
+ import { CACHE_CONTROL_BROWSER } from "../constants.js";
4
+ import { HEADERS_VERSION } from "../handler.js";
5
+ import { generateRulesMatcher, replacer } from "./rules-engine.js";
6
+ /**
7
+ * Returns a Headers object that contains additional headers (to those
8
+ * present in the original request) that the Assets Server Worker
9
+ * should attach to its response.
10
+ *
11
+ */
12
+ export function getAssetHeaders({ eTag, resolver }, contentType, cacheStatus, request, configuration) {
13
+ const headers = new Headers({
14
+ ETag: `"${eTag}"`,
15
+ });
16
+ if (contentType !== undefined) {
17
+ headers.append("Content-Type", contentType);
18
+ }
19
+ if (isCacheable(request)) {
20
+ headers.append("Cache-Control", CACHE_CONTROL_BROWSER);
21
+ }
22
+ // Attach CF-Cache-Status, this will show to users that we are caching assets
23
+ // and it will also populate the cache fields through the logging pipeline.
24
+ headers.append("CF-Cache-Status", cacheStatus);
25
+ if (configuration.debug &&
26
+ resolver === "not-found" &&
27
+ flagIsEnabled(configuration, SEC_FETCH_MODE_NAVIGATE_HEADER_PREFERS_ASSET_SERVING)) {
28
+ headers.append("X-Mf-Additional-Response-Log", "`Sec-Fetch-Mode: navigate` header present - using `not_found_handling` behavior");
29
+ }
30
+ return headers;
31
+ }
32
+ function isCacheable(request) {
33
+ return !request.headers.has("Authorization") && !request.headers.has("Range");
34
+ }
35
+ export function attachCustomHeaders(request, response, configuration, env) {
36
+ const jaeger = env.JAEGER ?? mockJaegerBinding();
37
+ return jaeger.enterSpan("add_headers", (span) => {
38
+ // Iterate through rules and find rules that match the path
39
+ const headersMatcher = generateRulesMatcher(configuration.headers?.version === HEADERS_VERSION
40
+ ? configuration.headers.rules
41
+ : {}, ({ set = {}, unset = [] }, replacements) => {
42
+ const replacedSet = {};
43
+ Object.entries(set).forEach(([key, value]) => {
44
+ replacedSet[key] = replacer(value, replacements);
45
+ });
46
+ return {
47
+ set: replacedSet,
48
+ unset,
49
+ };
50
+ });
51
+ const matches = headersMatcher({ request });
52
+ // This keeps track of every header that we've set from _headers
53
+ // because we want to combine user declared headers but overwrite
54
+ // existing and extra ones
55
+ const setMap = new Set();
56
+ // Apply every matched rule in order
57
+ matches.forEach(({ set = {}, unset = [] }) => {
58
+ unset.forEach((key) => {
59
+ response.headers.delete(key);
60
+ span.addLogs({ remove_header: key });
61
+ });
62
+ Object.entries(set).forEach(([key, value]) => {
63
+ if (setMap.has(key.toLowerCase())) {
64
+ response.headers.append(key, value);
65
+ span.addLogs({ append_header: key });
66
+ }
67
+ else {
68
+ response.headers.set(key, value);
69
+ setMap.add(key.toLowerCase());
70
+ span.addLogs({ add_header: key });
71
+ }
72
+ });
73
+ });
74
+ return response;
75
+ });
76
+ }
77
+ //# sourceMappingURL=headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../../../src/workers-shared/asset-worker/src/utils/headers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { NormalizedAssetConfig } from "../types.js";
2
+ export type Replacements = Record<string, string>;
3
+ export type Removals = string[];
4
+ export declare const replacer: (str: string, replacements: Replacements) => string;
5
+ export declare const generateGlobOnlyRuleRegExp: (rule: string) => RegExp;
6
+ export declare const generateRuleRegExp: (rule: string) => RegExp;
7
+ export declare const generateRulesMatcher: <T>(rules?: Record<string, T>, replacerFn?: (match: T, replacements: Replacements) => T) => ({ request }: {
8
+ request: Request;
9
+ }) => T[];
10
+ export declare const staticRedirectsMatcher: (configuration: NormalizedAssetConfig, host: string, pathname: string) => {
11
+ status: number;
12
+ to: string;
13
+ lineNumber: number;
14
+ };
15
+ export declare const generateRedirectsMatcher: (configuration: NormalizedAssetConfig) => ({ request }: {
16
+ request: Request;
17
+ }) => {
18
+ status: number;
19
+ to: string;
20
+ }[];
21
+ export declare const generateStaticRoutingRuleMatcher: (rules: string[]) => ({ request }: {
22
+ request: Request;
23
+ }) => boolean;
@@ -0,0 +1,133 @@
1
+ // Taken from https://stackoverflow.com/a/3561711
2
+ // which is everything from the tc39 proposal, plus the following two characters: ^/
3
+ // It's also everything included in the URLPattern escape (https://wicg.github.io/urlpattern/#escape-a-regexp-string), plus the following: -
4
+ import { REDIRECTS_VERSION } from "../handler.js";
5
+ // As the answer says, there's no downside to escaping these extra characters, so better safe than sorry
6
+ const ESCAPE_REGEX_CHARACTERS = /[-/\\^$*+?.()|[\]{}]/g;
7
+ const escapeRegex = (str) => {
8
+ return str.replace(ESCAPE_REGEX_CHARACTERS, "\\$&");
9
+ };
10
+ // Placeholder names must begin with a colon then a letter, be alphanumeric and optionally contain underscores.
11
+ // e.g. :place_123_holder
12
+ const HOST_PLACEHOLDER_REGEX = /(?<=^https:\\\/\\\/[^/]*?):([A-Za-z]\w*)(?=\\)/g;
13
+ const PLACEHOLDER_REGEX = /:([A-Za-z]\w*)/g;
14
+ export const replacer = (str, replacements) => {
15
+ for (const [replacement, value] of Object.entries(replacements)) {
16
+ str = str.replaceAll(`:${replacement}`, value);
17
+ }
18
+ return str;
19
+ };
20
+ export const generateGlobOnlyRuleRegExp = (rule) => {
21
+ // Escape all regex characters other than globs (the "*" character) since that's all that's supported.
22
+ rule = rule.split("*").map(escapeRegex).join(".*");
23
+ // Wrap in line terminators to be safe.
24
+ rule = "^" + rule + "$";
25
+ return RegExp(rule);
26
+ };
27
+ export const generateRuleRegExp = (rule) => {
28
+ // Create :splat capturer then escape.
29
+ rule = rule.split("*").map(escapeRegex).join("(?<splat>.*)");
30
+ // Create :placeholder capturers (already escaped).
31
+ // For placeholders in the host, we separate at forward slashes and periods.
32
+ // For placeholders in the path, we separate at forward slashes.
33
+ // This matches the behavior of URLPattern.
34
+ // e.g. https://:subdomain.domain/ -> https://(here).domain/
35
+ // e.g. /static/:file -> /static/(image.jpg)
36
+ // e.g. /blog/:post -> /blog/(an-exciting-post)
37
+ const host_matches = rule.matchAll(HOST_PLACEHOLDER_REGEX);
38
+ for (const host_match of host_matches) {
39
+ rule = rule.split(host_match[0]).join(`(?<${host_match[1]}>[^/.]+)`);
40
+ }
41
+ const path_matches = rule.matchAll(PLACEHOLDER_REGEX);
42
+ for (const path_match of path_matches) {
43
+ rule = rule.split(path_match[0]).join(`(?<${path_match[1]}>[^/]+)`);
44
+ }
45
+ // Wrap in line terminators to be safe.
46
+ rule = "^" + rule + "$";
47
+ return RegExp(rule);
48
+ };
49
+ export const generateRulesMatcher = (rules, replacerFn = (match) => match) => {
50
+ if (!rules) {
51
+ return () => [];
52
+ }
53
+ const compiledRules = Object.entries(rules)
54
+ .map(([rule, match]) => {
55
+ const crossHost = rule.startsWith("https://");
56
+ try {
57
+ const regExp = generateRuleRegExp(rule);
58
+ return [{ crossHost, regExp }, match];
59
+ }
60
+ catch { }
61
+ })
62
+ .filter((value) => value !== undefined);
63
+ return ({ request }) => {
64
+ const { pathname, hostname } = new URL(request.url);
65
+ return compiledRules
66
+ .map(([{ crossHost, regExp }, match]) => {
67
+ // This, rather confusingly, means that although we enforce `https://` protocols in
68
+ // the rules of `_headers`/`_redirects`, we don't actually respect that at all at runtime.
69
+ // When processing a request against an absolute URL rule, we rewrite the protocol to `https://`.
70
+ // This has the benefit of ensuring attackers can't specify a different protocol
71
+ // to circumvent a developer's security rules (e.g. CORS), but it isn't obvious behavior.
72
+ // We should consider different syntax in the future for developers when they specify rules.
73
+ // For example, `*://example.com/path`, `://example.com/path` or `//example.com/`.
74
+ // Though we'd need to be careful with that last one
75
+ // as that would currently be read as a relative URL.
76
+ // Perhaps, if we ever move the `_headers`/`_redirects` files to acting ahead of Functions,
77
+ // this might be a good time for this change.
78
+ const test = crossHost ? `https://${hostname}${pathname}` : pathname;
79
+ const result = regExp.exec(test);
80
+ if (result) {
81
+ return replacerFn(match, result.groups || {});
82
+ }
83
+ })
84
+ .filter((value) => value !== undefined);
85
+ };
86
+ };
87
+ export const staticRedirectsMatcher = (configuration, host, pathname) => {
88
+ const withHostMatch = configuration.redirects.staticRules[`https://${host}${pathname}`];
89
+ const withoutHostMatch = configuration.redirects.staticRules[pathname];
90
+ if (withHostMatch && withoutHostMatch) {
91
+ if (withHostMatch.lineNumber < withoutHostMatch.lineNumber) {
92
+ return withHostMatch;
93
+ }
94
+ else {
95
+ return withoutHostMatch;
96
+ }
97
+ }
98
+ return withHostMatch || withoutHostMatch;
99
+ };
100
+ export const generateRedirectsMatcher = (configuration) => generateRulesMatcher(configuration.redirects.version === REDIRECTS_VERSION
101
+ ? configuration.redirects.rules
102
+ : {}, ({ status, to }, replacements) => {
103
+ const target = replacer(to, replacements).trim();
104
+ const protoPattern = /^(\w+:\/\/)/;
105
+ if (protoPattern.test(target)) {
106
+ // External redirects are not modified.
107
+ return {
108
+ status,
109
+ to: target,
110
+ };
111
+ }
112
+ else {
113
+ // Relative redirects are modified to remove multiple slashes.
114
+ return {
115
+ status,
116
+ to: target.replace(/\/+/g, "/"),
117
+ };
118
+ }
119
+ });
120
+ export const generateStaticRoutingRuleMatcher = (rules) => ({ request }) => {
121
+ const { pathname } = new URL(request.url);
122
+ for (const rule of rules) {
123
+ try {
124
+ const regExp = generateGlobOnlyRuleRegExp(rule);
125
+ if (regExp.test(pathname)) {
126
+ return true;
127
+ }
128
+ }
129
+ catch { }
130
+ }
131
+ return false;
132
+ };
133
+ //# sourceMappingURL=rules-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules-engine.js","sourceRoot":"","sources":["../../../../../src/workers-shared/asset-worker/src/utils/rules-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { JaegerTracing } from "../../utils/types";
2
+ export type Env = {
3
+ JAEGER: JaegerTracing;
4
+ };
5
+ export type GetByETagResult = {
6
+ readableStream: ReadableStream;
7
+ contentType: string | undefined;
8
+ cacheStatus: "HIT" | "MISS";
9
+ };
10
+ /** The two callbacks that `handleRequest` and `canFetch` take, as upstream declares them. */
11
+ export default class AssetWorkerEntrypoint {
12
+ unstable_exists(_pathname: string, _request?: Request): Promise<string | null>;
13
+ unstable_getByETag(_eTag: string, _request?: Request): Promise<GetByETagResult>;
14
+ }
@@ -0,0 +1,12 @@
1
+ // Ours, not synced. Upstream's worker.ts is the Cloudflare Worker entrypoint (KV, analytics,
2
+ // Sentry). handler.ts and utils/headers.ts import only these types from it.
3
+ /** The two callbacks that `handleRequest` and `canFetch` take, as upstream declares them. */
4
+ export default class AssetWorkerEntrypoint {
5
+ unstable_exists(_pathname, _request) {
6
+ throw new Error("Type-only declaration.");
7
+ }
8
+ unstable_getByETag(_eTag, _request) {
9
+ throw new Error("Type-only declaration.");
10
+ }
11
+ }
12
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/workers-shared/asset-worker/src/worker.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,4EAA4E;AAc5E,6FAA6F;AAC7F,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,eAAe,CAAC,SAAiB,EAAE,QAAkB;QACnD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,QAAkB;QAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Canonical normalization for the `assets.base_path` configuration field.
3
+ *
4
+ * This implements the shared canonical path contract applied by the Asset
5
+ * Worker when it receives its final configuration.
6
+ *
7
+ * The stored canonical form is either the root `"/"` or an absolute pathname
8
+ * with both leading and trailing slashes, such as `"/subpath/"`.
9
+ */
10
+ export type BasePathValidationResult = {
11
+ valid: true;
12
+ value: string;
13
+ } | {
14
+ valid: false;
15
+ error: string;
16
+ };
17
+ /**
18
+ * Validate and normalize a raw `base_path` value into its canonical stored form.
19
+ *
20
+ * Relative and absolute pathname inputs are accepted and interpreted as a fixed
21
+ * root-relative request prefix. Empty and dot segments are resolved before a
22
+ * leading and trailing slash are applied. URL-shaped values, query or fragment
23
+ * delimiters, backslashes, control characters, and percent-encoded sequences
24
+ * are rejected. Unicode pathname characters are allowed.
25
+ */
26
+ export declare function normalizeBasePath(value: unknown): BasePathValidationResult;
27
+ /**
28
+ * Decode and normalize a URI-encoded `base_path` without decoding reserved URI
29
+ * delimiters. In particular, `decodeURI` leaves encoded path separators such
30
+ * as `%2F` intact so that `normalizeBasePath` rejects them as ambiguous.
31
+ */
32
+ export declare function normalizeUriEncodedBasePath(value: unknown): BasePathValidationResult;
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Canonical normalization for the `assets.base_path` configuration field.
3
+ *
4
+ * This implements the shared canonical path contract applied by the Asset
5
+ * Worker when it receives its final configuration.
6
+ *
7
+ * The stored canonical form is either the root `"/"` or an absolute pathname
8
+ * with both leading and trailing slashes, such as `"/subpath/"`.
9
+ */
10
+ // eslint-disable-next-line no-control-regex -- control characters are matched intentionally so they can be rejected in `base_path`
11
+ const CONTROL_CHARACTER = /[\u0000-\u001f\u007f]/;
12
+ /**
13
+ * Validate and normalize a raw `base_path` value into its canonical stored form.
14
+ *
15
+ * Relative and absolute pathname inputs are accepted and interpreted as a fixed
16
+ * root-relative request prefix. Empty and dot segments are resolved before a
17
+ * leading and trailing slash are applied. URL-shaped values, query or fragment
18
+ * delimiters, backslashes, control characters, and percent-encoded sequences
19
+ * are rejected. Unicode pathname characters are allowed.
20
+ */
21
+ export function normalizeBasePath(value) {
22
+ if (value === "/") {
23
+ return { valid: true, value: "/" };
24
+ }
25
+ if (typeof value !== "string") {
26
+ return {
27
+ valid: false,
28
+ error: `Expected a string but got ${typeof value}.`,
29
+ };
30
+ }
31
+ if (value.length === 0) {
32
+ return { valid: false, error: `The value must not be empty.` };
33
+ }
34
+ if (value.startsWith("//") || /^[a-zA-Z][a-zA-Z\d+.-]*:/.test(value)) {
35
+ return {
36
+ valid: false,
37
+ error: `The value must be a pathname, not a URL.`,
38
+ };
39
+ }
40
+ if (value.includes("\\")) {
41
+ return { valid: false, error: `The value must not contain backslashes.` };
42
+ }
43
+ if (CONTROL_CHARACTER.test(value)) {
44
+ return {
45
+ valid: false,
46
+ error: `The value must not contain control characters.`,
47
+ };
48
+ }
49
+ if (value.includes("?") || value.includes("#")) {
50
+ return {
51
+ valid: false,
52
+ error: `The value must not contain query strings or fragments.`,
53
+ };
54
+ }
55
+ if (value.includes("%")) {
56
+ return {
57
+ valid: false,
58
+ error: `The value must not contain percent-encoded sequences.`,
59
+ };
60
+ }
61
+ const normalizedSegments = [];
62
+ for (const segment of value.split("/")) {
63
+ if (segment === "" || segment === ".") {
64
+ continue;
65
+ }
66
+ if (segment === "..") {
67
+ normalizedSegments.pop();
68
+ continue;
69
+ }
70
+ normalizedSegments.push(segment);
71
+ }
72
+ const canonical = normalizedSegments.length === 0 ? "/" : `/${normalizedSegments.join("/")}/`;
73
+ return { valid: true, value: canonical };
74
+ }
75
+ /**
76
+ * Decode and normalize a URI-encoded `base_path` without decoding reserved URI
77
+ * delimiters. In particular, `decodeURI` leaves encoded path separators such
78
+ * as `%2F` intact so that `normalizeBasePath` rejects them as ambiguous.
79
+ */
80
+ export function normalizeUriEncodedBasePath(value) {
81
+ if (typeof value !== "string") {
82
+ return normalizeBasePath(value);
83
+ }
84
+ try {
85
+ return normalizeBasePath(decodeURI(value));
86
+ }
87
+ catch {
88
+ return {
89
+ valid: false,
90
+ error: `The value contains malformed URI encoding.`,
91
+ };
92
+ }
93
+ }
94
+ //# sourceMappingURL=base-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-path.js","sourceRoot":"","sources":["../../../src/workers-shared/utils/base-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,mIAAmI;AACnI,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC/C,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,6BAA6B,OAAO,KAAK,GAAG;SACnD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,0CAA0C;SACjD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;IAC3E,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,gDAAgD;SACvD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,wDAAwD;SAC/D,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uDAAuD;SAC9D,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACvC,SAAS;QACV,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,kBAAkB,CAAC,GAAG,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QACD,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,SAAS,GACd,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAC1C,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,4CAA4C;SACnD,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const REDIRECTS_VERSION = 1;
2
+ export declare const HEADERS_VERSION = 2;
3
+ export declare const PERMITTED_STATUS_CODES: Set<number>;
4
+ export declare const HEADER_SEPARATOR = ":";
5
+ export declare const MAX_LINE_LENGTH = 2000;
6
+ export declare const MAX_HEADER_RULES = 100;
7
+ export declare const MAX_DYNAMIC_REDIRECT_RULES = 100;
8
+ export declare const MAX_STATIC_REDIRECT_RULES = 2000;
9
+ export declare const UNSET_OPERATOR = "! ";
10
+ export declare const SPLAT_REGEX: RegExp;
11
+ export declare const PLACEHOLDER_REGEX: RegExp;
12
+ /** Max number of rules in `run_worker_first` */
13
+ export declare const MAX_ROUTES_RULES = 100;
14
+ /** Max char length of each rule in `run_worker_first` */
15
+ export declare const MAX_ROUTES_RULE_LENGTH = 100;
@@ -0,0 +1,16 @@
1
+ export const REDIRECTS_VERSION = 1;
2
+ export const HEADERS_VERSION = 2;
3
+ export const PERMITTED_STATUS_CODES = new Set([200, 301, 302, 303, 307, 308]);
4
+ export const HEADER_SEPARATOR = ":";
5
+ export const MAX_LINE_LENGTH = 2000;
6
+ export const MAX_HEADER_RULES = 100;
7
+ export const MAX_DYNAMIC_REDIRECT_RULES = 100;
8
+ export const MAX_STATIC_REDIRECT_RULES = 2000;
9
+ export const UNSET_OPERATOR = "! ";
10
+ export const SPLAT_REGEX = /\*/g;
11
+ export const PLACEHOLDER_REGEX = /:[A-Za-z]\w*/g;
12
+ /** Max number of rules in `run_worker_first` */
13
+ export const MAX_ROUTES_RULES = 100;
14
+ /** Max char length of each rule in `run_worker_first` */
15
+ export const MAX_ROUTES_RULE_LENGTH = 100;
16
+ //# sourceMappingURL=constants.js.map