@farm.js/core 0.1.31 → 0.1.34

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 (286) hide show
  1. package/README.md +1 -1
  2. package/dist/agent-runtime.cjs +69 -14
  3. package/dist/agent-runtime.d.mts +1 -1
  4. package/dist/agent-runtime.d.ts +1 -1
  5. package/dist/agent-runtime.mjs +58 -3
  6. package/dist/api/route-manager.cjs +16 -13
  7. package/dist/api/route-manager.d.mts +1 -1
  8. package/dist/api/route-manager.d.ts +1 -1
  9. package/dist/api/route-manager.mjs +15 -12
  10. package/dist/api/runtime.cjs +9 -7
  11. package/dist/api/runtime.d.mts +1 -1
  12. package/dist/api/runtime.d.ts +1 -1
  13. package/dist/api/runtime.mjs +8 -6
  14. package/dist/api.cjs +19 -16
  15. package/dist/api.d.mts +2 -2
  16. package/dist/api.d.ts +2 -2
  17. package/dist/api.mjs +18 -15
  18. package/dist/{app-sUJ3jnTZ.d.ts → app-DgotYGbq.d.ts} +3 -3
  19. package/dist/app-markdown.cjs +8 -6
  20. package/dist/app-markdown.d.mts +3 -3
  21. package/dist/app-markdown.d.ts +3 -3
  22. package/dist/app-markdown.mjs +7 -5
  23. package/dist/{app-DAuUTIZf.d.mts → app-q4rmZlXK.d.mts} +3 -3
  24. package/dist/cache.cjs +2 -2
  25. package/dist/cache.d.mts +10 -1
  26. package/dist/cache.d.ts +10 -1
  27. package/dist/cache.mjs +1 -1
  28. package/dist/{chunk-YZTASLPQ.cjs → chunk-27ZWSI3W.cjs} +2 -2
  29. package/dist/{chunk-WBIH66JK.mjs → chunk-2ELDTQRN.mjs} +5 -2
  30. package/dist/{chunk-K7CELQLK.cjs → chunk-2F2ER724.cjs} +54 -29
  31. package/dist/{chunk-NRVGEI5I.mjs → chunk-2NNMOPDN.mjs} +4 -210
  32. package/dist/chunk-2NQQ5H5G.cjs +86 -0
  33. package/dist/{chunk-IFI5FXEZ.cjs → chunk-36MK5YCW.cjs} +334 -163
  34. package/dist/chunk-3BU22U3M.cjs +237 -0
  35. package/dist/{chunk-MM5D6VLP.mjs → chunk-3KZS4SUS.mjs} +33 -14
  36. package/dist/chunk-3SDFA7UF.cjs +701 -0
  37. package/dist/{chunk-4IEPYMHF.mjs → chunk-3UEVPCGW.mjs} +1 -1
  38. package/dist/{chunk-5LJCOSKT.mjs → chunk-3VSKDFAT.mjs} +1 -1
  39. package/dist/{chunk-5HGR3W6O.mjs → chunk-5SJWVY6R.mjs} +8 -0
  40. package/dist/{chunk-X7WVQMIB.mjs → chunk-657WJNRY.mjs} +10 -4
  41. package/dist/{chunk-MKMBQSNQ.mjs → chunk-6VVL3MHY.mjs} +3 -3
  42. package/dist/{chunk-QZRVZSPN.cjs → chunk-77GNHH2Z.cjs} +3 -3
  43. package/dist/{chunk-KZLND3D2.cjs → chunk-7BT4H4P7.cjs} +7 -5
  44. package/dist/{chunk-A777V5WU.cjs → chunk-7M52YUMY.cjs} +2 -2
  45. package/dist/{chunk-VUMAE7NC.mjs → chunk-7Y6ZNFPX.mjs} +81 -30
  46. package/dist/{chunk-MXDTKXO6.cjs → chunk-A5FGU2WU.cjs} +74 -23
  47. package/dist/{chunk-7QOCTYBS.mjs → chunk-AGC75XAE.mjs} +37 -1
  48. package/dist/{chunk-4ZQQL4IU.mjs → chunk-AHGECQEW.mjs} +1 -1
  49. package/dist/{chunk-RG3ZOTG5.cjs → chunk-AI7QMY7O.cjs} +10 -3
  50. package/dist/{chunk-O3DTUAX2.mjs → chunk-AQZFOP7S.mjs} +6 -77
  51. package/dist/{chunk-WNLBF77X.cjs → chunk-ATK2R4CH.cjs} +14 -12
  52. package/dist/{chunk-SORB3MAR.cjs → chunk-AWC4VUZL.cjs} +17 -17
  53. package/dist/{chunk-YMCXWPWK.mjs → chunk-BCMSYSN2.mjs} +4 -1
  54. package/dist/{chunk-FYRBX5IY.cjs → chunk-BTAG7LI7.cjs} +2 -2
  55. package/dist/{chunk-I6XDAKWQ.mjs → chunk-BTHHUD7Q.mjs} +14 -0
  56. package/dist/chunk-C4SPBWFM.cjs +26 -0
  57. package/dist/{chunk-JATSG2ZO.mjs → chunk-CLJYVZAD.mjs} +4 -2
  58. package/dist/{chunk-J3LOGE4T.cjs → chunk-DQQOKWYA.cjs} +5 -5
  59. package/dist/{chunk-JLRDISQL.cjs → chunk-DZ4DTRJ5.cjs} +7 -7
  60. package/dist/chunk-E5GNDG5F.mjs +701 -0
  61. package/dist/{chunk-E76XC6ZG.mjs → chunk-EZDQRNQ7.mjs} +2 -2
  62. package/dist/{chunk-TOVMYGYW.mjs → chunk-F2SE2VDO.mjs} +1 -1
  63. package/dist/{chunk-BSPQVJ4A.mjs → chunk-FDR64H6B.mjs} +13 -0
  64. package/dist/{chunk-5OVTOKGH.cjs → chunk-FFFW3OQ7.cjs} +2 -2
  65. package/dist/{chunk-D4JE5NNV.cjs → chunk-FNO7A7CM.cjs} +5 -5
  66. package/dist/chunk-FZ6YYU2W.mjs +65 -0
  67. package/dist/{chunk-PZNCMPJF.cjs → chunk-G26MUMKL.cjs} +14 -8
  68. package/dist/{chunk-IXUY2F5U.mjs → chunk-GCXWJJKH.mjs} +4 -7
  69. package/dist/{chunk-JLCQGPXE.mjs → chunk-GNSDTTWZ.mjs} +50 -61
  70. package/dist/{chunk-TEN4FIZU.mjs → chunk-GOABMOX3.mjs} +151 -3
  71. package/dist/{chunk-HBTUGXHS.cjs → chunk-HLJ6MBUZ.cjs} +7 -4
  72. package/dist/{chunk-GZYH4OER.mjs → chunk-HR5KPHC2.mjs} +1 -1
  73. package/dist/{chunk-ZCU4NZ3M.cjs → chunk-IE7XCHH3.cjs} +4 -4
  74. package/dist/{chunk-I26CZYPV.cjs → chunk-IHNIDL6H.cjs} +50 -7
  75. package/dist/{chunk-2FQHH5SC.mjs → chunk-IHNMMXHV.mjs} +49 -24
  76. package/dist/{chunk-VHJGDMCG.cjs → chunk-IWZKTWHZ.cjs} +2 -2
  77. package/dist/{chunk-DGXN3L4D.mjs → chunk-JDPAKVS4.mjs} +4 -4
  78. package/dist/chunk-JG6DJF5A.mjs +238 -0
  79. package/dist/{chunk-5TISYEQF.mjs → chunk-JM5XPKWH.mjs} +10 -3
  80. package/dist/{chunk-BJJATPEC.mjs → chunk-KN7K4VQN.mjs} +1 -1
  81. package/dist/{chunk-WPYFSQKK.cjs → chunk-KNBBQHO2.cjs} +15 -1
  82. package/dist/{chunk-XWAWFQFS.cjs → chunk-KXWRO25S.cjs} +7 -4
  83. package/dist/{chunk-QG5HNS7P.mjs → chunk-LHODW25H.mjs} +2 -2
  84. package/dist/{chunk-BXFWA23T.mjs → chunk-LMJ7VRHZ.mjs} +3 -3
  85. package/dist/{chunk-WG2KHOMN.mjs → chunk-LR5QSC2P.mjs} +380 -209
  86. package/dist/chunk-LSKZMJMP.cjs +65 -0
  87. package/dist/{chunk-2N5PX3LS.mjs → chunk-LYV44OIR.mjs} +7 -1
  88. package/dist/{chunk-5MKEDGLD.cjs → chunk-M64YUMA4.cjs} +11 -6
  89. package/dist/{chunk-EXLKRR4U.cjs → chunk-MIDIZJZC.cjs} +12 -12
  90. package/dist/{chunk-ES4B2IXW.cjs → chunk-MOKLYNHV.cjs} +2 -2
  91. package/dist/{chunk-IV6CQY7O.mjs → chunk-MSSFIQGM.mjs} +63 -13
  92. package/dist/{chunk-KH7BN726.cjs → chunk-N4UOK6ZI.cjs} +8 -2
  93. package/dist/{chunk-6VYZOPOT.mjs → chunk-NGVORZVZ.mjs} +1 -1
  94. package/dist/{chunk-JNGIWIY6.mjs → chunk-NPC7VWJE.mjs} +2 -2
  95. package/dist/{chunk-ILWLPEVO.mjs → chunk-NRSN7G7E.mjs} +2 -2
  96. package/dist/{chunk-AHAJGAYD.mjs → chunk-O27L4YAA.mjs} +1 -1
  97. package/dist/{chunk-VYZSOYR4.cjs → chunk-ODBZYBAB.cjs} +1 -1
  98. package/dist/{chunk-YVGAEAA5.cjs → chunk-P64MIF5B.cjs} +154 -6
  99. package/dist/{chunk-DFLLARUK.cjs → chunk-PQDFUSXD.cjs} +14 -14
  100. package/dist/{chunk-F6XEGFHO.mjs → chunk-PXKIEXZD.mjs} +10 -0
  101. package/dist/{chunk-S5GDHOE4.mjs → chunk-PZNL3WEG.mjs} +48 -5
  102. package/dist/{chunk-FV45CKBC.mjs → chunk-QCFBDFRS.mjs} +1 -1
  103. package/dist/{chunk-75BRBIFP.cjs → chunk-QCVE2OCI.cjs} +5 -8
  104. package/dist/{chunk-6ZCMSZ5U.mjs → chunk-QE6VAKLT.mjs} +1 -1
  105. package/dist/{chunk-75DYEVXI.cjs → chunk-QGYRXFU2.cjs} +9 -9
  106. package/dist/{chunk-CTV2TTNP.cjs → chunk-QJ3J6MZT.cjs} +16 -87
  107. package/dist/{chunk-O6XNAMBV.mjs → chunk-QLQ32WC4.mjs} +8 -3
  108. package/dist/{chunk-IMB4PIAR.cjs → chunk-SJVKK4JE.cjs} +839 -420
  109. package/dist/{chunk-3FCFQP5V.cjs → chunk-TA5G2HWD.cjs} +21 -21
  110. package/dist/{chunk-Z5HIWVDP.cjs → chunk-TDFPACVX.cjs} +62 -73
  111. package/dist/{chunk-ND224OE2.cjs → chunk-TKSCR644.cjs} +34 -15
  112. package/dist/{chunk-UAFSBWNT.mjs → chunk-U4PTAHW3.mjs} +64 -13
  113. package/dist/{chunk-ZHVYQL3H.cjs → chunk-U74I55WB.cjs} +86 -35
  114. package/dist/chunk-UBO4SGH4.mjs +86 -0
  115. package/dist/{chunk-IQXFRNY2.cjs → chunk-UFDAAQFX.cjs} +2 -2
  116. package/dist/{chunk-X7KZBF63.cjs → chunk-UX5S4JEO.cjs} +40 -4
  117. package/dist/{chunk-5ZSWG4UX.cjs → chunk-UXFQ3UDA.cjs} +14 -1
  118. package/dist/{chunk-L4DVIHOC.mjs → chunk-VCCUOMQN.mjs} +1 -1
  119. package/dist/{chunk-4V7GIE2U.mjs → chunk-VHANUNEG.mjs} +2 -2
  120. package/dist/{chunk-FXUUWYAX.cjs → chunk-VKNHTSAP.cjs} +10 -0
  121. package/dist/{chunk-2AKFKCHA.mjs → chunk-W7LF2J2S.mjs} +1 -1
  122. package/dist/{chunk-MNUGPHLN.mjs → chunk-WNNYOOIB.mjs} +5 -3
  123. package/dist/{chunk-VA62MHFV.mjs → chunk-X242HVD5.mjs} +1 -1
  124. package/dist/{chunk-UJ2C4ICS.cjs → chunk-XJXBIP67.cjs} +4 -4
  125. package/dist/{chunk-6L6DQR5W.mjs → chunk-XV5DJTBX.mjs} +539 -121
  126. package/dist/{chunk-KJ2TIHZZ.cjs → chunk-XXJU7FCC.cjs} +3 -2
  127. package/dist/{chunk-DYEJQTDN.cjs → chunk-YSCV4SJF.cjs} +4 -4
  128. package/dist/{chunk-2SDO73HK.cjs → chunk-YWN746US.cjs} +64 -14
  129. package/dist/chunk-Z2HLU4IX.cjs +238 -0
  130. package/dist/{chunk-2FXWWUE5.cjs → chunk-Z2YLTERK.cjs} +4 -4
  131. package/dist/{chunk-CUMINO7Z.cjs → chunk-ZHPHJPQP.cjs} +4 -4
  132. package/dist/{chunk-FJZ3DQLK.mjs → chunk-ZKP7C2B6.mjs} +4 -4
  133. package/dist/{chunk-JBC2FKRW.mjs → chunk-ZUSJDQ2Q.mjs} +2 -1
  134. package/dist/{client-plugins-BX2ptm4H.d.mts → client-plugins-CLObcuCq.d.mts} +26 -2
  135. package/dist/{client-plugins-BmxM5KW_.d.ts → client-plugins-DZjHC4Mi.d.ts} +26 -2
  136. package/dist/client-plugins.d.mts +1 -1
  137. package/dist/client-plugins.d.ts +1 -1
  138. package/dist/client.cjs +8 -8
  139. package/dist/client.d.mts +5 -5
  140. package/dist/client.d.ts +5 -5
  141. package/dist/client.mjs +7 -7
  142. package/dist/config.d.mts +1 -1
  143. package/dist/config.d.ts +1 -1
  144. package/dist/{devtools-EWRDHCD5.cjs → devtools-HU6Y2MNV.cjs} +11 -9
  145. package/dist/{devtools-BPBCYOU6.mjs → devtools-RNXCTS4R.mjs} +10 -8
  146. package/dist/docs.cjs +13 -11
  147. package/dist/docs.d.mts +5 -0
  148. package/dist/docs.d.ts +5 -0
  149. package/dist/docs.mjs +12 -10
  150. package/dist/environment/vite.cjs +2 -2
  151. package/dist/environment/vite.mjs +1 -1
  152. package/dist/headers.cjs +4 -4
  153. package/dist/headers.mjs +3 -3
  154. package/dist/i18n/client.cjs +14 -13
  155. package/dist/i18n/client.mjs +5 -4
  156. package/dist/i18n/index.cjs +3 -2
  157. package/dist/i18n/index.mjs +2 -1
  158. package/dist/i18n/server.cjs +6 -5
  159. package/dist/i18n/server.mjs +5 -4
  160. package/dist/image/server.cjs +2 -2
  161. package/dist/image/server.mjs +1 -1
  162. package/dist/image/sharp.cjs +9 -9
  163. package/dist/image/sharp.mjs +1 -1
  164. package/dist/index.cjs +67 -55
  165. package/dist/index.d.mts +14 -14
  166. package/dist/index.d.ts +14 -14
  167. package/dist/index.mjs +70 -58
  168. package/dist/integrations.cjs +6 -3
  169. package/dist/integrations.d.mts +1 -1
  170. package/dist/integrations.d.ts +1 -1
  171. package/dist/integrations.mjs +7 -4
  172. package/dist/internal/app-markdown-runtime.cjs +7 -5
  173. package/dist/internal/app-markdown-runtime.d.mts +14 -3
  174. package/dist/internal/app-markdown-runtime.d.ts +14 -3
  175. package/dist/internal/app-markdown-runtime.mjs +6 -4
  176. package/dist/internal/build-runtime.cjs +38 -35
  177. package/dist/internal/build-runtime.d.mts +3 -3
  178. package/dist/internal/build-runtime.d.ts +3 -3
  179. package/dist/internal/build-runtime.mjs +37 -34
  180. package/dist/internal/cli-runtime.cjs +20 -17
  181. package/dist/internal/cli-runtime.mjs +19 -16
  182. package/dist/internal/client-error-overlay.cjs +4 -4
  183. package/dist/internal/client-error-overlay.mjs +1 -1
  184. package/dist/internal/client-runtime.cjs +4 -2
  185. package/dist/internal/client-runtime.d.mts +9 -1
  186. package/dist/internal/client-runtime.d.ts +9 -1
  187. package/dist/internal/client-runtime.mjs +3 -1
  188. package/dist/internal/compression-runtime.d.mts +1 -1
  189. package/dist/internal/compression-runtime.d.ts +1 -1
  190. package/dist/internal/config-runtime.cjs +11 -9
  191. package/dist/internal/config-runtime.d.mts +2 -2
  192. package/dist/internal/config-runtime.d.ts +2 -2
  193. package/dist/internal/config-runtime.mjs +10 -8
  194. package/dist/internal/infra-analytics-runtime.cjs +4 -4
  195. package/dist/internal/infra-analytics-runtime.mjs +2 -2
  196. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  197. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  198. package/dist/internal/production-runtime.cjs +20 -14
  199. package/dist/internal/production-runtime.d.mts +115 -8
  200. package/dist/internal/production-runtime.d.ts +115 -8
  201. package/dist/internal/production-runtime.mjs +19 -13
  202. package/dist/internal/request-cookies.cjs +4 -2
  203. package/dist/internal/request-cookies.d.mts +9 -1
  204. package/dist/internal/request-cookies.d.ts +9 -1
  205. package/dist/internal/request-cookies.mjs +3 -1
  206. package/dist/markdown.cjs +4 -4
  207. package/dist/markdown.d.mts +1 -1
  208. package/dist/markdown.d.ts +1 -1
  209. package/dist/markdown.mjs +3 -3
  210. package/dist/{metadata-DsEaK7mQ.d.mts → metadata-2HSU2i_w.d.mts} +1 -1
  211. package/dist/{metadata-fwZ3gfG6.d.ts → metadata-Cjs8JMRM.d.ts} +1 -1
  212. package/dist/middleware.cjs +18 -8
  213. package/dist/middleware.d.mts +24 -5
  214. package/dist/middleware.d.ts +24 -5
  215. package/dist/middleware.mjs +18 -8
  216. package/dist/navigation.cjs +6 -6
  217. package/dist/navigation.d.mts +4 -4
  218. package/dist/navigation.d.ts +4 -4
  219. package/dist/navigation.mjs +5 -5
  220. package/dist/{nitro-NAKCRVHX.mjs → nitro-4XGPNIK4.mjs} +3 -3
  221. package/dist/{nitro-VYDZGYFY.cjs → nitro-HSAQFXSS.cjs} +4 -4
  222. package/dist/plugin.cjs +33 -30
  223. package/dist/plugin.d.mts +1 -1
  224. package/dist/plugin.d.ts +1 -1
  225. package/dist/plugin.mjs +32 -29
  226. package/dist/{production-runtime-DNkpFnmg.d.ts → production-runtime-BU5ETAK9.d.ts} +8 -1
  227. package/dist/{production-runtime-Baqgwtvc.d.mts → production-runtime-CysZl3EV.d.mts} +8 -1
  228. package/dist/query/client.cjs +7 -7
  229. package/dist/query/client.mjs +3 -3
  230. package/dist/{render-plan-DhwQnmmX.d.mts → render-plan-CKr4ltOd.d.mts} +1 -1
  231. package/dist/{render-plan-rkIK9wd9.d.ts → render-plan-D72O1qm4.d.ts} +1 -1
  232. package/dist/renderer-client.cjs +39 -19
  233. package/dist/renderer-client.d.mts +3 -3
  234. package/dist/renderer-client.d.ts +3 -3
  235. package/dist/renderer-client.mjs +28 -8
  236. package/dist/{request-CFy1BltJ.d.mts → request-Be83WafN.d.mts} +7 -2
  237. package/dist/{request-BcY4RYPC.d.ts → request-DbyOYI2j.d.ts} +7 -2
  238. package/dist/request.cjs +2 -2
  239. package/dist/request.d.mts +2 -2
  240. package/dist/request.d.ts +2 -2
  241. package/dist/request.mjs +1 -1
  242. package/dist/{route-rendering-BkS0TBlB.d.mts → route-rendering-BG56SzvJ.d.mts} +1 -1
  243. package/dist/{route-rendering-D4XpMjam.d.ts → route-rendering-CtVMpV-k.d.ts} +1 -1
  244. package/dist/{router-C4zPlC3V.d.mts → router-ALUvm8gC.d.mts} +1 -1
  245. package/dist/{router-Cq7BcZxg.d.ts → router-D94-SDlW.d.ts} +1 -1
  246. package/dist/routes.cjs +3 -3
  247. package/dist/routes.d.mts +1 -1
  248. package/dist/routes.d.ts +1 -1
  249. package/dist/routes.mjs +2 -2
  250. package/dist/server-fn.cjs +3 -3
  251. package/dist/server-fn.mjs +2 -2
  252. package/dist/server-plugins.cjs +4 -4
  253. package/dist/server-plugins.d.mts +2 -2
  254. package/dist/server-plugins.d.ts +2 -2
  255. package/dist/server-plugins.mjs +3 -3
  256. package/dist/server-query-client.cjs +3 -3
  257. package/dist/server-query-client.mjs +2 -2
  258. package/dist/server-query.cjs +4 -4
  259. package/dist/server-query.mjs +3 -3
  260. package/dist/server.cjs +60 -57
  261. package/dist/server.d.mts +7 -7
  262. package/dist/server.d.ts +7 -7
  263. package/dist/server.mjs +37 -34
  264. package/dist/{spa-router-B1HI3X9k.d.ts → spa-router-CxK3USIz.d.ts} +2 -2
  265. package/dist/{spa-router-DzPZH-AO.d.mts → spa-router-DbxNRKOB.d.mts} +2 -2
  266. package/dist/testing.cjs +19 -17
  267. package/dist/testing.d.mts +1 -1
  268. package/dist/testing.d.ts +1 -1
  269. package/dist/testing.mjs +16 -14
  270. package/dist/theme/server.cjs +4 -3
  271. package/dist/theme/server.mjs +3 -2
  272. package/dist/{utils-DMD1Hzta.d.ts → utils-311Y8eoK.d.ts} +1 -1
  273. package/dist/{utils-CEBktlBG.d.mts → utils-4wVRcpOw.d.mts} +1 -1
  274. package/dist/version.cjs +2 -2
  275. package/dist/version.mjs +1 -1
  276. package/dist/vite.cjs +33 -30
  277. package/dist/vite.d.mts +1 -1
  278. package/dist/vite.d.ts +1 -1
  279. package/dist/vite.mjs +32 -29
  280. package/package.json +2 -2
  281. package/dist/chunk-22GUSVNJ.cjs +0 -351
  282. package/dist/chunk-SWN467MP.cjs +0 -18
  283. package/dist/chunk-XGC343EY.cjs +0 -443
  284. package/dist/chunk-ZSH2Y4LN.mjs +0 -351
  285. /package/dist/{chunk-SUIBNSNO.cjs → chunk-SJNMVDDF.cjs} +0 -0
  286. /package/dist/{chunk-LNZ7JZUS.mjs → chunk-UDNPLXW7.mjs} +0 -0
