@farm.js/core 0.1.17 → 0.1.18

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 (249) hide show
  1. package/dist/after.cjs +12 -225
  2. package/dist/agent-runtime.cjs +83 -2800
  3. package/dist/api/client.cjs +17 -4060
  4. package/dist/api/route-manager.cjs +34 -4354
  5. package/dist/api/runtime.cjs +29 -2696
  6. package/dist/api.cjs +88 -8434
  7. package/dist/app-markdown.cjs +39 -280
  8. package/dist/cache.cjs +38 -1560
  9. package/dist/chunk-22GUSVNJ.cjs +351 -0
  10. package/dist/chunk-2CQ74SP6.cjs +13 -0
  11. package/dist/chunk-2SJ4RQ6P.cjs +57 -0
  12. package/dist/chunk-3376ZTRC.cjs +1 -0
  13. package/dist/{chunk-YD4J4XCI.mjs → chunk-3XG26Z3J.mjs} +1 -1
  14. package/dist/chunk-4PNUXIVU.cjs +472 -0
  15. package/dist/chunk-4PPEPOZZ.cjs +21 -0
  16. package/dist/chunk-4ZFL5GFN.cjs +520 -0
  17. package/dist/chunk-5OVTOKGH.cjs +65 -0
  18. package/dist/chunk-5QIKR7RR.cjs +224 -0
  19. package/dist/chunk-5ZSWG4UX.cjs +127 -0
  20. package/dist/chunk-62YJ2IEB.cjs +238 -0
  21. package/dist/chunk-6EODJYCX.cjs +183 -0
  22. package/dist/chunk-6EXBPJ24.cjs +434 -0
  23. package/dist/chunk-6QQDAAAZ.cjs +38 -0
  24. package/dist/chunk-6V4TDWEC.cjs +455 -0
  25. package/dist/chunk-72ADZ6GQ.cjs +19 -0
  26. package/dist/chunk-75BRBIFP.cjs +172 -0
  27. package/dist/chunk-7W3CPVXS.cjs +24 -0
  28. package/dist/chunk-A6WIQH5Z.cjs +31 -0
  29. package/dist/chunk-AFOD3LYZ.cjs +377 -0
  30. package/dist/chunk-AMDMVWMI.cjs +39 -0
  31. package/dist/chunk-AORPIPNB.cjs +552 -0
  32. package/dist/chunk-ARJWXNQL.cjs +256 -0
  33. package/dist/chunk-AWRISO2H.cjs +2199 -0
  34. package/dist/chunk-AYJR42WX.cjs +711 -0
  35. package/dist/chunk-B4CH33IG.cjs +644 -0
  36. package/dist/chunk-BIDYX3SL.cjs +91 -0
  37. package/dist/chunk-BSTRERPP.cjs +40 -0
  38. package/dist/chunk-BYODCJD6.cjs +663 -0
  39. package/dist/chunk-C3VRMB6H.cjs +85 -0
  40. package/dist/chunk-C5GUTBZK.cjs +173 -0
  41. package/dist/chunk-CIAGU2X4.cjs +337 -0
  42. package/dist/chunk-CMGMGHUZ.cjs +27 -0
  43. package/dist/chunk-CXP5U3RW.cjs +54 -0
  44. package/dist/chunk-D2ULAULS.cjs +166 -0
  45. package/dist/chunk-D7JTOLFK.cjs +285 -0
  46. package/dist/chunk-DVM4FKZL.cjs +169 -0
  47. package/dist/chunk-DYEJQTDN.cjs +49 -0
  48. package/dist/chunk-E2BMSZ2W.cjs +151 -0
  49. package/dist/chunk-E3UK5IIB.cjs +593 -0
  50. package/dist/chunk-EM6SBQKM.cjs +470 -0
  51. package/dist/chunk-FJSWYIR7.cjs +482 -0
  52. package/dist/chunk-FK6GO24V.cjs +54 -0
  53. package/dist/chunk-FXUUWYAX.cjs +654 -0
  54. package/dist/chunk-G3HRIVEY.cjs +395 -0
  55. package/dist/chunk-G643DQCH.cjs +13 -0
  56. package/dist/chunk-G7HXGLEC.cjs +175 -0
  57. package/dist/chunk-GDSHDTJ4.cjs +152 -0
  58. package/dist/chunk-GNEO2XOF.cjs +2040 -0
  59. package/dist/{chunk-56DAX2BE.mjs → chunk-GYKJCFTS.mjs} +1 -1
  60. package/dist/chunk-H6G5INWM.cjs +1094 -0
  61. package/dist/chunk-HBTUGXHS.cjs +180 -0
  62. package/dist/chunk-HREOKQWT.cjs +45 -0
  63. package/dist/chunk-I4J452B7.cjs +435 -0
  64. package/dist/chunk-I57LW5VZ.cjs +94 -0
  65. package/dist/chunk-I7PUUDGY.cjs +389 -0
  66. package/dist/chunk-IAMRBF3Z.cjs +86 -0
  67. package/dist/chunk-IKNRN4VS.cjs +14214 -0
  68. package/dist/chunk-IQXFRNY2.cjs +169 -0
  69. package/dist/chunk-IXTFU4PL.cjs +2355 -0
  70. package/dist/chunk-J2OP5GG3.cjs +725 -0
  71. package/dist/chunk-J3LOGE4T.cjs +42 -0
  72. package/dist/chunk-J7FSKED3.cjs +93 -0
  73. package/dist/chunk-JDNHKPTD.cjs +22 -0
  74. package/dist/chunk-JSROZYYO.cjs +164 -0
  75. package/dist/chunk-K6FNHVDR.cjs +696 -0
  76. package/dist/chunk-KGZIORNL.cjs +43 -0
  77. package/dist/{chunk-MVIWBEJF.mjs → chunk-KPNVGRBL.mjs} +1 -1
  78. package/dist/chunk-KR6CKSXT.cjs +15 -0
  79. package/dist/chunk-KROWKCUH.cjs +185 -0
  80. package/dist/chunk-KVFPGF2M.cjs +46 -0
  81. package/dist/chunk-LCCBO7PJ.cjs +46 -0
  82. package/dist/chunk-LIUGYUX3.cjs +22 -0
  83. package/dist/chunk-LTNGXMQ6.cjs +55 -0
  84. package/dist/chunk-M2L4MYDQ.cjs +14 -0
  85. package/dist/chunk-MCJLA63J.cjs +1 -0
  86. package/dist/chunk-MKB2EGIR.cjs +148 -0
  87. package/dist/chunk-MQ3H6LT5.cjs +202 -0
  88. package/dist/chunk-MT763TDW.cjs +43 -0
  89. package/dist/chunk-MWSK6C4J.cjs +18 -0
  90. package/dist/chunk-MWWVKDW3.cjs +169 -0
  91. package/dist/chunk-NO3WWW3N.cjs +192 -0
  92. package/dist/chunk-NV3A5DXM.cjs +862 -0
  93. package/dist/chunk-NWOD6NIT.cjs +9 -0
  94. package/dist/chunk-NZKJGRB3.cjs +230 -0
  95. package/dist/chunk-OAVTUMJP.cjs +1496 -0
  96. package/dist/chunk-OHY2ZWUG.cjs +25 -0
  97. package/dist/chunk-OI6CMLWX.cjs +47 -0
  98. package/dist/chunk-OIEOCXKG.cjs +453 -0
  99. package/dist/chunk-OWOUTKIJ.cjs +558 -0
  100. package/dist/chunk-OX6O6WVA.cjs +74 -0
  101. package/dist/chunk-OXSIH4D6.cjs +476 -0
  102. package/dist/chunk-OYEUREB6.cjs +35 -0
  103. package/dist/chunk-PCOTGFSM.cjs +139 -0
  104. package/dist/chunk-PZYCPSCC.cjs +35 -0
  105. package/dist/chunk-QBK2AA4U.cjs +445 -0
  106. package/dist/chunk-QBPXNZGV.cjs +487 -0
  107. package/dist/chunk-QNPEUFHQ.cjs +27 -0
  108. package/dist/chunk-QZRVZSPN.cjs +236 -0
  109. package/dist/chunk-R5A5KNVX.cjs +20 -0
  110. package/dist/chunk-R5JIFR6B.cjs +42 -0
  111. package/dist/chunk-R6AIILII.cjs +193 -0
  112. package/dist/chunk-RG3ZOTG5.cjs +34 -0
  113. package/dist/chunk-ROUTX2E5.cjs +390 -0
  114. package/dist/chunk-RTHIVJ2G.cjs +54 -0
  115. package/dist/chunk-S3A45T7F.cjs +166 -0
  116. package/dist/chunk-S3JO3N4H.cjs +17 -0
  117. package/dist/chunk-SK35NQKK.cjs +27 -0
  118. package/dist/chunk-SU7MH53P.cjs +180 -0
  119. package/dist/chunk-SVRTJOUF.cjs +113 -0
  120. package/dist/chunk-SWN467MP.cjs +18 -0
  121. package/dist/chunk-SYQ3MOWW.cjs +73 -0
  122. package/dist/chunk-T5CERMEH.cjs +417 -0
  123. package/dist/chunk-TFAXUHWX.cjs +206 -0
  124. package/dist/chunk-TIWHTW3Q.cjs +24 -0
  125. package/dist/chunk-TKJZFIML.cjs +20 -0
  126. package/dist/chunk-TKNSDBBN.cjs +193 -0
  127. package/dist/chunk-TWGMSEHX.cjs +525 -0
  128. package/dist/chunk-TYQUSXUG.cjs +1357 -0
  129. package/dist/chunk-U4KT7QP3.cjs +23 -0
  130. package/dist/chunk-UJ2C4ICS.cjs +277 -0
  131. package/dist/chunk-UN5GHC5V.cjs +10244 -0
  132. package/dist/chunk-UQZ4AYTH.cjs +168 -0
  133. package/dist/chunk-US2QVW3E.cjs +36 -0
  134. package/dist/chunk-VB6UCX3V.cjs +421 -0
  135. package/dist/chunk-VEKFLAQM.cjs +300 -0
  136. package/dist/chunk-VQDBNVOO.cjs +14 -0
  137. package/dist/chunk-W4E7WMXE.cjs +71 -0
  138. package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
  139. package/dist/chunk-WMAPPDMM.cjs +28 -0
  140. package/dist/chunk-WMOGFOUJ.cjs +223 -0
  141. package/dist/chunk-WPYFSQKK.cjs +37 -0
  142. package/dist/chunk-WZMNW2IW.cjs +1415 -0
  143. package/dist/chunk-XGC343EY.cjs +443 -0
  144. package/dist/chunk-XSKZORAS.cjs +727 -0
  145. package/dist/chunk-XWAWFQFS.cjs +82 -0
  146. package/dist/chunk-Y4YMF2NQ.cjs +460 -0
  147. package/dist/chunk-Y4YWHNKU.cjs +250 -0
  148. package/dist/chunk-Y53ZSFN6.cjs +504 -0
  149. package/dist/chunk-YA6LLTIJ.cjs +411 -0
  150. package/dist/chunk-YFPGHF5F.cjs +202 -0
  151. package/dist/chunk-YJRZR7VU.cjs +28 -0
  152. package/dist/chunk-YTAABQEV.cjs +1 -0
  153. package/dist/chunk-YX3DBN4M.cjs +18 -0
  154. package/dist/chunk-YZTASLPQ.cjs +64 -0
  155. package/dist/chunk-Z5HIWVDP.cjs +2173 -0
  156. package/dist/chunk-ZEG3OPIB.cjs +93 -0
  157. package/dist/chunk-ZMN3H73H.cjs +155 -0
  158. package/dist/client/lifecycle.cjs +6 -35
  159. package/dist/client-plugins.cjs +7 -448
  160. package/dist/client.cjs +171 -9808
  161. package/dist/config.cjs +8 -36
  162. package/dist/cron.cjs +24 -491
  163. package/dist/deferred.cjs +26 -475
  164. package/dist/deployment.cjs +39 -210
  165. package/dist/devtools-OUIPHVV6.cjs +388 -0
  166. package/dist/devtools-client-4WAPJY5L.cjs +254 -0
  167. package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
  168. package/dist/docs.cjs +46 -5657
  169. package/dist/env-types.cjs +5 -226
  170. package/dist/env.cjs +21 -338
  171. package/dist/environment/vite.cjs +8 -372
  172. package/dist/environment.cjs +12 -94
  173. package/dist/font.cjs +13 -63
  174. package/dist/headers.cjs +7 -123
  175. package/dist/i18n/client.cjs +55 -294
  176. package/dist/i18n/index.cjs +22 -209
  177. package/dist/i18n/server.cjs +22 -745
  178. package/dist/image/server.cjs +13 -729
  179. package/dist/image/sharp.cjs +33 -171
  180. package/dist/image.cjs +41 -85
  181. package/dist/index.cjs +1151 -68080
  182. package/dist/index.mjs +3 -3
  183. package/dist/instrumentation.cjs +12 -138
  184. package/dist/integration-orm-55F7CII5.cjs +13 -0
  185. package/dist/integrations.cjs +55 -4090
  186. package/dist/internal/app-markdown-runtime.cjs +27 -224
  187. package/dist/internal/build-runtime.cjs +120 -52259
  188. package/dist/internal/build-runtime.mjs +3 -3
  189. package/dist/internal/cli-runtime.cjs +67 -13811
  190. package/dist/internal/client-error-overlay.cjs +80 -733
  191. package/dist/internal/client-error-overlay.mjs +1 -1
  192. package/dist/internal/client-runtime.cjs +81 -913
  193. package/dist/internal/compression-runtime.cjs +8 -214
  194. package/dist/internal/config-runtime.cjs +42 -6547
  195. package/dist/internal/docs-precompiled-runtime.cjs +26 -46
  196. package/dist/internal/infra-analytics-runtime.cjs +10 -536
  197. package/dist/internal/isolated-boundary.cjs +14 -414
  198. package/dist/internal/metadata-image-runtime.cjs +7 -285
  199. package/dist/internal/product-telemetry-runtime.cjs +42 -97
  200. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  201. package/dist/internal/production-node-env.cjs +6 -63
  202. package/dist/internal/production-runtime.cjs +418 -7133
  203. package/dist/internal/request-cookies.cjs +6 -54
  204. package/dist/json-ld.cjs +24 -50
  205. package/dist/layers-E4WPJNY5.cjs +17 -0
  206. package/dist/manager-G4B2IPYE.cjs +14 -0
  207. package/dist/markdown.cjs +21 -547
  208. package/dist/middleware.cjs +36 -2995
  209. package/dist/navigation.cjs +22 -2588
  210. package/dist/nitro-4I2MYLY2.cjs +652 -0
  211. package/dist/observability.cjs +22 -614
  212. package/dist/og.cjs +5 -28
  213. package/dist/plugin.cjs +106 -37442
  214. package/dist/plugin.mjs +2 -2
  215. package/dist/query/client.cjs +113 -449
  216. package/dist/query/index.cjs +26 -288
  217. package/dist/query/parsers.cjs +23 -247
  218. package/dist/query/server.cjs +36 -298
  219. package/dist/renderer/react/client.cjs +9 -43
  220. package/dist/renderer/react/server.cjs +40 -103
  221. package/dist/renderer/react/vite.cjs +7 -29
  222. package/dist/renderer-client.cjs +126 -4295
  223. package/dist/renderer.cjs +31 -249
  224. package/dist/request.cjs +5 -68
  225. package/dist/router.cjs +11 -474
  226. package/dist/routes.cjs +42 -2461
  227. package/dist/schema-dev-notice-MXSZMVDG.cjs +56 -0
  228. package/dist/schema.cjs +6 -33
  229. package/dist/search-client-G3RICOFU.cjs +13 -0
  230. package/dist/server-action-security.cjs +25 -541
  231. package/dist/server-fn-client.cjs +6 -337
  232. package/dist/server-fn.cjs +32 -1841
  233. package/dist/server-plugins.cjs +15 -884
  234. package/dist/server-query-client.cjs +15 -1883
  235. package/dist/server-query.cjs +16 -1838
  236. package/dist/server.cjs +296 -44681
  237. package/dist/server.mjs +2 -2
  238. package/dist/storage.cjs +57 -576
  239. package/dist/testing.cjs +89 -3186
  240. package/dist/theme/client.cjs +13 -108
  241. package/dist/theme/index.cjs +6 -68
  242. package/dist/theme/runtime.cjs +13 -78
  243. package/dist/theme/server.cjs +10 -179
  244. package/dist/version.cjs +4 -32
  245. package/dist/version.mjs +1 -1
  246. package/dist/vite.cjs +119 -37773
  247. package/dist/vite.mjs +2 -2
  248. package/dist/workflows.cjs +19 -1040
  249. package/package.json +1 -1
