@farm.js/core 0.1.0-beta.4 → 0.1.0-beta.6

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 (441) hide show
  1. package/dist/internal/build-runtime.cjs +1 -1
  2. package/dist/internal/build-runtime.cjs.map +1 -1
  3. package/dist/internal/build-runtime.mjs +5 -5
  4. package/dist/plugin.cjs.map +1 -1
  5. package/dist/plugin.mjs +4 -4
  6. package/dist/server-query-client.cjs +1 -1
  7. package/dist/server-query-client.cjs.map +1 -1
  8. package/dist/server-query-client.mjs +1 -1
  9. package/dist/server.cjs +1 -1
  10. package/dist/server.cjs.map +1 -1
  11. package/dist/server.mjs +4 -4
  12. package/dist/version.cjs +1 -1
  13. package/dist/version.cjs.map +1 -1
  14. package/dist/version.mjs +1 -1
  15. package/dist/vite.cjs +1 -1
  16. package/dist/vite.cjs.map +1 -1
  17. package/dist/vite.mjs +4 -4
  18. package/package.json +1 -1
  19. package/dist/after.cjs +0 -227
  20. package/dist/after.cjs.map +0 -1
  21. package/dist/after.d.mts +0 -25
  22. package/dist/after.d.ts +0 -25
  23. package/dist/after.mjs +0 -14
  24. package/dist/after.mjs.map +0 -1
  25. package/dist/agent-runtime.cjs +0 -2379
  26. package/dist/agent-runtime.cjs.map +0 -1
  27. package/dist/agent-runtime.d.mts +0 -94
  28. package/dist/agent-runtime.d.ts +0 -94
  29. package/dist/agent-runtime.mjs +0 -479
  30. package/dist/agent-runtime.mjs.map +0 -1
  31. package/dist/api/route-manager.d.mts +0 -66
  32. package/dist/api/route-manager.d.ts +0 -66
  33. package/dist/api/runtime.d.mts +0 -3
  34. package/dist/api/runtime.d.ts +0 -3
  35. package/dist/api.cjs +0 -4100
  36. package/dist/api.cjs.map +0 -1
  37. package/dist/api.d.mts +0 -48
  38. package/dist/api.d.ts +0 -48
  39. package/dist/api.mjs +0 -93
  40. package/dist/api.mjs.map +0 -1
  41. package/dist/app-BjN-da13.d.ts +0 -300
  42. package/dist/app-CakAr8Be.d.mts +0 -300
  43. package/dist/app-markdown.cjs +0 -220
  44. package/dist/app-markdown.cjs.map +0 -1
  45. package/dist/app-markdown.d.mts +0 -22
  46. package/dist/app-markdown.d.ts +0 -22
  47. package/dist/app-markdown.mjs +0 -26
  48. package/dist/app-markdown.mjs.map +0 -1
  49. package/dist/cache.cjs +0 -945
  50. package/dist/cache.cjs.map +0 -1
  51. package/dist/cache.d.mts +0 -192
  52. package/dist/cache.d.ts +0 -192
  53. package/dist/cache.mjs +0 -46
  54. package/dist/cache.mjs.map +0 -1
  55. package/dist/chunk-2CUKEMVR.mjs +0 -872
  56. package/dist/chunk-2CUKEMVR.mjs.map +0 -1
  57. package/dist/chunk-2ED5Q2GH.mjs +0 -422
  58. package/dist/chunk-2ED5Q2GH.mjs.map +0 -1
  59. package/dist/chunk-32W4QEJP.mjs +0 -158
  60. package/dist/chunk-32W4QEJP.mjs.map +0 -1
  61. package/dist/chunk-3U3ZUQAQ.mjs +0 -41
  62. package/dist/chunk-3U3ZUQAQ.mjs.map +0 -1
  63. package/dist/chunk-3XNTL3FQ.mjs +0 -452
  64. package/dist/chunk-3XNTL3FQ.mjs.map +0 -1
  65. package/dist/chunk-44ZCFSKE.mjs +0 -84
  66. package/dist/chunk-44ZCFSKE.mjs.map +0 -1
  67. package/dist/chunk-4S3ORGFA.mjs +0 -44
  68. package/dist/chunk-4S3ORGFA.mjs.map +0 -1
  69. package/dist/chunk-5BY76U2M.mjs +0 -1
  70. package/dist/chunk-5BY76U2M.mjs.map +0 -1
  71. package/dist/chunk-5ZGPRGWV.mjs +0 -136
  72. package/dist/chunk-5ZGPRGWV.mjs.map +0 -1
  73. package/dist/chunk-65A7QIKI.mjs +0 -142
  74. package/dist/chunk-65A7QIKI.mjs.map +0 -1
  75. package/dist/chunk-74YTBPTY.mjs +0 -450
  76. package/dist/chunk-74YTBPTY.mjs.map +0 -1
  77. package/dist/chunk-7HO6AEOP.mjs +0 -74
  78. package/dist/chunk-7HO6AEOP.mjs.map +0 -1
  79. package/dist/chunk-7MABZJIM.mjs +0 -29
  80. package/dist/chunk-7MABZJIM.mjs.map +0 -1
  81. package/dist/chunk-7ZY5AIJO.mjs +0 -161
  82. package/dist/chunk-7ZY5AIJO.mjs.map +0 -1
  83. package/dist/chunk-AJWRO5WE.mjs +0 -6241
  84. package/dist/chunk-AJWRO5WE.mjs.map +0 -1
  85. package/dist/chunk-ALCLXXTY.mjs +0 -187
  86. package/dist/chunk-ALCLXXTY.mjs.map +0 -1
  87. package/dist/chunk-AOBXKNS5.mjs +0 -7631
  88. package/dist/chunk-AOBXKNS5.mjs.map +0 -1
  89. package/dist/chunk-AZ7YUVNR.mjs +0 -65
  90. package/dist/chunk-AZ7YUVNR.mjs.map +0 -1
  91. package/dist/chunk-B232I2GP.mjs +0 -163
  92. package/dist/chunk-B232I2GP.mjs.map +0 -1
  93. package/dist/chunk-BHG3LVHH.mjs +0 -176
  94. package/dist/chunk-BHG3LVHH.mjs.map +0 -1
  95. package/dist/chunk-C2ROET2V.mjs +0 -718
  96. package/dist/chunk-C2ROET2V.mjs.map +0 -1
  97. package/dist/chunk-C3DLZMBU.mjs +0 -597
  98. package/dist/chunk-C3DLZMBU.mjs.map +0 -1
  99. package/dist/chunk-CGILA3WO.mjs +0 -14
  100. package/dist/chunk-CGILA3WO.mjs.map +0 -1
  101. package/dist/chunk-E2MPIBRE.mjs +0 -149
  102. package/dist/chunk-E2MPIBRE.mjs.map +0 -1
  103. package/dist/chunk-E6EPN5BT.mjs +0 -203
  104. package/dist/chunk-E6EPN5BT.mjs.map +0 -1
  105. package/dist/chunk-EJ7T4TPB.mjs +0 -622
  106. package/dist/chunk-EJ7T4TPB.mjs.map +0 -1
  107. package/dist/chunk-FQYDHKKU.mjs +0 -128
  108. package/dist/chunk-FQYDHKKU.mjs.map +0 -1
  109. package/dist/chunk-FRPWCMMG.mjs +0 -299
  110. package/dist/chunk-FRPWCMMG.mjs.map +0 -1
  111. package/dist/chunk-GN72QAIH.mjs +0 -146
  112. package/dist/chunk-GN72QAIH.mjs.map +0 -1
  113. package/dist/chunk-GQVGIUSN.mjs +0 -149
  114. package/dist/chunk-GQVGIUSN.mjs.map +0 -1
  115. package/dist/chunk-GS6K5OCM.mjs +0 -407
  116. package/dist/chunk-GS6K5OCM.mjs.map +0 -1
  117. package/dist/chunk-GXASWWJU.mjs +0 -364
  118. package/dist/chunk-GXASWWJU.mjs.map +0 -1
  119. package/dist/chunk-GY2STC2S.mjs +0 -180
  120. package/dist/chunk-GY2STC2S.mjs.map +0 -1
  121. package/dist/chunk-H2FA2SBS.mjs +0 -51
  122. package/dist/chunk-H2FA2SBS.mjs.map +0 -1
  123. package/dist/chunk-HNIQFZKB.mjs +0 -3550
  124. package/dist/chunk-HNIQFZKB.mjs.map +0 -1
  125. package/dist/chunk-ITN462YM.mjs +0 -98
  126. package/dist/chunk-ITN462YM.mjs.map +0 -1
  127. package/dist/chunk-J23HNLFY.mjs +0 -72
  128. package/dist/chunk-J23HNLFY.mjs.map +0 -1
  129. package/dist/chunk-J4FNJ5IU.mjs +0 -179
  130. package/dist/chunk-J4FNJ5IU.mjs.map +0 -1
  131. package/dist/chunk-JDEOUK5V.mjs +0 -427
  132. package/dist/chunk-JDEOUK5V.mjs.map +0 -1
  133. package/dist/chunk-JK25YEN6.mjs +0 -219
  134. package/dist/chunk-JK25YEN6.mjs.map +0 -1
  135. package/dist/chunk-K4667E2Q.mjs +0 -1916
  136. package/dist/chunk-K4667E2Q.mjs.map +0 -1
  137. package/dist/chunk-LGHEOHBU.mjs +0 -218
  138. package/dist/chunk-LGHEOHBU.mjs.map +0 -1
  139. package/dist/chunk-LLC7BNXW.mjs +0 -275
  140. package/dist/chunk-LLC7BNXW.mjs.map +0 -1
  141. package/dist/chunk-LM2YNO4U.mjs +0 -24
  142. package/dist/chunk-LM2YNO4U.mjs.map +0 -1
  143. package/dist/chunk-MIUW47JX.mjs +0 -639
  144. package/dist/chunk-MIUW47JX.mjs.map +0 -1
  145. package/dist/chunk-NM3CRAAL.mjs +0 -467
  146. package/dist/chunk-NM3CRAAL.mjs.map +0 -1
  147. package/dist/chunk-NNLCAVB6.mjs +0 -391
  148. package/dist/chunk-NNLCAVB6.mjs.map +0 -1
  149. package/dist/chunk-P7QDS5AT.mjs +0 -191
  150. package/dist/chunk-P7QDS5AT.mjs.map +0 -1
  151. package/dist/chunk-PFE6GMNE.mjs +0 -603
  152. package/dist/chunk-PFE6GMNE.mjs.map +0 -1
  153. package/dist/chunk-QGOHVJ6J.mjs +0 -63
  154. package/dist/chunk-QGOHVJ6J.mjs.map +0 -1
  155. package/dist/chunk-QGQX7SFC.mjs +0 -180
  156. package/dist/chunk-QGQX7SFC.mjs.map +0 -1
  157. package/dist/chunk-QKVUNGAH.mjs +0 -39
  158. package/dist/chunk-QKVUNGAH.mjs.map +0 -1
  159. package/dist/chunk-QM746KUO.mjs +0 -56
  160. package/dist/chunk-QM746KUO.mjs.map +0 -1
  161. package/dist/chunk-RBRLLZL5.mjs +0 -81
  162. package/dist/chunk-RBRLLZL5.mjs.map +0 -1
  163. package/dist/chunk-RHIFZZUI.mjs +0 -69
  164. package/dist/chunk-RHIFZZUI.mjs.map +0 -1
  165. package/dist/chunk-RSKVYESE.mjs +0 -187
  166. package/dist/chunk-RSKVYESE.mjs.map +0 -1
  167. package/dist/chunk-SADGIRS2.mjs +0 -211
  168. package/dist/chunk-SADGIRS2.mjs.map +0 -1
  169. package/dist/chunk-SCFX4UTD.mjs +0 -28
  170. package/dist/chunk-SCFX4UTD.mjs.map +0 -1
  171. package/dist/chunk-SL6HTIOK.mjs +0 -66
  172. package/dist/chunk-SL6HTIOK.mjs.map +0 -1
  173. package/dist/chunk-SPBBQLXI.mjs +0 -207
  174. package/dist/chunk-SPBBQLXI.mjs.map +0 -1
  175. package/dist/chunk-T4QJQK76.mjs +0 -459
  176. package/dist/chunk-T4QJQK76.mjs.map +0 -1
  177. package/dist/chunk-TQAEEJB4.mjs +0 -157
  178. package/dist/chunk-TQAEEJB4.mjs.map +0 -1
  179. package/dist/chunk-UB5UOSHB.mjs +0 -458
  180. package/dist/chunk-UB5UOSHB.mjs.map +0 -1
  181. package/dist/chunk-USWZZUEH.mjs +0 -25
  182. package/dist/chunk-USWZZUEH.mjs.map +0 -1
  183. package/dist/chunk-UVCIEUJC.mjs +0 -16
  184. package/dist/chunk-UVCIEUJC.mjs.map +0 -1
  185. package/dist/chunk-UXUAWNO5.mjs +0 -396
  186. package/dist/chunk-UXUAWNO5.mjs.map +0 -1
  187. package/dist/chunk-V3XURYJO.mjs +0 -756
  188. package/dist/chunk-V3XURYJO.mjs.map +0 -1
  189. package/dist/chunk-V6WE6JSZ.mjs +0 -352
  190. package/dist/chunk-V6WE6JSZ.mjs.map +0 -1
  191. package/dist/chunk-V7RBCSDJ.mjs +0 -170
  192. package/dist/chunk-V7RBCSDJ.mjs.map +0 -1
  193. package/dist/chunk-VCANOYFI.mjs +0 -588
  194. package/dist/chunk-VCANOYFI.mjs.map +0 -1
  195. package/dist/chunk-VVKWFZAH.mjs +0 -753
  196. package/dist/chunk-VVKWFZAH.mjs.map +0 -1
  197. package/dist/chunk-VY2UYN5R.mjs +0 -224
  198. package/dist/chunk-VY2UYN5R.mjs.map +0 -1
  199. package/dist/chunk-W2CRQFF6.mjs +0 -1352
  200. package/dist/chunk-W2CRQFF6.mjs.map +0 -1
  201. package/dist/chunk-W4UIVMVI.mjs +0 -10
  202. package/dist/chunk-W4UIVMVI.mjs.map +0 -1
  203. package/dist/chunk-WZ5QFROO.mjs +0 -23
  204. package/dist/chunk-WZ5QFROO.mjs.map +0 -1
  205. package/dist/chunk-XIVV5IWN.mjs +0 -541
  206. package/dist/chunk-XIVV5IWN.mjs.map +0 -1
  207. package/dist/chunk-YW7OBE6Q.mjs +0 -119
  208. package/dist/chunk-YW7OBE6Q.mjs.map +0 -1
  209. package/dist/chunk-Z5CQMP54.mjs +0 -365
  210. package/dist/chunk-Z5CQMP54.mjs.map +0 -1
  211. package/dist/chunk-ZBE6MLHL.mjs +0 -230
  212. package/dist/chunk-ZBE6MLHL.mjs.map +0 -1
  213. package/dist/chunk-ZZ57EH5Z.mjs +0 -173
  214. package/dist/chunk-ZZ57EH5Z.mjs.map +0 -1
  215. package/dist/client-BT1mFQas.d.mts +0 -447
  216. package/dist/client-Nn0q4eO4.d.ts +0 -447
  217. package/dist/client-cache-CIlyBlmx.d.ts +0 -6
  218. package/dist/client-cache-D-EZ7XVW.d.mts +0 -6
  219. package/dist/client-plugins-Cw4qUGsw.d.ts +0 -1855
  220. package/dist/client-plugins-DQQ1adXM.d.mts +0 -1855
  221. package/dist/client-plugins.cjs +0 -415
  222. package/dist/client-plugins.cjs.map +0 -1
  223. package/dist/client-plugins.d.mts +0 -22
  224. package/dist/client-plugins.d.ts +0 -22
  225. package/dist/client-plugins.mjs +0 -10
  226. package/dist/client-plugins.mjs.map +0 -1
  227. package/dist/client.cjs +0 -5402
  228. package/dist/client.cjs.map +0 -1
  229. package/dist/client.d.mts +0 -447
  230. package/dist/client.d.ts +0 -447
  231. package/dist/client.mjs +0 -110
  232. package/dist/client.mjs.map +0 -1
  233. package/dist/config.cjs +0 -38
  234. package/dist/config.cjs.map +0 -1
  235. package/dist/config.d.mts +0 -29
  236. package/dist/config.d.ts +0 -29
  237. package/dist/config.mjs +0 -10
  238. package/dist/config.mjs.map +0 -1
  239. package/dist/cron.cjs +0 -406
  240. package/dist/cron.cjs.map +0 -1
  241. package/dist/cron.d.mts +0 -78
  242. package/dist/cron.d.ts +0 -78
  243. package/dist/cron.mjs +0 -30
  244. package/dist/cron.mjs.map +0 -1
  245. package/dist/deferred.cjs +0 -438
  246. package/dist/deferred.cjs.map +0 -1
  247. package/dist/deferred.d.mts +0 -42
  248. package/dist/deferred.d.ts +0 -42
  249. package/dist/deferred.mjs +0 -28
  250. package/dist/deferred.mjs.map +0 -1
  251. package/dist/deployment.cjs +0 -199
  252. package/dist/deployment.cjs.map +0 -1
  253. package/dist/deployment.d.mts +0 -34
  254. package/dist/deployment.d.ts +0 -34
  255. package/dist/deployment.mjs +0 -38
  256. package/dist/deployment.mjs.map +0 -1
  257. package/dist/devtools-LVC3VB5P.mjs +0 -370
  258. package/dist/devtools-LVC3VB5P.mjs.map +0 -1
  259. package/dist/devtools-client-3XRTBND5.mjs +0 -216
  260. package/dist/devtools-client-3XRTBND5.mjs.map +0 -1
  261. package/dist/devtools-ui-NJKFORTG.mjs +0 -1349
  262. package/dist/devtools-ui-NJKFORTG.mjs.map +0 -1
  263. package/dist/docs.cjs +0 -5553
  264. package/dist/docs.cjs.map +0 -1
  265. package/dist/docs.d.mts +0 -69
  266. package/dist/docs.d.ts +0 -69
  267. package/dist/docs.mjs +0 -46
  268. package/dist/docs.mjs.map +0 -1
  269. package/dist/env-types.cjs +0 -223
  270. package/dist/env-types.cjs.map +0 -1
  271. package/dist/env-types.d.mts +0 -11
  272. package/dist/env-types.d.ts +0 -11
  273. package/dist/env-types.mjs +0 -9
  274. package/dist/env-types.mjs.map +0 -1
  275. package/dist/env.cjs +0 -215
  276. package/dist/env.cjs.map +0 -1
  277. package/dist/env.d.mts +0 -45
  278. package/dist/env.d.ts +0 -45
  279. package/dist/env.mjs +0 -22
  280. package/dist/env.mjs.map +0 -1
  281. package/dist/environment/vite.d.mts +0 -22
  282. package/dist/environment/vite.d.ts +0 -22
  283. package/dist/environment.cjs +0 -96
  284. package/dist/environment.cjs.map +0 -1
  285. package/dist/environment.d.mts +0 -18
  286. package/dist/environment.d.ts +0 -18
  287. package/dist/environment.mjs +0 -14
  288. package/dist/environment.mjs.map +0 -1
  289. package/dist/headers.cjs +0 -126
  290. package/dist/headers.cjs.map +0 -1
  291. package/dist/headers.d.mts +0 -22
  292. package/dist/headers.d.ts +0 -22
  293. package/dist/headers.mjs +0 -12
  294. package/dist/headers.mjs.map +0 -1
  295. package/dist/i18n/client.d.mts +0 -32
  296. package/dist/i18n/client.d.ts +0 -32
  297. package/dist/i18n/index.d.mts +0 -20
  298. package/dist/i18n/index.d.ts +0 -20
  299. package/dist/i18n/server.d.mts +0 -30
  300. package/dist/i18n/server.d.ts +0 -30
  301. package/dist/image/server.d.mts +0 -37
  302. package/dist/image/server.d.ts +0 -37
  303. package/dist/image/sharp.d.mts +0 -7
  304. package/dist/image/sharp.d.ts +0 -7
  305. package/dist/image-config-Duob7wER.d.mts +0 -50
  306. package/dist/image-config-Duob7wER.d.ts +0 -50
  307. package/dist/image.cjs +0 -209
  308. package/dist/image.cjs.map +0 -1
  309. package/dist/image.d.mts +0 -39
  310. package/dist/image.d.ts +0 -39
  311. package/dist/image.mjs +0 -165
  312. package/dist/image.mjs.map +0 -1
  313. package/dist/index.cjs +0 -41822
  314. package/dist/index.cjs.map +0 -1
  315. package/dist/index.d.mts +0 -452
  316. package/dist/index.d.ts +0 -452
  317. package/dist/index.mjs +0 -973
  318. package/dist/index.mjs.map +0 -1
  319. package/dist/integration-api-CHT2OKAf.d.mts +0 -93
  320. package/dist/integration-api-CHT2OKAf.d.ts +0 -93
  321. package/dist/integration-orm-GQLGU66X.mjs +0 -13
  322. package/dist/integration-orm-GQLGU66X.mjs.map +0 -1
  323. package/dist/integrations.cjs +0 -2820
  324. package/dist/integrations.cjs.map +0 -1
  325. package/dist/integrations.d.mts +0 -22
  326. package/dist/integrations.d.ts +0 -22
  327. package/dist/integrations.mjs +0 -51
  328. package/dist/integrations.mjs.map +0 -1
  329. package/dist/internal/build-runtime.d.mts +0 -39
  330. package/dist/internal/build-runtime.d.ts +0 -39
  331. package/dist/internal/client-runtime.d.mts +0 -2
  332. package/dist/internal/client-runtime.d.ts +0 -2
  333. package/dist/internal/config-runtime.d.mts +0 -39
  334. package/dist/internal/config-runtime.d.ts +0 -39
  335. package/dist/internal/production-node-env.d.mts +0 -12
  336. package/dist/internal/production-node-env.d.ts +0 -12
  337. package/dist/internal/production-runtime.d.mts +0 -39
  338. package/dist/internal/production-runtime.d.ts +0 -39
  339. package/dist/layers-VWVDTPUZ.mjs +0 -16
  340. package/dist/layers-VWVDTPUZ.mjs.map +0 -1
  341. package/dist/manager-THKFTOFE.mjs +0 -10
  342. package/dist/manager-THKFTOFE.mjs.map +0 -1
  343. package/dist/markdown.cjs +0 -299
  344. package/dist/markdown.cjs.map +0 -1
  345. package/dist/markdown.d.mts +0 -43
  346. package/dist/markdown.d.ts +0 -43
  347. package/dist/markdown.mjs +0 -14
  348. package/dist/markdown.mjs.map +0 -1
  349. package/dist/metadata-BAPg_Nmo.d.ts +0 -22
  350. package/dist/metadata-_6i9oFG3.d.mts +0 -22
  351. package/dist/middleware.cjs +0 -2148
  352. package/dist/middleware.cjs.map +0 -1
  353. package/dist/middleware.d.mts +0 -164
  354. package/dist/middleware.d.ts +0 -164
  355. package/dist/middleware.mjs +0 -49
  356. package/dist/middleware.mjs.map +0 -1
  357. package/dist/navigation-errors-Dvwpzaer.d.mts +0 -13
  358. package/dist/navigation-errors-Dvwpzaer.d.ts +0 -13
  359. package/dist/navigation.cjs +0 -1329
  360. package/dist/navigation.cjs.map +0 -1
  361. package/dist/navigation.d.mts +0 -14
  362. package/dist/navigation.d.ts +0 -14
  363. package/dist/navigation.mjs +0 -33
  364. package/dist/navigation.mjs.map +0 -1
  365. package/dist/nitro-QO5LV6QK.mjs +0 -689
  366. package/dist/nitro-QO5LV6QK.mjs.map +0 -1
  367. package/dist/observability.cjs +0 -186
  368. package/dist/observability.cjs.map +0 -1
  369. package/dist/observability.d.mts +0 -335
  370. package/dist/observability.d.ts +0 -335
  371. package/dist/observability.mjs +0 -16
  372. package/dist/observability.mjs.map +0 -1
  373. package/dist/params-BALtrRim.d.ts +0 -15
  374. package/dist/params-ry-lxqmy.d.mts +0 -15
  375. package/dist/plugin-BJDf43dc.d.mts +0 -165
  376. package/dist/plugin-BJDf43dc.d.ts +0 -165
  377. package/dist/plugin.cjs +0 -23225
  378. package/dist/plugin.d.mts +0 -22
  379. package/dist/plugin.d.ts +0 -22
  380. package/dist/production-runtime-BoJDc5mc.d.ts +0 -79
  381. package/dist/production-runtime-C_B79w2P.d.mts +0 -28
  382. package/dist/production-runtime-DDEM1D2q.d.ts +0 -28
  383. package/dist/production-runtime-DPfgMV9Y.d.mts +0 -79
  384. package/dist/query/client.d.mts +0 -61
  385. package/dist/query/client.d.ts +0 -61
  386. package/dist/query/index.d.mts +0 -90
  387. package/dist/query/index.d.ts +0 -90
  388. package/dist/query/parsers.d.mts +0 -25
  389. package/dist/query/parsers.d.ts +0 -25
  390. package/dist/query/server.d.mts +0 -55
  391. package/dist/query/server.d.ts +0 -55
  392. package/dist/request-BrFBuc8G.d.mts +0 -6
  393. package/dist/request-BslSZIRz.d.ts +0 -6
  394. package/dist/request.d.mts +0 -2
  395. package/dist/request.d.ts +0 -2
  396. package/dist/resolver-C6iecsDV.d.ts +0 -14
  397. package/dist/resolver-DlOPpjkB.d.mts +0 -14
  398. package/dist/route-runtime-DoOHzCAD.d.mts +0 -38
  399. package/dist/route-runtime-DoOHzCAD.d.ts +0 -38
  400. package/dist/router.d.mts +0 -36
  401. package/dist/router.d.ts +0 -36
  402. package/dist/routes.d.mts +0 -224
  403. package/dist/routes.d.ts +0 -224
  404. package/dist/runtime-9nQjVM7X.d.mts +0 -206
  405. package/dist/runtime-B6GvwDS1.d.ts +0 -27
  406. package/dist/runtime-DeAAZ6gO.d.mts +0 -27
  407. package/dist/runtime-DgeS2skB.d.ts +0 -206
  408. package/dist/server-action-security.d.mts +0 -43
  409. package/dist/server-action-security.d.ts +0 -43
  410. package/dist/server-fn-client.d.mts +0 -32
  411. package/dist/server-fn-client.d.ts +0 -32
  412. package/dist/server-fn.d.mts +0 -93
  413. package/dist/server-fn.d.ts +0 -93
  414. package/dist/server-plugins.d.mts +0 -55
  415. package/dist/server-plugins.d.ts +0 -55
  416. package/dist/server-query-client.d.mts +0 -50
  417. package/dist/server-query-client.d.ts +0 -50
  418. package/dist/server-query.d.mts +0 -36
  419. package/dist/server-query.d.ts +0 -36
  420. package/dist/server.d.mts +0 -48
  421. package/dist/server.d.ts +0 -48
  422. package/dist/storage.d.mts +0 -52
  423. package/dist/storage.d.ts +0 -52
  424. package/dist/testing.d.mts +0 -101
  425. package/dist/testing.d.ts +0 -101
  426. package/dist/transport-BmbGTXA5.d.mts +0 -49
  427. package/dist/transport-BmbGTXA5.d.ts +0 -49
  428. package/dist/types-BH1lhg5G.d.mts +0 -81
  429. package/dist/types-BH1lhg5G.d.ts +0 -81
  430. package/dist/types-C9N-nk5R.d.mts +0 -53
  431. package/dist/types-C9N-nk5R.d.ts +0 -53
  432. package/dist/types-D1A6-XvH.d.mts +0 -73
  433. package/dist/types-D1A6-XvH.d.ts +0 -73
  434. package/dist/utils-CHXlMDkg.d.mts +0 -23
  435. package/dist/utils-Drsyz1Vj.d.ts +0 -23
  436. package/dist/version.d.mts +0 -3
  437. package/dist/version.d.ts +0 -3
  438. package/dist/vite.d.mts +0 -22
  439. package/dist/vite.d.ts +0 -22
  440. package/dist/workflows.d.mts +0 -110
  441. package/dist/workflows.d.ts +0 -110
