@farm.js/core 0.1.50 → 0.1.51-beta.0

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 (252) hide show
  1. package/README.md +163 -3
  2. package/dist/{agent-mcp-9BMbRgg_.d.ts → agent-mcp-BBMfNpsC.d.ts} +1 -1
  3. package/dist/{agent-mcp-CIMH324y.d.mts → agent-mcp-D44ip11f.d.mts} +1 -1
  4. package/dist/agent-runtime.d.mts +1 -1
  5. package/dist/agent-runtime.d.ts +1 -1
  6. package/dist/{analyzer-DDW34OMC.mjs → analyzer-HOUCQR3K.mjs} +1 -1
  7. package/dist/{analyzer-CN7C74WX.cjs → analyzer-VKUDHNDF.cjs} +2 -2
  8. package/dist/api/route-manager.cjs +5 -5
  9. package/dist/api/route-manager.d.mts +3 -3
  10. package/dist/api/route-manager.d.ts +3 -3
  11. package/dist/api/route-manager.mjs +4 -4
  12. package/dist/api/runtime.d.mts +2 -2
  13. package/dist/api/runtime.d.ts +2 -2
  14. package/dist/api.cjs +6 -6
  15. package/dist/api.d.mts +3 -3
  16. package/dist/api.d.ts +3 -3
  17. package/dist/api.mjs +5 -5
  18. package/dist/{app-BWibTHVT.d.ts → app-CourU3rQ.d.ts} +4 -4
  19. package/dist/{app-DVJ13FPA.d.mts → app-aeD4s_mg.d.mts} +4 -4
  20. package/dist/{app-manifest-CQDJOKL2.d.mts → app-manifest-BC6mFn5A.d.mts} +1 -1
  21. package/dist/{app-manifest-D0kaXdwu.d.ts → app-manifest-LzjoNPeq.d.ts} +1 -1
  22. package/dist/app-markdown.d.mts +2 -2
  23. package/dist/app-markdown.d.ts +2 -2
  24. package/dist/base-path-BOUV5ozD.d.mts +10 -0
  25. package/dist/base-path-BOUV5ozD.d.ts +10 -0
  26. package/dist/{chunk-RWT2BTJT.cjs → chunk-2IAPKPEB.cjs} +6 -6
  27. package/dist/{chunk-2G63BIRL.mjs → chunk-2KVDHNQS.mjs} +8 -11
  28. package/dist/{chunk-76R5GJER.mjs → chunk-3HA7PP72.mjs} +2 -2
  29. package/dist/{chunk-NJVFPJ2Y.cjs → chunk-3OWVWZ6R.cjs} +28 -2
  30. package/dist/{chunk-KO2NWUKN.mjs → chunk-4GJJ65RB.mjs} +9 -1
  31. package/dist/{chunk-GERUXONA.cjs → chunk-5A77OEIG.cjs} +4 -1
  32. package/dist/{chunk-4HBKBHVP.mjs → chunk-5ENW27SL.mjs} +1 -1
  33. package/dist/{chunk-MTB57GOK.mjs → chunk-724WT3NI.mjs} +4 -2
  34. package/dist/{chunk-VCKGOXFI.cjs → chunk-76GHW3WI.cjs} +7 -1
  35. package/dist/{chunk-ZIBIE7AH.mjs → chunk-7UPCJDB5.mjs} +7 -1
  36. package/dist/{chunk-CPXDDWGL.mjs → chunk-AER5I65K.mjs} +1 -1
  37. package/dist/{chunk-WB6XES4V.mjs → chunk-ALEUMLJN.mjs} +34 -5
  38. package/dist/{chunk-WVBUXNBX.mjs → chunk-AMRK3P6W.mjs} +123 -47
  39. package/dist/{chunk-L6QDME5Z.cjs → chunk-B3GZAQSC.cjs} +3 -3
  40. package/dist/chunk-CKPTIEDX.cjs +12 -0
  41. package/dist/{chunk-B5S2JS6M.cjs → chunk-DWW3AMJX.cjs} +288 -255
  42. package/dist/{chunk-EQMTJBB7.cjs → chunk-DZZHTMWM.cjs} +35 -6
  43. package/dist/{chunk-3ATXWZPH.cjs → chunk-E36C43IX.cjs} +13 -16
  44. package/dist/{chunk-J2ZEVDEK.cjs → chunk-EHB77D5U.cjs} +3 -3
  45. package/dist/{chunk-WQGRD5BJ.cjs → chunk-EX6ZSN5P.cjs} +1 -16
  46. package/dist/{chunk-474FO3UE.cjs → chunk-F42U3R4F.cjs} +170 -163
  47. package/dist/{chunk-6QA2SXVH.cjs → chunk-FK25QSVC.cjs} +2 -1
  48. package/dist/{chunk-BW6SCVYX.mjs → chunk-FSQMN2MQ.mjs} +1 -0
  49. package/dist/{chunk-2H3FJYY6.mjs → chunk-FSXSQQTV.mjs} +3 -2
  50. package/dist/chunk-GNZIAJGB.mjs +358 -0
  51. package/dist/{chunk-TXK4D46O.mjs → chunk-H3ASZDT7.mjs} +21 -1
  52. package/dist/{chunk-B6PREBN6.cjs → chunk-HASX6DC7.cjs} +8 -8
  53. package/dist/{chunk-ZLOQQ2UF.mjs → chunk-I2ZA5SXS.mjs} +60 -27
  54. package/dist/{chunk-X2EL3BLH.cjs → chunk-IOUOGRDX.cjs} +11 -3
  55. package/dist/{chunk-CBJKDB6F.mjs → chunk-IRSS4HS4.mjs} +1 -1
  56. package/dist/{chunk-GOOK2J2W.cjs → chunk-J22JD5YJ.cjs} +2 -2
  57. package/dist/{chunk-2DEPNLXK.mjs → chunk-JF5CNHHF.mjs} +4 -4
  58. package/dist/{chunk-VOZ5DI7D.mjs → chunk-JWI5PUO2.mjs} +6 -2
  59. package/dist/{chunk-YAXOEAND.cjs → chunk-KHXAJ2KA.cjs} +6 -6
  60. package/dist/{chunk-WXHDVXJE.mjs → chunk-KY32FWK7.mjs} +2 -2
  61. package/dist/{chunk-EQWWOQTK.cjs → chunk-LEIXUFJN.cjs} +6 -2
  62. package/dist/{chunk-2GLQSIZD.mjs → chunk-LMFJCXDD.mjs} +1 -1
  63. package/dist/{chunk-IXSMFKZ2.cjs → chunk-LNM57D3H.cjs} +4 -4
  64. package/dist/{chunk-5V4KZOZO.mjs → chunk-LZ4SB57H.mjs} +2 -2
  65. package/dist/{chunk-E2BMCNMJ.cjs → chunk-MMEEXMUQ.cjs} +2 -2
  66. package/dist/chunk-N4AQNEXR.cjs +17 -0
  67. package/dist/{chunk-JZMZKABS.cjs → chunk-NWUHS6GV.cjs} +3 -2
  68. package/dist/{chunk-LYWAGXXW.cjs → chunk-O3MMJPC2.cjs} +12 -12
  69. package/dist/{chunk-FACTMUPI.cjs → chunk-PDJSL7PL.cjs} +30 -19
  70. package/dist/{chunk-XLLVWLWO.mjs → chunk-PIHKO25G.mjs} +1 -1
  71. package/dist/chunk-PIUTGRDI.cjs +358 -0
  72. package/dist/{chunk-KGP76FSV.mjs → chunk-PPDHCRTC.mjs} +1 -1
  73. package/dist/{chunk-C73RIAEF.mjs → chunk-QI5AQMEE.mjs} +17 -6
  74. package/dist/{chunk-F5LERVY3.cjs → chunk-QK3HBOTG.cjs} +10 -10
  75. package/dist/{chunk-Q3UU2KXC.mjs → chunk-QMDU6QHN.mjs} +4 -1
  76. package/dist/{chunk-JJOWY3XD.mjs → chunk-R5P4KFPM.mjs} +1 -1
  77. package/dist/{chunk-IWJKJDNW.mjs → chunk-S5ZA2T2W.mjs} +35 -28
  78. package/dist/{chunk-PXEXOQ5R.mjs → chunk-SHS6KXOZ.mjs} +1 -1
  79. package/dist/{chunk-ETF5C6HR.cjs → chunk-SJ23LJ3N.cjs} +3 -3
  80. package/dist/{chunk-KZH6YLND.cjs → chunk-SO3T6T4I.cjs} +427 -351
  81. package/dist/{chunk-JHXJBNLY.cjs → chunk-SUCDVKUB.cjs} +21 -1
  82. package/dist/{chunk-7ONZDKVY.mjs → chunk-T4EW7AAD.mjs} +2 -2
  83. package/dist/{chunk-UY6HS5PF.cjs → chunk-USL2ANCB.cjs} +8 -8
  84. package/dist/{chunk-4T25YCZ5.cjs → chunk-VIFPE5RG.cjs} +14 -14
  85. package/dist/{chunk-HYN3LLG7.cjs → chunk-VO6NLTV4.cjs} +3 -3
  86. package/dist/{chunk-XN2MB4QZ.cjs → chunk-VQJYGZNX.cjs} +4 -4
  87. package/dist/{chunk-5PKDHKQP.cjs → chunk-WFVSAT7Y.cjs} +6 -4
  88. package/dist/{chunk-X3HOVNHI.mjs → chunk-WSY2JD7O.mjs} +6 -6
  89. package/dist/{chunk-SHJJM6OG.mjs → chunk-WVX3BUNJ.mjs} +1 -1
  90. package/dist/chunk-X3EFRVXY.mjs +12 -0
  91. package/dist/{chunk-UCQ52TJY.mjs → chunk-X3JNB2TB.mjs} +1 -1
  92. package/dist/{chunk-RHOR2J6V.cjs → chunk-X5BCMLGP.cjs} +1 -1
  93. package/dist/{chunk-IQXGHGZF.cjs → chunk-XB24LZWI.cjs} +5 -5
  94. package/dist/{chunk-BNMHXVLL.mjs → chunk-XMHERKSE.mjs} +0 -15
  95. package/dist/{chunk-CGCJ2TJU.cjs → chunk-XPMC4E2G.cjs} +3 -3
  96. package/dist/{chunk-HWCHIBJZ.mjs → chunk-XWC5NAHV.mjs} +4 -4
  97. package/dist/{chunk-C7425KDG.cjs → chunk-XYL4HSVC.cjs} +2 -2
  98. package/dist/{chunk-2SVJGOAX.mjs → chunk-Y3N5BFRJ.mjs} +3 -3
  99. package/dist/{chunk-IUBDMDZZ.cjs → chunk-Y7TLL65B.cjs} +4 -4
  100. package/dist/{chunk-M7LKA632.mjs → chunk-YLNBWUVS.mjs} +1 -1
  101. package/dist/chunk-Z5A6CNV2.mjs +60 -0
  102. package/dist/chunk-Z64V4WZI.mjs +17 -0
  103. package/dist/{chunk-2VCC3GVC.mjs → chunk-ZF3GX4O7.mjs} +1 -1
  104. package/dist/{client-plugins-BPfltM5m.d.ts → client-plugins-CFBEfVPO.d.ts} +20 -3
  105. package/dist/{client-plugins-D4RO59f0.d.mts → client-plugins-cqy_dQd0.d.mts} +20 -3
  106. package/dist/client-plugins.d.mts +1 -1
  107. package/dist/client-plugins.d.ts +1 -1
  108. package/dist/client.cjs +5 -4
  109. package/dist/client.d.mts +6 -6
  110. package/dist/client.d.ts +6 -6
  111. package/dist/client.mjs +4 -3
  112. package/dist/config.d.mts +1 -1
  113. package/dist/config.d.ts +1 -1
  114. package/dist/cron.cjs +4 -4
  115. package/dist/cron.mjs +3 -3
  116. package/dist/desktop.d.mts +2 -2
  117. package/dist/desktop.d.ts +2 -2
  118. package/dist/{devtools-STG7HPRV.mjs → devtools-4MLL3RAL.mjs} +6 -6
  119. package/dist/{devtools-N5XTOECL.cjs → devtools-4ZLMD454.cjs} +8 -8
  120. package/dist/docs.cjs +10 -10
  121. package/dist/docs.d.mts +2 -2
  122. package/dist/docs.d.ts +2 -2
  123. package/dist/docs.mjs +9 -9
  124. package/dist/{index-k8o8eUOd.d.mts → index-BYkNbeQV.d.mts} +1 -1
  125. package/dist/{index-C-N3Pwg-.d.ts → index-BxjN_UDZ.d.ts} +1 -1
  126. package/dist/index.cjs +42 -40
  127. package/dist/index.d.mts +16 -16
  128. package/dist/index.d.ts +16 -16
  129. package/dist/index.mjs +41 -39
  130. package/dist/integrations.d.mts +1 -1
  131. package/dist/integrations.d.ts +1 -1
  132. package/dist/internal/app-markdown-runtime.d.mts +2 -2
  133. package/dist/internal/app-markdown-runtime.d.ts +2 -2
  134. package/dist/internal/build-runtime.cjs +32 -31
  135. package/dist/internal/build-runtime.d.mts +3 -3
  136. package/dist/internal/build-runtime.d.ts +3 -3
  137. package/dist/internal/build-runtime.mjs +31 -30
  138. package/dist/internal/cli-runtime.cjs +15 -15
  139. package/dist/internal/cli-runtime.mjs +14 -14
  140. package/dist/internal/client-error-overlay.cjs +4 -4
  141. package/dist/internal/client-error-overlay.mjs +1 -1
  142. package/dist/internal/client-runtime.cjs +4 -2
  143. package/dist/internal/client-runtime.d.mts +5 -5
  144. package/dist/internal/client-runtime.d.ts +5 -5
  145. package/dist/internal/client-runtime.mjs +3 -1
  146. package/dist/internal/compression-runtime.d.mts +1 -1
  147. package/dist/internal/compression-runtime.d.ts +1 -1
  148. package/dist/internal/config-runtime.cjs +8 -8
  149. package/dist/internal/config-runtime.d.mts +3 -3
  150. package/dist/internal/config-runtime.d.ts +3 -3
  151. package/dist/internal/config-runtime.mjs +7 -7
  152. package/dist/internal/form-actions.cjs +4 -3
  153. package/dist/internal/form-actions.mjs +3 -2
  154. package/dist/internal/infra-analytics-runtime.cjs +5 -5
  155. package/dist/internal/infra-analytics-runtime.mjs +3 -3
  156. package/dist/internal/islands-runtime.cjs +56 -0
  157. package/dist/internal/islands-runtime.mjs +57 -1
  158. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  159. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  160. package/dist/internal/production-runtime.cjs +11 -8
  161. package/dist/internal/production-runtime.d.mts +24 -11
  162. package/dist/internal/production-runtime.d.ts +24 -11
  163. package/dist/internal/production-runtime.mjs +10 -7
  164. package/dist/internal/server-fn-transform.cjs +13 -0
  165. package/dist/internal/server-fn-transform.d.mts +24 -0
  166. package/dist/internal/server-fn-transform.d.ts +24 -0
  167. package/dist/internal/server-fn-transform.mjs +13 -0
  168. package/dist/markdown.d.mts +1 -1
  169. package/dist/markdown.d.ts +1 -1
  170. package/dist/middleware.cjs +7 -7
  171. package/dist/middleware.d.mts +3 -3
  172. package/dist/middleware.d.ts +3 -3
  173. package/dist/middleware.mjs +6 -6
  174. package/dist/mobile.d.mts +30 -3
  175. package/dist/mobile.d.ts +30 -3
  176. package/dist/{navigation-delegate-8xg3Zvp4.d.ts → navigation-delegate-BU4xqdnw.d.ts} +1 -1
  177. package/dist/{navigation-delegate-ji6elCKy.d.mts → navigation-delegate-DLhbfEN4.d.mts} +1 -1
  178. package/dist/navigation.d.mts +4 -4
  179. package/dist/navigation.d.ts +4 -4
  180. package/dist/{nitro-YPSZBYDK.cjs → nitro-CK7M4RMY.cjs} +11 -11
  181. package/dist/{nitro-2Q5NVY7L.mjs → nitro-R444AF3O.mjs} +7 -7
  182. package/dist/plugin.cjs +25 -23
  183. package/dist/plugin.d.mts +3 -3
  184. package/dist/plugin.d.ts +3 -3
  185. package/dist/plugin.mjs +24 -22
  186. package/dist/{production-runtime-TdKaYRj0.d.ts → production-runtime-C78A8YgK.d.ts} +1 -1
  187. package/dist/{production-runtime-DXnQQkQf.d.mts → production-runtime-DLA4J5WG.d.mts} +1 -1
  188. package/dist/{programmatic-routes-client-BwiTndEC.d.ts → programmatic-routes-client-CBqkNhBy.d.ts} +2 -2
  189. package/dist/{programmatic-routes-client-Dh1SDLSM.d.mts → programmatic-routes-client-NpqGBn-i.d.mts} +2 -2
  190. package/dist/{render-plan-BvCGXF6K.d.mts → render-plan-C9sWvDTv.d.mts} +1 -1
  191. package/dist/{render-plan-BPbwRbuN.d.ts → render-plan-CrqcBbnV.d.ts} +1 -1
  192. package/dist/renderer-client.cjs +8 -6
  193. package/dist/renderer-client.d.mts +4 -4
  194. package/dist/renderer-client.d.ts +4 -4
  195. package/dist/renderer-client.mjs +4 -2
  196. package/dist/{request-B8PGTZNR.d.ts → request-BizeuqD7.d.ts} +1 -1
  197. package/dist/{request-C_xTkJib.d.mts → request-WwB1-Uim.d.mts} +1 -1
  198. package/dist/request.d.mts +2 -2
  199. package/dist/request.d.ts +2 -2
  200. package/dist/{route-rendering-RNtcj607.d.ts → route-rendering-BGhJN64l.d.ts} +1 -1
  201. package/dist/{route-rendering-DlddURL1.d.mts → route-rendering-S6NFjnx4.d.mts} +1 -1
  202. package/dist/{router-B97eB0Mq.d.mts → router-BIheIy9G.d.mts} +1 -1
  203. package/dist/{router-qUVaoEN8.d.ts → router-BUD_j2EL.d.ts} +1 -1
  204. package/dist/routes.cjs +3 -2
  205. package/dist/routes.d.mts +2 -2
  206. package/dist/routes.d.ts +2 -2
  207. package/dist/routes.mjs +2 -1
  208. package/dist/{rsc-pipeline-L4XOZ2TE.cjs → rsc-pipeline-JRGUZBYM.cjs} +11 -11
  209. package/dist/{rsc-pipeline-T3775JUA.mjs → rsc-pipeline-OLAVIKI3.mjs} +10 -10
  210. package/dist/{runtime-C8GUnNeP.d.ts → runtime-CWP-21hP.d.ts} +1 -1
  211. package/dist/{runtime-CaDswfWi.d.mts → runtime-CgJwe6H_.d.mts} +1 -1
  212. package/dist/{runtime-BIBGJO7V.cjs → runtime-G23RSLEK.cjs} +14 -14
  213. package/dist/{runtime-HRSFC4ZC.mjs → runtime-OGCHDACZ.mjs} +12 -12
  214. package/dist/{schema-dev-notice-LZ5NXGLN.mjs → schema-dev-notice-F6QYSOAI.mjs} +2 -2
  215. package/dist/{schema-dev-notice-XV7GZ3QJ.cjs → schema-dev-notice-UU7DMZEU.cjs} +3 -3
  216. package/dist/{search-client-BTXL5XWD.mjs → search-client-OXH6GBNO.mjs} +5 -3
  217. package/dist/search-client-ZZLKVO5R.cjs +15 -0
  218. package/dist/server-action-security.cjs +2 -2
  219. package/dist/server-action-security.mjs +1 -1
  220. package/dist/server-fn.cjs +3 -3
  221. package/dist/server-fn.mjs +2 -2
  222. package/dist/server-plugins.d.mts +2 -2
  223. package/dist/server-plugins.d.ts +2 -2
  224. package/dist/server-query-client.cjs +4 -3
  225. package/dist/server-query-client.mjs +3 -2
  226. package/dist/server-query.cjs +4 -4
  227. package/dist/server-query.mjs +3 -3
  228. package/dist/server.cjs +57 -55
  229. package/dist/server.d.mts +9 -9
  230. package/dist/server.d.ts +9 -9
  231. package/dist/server.mjs +34 -32
  232. package/dist/{spa-router-Dlv5ofg0.d.mts → spa-router-CVOL0Vrq.d.mts} +2 -2
  233. package/dist/{spa-router-qapSboKz.d.ts → spa-router-Kytv4jSB.d.ts} +2 -2
  234. package/dist/testing.cjs +12 -11
  235. package/dist/testing.d.mts +1 -1
  236. package/dist/testing.d.ts +1 -1
  237. package/dist/testing.mjs +9 -8
  238. package/dist/{utils-A-cYF81u.d.ts → utils-DbyXlzaj.d.ts} +1 -1
  239. package/dist/{utils-DyvlSxFk.d.mts → utils-Dsa1HZ7X.d.mts} +1 -1
  240. package/dist/version.cjs +2 -2
  241. package/dist/version.mjs +1 -1
  242. package/dist/vite.cjs +25 -23
  243. package/dist/vite.d.mts +4 -4
  244. package/dist/vite.d.ts +4 -4
  245. package/dist/vite.mjs +24 -22
  246. package/dist/workflows.cjs +4 -4
  247. package/dist/workflows.mjs +3 -3
  248. package/package.json +8 -3
  249. package/dist/base-path-leyrqXbX.d.mts +0 -19
  250. package/dist/base-path-leyrqXbX.d.ts +0 -19
  251. package/dist/chunk-OTOOJIUB.mjs +0 -34
  252. package/dist/search-client-QCYAL6AY.cjs +0 -13