@@ -0,0 +1,224 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkQNPEUFHQcjs = require('./chunk-QNPEUFHQ.cjs');
4
+
5
+
6
+ var _chunkUS2QVW3Ecjs = require('./chunk-US2QVW3E.cjs');
7
+
8
+
9
+
10
+
11
+ var _chunkNO3WWW3Ncjs = require('./chunk-NO3WWW3N.cjs');
12
+
13
+
14
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
15
+
16
+ // src/utils.ts
17
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
18
+ function parseRoutePath(filePath) {
19
+ const segments = [];
20
+ const normalizedPath = filePath.replace(/\\/g, "/");
21
+ const pathParts = normalizedPath.split("/").filter(Boolean);
22
+ const fileName = pathParts.pop() || "";
23
+ const fileType = getRouteType(fileName);
24
+ const routePath = `/${pathParts.join("/")}`;
25
+ _chunkNO3WWW3Ncjs.assertBrowserStableRoutePath.call(void 0, routePath);
26
+ _chunkNO3WWW3Ncjs.assertTerminalCatchAll.call(void 0, routePath);
27
+ _chunkNO3WWW3Ncjs.assertUniqueRouteParameters.call(void 0, routePath);
28
+ for (const part of pathParts) {
29
+ if (part.startsWith("(") && part.endsWith(")")) continue;
30
+ if (part.startsWith("[") && part.endsWith("]")) {
31
+ let segment = part.slice(1, -1);
32
+ const isDynamic = true;
33
+ let isOptional = false;
34
+ let isCatchAll = false;
35
+ if (segment.startsWith("[") && segment.endsWith("]")) {
36
+ isOptional = true;
37
+ segment = segment.slice(1, -1);
38
+ if (segment.startsWith("...")) {
39
+ segment = segment.slice(3);
40
+ isCatchAll = true;
41
+ }
42
+ } else if (segment.startsWith("...")) {
43
+ segment = segment.slice(3);
44
+ isCatchAll = true;
45
+ }
46
+ segments.push({ segment, isDynamic, isOptional, isCatchAll });
47
+ } else {
48
+ segments.push({
49
+ segment: part,
50
+ isDynamic: false,
51
+ isOptional: false,
52
+ isCatchAll: false
53
+ });
54
+ }
55
+ }
56
+ return {
57
+ segments,
58
+ filePath: normalizedPath,
59
+ type: fileType
60
+ };
61
+ }
62
+ _chunkS3JO3N4Hcjs.__name.call(void 0, parseRoutePath, "parseRoutePath");
63
+ function getRouteType(fileName) {
64
+ const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|mdx?|markdown)$/, "");
65
+ switch (baseName) {
66
+ case "page":
67
+ return "page";
68
+ case "layout":
69
+ return "layout";
70
+ case "loading":
71
+ return "loading";
72
+ case "error":
73
+ return "error";
74
+ case "not-found":
75
+ return "not-found";
76
+ default:
77
+ return "page";
78
+ }
79
+ }
80
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getRouteType, "getRouteType");
81
+ function segmentsToPattern(segments) {
82
+ if (segments.length === 0) return "/";
83
+ return "/" + segments.map((segment) => {
84
+ if (!segment.isDynamic) return segment.segment;
85
+ if (segment.isCatchAll) {
86
+ return segment.isOptional ? `*${segment.segment}?` : `*${segment.segment}`;
87
+ }
88
+ return `:${segment.segment}`;
89
+ }).join("/");
90
+ }
91
+ _chunkS3JO3N4Hcjs.__name.call(void 0, segmentsToPattern, "segmentsToPattern");
92
+ function matchRoute(url, segments) {
93
+ return matchRouteParts(splitRoutePath(url), segments);
94
+ }
95
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRoute, "matchRoute");
96
+ function splitRoutePath(url) {
97
+ return url.split("/").filter(Boolean).map(_chunkUS2QVW3Ecjs.decodeRouteSegment);
98
+ }
99
+ _chunkS3JO3N4Hcjs.__name.call(void 0, splitRoutePath, "splitRoutePath");
100
+ function matchRouteParts(urlParts, segments) {
101
+ const params = {};
102
+ if (segments.length === 0) {
103
+ return { params, matches: urlParts.length === 0 };
104
+ }
105
+ let urlIndex = 0;
106
+ let segmentIndex = 0;
107
+ while (segmentIndex < segments.length && urlIndex <= urlParts.length) {
108
+ const segment = segments[segmentIndex];
109
+ if (!segment.isDynamic) {
110
+ if (urlParts[urlIndex] !== segment.segment) {
111
+ return { params: {}, matches: false };
112
+ }
113
+ urlIndex++;
114
+ segmentIndex++;
115
+ } else if (segment.isCatchAll) {
116
+ const remainingParts = urlParts.slice(urlIndex);
117
+ if (remainingParts.length === 0 && !segment.isOptional) {
118
+ return { params: {}, matches: false };
119
+ }
120
+ params[segment.segment] = remainingParts.join("/");
121
+ urlIndex = urlParts.length;
122
+ segmentIndex++;
123
+ } else {
124
+ if (urlIndex >= urlParts.length) {
125
+ return { params: {}, matches: false };
126
+ }
127
+ params[segment.segment] = urlParts[urlIndex];
128
+ urlIndex++;
129
+ segmentIndex++;
130
+ }
131
+ }
132
+ const matches = segmentIndex === segments.length && urlIndex === urlParts.length;
133
+ return { params, matches };
134
+ }
135
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRouteParts, "matchRouteParts");
136
+ function matchRoutePrefix(url, segments) {
137
+ return matchRoutePrefixParts(splitRoutePath(url), segments);
138
+ }
139
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRoutePrefix, "matchRoutePrefix");
140
+ function matchRoutePrefixParts(urlParts, segments) {
141
+ let urlIndex = 0;
142
+ for (const segment of segments) {
143
+ if (segment.isCatchAll) {
144
+ return segment.isOptional || urlIndex < urlParts.length;
145
+ }
146
+ const urlPart = urlParts[urlIndex];
147
+ if (urlPart === void 0) return false;
148
+ if (!segment.isDynamic && segment.segment !== urlPart) return false;
149
+ urlIndex++;
150
+ }
151
+ return true;
152
+ }
153
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRoutePrefixParts, "matchRoutePrefixParts");
154
+ function resolveAppPath(root, ...paths) {
155
+ return _path2.default.resolve(root, ...paths);
156
+ }
157
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveAppPath, "resolveAppPath");
158
+ function toRootRelativeUrlPath(absolutePath, projectRoot) {
159
+ if (absolutePath === projectRoot) return "";
160
+ if (absolutePath.startsWith(`${projectRoot}/`) || absolutePath.startsWith(`${projectRoot}\\`)) {
161
+ return absolutePath.slice(projectRoot.length).replace(/\\/g, "/");
162
+ }
163
+ return void 0;
164
+ }
165
+ _chunkS3JO3N4Hcjs.__name.call(void 0, toRootRelativeUrlPath, "toRootRelativeUrlPath");
166
+ function toPosixPath(filePath) {
167
+ return filePath.replace(/\\/g, "/");
168
+ }
169
+ _chunkS3JO3N4Hcjs.__name.call(void 0, toPosixPath, "toPosixPath");
170
+ function toViteModuleId(filePath, root) {
171
+ if (!_path2.default.isAbsolute(filePath)) return filePath;
172
+ const relativePath = _path2.default.relative(root, filePath);
173
+ if (relativePath && !relativePath.startsWith("..") && !_path2.default.isAbsolute(relativePath)) {
174
+ return `/${relativePath.split(_path2.default.sep).join("/")}`;
175
+ }
176
+ const normalizedPath = filePath.replace(/\\/g, "/");
177
+ return normalizedPath.startsWith("/") ? `/@fs${normalizedPath}` : `/@fs/${normalizedPath}`;
178
+ }
179
+ _chunkS3JO3N4Hcjs.__name.call(void 0, toViteModuleId, "toViteModuleId");
180
+ async function fileExists(filePath) {
181
+ try {
182
+ const fs = await import("fs/promises");
183
+ await fs.access(filePath);
184
+ return true;
185
+ } catch (e) {
186
+ return false;
187
+ }
188
+ }
189
+ _chunkS3JO3N4Hcjs.__name.call(void 0, fileExists, "fileExists");
190
+ async function globFiles(pattern, cwd) {
191
+ const glob = await import("fast-glob");
192
+ return glob.default(pattern, { cwd, absolute: false });
193
+ }
194
+ _chunkS3JO3N4Hcjs.__name.call(void 0, globFiles, "globFiles");
195
+ function parseSearchParams(searchParams) {
196
+ return _chunkQNPEUFHQcjs.searchParamsToObject.call(void 0, searchParams);
197
+ }
198
+ _chunkS3JO3N4Hcjs.__name.call(void 0, parseSearchParams, "parseSearchParams");
199
+ var logger = {
200
+ info: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(`[info] ${message}`), "info"),
201
+ success: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(`[success] ${message}`), "success"),
202
+ warn: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.warn(`\u26A0\uFE0F ${message}`), "warn"),
203
+ error: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.error(`\u274C ${message}`), "error"),
204
+ ready: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(`${message}`), "ready"),
205
+ event: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(` ${message}`), "event")
206
+ };
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+ exports.parseRoutePath = parseRoutePath; exports.segmentsToPattern = segmentsToPattern; exports.matchRoute = matchRoute; exports.splitRoutePath = splitRoutePath; exports.matchRouteParts = matchRouteParts; exports.matchRoutePrefix = matchRoutePrefix; exports.matchRoutePrefixParts = matchRoutePrefixParts; exports.resolveAppPath = resolveAppPath; exports.toRootRelativeUrlPath = toRootRelativeUrlPath; exports.toPosixPath = toPosixPath; exports.toViteModuleId = toViteModuleId; exports.fileExists = fileExists; exports.globFiles = globFiles; exports.parseSearchParams = parseSearchParams; exports.logger = logger;
@@ -0,0 +1,127 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkU4KT7QP3cjs = require('./chunk-U4KT7QP3.cjs');
4
+
5
+
6
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
7
+
8
+ // src/server/request.ts
9
+ var _async_hooks = require('async_hooks');
10
+ var _stream = require('stream');
11
+ var REQUEST_STORAGE_KEY = /* @__PURE__ */ Symbol.for("@farm.js/core/request-storage");
12
+ function getRequestStore() {
13
+ const runtime = globalThis;
14
+ const existing = runtime[REQUEST_STORAGE_KEY];
15
+ if (existing instanceof _async_hooks.AsyncLocalStorage) {
16
+ return existing;
17
+ }
18
+ const storage = new (0, _async_hooks.AsyncLocalStorage)();
19
+ runtime[REQUEST_STORAGE_KEY] = storage;
20
+ return storage;
21
+ }
22
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getRequestStore, "getRequestStore");
23
+ var requestStore = getRequestStore();
24
+ _chunkU4KT7QP3cjs._setCurrentRequestResolver.call(void 0, () => requestStore.getStore());
25
+ function resolveFarmRequestURL(req, options = {}) {
26
+ if (options.origin) {
27
+ return new URL(req.url || "/", options.origin);
28
+ }
29
+ const forwardedHost = options.trustProxy ? firstForwardedHeaderValue(req.headers["x-forwarded-host"]) : void 0;
30
+ const fallbackHost = firstForwardedHeaderValue(req.headers.host) || "localhost";
31
+ const forwardedProto = options.trustProxy ? firstForwardedHeaderValue(req.headers["x-forwarded-proto"]) : void 0;
32
+ const normalizedProto = _optionalChain([forwardedProto, 'optionalAccess', _ => _.toLowerCase, 'call', _2 => _2()]);
33
+ const proto = normalizedProto === "https" || normalizedProto === "http" ? normalizedProto : isEncryptedFarmRequest(req) ? "https" : "http";
34
+ return new URL(req.url || "/", resolveRequestOrigin(proto, forwardedHost, fallbackHost));
35
+ }
36
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveFarmRequestURL, "resolveFarmRequestURL");
37
+ function resolveFarmWebRequestOrigin(request, options = {}) {
38
+ const url = new URL(request.url);
39
+ if (!options.trustProxy) return url.origin;
40
+ const forwardedHost = firstForwardedHeaderValue(
41
+ _nullishCoalesce(request.headers.get("x-forwarded-host"), () => ( void 0))
42
+ );
43
+ const forwardedProto = _optionalChain([firstForwardedHeaderValue, 'call', _3 => _3(
44
+ _nullishCoalesce(request.headers.get("x-forwarded-proto"), () => ( void 0))
45
+ ), 'optionalAccess', _4 => _4.toLowerCase, 'call', _5 => _5()]);
46
+ const proto = forwardedProto === "https" || forwardedProto === "http" ? forwardedProto : url.protocol === "https:" ? "https" : "http";
47
+ return resolveRequestOrigin(proto, forwardedHost, url.host);
48
+ }
49
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveFarmWebRequestOrigin, "resolveFarmWebRequestOrigin");
50
+ function createWebRequestFromFarmRequest(req, options = {}) {
51
+ const fullUrl = resolveFarmRequestURL(req, options).toString();
52
+ const headers = new Headers();
53
+ for (const [key, value] of Object.entries(req.headers)) {
54
+ if (value == null) {
55
+ continue;
56
+ }
57
+ if (Array.isArray(value)) {
58
+ for (const item of value) {
59
+ headers.append(key, item);
60
+ }
61
+ continue;
62
+ }
63
+ headers.set(key, value);
64
+ }
65
+ const method = (req.method || "GET").toUpperCase();
66
+ const init = {
67
+ method: req.method,
68
+ headers
69
+ };
70
+ if (method !== "GET" && method !== "HEAD") {
71
+ init.body = _stream.Readable.toWeb(req);
72
+ init.duplex = "half";
73
+ }
74
+ return new Request(fullUrl, init);
75
+ }
76
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createWebRequestFromFarmRequest, "createWebRequestFromFarmRequest");
77
+ function isEncryptedFarmRequest(req) {
78
+ return Boolean(_optionalChain([req, 'access', _6 => _6.socket, 'optionalAccess', _7 => _7.encrypted]));
79
+ }
80
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isEncryptedFarmRequest, "isEncryptedFarmRequest");
81
+ function firstForwardedHeaderValue(value) {
82
+ const first = Array.isArray(value) ? value[0] : value;
83
+ const token = _optionalChain([first, 'optionalAccess', _8 => _8.split, 'call', _9 => _9(",", 1), 'access', _10 => _10[0], 'optionalAccess', _11 => _11.trim, 'call', _12 => _12()]);
84
+ return token || void 0;
85
+ }
86
+ _chunkS3JO3N4Hcjs.__name.call(void 0, firstForwardedHeaderValue, "firstForwardedHeaderValue");
87
+ function resolveRequestOrigin(proto, host, fallback) {
88
+ for (const candidate of [host, fallback, "localhost"]) {
89
+ if (!candidate) continue;
90
+ if (/[\s/?#@\\]/u.test(candidate)) continue;
91
+ try {
92
+ const url = new URL(`${proto}://${candidate}`);
93
+ if (url.username || url.password || url.pathname !== "/" || url.search || url.hash) continue;
94
+ return url.origin;
95
+ } catch (e) {
96
+ }
97
+ }
98
+ return `${proto}://localhost`;
99
+ }
100
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveRequestOrigin, "resolveRequestOrigin");
101
+ async function _runWithCurrentRequest(request, fn) {
102
+ return requestStore.run(request, fn);
103
+ }
104
+ _chunkS3JO3N4Hcjs.__name.call(void 0, _runWithCurrentRequest, "_runWithCurrentRequest");
105
+ function getCurrentRequest() {
106
+ const request = requestStore.getStore();
107
+ if (!request) {
108
+ throw new Error(
109
+ "No current request is available. getCurrentRequest() can only be used during server rendering."
110
+ );
111
+ }
112
+ return request;
113
+ }
114
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getCurrentRequest, "getCurrentRequest");
115
+ function getCurrentRequestOrNull() {
116
+ return _nullishCoalesce(requestStore.getStore(), () => ( null));
117
+ }
118
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getCurrentRequestOrNull, "getCurrentRequestOrNull");
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ exports.resolveFarmRequestURL = resolveFarmRequestURL; exports.resolveFarmWebRequestOrigin = resolveFarmWebRequestOrigin; exports.createWebRequestFromFarmRequest = createWebRequestFromFarmRequest; exports._runWithCurrentRequest = _runWithCurrentRequest; exports.getCurrentRequest = getCurrentRequest; exports.getCurrentRequestOrNull = getCurrentRequestOrNull;
@@ -0,0 +1,238 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkSU7MH53Pcjs = require('./chunk-SU7MH53P.cjs');
4
+
5
+
6
+
7
+
8
+
9
+
10
+ var _chunkWJ3HK3LJcjs = require('./chunk-WJ3HK3LJ.cjs');
11
+
12
+
13
+ var _chunk5OVTOKGHcjs = require('./chunk-5OVTOKGH.cjs');
14
+
15
+
16
+ var _chunkU4KT7QP3cjs = require('./chunk-U4KT7QP3.cjs');
17
+
18
+
19
+ var _chunkBIDYX3SLcjs = require('./chunk-BIDYX3SL.cjs');
20
+
21
+
22
+
23
+
24
+
25
+ var _chunkI57LW5VZcjs = require('./chunk-I57LW5VZ.cjs');
26
+
27
+
28
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
29
+
30
+ // src/client/router.ts
31
+ var _react = require('react');
32
+ function shouldBlockUnload(options) {
33
+ const path = window.location.pathname + window.location.search;
34
+ const context = {
35
+ from: path,
36
+ to: path,
37
+ action: "replace"
38
+ };
39
+ const when = typeof options.when === "function" ? options.when(context) : options.when;
40
+ if (!when) return false;
41
+ if (!options.shouldBlock) return true;
42
+ try {
43
+ const result = options.shouldBlock(context);
44
+ if (typeof result === "boolean") return result;
45
+ void result.catch(() => void 0);
46
+ return true;
47
+ } catch (e) {
48
+ return true;
49
+ }
50
+ }
51
+ _chunkS3JO3N4Hcjs.__name.call(void 0, shouldBlockUnload, "shouldBlockUnload");
52
+ function navigateViaRouter(href, basePath, replace) {
53
+ if (typeof window === "undefined") return;
54
+ const url = _chunkI57LW5VZcjs.applyFarmBasePath.call(void 0, href, basePath);
55
+ const spaRouter = _chunkWJ3HK3LJcjs.getInstalledFarmSPARouter.call(void 0, );
56
+ if (spaRouter) {
57
+ void spaRouter.navigate(url, { replace });
58
+ return;
59
+ }
60
+ if (replace) {
61
+ window.history.replaceState(null, "", url);
62
+ } else {
63
+ window.history.pushState(null, "", url);
64
+ }
65
+ _chunkWJ3HK3LJcjs.notifyHistoryChange.call(void 0, "url-search");
66
+ }
67
+ _chunkS3JO3N4Hcjs.__name.call(void 0, navigateViaRouter, "navigateViaRouter");
68
+ function useRouter(options = {}) {
69
+ const basePath = options.basePath === void 0 ? _chunkI57LW5VZcjs.getFarmBasePath.call(void 0, ) : _chunkI57LW5VZcjs.normalizeFarmBasePath.call(void 0, options.basePath);
70
+ const routes = options.routes;
71
+ const routeKey = _optionalChain([routes, 'optionalAccess', _ => _.map, 'call', _2 => _2((route) => typeof route === "string" ? route : route.path), 'access', _3 => _3.join, 'call', _4 => _4("\n")]) || "";
72
+ const routeMatcher = _react.useMemo.call(void 0,
73
+ () => routeKey ? _chunkSU7MH53Pcjs.createFarmRouter.call(void 0, routeKey.split("\n")) : null,
74
+ [routeKey]
75
+ );
76
+ const [state, setState] = _react.useState.call(void 0, () => {
77
+ return readRouterState(basePath, routeMatcher);
78
+ });
79
+ _react.useEffect.call(void 0, () => {
80
+ if (typeof window === "undefined") return;
81
+ const handlePopState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
82
+ setState(readRouterState(basePath, routeMatcher));
83
+ }, "handlePopState");
84
+ handlePopState();
85
+ const unsubscribe = _chunkWJ3HK3LJcjs.subscribeHistoryChange.call(void 0, handlePopState);
86
+ return unsubscribe;
87
+ }, [basePath, routeMatcher]);
88
+ const push = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (href) => {
89
+ navigateViaRouter(href, basePath, false);
90
+ }, "push");
91
+ const replace = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (href) => {
92
+ navigateViaRouter(href, basePath, true);
93
+ }, "replace");
94
+ const pushState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (pageState, href) => {
95
+ if (typeof window === "undefined") return;
96
+ _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).pushState(pageState, resolveClientHref(href, basePath));
97
+ }, "pushState");
98
+ const replaceState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (pageState, href) => {
99
+ if (typeof window === "undefined") return;
100
+ _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).replaceState(pageState, resolveClientHref(href, basePath));
101
+ }, "replaceState");
102
+ const back = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
103
+ if (typeof window !== "undefined") {
104
+ window.history.back();
105
+ }
106
+ }, "back");
107
+ const forward = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
108
+ if (typeof window !== "undefined") {
109
+ window.history.forward();
110
+ }
111
+ }, "forward");
112
+ return {
113
+ ...state,
114
+ push,
115
+ replace,
116
+ pushState,
117
+ replaceState,
118
+ back,
119
+ forward
120
+ };
121
+ }
122
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useRouter, "useRouter");
123
+ function usePageState() {
124
+ const [state, setState] = _react.useState.call(void 0, () => _chunkWJ3HK3LJcjs.readPageState.call(void 0, ));
125
+ _react.useEffect.call(void 0, () => {
126
+ if (typeof window === "undefined") return;
127
+ const handlePopState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
128
+ setState(_chunkWJ3HK3LJcjs.readPageState.call(void 0, ));
129
+ }, "handlePopState");
130
+ handlePopState();
131
+ return _chunkWJ3HK3LJcjs.subscribeHistoryChange.call(void 0, handlePopState);
132
+ }, []);
133
+ return state;
134
+ }
135
+ _chunkS3JO3N4Hcjs.__name.call(void 0, usePageState, "usePageState");
136
+ function useNavigation() {
137
+ const [state, setState] = _react.useState.call(void 0,
138
+ () => _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).getNavigationState()
139
+ );
140
+ _react.useEffect.call(void 0, () => {
141
+ if (typeof window === "undefined") return;
142
+ return _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).subscribeNavigation(setState);
143
+ }, []);
144
+ return state;
145
+ }
146
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useNavigation, "useNavigation");
147
+ function useBlocker(options) {
148
+ const optionsRef = _react.useRef.call(void 0, options);
149
+ optionsRef.current = options;
150
+ const active = Boolean(options.when);
151
+ _react.useEffect.call(void 0, () => {
152
+ if (typeof window === "undefined" || !active) {
153
+ return;
154
+ }
155
+ return _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).addBlocker(
156
+ async (context) => {
157
+ const current = optionsRef.current;
158
+ const when = typeof current.when === "function" ? current.when(context) : current.when;
159
+ if (!when) return false;
160
+ if (current.shouldBlock && !await current.shouldBlock(context)) {
161
+ return false;
162
+ }
163
+ if (current.message && typeof window.confirm === "function") {
164
+ return !window.confirm(current.message);
165
+ }
166
+ return true;
167
+ },
168
+ () => shouldBlockUnload(optionsRef.current)
169
+ );
170
+ }, [active]);
171
+ return { active };
172
+ }
173
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useBlocker, "useBlocker");
174
+ function useScrollRestoration(key) {
175
+ const ref = _react.useRef.call(void 0, null);
176
+ _react.useEffect.call(void 0, () => {
177
+ const element = ref.current;
178
+ if (!element) return;
179
+ return _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).registerScrollElement(key, element);
180
+ }, [key]);
181
+ return ref;
182
+ }
183
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useScrollRestoration, "useScrollRestoration");
184
+ function readRouterState(basePath, routeMatcher) {
185
+ const url = readCurrentUrl();
186
+ if (!url) {
187
+ return {
188
+ pathname: "/",
189
+ searchParams: new URLSearchParams(),
190
+ params: {},
191
+ pageState: null
192
+ };
193
+ }
194
+ const pathname = normalizeClientPathname(url.pathname, basePath);
195
+ const i18n = _chunk5OVTOKGHcjs.getFarmI18nClientState.call(void 0, );
196
+ const routePathname = i18n ? _chunkBIDYX3SLcjs.stripFarmLocaleFromPathname.call(void 0, pathname, i18n) : pathname;
197
+ return {
198
+ pathname,
199
+ searchParams: url.searchParams,
200
+ params: _optionalChain([routeMatcher, 'optionalAccess', _5 => _5.match, 'call', _6 => _6(routePathname), 'optionalAccess', _7 => _7.params]) || {},
201
+ pageState: typeof window === "undefined" ? null : _chunkWJ3HK3LJcjs.readPageState.call(void 0, )
202
+ };
203
+ }
204
+ _chunkS3JO3N4Hcjs.__name.call(void 0, readRouterState, "readRouterState");
205
+ function readCurrentUrl() {
206
+ if (typeof window !== "undefined") {
207
+ try {
208
+ return new URL(window.location.href);
209
+ } catch (e2) {
210
+ return void 0;
211
+ }
212
+ }
213
+ const request = _chunkU4KT7QP3cjs._resolveCurrentRequest.call(void 0, );
214
+ if (!request) return void 0;
215
+ try {
216
+ return new URL(request.url);
217
+ } catch (e3) {
218
+ return void 0;
219
+ }
220
+ }
221
+ _chunkS3JO3N4Hcjs.__name.call(void 0, readCurrentUrl, "readCurrentUrl");
222
+ function normalizeClientPathname(pathname, basePath) {
223
+ return _chunkI57LW5VZcjs.stripFarmBasePath.call(void 0, pathname, basePath);
224
+ }
225
+ _chunkS3JO3N4Hcjs.__name.call(void 0, normalizeClientPathname, "normalizeClientPathname");
226
+ function resolveClientHref(href, basePath) {
227
+ if (!href) return void 0;
228
+ return _chunkI57LW5VZcjs.applyFarmBasePath.call(void 0, href, basePath);
229
+ }
230
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveClientHref, "resolveClientHref");
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+ exports.useRouter = useRouter; exports.usePageState = usePageState; exports.useNavigation = useNavigation; exports.useBlocker = useBlocker; exports.useScrollRestoration = useScrollRestoration;