@farm.js/core 0.1.0-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 (549) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +11 -0
  3. package/dist/after.cjs +227 -0
  4. package/dist/after.cjs.map +1 -0
  5. package/dist/after.d.mts +25 -0
  6. package/dist/after.d.ts +25 -0
  7. package/dist/after.mjs +14 -0
  8. package/dist/after.mjs.map +1 -0
  9. package/dist/agent-runtime.cjs +2379 -0
  10. package/dist/agent-runtime.cjs.map +1 -0
  11. package/dist/agent-runtime.d.mts +93 -0
  12. package/dist/agent-runtime.d.ts +93 -0
  13. package/dist/agent-runtime.mjs +479 -0
  14. package/dist/agent-runtime.mjs.map +1 -0
  15. package/dist/api/route-manager.cjs +1196 -0
  16. package/dist/api/route-manager.cjs.map +1 -0
  17. package/dist/api/route-manager.d.mts +64 -0
  18. package/dist/api/route-manager.d.ts +64 -0
  19. package/dist/api/route-manager.mjs +34 -0
  20. package/dist/api/route-manager.mjs.map +1 -0
  21. package/dist/api/runtime.cjs +272 -0
  22. package/dist/api/runtime.cjs.map +1 -0
  23. package/dist/api/runtime.d.mts +16 -0
  24. package/dist/api/runtime.d.ts +16 -0
  25. package/dist/api/runtime.mjs +16 -0
  26. package/dist/api/runtime.mjs.map +1 -0
  27. package/dist/api.cjs +3199 -0
  28. package/dist/api.cjs.map +1 -0
  29. package/dist/api.d.mts +190 -0
  30. package/dist/api.d.ts +190 -0
  31. package/dist/api.mjs +63 -0
  32. package/dist/api.mjs.map +1 -0
  33. package/dist/app-BiX4qb-d.d.mts +265 -0
  34. package/dist/app-CFRNJXP1.d.ts +265 -0
  35. package/dist/app-markdown.cjs +220 -0
  36. package/dist/app-markdown.cjs.map +1 -0
  37. package/dist/app-markdown.d.mts +21 -0
  38. package/dist/app-markdown.d.ts +21 -0
  39. package/dist/app-markdown.mjs +26 -0
  40. package/dist/app-markdown.mjs.map +1 -0
  41. package/dist/cache.cjs +543 -0
  42. package/dist/cache.cjs.map +1 -0
  43. package/dist/cache.d.mts +78 -0
  44. package/dist/cache.d.ts +78 -0
  45. package/dist/cache.mjs +38 -0
  46. package/dist/cache.mjs.map +1 -0
  47. package/dist/chunk-25D7G34K.mjs +142 -0
  48. package/dist/chunk-25D7G34K.mjs.map +1 -0
  49. package/dist/chunk-3QJO55ZF.mjs +3548 -0
  50. package/dist/chunk-3QJO55ZF.mjs.map +1 -0
  51. package/dist/chunk-3XNTL3FQ.mjs +452 -0
  52. package/dist/chunk-3XNTL3FQ.mjs.map +1 -0
  53. package/dist/chunk-44ZCFSKE.mjs +84 -0
  54. package/dist/chunk-44ZCFSKE.mjs.map +1 -0
  55. package/dist/chunk-4PTK6KT4.mjs +364 -0
  56. package/dist/chunk-4PTK6KT4.mjs.map +1 -0
  57. package/dist/chunk-4S3ORGFA.mjs +44 -0
  58. package/dist/chunk-4S3ORGFA.mjs.map +1 -0
  59. package/dist/chunk-5BY76U2M.mjs +1 -0
  60. package/dist/chunk-5BY76U2M.mjs.map +1 -0
  61. package/dist/chunk-5ZGPRGWV.mjs +136 -0
  62. package/dist/chunk-5ZGPRGWV.mjs.map +1 -0
  63. package/dist/chunk-6XDUHOEM.mjs +157 -0
  64. package/dist/chunk-6XDUHOEM.mjs.map +1 -0
  65. package/dist/chunk-74YTBPTY.mjs +450 -0
  66. package/dist/chunk-74YTBPTY.mjs.map +1 -0
  67. package/dist/chunk-7HO6AEOP.mjs +74 -0
  68. package/dist/chunk-7HO6AEOP.mjs.map +1 -0
  69. package/dist/chunk-7MABZJIM.mjs +29 -0
  70. package/dist/chunk-7MABZJIM.mjs.map +1 -0
  71. package/dist/chunk-7ZY5AIJO.mjs +161 -0
  72. package/dist/chunk-7ZY5AIJO.mjs.map +1 -0
  73. package/dist/chunk-AGS7UJ52.mjs +446 -0
  74. package/dist/chunk-AGS7UJ52.mjs.map +1 -0
  75. package/dist/chunk-AZ7YUVNR.mjs +65 -0
  76. package/dist/chunk-AZ7YUVNR.mjs.map +1 -0
  77. package/dist/chunk-B232I2GP.mjs +163 -0
  78. package/dist/chunk-B232I2GP.mjs.map +1 -0
  79. package/dist/chunk-B6N4ZB2H.mjs +718 -0
  80. package/dist/chunk-B6N4ZB2H.mjs.map +1 -0
  81. package/dist/chunk-BHG3LVHH.mjs +176 -0
  82. package/dist/chunk-BHG3LVHH.mjs.map +1 -0
  83. package/dist/chunk-C3DLZMBU.mjs +597 -0
  84. package/dist/chunk-C3DLZMBU.mjs.map +1 -0
  85. package/dist/chunk-CGILA3WO.mjs +14 -0
  86. package/dist/chunk-CGILA3WO.mjs.map +1 -0
  87. package/dist/chunk-CHFHNEMO.mjs +7088 -0
  88. package/dist/chunk-CHFHNEMO.mjs.map +1 -0
  89. package/dist/chunk-E2MPIBRE.mjs +149 -0
  90. package/dist/chunk-E2MPIBRE.mjs.map +1 -0
  91. package/dist/chunk-E6EPN5BT.mjs +203 -0
  92. package/dist/chunk-E6EPN5BT.mjs.map +1 -0
  93. package/dist/chunk-EVGBEZDF.mjs +215 -0
  94. package/dist/chunk-EVGBEZDF.mjs.map +1 -0
  95. package/dist/chunk-FQYDHKKU.mjs +128 -0
  96. package/dist/chunk-FQYDHKKU.mjs.map +1 -0
  97. package/dist/chunk-G3B5BRDY.mjs +5763 -0
  98. package/dist/chunk-G3B5BRDY.mjs.map +1 -0
  99. package/dist/chunk-GN72QAIH.mjs +146 -0
  100. package/dist/chunk-GN72QAIH.mjs.map +1 -0
  101. package/dist/chunk-GS6K5OCM.mjs +407 -0
  102. package/dist/chunk-GS6K5OCM.mjs.map +1 -0
  103. package/dist/chunk-GY2STC2S.mjs +180 -0
  104. package/dist/chunk-GY2STC2S.mjs.map +1 -0
  105. package/dist/chunk-GZP5W4K3.mjs +158 -0
  106. package/dist/chunk-GZP5W4K3.mjs.map +1 -0
  107. package/dist/chunk-H2FA2SBS.mjs +51 -0
  108. package/dist/chunk-H2FA2SBS.mjs.map +1 -0
  109. package/dist/chunk-HXP3ZSPC.mjs +211 -0
  110. package/dist/chunk-HXP3ZSPC.mjs.map +1 -0
  111. package/dist/chunk-ITN462YM.mjs +98 -0
  112. package/dist/chunk-ITN462YM.mjs.map +1 -0
  113. package/dist/chunk-J23HNLFY.mjs +72 -0
  114. package/dist/chunk-J23HNLFY.mjs.map +1 -0
  115. package/dist/chunk-J4FNJ5IU.mjs +179 -0
  116. package/dist/chunk-J4FNJ5IU.mjs.map +1 -0
  117. package/dist/chunk-JK25YEN6.mjs +219 -0
  118. package/dist/chunk-JK25YEN6.mjs.map +1 -0
  119. package/dist/chunk-JLWMCADZ.mjs +204 -0
  120. package/dist/chunk-JLWMCADZ.mjs.map +1 -0
  121. package/dist/chunk-JN3UU635.mjs +622 -0
  122. package/dist/chunk-JN3UU635.mjs.map +1 -0
  123. package/dist/chunk-K4667E2Q.mjs +1916 -0
  124. package/dist/chunk-K4667E2Q.mjs.map +1 -0
  125. package/dist/chunk-LGHEOHBU.mjs +218 -0
  126. package/dist/chunk-LGHEOHBU.mjs.map +1 -0
  127. package/dist/chunk-LLC7BNXW.mjs +275 -0
  128. package/dist/chunk-LLC7BNXW.mjs.map +1 -0
  129. package/dist/chunk-LM2YNO4U.mjs +24 -0
  130. package/dist/chunk-LM2YNO4U.mjs.map +1 -0
  131. package/dist/chunk-NNLCAVB6.mjs +391 -0
  132. package/dist/chunk-NNLCAVB6.mjs.map +1 -0
  133. package/dist/chunk-O3HADRW6.mjs +639 -0
  134. package/dist/chunk-O3HADRW6.mjs.map +1 -0
  135. package/dist/chunk-OYXO65LI.mjs +119 -0
  136. package/dist/chunk-OYXO65LI.mjs.map +1 -0
  137. package/dist/chunk-P7QDS5AT.mjs +191 -0
  138. package/dist/chunk-P7QDS5AT.mjs.map +1 -0
  139. package/dist/chunk-PRNYWD7K.mjs +599 -0
  140. package/dist/chunk-PRNYWD7K.mjs.map +1 -0
  141. package/dist/chunk-QF4PHCMA.mjs +422 -0
  142. package/dist/chunk-QF4PHCMA.mjs.map +1 -0
  143. package/dist/chunk-QFQRHRZS.mjs +1224 -0
  144. package/dist/chunk-QFQRHRZS.mjs.map +1 -0
  145. package/dist/chunk-QGOHVJ6J.mjs +63 -0
  146. package/dist/chunk-QGOHVJ6J.mjs.map +1 -0
  147. package/dist/chunk-QKVUNGAH.mjs +39 -0
  148. package/dist/chunk-QKVUNGAH.mjs.map +1 -0
  149. package/dist/chunk-QM6VV26B.mjs +149 -0
  150. package/dist/chunk-QM6VV26B.mjs.map +1 -0
  151. package/dist/chunk-RHIFZZUI.mjs +69 -0
  152. package/dist/chunk-RHIFZZUI.mjs.map +1 -0
  153. package/dist/chunk-RKI6TN3A.mjs +49 -0
  154. package/dist/chunk-RKI6TN3A.mjs.map +1 -0
  155. package/dist/chunk-RSKVYESE.mjs +187 -0
  156. package/dist/chunk-RSKVYESE.mjs.map +1 -0
  157. package/dist/chunk-S2XHZS7W.mjs +180 -0
  158. package/dist/chunk-S2XHZS7W.mjs.map +1 -0
  159. package/dist/chunk-SCFX4UTD.mjs +28 -0
  160. package/dist/chunk-SCFX4UTD.mjs.map +1 -0
  161. package/dist/chunk-SL6HTIOK.mjs +66 -0
  162. package/dist/chunk-SL6HTIOK.mjs.map +1 -0
  163. package/dist/chunk-SOU3Q3ZA.mjs +173 -0
  164. package/dist/chunk-SOU3Q3ZA.mjs.map +1 -0
  165. package/dist/chunk-SPBBQLXI.mjs +207 -0
  166. package/dist/chunk-SPBBQLXI.mjs.map +1 -0
  167. package/dist/chunk-SXZTEK3V.mjs +396 -0
  168. package/dist/chunk-SXZTEK3V.mjs.map +1 -0
  169. package/dist/chunk-T4QJQK76.mjs +459 -0
  170. package/dist/chunk-T4QJQK76.mjs.map +1 -0
  171. package/dist/chunk-TRORP7E4.mjs +41 -0
  172. package/dist/chunk-TRORP7E4.mjs.map +1 -0
  173. package/dist/chunk-TU4YJICB.mjs +728 -0
  174. package/dist/chunk-TU4YJICB.mjs.map +1 -0
  175. package/dist/chunk-TXCFGOHW.mjs +42 -0
  176. package/dist/chunk-TXCFGOHW.mjs.map +1 -0
  177. package/dist/chunk-UHE2TTLK.mjs +466 -0
  178. package/dist/chunk-UHE2TTLK.mjs.map +1 -0
  179. package/dist/chunk-UREJA4GZ.mjs +364 -0
  180. package/dist/chunk-UREJA4GZ.mjs.map +1 -0
  181. package/dist/chunk-USWZZUEH.mjs +25 -0
  182. package/dist/chunk-USWZZUEH.mjs.map +1 -0
  183. package/dist/chunk-UVCIEUJC.mjs +16 -0
  184. package/dist/chunk-UVCIEUJC.mjs.map +1 -0
  185. package/dist/chunk-V6WE6JSZ.mjs +352 -0
  186. package/dist/chunk-V6WE6JSZ.mjs.map +1 -0
  187. package/dist/chunk-V7RBCSDJ.mjs +170 -0
  188. package/dist/chunk-V7RBCSDJ.mjs.map +1 -0
  189. package/dist/chunk-VCANOYFI.mjs +588 -0
  190. package/dist/chunk-VCANOYFI.mjs.map +1 -0
  191. package/dist/chunk-WZ5QFROO.mjs +23 -0
  192. package/dist/chunk-WZ5QFROO.mjs.map +1 -0
  193. package/dist/chunk-Y2OJJD7R.mjs +543 -0
  194. package/dist/chunk-Y2OJJD7R.mjs.map +1 -0
  195. package/dist/chunk-Y7A27276.mjs +538 -0
  196. package/dist/chunk-Y7A27276.mjs.map +1 -0
  197. package/dist/chunk-YHU7SS6L.mjs +365 -0
  198. package/dist/chunk-YHU7SS6L.mjs.map +1 -0
  199. package/dist/chunk-ZBE6MLHL.mjs +230 -0
  200. package/dist/chunk-ZBE6MLHL.mjs.map +1 -0
  201. package/dist/chunk-ZJQNATYV.mjs +299 -0
  202. package/dist/chunk-ZJQNATYV.mjs.map +1 -0
  203. package/dist/client-D_yUjVhe.d.mts +402 -0
  204. package/dist/client-Dkc03WP8.d.ts +402 -0
  205. package/dist/client-cache-CIlyBlmx.d.ts +6 -0
  206. package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
  207. package/dist/client-plugins-BZnpeTGA.d.ts +1848 -0
  208. package/dist/client-plugins-g4bzuCmo.d.mts +1848 -0
  209. package/dist/client-plugins.cjs +415 -0
  210. package/dist/client-plugins.cjs.map +1 -0
  211. package/dist/client-plugins.d.mts +21 -0
  212. package/dist/client-plugins.d.ts +21 -0
  213. package/dist/client-plugins.mjs +10 -0
  214. package/dist/client-plugins.mjs.map +1 -0
  215. package/dist/client.cjs +4571 -0
  216. package/dist/client.cjs.map +1 -0
  217. package/dist/client.d.mts +329 -0
  218. package/dist/client.d.ts +329 -0
  219. package/dist/client.mjs +103 -0
  220. package/dist/client.mjs.map +1 -0
  221. package/dist/config.cjs +38 -0
  222. package/dist/config.cjs.map +1 -0
  223. package/dist/config.d.mts +28 -0
  224. package/dist/config.d.ts +28 -0
  225. package/dist/config.mjs +10 -0
  226. package/dist/config.mjs.map +1 -0
  227. package/dist/cron.cjs +406 -0
  228. package/dist/cron.cjs.map +1 -0
  229. package/dist/cron.d.mts +78 -0
  230. package/dist/cron.d.ts +78 -0
  231. package/dist/cron.mjs +30 -0
  232. package/dist/cron.mjs.map +1 -0
  233. package/dist/deferred.cjs +438 -0
  234. package/dist/deferred.cjs.map +1 -0
  235. package/dist/deferred.d.mts +42 -0
  236. package/dist/deferred.d.ts +42 -0
  237. package/dist/deferred.mjs +28 -0
  238. package/dist/deferred.mjs.map +1 -0
  239. package/dist/deployment.cjs +199 -0
  240. package/dist/deployment.cjs.map +1 -0
  241. package/dist/deployment.d.mts +34 -0
  242. package/dist/deployment.d.ts +34 -0
  243. package/dist/deployment.mjs +38 -0
  244. package/dist/deployment.mjs.map +1 -0
  245. package/dist/devtools-AE4RVXCM.mjs +370 -0
  246. package/dist/devtools-AE4RVXCM.mjs.map +1 -0
  247. package/dist/devtools-client-6WPY2AQU.mjs +225 -0
  248. package/dist/devtools-client-6WPY2AQU.mjs.map +1 -0
  249. package/dist/devtools-ui-NJKFORTG.mjs +1349 -0
  250. package/dist/devtools-ui-NJKFORTG.mjs.map +1 -0
  251. package/dist/docs.cjs +5541 -0
  252. package/dist/docs.cjs.map +1 -0
  253. package/dist/docs.d.mts +69 -0
  254. package/dist/docs.d.ts +69 -0
  255. package/dist/docs.mjs +46 -0
  256. package/dist/docs.mjs.map +1 -0
  257. package/dist/env-types.cjs +223 -0
  258. package/dist/env-types.cjs.map +1 -0
  259. package/dist/env-types.d.mts +11 -0
  260. package/dist/env-types.d.ts +11 -0
  261. package/dist/env-types.mjs +9 -0
  262. package/dist/env-types.mjs.map +1 -0
  263. package/dist/env.cjs +215 -0
  264. package/dist/env.cjs.map +1 -0
  265. package/dist/env.d.mts +45 -0
  266. package/dist/env.d.ts +45 -0
  267. package/dist/env.mjs +22 -0
  268. package/dist/env.mjs.map +1 -0
  269. package/dist/environment/vite.cjs +374 -0
  270. package/dist/environment/vite.cjs.map +1 -0
  271. package/dist/environment/vite.d.mts +22 -0
  272. package/dist/environment/vite.d.ts +22 -0
  273. package/dist/environment/vite.mjs +10 -0
  274. package/dist/environment/vite.mjs.map +1 -0
  275. package/dist/environment.cjs +96 -0
  276. package/dist/environment.cjs.map +1 -0
  277. package/dist/environment.d.mts +18 -0
  278. package/dist/environment.d.ts +18 -0
  279. package/dist/environment.mjs +14 -0
  280. package/dist/environment.mjs.map +1 -0
  281. package/dist/headers.cjs +126 -0
  282. package/dist/headers.cjs.map +1 -0
  283. package/dist/headers.d.mts +22 -0
  284. package/dist/headers.d.ts +22 -0
  285. package/dist/headers.mjs +12 -0
  286. package/dist/headers.mjs.map +1 -0
  287. package/dist/i18n/client.cjs +283 -0
  288. package/dist/i18n/client.cjs.map +1 -0
  289. package/dist/i18n/client.d.mts +32 -0
  290. package/dist/i18n/client.d.ts +32 -0
  291. package/dist/i18n/client.mjs +121 -0
  292. package/dist/i18n/client.mjs.map +1 -0
  293. package/dist/i18n/index.cjs +130 -0
  294. package/dist/i18n/index.cjs.map +1 -0
  295. package/dist/i18n/index.d.mts +20 -0
  296. package/dist/i18n/index.d.ts +20 -0
  297. package/dist/i18n/index.mjs +22 -0
  298. package/dist/i18n/index.mjs.map +1 -0
  299. package/dist/i18n/server.cjs +637 -0
  300. package/dist/i18n/server.cjs.map +1 -0
  301. package/dist/i18n/server.d.mts +30 -0
  302. package/dist/i18n/server.d.ts +30 -0
  303. package/dist/i18n/server.mjs +32 -0
  304. package/dist/i18n/server.mjs.map +1 -0
  305. package/dist/image/server.cjs +477 -0
  306. package/dist/image/server.cjs.map +1 -0
  307. package/dist/image/server.d.mts +37 -0
  308. package/dist/image/server.d.ts +37 -0
  309. package/dist/image/server.mjs +16 -0
  310. package/dist/image/server.mjs.map +1 -0
  311. package/dist/image/sharp.cjs +135 -0
  312. package/dist/image/sharp.cjs.map +1 -0
  313. package/dist/image/sharp.d.mts +7 -0
  314. package/dist/image/sharp.d.ts +7 -0
  315. package/dist/image/sharp.mjs +75 -0
  316. package/dist/image/sharp.mjs.map +1 -0
  317. package/dist/image-config-Duob7wER.d.mts +50 -0
  318. package/dist/image-config-Duob7wER.d.ts +50 -0
  319. package/dist/image.cjs +209 -0
  320. package/dist/image.cjs.map +1 -0
  321. package/dist/image.d.mts +39 -0
  322. package/dist/image.d.ts +39 -0
  323. package/dist/image.mjs +165 -0
  324. package/dist/image.mjs.map +1 -0
  325. package/dist/index.cjs +39433 -0
  326. package/dist/index.cjs.map +1 -0
  327. package/dist/index.d.mts +451 -0
  328. package/dist/index.d.ts +451 -0
  329. package/dist/index.mjs +930 -0
  330. package/dist/index.mjs.map +1 -0
  331. package/dist/integration-api-CHT2OKAf.d.mts +93 -0
  332. package/dist/integration-api-CHT2OKAf.d.ts +93 -0
  333. package/dist/integration-orm-GQLGU66X.mjs +13 -0
  334. package/dist/integration-orm-GQLGU66X.mjs.map +1 -0
  335. package/dist/integrations.cjs +2820 -0
  336. package/dist/integrations.cjs.map +1 -0
  337. package/dist/integrations.d.mts +21 -0
  338. package/dist/integrations.d.ts +21 -0
  339. package/dist/integrations.mjs +51 -0
  340. package/dist/integrations.mjs.map +1 -0
  341. package/dist/internal/build-runtime.cjs +31340 -0
  342. package/dist/internal/build-runtime.cjs.map +1 -0
  343. package/dist/internal/build-runtime.d.mts +38 -0
  344. package/dist/internal/build-runtime.d.ts +38 -0
  345. package/dist/internal/build-runtime.mjs +73 -0
  346. package/dist/internal/build-runtime.mjs.map +1 -0
  347. package/dist/internal/client-runtime.cjs +579 -0
  348. package/dist/internal/client-runtime.cjs.map +1 -0
  349. package/dist/internal/client-runtime.d.mts +2 -0
  350. package/dist/internal/client-runtime.d.ts +2 -0
  351. package/dist/internal/client-runtime.mjs +12 -0
  352. package/dist/internal/client-runtime.mjs.map +1 -0
  353. package/dist/internal/config-runtime.cjs +4172 -0
  354. package/dist/internal/config-runtime.cjs.map +1 -0
  355. package/dist/internal/config-runtime.d.mts +38 -0
  356. package/dist/internal/config-runtime.d.ts +38 -0
  357. package/dist/internal/config-runtime.mjs +38 -0
  358. package/dist/internal/config-runtime.mjs.map +1 -0
  359. package/dist/internal/production-node-env.cjs +65 -0
  360. package/dist/internal/production-node-env.cjs.map +1 -0
  361. package/dist/internal/production-node-env.d.mts +12 -0
  362. package/dist/internal/production-node-env.d.ts +12 -0
  363. package/dist/internal/production-node-env.mjs +8 -0
  364. package/dist/internal/production-node-env.mjs.map +1 -0
  365. package/dist/internal/production-runtime.cjs +1896 -0
  366. package/dist/internal/production-runtime.cjs.map +1 -0
  367. package/dist/internal/production-runtime.d.mts +39 -0
  368. package/dist/internal/production-runtime.d.ts +39 -0
  369. package/dist/internal/production-runtime.mjs +79 -0
  370. package/dist/internal/production-runtime.mjs.map +1 -0
  371. package/dist/layers-VWVDTPUZ.mjs +16 -0
  372. package/dist/layers-VWVDTPUZ.mjs.map +1 -0
  373. package/dist/manager-THKFTOFE.mjs +10 -0
  374. package/dist/manager-THKFTOFE.mjs.map +1 -0
  375. package/dist/markdown.cjs +299 -0
  376. package/dist/markdown.cjs.map +1 -0
  377. package/dist/markdown.d.mts +43 -0
  378. package/dist/markdown.d.ts +43 -0
  379. package/dist/markdown.mjs +14 -0
  380. package/dist/markdown.mjs.map +1 -0
  381. package/dist/metadata-C9NZxMDW.d.mts +22 -0
  382. package/dist/metadata-DAXRaOHx.d.ts +22 -0
  383. package/dist/middleware.cjs +2148 -0
  384. package/dist/middleware.cjs.map +1 -0
  385. package/dist/middleware.d.mts +163 -0
  386. package/dist/middleware.d.ts +163 -0
  387. package/dist/middleware.mjs +49 -0
  388. package/dist/middleware.mjs.map +1 -0
  389. package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
  390. package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
  391. package/dist/navigation.cjs +1304 -0
  392. package/dist/navigation.cjs.map +1 -0
  393. package/dist/navigation.d.mts +14 -0
  394. package/dist/navigation.d.ts +14 -0
  395. package/dist/navigation.mjs +33 -0
  396. package/dist/navigation.mjs.map +1 -0
  397. package/dist/nitro-KME62MWG.mjs +691 -0
  398. package/dist/nitro-KME62MWG.mjs.map +1 -0
  399. package/dist/observability.cjs +186 -0
  400. package/dist/observability.cjs.map +1 -0
  401. package/dist/observability.d.mts +335 -0
  402. package/dist/observability.d.ts +335 -0
  403. package/dist/observability.mjs +16 -0
  404. package/dist/observability.mjs.map +1 -0
  405. package/dist/params-BALtrRim.d.ts +15 -0
  406. package/dist/params-ry-lxqmy.d.mts +15 -0
  407. package/dist/plugin-BJDf43dc.d.mts +165 -0
  408. package/dist/plugin-BJDf43dc.d.ts +165 -0
  409. package/dist/plugin.cjs +22285 -0
  410. package/dist/plugin.cjs.map +1 -0
  411. package/dist/plugin.d.mts +21 -0
  412. package/dist/plugin.d.ts +21 -0
  413. package/dist/plugin.mjs +60 -0
  414. package/dist/plugin.mjs.map +1 -0
  415. package/dist/production-runtime-C_B79w2P.d.mts +28 -0
  416. package/dist/production-runtime-DDEM1D2q.d.ts +28 -0
  417. package/dist/production-runtime-DRkCHUvJ.d.ts +79 -0
  418. package/dist/production-runtime-flrjp_nC.d.mts +79 -0
  419. package/dist/query/client.cjs +560 -0
  420. package/dist/query/client.cjs.map +1 -0
  421. package/dist/query/client.d.mts +61 -0
  422. package/dist/query/client.d.ts +61 -0
  423. package/dist/query/client.mjs +364 -0
  424. package/dist/query/client.mjs.map +1 -0
  425. package/dist/query/index.cjs +226 -0
  426. package/dist/query/index.cjs.map +1 -0
  427. package/dist/query/index.d.mts +90 -0
  428. package/dist/query/index.d.ts +90 -0
  429. package/dist/query/index.mjs +31 -0
  430. package/dist/query/index.mjs.map +1 -0
  431. package/dist/query/parsers.cjs +178 -0
  432. package/dist/query/parsers.cjs.map +1 -0
  433. package/dist/query/parsers.d.mts +25 -0
  434. package/dist/query/parsers.d.ts +25 -0
  435. package/dist/query/parsers.mjs +24 -0
  436. package/dist/query/parsers.mjs.map +1 -0
  437. package/dist/query/server.cjs +301 -0
  438. package/dist/query/server.cjs.map +1 -0
  439. package/dist/query/server.d.mts +55 -0
  440. package/dist/query/server.d.ts +55 -0
  441. package/dist/query/server.mjs +105 -0
  442. package/dist/query/server.mjs.map +1 -0
  443. package/dist/request-BrFBuc8G.d.mts +6 -0
  444. package/dist/request-BslSZIRz.d.ts +6 -0
  445. package/dist/request.cjs +71 -0
  446. package/dist/request.cjs.map +1 -0
  447. package/dist/request.d.mts +2 -0
  448. package/dist/request.d.ts +2 -0
  449. package/dist/request.mjs +9 -0
  450. package/dist/request.mjs.map +1 -0
  451. package/dist/resolver-C6iecsDV.d.ts +14 -0
  452. package/dist/resolver-DlOPpjkB.d.mts +14 -0
  453. package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
  454. package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
  455. package/dist/router.cjs +254 -0
  456. package/dist/router.cjs.map +1 -0
  457. package/dist/router.d.mts +36 -0
  458. package/dist/router.d.ts +36 -0
  459. package/dist/router.mjs +14 -0
  460. package/dist/router.mjs.map +1 -0
  461. package/dist/routes.cjs +1213 -0
  462. package/dist/routes.cjs.map +1 -0
  463. package/dist/routes.d.mts +224 -0
  464. package/dist/routes.d.ts +224 -0
  465. package/dist/routes.mjs +52 -0
  466. package/dist/routes.mjs.map +1 -0
  467. package/dist/runtime-B6GvwDS1.d.ts +27 -0
  468. package/dist/runtime-DeAAZ6gO.d.mts +27 -0
  469. package/dist/search-client-6OXIBNYQ.mjs +14 -0
  470. package/dist/search-client-6OXIBNYQ.mjs.map +1 -0
  471. package/dist/server-action-security.cjs +492 -0
  472. package/dist/server-action-security.cjs.map +1 -0
  473. package/dist/server-action-security.d.mts +42 -0
  474. package/dist/server-action-security.d.ts +42 -0
  475. package/dist/server-action-security.mjs +29 -0
  476. package/dist/server-action-security.mjs.map +1 -0
  477. package/dist/server-fn-client.cjs +180 -0
  478. package/dist/server-fn-client.cjs.map +1 -0
  479. package/dist/server-fn-client.d.mts +31 -0
  480. package/dist/server-fn-client.d.ts +31 -0
  481. package/dist/server-fn-client.mjs +9 -0
  482. package/dist/server-fn-client.mjs.map +1 -0
  483. package/dist/server-fn.cjs +284 -0
  484. package/dist/server-fn.cjs.map +1 -0
  485. package/dist/server-fn.d.mts +84 -0
  486. package/dist/server-fn.d.ts +84 -0
  487. package/dist/server-fn.mjs +17 -0
  488. package/dist/server-fn.mjs.map +1 -0
  489. package/dist/server-plugins.cjs +235 -0
  490. package/dist/server-plugins.cjs.map +1 -0
  491. package/dist/server-plugins.d.mts +54 -0
  492. package/dist/server-plugins.d.ts +54 -0
  493. package/dist/server-plugins.mjs +18 -0
  494. package/dist/server-plugins.mjs.map +1 -0
  495. package/dist/server-query-client.cjs +792 -0
  496. package/dist/server-query-client.cjs.map +1 -0
  497. package/dist/server-query-client.d.mts +50 -0
  498. package/dist/server-query-client.d.ts +50 -0
  499. package/dist/server-query-client.mjs +23 -0
  500. package/dist/server-query-client.mjs.map +1 -0
  501. package/dist/server-query.cjs +804 -0
  502. package/dist/server-query.cjs.map +1 -0
  503. package/dist/server-query.d.mts +36 -0
  504. package/dist/server-query.d.ts +36 -0
  505. package/dist/server-query.mjs +18 -0
  506. package/dist/server-query.mjs.map +1 -0
  507. package/dist/server.cjs +25739 -0
  508. package/dist/server.cjs.map +1 -0
  509. package/dist/server.d.mts +47 -0
  510. package/dist/server.d.ts +47 -0
  511. package/dist/server.mjs +511 -0
  512. package/dist/server.mjs.map +1 -0
  513. package/dist/storage.cjs +515 -0
  514. package/dist/storage.cjs.map +1 -0
  515. package/dist/storage.d.mts +52 -0
  516. package/dist/storage.d.ts +52 -0
  517. package/dist/storage.mjs +58 -0
  518. package/dist/storage.mjs.map +1 -0
  519. package/dist/testing.cjs +1882 -0
  520. package/dist/testing.cjs.map +1 -0
  521. package/dist/testing.d.mts +100 -0
  522. package/dist/testing.d.ts +100 -0
  523. package/dist/testing.mjs +324 -0
  524. package/dist/testing.mjs.map +1 -0
  525. package/dist/types-BH1lhg5G.d.mts +81 -0
  526. package/dist/types-BH1lhg5G.d.ts +81 -0
  527. package/dist/types-C9N-nk5R.d.mts +53 -0
  528. package/dist/types-C9N-nk5R.d.ts +53 -0
  529. package/dist/types-D1A6-XvH.d.mts +73 -0
  530. package/dist/types-D1A6-XvH.d.ts +73 -0
  531. package/dist/utils-DA1yo54_.d.ts +23 -0
  532. package/dist/utils-DOXXivjL.d.mts +23 -0
  533. package/dist/vite.cjs +22684 -0
  534. package/dist/vite.cjs.map +1 -0
  535. package/dist/vite.d.mts +21 -0
  536. package/dist/vite.d.ts +21 -0
  537. package/dist/vite.mjs +59 -0
  538. package/dist/vite.mjs.map +1 -0
  539. package/dist/workflows.cjs +586 -0
  540. package/dist/workflows.cjs.map +1 -0
  541. package/dist/workflows.d.mts +110 -0
  542. package/dist/workflows.d.ts +110 -0
  543. package/dist/workflows.mjs +32 -0
  544. package/dist/workflows.mjs.map +1 -0
  545. package/package.json +523 -0
  546. package/types/api.d.ts +88 -0
  547. package/types/client.d.ts +1171 -0
  548. package/types/index.d.ts +17 -0
  549. package/types/middleware.d.ts +266 -0