@@ -56,13 +56,13 @@ var _chunk2HW5LWAHcjs = require('./chunk-2HW5LWAH.cjs');
56
56
  var _chunkDQJ2CIH7cjs = require('./chunk-DQJ2CIH7.cjs');
57
57
 
58
58
 
59
- var _chunkIQXGHGZFcjs = require('./chunk-IQXGHGZF.cjs');
59
+ var _chunkXB24LZWIcjs = require('./chunk-XB24LZWI.cjs');
60
60
 
61
61
 
62
- var _chunkC7425KDGcjs = require('./chunk-C7425KDG.cjs');
62
+ var _chunkXYL4HSVCcjs = require('./chunk-XYL4HSVC.cjs');
63
63
 
64
64
 
65
- var _chunk6QA2SXVHcjs = require('./chunk-6QA2SXVH.cjs');
65
+ var _chunkFK25QSVCcjs = require('./chunk-FK25QSVC.cjs');
66
66
 
67
67
 
68
68
  var _chunkWT6RAN2Icjs = require('./chunk-WT6RAN2I.cjs');
@@ -80,7 +80,7 @@ var _chunk5DX3O6TTcjs = require('./chunk-5DX3O6TT.cjs');
80
80
  var _chunkLNVGXUL3cjs = require('./chunk-LNVGXUL3.cjs');