@@ -1,351 +0,0 @@
1
- import {
2
- __name
3
- } from "./chunk-LPEX4YW6.mjs";
4
-
5
- // src/environment-vite.ts
6
- var ENVIRONMENT_IMPORTS = /* @__PURE__ */ new Set([
7
- "@farm.js/core",
8
- "@farm.js/core/environment",
9
- "@farm.js/core/server"
10
- ]);
11
- var ENVIRONMENT_FUNCTIONS = /* @__PURE__ */ new Set([
12
- "createServerOnlyFn",
13
- "createClientOnlyFn",
14
- "createIsomorphicFn"
15
- ]);
16
- var MODULE_EXTENSION_RE = /\.[cm]?[jt]sx?$/;
17
- function transformEnvironmentFunctions(options) {
18
- if (!isTransformableModule(options.id) || !containsEnvironmentFunction(options.code)) {
19
- return null;
20
- }
21
- let output = options.code;
22
- let transformed = false;
23
- for (let pass = 0; pass < 20; pass++) {
24
- const ast = options.parse(output);
25
- const bindings = findEnvironmentFunctionBindings(ast);
26
- if (bindings.named.size === 0 && bindings.namespaces.size === 0) break;
27
- const calls = findEnvironmentCalls(ast, bindings);
28
- if (calls.length === 0) break;
29
- const innermostCalls = calls.filter(
30
- (call) => !calls.some(
31
- (candidate) => candidate !== call && candidate.node.start > call.node.start && candidate.node.end < call.node.end
32
- )
33
- );
34
- const replacements = innermostCalls.map(
35
- (call) => createReplacement(output, options.id, options.environment, call)
36
- );
37
- output = applyReplacements(output, replacements);
38
- transformed = true;
39
- }
40
- if (!transformed) return null;
41
- const remainingAst = options.parse(output);
42
- const remainingBindings = findEnvironmentFunctionBindings(remainingAst);
43
- if (findEnvironmentCalls(remainingAst, remainingBindings).length > 0) {
44
- throw transformError(options.id, "environment functions are nested too deeply");
45
- }
46
- return { code: output };
47
- }
48
- __name(transformEnvironmentFunctions, "transformEnvironmentFunctions");
49
- function farmEnvironmentFunctionsPlugin() {
50
- return {
51
- name: "farm:environment-functions",
52
- enforce: "post",
53
- transform(code, id, transformOptions) {
54
- const result = transformEnvironmentFunctions({
55
- code,
56
- id,
57
- environment: resolveBuildEnvironment(
58
- this,
59
- transformOptions?.ssr
60
- ),
61
- parse: /* @__PURE__ */ __name((source) => this.parse(source), "parse")
62
- });
63
- return result ? { code: result.code, map: null } : null;
64
- }
65
- };
66
- }
67
- __name(farmEnvironmentFunctionsPlugin, "farmEnvironmentFunctionsPlugin");
68
- function resolveBuildEnvironment(context, ssr) {
69
- if (context.environment?.name === "client") return "client";
70
- if (context.environment?.name === "rsc" || context.environment?.name === "ssr") {
71
- return "server";
72
- }
73
- return ssr ? "server" : "client";
74
- }
75
- __name(resolveBuildEnvironment, "resolveBuildEnvironment");
76
- function findEnvironmentFunctionBindings(ast) {
77
- const named = /* @__PURE__ */ new Map();
78
- const namespaces = /* @__PURE__ */ new Set();
79
- const body = Array.isArray(ast.body) ? ast.body : [];
80
- for (const statement of body) {
81
- if (!isAstNode(statement) || statement.type !== "ImportDeclaration") continue;
82
- const source = isAstNode(statement.source) ? statement.source.value : void 0;
83
- if (typeof source !== "string" || !ENVIRONMENT_IMPORTS.has(source)) continue;
84
- const specifiers = Array.isArray(statement.specifiers) ? statement.specifiers : [];
85
- for (const specifier of specifiers) {
86
- if (!isAstNode(specifier) || !isAstNode(specifier.local)) continue;
87
- const localName = specifier.local.name;
88
- if (typeof localName !== "string") continue;
89
- if (specifier.type === "ImportNamespaceSpecifier") {
90
- namespaces.add(localName);
91
- continue;
92
- }
93
- if (specifier.type !== "ImportSpecifier" || !isAstNode(specifier.imported)) continue;
94
- const importedName = specifier.imported.name ?? specifier.imported.value;
95
- if (isEnvironmentFunctionKind(importedName)) {
96
- named.set(localName, importedName);
97
- }
98
- }
99
- }
100
- return { named, namespaces };
101
- }
102
- __name(findEnvironmentFunctionBindings, "findEnvironmentFunctionBindings");
103
- function findEnvironmentCalls(ast, bindings) {
104
- const calls = [];
105
- walkAst(ast, (node, ancestors) => {
106
- if (node.type !== "CallExpression" || !isAstNode(node.callee)) return;
107
- if (node.callee.type === "Identifier" && typeof node.callee.name === "string") {
108
- const kind = bindings.named.get(node.callee.name);
109
- if (kind && !isNameShadowed(node.callee.name, ancestors)) calls.push({ node, kind });
110
- return;
111
- }
112
- if (node.callee.type !== "MemberExpression" || node.callee.computed === true || !isAstNode(node.callee.object) || !isAstNode(node.callee.property) || node.callee.object.type !== "Identifier" || node.callee.property.type !== "Identifier" || typeof node.callee.object.name !== "string" || typeof node.callee.property.name !== "string" || !bindings.namespaces.has(node.callee.object.name) || isNameShadowed(node.callee.object.name, ancestors) || !isEnvironmentFunctionKind(node.callee.property.name)) {
113
- return;
114
- }
115
- calls.push({ node, kind: node.callee.property.name });
116
- });
117
- return calls;
118
- }
119
- __name(findEnvironmentCalls, "findEnvironmentCalls");
120
- function createReplacement(code, id, environment, call) {
121
- const args = Array.isArray(call.node.arguments) ? call.node.arguments : [];
122
- if (args.length !== 1 || !isAstNode(args[0]) || args[0].type === "SpreadElement") {
123
- throw transformError(id, `${call.kind}() requires exactly one static argument`);
124
- }
125
- let replacement;
126
- if (call.kind === "createIsomorphicFn") {
127
- replacement = selectIsomorphicImplementation(code, id, environment, args[0]);
128
- } else {
129
- const expected = call.kind === "createServerOnlyFn" ? "server" : "client";
130
- replacement = environment === expected ? readNode(code, args[0]) : `(0, ${readNode(code, call.node.callee)})(undefined, ${JSON.stringify(environment)})`;
131
- }
132
- return {
133
- start: call.node.start,
134
- end: call.node.end,
135
- code: `(${replacement})`
136
- };
137
- }
138
- __name(createReplacement, "createReplacement");
139
- function selectIsomorphicImplementation(code, id, environment, optionsNode) {
140
- if (optionsNode.type !== "ObjectExpression") {
141
- throw transformError(id, "createIsomorphicFn() requires an inline options object");
142
- }
143
- const properties = Array.isArray(optionsNode.properties) ? optionsNode.properties : [];
144
- if (properties.some((property) => isAstNode(property) && property.type === "SpreadElement")) {
145
- throw transformError(id, "createIsomorphicFn() does not support spread properties");
146
- }
147
- let selectedProperty;
148
- for (const property of properties) {
149
- if (!isAstNode(property) || property.type !== "Property" || property.computed === true) {
150
- continue;
151
- }
152
- const key = readPropertyName(property.key);
153
- if (key === environment) selectedProperty = property;
154
- }
155
- if (!selectedProperty || !isAstNode(selectedProperty.value)) {
156
- throw transformError(id, `createIsomorphicFn() requires a ${environment} implementation`);
157
- }
158
- if (selectedProperty.kind !== void 0 && selectedProperty.kind !== "init") {
159
- throw transformError(id, "createIsomorphicFn() does not support getters or setters");
160
- }
161
- return selectedProperty.method === true ? renderObjectMethod(code, id, selectedProperty.value) : readNode(code, selectedProperty.value);
162
- }
163
- __name(selectIsomorphicImplementation, "selectIsomorphicImplementation");
164
- function renderObjectMethod(code, id, functionNode) {
165
- if (!isAstNode(functionNode.body) || !Array.isArray(functionNode.params)) {
166
- throw transformError(id, "createIsomorphicFn() received an unsupported method");
167
- }
168
- const params = functionNode.params.map((param) => {
169
- if (!isAstNode(param)) {
170
- throw transformError(id, "createIsomorphicFn() received an unsupported parameter");
171
- }
172
- return readNode(code, param);
173
- });
174
- const asyncPrefix = functionNode.async === true ? "async " : "";
175
- const generatorMarker = functionNode.generator === true ? "*" : "";
176
- return `${asyncPrefix}function${generatorMarker}(${params.join(", ")}) ${readNode(code, functionNode.body)}`;
177
- }
178
- __name(renderObjectMethod, "renderObjectMethod");
179
- function applyReplacements(code, replacements) {
180
- let output = code;
181
- for (const replacement of replacements.sort((left, right) => right.start - left.start)) {
182
- output = output.slice(0, replacement.start) + replacement.code + output.slice(replacement.end);
183
- }
184
- return output;
185
- }
186
- __name(applyReplacements, "applyReplacements");
187
- function walkAst(node, visit, ancestors = []) {
188
- visit(node, ancestors);
189
- const childAncestors = [...ancestors, node];
190
- for (const [key, value] of Object.entries(node)) {
191
- if (key === "start" || key === "end" || key === "loc" || key === "range") continue;
192
- if (isAstNode(value)) {
193
- walkAst(value, visit, childAncestors);
194
- } else if (Array.isArray(value)) {
195
- for (const item of value) {
196
- if (isAstNode(item)) walkAst(item, visit, childAncestors);
197
- }
198
- }
199
- }
200
- }
201
- __name(walkAst, "walkAst");
202
- function isNameShadowed(name, ancestors) {
203
- for (const [index, ancestor] of ancestors.entries()) {
204
- if (isFunctionNode(ancestor)) {
205
- const params = Array.isArray(ancestor.params) ? ancestor.params : [];
206
- if (params.some((param) => patternContainsName(param, name))) return true;
207
- if (patternContainsName(ancestor.id, name)) return true;
208
- if (isAstNode(ancestor.body) && ancestors.slice(index + 1).includes(ancestor.body) && functionBodyDeclaresVarName(ancestor.body, name)) {
209
- return true;
210
- }
211
- }
212
- if (ancestor.type === "CatchClause" && patternContainsName(ancestor.param, name)) {
213
- return true;
214
- }
215
- if ((ancestor.type === "BlockStatement" || ancestor.type === "StaticBlock") && blockDeclaresName(ancestor, name)) {
216
- return true;
217
- }
218
- if (loopDeclaresName(ancestor, name)) return true;
219
- if (ancestor.type === "SwitchStatement" && ancestors.slice(index + 1).some((candidate) => candidate.type === "SwitchCase") && switchDeclaresName(ancestor, name)) {
220
- return true;
221
- }
222
- if (ancestor.type === "ClassExpression" && patternContainsName(ancestor.id, name) && ancestors.slice(index + 1).some((candidate) => candidate.type === "ClassBody")) {
223
- return true;
224
- }
225
- }
226
- return false;
227
- }
228
- __name(isNameShadowed, "isNameShadowed");
229
- function functionBodyDeclaresVarName(body, name) {
230
- if (body.type === "VariableDeclaration" && body.kind === "var") {
231
- const declarations = Array.isArray(body.declarations) ? body.declarations : [];
232
- if (declarations.some(
233
- (declaration) => isAstNode(declaration) && patternContainsName(declaration.id, name)
234
- )) {
235
- return true;
236
- }
237
- }
238
- for (const [key, value] of Object.entries(body)) {
239
- if (key === "start" || key === "end" || key === "loc" || key === "range") continue;
240
- if (isAstNode(value)) {
241
- if (isNestedVarScope(value)) continue;
242
- if (functionBodyDeclaresVarName(value, name)) return true;
243
- } else if (Array.isArray(value)) {
244
- for (const item of value) {
245
- if (!isAstNode(item) || isNestedVarScope(item)) continue;
246
- if (functionBodyDeclaresVarName(item, name)) return true;
247
- }
248
- }
249
- }
250
- return false;
251
- }
252
- __name(functionBodyDeclaresVarName, "functionBodyDeclaresVarName");
253
- function isNestedVarScope(node) {
254
- return isFunctionNode(node) || node.type === "ClassDeclaration" || node.type === "ClassExpression";
255
- }
256
- __name(isNestedVarScope, "isNestedVarScope");
257
- function loopDeclaresName(node, name) {
258
- const declaration = node.type === "ForStatement" ? node.init : node.type === "ForInStatement" || node.type === "ForOfStatement" ? node.left : void 0;
259
- if (!isAstNode(declaration) || declaration.type !== "VariableDeclaration") return false;
260
- const declarations = Array.isArray(declaration.declarations) ? declaration.declarations : [];
261
- return declarations.some((item) => isAstNode(item) && patternContainsName(item.id, name));
262
- }
263
- __name(loopDeclaresName, "loopDeclaresName");
264
- function switchDeclaresName(node, name) {
265
- const cases = Array.isArray(node.cases) ? node.cases : [];
266
- return cases.some((switchCase) => {
267
- if (!isAstNode(switchCase) || !Array.isArray(switchCase.consequent)) return false;
268
- return switchCase.consequent.some((statement) => {
269
- if (!isAstNode(statement)) return false;
270
- if ((statement.type === "FunctionDeclaration" || statement.type === "ClassDeclaration") && patternContainsName(statement.id, name)) {
271
- return true;
272
- }
273
- if (statement.type !== "VariableDeclaration" || statement.kind === "var") return false;
274
- const declarations = Array.isArray(statement.declarations) ? statement.declarations : [];
275
- return declarations.some(
276
- (declaration) => isAstNode(declaration) && patternContainsName(declaration.id, name)
277
- );
278
- });
279
- });
280
- }
281
- __name(switchDeclaresName, "switchDeclaresName");
282
- function blockDeclaresName(block, name) {
283
- const statements = Array.isArray(block.body) ? block.body : [];
284
- for (const statement of statements) {
285
- if (!isAstNode(statement)) continue;
286
- if ((statement.type === "FunctionDeclaration" || statement.type === "ClassDeclaration") && patternContainsName(statement.id, name)) {
287
- return true;
288
- }
289
- if (statement.type !== "VariableDeclaration" || !Array.isArray(statement.declarations)) {
290
- continue;
291
- }
292
- if (statement.declarations.some(
293
- (declaration) => isAstNode(declaration) && patternContainsName(declaration.id, name)
294
- )) {
295
- return true;
296
- }
297
- }
298
- return false;
299
- }
300
- __name(blockDeclaresName, "blockDeclaresName");
301
- function patternContainsName(value, name) {
302
- if (!isAstNode(value)) return false;
303
- if (value.type === "Identifier") return value.name === name;
304
- if (value.type === "RestElement") return patternContainsName(value.argument, name);
305
- if (value.type === "AssignmentPattern") return patternContainsName(value.left, name);
306
- if (value.type === "Property") return patternContainsName(value.value, name);
307
- const elements = Array.isArray(value.elements) ? value.elements : Array.isArray(value.properties) ? value.properties : [];
308
- return elements.some((element) => patternContainsName(element, name));
309
- }
310
- __name(patternContainsName, "patternContainsName");
311
- function isFunctionNode(node) {
312
- return node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression";
313
- }
314
- __name(isFunctionNode, "isFunctionNode");
315
- function readPropertyName(value) {
316
- if (!isAstNode(value)) return void 0;
317
- if (value.type === "Identifier" && typeof value.name === "string") return value.name;
318
- if (value.type === "Literal" && typeof value.value === "string") return value.value;
319
- return void 0;
320
- }
321
- __name(readPropertyName, "readPropertyName");
322
- function readNode(code, node) {
323
- return code.slice(node.start, node.end);
324
- }
325
- __name(readNode, "readNode");
326
- function isAstNode(value) {
327
- return !!value && typeof value === "object" && typeof value.type === "string" && typeof value.start === "number" && typeof value.end === "number";
328
- }
329
- __name(isAstNode, "isAstNode");
330
- function isEnvironmentFunctionKind(value) {
331
- return typeof value === "string" && ENVIRONMENT_FUNCTIONS.has(value);
332
- }
333
- __name(isEnvironmentFunctionKind, "isEnvironmentFunctionKind");
334
- function containsEnvironmentFunction(code) {
335
- return Array.from(ENVIRONMENT_FUNCTIONS).some((name) => code.includes(name));
336
- }
337
- __name(containsEnvironmentFunction, "containsEnvironmentFunction");
338
- function isTransformableModule(id) {
339
- const cleanId = id.split("?", 1)[0];
340
- return MODULE_EXTENSION_RE.test(cleanId) && !/\.d\.[cm]?ts$/.test(cleanId);
341
- }
342
- __name(isTransformableModule, "isTransformableModule");
343
- function transformError(id, message) {
344
- return new Error(`[Farm environment functions] ${message} in ${id.split("?", 1)[0]}`);
345
- }
346
- __name(transformError, "transformError");
347
-
348
- export {
349
- transformEnvironmentFunctions,
350
- farmEnvironmentFunctionsPlugin
351
- };
File without changes
File without changes