@@ -0,0 +1,157 @@
1
+ import {
2
+ createRouteDataCacheKey
3
+ } from "./chunk-4PTK6KT4.mjs";
4
+ import {
5
+ subscribeFarmCacheInvalidation
6
+ } from "./chunk-TXCFGOHW.mjs";
7
+ import {
8
+ __name
9
+ } from "./chunk-CGILA3WO.mjs";
10
+
11
+ // src/client-cache.ts
12
+ var _FarmClientDataCache = class _FarmClientDataCache {
13
+ constructor() {
14
+ this.entries = /* @__PURE__ */ new Map();
15
+ this.aliases = /* @__PURE__ */ new Map();
16
+ this.invalidatedAt = /* @__PURE__ */ new Map();
17
+ this.listeners = /* @__PURE__ */ new Map();
18
+ this.inflight = /* @__PURE__ */ new Map();
19
+ subscribeFarmCacheInvalidation((key) => this.invalidate(key));
20
+ }
21
+ get size() {
22
+ return this.entries.size;
23
+ }
24
+ resolveKey(key) {
25
+ let resolved = key;
26
+ const seen = /* @__PURE__ */ new Set();
27
+ while (this.aliases.has(resolved) && !seen.has(resolved)) {
28
+ seen.add(resolved);
29
+ resolved = this.aliases.get(resolved);
30
+ }
31
+ return resolved;
32
+ }
33
+ get(key, now = Date.now()) {
34
+ const resolved = this.resolveKey(key);
35
+ const entry = this.entries.get(resolved);
36
+ if (!entry) return void 0;
37
+ if (entry.gcAt !== void 0 && now >= entry.gcAt) {
38
+ this.entries.delete(resolved);
39
+ this.emit(resolved);
40
+ return void 0;
41
+ }
42
+ return entry;
43
+ }
44
+ set(key, entry) {
45
+ const resolved = this.resolveKey(key);
46
+ const invalidatedAt = this.invalidatedAt.get(resolved);
47
+ const nextEntry = invalidatedAt !== void 0 && invalidatedAt > entry.updatedAt ? { ...entry, staleAt: 0, invalidatedAt } : { ...entry, invalidatedAt: void 0 };
48
+ if (invalidatedAt === void 0 || entry.updatedAt >= invalidatedAt) {
49
+ this.invalidatedAt.delete(resolved);
50
+ }
51
+ this.entries.set(resolved, nextEntry);
52
+ this.emit(resolved);
53
+ return this;
54
+ }
55
+ delete(key) {
56
+ const resolved = this.resolveKey(key);
57
+ const deleted = this.entries.delete(resolved);
58
+ this.inflight.delete(resolved);
59
+ this.emit(resolved);
60
+ return deleted;
61
+ }
62
+ clear() {
63
+ const keys = /* @__PURE__ */ new Set([...this.entries.keys(), ...this.listeners.keys()]);
64
+ this.entries.clear();
65
+ this.aliases.clear();
66
+ this.invalidatedAt.clear();
67
+ this.inflight.clear();
68
+ for (const key of keys) this.emit(key);
69
+ }
70
+ isStale(key, now = Date.now()) {
71
+ const entry = this.get(key, now);
72
+ return !entry || entry.invalidatedAt !== void 0 || now >= entry.staleAt;
73
+ }
74
+ invalidate(key, now = Date.now()) {
75
+ const resolved = this.resolveKey(key);
76
+ this.invalidatedAt.set(resolved, now);
77
+ const entry = this.entries.get(resolved);
78
+ if (entry) {
79
+ this.entries.set(resolved, {
80
+ ...entry,
81
+ staleAt: 0,
82
+ invalidatedAt: now
83
+ });
84
+ }
85
+ this.emit(resolved);
86
+ }
87
+ alias(alias, key) {
88
+ const resolved = this.resolveKey(key);
89
+ if (alias === resolved) return;
90
+ const aliasEntry = this.entries.get(alias);
91
+ if (aliasEntry && !this.entries.has(resolved)) {
92
+ this.entries.set(resolved, aliasEntry);
93
+ }
94
+ this.entries.delete(alias);
95
+ const aliasInflight = this.inflight.get(alias);
96
+ if (aliasInflight && !this.inflight.has(resolved)) {
97
+ this.inflight.set(resolved, aliasInflight);
98
+ }
99
+ this.inflight.delete(alias);
100
+ this.aliases.set(alias, resolved);
101
+ this.emit(alias);
102
+ this.emit(resolved);
103
+ }
104
+ subscribe(key, listener) {
105
+ let listeners = this.listeners.get(key);
106
+ if (!listeners) {
107
+ listeners = /* @__PURE__ */ new Set();
108
+ this.listeners.set(key, listeners);
109
+ }
110
+ listeners.add(listener);
111
+ return () => {
112
+ listeners.delete(listener);
113
+ if (listeners.size === 0) this.listeners.delete(key);
114
+ };
115
+ }
116
+ getInflight(key) {
117
+ return this.inflight.get(this.resolveKey(key));
118
+ }
119
+ setInflight(key, promise) {
120
+ this.inflight.set(this.resolveKey(key), promise);
121
+ }
122
+ deleteInflight(key) {
123
+ this.inflight.delete(this.resolveKey(key));
124
+ }
125
+ emit(key) {
126
+ this.notifyListeners(key);
127
+ for (const [alias, target] of this.aliases) {
128
+ if (this.resolveKey(target) === key) {
129
+ this.notifyListeners(alias);
130
+ }
131
+ }
132
+ }
133
+ notifyListeners(key) {
134
+ for (const listener of this.listeners.get(key) ?? []) {
135
+ listener();
136
+ }
137
+ }
138
+ };
139
+ __name(_FarmClientDataCache, "FarmClientDataCache");
140
+ var FarmClientDataCache = _FarmClientDataCache;
141
+ var FARM_CLIENT_DATA_CACHE = /* @__PURE__ */ Symbol.for("farm.clientDataCache");
142
+ var clientCacheGlobal = globalThis;
143
+ var sharedFarmClientDataCache = clientCacheGlobal[FARM_CLIENT_DATA_CACHE] ?? (clientCacheGlobal[FARM_CLIENT_DATA_CACHE] = new FarmClientDataCache());
144
+ function getFarmClientDataCache() {
145
+ return sharedFarmClientDataCache;
146
+ }
147
+ __name(getFarmClientDataCache, "getFarmClientDataCache");
148
+ function normalizeFarmClientCacheKey(key) {
149
+ return typeof key === "string" ? key : createRouteDataCacheKey(key);
150
+ }
151
+ __name(normalizeFarmClientCacheKey, "normalizeFarmClientCacheKey");
152
+
153
+ export {
154
+ getFarmClientDataCache,
155
+ normalizeFarmClientCacheKey
156
+ };
157
+ //# sourceMappingURL=chunk-6XDUHOEM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client-cache.ts"],"sourcesContent":["import { createRouteDataCacheKey, type RouteDataCacheKey } from \"./cache\";\nimport { subscribeFarmCacheInvalidation } from \"./cache-invalidation\";\n\nexport type FarmClientCacheKey = RouteDataCacheKey;\n\nexport type FarmClientCacheStatus = \"idle\" | \"pending\" | \"success\" | \"error\";\n\nexport type FarmClientCacheEntry<TData = unknown> = {\n data: TData;\n updatedAt: number;\n staleAt: number;\n gcAt?: number;\n invalidatedAt?: number;\n status?: FarmClientCacheStatus;\n error?: Error | null;\n fetching?: boolean;\n};\n\ntype FarmClientCacheListener = () => void;\n\nexport class FarmClientDataCache {\n private entries = new Map<string, FarmClientCacheEntry>();\n private aliases = new Map<string, string>();\n private invalidatedAt = new Map<string, number>();\n private listeners = new Map<string, Set<FarmClientCacheListener>>();\n private inflight = new Map<string, Promise<unknown>>();\n\n constructor() {\n subscribeFarmCacheInvalidation((key) => this.invalidate(key));\n }\n\n get size(): number {\n return this.entries.size;\n }\n\n resolveKey(key: string): string {\n let resolved = key;\n const seen = new Set<string>();\n\n while (this.aliases.has(resolved) && !seen.has(resolved)) {\n seen.add(resolved);\n resolved = this.aliases.get(resolved)!;\n }\n\n return resolved;\n }\n\n get<TData = unknown>(key: string, now = Date.now()): FarmClientCacheEntry<TData> | undefined {\n const resolved = this.resolveKey(key);\n const entry = this.entries.get(resolved) as FarmClientCacheEntry<TData> | undefined;\n if (!entry) return undefined;\n\n if (entry.gcAt !== undefined && now >= entry.gcAt) {\n this.entries.delete(resolved);\n this.emit(resolved);\n return undefined;\n }\n\n return entry;\n }\n\n set<TData>(key: string, entry: FarmClientCacheEntry<TData>): this {\n const resolved = this.resolveKey(key);\n const invalidatedAt = this.invalidatedAt.get(resolved);\n const nextEntry =\n invalidatedAt !== undefined && invalidatedAt > entry.updatedAt\n ? { ...entry, staleAt: 0, invalidatedAt }\n : { ...entry, invalidatedAt: undefined };\n\n if (invalidatedAt === undefined || entry.updatedAt >= invalidatedAt) {\n this.invalidatedAt.delete(resolved);\n }\n\n this.entries.set(resolved, nextEntry);\n this.emit(resolved);\n return this;\n }\n\n delete(key: string): boolean {\n const resolved = this.resolveKey(key);\n const deleted = this.entries.delete(resolved);\n this.inflight.delete(resolved);\n this.emit(resolved);\n return deleted;\n }\n\n clear(): void {\n const keys = new Set([...this.entries.keys(), ...this.listeners.keys()]);\n this.entries.clear();\n this.aliases.clear();\n this.invalidatedAt.clear();\n this.inflight.clear();\n for (const key of keys) this.emit(key);\n }\n\n isStale(key: string, now = Date.now()): boolean {\n const entry = this.get(key, now);\n return !entry || entry.invalidatedAt !== undefined || now >= entry.staleAt;\n }\n\n invalidate(key: string, now = Date.now()): void {\n const resolved = this.resolveKey(key);\n this.invalidatedAt.set(resolved, now);\n\n const entry = this.entries.get(resolved);\n if (entry) {\n this.entries.set(resolved, {\n ...entry,\n staleAt: 0,\n invalidatedAt: now,\n });\n }\n\n this.emit(resolved);\n }\n\n alias(alias: string, key: string): void {\n const resolved = this.resolveKey(key);\n if (alias === resolved) return;\n\n const aliasEntry = this.entries.get(alias);\n if (aliasEntry && !this.entries.has(resolved)) {\n this.entries.set(resolved, aliasEntry);\n }\n\n this.entries.delete(alias);\n const aliasInflight = this.inflight.get(alias);\n if (aliasInflight && !this.inflight.has(resolved)) {\n this.inflight.set(resolved, aliasInflight);\n }\n this.inflight.delete(alias);\n this.aliases.set(alias, resolved);\n this.emit(alias);\n this.emit(resolved);\n }\n\n subscribe(key: string, listener: FarmClientCacheListener): () => void {\n let listeners = this.listeners.get(key);\n if (!listeners) {\n listeners = new Set();\n this.listeners.set(key, listeners);\n }\n\n listeners.add(listener);\n return () => {\n listeners!.delete(listener);\n if (listeners!.size === 0) this.listeners.delete(key);\n };\n }\n\n getInflight<TData>(key: string): Promise<TData> | undefined {\n return this.inflight.get(this.resolveKey(key)) as Promise<TData> | undefined;\n }\n\n setInflight<TData>(key: string, promise: Promise<TData>): void {\n this.inflight.set(this.resolveKey(key), promise);\n }\n\n deleteInflight(key: string): void {\n this.inflight.delete(this.resolveKey(key));\n }\n\n private emit(key: string): void {\n this.notifyListeners(key);\n for (const [alias, target] of this.aliases) {\n if (this.resolveKey(target) === key) {\n this.notifyListeners(alias);\n }\n }\n }\n\n private notifyListeners(key: string): void {\n for (const listener of this.listeners.get(key) ?? []) {\n listener();\n }\n }\n}\n\nconst FARM_CLIENT_DATA_CACHE = Symbol.for(\"farm.clientDataCache\");\nconst clientCacheGlobal = globalThis as typeof globalThis & {\n [FARM_CLIENT_DATA_CACHE]?: FarmClientDataCache;\n};\nconst sharedFarmClientDataCache = (clientCacheGlobal[FARM_CLIENT_DATA_CACHE] ??=\n new FarmClientDataCache());\n\nexport function getFarmClientDataCache(): FarmClientDataCache {\n return sharedFarmClientDataCache;\n}\n\nexport function normalizeFarmClientCacheKey(key: FarmClientCacheKey): string {\n return typeof key === \"string\" ? key : createRouteDataCacheKey(key);\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,450 @@
1
+ import {
2
+ __name
3
+ } from "./chunk-CGILA3WO.mjs";
4
+
5
+ // src/layers.ts
6
+ import { existsSync, readFileSync, realpathSync, statSync } from "fs";
7
+ import { mkdir, unlink } from "fs/promises";
8
+ import { createRequire } from "module";
9
+ import path from "path";
10
+ import { pathToFileURL } from "url";
11
+ var FARM_CORE_PACKAGE = "@farm.js/core";
12
+ var FARM_CONFIG_ENTRY = "@farm.js/core/config";
13
+ var FARM_CORE_REFERENCE_RE = /(["'])@farm.js\/core\1/g;
14
+ var FARM_CONFIG_HELPER_IMPORT_RE = /(?:^|\n)[\t ]*import[\t ]*\{([^{}]*)\}[\t ]*from[\t ]*(["'])@farm.js\/core\2[\t ]*;?[\t ]*(?:\n|$)/g;
15
+ var FARM_CONFIG_HELPER_SPECIFIER_RE = /^(?:defineConfig|defineFarmConfig)(?:\s+as\s+[$A-Z_a-z][$\w]*)?$/;
16
+ var CONFIG_FILENAMES = [
17
+ "farm.config.ts",
18
+ "farm.config.tsx",
19
+ "farm.config.mts",
20
+ "farm.config.cts",
21
+ "farm.config.js",
22
+ "farm.config.jsx",
23
+ "farm.config.mjs",
24
+ "farm.config.cjs",
25
+ "config.ts",
26
+ "config.tsx",
27
+ "config.mts",
28
+ "config.cts",
29
+ "config.js",
30
+ "config.jsx",
31
+ "config.mjs",
32
+ "config.cjs"
33
+ ];
34
+ var LAYER_LOCAL_CONFIG_KEYS = /* @__PURE__ */ new Set([
35
+ "root",
36
+ "srcDir",
37
+ "outDir",
38
+ "distDir",
39
+ "deploy",
40
+ "output",
41
+ "preset",
42
+ "publicDir",
43
+ "generateBuildId"
44
+ ]);
45
+ async function resolveFarmLayers(projectConfig, options) {
46
+ const projectRoot = path.resolve(options.root);
47
+ const entries = normalizeLayerEntries(projectConfig.extends, "project config");
48
+ if (entries.length === 0) {
49
+ return {
50
+ config: {
51
+ ...projectConfig,
52
+ layers: []
53
+ },
54
+ layers: []
55
+ };
56
+ }
57
+ const loadedLayers = [];
58
+ const visited = /* @__PURE__ */ new Set();
59
+ const aliases = /* @__PURE__ */ new Map();
60
+ const visit = /* @__PURE__ */ __name(async (source, ownerRoot, stack) => {
61
+ const resolvedSource = resolveLayerSource(source, ownerRoot);
62
+ const cycleIndex = stack.findIndex((entry) => entry.root === resolvedSource.root);
63
+ if (cycleIndex !== -1) {
64
+ const cycle = [...stack.slice(cycleIndex).map((entry) => entry.source), source];
65
+ throw new Error(`Farm layer cycle detected: ${cycle.join(" -> ")}`);
66
+ }
67
+ if (visited.has(resolvedSource.root)) return;
68
+ const configFile = findFarmConfigFile(resolvedSource.root, resolvedSource.configFile);
69
+ const config = configFile ? await loadFarmConfigFile(configFile, {
70
+ cacheRoot: projectRoot,
71
+ root: resolvedSource.root
72
+ }) : {};
73
+ const nestedEntries = normalizeLayerEntries(config.extends, `layer ${JSON.stringify(source)}`);
74
+ const nextStack = [...stack, { root: resolvedSource.root, source }];
75
+ for (const nestedSource of nestedEntries) {
76
+ await visit(nestedSource, resolvedSource.root, nextStack);
77
+ }
78
+ if (visited.has(resolvedSource.root)) return;
79
+ const name = getLayerName(source, resolvedSource.root);
80
+ const conflictingRoot = aliases.get(name);
81
+ if (conflictingRoot && conflictingRoot !== resolvedSource.root) {
82
+ throw new Error(
83
+ `Farm layer alias "#layers/${name}" is ambiguous between ${conflictingRoot} and ${resolvedSource.root}`
84
+ );
85
+ }
86
+ aliases.set(name, resolvedSource.root);
87
+ visited.add(resolvedSource.root);
88
+ loadedLayers.push({
89
+ source,
90
+ name,
91
+ root: resolvedSource.root,
92
+ srcDir: normalizeLayerSrcDir(config.srcDir),
93
+ configFile,
94
+ config
95
+ });
96
+ }, "visit");
97
+ for (const source of entries) {
98
+ await visit(source, projectRoot, []);
99
+ }
100
+ let mergedConfig = {};
101
+ for (const layer of loadedLayers) {
102
+ mergedConfig = mergeFarmLayerConfig(mergedConfig, getLayerDefaults(layer.config));
103
+ }
104
+ mergedConfig = mergeFarmLayerConfig(mergedConfig, projectConfig);
105
+ const layers = loadedLayers.map(({ config: _config, ...layer }) => layer);
106
+ return {
107
+ config: {
108
+ ...mergedConfig,
109
+ root: projectConfig.root,
110
+ srcDir: projectConfig.srcDir,
111
+ extends: projectConfig.extends,
112
+ layers
113
+ },
114
+ layers
115
+ };
116
+ }
117
+ __name(resolveFarmLayers, "resolveFarmLayers");
118
+ function getFarmSourceRoots(config) {
119
+ const roots = (config.layers ?? []).map((layer) => ({
120
+ name: layer.name,
121
+ root: layer.root,
122
+ srcDir: layer.srcDir,
123
+ layer: true
124
+ }));
125
+ roots.push({
126
+ name: "project",
127
+ root: path.resolve(config.root || process.cwd()),
128
+ srcDir: config.srcDir || "src",
129
+ layer: false
130
+ });
131
+ return roots;
132
+ }
133
+ __name(getFarmSourceRoots, "getFarmSourceRoots");
134
+ function getFarmAppDirectories(config) {
135
+ return getFarmSourceRoots(config).map((source) => path.join(source.root, source.srcDir, "app"));
136
+ }
137
+ __name(getFarmAppDirectories, "getFarmAppDirectories");
138
+ function getFarmLayerAliases(layers) {
139
+ return Object.fromEntries(
140
+ (layers ?? []).map((layer) => [`#layers/${layer.name}`, path.join(layer.root, layer.srcDir)])
141
+ );
142
+ }
143
+ __name(getFarmLayerAliases, "getFarmLayerAliases");
144
+ async function loadFarmConfigFile(configPath, options) {
145
+ const { build, transform } = await import("esbuild");
146
+ const cacheRoot = path.resolve(options.cacheRoot || options.root);
147
+ const configCacheDir = path.join(cacheRoot, ".farm", ".config-loader");
148
+ const configEntryChecks = /* @__PURE__ */ new Map();
149
+ await mkdir(configCacheDir, { recursive: true });
150
+ const modulePath = path.join(
151
+ configCacheDir,
152
+ `farm-config-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`
153
+ );
154
+ await build({
155
+ absWorkingDir: path.resolve(options.root),
156
+ entryPoints: [path.resolve(configPath)],
157
+ outfile: modulePath,
158
+ bundle: true,
159
+ format: "esm",
160
+ platform: "node",
161
+ target: `node${process.versions.node.split(".")[0]}`,
162
+ plugins: [
163
+ {
164
+ name: "farm-config-package-resolution",
165
+ setup(pluginBuild) {
166
+ pluginBuild.onResolve({ filter: /^@farm.js\/core$/ }, async (args) => {
167
+ if (args.pluginData?.farmConfigExternal || args.kind !== "import-statement" || !args.importer) {
168
+ return;
169
+ }
170
+ let configEntryCheck = configEntryChecks.get(args.importer);
171
+ if (!configEntryCheck) {
172
+ configEntryCheck = onlyImportsFarmConfigHelpers(args.importer, transform);
173
+ configEntryChecks.set(args.importer, configEntryCheck);
174
+ }
175
+ if (!await configEntryCheck) return;
176
+ const resolved = await pluginBuild.resolve(FARM_CONFIG_ENTRY, {
177
+ importer: args.importer,
178
+ kind: args.kind,
179
+ namespace: args.namespace,
180
+ resolveDir: args.resolveDir,
181
+ pluginData: { farmConfigExternal: true }
182
+ });
183
+ if (resolved.errors.length > 0 || !resolved.path) return;
184
+ return {
185
+ path: resolved.path,
186
+ external: true,
187
+ warnings: resolved.warnings
188
+ };
189
+ });
190
+ pluginBuild.onResolve({ filter: /^[^./]/ }, async (args) => {
191
+ if (args.pluginData?.farmConfigExternal) return;
192
+ const resolved = await pluginBuild.resolve(args.path, {
193
+ importer: args.importer,
194
+ kind: args.kind,
195
+ namespace: args.namespace,
196
+ resolveDir: args.resolveDir,
197
+ pluginData: { farmConfigExternal: true }
198
+ });
199
+ if (resolved.errors.length > 0 || !resolved.path) {
200
+ return { path: args.path, external: true };
201
+ }
202
+ return {
203
+ path: resolved.path,
204
+ external: true,
205
+ warnings: resolved.warnings
206
+ };
207
+ });
208
+ }
209
+ }
210
+ ],
211
+ jsx: "automatic",
212
+ logLevel: "silent",
213
+ sourcemap: "inline"
214
+ });
215
+ const moduleUrl = `${pathToFileURL(modulePath).href}?t=${Date.now()}`;
216
+ try {
217
+ const loaded = await import(
218
+ /* @vite-ignore */
219
+ moduleUrl
220
+ );
221
+ const config = loaded.default || loaded;
222
+ if (!config || typeof config !== "object" || Array.isArray(config)) {
223
+ throw new TypeError(`Farm config ${configPath} must export an object`);
224
+ }
225
+ return config;
226
+ } finally {
227
+ await unlink(modulePath).catch(() => void 0);
228
+ }
229
+ }
230
+ __name(loadFarmConfigFile, "loadFarmConfigFile");
231
+ async function onlyImportsFarmConfigHelpers(importer, transform) {
232
+ try {
233
+ const source = readFileSync(importer, "utf8");
234
+ if (!source.includes(FARM_CORE_PACKAGE)) return false;
235
+ const transformed = await transform(source, {
236
+ format: "esm",
237
+ jsx: "automatic",
238
+ loader: getEsbuildLoader(importer),
239
+ sourcefile: importer
240
+ });
241
+ const references = [...transformed.code.matchAll(FARM_CORE_REFERENCE_RE)];
242
+ if (references.length === 0) return false;
243
+ const safeImportRanges = [];
244
+ for (const match of transformed.code.matchAll(FARM_CONFIG_HELPER_IMPORT_RE)) {
245
+ const specifiers = match[1].split(",").map((specifier) => specifier.trim()).filter(Boolean);
246
+ if (specifiers.length === 0 || !specifiers.every((specifier) => FARM_CONFIG_HELPER_SPECIFIER_RE.test(specifier))) {
247
+ continue;
248
+ }
249
+ const start = match.index ?? 0;
250
+ safeImportRanges.push({ start, end: start + match[0].length });
251
+ }
252
+ return references.every((reference) => {
253
+ const index = reference.index ?? -1;
254
+ return safeImportRanges.some((range) => index >= range.start && index < range.end);
255
+ });
256
+ } catch {
257
+ return false;
258
+ }
259
+ }
260
+ __name(onlyImportsFarmConfigHelpers, "onlyImportsFarmConfigHelpers");
261
+ function getEsbuildLoader(file) {
262
+ switch (path.extname(file)) {
263
+ case ".ts":
264
+ case ".mts":
265
+ case ".cts":
266
+ return "ts";
267
+ case ".tsx":
268
+ return "tsx";
269
+ case ".jsx":
270
+ return "jsx";
271
+ default:
272
+ return "js";
273
+ }
274
+ }
275
+ __name(getEsbuildLoader, "getEsbuildLoader");
276
+ function normalizeLayerEntries(value, owner) {
277
+ if (value === void 0) return [];
278
+ if (!Array.isArray(value)) {
279
+ throw new TypeError(`${owner} "extends" must be an array of layer paths or package names`);
280
+ }
281
+ return value.map((entry, index) => {
282
+ if (typeof entry !== "string" || entry.trim() === "") {
283
+ throw new TypeError(`${owner} "extends" entry ${index} must be a non-empty string`);
284
+ }
285
+ return entry.trim();
286
+ });
287
+ }
288
+ __name(normalizeLayerEntries, "normalizeLayerEntries");
289
+ function resolveLayerSource(source, ownerRoot) {
290
+ if (isPathLayerSource(source)) {
291
+ const target = source.startsWith("file:") ? path.resolve(ownerRoot, source.slice("file:".length)) : path.resolve(ownerRoot, source);
292
+ if (!existsSync(target)) {
293
+ throw new Error(`Cannot resolve Farm layer ${JSON.stringify(source)} from ${ownerRoot}`);
294
+ }
295
+ const stats = statSync(target);
296
+ const root = stats.isDirectory() ? target : path.dirname(target);
297
+ return {
298
+ root: normalizeRealPath(root),
299
+ configFile: stats.isFile() ? normalizeRealPath(target) : void 0
300
+ };
301
+ }
302
+ const requireFromOwner = createRequire(path.join(ownerRoot, "package.json"));
303
+ let packageJsonPath;
304
+ try {
305
+ packageJsonPath = requireFromOwner.resolve(`${source}/package.json`);
306
+ } catch {
307
+ }
308
+ if (packageJsonPath) {
309
+ return { root: normalizeRealPath(path.dirname(packageJsonPath)) };
310
+ }
311
+ try {
312
+ const entryPath = requireFromOwner.resolve(source);
313
+ const packageRoot = findNearestPackageRoot(entryPath);
314
+ if (packageRoot) return { root: normalizeRealPath(packageRoot) };
315
+ } catch {
316
+ }
317
+ throw new Error(`Cannot resolve Farm layer package ${JSON.stringify(source)} from ${ownerRoot}`);
318
+ }
319
+ __name(resolveLayerSource, "resolveLayerSource");
320
+ function findNearestPackageRoot(entryPath) {
321
+ let current = statSync(entryPath).isDirectory() ? entryPath : path.dirname(entryPath);
322
+ while (true) {
323
+ if (existsSync(path.join(current, "package.json"))) return current;
324
+ const parent = path.dirname(current);
325
+ if (parent === current) return null;
326
+ current = parent;
327
+ }
328
+ }
329
+ __name(findNearestPackageRoot, "findNearestPackageRoot");
330
+ function findFarmConfigFile(root, explicitPath) {
331
+ if (explicitPath) return explicitPath;
332
+ for (const fileName of CONFIG_FILENAMES) {
333
+ const candidate = path.join(root, fileName);
334
+ if (existsSync(candidate)) return candidate;
335
+ }
336
+ return void 0;
337
+ }
338
+ __name(findFarmConfigFile, "findFarmConfigFile");
339
+ function getLayerName(source, root) {
340
+ if (!isPathLayerSource(source)) {
341
+ const packageName = source.split("/").filter(Boolean).pop();
342
+ if (packageName) return sanitizeLayerName(packageName);
343
+ }
344
+ try {
345
+ const packageJson = JSON.parse(readFileSync(path.join(root, "package.json"), "utf8"));
346
+ if (typeof packageJson.name === "string") {
347
+ return sanitizeLayerName(packageJson.name.split("/").pop() || packageJson.name);
348
+ }
349
+ } catch {
350
+ }
351
+ return sanitizeLayerName(path.basename(root));
352
+ }
353
+ __name(getLayerName, "getLayerName");
354
+ function sanitizeLayerName(value) {
355
+ const name = value.trim().replace(/[^a-zA-Z0-9_-]+/g, "-").replace(/^-+|-+$/g, "");
356
+ if (!name) throw new Error(`Cannot derive a name for Farm layer ${JSON.stringify(value)}`);
357
+ return name;
358
+ }
359
+ __name(sanitizeLayerName, "sanitizeLayerName");
360
+ function normalizeLayerSrcDir(value) {
361
+ if (value === void 0) return "src";
362
+ if (typeof value !== "string" || value.trim() === "" || path.isAbsolute(value)) {
363
+ throw new TypeError("A Farm layer srcDir must be a non-empty relative path");
364
+ }
365
+ const normalized = path.normalize(value.trim());
366
+ if (normalized === ".." || normalized.startsWith(`..${path.sep}`)) {
367
+ throw new TypeError("A Farm layer srcDir cannot leave the layer root");
368
+ }
369
+ return normalized;
370
+ }
371
+ __name(normalizeLayerSrcDir, "normalizeLayerSrcDir");
372
+ function getLayerDefaults(config) {
373
+ return Object.fromEntries(
374
+ Object.entries(config).filter(
375
+ ([key, value]) => key !== "extends" && value !== void 0 && !LAYER_LOCAL_CONFIG_KEYS.has(key)
376
+ )
377
+ );
378
+ }
379
+ __name(getLayerDefaults, "getLayerDefaults");
380
+ function mergeFarmLayerConfig(base, override) {
381
+ const output = { ...base };
382
+ for (const [key, value] of Object.entries(override)) {
383
+ if (value === void 0 || key === "layers") continue;
384
+ if (key === "plugins") {
385
+ output[key] = [...toArray(output[key]), ...toArray(value)];
386
+ continue;
387
+ }
388
+ if (key === "middleware" && output[key] !== void 0) {
389
+ output[key] = [...toArray(output[key]), ...toArray(value)];
390
+ continue;
391
+ }
392
+ if ((key === "redirects" || key === "rewrites" || key === "headers") && output[key]) {
393
+ output[key] = mergeConfigListResolvers(output[key], value);
394
+ continue;
395
+ }
396
+ if (isPlainObject(output[key]) && isPlainObject(value)) {
397
+ output[key] = mergePlainObjects(output[key], value);
398
+ continue;
399
+ }
400
+ output[key] = value;
401
+ }
402
+ return output;
403
+ }
404
+ __name(mergeFarmLayerConfig, "mergeFarmLayerConfig");
405
+ function mergePlainObjects(base, override) {
406
+ const output = { ...base };
407
+ for (const [key, value] of Object.entries(override)) {
408
+ if (value === void 0) continue;
409
+ output[key] = isPlainObject(output[key]) && isPlainObject(value) ? mergePlainObjects(output[key], value) : value;
410
+ }
411
+ return output;
412
+ }
413
+ __name(mergePlainObjects, "mergePlainObjects");
414
+ function mergeConfigListResolvers(base, override) {
415
+ return async () => [...await resolveConfigList(base), ...await resolveConfigList(override)];
416
+ }
417
+ __name(mergeConfigListResolvers, "mergeConfigListResolvers");
418
+ async function resolveConfigList(value) {
419
+ const resolved = typeof value === "function" ? await value() : value;
420
+ return toArray(resolved);
421
+ }
422
+ __name(resolveConfigList, "resolveConfigList");
423
+ function toArray(value) {
424
+ if (value === void 0 || value === null) return [];
425
+ return Array.isArray(value) ? value : [value];
426
+ }
427
+ __name(toArray, "toArray");
428
+ function isPlainObject(value) {
429
+ if (!value || typeof value !== "object" || Array.isArray(value)) return false;
430
+ const prototype = Object.getPrototypeOf(value);
431
+ return prototype === Object.prototype || prototype === null;
432
+ }
433
+ __name(isPlainObject, "isPlainObject");
434
+ function isPathLayerSource(source) {
435
+ return source.startsWith(".") || source.startsWith("/") || source.startsWith("file:") || /^[a-zA-Z]:[\\/]/.test(source);
436
+ }
437
+ __name(isPathLayerSource, "isPathLayerSource");
438
+ function normalizeRealPath(value) {
439
+ return path.resolve(realpathSync(value));
440
+ }
441
+ __name(normalizeRealPath, "normalizeRealPath");
442
+
443
+ export {
444
+ resolveFarmLayers,
445
+ getFarmSourceRoots,
446
+ getFarmAppDirectories,
447
+ getFarmLayerAliases,
448
+ loadFarmConfigFile
449
+ };
450
+ //# sourceMappingURL=chunk-74YTBPTY.mjs.map