81
81
 
82
82
 
83
- var _chunkXN2MB4QZcjs = require('./chunk-XN2MB4QZ.cjs');
83
+ var _chunkVQJYGZNXcjs = require('./chunk-VQJYGZNX.cjs');
84
84
 
85
85
 
86
86
  var _chunkLIFUPCXWcjs = require('./chunk-LIFUPCXW.cjs');
@@ -370,7 +370,7 @@ function resolveDeployConfig(config, overrides = {}) {
370
370
  target = detectedTarget;
371
371
  if (!warnedPlatformMismatches.has(`select:${detectedTarget}`)) {
372
372
  warnedPlatformMismatches.add(`select:${detectedTarget}`);
373
- _chunkXN2MB4QZcjs.logger.info(
373
+ _chunkVQJYGZNXcjs.logger.info(
374
374
  `Detected ${detectedTarget} build environment; using the ${detectedTarget} preset. Set deploy.target in farm.config.ts to override.`
375
375
  );
376
376
  }
@@ -384,7 +384,7 @@ function resolveDeployConfig(config, overrides = {}) {
384
384
  const mismatchKey = `mismatch:${resolvedTarget}:${detectedTarget}`;
385
385
  if (!warnedPlatformMismatches.has(mismatchKey)) {
386
386
  warnedPlatformMismatches.add(mismatchKey);
387
- _chunkXN2MB4QZcjs.logger.warn(
387
+ _chunkVQJYGZNXcjs.logger.warn(
388
388
  `The configured deploy target "${_nullishCoalesce(resolvedTarget, () => ( preset))}" cannot be served by ${detectedTarget}, but this build is running in a ${detectedTarget} build environment. Set deploy.target: "${detectedTarget}" in farm.config.ts to deploy there.`
389
389
  );
390
390
  }
@@ -654,12 +654,12 @@ async function resolveConfig(userConfig, mode) {
654
654
  });
655
655
  userConfig = layerResolution.config;
656
656
  if (userConfig.typescript !== void 0) {
657
- _chunkXN2MB4QZcjs.logger.warn(
657
+ _chunkVQJYGZNXcjs.logger.warn(
658
658
  'The top-level "typescript" option is not supported and has no effect. Configure TypeScript in `tsconfig.json` and run `tsc --noEmit` separately when builds must enforce project type errors.'
659
659
  );
660
660
  }
661
661
  if (userConfig.output !== void 0) {
662
- _chunkXN2MB4QZcjs.logger.warn(
662
+ _chunkVQJYGZNXcjs.logger.warn(
663
663
  'The top-level "output" option is not supported and has no effect. Configure `deploy.target`, `deploy.preset`, or `deploy.outputDir` for deployment output, and use route rendering configuration for static pages.'
664
664
  );
665
665
  }
@@ -682,7 +682,7 @@ async function resolveConfig(userConfig, mode) {
682
682
  const security = _chunk6JHZPB52cjs.resolveFarmSecurityConfig.call(void 0, userConfig.security);
683
683
  const securityHeader = _chunk6JHZPB52cjs.getFarmSecurityHeader.call(void 0, security);
684
684
  if (_chunk6JHZPB52cjs.farmCspBlocksFrameworkInlineScripts.call(void 0, security)) {
685
- _chunkXN2MB4QZcjs.logger.warn(
685
+ _chunkVQJYGZNXcjs.logger.warn(
686
686
  "security.csp blocks the inline scripts Farm injects for theming and hydration. Set security.csp.nonce to true for managed dynamic nonces and prerendered hashes, or make the governing script directive allow 'unsafe-inline' without a nonce, hash, or 'strict-dynamic' source."
687
687
  );
688
688
  }
@@ -747,8 +747,8 @@ async function resolveConfig(userConfig, mode) {
747
747
  md,
748
748
  mdx,
749
749
  migrations: resolveMigrationsConfig(userConfig.migrations),
750
- cron: _chunkC7425KDGcjs.resolveCronConfig.call(void 0, userConfig.cron),
751
- workflows: _chunkIQXGHGZFcjs.resolveWorkflowsConfig.call(void 0, userConfig.workflows),
750
+ cron: _chunkXYL4HSVCcjs.resolveCronConfig.call(void 0, userConfig.cron),
751
+ workflows: _chunkXB24LZWIcjs.resolveWorkflowsConfig.call(void 0, userConfig.workflows),
752
752
  api,
753
753
  observability: _nullishCoalesce(userConfig.observability, () => ( false)),
754
754
  telemetry: userConfig.telemetry !== false,
@@ -796,7 +796,7 @@ async function resolveConfig(userConfig, mode) {
796
796
  notFound: userConfig.notFound || {},
797
797
  context: userConfig.context || (() => void 0),
798
798
  server: _chunkLIFUPCXWcjs.resolveFarmServerConfig.call(void 0, userConfig.server),
799
- serverActions: _chunk6QA2SXVHcjs.resolveServerActionsConfig.call(void 0, userConfig.serverActions),
799
+ serverActions: _chunkFK25QSVCcjs.resolveServerActionsConfig.call(void 0, userConfig.serverActions),
800
800
  security,
801
801
  deploymentId,
802
802
  distDir: userConfig.distDir || ".farm",
@@ -9,10 +9,10 @@ var _chunkKBGZ5FD6cjs = require('./chunk-KBGZ5FD6.cjs');
9
9
  var _chunkP2355C6Ecjs = require('./chunk-P2355C6E.cjs');
10
10
 
11
11
 
12
- var _chunkYAXOEANDcjs = require('./chunk-YAXOEAND.cjs');
12
+ var _chunkKHXAJ2KAcjs = require('./chunk-KHXAJ2KA.cjs');
13
13
 
14
14
 
15
- var _chunkJZMZKABScjs = require('./chunk-JZMZKABS.cjs');
15
+ var _chunkNWUHS6GVcjs = require('./chunk-NWUHS6GV.cjs');
16
16
 
17
17
 
18
18
  var _chunkSBDWCDS6cjs = require('./chunk-SBDWCDS6.cjs');
@@ -23,6 +23,7 @@ var _chunkSBDWCDS6cjs = require('./chunk-SBDWCDS6.cjs');
23
23
 
24
24
 
25
25
 
26
+
26
27
  var _chunkOYNNA4DDcjs = require('./chunk-OYNNA4DD.cjs');
27
28
 
28
29
 
@@ -36,7 +37,7 @@ var _chunkJYNNIGQOcjs = require('./chunk-JYNNIGQO.cjs');
36
37
 
37
38
 
38
39
 
39
- var _chunkXN2MB4QZcjs = require('./chunk-XN2MB4QZ.cjs');
40
+ var _chunkVQJYGZNXcjs = require('./chunk-VQJYGZNX.cjs');
40
41
 
41
42
 
42
43
  var _chunkZ5MZDFX4cjs = require('./chunk-Z5MZDFX4.cjs');
@@ -113,7 +114,7 @@ function farmApiPlugin(options = {}) {
113
114
  const existing = apiRoutesCache.get(routePath);
114
115
  const existingFile = _optionalChain([endpointSources, 'access', _ => _.get, 'call', _2 => _2(routePath), 'optionalAccess', _3 => _3.get, 'call', _4 => _4(normalizedMethod)]);
115
116
  if (existingFile) {
116
- throw new (0, _chunkYAXOEANDcjs.APIRouteConflictError)(routePath, normalizedMethod, existingFile, filePath);
117
+ throw new (0, _chunkKHXAJ2KAcjs.APIRouteConflictError)(routePath, normalizedMethod, existingFile, filePath);
117
118
  }
118
119
  if (existing) {
119
120
  if (!existing.methods.includes(normalizedMethod)) {
@@ -290,7 +291,7 @@ function farmApiPlugin(options = {}) {
290
291
  log(`API route discovered: ${availableMethods.join(", ")} ${routePath}`);
291
292
  }
292
293
  } catch (e) {
293
- if (e instanceof _chunkYAXOEANDcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
294
+ if (e instanceof _chunkKHXAJ2KAcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
294
295
  log(`API route load failed at ${filePath}: ${e.message}`);
295
296
  }
296
297
  }
@@ -317,7 +318,7 @@ function farmApiPlugin(options = {}) {
317
318
  }
318
319
  }
319
320
  } catch (e) {
320
- if (e instanceof _chunkYAXOEANDcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
321
+ if (e instanceof _chunkKHXAJ2KAcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
321
322
  log(`Root routes.ts load failed: ${e.message}`);
322
323
  }
323
324
  break;
@@ -327,14 +328,14 @@ function farmApiPlugin(options = {}) {
327
328
  const discoverProgrammaticRoutes = async () => {
328
329
  const path = await import("path");
329
330
  const srcRoot = path.join(server.config.root, srcDir);
330
- const routeFiles = _chunkJZMZKABScjs.findProgrammaticRouteFilesInDir.call(void 0, srcRoot);
331
+ const routeFiles = _chunkNWUHS6GVcjs.findProgrammaticRouteFilesInDir.call(void 0, srcRoot);
331
332
  if (routeFiles.length === 0) return;
332
333
  const { getProgrammaticRouteManifest } = await import("./routes.cjs");
333
334
  for (const routeFile of routeFiles) {
334
335
  try {
335
336
  const routesModule = await _chunkJYNNIGQOcjs.loadFarmDevModule.call(void 0,
336
337
  server,
337
- _chunkXN2MB4QZcjs.toViteModuleId.call(void 0, routeFile, server.config.root)
338
+ _chunkVQJYGZNXcjs.toViteModuleId.call(void 0, routeFile, server.config.root)
338
339
  );
339
340
  const manifest = getProgrammaticRouteManifest(routesModule);
340
341
  if (!manifest) continue;
@@ -348,7 +349,7 @@ function farmApiPlugin(options = {}) {
348
349
  }
349
350
  }
350
351
  } catch (e) {
351
- if (e instanceof _chunkYAXOEANDcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
352
+ if (e instanceof _chunkKHXAJ2KAcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
352
353
  log(`Programmatic routes file load failed at ${routeFile}: ${e.message}`);
353
354
  }
354
355
  }
@@ -400,17 +401,27 @@ function farmApiPlugin(options = {}) {
400
401
  const pathname = url.split("?")[0];
401
402
  const method = req.method || "GET";
402
403
  if (discoveryPromise) await waitForDiscovery();
404
+ const farmMiddleware = server.__farmMiddleware__;
405
+ let middlewareRan = false;
403
406
  if (!_chunkOYNNA4DDcjs.matchAPIRouteAtBasePath.call(void 0, servedRoutes(), pathname, basePath)) {
404
- return next();
407
+ if (!farmMiddleware || !apiRouterHandler || !_chunkOYNNA4DDcjs.isFarmAPIPathname.call(void 0, pathname, basePath)) {
408
+ return next();
409
+ }
410
+ await _optionalChain([farmMiddleware, 'access', _5 => _5.waitForDiscovery, 'optionalCall', _6 => _6()]);
411
+ if (await farmMiddleware.execute(req, res, pathname, /* @__PURE__ */ new Map())) return;
412
+ middlewareRan = true;
413
+ const rewrittenPathname = (req.url || url).split("?")[0];
414
+ if (rewrittenPathname === pathname || !_chunkOYNNA4DDcjs.matchAPIRouteAtBasePath.call(void 0, servedRoutes(), rewrittenPathname, basePath)) {
415
+ return next();
416
+ }
405
417
  }
406
418
  if (!apiRouterHandler) {
407
419
  return next();
408
420
  }
409
421
  const startTime = Date.now();
410
422
  try {
411
- const farmMiddleware = server.__farmMiddleware__;
412
- if (farmMiddleware) {
413
- await _optionalChain([farmMiddleware, 'access', _5 => _5.waitForDiscovery, 'optionalCall', _6 => _6()]);
423
+ if (farmMiddleware && !middlewareRan) {
424
+ await _optionalChain([farmMiddleware, 'access', _7 => _7.waitForDiscovery, 'optionalCall', _8 => _8()]);
414
425
  const middlewareData = /* @__PURE__ */ new Map();
415
426
  const handled = await farmMiddleware.execute(req, res, pathname, middlewareData);
416
427
  if (handled) {
@@ -476,7 +487,7 @@ function farmApiPlugin(options = {}) {
476
487
  );
477
488
  if (res.writableEnded) return;
478
489
  if (res.headersSent) {
479
- _optionalChain([res, 'access', _7 => _7.destroy, 'optionalCall', _8 => _8(error instanceof Error ? error : new Error(String(error)))]);
490
+ _optionalChain([res, 'access', _9 => _9.destroy, 'optionalCall', _10 => _10(error instanceof Error ? error : new Error(String(error)))]);
480
491
  return;
481
492
  }
482
493
  res.statusCode = 500;
@@ -487,14 +498,14 @@ function farmApiPlugin(options = {}) {
487
498
  };
488
499
  },
489
500
  async handleHotUpdate({ file, server, modules }) {
490
- const normalizedFile = _chunkXN2MB4QZcjs.toPosixPath.call(void 0, file);
501
+ const normalizedFile = _chunkVQJYGZNXcjs.toPosixPath.call(void 0, file);
491
502
  const fileName = normalizedFile.split("/").pop() || "";
492
503
  if (fileName === "routes.ts" || fileName === "routes.tsx" || fileName === "routes.js" || _chunkE7QOEV5Zcjs.isProgrammaticRoutesFileName.call(void 0, fileName)) {
493
504
  log(`Root routes file updated: ${fileName}`);
494
505
  for (const mod of modules) {
495
506
  server.moduleGraph.invalidateModule(mod);
496
507
  }
497
- if (await _optionalChain([recoverFailedDiscovery, 'optionalCall', _9 => _9()])) return [];
508
+ if (await _optionalChain([recoverFailedDiscovery, 'optionalCall', _11 => _11()])) return [];
498
509
  const previousState = snapshotRouteState();
499
510
  try {
500
511
  const routesModule = await _chunkJYNNIGQOcjs.loadFarmDevModule.call(void 0, server, file);
@@ -525,7 +536,7 @@ function farmApiPlugin(options = {}) {
525
536
  log(`API router recreated`);
526
537
  } catch (e) {
527
538
  restoreRouteState(previousState);
528
- if (e instanceof _chunkYAXOEANDcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
539
+ if (e instanceof _chunkKHXAJ2KAcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
529
540
  log(`Root routes.ts HMR failed: ${e.message}`);
530
541
  }
531
542
  return [];
@@ -536,7 +547,7 @@ function farmApiPlugin(options = {}) {
536
547
  for (const mod of modules) {
537
548
  server.moduleGraph.invalidateModule(mod);
538
549
  }
539
- if (await _optionalChain([recoverFailedDiscovery, 'optionalCall', _10 => _10()])) return [];
550
+ if (await _optionalChain([recoverFailedDiscovery, 'optionalCall', _12 => _12()])) return [];
540
551
  const previousState = snapshotRouteState();
541
552
  try {
542
553
  const path = await import("path");
@@ -563,7 +574,7 @@ function farmApiPlugin(options = {}) {
563
574
  log(`API router recreated`);
564
575
  } catch (e) {
565
576
  restoreRouteState(previousState);
566
- if (e instanceof _chunkYAXOEANDcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
577
+ if (e instanceof _chunkKHXAJ2KAcjs.APIRouteConflictError || e instanceof _chunkYTVSWXEZcjs.AmbiguousRouteError) throw e;
567
578
  log(`API route HMR failed: ${e.message}`);
568
579
  }
569
580
  return [];
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-NR63PD3P.mjs";
5
5
  import {
6
6
  logger
7
- } from "./chunk-2SVJGOAX.mjs";
7
+ } from "./chunk-Y3N5BFRJ.mjs";
8
8
 
9
9
  // src/build/tailwind.ts
10
10
  import path from "path";
@@ -0,0 +1,358 @@
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; }// src/server-fn-transform.ts
2
+ var SERVER_FUNCTION_FACTORY_IMPORT_RE = /\bimport\s+(?:type\s+)?(?:[A-Za-z_$][\w$]*\s*,\s*)?(\{[^}]*\})\s+from\s*["']@farm.js\/core(?:\/(?:server-fn|server-query))?["']\s*;?/g;
3
+ var EXPORT_SERVER_FUNCTION_FACTORY_RE = /\bexport\s+(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*([A-Za-z_$][\w$]*)\s*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>)?\s*\(/g;
4
+ var EXPORT_DEFAULT_SERVER_FUNCTION_FACTORY_RE = /\bexport\s+default\s+([A-Za-z_$][\w$]*)\s*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>)?\s*\(/g;
5
+ var SERVER_FUNCTION_DECLARATION_RE = /(?<![.\w$])([A-Za-z_$][\w$]*)\s*=\s*([A-Za-z_$][\w$]*)\s*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>)?\s*\(/g;
6
+ var LOCAL_EXPORT_CLAUSE_RE = /\bexport\s*\{([^}]*)\}/g;
7
+ var EXPORT_DEFAULT_ALIAS_RE = /\bexport\s+default\s+([A-Za-z_$][\w$]*)\s*(?:;|(?=[\r\n])|$)/g;
8
+ var EXPORT_BINDING_ALIAS_RE = /\bexport\s+(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*([A-Za-z_$][\w$]*)\s*(?:;|(?=[,\r\n])|$)/g;
9
+ var MODULE_EXT_RE = /\.[cm]?[jt]sx?$/;
10
+ var DECLARATION_RE = /(^|\n)\s*["']([^"']+)["']\s*;?/g;
11
+ var FARM_SERVER_FN_BOUNDARY_QUERY = "?farm-server-fns";
12
+ function transformFarmServerFns(code, id, options = {}) {
13
+ const analysis = analyzeServerFnModule(code, id);
14
+ if (!analysis) return null;
15
+ const { replacements } = analysis;
16
+ const exports = replacements.map((replacement) => replacement.exportName);
17
+ if (hasModuleDirective(code, "use server")) {
18
+ return { code: applyReplacements(code, replacements, "wrapper"), exports };
19
+ }
20
+ const boundaryId = JSON.stringify(serverFnBoundaryId(id));
21
+ if (options.environment !== void 0 && options.environment !== "rsc") {
22
+ return {
23
+ code: `export { ${exports.join(", ")} } from ${boundaryId};
24
+ `,
25
+ exports
26
+ };
27
+ }
28
+ const imports = replacements.map(
29
+ (replacement) => replacement.exportName === "default" ? "default as $$farm_server_fn_boundary_default" : replacement.exportName
30
+ );
31
+ const reExports = replacements.map(
32
+ (replacement) => replacement.exportName === "default" ? "$$farm_server_fn_boundary_default as default" : replacement.exportName
33
+ );
34
+ const privateNames = replacements.map((replacement) => replacement.privateName);
35
+ return {
36
+ code: applyReplacements(code, replacements, "private") + `
37
+ import { ${imports.join(", ")} } from ${boundaryId};
38
+ export { ${[...reExports, ...privateNames].join(", ")} };
39
+ `,
40
+ exports
41
+ };
42
+ }
43
+ function createFarmServerFnBoundaryModule(code, id) {
44
+ if (hasModuleDirective(code, "use server")) return null;
45
+ const analysis = analyzeServerFnModule(code, id);
46
+ if (!analysis) return null;
47
+ const sourceId = JSON.stringify(id.split("?", 1)[0].replace(/\\/g, "/"));
48
+ const privateNames = analysis.replacements.map((replacement) => replacement.privateName);
49
+ let output = `"use server";
50
+ import { ${privateNames.join(", ")} } from ${sourceId};
51
+ `;
52
+ for (const replacement of analysis.replacements) {
53
+ const declaration = replacement.exportName === "default" ? "export default async function" : "export async function";
54
+ output += `${declaration} ${replacement.wrapperName}(input) {
55
+ return ${replacement.privateName}(input);
56
+ }
57
+ ${copyServerFunctionDescriptor(replacement.wrapperName, replacement.privateName, true)}
58
+ `;
59
+ }
60
+ return output;
61
+ }
62
+ function isFarmServerFnBoundaryId(id) {
63
+ return /[?&]farm-server-fns(?:&|$)/.test(id);
64
+ }
65
+ function serverFnBoundaryId(id) {
66
+ return `${id.split("?", 1)[0].replace(/\\/g, "/")}${FARM_SERVER_FN_BOUNDARY_QUERY}`;
67
+ }
68
+ function applyReplacements(code, replacements, mode) {
69
+ let output = code;
70
+ for (const replacement of [...replacements].sort((a, b) => b.start - a.start)) {
71
+ const declaration = `const ${replacement.privateName} = ${replacement.callExpression};
72
+ `;
73
+ const wrapper = mode === "private" ? "" : `${replacement.exportName === "default" ? "export default async function" : "export async function"} ${replacement.wrapperName}(input) {
74
+ return ${replacement.privateName}(input);
75
+ }
76
+ ${copyServerFunctionDescriptor(replacement.wrapperName, replacement.privateName, false)}`;
77
+ output = output.slice(0, replacement.start) + declaration + wrapper + output.slice(replacement.end);
78
+ }
79
+ return output;
80
+ }
81
+ function analyzeServerFnModule(code, id) {
82
+ if (!isTransformableModule(id) || !code.includes("createServerFn") && !code.includes("createServerQuery")) {
83
+ return null;
84
+ }
85
+ const factoryNames = findServerFunctionFactoryImportNames(code);
86
+ if (factoryNames.size === 0) return null;
87
+ const reExport = findServerFnReExport(code, factoryNames);
88
+ if (reExport) {
89
+ const factoryName = reExport.factory === "fn" ? "createServerFn" : "createServerQuery";
90
+ const escape = reExport.form === "clause" ? "with an export clause" : reExport.form === "default" ? "as the default export" : "through another exported binding";
91
+ const inlineForm = reExport.form === "default" ? `export default ${factoryName}(...)` : `export const ${reExport.exportName} = ${factoryName}(...)`;
92
+ throw new Error(
93
+ `Server function "${reExport.localName}" cannot be re-exported ${escape}. Export it inline instead: ${inlineForm}.`
94
+ );
95
+ }
96
+ const replacements = findServerFnExportReplacements(code, factoryNames);
97
+ if (replacements.length === 0) return null;
98
+ if (hasModuleDirective(code, "use client")) {
99
+ throw new Error(
100
+ "createServerFn and createServerQuery exports must live in a server module. Move them out of the 'use client' file."
101
+ );
102
+ }
103
+ return { replacements };
104
+ }
105
+ function isTransformableModule(id) {
106
+ const cleanId = id.split("?", 1)[0];
107
+ return MODULE_EXT_RE.test(cleanId) && !/\.d\.[cm]?ts$/.test(cleanId);
108
+ }
109
+ function findServerFunctionFactoryImportNames(code) {
110
+ const names = /* @__PURE__ */ new Map();
111
+ for (const match of code.matchAll(SERVER_FUNCTION_FACTORY_IMPORT_RE)) {
112
+ const importClause = _nullishCoalesce(match[1], () => ( ""));
113
+ const namedStart = importClause.indexOf("{");
114
+ const namedEnd = importClause.lastIndexOf("}");
115
+ if (namedStart === -1 || namedEnd === -1 || namedEnd <= namedStart) continue;
116
+ const namedImports = importClause.slice(namedStart + 1, namedEnd).split(",");
117
+ for (const specifier of namedImports) {
118
+ const normalized = specifier.trim().replace(/^type\s+/, "");
119
+ const specifierMatch = normalized.match(
120
+ /^(createServerFn|createServerQuery)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/
121
+ );
122
+ if (specifierMatch) {
123
+ const factory = specifierMatch[1];
124
+ names.set(_nullishCoalesce(specifierMatch[2], () => ( factory)), factory === "createServerFn" ? "fn" : "query");
125
+ }
126
+ }
127
+ }
128
+ return names;
129
+ }
130
+ function findServerFnReExport(code, factoryNames) {
131
+ const scannable = stripCommentsAndStrings(code);
132
+ const declarations = /* @__PURE__ */ new Map();
133
+ for (const match of scannable.matchAll(SERVER_FUNCTION_DECLARATION_RE)) {
134
+ const localName = match[1];
135
+ const factoryName = match[2];
136
+ const factory = factoryName ? factoryNames.get(factoryName) : void 0;
137
+ if (localName && factory) declarations.set(localName, factory);
138
+ }
139
+ if (declarations.size === 0) return null;
140
+ for (const match of scannable.matchAll(LOCAL_EXPORT_CLAUSE_RE)) {
141
+ const clause = _nullishCoalesce(match[1], () => ( ""));
142
+ const clauseEnd = (_nullishCoalesce(match.index, () => ( 0))) + match[0].length;
143
+ if (scannable.slice(clauseEnd).trimStart().startsWith("from")) continue;
144
+ for (const specifier of clause.split(",")) {
145
+ const parts = specifier.trim().split(/\s+as\s+/);
146
+ const localName = _optionalChain([parts, 'access', _ => _[0], 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]);
147
+ if (!localName || !declarations.has(localName)) continue;
148
+ return {
149
+ localName,
150
+ exportName: _optionalChain([parts, 'access', _4 => _4[1], 'optionalAccess', _5 => _5.trim, 'call', _6 => _6()]) || localName,
151
+ factory: declarations.get(localName),
152
+ form: "clause"
153
+ };
154
+ }
155
+ }
156
+ for (const match of scannable.matchAll(EXPORT_DEFAULT_ALIAS_RE)) {
157
+ const localName = match[1];
158
+ if (!localName || !declarations.has(localName)) continue;
159
+ return {
160
+ localName,
161
+ exportName: "default",
162
+ factory: declarations.get(localName),
163
+ form: "default"
164
+ };
165
+ }
166
+ for (const match of scannable.matchAll(EXPORT_BINDING_ALIAS_RE)) {
167
+ const exportName = match[1];
168
+ const localName = match[2];
169
+ if (!exportName || !localName || !declarations.has(localName)) continue;
170
+ return {
171
+ localName,
172
+ exportName,
173
+ factory: declarations.get(localName),
174
+ form: "binding"
175
+ };
176
+ }
177
+ return null;
178
+ }
179
+ function stripCommentsAndStrings(code) {
180
+ const output = code.split("");
181
+ let quote = null;
182
+ let lineComment = false;
183
+ let blockComment = false;
184
+ let escaped = false;
185
+ for (let index = 0; index < code.length; index++) {
186
+ const char = code[index];
187
+ const next = code[index + 1];
188
+ if (lineComment) {
189
+ if (char === "\n" || char === "\r") lineComment = false;
190
+ else output[index] = " ";
191
+ continue;
192
+ }
193
+ if (blockComment) {
194
+ if (char === "*" && next === "/") {
195
+ blockComment = false;
196
+ output[index] = " ";
197
+ output[index + 1] = " ";
198
+ index++;
199
+ } else if (char !== "\n") {
200
+ output[index] = " ";
201
+ }
202
+ continue;
203
+ }
204
+ if (quote) {
205
+ if (escaped) {
206
+ escaped = false;
207
+ output[index] = " ";
208
+ continue;
209
+ }
210
+ if (char === "\\") {
211
+ escaped = true;
212
+ output[index] = " ";
213
+ continue;
214
+ }
215
+ if (char === quote) {
216
+ quote = null;
217
+ continue;
218
+ }
219
+ if (char !== "\n") output[index] = " ";
220
+ continue;
221
+ }
222
+ if (char === "/" && next === "/") {
223
+ lineComment = true;
224
+ output[index] = " ";
225
+ continue;
226
+ }
227
+ if (char === "/" && next === "*") {
228
+ blockComment = true;
229
+ output[index] = " ";
230
+ continue;
231
+ }
232
+ if (char === "'" || char === '"' || char === "`") {
233
+ quote = char;
234
+ }
235
+ }
236
+ return output.join("");
237
+ }
238
+ function findServerFnExportReplacements(code, factoryNames) {
239
+ const replacements = [];
240
+ for (const match of code.matchAll(EXPORT_SERVER_FUNCTION_FACTORY_RE)) {
241
+ const exportName = match[1];
242
+ const calleeName = match[2];
243
+ const factory = calleeName ? factoryNames.get(calleeName) : void 0;
244
+ if (!exportName || !calleeName || !factory) continue;
245
+ const openParenIndex = (_nullishCoalesce(match.index, () => ( 0))) + match[0].length - 1;
246
+ const callEnd = findMatchingParen(code, openParenIndex);
247
+ if (callEnd === -1) continue;
248
+ let declarationEnd = callEnd + 1;
249
+ while (/\s/.test(_nullishCoalesce(code[declarationEnd], () => ( "")))) declarationEnd++;
250
+ if (code[declarationEnd] === ";") declarationEnd++;
251
+ const calleeIndex = code.indexOf(calleeName, match.index);
252
+ replacements.push({
253
+ start: _nullishCoalesce(match.index, () => ( 0)),
254
+ end: declarationEnd,
255
+ exportName,
256
+ privateName: `$$farm_server_${factory}_${exportName}`,
257
+ wrapperName: exportName,
258
+ callExpression: code.slice(calleeIndex, callEnd + 1)
259
+ });
260
+ }
261
+ for (const match of code.matchAll(EXPORT_DEFAULT_SERVER_FUNCTION_FACTORY_RE)) {
262
+ const calleeName = match[1];
263
+ const factory = calleeName ? factoryNames.get(calleeName) : void 0;
264
+ if (!calleeName || !factory) continue;
265
+ const openParenIndex = (_nullishCoalesce(match.index, () => ( 0))) + match[0].length - 1;
266
+ const callEnd = findMatchingParen(code, openParenIndex);
267
+ if (callEnd === -1) continue;
268
+ let declarationEnd = callEnd + 1;
269
+ while (/\s/.test(_nullishCoalesce(code[declarationEnd], () => ( "")))) declarationEnd++;
270
+ if (code[declarationEnd] === ";") declarationEnd++;
271
+ const calleeIndex = code.indexOf(calleeName, match.index);
272
+ const privateName = `$$farm_server_${factory}_default`;
273
+ replacements.push({
274
+ start: _nullishCoalesce(match.index, () => ( 0)),
275
+ end: declarationEnd,
276
+ exportName: "default",
277
+ privateName,
278
+ wrapperName: `${privateName}_export`,
279
+ callExpression: code.slice(calleeIndex, callEnd + 1)
280
+ });
281
+ }
282
+ return replacements;
283
+ }
284
+ function copyServerFunctionDescriptor(target, source, lazy) {
285
+ const key = 'Symbol.for("farm.server-function.descriptor")';
286
+ return lazy ? `Object.defineProperty(${target}, ${key}, { get: () => ${source}[${key}] });` : `Object.defineProperty(${target}, ${key}, { value: ${source}[${key}] });`;
287
+ }
288
+ function hasModuleDirective(code, directive) {
289
+ for (const match of code.matchAll(DECLARATION_RE)) {
290
+ const value = match[2];
291
+ if (value === directive) return true;
292
+ if (value !== "use strict" && value !== "use client" && value !== "use server") return false;
293
+ }
294
+ return false;
295
+ }
296
+ function findMatchingParen(code, openParenIndex) {
297
+ let depth = 0;
298
+ let quote = null;
299
+ let lineComment = false;
300
+ let blockComment = false;
301
+ let escaped = false;
302
+ for (let index = openParenIndex; index < code.length; index++) {
303
+ const char = code[index];
304
+ const next = code[index + 1];
305
+ if (lineComment) {
306
+ if (char === "\n" || char === "\r") lineComment = false;
307
+ continue;
308
+ }
309
+ if (blockComment) {
310
+ if (char === "*" && next === "/") {
311
+ blockComment = false;
312
+ index++;
313
+ }
314
+ continue;
315
+ }
316
+ if (quote) {
317
+ if (escaped) {
318
+ escaped = false;
319
+ continue;
320
+ }
321
+ if (char === "\\") {
322
+ escaped = true;
323
+ continue;
324
+ }
325
+ if (char === quote) {
326
+ quote = null;
327
+ }
328
+ continue;
329
+ }
330
+ if (char === "/" && next === "/") {
331
+ lineComment = true;
332
+ index++;
333
+ continue;
334
+ }
335
+ if (char === "/" && next === "*") {
336
+ blockComment = true;
337
+ index++;
338
+ continue;
339
+ }
340
+ if (char === "'" || char === '"' || char === "`") {
341
+ quote = char;
342
+ continue;
343
+ }
344
+ if (char === "(") depth++;
345
+ if (char === ")") {
346
+ depth--;
347
+ if (depth === 0) return index;
348
+ }
349
+ }
350
+ return -1;
351
+ }
352
+
353
+
354
+
355
+
356
+
357
+
358
+ exports.FARM_SERVER_FN_BOUNDARY_QUERY = FARM_SERVER_FN_BOUNDARY_QUERY; exports.transformFarmServerFns = transformFarmServerFns; exports.createFarmServerFnBoundaryModule = createFarmServerFnBoundaryModule; exports.isFarmServerFnBoundaryId = isFarmServerFnBoundaryId;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MiddlewareManager
3
- } from "./chunk-X3HOVNHI.mjs";
3
+ } from "./chunk-WSY2JD7O.mjs";
4
4
  import {
5
5
  matchesMiddlewarePredicate
6
6
  } from "./chunk-EDPENAVO.mjs";