@@ -1,158 +0,0 @@
1
- import {
2
- __name
3
- } from "./chunk-CGILA3WO.mjs";
4
-
5
- // src/server-fn-client.ts
6
- import { useCallback, useMemo, useRef, useState } from "react";
7
- function useServerFn(serverFn, options = {}) {
8
- const { initialResult = null, resetOnSubmit = true } = options;
9
- const callbacksRef = useRef({});
10
- const requestIdRef = useRef(0);
11
- const initialState = {
12
- pendingCount: 0,
13
- status: "idle",
14
- result: initialResult,
15
- error: null
16
- };
17
- const stateRef = useRef(initialState);
18
- const [state, setState] = useState(initialState);
19
- const setActionState = useCallback(
20
- (value) => {
21
- setState((current) => {
22
- const next = typeof value === "function" ? value(current) : value;
23
- stateRef.current = next;
24
- return next;
25
- });
26
- },
27
- []
28
- );
29
- callbacksRef.current = {
30
- onError: options.onError,
31
- onSettled: options.onSettled,
32
- onSuccess: options.onSuccess,
33
- throwOnFormError: options.throwOnFormError
34
- };
35
- const submit = useCallback(
36
- async (input) => {
37
- const requestId = ++requestIdRef.current;
38
- const formData = isFormData(input) ? input : void 0;
39
- const previousResult = stateRef.current.result;
40
- const optimisticResult = options.optimistic?.({
41
- input,
42
- formData,
43
- current: previousResult
44
- });
45
- const hasOptimisticResult = optimisticResult !== void 0;
46
- setActionState((current) => ({
47
- pendingCount: current.pendingCount + 1,
48
- status: "pending",
49
- result: hasOptimisticResult ? optimisticResult : resetOnSubmit ? null : current.result,
50
- error: null
51
- }));
52
- try {
53
- const result = await serverFn(input);
54
- const isLatestRequest = requestId === requestIdRef.current;
55
- setActionState((current) => {
56
- const pendingCount = Math.max(0, current.pendingCount - 1);
57
- if (!isLatestRequest) {
58
- return {
59
- ...current,
60
- pendingCount,
61
- status: pendingCount > 0 ? "pending" : current.status
62
- };
63
- }
64
- return {
65
- pendingCount,
66
- status: pendingCount > 0 ? "pending" : "success",
67
- result,
68
- error: null
69
- };
70
- });
71
- if (isLatestRequest) {
72
- callbacksRef.current.onSuccess?.(result);
73
- callbacksRef.current.onSettled?.(result, null);
74
- }
75
- return result;
76
- } catch (cause) {
77
- const error = normalizeServerFnError(cause);
78
- const isLatestRequest = requestId === requestIdRef.current;
79
- setActionState((current) => {
80
- const pendingCount = Math.max(0, current.pendingCount - 1);
81
- if (!isLatestRequest) {
82
- return {
83
- ...current,
84
- pendingCount,
85
- status: pendingCount > 0 ? "pending" : current.status
86
- };
87
- }
88
- return {
89
- pendingCount,
90
- status: pendingCount > 0 ? "pending" : "error",
91
- result: hasOptimisticResult && options.rollbackOnError ? previousResult : resetOnSubmit ? null : current.result,
92
- error
93
- };
94
- });
95
- if (isLatestRequest) {
96
- callbacksRef.current.onError?.(error);
97
- callbacksRef.current.onSettled?.(null, error);
98
- }
99
- throw error;
100
- }
101
- },
102
- [options.optimistic, options.rollbackOnError, resetOnSubmit, serverFn, setActionState]
103
- );
104
- const formAction = useCallback(
105
- async (formData) => {
106
- try {
107
- await submit(formData);
108
- } catch (error) {
109
- if (callbacksRef.current.throwOnFormError) {
110
- throw error;
111
- }
112
- }
113
- },
114
- [submit]
115
- );
116
- const reset = useCallback(() => {
117
- requestIdRef.current += 1;
118
- setActionState({
119
- pendingCount: 0,
120
- status: "idle",
121
- result: initialResult,
122
- error: null
123
- });
124
- }, [initialResult, setActionState]);
125
- return useMemo(
126
- () => ({
127
- pending: state.pendingCount > 0,
128
- status: state.status,
129
- result: state.result,
130
- error: state.error,
131
- submit,
132
- formAction,
133
- reset
134
- }),
135
- [formAction, reset, state.error, state.pendingCount, state.result, state.status, submit]
136
- );
137
- }
138
- __name(useServerFn, "useServerFn");
139
- function normalizeServerFnError(error) {
140
- if (error instanceof Error) return error;
141
- const normalized = new Error(typeof error === "string" ? error : "Server function failed");
142
- normalized.cause = error;
143
- return normalized;
144
- }
145
- __name(normalizeServerFnError, "normalizeServerFnError");
146
- function isFormData(value) {
147
- if (!value || typeof value !== "object") return false;
148
- if (typeof FormData !== "undefined" && value instanceof FormData) {
149
- return true;
150
- }
151
- return Object.prototype.toString.call(value) === "[object FormData]" && typeof value.entries === "function";
152
- }
153
- __name(isFormData, "isFormData");
154
-
155
- export {
156
- useServerFn
157
- };
158
- //# sourceMappingURL=chunk-32W4QEJP.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server-fn-client.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useMemo, useRef, useState } from \"react\";\nimport type { ServerFn } from \"./server-fn\";\n\nexport type ServerFnActionStatus = \"idle\" | \"pending\" | \"success\" | \"error\";\n\nexport type ServerFnSubmit<TInput, TResult> = [unknown] extends [TInput]\n ? (input?: TInput | FormData) => Promise<TResult>\n : (input: TInput | FormData) => Promise<TResult>;\n\nexport type ServerFnOptimisticContext<TInput, TResult> = {\n input: TInput | FormData | undefined;\n formData?: FormData;\n current: TResult | null;\n};\n\nexport type UseServerFnOptions<TResult, TError extends Error = Error, TInput = unknown> = {\n initialResult?: TResult | null;\n resetOnSubmit?: boolean;\n throwOnFormError?: boolean;\n optimistic?: (context: ServerFnOptimisticContext<TInput, TResult>) => TResult | null | undefined;\n rollbackOnError?: boolean;\n onSuccess?: (result: TResult) => void;\n onError?: (error: TError) => void;\n onSettled?: (result: TResult | null, error: TError | null) => void;\n};\n\nexport type UseServerFnReturn<TInput, TResult, TError extends Error = Error> = {\n pending: boolean;\n status: ServerFnActionStatus;\n result: TResult | null;\n error: TError | null;\n submit: ServerFnSubmit<TInput, TResult>;\n formAction: (formData: FormData) => Promise<void>;\n reset: () => void;\n};\n\ntype ServerFnActionState<TResult, TError extends Error> = {\n pendingCount: number;\n status: ServerFnActionStatus;\n result: TResult | null;\n error: TError | null;\n};\n\ntype ServerFnActionCallbacks<TResult, TError extends Error> = Pick<\n UseServerFnOptions<TResult, TError, unknown>,\n \"onError\" | \"onSettled\" | \"onSuccess\" | \"throwOnFormError\"\n>;\n\nexport function useServerFn<TInput, TResult, TError extends Error = Error>(\n serverFn: ServerFn<TInput, TResult>,\n options: UseServerFnOptions<TResult, TError, TInput> = {},\n): UseServerFnReturn<TInput, TResult, TError> {\n const { initialResult = null, resetOnSubmit = true } = options;\n const callbacksRef = useRef<ServerFnActionCallbacks<TResult, TError>>({});\n const requestIdRef = useRef(0);\n const initialState: ServerFnActionState<TResult, TError> = {\n pendingCount: 0,\n status: \"idle\",\n result: initialResult,\n error: null,\n };\n const stateRef = useRef<ServerFnActionState<TResult, TError>>(initialState);\n const [state, setState] = useState<ServerFnActionState<TResult, TError>>(initialState);\n const setActionState = useCallback(\n (\n value:\n | ServerFnActionState<TResult, TError>\n | ((current: ServerFnActionState<TResult, TError>) => ServerFnActionState<TResult, TError>),\n ) => {\n setState((current) => {\n const next = typeof value === \"function\" ? value(current) : value;\n stateRef.current = next;\n return next;\n });\n },\n [],\n );\n\n callbacksRef.current = {\n onError: options.onError,\n onSettled: options.onSettled,\n onSuccess: options.onSuccess,\n throwOnFormError: options.throwOnFormError,\n };\n\n const submit = useCallback(\n async (input?: TInput | FormData) => {\n const requestId = ++requestIdRef.current;\n const formData = isFormData(input) ? input : undefined;\n const previousResult = stateRef.current.result;\n const optimisticResult = options.optimistic?.({\n input,\n formData,\n current: previousResult,\n });\n const hasOptimisticResult = optimisticResult !== undefined;\n\n setActionState((current) => ({\n pendingCount: current.pendingCount + 1,\n status: \"pending\",\n result: hasOptimisticResult ? optimisticResult : resetOnSubmit ? null : current.result,\n error: null,\n }));\n\n try {\n const result = await serverFn(input as TInput | FormData);\n const isLatestRequest = requestId === requestIdRef.current;\n\n setActionState((current) => {\n const pendingCount = Math.max(0, current.pendingCount - 1);\n\n if (!isLatestRequest) {\n return {\n ...current,\n pendingCount,\n status: pendingCount > 0 ? \"pending\" : current.status,\n };\n }\n\n return {\n pendingCount,\n status: pendingCount > 0 ? \"pending\" : \"success\",\n result,\n error: null,\n };\n });\n\n if (isLatestRequest) {\n callbacksRef.current.onSuccess?.(result);\n callbacksRef.current.onSettled?.(result, null);\n }\n\n return result;\n } catch (cause) {\n const error = normalizeServerFnError(cause) as TError;\n const isLatestRequest = requestId === requestIdRef.current;\n\n setActionState((current) => {\n const pendingCount = Math.max(0, current.pendingCount - 1);\n\n if (!isLatestRequest) {\n return {\n ...current,\n pendingCount,\n status: pendingCount > 0 ? \"pending\" : current.status,\n };\n }\n\n return {\n pendingCount,\n status: pendingCount > 0 ? \"pending\" : \"error\",\n result:\n hasOptimisticResult && options.rollbackOnError\n ? previousResult\n : resetOnSubmit\n ? null\n : current.result,\n error,\n };\n });\n\n if (isLatestRequest) {\n callbacksRef.current.onError?.(error);\n callbacksRef.current.onSettled?.(null, error);\n }\n\n throw error;\n }\n },\n [options.optimistic, options.rollbackOnError, resetOnSubmit, serverFn, setActionState],\n ) as ServerFnSubmit<TInput, TResult>;\n\n const formAction = useCallback(\n async (formData: FormData) => {\n try {\n await submit(formData as TInput | FormData);\n } catch (error) {\n if (callbacksRef.current.throwOnFormError) {\n throw error;\n }\n }\n },\n [submit],\n );\n\n const reset = useCallback(() => {\n requestIdRef.current += 1;\n setActionState({\n pendingCount: 0,\n status: \"idle\",\n result: initialResult,\n error: null,\n });\n }, [initialResult, setActionState]);\n\n return useMemo(\n () => ({\n pending: state.pendingCount > 0,\n status: state.status,\n result: state.result,\n error: state.error,\n submit,\n formAction,\n reset,\n }),\n [formAction, reset, state.error, state.pendingCount, state.result, state.status, submit],\n );\n}\n\nfunction normalizeServerFnError(error: unknown) {\n if (error instanceof Error) return error;\n\n const normalized = new Error(typeof error === \"string\" ? error : \"Server function failed\");\n (normalized as Error & { cause?: unknown }).cause = error;\n return normalized;\n}\n\nfunction isFormData(value: unknown): value is FormData {\n if (!value || typeof value !== \"object\") return false;\n\n if (typeof FormData !== \"undefined\" && value instanceof FormData) {\n return true;\n }\n\n return (\n Object.prototype.toString.call(value) === \"[object FormData]\" &&\n typeof (value as { entries?: unknown }).entries === \"function\"\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,41 +0,0 @@
1
- import {
2
- useRouter
3
- } from "./chunk-VVKWFZAH.mjs";
4
- import {
5
- __name
6
- } from "./chunk-CGILA3WO.mjs";
7
-
8
- // src/navigation.ts
9
- function useRouter2() {
10
- const router = useRouter();
11
- return {
12
- push: router.push,
13
- replace: router.replace,
14
- back: router.back,
15
- forward: router.forward,
16
- refresh() {
17
- if (typeof window !== "undefined") {
18
- window.location.reload();
19
- }
20
- },
21
- prefetch(_href) {
22
- return Promise.resolve();
23
- }
24
- };
25
- }
26
- __name(useRouter2, "useRouter");
27
- function usePathname() {
28
- return useRouter().pathname;
29
- }
30
- __name(usePathname, "usePathname");
31
- function useSearchParams() {
32
- return useRouter().searchParams;
33
- }
34
- __name(useSearchParams, "useSearchParams");
35
-
36
- export {
37
- useRouter2 as useRouter,
38
- usePathname,
39
- useSearchParams
40
- };
41
- //# sourceMappingURL=chunk-3U3ZUQAQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/navigation.ts"],"sourcesContent":["import { useRouter as useFarmRouter } from \"./client/router\";\n\nexport {\n getFarmRedirectError,\n isFarmNotFoundError,\n isFarmRedirectError,\n notFound,\n permanentRedirect,\n redirect,\n} from \"./navigation-errors\";\nexport type { FarmRedirectSignal, FarmRedirectStatus } from \"./navigation-errors\";\n\nexport function useRouter() {\n const router = useFarmRouter();\n return {\n push: router.push,\n replace: router.replace,\n back: router.back,\n forward: router.forward,\n refresh() {\n if (typeof window !== \"undefined\") {\n window.location.reload();\n }\n },\n prefetch(_href: string) {\n return Promise.resolve();\n },\n };\n}\n\nexport function usePathname(): string {\n return useFarmRouter().pathname;\n}\n\nexport function useSearchParams(): URLSearchParams {\n return useFarmRouter().searchParams;\n}\n"],"mappings":";;;;;;;;AAYO,SAASA,aAAY;AAC1B,QAAM,SAAS,UAAc;AAC7B,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,SAAS,OAAO;AAAA,IAChB,MAAM,OAAO;AAAA,IACb,SAAS,OAAO;AAAA,IAChB,UAAU;AACR,UAAI,OAAO,WAAW,aAAa;AACjC,eAAO,SAAS,OAAO;AAAA,MACzB;AAAA,IACF;AAAA,IACA,SAAS,OAAe;AACtB,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAAA,EACF;AACF;AAhBgB,OAAAA,YAAA;AAkBT,SAAS,cAAsB;AACpC,SAAO,UAAc,EAAE;AACzB;AAFgB;AAIT,SAAS,kBAAmC;AACjD,SAAO,UAAc,EAAE;AACzB;AAFgB;","names":["useRouter"]}
@@ -1,452 +0,0 @@
1
- import {
2
- __name
3
- } from "./chunk-CGILA3WO.mjs";
4
-
5
- // src/image-server.ts
6
- var _FarmImageRequestError = class _FarmImageRequestError extends Error {
7
- constructor(code, status, message) {
8
- super(message);
9
- this.name = "FarmImageRequestError";
10
- this.code = code;
11
- this.status = status;
12
- }
13
- };
14
- __name(_FarmImageRequestError, "FarmImageRequestError");
15
- var FarmImageRequestError = _FarmImageRequestError;
16
- function createFarmImageHandler(config, options) {
17
- const fetcher = options.fetch ?? globalThis.fetch;
18
- const cache = new FarmImageMemoryCache(options.cacheEntries ?? 100);
19
- const allowedWidths = /* @__PURE__ */ new Set([...config.deviceSizes, ...config.imageSizes]);
20
- const allowedQualities = new Set(config.qualities);
21
- return /* @__PURE__ */ __name(async function handleFarmImage(request) {
22
- const requestUrl = new URL(request.url);
23
- if (requestUrl.pathname !== config.path) return null;
24
- try {
25
- if (config.provider === "none") {
26
- throw new FarmImageRequestError(
27
- "DISALLOWED_SOURCE",
28
- 404,
29
- "The Farm image optimizer is disabled"
30
- );
31
- }
32
- if (request.method !== "GET" && request.method !== "HEAD") {
33
- throw new FarmImageRequestError(
34
- "INVALID_METHOD",
35
- 405,
36
- "The Farm image optimizer only accepts GET and HEAD"
37
- );
38
- }
39
- const sourceUrl = await resolveImageSourceUrl(requestUrl, config, options.validateRemoteUrl);
40
- const width = parseAllowedInteger(requestUrl.searchParams.get("w"), allowedWidths, "width");
41
- const quality = parseAllowedInteger(
42
- requestUrl.searchParams.get("q"),
43
- allowedQualities,
44
- "quality"
45
- );
46
- const accept = request.headers.get("accept") ?? "";
47
- const cacheKey = `${sourceUrl.href}
48
- ${width}
49
- ${quality}
50
- ${accept}`;
51
- let optimized = cache.get(cacheKey);
52
- if (!optimized) {
53
- const fetchedSource = await fetchImageSource(
54
- sourceUrl,
55
- requestUrl.origin,
56
- config,
57
- fetcher,
58
- options.validateRemoteUrl,
59
- request.signal
60
- );
61
- const source = await readResponseWithLimit(
62
- fetchedSource.response,
63
- config.maximumResponseBody
64
- );
65
- const sourceType = detectImageContentType(source);
66
- validateSourceType(sourceType, config);
67
- throwIfAborted(request.signal);
68
- const result = await options.transform({
69
- source,
70
- sourceUrl: fetchedSource.url,
71
- sourceType,
72
- width,
73
- quality,
74
- accept,
75
- formats: config.formats,
76
- signal: request.signal
77
- });
78
- throwIfAborted(request.signal);
79
- validateTransformedResult(result, config);
80
- optimized = {
81
- ...result,
82
- etag: createImageEtag(result.body),
83
- cacheControl: `public, max-age=${config.minimumCacheTTL}, stale-while-revalidate=${Math.max(
84
- config.minimumCacheTTL,
85
- 60
86
- )}`,
87
- expiresAt: Date.now() + config.minimumCacheTTL * 1e3
88
- };
89
- cache.set(cacheKey, optimized);
90
- }
91
- return createOptimizedImageResponse(request, optimized, config);
92
- } catch (error) {
93
- if (!(error instanceof FarmImageRequestError) && !isAbortError(error)) {
94
- options.onError?.(error, request);
95
- }
96
- return createFarmImageErrorResponse(error);
97
- }
98
- }, "handleFarmImage");
99
- }
100
- __name(createFarmImageHandler, "createFarmImageHandler");
101
- function createCloudflareImageTransformer(fetcher = globalThis.fetch) {
102
- return async ({ sourceUrl, width, quality, accept, formats, signal }) => {
103
- const format = selectOutputFormat(accept, formats);
104
- const response = await fetcher(sourceUrl, {
105
- signal,
106
- headers: { accept: "image/*" },
107
- cf: {
108
- image: {
109
- fit: "scale-down",
110
- width,
111
- quality,
112
- ...format ? { format: format === "image/avif" ? "avif" : "webp" } : {}
113
- }
114
- }
115
- });
116
- if (!response.ok) {
117
- throw new FarmImageRequestError(
118
- "UNSUPPORTED_IMAGE",
119
- response.status === 404 ? 404 : 502,
120
- "Cloudflare could not transform the source image"
121
- );
122
- }
123
- const body = new Uint8Array(await response.arrayBuffer());
124
- return {
125
- body,
126
- contentType: normalizeImageContentType(response.headers.get("content-type")) || detectImageContentType(body)
127
- };
128
- };
129
- }
130
- __name(createCloudflareImageTransformer, "createCloudflareImageTransformer");
131
- function selectOutputFormat(accept, formats) {
132
- const normalizedAccept = accept.toLowerCase();
133
- return formats.find((format) => normalizedAccept.includes(format));
134
- }
135
- __name(selectOutputFormat, "selectOutputFormat");
136
- function isPrivateImageAddress(address) {
137
- const value = address.toLowerCase().replace(/^\[|\]$/g, "");
138
- if (value === "::" || value === "::1") return true;
139
- if (/^(?:fc|fd)[0-9a-f]{2}:/.test(value) || /^fe[89ab][0-9a-f]:/.test(value)) return true;
140
- if (value.startsWith("::ffff:")) return isPrivateImageAddress(value.slice(7));
141
- const parts = value.split(".");
142
- if (parts.length !== 4 || parts.some((part) => !/^\d{1,3}$/.test(part))) return false;
143
- const octets = parts.map(Number);
144
- if (octets.some((part) => part > 255)) return false;
145
- const [a, b] = octets;
146
- return a === 0 || a === 10 || a === 127 || a === 100 && b >= 64 && b <= 127 || a === 169 && b === 254 || a === 172 && b >= 16 && b <= 31 || a === 192 && (b === 0 || b === 168) || a === 198 && (b === 18 || b === 19) || a >= 224;
147
- }
148
- __name(isPrivateImageAddress, "isPrivateImageAddress");
149
- function parseAllowedInteger(raw, allowed, name) {
150
- if (!raw || !/^\d+$/.test(raw)) {
151
- throw new FarmImageRequestError(
152
- "INVALID_PARAMETER",
153
- 400,
154
- `Image ${name} must be an allowed integer`
155
- );
156
- }
157
- const value = Number(raw);
158
- if (!allowed.has(value)) {
159
- throw new FarmImageRequestError("INVALID_PARAMETER", 400, `Image ${name} is not configured`);
160
- }
161
- return value;
162
- }
163
- __name(parseAllowedInteger, "parseAllowedInteger");
164
- async function resolveImageSourceUrl(requestUrl, config, validateRemoteUrl) {
165
- const raw = requestUrl.searchParams.get("url");
166
- if (!raw || raw.length > 4096 || raw.startsWith("//")) {
167
- throw new FarmImageRequestError("INVALID_PARAMETER", 400, "Invalid image source URL");
168
- }
169
- let sourceUrl;
170
- try {
171
- sourceUrl = raw.startsWith("/") ? new URL(raw, requestUrl.origin) : new URL(raw);
172
- } catch {
173
- throw new FarmImageRequestError("INVALID_PARAMETER", 400, "Invalid image source URL");
174
- }
175
- await validateImageSourceUrl(sourceUrl, requestUrl.origin, config, validateRemoteUrl);
176
- return sourceUrl;
177
- }
178
- __name(resolveImageSourceUrl, "resolveImageSourceUrl");
179
- async function validateImageSourceUrl(sourceUrl, requestOrigin, config, validateRemoteUrl) {
180
- if (sourceUrl.protocol !== "http:" && sourceUrl.protocol !== "https:") {
181
- throw new FarmImageRequestError("DISALLOWED_SOURCE", 400, "Unsupported image protocol");
182
- }
183
- if (sourceUrl.username || sourceUrl.password || sourceUrl.hash) {
184
- throw new FarmImageRequestError("DISALLOWED_SOURCE", 400, "Unsafe image source URL");
185
- }
186
- if (sourceUrl.origin === requestOrigin) {
187
- if (sourceUrl.pathname === config.path || !matchesLocalPatterns(sourceUrl, config.localPatterns)) {
188
- throw new FarmImageRequestError(
189
- "DISALLOWED_SOURCE",
190
- 400,
191
- "Local image source is not allowed"
192
- );
193
- }
194
- return;
195
- }
196
- if (!matchesRemoteSource(sourceUrl, config)) {
197
- throw new FarmImageRequestError("DISALLOWED_SOURCE", 400, "Remote image source is not allowed");
198
- }
199
- if (!config.dangerouslyAllowLocalIP && isPrivateImageAddress(sourceUrl.hostname)) {
200
- throw new FarmImageRequestError("PRIVATE_SOURCE", 400, "Private image source is not allowed");
201
- }
202
- if (!config.dangerouslyAllowLocalIP) {
203
- await validateRemoteUrl?.(sourceUrl);
204
- }
205
- }
206
- __name(validateImageSourceUrl, "validateImageSourceUrl");
207
- async function fetchImageSource(initialUrl, requestOrigin, config, fetcher, validateRemoteUrl, signal) {
208
- let currentUrl = initialUrl;
209
- for (let redirectCount = 0; ; redirectCount += 1) {
210
- throwIfAborted(signal);
211
- const response = await fetcher(currentUrl, {
212
- method: "GET",
213
- redirect: "manual",
214
- signal,
215
- headers: {
216
- accept: "image/avif,image/webp,image/*,*/*;q=0.8",
217
- "user-agent": "Farm.js Image Optimizer"
218
- }
219
- });
220
- if (![301, 302, 303, 307, 308].includes(response.status)) {
221
- if (!response.ok) {
222
- throw new FarmImageRequestError(
223
- "UNSUPPORTED_IMAGE",
224
- response.status === 404 ? 404 : 502,
225
- "Could not fetch source image"
226
- );
227
- }
228
- return { response, url: currentUrl };
229
- }
230
- if (redirectCount >= config.maximumRedirects) {
231
- throw new FarmImageRequestError(
232
- "TOO_MANY_REDIRECTS",
233
- 400,
234
- "Source image exceeded the redirect limit"
235
- );
236
- }
237
- const location = response.headers.get("location");
238
- if (!location) {
239
- throw new FarmImageRequestError("UNSUPPORTED_IMAGE", 502, "Invalid image redirect");
240
- }
241
- currentUrl = new URL(location, currentUrl);
242
- await validateImageSourceUrl(currentUrl, requestOrigin, config, validateRemoteUrl);
243
- }
244
- }
245
- __name(fetchImageSource, "fetchImageSource");
246
- async function readResponseWithLimit(response, limit) {
247
- const contentLength = response.headers.get("content-length");
248
- if (contentLength && Number(contentLength) > limit) {
249
- throw new FarmImageRequestError("BODY_TOO_LARGE", 413, "Source image is too large");
250
- }
251
- if (!response.body) return new Uint8Array();
252
- const reader = response.body.getReader();
253
- const chunks = [];
254
- let byteLength = 0;
255
- while (true) {
256
- const { done, value } = await reader.read();
257
- if (done) break;
258
- byteLength += value.byteLength;
259
- if (byteLength > limit) {
260
- await reader.cancel();
261
- throw new FarmImageRequestError("BODY_TOO_LARGE", 413, "Source image is too large");
262
- }
263
- chunks.push(value);
264
- }
265
- const result = new Uint8Array(byteLength);
266
- let offset = 0;
267
- for (const chunk of chunks) {
268
- result.set(chunk, offset);
269
- offset += chunk.byteLength;
270
- }
271
- return result;
272
- }
273
- __name(readResponseWithLimit, "readResponseWithLimit");
274
- function detectImageContentType(bytes) {
275
- if (bytes.length >= 8 && bytes[0] === 137 && bytes[1] === 80 && bytes[2] === 78 && bytes[3] === 71) {
276
- return "image/png";
277
- }
278
- if (bytes.length >= 3 && bytes[0] === 255 && bytes[1] === 216 && bytes[2] === 255) {
279
- return "image/jpeg";
280
- }
281
- if (bytes.length >= 6) {
282
- const signature = new TextDecoder().decode(bytes.slice(0, 6));
283
- if (signature === "GIF87a" || signature === "GIF89a") return "image/gif";
284
- }
285
- if (bytes.length >= 12) {
286
- const riff = new TextDecoder().decode(bytes.slice(0, 4));
287
- const webp = new TextDecoder().decode(bytes.slice(8, 12));
288
- if (riff === "RIFF" && webp === "WEBP") return "image/webp";
289
- const box = new TextDecoder().decode(bytes.slice(4, 12));
290
- if (box.startsWith("ftypavif") || box.startsWith("ftypavis")) return "image/avif";
291
- }
292
- const prefix = new TextDecoder().decode(bytes.slice(0, 512)).trimStart().toLowerCase();
293
- if (prefix.startsWith("<svg") || prefix.startsWith("<?xml") && prefix.includes("<svg")) {
294
- return "image/svg+xml";
295
- }
296
- return "";
297
- }
298
- __name(detectImageContentType, "detectImageContentType");
299
- function validateSourceType(type, config) {
300
- if (!type || type === "image/svg+xml" && !config.dangerouslyAllowSVG) {
301
- throw new FarmImageRequestError("UNSUPPORTED_IMAGE", 415, "Unsupported source image");
302
- }
303
- }
304
- __name(validateSourceType, "validateSourceType");
305
- function validateTransformedResult(result, config) {
306
- if (!(result.body instanceof Uint8Array) || result.body.byteLength === 0) {
307
- throw new Error("The image transformer returned an empty response");
308
- }
309
- if (result.body.byteLength > config.maximumResponseBody) {
310
- throw new FarmImageRequestError("BODY_TOO_LARGE", 413, "Optimized image is too large");
311
- }
312
- const contentType = normalizeImageContentType(result.contentType);
313
- if (!contentType || contentType === "image/svg+xml" && !config.dangerouslyAllowSVG) {
314
- throw new Error("The image transformer returned an unsupported content type");
315
- }
316
- result.contentType = contentType;
317
- }
318
- __name(validateTransformedResult, "validateTransformedResult");
319
- function normalizeImageContentType(value) {
320
- const type = value?.split(";", 1)[0].trim().toLowerCase() ?? "";
321
- return type.startsWith("image/") ? type : "";
322
- }
323
- __name(normalizeImageContentType, "normalizeImageContentType");
324
- function matchesRemoteSource(url, config) {
325
- if (config.domains.includes(url.hostname.toLowerCase())) return true;
326
- return config.remotePatterns.some((pattern) => matchesRemotePattern(url, pattern));
327
- }
328
- __name(matchesRemoteSource, "matchesRemoteSource");
329
- function matchesRemotePattern(url, pattern) {
330
- return (!pattern.protocol || url.protocol === `${pattern.protocol}:`) && matchesHostname(url.hostname, pattern.hostname) && (pattern.port === void 0 || url.port === pattern.port) && matchesGlob(url.pathname, pattern.pathname ?? "/**") && (pattern.search === void 0 || url.search === pattern.search);
331
- }
332
- __name(matchesRemotePattern, "matchesRemotePattern");
333
- function matchesLocalPatterns(url, patterns) {
334
- return patterns.some(
335
- (pattern) => matchesGlob(url.pathname, pattern.pathname) && (pattern.search === void 0 || url.search === pattern.search)
336
- );
337
- }
338
- __name(matchesLocalPatterns, "matchesLocalPatterns");
339
- function matchesHostname(hostname, pattern) {
340
- const normalizedHostname = hostname.toLowerCase();
341
- const normalizedPattern = pattern.toLowerCase();
342
- if (normalizedPattern.startsWith("**.")) {
343
- const suffix = normalizedPattern.slice(3);
344
- return normalizedHostname === suffix || normalizedHostname.endsWith(`.${suffix}`);
345
- }
346
- if (normalizedPattern.startsWith("*.")) {
347
- const suffix = normalizedPattern.slice(2);
348
- const prefix = normalizedHostname.slice(0, -(suffix.length + 1));
349
- return normalizedHostname.endsWith(`.${suffix}`) && !!prefix && !prefix.includes(".");
350
- }
351
- return normalizedHostname === normalizedPattern;
352
- }
353
- __name(matchesHostname, "matchesHostname");
354
- function matchesGlob(value, pattern) {
355
- const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
356
- const source = escaped.replace(/\*\*/g, "\0").replace(/\*/g, "[^/]*").replace(/\0/g, ".*");
357
- return new RegExp(`^${source}$`).test(value);
358
- }
359
- __name(matchesGlob, "matchesGlob");
360
- function createOptimizedImageResponse(request, image, config) {
361
- const headers = new Headers({
362
- "cache-control": image.cacheControl,
363
- "content-type": image.contentType,
364
- "content-length": String(image.body.byteLength),
365
- "content-disposition": "inline",
366
- etag: image.etag,
367
- vary: "Accept",
368
- "x-content-type-options": "nosniff"
369
- });
370
- if (image.contentType === "image/svg+xml" && config.dangerouslyAllowSVG) {
371
- headers.set("content-security-policy", "default-src 'none'; sandbox");
372
- }
373
- if (request.headers.get("if-none-match") === image.etag) {
374
- headers.delete("content-length");
375
- return new Response(null, { status: 304, headers });
376
- }
377
- const body = request.method === "HEAD" ? null : image.body.buffer.slice(
378
- image.body.byteOffset,
379
- image.body.byteOffset + image.body.byteLength
380
- );
381
- return new Response(body, { status: 200, headers });
382
- }
383
- __name(createOptimizedImageResponse, "createOptimizedImageResponse");
384
- function createFarmImageErrorResponse(error) {
385
- const status = error instanceof FarmImageRequestError ? error.status : isAbortError(error) ? 499 : 500;
386
- const headers = new Headers({
387
- "cache-control": "no-store",
388
- "content-type": "text/plain; charset=utf-8",
389
- "x-content-type-options": "nosniff"
390
- });
391
- if (status === 405) headers.set("allow", "GET, HEAD");
392
- const message = status === 400 ? "Invalid image request" : status === 404 ? "Image not found" : status === 405 ? "Method not allowed" : status === 413 ? "Image is too large" : status === 415 ? "Unsupported image" : status === 499 ? "Image request cancelled" : "Image optimization failed";
393
- return new Response(message, { status, headers });
394
- }
395
- __name(createFarmImageErrorResponse, "createFarmImageErrorResponse");
396
- function createImageEtag(bytes) {
397
- let hash = 2166136261;
398
- for (const byte of bytes) {
399
- hash ^= byte;
400
- hash = Math.imul(hash, 16777619);
401
- }
402
- return `W/"farm-${bytes.byteLength.toString(16)}-${(hash >>> 0).toString(16)}"`;
403
- }
404
- __name(createImageEtag, "createImageEtag");
405
- function throwIfAborted(signal) {
406
- if (signal.aborted) {
407
- throw signal.reason instanceof Error ? signal.reason : new DOMException("The image request was aborted", "AbortError");
408
- }
409
- }
410
- __name(throwIfAborted, "throwIfAborted");
411
- function isAbortError(error) {
412
- return error instanceof Error && error.name === "AbortError";
413
- }
414
- __name(isAbortError, "isAbortError");
415
- var _FarmImageMemoryCache = class _FarmImageMemoryCache {
416
- constructor(capacity) {
417
- this.capacity = capacity;
418
- this.entries = /* @__PURE__ */ new Map();
419
- }
420
- get(key) {
421
- const value = this.entries.get(key);
422
- if (!value) return void 0;
423
- if (value.expiresAt <= Date.now()) {
424
- this.entries.delete(key);
425
- return void 0;
426
- }
427
- this.entries.delete(key);
428
- this.entries.set(key, value);
429
- return value;
430
- }
431
- set(key, value) {
432
- if (this.capacity <= 0) return;
433
- this.entries.delete(key);
434
- this.entries.set(key, value);
435
- while (this.entries.size > this.capacity) {
436
- const oldestKey = this.entries.keys().next().value;
437
- if (oldestKey === void 0) break;
438
- this.entries.delete(oldestKey);
439
- }
440
- }
441
- };
442
- __name(_FarmImageMemoryCache, "FarmImageMemoryCache");
443
- var FarmImageMemoryCache = _FarmImageMemoryCache;
444
-
445
- export {
446
- FarmImageRequestError,
447
- createFarmImageHandler,
448
- createCloudflareImageTransformer,
449
- selectOutputFormat,
450
- isPrivateImageAddress
451
- };
452
- //# sourceMappingURL=chunk-3XNTL3FQ.mjs.map