@farm.js/core 0.1.49 → 0.1.51-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +163 -3
- package/dist/{agent-mcp-Bb8hnnqd.d.ts → agent-mcp-BBMfNpsC.d.ts} +1 -1
- package/dist/{agent-mcp-ir3v4fHf.d.mts → agent-mcp-D44ip11f.d.mts} +1 -1
- package/dist/agent-runtime.cjs +3 -3
- package/dist/agent-runtime.d.mts +6 -6
- package/dist/agent-runtime.d.ts +6 -6
- package/dist/agent-runtime.mjs +2 -2
- package/dist/analyzer-HOUCQR3K.mjs +1066 -0
- package/dist/analyzer-VKUDHNDF.cjs +1066 -0
- package/dist/api/client.d.mts +0 -1
- package/dist/api/client.d.ts +0 -1
- package/dist/api/route-manager.cjs +8 -8
- package/dist/api/route-manager.d.mts +10 -10
- package/dist/api/route-manager.d.ts +10 -10
- package/dist/api/route-manager.mjs +7 -7
- package/dist/api/runtime.cjs +3 -3
- package/dist/api/runtime.d.mts +7 -7
- package/dist/api/runtime.d.ts +7 -7
- package/dist/api/runtime.mjs +2 -2
- package/dist/api.cjs +9 -9
- package/dist/api.d.mts +10 -10
- package/dist/api.d.ts +10 -10
- package/dist/api.mjs +8 -8
- package/dist/{app-y649szYm.d.ts → app-CourU3rQ.d.ts} +7 -7
- package/dist/{app-DLzz02du.d.mts → app-aeD4s_mg.d.mts} +7 -7
- package/dist/{app-manifest-Crn8Qd3U.d.mts → app-manifest-BC6mFn5A.d.mts} +1 -1
- package/dist/{app-manifest-DNeTKMRL.d.ts → app-manifest-LzjoNPeq.d.ts} +1 -1
- package/dist/app-markdown.d.mts +7 -7
- package/dist/app-markdown.d.ts +7 -7
- package/dist/base-path-BOUV5ozD.d.mts +10 -0
- package/dist/base-path-BOUV5ozD.d.ts +10 -0
- package/dist/cache.d.mts +4 -3
- package/dist/cache.d.ts +4 -3
- package/dist/{chunk-YQGZLCT4.cjs → chunk-2IAPKPEB.cjs} +6 -6
- package/dist/chunk-2KVDHNQS.mjs +224 -0
- package/dist/{chunk-QFQDRJKJ.mjs → chunk-3HA7PP72.mjs} +2 -2
- package/dist/{chunk-6LH33DLL.cjs → chunk-3OWVWZ6R.cjs} +28 -2
- package/dist/{chunk-GXSMF7UR.mjs → chunk-4GJJ65RB.mjs} +10 -2
- package/dist/{chunk-GERUXONA.cjs → chunk-5A77OEIG.cjs} +4 -1
- package/dist/{chunk-4HBKBHVP.mjs → chunk-5ENW27SL.mjs} +1 -1
- package/dist/{chunk-MTB57GOK.mjs → chunk-724WT3NI.mjs} +4 -2
- package/dist/{chunk-XLYXG73A.mjs → chunk-75WWOZ5C.mjs} +22 -0
- package/dist/{chunk-VCKGOXFI.cjs → chunk-76GHW3WI.cjs} +7 -1
- package/dist/{chunk-ZIBIE7AH.mjs → chunk-7UPCJDB5.mjs} +7 -1
- package/dist/{chunk-4IICUBQX.cjs → chunk-A5BJKSZE.cjs} +2 -2
- package/dist/{chunk-UYQOIPXE.mjs → chunk-AER5I65K.mjs} +1 -1
- package/dist/{chunk-WB6XES4V.mjs → chunk-ALEUMLJN.mjs} +34 -5
- package/dist/{chunk-Z4LTSH7D.mjs → chunk-AMRK3P6W.mjs} +175 -71
- package/dist/{chunk-TTYXOAB7.mjs → chunk-ANHZ6SUL.mjs} +1 -1
- package/dist/{chunk-ZBS3GOQZ.cjs → chunk-AQLHD6HZ.cjs} +35 -61
- package/dist/{chunk-L6QDME5Z.cjs → chunk-B3GZAQSC.cjs} +3 -3
- package/dist/chunk-CKPTIEDX.cjs +12 -0
- package/dist/{chunk-JPAVNDZH.cjs → chunk-CY7H5KS4.cjs} +25 -25
- package/dist/{chunk-4S7M63WX.cjs → chunk-DGOLAZLV.cjs} +22 -1
- package/dist/{chunk-4HM5B5RR.cjs → chunk-DWW3AMJX.cjs} +343 -308
- package/dist/{chunk-EQMTJBB7.cjs → chunk-DZZHTMWM.cjs} +35 -6
- package/dist/chunk-E36C43IX.cjs +224 -0
- package/dist/{chunk-J2ZEVDEK.cjs → chunk-EHB77D5U.cjs} +3 -3
- package/dist/{chunk-WQGRD5BJ.cjs → chunk-EX6ZSN5P.cjs} +1 -16
- package/dist/{chunk-C5S457CK.cjs → chunk-F42U3R4F.cjs} +214 -193
- package/dist/{chunk-FGJQS4EC.cjs → chunk-FK25QSVC.cjs} +4 -3
- package/dist/{chunk-JOHXK4BB.mjs → chunk-FSQMN2MQ.mjs} +2 -1
- package/dist/{chunk-2H3FJYY6.mjs → chunk-FSXSQQTV.mjs} +3 -2
- package/dist/chunk-G2KTRMWA.mjs +40 -0
- package/dist/{chunk-C6U66WWF.mjs → chunk-GFT5AHAT.mjs} +13 -0
- package/dist/chunk-GNZIAJGB.mjs +358 -0
- package/dist/{chunk-TXK4D46O.mjs → chunk-H3ASZDT7.mjs} +21 -1
- package/dist/{chunk-AXRNEVCS.cjs → chunk-HASX6DC7.cjs} +8 -8
- package/dist/{chunk-NW2BKDVT.mjs → chunk-HHFMECFO.mjs} +1 -1
- package/dist/{chunk-HELQXYVI.cjs → chunk-I2DQGS56.cjs} +11 -9
- package/dist/{chunk-IVHPRF4W.mjs → chunk-I2ZA5SXS.mjs} +81 -46
- package/dist/{chunk-EVCQX243.cjs → chunk-IOUOGRDX.cjs} +13 -5
- package/dist/{chunk-CBJKDB6F.mjs → chunk-IRSS4HS4.mjs} +1 -1
- package/dist/{chunk-NPPT4RWF.cjs → chunk-J22JD5YJ.cjs} +7 -7
- package/dist/{chunk-VJXLUTBM.mjs → chunk-JF5CNHHF.mjs} +9 -9
- package/dist/{chunk-VR4SEDEM.mjs → chunk-JWI5PUO2.mjs} +6 -2
- package/dist/{chunk-6XFGJBYX.cjs → chunk-JYNNIGQO.cjs} +16 -7
- package/dist/{chunk-EXHEPWFJ.cjs → chunk-KHXAJ2KA.cjs} +16 -16
- package/dist/{chunk-ALD2WMLA.mjs → chunk-KY32FWK7.mjs} +4 -4
- package/dist/{chunk-BR5FSKZ5.cjs → chunk-LEIXUFJN.cjs} +6 -2
- package/dist/{chunk-5566GNEG.cjs → chunk-LIFUPCXW.cjs} +13 -0
- package/dist/{chunk-I2SWKWO7.mjs → chunk-LJDIFIJ2.mjs} +1 -1
- package/dist/chunk-LMFJCXDD.mjs +55 -0
- package/dist/{chunk-IXSMFKZ2.cjs → chunk-LNM57D3H.cjs} +4 -4
- package/dist/{chunk-ATHPRVP2.mjs → chunk-LZ4SB57H.mjs} +3 -3
- package/dist/{chunk-73XBJRZW.cjs → chunk-MMEEXMUQ.cjs} +2 -2
- package/dist/chunk-N4AQNEXR.cjs +17 -0
- package/dist/{chunk-JZMZKABS.cjs → chunk-NWUHS6GV.cjs} +3 -2
- package/dist/{chunk-KZT2VHRQ.cjs → chunk-O3MMJPC2.cjs} +19 -19
- package/dist/{chunk-JWP56HCP.mjs → chunk-OD6WM3I7.mjs} +2 -2
- package/dist/{chunk-R2SEZEBC.cjs → chunk-OYNNA4DD.cjs} +4 -4
- package/dist/{chunk-GBPDSUFE.mjs → chunk-OZK2DS44.mjs} +1 -1
- package/dist/{chunk-A7DK663W.cjs → chunk-PDJSL7PL.cjs} +50 -39
- package/dist/{chunk-XLLVWLWO.mjs → chunk-PIHKO25G.mjs} +1 -1
- package/dist/chunk-PIUTGRDI.cjs +358 -0
- package/dist/{chunk-XO6WL6NL.mjs → chunk-PPDHCRTC.mjs} +1 -1
- package/dist/{chunk-LZBM35DH.mjs → chunk-QI5AQMEE.mjs} +20 -9
- package/dist/{chunk-FR4HJDI6.cjs → chunk-QK3HBOTG.cjs} +27 -30
- package/dist/{chunk-Q3UU2KXC.mjs → chunk-QMDU6QHN.mjs} +4 -1
- package/dist/chunk-QXJADAQB.cjs +40 -0
- package/dist/{chunk-DGVVVYKD.mjs → chunk-R5P4KFPM.mjs} +2 -2
- package/dist/{chunk-3HBFI373.cjs → chunk-S5AQ7CAC.cjs} +14 -14
- package/dist/{chunk-Z3BXMMFF.mjs → chunk-S5ZA2T2W.mjs} +63 -42
- package/dist/{chunk-PXEXOQ5R.mjs → chunk-SHS6KXOZ.mjs} +1 -1
- package/dist/{chunk-ETF5C6HR.cjs → chunk-SJ23LJ3N.cjs} +3 -3
- package/dist/{chunk-LL7TDMOM.mjs → chunk-SMUW7UST.mjs} +33 -59
- package/dist/{chunk-VCFBQFOV.mjs → chunk-SN5VSO3Q.mjs} +9 -7
- package/dist/{chunk-AIHD6VME.cjs → chunk-SO3T6T4I.cjs} +482 -378
- package/dist/{chunk-JHXJBNLY.cjs → chunk-SUCDVKUB.cjs} +21 -1
- package/dist/{chunk-DM3TFCC2.cjs → chunk-SUV6YO4Q.cjs} +5 -5
- package/dist/{chunk-NG44F7AH.mjs → chunk-T4EW7AAD.mjs} +2 -2
- package/dist/{chunk-JUMPFVMK.mjs → chunk-TUOO6IK3.mjs} +9 -0
- package/dist/chunk-UB7RVEMX.mjs +73 -0
- package/dist/{chunk-CDTIXBKN.mjs → chunk-UN6N623E.mjs} +2 -2
- package/dist/{chunk-BEXYFR2R.cjs → chunk-USL2ANCB.cjs} +10 -10
- package/dist/{chunk-HAH4FBTA.mjs → chunk-VAHBCI6X.mjs} +1 -1
- package/dist/{chunk-QNQEK3OF.cjs → chunk-VIFPE5RG.cjs} +14 -14
- package/dist/{chunk-HTLCLOXQ.cjs → chunk-VO6NLTV4.cjs} +3 -3
- package/dist/{chunk-XN2MB4QZ.cjs → chunk-VQJYGZNX.cjs} +4 -4
- package/dist/{chunk-N25RPPO5.cjs → chunk-WAPQWAE6.cjs} +10 -10
- package/dist/{chunk-5PKDHKQP.cjs → chunk-WFVSAT7Y.cjs} +6 -4
- package/dist/{chunk-EA5PMJDU.mjs → chunk-WSY2JD7O.mjs} +7 -7
- package/dist/{chunk-HNAUK3SC.mjs → chunk-WVX3BUNJ.mjs} +40 -199
- package/dist/chunk-X3EFRVXY.mjs +12 -0
- package/dist/{chunk-UCQ52TJY.mjs → chunk-X3JNB2TB.mjs} +1 -1
- package/dist/{chunk-J5VCA45K.cjs → chunk-X5BCMLGP.cjs} +1 -1
- package/dist/{chunk-SSNN55Q6.cjs → chunk-XB24LZWI.cjs} +10 -10
- package/dist/{chunk-XXB37YET.cjs → chunk-XLRLSTJ6.cjs} +7 -7
- package/dist/{chunk-BNMHXVLL.mjs → chunk-XMHERKSE.mjs} +0 -15
- package/dist/chunk-XPMC4E2G.cjs +55 -0
- package/dist/{chunk-J27BZO67.mjs → chunk-XWC5NAHV.mjs} +23 -26
- package/dist/{chunk-DRFADSKY.mjs → chunk-XXXRRVY6.mjs} +4 -4
- package/dist/{chunk-C7425KDG.cjs → chunk-XYL4HSVC.cjs} +2 -2
- package/dist/{chunk-2SVJGOAX.mjs → chunk-Y3N5BFRJ.mjs} +3 -3
- package/dist/{chunk-ZSIGEHSE.cjs → chunk-Y7TLL65B.cjs} +21 -180
- package/dist/{chunk-PEHL3IZL.cjs → chunk-YB44NKC2.cjs} +2 -2
- package/dist/chunk-YKHRCY4T.cjs +73 -0
- package/dist/{chunk-RYDDUCNJ.mjs → chunk-YLNBWUVS.mjs} +1 -1
- package/dist/chunk-Z5A6CNV2.mjs +60 -0
- package/dist/chunk-Z64V4WZI.mjs +17 -0
- package/dist/{chunk-ACI52TCN.mjs → chunk-ZF3GX4O7.mjs} +1 -1
- package/dist/client/lifecycle.d.mts +1 -1
- package/dist/client/lifecycle.d.ts +1 -1
- package/dist/{client-plugins-DFDQUI9Q.d.ts → client-plugins-CFBEfVPO.d.ts} +34 -10
- package/dist/{client-plugins-BNBeyLMi.d.mts → client-plugins-cqy_dQd0.d.mts} +34 -10
- package/dist/client-plugins.d.mts +6 -6
- package/dist/client-plugins.d.ts +6 -6
- package/dist/client.cjs +13 -9
- package/dist/client.d.mts +11 -10
- package/dist/client.d.ts +11 -10
- package/dist/client.mjs +15 -11
- package/dist/client.react-server.mjs +1 -1
- package/dist/config-CnhyvvmT.d.mts +188 -0
- package/dist/config-CnhyvvmT.d.ts +188 -0
- package/dist/config.d.mts +6 -6
- package/dist/config.d.ts +6 -6
- package/dist/cron.cjs +4 -4
- package/dist/cron.mjs +3 -3
- package/dist/desktop.d.mts +7 -7
- package/dist/desktop.d.ts +7 -7
- package/dist/{dev-guard-YO6KPIOQ.mjs → dev-guard-4PFQNXQX.mjs} +2 -1
- package/dist/{dev-guard-PLHL6OTJ.cjs → dev-guard-YLO5DE3H.cjs} +4 -3
- package/dist/{devtools-BLKHPY3C.mjs → devtools-4MLL3RAL.mjs} +10 -10
- package/dist/{devtools-A37WWJZL.cjs → devtools-4ZLMD454.cjs} +12 -12
- package/dist/docs.cjs +14 -14
- package/dist/docs.d.mts +7 -7
- package/dist/docs.d.ts +7 -7
- package/dist/docs.mjs +13 -13
- package/dist/environment/vite.d.mts +1 -1
- package/dist/environment/vite.d.ts +1 -1
- package/dist/generate-route-types-DQP0cUzk.d.ts +33 -0
- package/dist/generate-route-types-TF5Wwtvz.d.mts +33 -0
- package/dist/i18n/client.d.mts +2 -2
- package/dist/i18n/client.d.ts +2 -2
- package/dist/i18n/index.d.mts +3 -3
- package/dist/i18n/index.d.ts +3 -3
- package/dist/i18n/server.d.mts +5 -5
- package/dist/i18n/server.d.ts +5 -5
- package/dist/image/server.cjs +3 -3
- package/dist/image/server.mjs +2 -2
- package/dist/image/sharp.cjs +10 -10
- package/dist/image/sharp.mjs +2 -2
- package/dist/{index-DBdiTkNc.d.ts → index-BYkNbeQV.d.mts} +2 -2
- package/dist/{index-CeJ9_s9p.d.mts → index-BxjN_UDZ.d.ts} +2 -2
- package/dist/{index-MocnSP3a.d.ts → index-D3l4tREW.d.ts} +2 -2
- package/dist/{index-Cl3akY5U.d.mts → index-DPUAPho_.d.mts} +2 -2
- package/dist/index.cjs +88 -79
- package/dist/index.d.mts +29 -45
- package/dist/index.d.ts +29 -45
- package/dist/index.mjs +92 -83
- package/dist/integrations.cjs +3 -3
- package/dist/integrations.d.mts +6 -6
- package/dist/integrations.d.ts +6 -6
- package/dist/integrations.mjs +2 -2
- package/dist/internal/app-markdown-runtime.d.mts +7 -7
- package/dist/internal/app-markdown-runtime.d.ts +7 -7
- package/dist/internal/build-runtime.cjs +47 -43
- package/dist/internal/build-runtime.d.mts +9 -9
- package/dist/internal/build-runtime.d.ts +9 -9
- package/dist/internal/build-runtime.mjs +46 -42
- package/dist/internal/cli-runtime.cjs +24 -23
- package/dist/internal/cli-runtime.mjs +24 -23
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +22 -3
- package/dist/internal/client-runtime.d.mts +46 -4
- package/dist/internal/client-runtime.d.ts +46 -4
- package/dist/internal/client-runtime.mjs +22 -3
- package/dist/internal/compression-runtime.d.mts +6 -6
- package/dist/internal/compression-runtime.d.ts +6 -6
- package/dist/internal/config-runtime.cjs +20 -13
- package/dist/internal/config-runtime.d.mts +259 -18
- package/dist/internal/config-runtime.d.ts +259 -18
- package/dist/internal/config-runtime.mjs +18 -11
- package/dist/internal/form-actions.cjs +5 -4
- package/dist/internal/form-actions.mjs +4 -3
- package/dist/internal/infra-analytics-runtime.cjs +6 -6
- package/dist/internal/infra-analytics-runtime.mjs +4 -4
- package/dist/internal/islands-runtime.cjs +56 -0
- package/dist/internal/islands-runtime.mjs +57 -1
- package/dist/internal/metadata-image-runtime.cjs +3 -3
- package/dist/internal/metadata-image-runtime.mjs +2 -2
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.cjs +18 -15
- package/dist/internal/production-runtime.d.mts +33 -20
- package/dist/internal/production-runtime.d.ts +33 -20
- package/dist/internal/production-runtime.mjs +20 -17
- package/dist/internal/server-fn-transform.cjs +13 -0
- package/dist/internal/server-fn-transform.d.mts +24 -0
- package/dist/internal/server-fn-transform.d.ts +24 -0
- package/dist/internal/server-fn-transform.mjs +13 -0
- package/dist/{layers-D9fbe-rz.d.ts → layers-CcS42OGR.d.mts} +1 -1
- package/dist/{layers-D9fbe-rz.d.mts → layers-CcS42OGR.d.ts} +1 -1
- package/dist/{lifecycle-DK06VuKP.d.ts → lifecycle-C2aLBOwu.d.mts} +1 -1
- package/dist/{lifecycle-DK06VuKP.d.mts → lifecycle-C2aLBOwu.d.ts} +1 -1
- package/dist/markdown.d.mts +6 -6
- package/dist/markdown.d.ts +6 -6
- package/dist/middleware.cjs +11 -11
- package/dist/middleware.d.mts +8 -8
- package/dist/middleware.d.ts +8 -8
- package/dist/middleware.mjs +10 -10
- package/dist/mobile.cjs +9 -0
- package/dist/mobile.d.mts +94 -0
- package/dist/mobile.d.ts +94 -0
- package/dist/mobile.mjs +9 -0
- package/dist/navigation-delegate-BU4xqdnw.d.ts +29 -0
- package/dist/navigation-delegate-DLhbfEN4.d.mts +29 -0
- package/dist/navigation.cjs +5 -5
- package/dist/navigation.d.mts +9 -9
- package/dist/navigation.d.ts +9 -9
- package/dist/navigation.mjs +4 -4
- package/dist/{nitro-BIXIKJZS.cjs → nitro-CK7M4RMY.cjs} +12 -12
- package/dist/{nitro-UT2J5A5D.mjs → nitro-R444AF3O.mjs} +8 -8
- package/dist/platform.cjs +2 -1
- package/dist/platform.d.mts +4 -3
- package/dist/platform.d.ts +4 -3
- package/dist/platform.mjs +2 -1
- package/dist/{plugin-4KYXV7BB.mjs → plugin-53SY5YBS.mjs} +1 -1
- package/dist/{plugin-WBANOZQM.cjs → plugin-HZIBL3DW.cjs} +2 -2
- package/dist/plugin.cjs +40 -36
- package/dist/plugin.d.mts +13 -8
- package/dist/plugin.d.ts +13 -8
- package/dist/plugin.mjs +39 -35
- package/dist/{production-runtime-B3qFFtKF.d.ts → production-runtime-C78A8YgK.d.ts} +3 -3
- package/dist/{production-runtime-DcD-GRAv.d.mts → production-runtime-DLA4J5WG.d.mts} +3 -3
- package/dist/production-vite-BQFAlG7n.d.mts +13 -0
- package/dist/production-vite-BQFAlG7n.d.ts +13 -0
- package/dist/{programmatic-routes-client-fD9f4XqU.d.ts → programmatic-routes-client-CBqkNhBy.d.ts} +2 -2
- package/dist/{programmatic-routes-client-DzbYGiZQ.d.mts → programmatic-routes-client-NpqGBn-i.d.mts} +2 -2
- package/dist/query/client.cjs +6 -6
- package/dist/query/client.mjs +2 -2
- package/dist/{render-plan-DqJ51ufr.d.mts → render-plan-C9sWvDTv.d.mts} +1 -1
- package/dist/{render-plan-B6cfssrr.d.ts → render-plan-CrqcBbnV.d.ts} +1 -1
- package/dist/renderer-client.cjs +17 -12
- package/dist/renderer-client.d.mts +9 -8
- package/dist/renderer-client.d.ts +9 -8
- package/dist/renderer-client.mjs +10 -5
- package/dist/{request-jhvUMXRx.d.ts → request-BizeuqD7.d.ts} +1 -1
- package/dist/{request-UuAxHn8h.d.mts → request-WwB1-Uim.d.mts} +1 -1
- package/dist/request.d.mts +7 -7
- package/dist/request.d.ts +7 -7
- package/dist/{resolver-DC57A4vz.d.ts → resolver-CJ-D9nP-.d.ts} +1 -1
- package/dist/{resolver-C2G-3Tm6.d.mts → resolver-TDyZKgKI.d.mts} +1 -1
- package/dist/{route-rendering-Sn50cYZf.d.ts → route-rendering-BGhJN64l.d.ts} +1 -1
- package/dist/{route-rendering-Cou00t1X.d.mts → route-rendering-S6NFjnx4.d.mts} +1 -1
- package/dist/{router-0X9DCTcm.d.mts → router-BIheIy9G.d.mts} +1 -1
- package/dist/{router-xwLvi48p.d.ts → router-BUD_j2EL.d.ts} +1 -1
- package/dist/routes-8PT9cl60.d.ts +121 -0
- package/dist/routes-kEUsXHx3.d.mts +121 -0
- package/dist/routes.cjs +3 -2
- package/dist/routes.d.mts +7 -7
- package/dist/routes.d.ts +7 -7
- package/dist/routes.mjs +2 -1
- package/dist/{rsc-pipeline-VKHMABDJ.cjs → rsc-pipeline-JRGUZBYM.cjs} +18 -16
- package/dist/{rsc-pipeline-F6ZPH5MU.mjs → rsc-pipeline-OLAVIKI3.mjs} +17 -15
- package/dist/{runtime-B9HmxiZc.d.ts → runtime-C4CmlOOh.d.ts} +2 -2
- package/dist/{runtime-tkSXZiqO.d.ts → runtime-CWP-21hP.d.ts} +1 -1
- package/dist/{runtime-CMrsyChI.d.mts → runtime-CgJwe6H_.d.mts} +1 -1
- package/dist/{runtime-CCxTmGuf.d.mts → runtime-CihDZ2Rn.d.mts} +2 -2
- package/dist/runtime-G23RSLEK.cjs +1005 -0
- package/dist/runtime-OGCHDACZ.mjs +1005 -0
- package/dist/{schema-dev-notice-O3I5HLXK.mjs → schema-dev-notice-F6QYSOAI.mjs} +4 -4
- package/dist/{schema-dev-notice-Z73J3NJ6.cjs → schema-dev-notice-UU7DMZEU.cjs} +7 -7
- package/dist/{search-client-BTXL5XWD.mjs → search-client-OXH6GBNO.mjs} +5 -3
- package/dist/search-client-ZZLKVO5R.cjs +15 -0
- package/dist/server-action-security.cjs +3 -3
- package/dist/server-action-security.mjs +2 -2
- package/dist/server-fn-client.d.mts +0 -1
- package/dist/server-fn-client.d.ts +0 -1
- package/dist/server-fn.cjs +4 -4
- package/dist/server-fn.d.mts +0 -1
- package/dist/server-fn.d.ts +0 -1
- package/dist/server-fn.mjs +3 -3
- package/dist/server-plugins.cjs +1 -1
- package/dist/server-plugins.d.mts +7 -7
- package/dist/server-plugins.d.ts +7 -7
- package/dist/server-plugins.mjs +1 -1
- package/dist/server-query-client.cjs +4 -3
- package/dist/server-query-client.d.mts +0 -1
- package/dist/server-query-client.d.ts +0 -1
- package/dist/server-query-client.mjs +3 -2
- package/dist/server-query.cjs +5 -5
- package/dist/server-query.d.mts +0 -1
- package/dist/server-query.d.ts +0 -1
- package/dist/server-query.mjs +4 -4
- package/dist/server.cjs +104 -79
- package/dist/server.d.mts +22 -17
- package/dist/server.d.ts +22 -17
- package/dist/server.mjs +73 -48
- package/dist/{spa-router-B48EjsS1.d.mts → spa-router-CVOL0Vrq.d.mts} +4 -4
- package/dist/{spa-router-B06APnGK.d.ts → spa-router-Kytv4jSB.d.ts} +4 -4
- package/dist/testing.cjs +16 -15
- package/dist/testing.d.mts +6 -6
- package/dist/testing.d.ts +6 -6
- package/dist/testing.mjs +12 -11
- package/dist/{types--Wh02r5_.d.mts → types-C41ePjvP.d.mts} +1 -1
- package/dist/{types--Wh02r5_.d.ts → types-C41ePjvP.d.ts} +1 -1
- package/dist/{utils-C5fyK2tE.d.ts → utils-DbyXlzaj.d.ts} +1 -1
- package/dist/{utils-hyAwmcN6.d.mts → utils-Dsa1HZ7X.d.mts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +40 -36
- package/dist/vite.d.mts +9 -9
- package/dist/vite.d.ts +9 -9
- package/dist/vite.mjs +39 -35
- package/dist/{workflows-Df1C_7OG.d.mts → workflows-CRMzQZ3k.d.mts} +2 -1
- package/dist/{workflows-Df1C_7OG.d.ts → workflows-CRMzQZ3k.d.ts} +2 -1
- package/dist/workflows.cjs +5 -5
- package/dist/workflows.d.mts +1 -1
- package/dist/workflows.d.ts +1 -1
- package/dist/workflows.mjs +4 -4
- package/package.json +16 -3
- package/dist/base-path-leyrqXbX.d.mts +0 -19
- package/dist/base-path-leyrqXbX.d.ts +0 -19
- package/dist/cache-invalidation-BD0z_lfu.d.mts +0 -4
- package/dist/cache-invalidation-BD0z_lfu.d.ts +0 -4
- package/dist/chunk-45EUIICW.mjs +0 -15
- package/dist/chunk-MJ6IC4K2.mjs +0 -34
- package/dist/chunk-V7KTQR4C.cjs +0 -15
- package/dist/search-client-QCYAL6AY.cjs +0 -13
- package/dist/{chunk-5OJVKXFV.cjs → chunk-N7JQXQAV.cjs} +2 -2
- package/dist/{chunk-72KABRWN.mjs → chunk-WSDKXV4E.mjs} +4 -4
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
} from "./chunk-IYEY3JWJ.mjs";
|
|
10
10
|
import {
|
|
11
11
|
APIRouteConflictError
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KY32FWK7.mjs";
|
|
13
13
|
import {
|
|
14
14
|
findProgrammaticRouteFilesInDir
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FSXSQQTV.mjs";
|
|
16
16
|
import {
|
|
17
17
|
isFarmAPIRouteFileName
|
|
18
18
|
} from "./chunk-YX6AFPXC.mjs";
|
|
@@ -20,10 +20,11 @@ import {
|
|
|
20
20
|
API_ROUTE_METHODS,
|
|
21
21
|
getAllowedAPIRouteMethods,
|
|
22
22
|
invokeAPIRouteEndpoint,
|
|
23
|
+
isFarmAPIPathname,
|
|
23
24
|
matchAPIRouteAtBasePath,
|
|
24
25
|
mergePluginAPIRoutes,
|
|
25
26
|
resolveAPIRouteEndpoint
|
|
26
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-LJDIFIJ2.mjs";
|
|
27
28
|
import {
|
|
28
29
|
isProgrammaticRoutesFileName
|
|
29
30
|
} from "./chunk-6YFC3ZFX.mjs";
|
|
@@ -32,11 +33,11 @@ import {
|
|
|
32
33
|
} from "./chunk-IGL6CO6M.mjs";
|
|
33
34
|
import {
|
|
34
35
|
loadFarmDevModule
|
|
35
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-TUOO6IK3.mjs";
|
|
36
37
|
import {
|
|
37
38
|
toPosixPath,
|
|
38
39
|
toViteModuleId
|
|
39
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-Y3N5BFRJ.mjs";
|
|
40
41
|
import {
|
|
41
42
|
sendWebResponse
|
|
42
43
|
} from "./chunk-IUQLRTTO.mjs";
|
|
@@ -44,7 +45,7 @@ import {
|
|
|
44
45
|
createFarmRequestBodyErrorResponse,
|
|
45
46
|
readNodeRequestBody,
|
|
46
47
|
resolveFarmServerConfig
|
|
47
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-GFT5AHAT.mjs";
|
|
48
49
|
import {
|
|
49
50
|
resolveFarmRequestURL
|
|
50
51
|
} from "./chunk-6HRAK7I5.mjs";
|
|
@@ -400,16 +401,26 @@ function farmApiPlugin(options = {}) {
|
|
|
400
401
|
const pathname = url.split("?")[0];
|
|
401
402
|
const method = req.method || "GET";
|
|
402
403
|
if (discoveryPromise) await waitForDiscovery();
|
|
404
|
+
const farmMiddleware = server.__farmMiddleware__;
|
|
405
|
+
let middlewareRan = false;
|
|
403
406
|
if (!matchAPIRouteAtBasePath(servedRoutes(), pathname, basePath)) {
|
|
404
|
-
|
|
407
|
+
if (!farmMiddleware || !apiRouterHandler || !isFarmAPIPathname(pathname, basePath)) {
|
|
408
|
+
return next();
|
|
409
|
+
}
|
|
410
|
+
await farmMiddleware.waitForDiscovery?.();
|
|
411
|
+
if (await farmMiddleware.execute(req, res, pathname, /* @__PURE__ */ new Map())) return;
|
|
412
|
+
middlewareRan = true;
|
|
413
|
+
const rewrittenPathname = (req.url || url).split("?")[0];
|
|
414
|
+
if (rewrittenPathname === pathname || !matchAPIRouteAtBasePath(servedRoutes(), rewrittenPathname, basePath)) {
|
|
415
|
+
return next();
|
|
416
|
+
}
|
|
405
417
|
}
|
|
406
418
|
if (!apiRouterHandler) {
|
|
407
419
|
return next();
|
|
408
420
|
}
|
|
409
421
|
const startTime = Date.now();
|
|
410
422
|
try {
|
|
411
|
-
|
|
412
|
-
if (farmMiddleware) {
|
|
423
|
+
if (farmMiddleware && !middlewareRan) {
|
|
413
424
|
await farmMiddleware.waitForDiscovery?.();
|
|
414
425
|
const middlewareData = /* @__PURE__ */ new Map();
|
|
415
426
|
const handled = await farmMiddleware.execute(req, res, pathname, middlewareData);
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkSJ23LJ3Ncjs = require('./chunk-SJ23LJ3N.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkXPMC4E2Gcjs = require('./chunk-XPMC4E2G.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkO3MMJPC2cjs = require('./chunk-O3MMJPC2.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var _chunkZBS3GOQZcjs = require('./chunk-ZBS3GOQZ.cjs');
|
|
14
13
|
|
|
14
|
+
var _chunkDGOLAZLVcjs = require('./chunk-DGOLAZLV.cjs');
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
var _chunkLNM57D3Hcjs = require('./chunk-LNM57D3H.cjs');
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
var _chunkAQLHD6HZcjs = require('./chunk-AQLHD6HZ.cjs');
|
|
17
21
|
|
|
18
22
|
// src/rsc-pipeline.ts
|
|
19
23
|
var _fs = require('fs');
|
|
@@ -50,7 +54,7 @@ function pickImportTarget(entry) {
|
|
|
50
54
|
return void 0;
|
|
51
55
|
}
|
|
52
56
|
async function importFromApp(root, packageName, subpath = ".") {
|
|
53
|
-
const packageDir =
|
|
57
|
+
const packageDir = _chunkSJ23LJ3Ncjs.findFarmAppPackageDir.call(void 0, root, packageName);
|
|
54
58
|
if (!packageDir) return void 0;
|
|
55
59
|
const manifest = JSON.parse(_fs.readFileSync.call(void 0, _path2.default.join(packageDir, "package.json"), "utf8"));
|
|
56
60
|
const exportsMap = manifest.exports;
|
|
@@ -77,9 +81,9 @@ async function createFarmRscViteConfig(userConfig, options) {
|
|
|
77
81
|
importFromApp(root, "@vitejs/plugin-rsc"),
|
|
78
82
|
importFromApp(root, "@vitejs/plugin-react")
|
|
79
83
|
]);
|
|
80
|
-
if (!pluginRsc || !viteRsc || !
|
|
84
|
+
if (!pluginRsc || !viteRsc || !_chunkSJ23LJ3Ncjs.findFarmAppPackageDir.call(void 0, root, "react-server-dom-webpack")) {
|
|
81
85
|
throw new Error(
|
|
82
|
-
`[Farm.js] experimental.serverComponents runs on @farm.js/plugin and the official @vitejs/plugin-rsc. Install them: ${
|
|
86
|
+
`[Farm.js] experimental.serverComponents runs on @farm.js/plugin and the official @vitejs/plugin-rsc. Install them: ${_chunkSJ23LJ3Ncjs.FARM_RSC_INSTALL_HINT}`
|
|
83
87
|
);
|
|
84
88
|
}
|
|
85
89
|
const { plugins: vitePlugins = [], ...viteOptions } = _nullishCoalesce(userConfig.vite, () => ( {}));
|
|
@@ -87,14 +91,18 @@ async function createFarmRscViteConfig(userConfig, options) {
|
|
|
87
91
|
for (const key of FARM_RSC_CONFIG_KEYS) {
|
|
88
92
|
if (userConfig[key] !== void 0) rscConfig[key] = userConfig[key];
|
|
89
93
|
}
|
|
90
|
-
const createReactPlugin = hasPluginNamed(vitePlugins, "vite:react") ? void 0 : await _asyncNullishCoalesce(await _asyncOptionalChain([viteReact, 'optionalAccess', async _2 => _2.default]), async () => ( (options.command === "serve" ? (await
|
|
91
|
-
const tailwind = hasPluginNamed(vitePlugins, "@tailwindcss/vite") ? void 0 : await
|
|
94
|
+
const createReactPlugin = hasPluginNamed(vitePlugins, "vite:react") ? void 0 : await _asyncNullishCoalesce(await _asyncOptionalChain([viteReact, 'optionalAccess', async _2 => _2.default]), async () => ( (options.command === "serve" ? (await _chunkDGOLAZLVcjs.loadFarmReactPlugin.call(void 0, )).default : void 0)));
|
|
95
|
+
const tailwind = hasPluginNamed(vitePlugins, "@tailwindcss/vite") ? void 0 : await _chunkLNM57D3Hcjs.loadTailwindVitePlugin.call(void 0, );
|
|
92
96
|
const farmConfig = pluginRsc.defineConfig({
|
|
93
97
|
...rscConfig,
|
|
94
98
|
experimental: { ...userConfig.experimental, serverComponents: true },
|
|
95
99
|
port: _nullishCoalesce(options.port, () => ( _optionalChain([userConfig, 'access', _3 => _3.server, 'optionalAccess', _4 => _4.port]))),
|
|
96
100
|
plugins: [
|
|
97
|
-
...options.command === "serve" &&
|
|
101
|
+
...options.command === "serve" && _chunkAQLHD6HZcjs.resolveFarmPlatform.call(void 0, ) === "desktop" ? [
|
|
102
|
+
_chunkDGOLAZLVcjs.farmDesktopDevGuardPlugin.call(void 0,
|
|
103
|
+
typeof userConfig.basePath === "string" ? userConfig.basePath : void 0
|
|
104
|
+
)
|
|
105
|
+
] : [],
|
|
98
106
|
...tailwind ? [tailwind] : [],
|
|
99
107
|
...vitePlugins,
|
|
100
108
|
viteRsc.default({ serverHandler: false, entries: FARM_RSC_ENTRIES }),
|
|
@@ -103,7 +111,7 @@ async function createFarmRscViteConfig(userConfig, options) {
|
|
|
103
111
|
server: { environmentName: "rsc" },
|
|
104
112
|
config: {
|
|
105
113
|
preset: options.preset,
|
|
106
|
-
outputDir: options.outputDir &&
|
|
114
|
+
outputDir: options.outputDir && _chunkO3MMJPC2cjs.resolveDeployOutputPath.call(void 0, root, options.outputDir)
|
|
107
115
|
}
|
|
108
116
|
})
|
|
109
117
|
]
|
|
@@ -120,26 +128,15 @@ async function createFarmRscViteConfig(userConfig, options) {
|
|
|
120
128
|
mode: options.command === "build" ? "production" : "development"
|
|
121
129
|
};
|
|
122
130
|
}
|
|
123
|
-
function farmRscDesktopDevGuardPlugin(basePath) {
|
|
124
|
-
return {
|
|
125
|
-
name: "farm:desktop-dev-guard",
|
|
126
|
-
enforce: "pre",
|
|
127
|
-
configureServer: {
|
|
128
|
-
order: "pre",
|
|
129
|
-
async handler(server) {
|
|
130
|
-
const { createFarmDesktopDevGuard } = await import("./dev-guard-PLHL6OTJ.cjs");
|
|
131
|
-
server.middlewares.use(
|
|
132
|
-
createFarmDesktopDevGuard(server, {
|
|
133
|
-
basePath: typeof basePath === "string" ? basePath : ""
|
|
134
|
-
})
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
131
|
async function createFarmRscDevServer(userConfig, options) {
|
|
141
132
|
const { createServer } = await import("vite");
|
|
142
|
-
|
|
133
|
+
const { host, ...configOptions } = options;
|
|
134
|
+
const config = await createFarmRscViteConfig(userConfig, { ...configOptions, command: "serve" });
|
|
135
|
+
return createServer({
|
|
136
|
+
...config,
|
|
137
|
+
plugins: [..._nullishCoalesce(config.plugins, () => ( [])), _chunkXPMC4E2Gcjs.createFarmDevLoopbackPlugin.call(void 0, )],
|
|
138
|
+
...host === void 0 ? {} : { server: { ...config.server, host } }
|
|
139
|
+
});
|
|
143
140
|
}
|
|
144
141
|
async function buildFarmRsc(userConfig, options) {
|
|
145
142
|
const { createBuilder } = await import("vite");
|
|
@@ -15,6 +15,9 @@ import {
|
|
|
15
15
|
createRouteDataCacheTag,
|
|
16
16
|
getFarmDataCache
|
|
17
17
|
} from "./chunk-RLEALQEN.mjs";
|
|
18
|
+
import {
|
|
19
|
+
createFarmSearchParams
|
|
20
|
+
} from "./chunk-H3ASZDT7.mjs";
|
|
18
21
|
import {
|
|
19
22
|
createFarmCacheKey
|
|
20
23
|
} from "./chunk-GLOICKDO.mjs";
|
|
@@ -535,7 +538,7 @@ async function resolveProgrammaticRouteProps(route, props) {
|
|
|
535
538
|
...props,
|
|
536
539
|
params,
|
|
537
540
|
search,
|
|
538
|
-
searchParams:
|
|
541
|
+
searchParams: createFarmSearchParams(search)
|
|
539
542
|
};
|
|
540
543
|
const routeContextProps = {
|
|
541
544
|
...baseProps,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/client/hash-target.ts
|
|
2
|
+
function getHashTargetElement(hash) {
|
|
3
|
+
const fragment = hash.startsWith("#") ? hash.slice(1) : hash;
|
|
4
|
+
if (!fragment) return null;
|
|
5
|
+
let decoded = fragment;
|
|
6
|
+
try {
|
|
7
|
+
decoded = decodeURIComponent(fragment);
|
|
8
|
+
} catch (e) {
|
|
9
|
+
}
|
|
10
|
+
return document.getElementById(decoded) || document.getElementById(fragment) || document.getElementsByName(decoded)[0] || null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// src/client/navigation-delegate.ts
|
|
14
|
+
var DELEGATES = /* @__PURE__ */ Symbol.for("farm.navigation.delegates");
|
|
15
|
+
function delegateNavigation(delegate) {
|
|
16
|
+
const host = globalThis;
|
|
17
|
+
const delegates = _nullishCoalesce(host[DELEGATES], () => ( (host[DELEGATES] = /* @__PURE__ */ new Set())));
|
|
18
|
+
delegates.add(delegate);
|
|
19
|
+
return () => {
|
|
20
|
+
delegates.delete(delegate);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function runFarmNavigationDelegates(context) {
|
|
24
|
+
const delegates = globalThis[DELEGATES];
|
|
25
|
+
if (!_optionalChain([delegates, 'optionalAccess', _ => _.size])) return false;
|
|
26
|
+
for (const delegate of delegates) {
|
|
27
|
+
try {
|
|
28
|
+
if (await delegate(context) === true) return true;
|
|
29
|
+
} catch (error) {
|
|
30
|
+
console.error("[Farm.js] A navigation delegate failed; navigating in place.", error);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
exports.getHashTargetElement = getHashTargetElement; exports.delegateNavigation = delegateNavigation; exports.runFarmNavigationDelegates = runFarmNavigationDelegates;
|
|
@@ -16,14 +16,14 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
createFarmWeakETag,
|
|
18
18
|
matchesFarmIfNoneMatch
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GFT5AHAT.mjs";
|
|
20
20
|
import {
|
|
21
21
|
resolveFarmAPIServerBasePath,
|
|
22
22
|
resolveFarmAPIServerRoutePath
|
|
23
23
|
} from "./chunk-LM2YOGDK.mjs";
|
|
24
24
|
import {
|
|
25
25
|
FARM_VERSION
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-ZF3GX4O7.mjs";
|
|
27
27
|
import {
|
|
28
28
|
applyFarmBasePath
|
|
29
29
|
} from "./chunk-SF3JB56B.mjs";
|
|
@@ -7,7 +7,7 @@ var _chunk53EHWHT2cjs = require('./chunk-53EHWHT2.cjs');
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkI2DQGS56cjs = require('./chunk-I2DQGS56.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
var _chunkRI3EVPKDcjs = require('./chunk-RI3EVPKD.cjs');
|
|
@@ -48,7 +48,7 @@ function shouldBlockUnload(options) {
|
|
|
48
48
|
function navigateViaRouter(href, basePath, replace, options = {}) {
|
|
49
49
|
if (typeof window === "undefined") return;
|
|
50
50
|
const url = _chunkD22BUQKWcjs.applyFarmBasePath.call(void 0, href, basePath);
|
|
51
|
-
const spaRouter =
|
|
51
|
+
const spaRouter = _chunkI2DQGS56cjs.getInstalledFarmSPARouter.call(void 0, );
|
|
52
52
|
if (spaRouter) {
|
|
53
53
|
void spaRouter.navigate(url, {
|
|
54
54
|
replace,
|
|
@@ -61,7 +61,7 @@ function navigateViaRouter(href, basePath, replace, options = {}) {
|
|
|
61
61
|
} else {
|
|
62
62
|
window.history.pushState(null, "", url);
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
_chunkI2DQGS56cjs.notifyHistoryChange.call(void 0, "url-search");
|
|
65
65
|
}
|
|
66
66
|
function useRouter(options = {}) {
|
|
67
67
|
const basePath = options.basePath === void 0 ? _chunkD22BUQKWcjs.getFarmBasePath.call(void 0, ) : _chunkD22BUQKWcjs.normalizeFarmBasePath.call(void 0, options.basePath);
|
|
@@ -80,7 +80,7 @@ function useRouter(options = {}) {
|
|
|
80
80
|
setState(readRouterState(basePath, routeMatcher));
|
|
81
81
|
};
|
|
82
82
|
handlePopState();
|
|
83
|
-
const unsubscribe =
|
|
83
|
+
const unsubscribe = _chunkI2DQGS56cjs.subscribeHistoryChange.call(void 0, handlePopState);
|
|
84
84
|
return unsubscribe;
|
|
85
85
|
}, [basePath, routeMatcher]);
|
|
86
86
|
const push = (href, navigateOptions) => {
|
|
@@ -91,11 +91,11 @@ function useRouter(options = {}) {
|
|
|
91
91
|
};
|
|
92
92
|
const pushState = (pageState, href) => {
|
|
93
93
|
if (typeof window === "undefined") return;
|
|
94
|
-
|
|
94
|
+
_chunkI2DQGS56cjs.getRouter.call(void 0, ).pushState(pageState, resolveClientHref(href, basePath));
|
|
95
95
|
};
|
|
96
96
|
const replaceState = (pageState, href) => {
|
|
97
97
|
if (typeof window === "undefined") return;
|
|
98
|
-
|
|
98
|
+
_chunkI2DQGS56cjs.getRouter.call(void 0, ).replaceState(pageState, resolveClientHref(href, basePath));
|
|
99
99
|
};
|
|
100
100
|
const back = () => {
|
|
101
101
|
if (typeof window !== "undefined") {
|
|
@@ -118,24 +118,24 @@ function useRouter(options = {}) {
|
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
120
|
function usePageState() {
|
|
121
|
-
const [state, setState] = _react.useState.call(void 0, () =>
|
|
121
|
+
const [state, setState] = _react.useState.call(void 0, () => _chunkI2DQGS56cjs.readPageState.call(void 0, ));
|
|
122
122
|
_react.useEffect.call(void 0, () => {
|
|
123
123
|
if (typeof window === "undefined") return;
|
|
124
124
|
const handlePopState = () => {
|
|
125
|
-
setState(
|
|
125
|
+
setState(_chunkI2DQGS56cjs.readPageState.call(void 0, ));
|
|
126
126
|
};
|
|
127
127
|
handlePopState();
|
|
128
|
-
return
|
|
128
|
+
return _chunkI2DQGS56cjs.subscribeHistoryChange.call(void 0, handlePopState);
|
|
129
129
|
}, []);
|
|
130
130
|
return state;
|
|
131
131
|
}
|
|
132
132
|
function useNavigation() {
|
|
133
133
|
const [state, setState] = _react.useState.call(void 0,
|
|
134
|
-
() =>
|
|
134
|
+
() => _chunkI2DQGS56cjs.getRouter.call(void 0, ).getNavigationState()
|
|
135
135
|
);
|
|
136
136
|
_react.useEffect.call(void 0, () => {
|
|
137
137
|
if (typeof window === "undefined") return;
|
|
138
|
-
return
|
|
138
|
+
return _chunkI2DQGS56cjs.getRouter.call(void 0, ).subscribeNavigation(setState);
|
|
139
139
|
}, []);
|
|
140
140
|
return state;
|
|
141
141
|
}
|
|
@@ -147,7 +147,7 @@ function useBlocker(options) {
|
|
|
147
147
|
if (typeof window === "undefined" || !active) {
|
|
148
148
|
return;
|
|
149
149
|
}
|
|
150
|
-
return
|
|
150
|
+
return _chunkI2DQGS56cjs.getRouter.call(void 0, ).addBlocker(
|
|
151
151
|
async (context) => {
|
|
152
152
|
const current = optionsRef.current;
|
|
153
153
|
const when = typeof current.when === "function" ? current.when(context) : current.when;
|
|
@@ -170,7 +170,7 @@ function useScrollRestoration(key) {
|
|
|
170
170
|
_react.useEffect.call(void 0, () => {
|
|
171
171
|
const element = ref.current;
|
|
172
172
|
if (!element) return;
|
|
173
|
-
return
|
|
173
|
+
return _chunkI2DQGS56cjs.getRouter.call(void 0, ).registerScrollElement(key, element);
|
|
174
174
|
}, [key]);
|
|
175
175
|
return ref;
|
|
176
176
|
}
|
|
@@ -191,7 +191,7 @@ function readRouterState(basePath, routeMatcher) {
|
|
|
191
191
|
pathname,
|
|
192
192
|
searchParams: url.searchParams,
|
|
193
193
|
params: _optionalChain([routeMatcher, 'optionalAccess', _5 => _5.match, 'call', _6 => _6(routePathname), 'optionalAccess', _7 => _7.params]) || {},
|
|
194
|
-
pageState: typeof window === "undefined" ? null :
|
|
194
|
+
pageState: typeof window === "undefined" ? null : _chunkI2DQGS56cjs.readPageState.call(void 0, )
|
|
195
195
|
};
|
|
196
196
|
}
|
|
197
197
|
function readCurrentUrl() {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolveFarmPlatform
|
|
3
|
+
} from "./chunk-SMUW7UST.mjs";
|
|
1
4
|
import {
|
|
2
5
|
collectSSGPages,
|
|
3
6
|
matchSSGPage,
|
|
4
7
|
resolveRouteRenderingConfigFromFile
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import {
|
|
7
|
-
createFarmMetadataImageResponse
|
|
8
|
-
} from "./chunk-GBPDSUFE.mjs";
|
|
8
|
+
} from "./chunk-WVX3BUNJ.mjs";
|
|
9
9
|
import {
|
|
10
10
|
classifyFarmDocumentPrefix,
|
|
11
11
|
composeFarmFullDocument,
|
|
@@ -30,10 +30,10 @@ import {
|
|
|
30
30
|
renderFarmLocaleAlternateLinks,
|
|
31
31
|
resolveDefaultErrorStatus,
|
|
32
32
|
routeBoundaryCoversDirectory
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-7UPCJDB5.mjs";
|
|
34
34
|
import {
|
|
35
35
|
listFarmMCPLlmsTxtLinks
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-R5P4KFPM.mjs";
|
|
37
37
|
import {
|
|
38
38
|
FARM_DEFAULT_MCP_PATH,
|
|
39
39
|
collectFarmDefaultMCPPages,
|
|
@@ -42,13 +42,16 @@ import {
|
|
|
42
42
|
isFarmDefaultMCPPathname,
|
|
43
43
|
resolveFarmDefaultMCPServer
|
|
44
44
|
} from "./chunk-KRRZJ77U.mjs";
|
|
45
|
+
import {
|
|
46
|
+
createFarmMetadataImageResponse
|
|
47
|
+
} from "./chunk-OZK2DS44.mjs";
|
|
45
48
|
import {
|
|
46
49
|
installFarmIslandValues,
|
|
47
50
|
uninstallFarmIslandValues
|
|
48
51
|
} from "./chunk-A4PWGL46.mjs";
|
|
49
52
|
import {
|
|
50
53
|
handleFarmFormActionRequest
|
|
51
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-Z5A6CNV2.mjs";
|
|
52
55
|
import {
|
|
53
56
|
FARM_ISLAND_REPLAYABLE_SELECTOR,
|
|
54
57
|
isFarmIslandStrategy
|
|
@@ -58,6 +61,13 @@ import {
|
|
|
58
61
|
mergeProgrammaticClientRoutes,
|
|
59
62
|
resolveProgrammaticClientRoutes
|
|
60
63
|
} from "./chunk-C5JXCUKR.mjs";
|
|
64
|
+
import {
|
|
65
|
+
createFarmMarkdownRouteModuleFromFile,
|
|
66
|
+
loadFarmMdxComponents
|
|
67
|
+
} from "./chunk-YVJV7Q2X.mjs";
|
|
68
|
+
import {
|
|
69
|
+
isFarmMarkdownPageFile
|
|
70
|
+
} from "./chunk-GW4YUIHW.mjs";
|
|
61
71
|
import {
|
|
62
72
|
_setDefaultFarmThemeConfig,
|
|
63
73
|
getTheme
|
|
@@ -118,29 +128,22 @@ import {
|
|
|
118
128
|
getFarmAppDirectories,
|
|
119
129
|
getFarmSourceRoots
|
|
120
130
|
} from "./chunk-52Y3C3HG.mjs";
|
|
131
|
+
import {
|
|
132
|
+
resolveFarmMdxComponentsModulePath,
|
|
133
|
+
resolveMdxConfig
|
|
134
|
+
} from "./chunk-UIJOLBUL.mjs";
|
|
121
135
|
import {
|
|
122
136
|
resolveWorkflowsConfig
|
|
123
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-LZ4SB57H.mjs";
|
|
124
138
|
import {
|
|
125
139
|
resolveCronConfig
|
|
126
|
-
} from "./chunk-
|
|
140
|
+
} from "./chunk-X3JNB2TB.mjs";
|
|
127
141
|
import {
|
|
128
142
|
resolveServerActionsConfig
|
|
129
|
-
} from "./chunk-
|
|
143
|
+
} from "./chunk-FSQMN2MQ.mjs";
|
|
130
144
|
import {
|
|
131
145
|
resolveFarmThemeConfig
|
|
132
146
|
} from "./chunk-YWPNIYUP.mjs";
|
|
133
|
-
import {
|
|
134
|
-
createFarmMarkdownRouteModuleFromFile,
|
|
135
|
-
loadFarmMdxComponents
|
|
136
|
-
} from "./chunk-YVJV7Q2X.mjs";
|
|
137
|
-
import {
|
|
138
|
-
isFarmMarkdownPageFile
|
|
139
|
-
} from "./chunk-GW4YUIHW.mjs";
|
|
140
|
-
import {
|
|
141
|
-
resolveFarmMdxComponentsModulePath,
|
|
142
|
-
resolveMdxConfig
|
|
143
|
-
} from "./chunk-UIJOLBUL.mjs";
|
|
144
147
|
import {
|
|
145
148
|
FARM_MARKDOWN_CONTENT_TYPE,
|
|
146
149
|
FARM_MARKDOWN_PAGE_CHECK_HEADER,
|
|
@@ -161,11 +164,11 @@ import {
|
|
|
161
164
|
getIntegrationProviders,
|
|
162
165
|
getRegisteredIntegrationAPIManifest,
|
|
163
166
|
isFarmIntegrationProviderComponentReference
|
|
164
|
-
} from "./chunk-
|
|
167
|
+
} from "./chunk-HHFMECFO.mjs";
|
|
165
168
|
import {
|
|
166
169
|
createRouteSlotContainerId,
|
|
167
170
|
parseRouteSlotFile
|
|
168
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-IRSS4HS4.mjs";
|
|
169
172
|
import {
|
|
170
173
|
_clearCurrentMiddlewareContext,
|
|
171
174
|
_clearCurrentMiddlewareData,
|
|
@@ -175,7 +178,7 @@ import {
|
|
|
175
178
|
import {
|
|
176
179
|
findProgrammaticRouteFiles,
|
|
177
180
|
loadProgrammaticRouteManifests
|
|
178
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-FSXSQQTV.mjs";
|
|
179
182
|
import {
|
|
180
183
|
_runWithFarmI18nRequest,
|
|
181
184
|
_setDefaultFarmI18nRuntime,
|
|
@@ -210,7 +213,7 @@ import {
|
|
|
210
213
|
} from "./chunk-VHIXGZYH.mjs";
|
|
211
214
|
import {
|
|
212
215
|
loadFarmDevModule
|
|
213
|
-
} from "./chunk-
|
|
216
|
+
} from "./chunk-TUOO6IK3.mjs";
|
|
214
217
|
import {
|
|
215
218
|
resolveFarmI18nConfig
|
|
216
219
|
} from "./chunk-MU5V7XHL.mjs";
|
|
@@ -227,10 +230,11 @@ import {
|
|
|
227
230
|
splitRoutePath,
|
|
228
231
|
toRootRelativeUrlPath,
|
|
229
232
|
toViteModuleId
|
|
230
|
-
} from "./chunk-
|
|
233
|
+
} from "./chunk-Y3N5BFRJ.mjs";
|
|
231
234
|
import {
|
|
235
|
+
createFarmSearchParams,
|
|
232
236
|
searchParamsToObject
|
|
233
|
-
} from "./chunk-
|
|
237
|
+
} from "./chunk-H3ASZDT7.mjs";
|
|
234
238
|
import {
|
|
235
239
|
configureFarmObservability,
|
|
236
240
|
emitFarmEvent
|
|
@@ -241,7 +245,7 @@ import {
|
|
|
241
245
|
import {
|
|
242
246
|
matchesFarmIfNoneMatch,
|
|
243
247
|
resolveFarmServerConfig
|
|
244
|
-
} from "./chunk-
|
|
248
|
+
} from "./chunk-GFT5AHAT.mjs";
|
|
245
249
|
import {
|
|
246
250
|
getRequestContextSnapshot
|
|
247
251
|
} from "./chunk-D2LCAV6L.mjs";
|
|
@@ -250,7 +254,7 @@ import {
|
|
|
250
254
|
} from "./chunk-LM2YOGDK.mjs";
|
|
251
255
|
import {
|
|
252
256
|
FARM_VERSION
|
|
253
|
-
} from "./chunk-
|
|
257
|
+
} from "./chunk-ZF3GX4O7.mjs";
|
|
254
258
|
import {
|
|
255
259
|
resolveFarmTrailingSlashRedirect,
|
|
256
260
|
setFarmTrailingSlashPreference
|
|
@@ -4462,7 +4466,12 @@ function withFarmIslandsRenders(runtime, islandsRuntime) {
|
|
|
4462
4466
|
return wrapped;
|
|
4463
4467
|
}
|
|
4464
4468
|
var cachedClerkProvider = null;
|
|
4465
|
-
|
|
4469
|
+
function importRuntimeModule(specifier) {
|
|
4470
|
+
return import(
|
|
4471
|
+
/* @vite-ignore */
|
|
4472
|
+
specifier
|
|
4473
|
+
);
|
|
4474
|
+
}
|
|
4466
4475
|
function shouldServePrerenderedPage(nodeEnv, method) {
|
|
4467
4476
|
if (nodeEnv !== "production") return false;
|
|
4468
4477
|
const normalizedMethod = (method || "GET").toUpperCase();
|
|
@@ -4652,7 +4661,7 @@ async function parseRouteModuleProps(routeModule, input) {
|
|
|
4652
4661
|
...input.props,
|
|
4653
4662
|
params,
|
|
4654
4663
|
search,
|
|
4655
|
-
searchParams:
|
|
4664
|
+
searchParams: createFarmSearchParams(search)
|
|
4656
4665
|
};
|
|
4657
4666
|
}
|
|
4658
4667
|
function parseRouteModuleSchema(schema, value, label, routePath) {
|
|
@@ -4670,7 +4679,7 @@ function createRouteStateProps(input) {
|
|
|
4670
4679
|
return {
|
|
4671
4680
|
params: input.params,
|
|
4672
4681
|
search: input.searchParamsObject,
|
|
4673
|
-
searchParams:
|
|
4682
|
+
searchParams: createFarmSearchParams(input.searchParamsObject),
|
|
4674
4683
|
path: input.path,
|
|
4675
4684
|
middleware: input.middlewareMap.size > 0 ? { data: input.middlewareMap } : void 0,
|
|
4676
4685
|
context: input.pluginExposedContext.size > 0 ? { data: input.pluginExposedContext } : void 0
|
|
@@ -5123,7 +5132,7 @@ var ServerRenderer = class {
|
|
|
5123
5132
|
const PageComponent = mod.default;
|
|
5124
5133
|
const pageProps = {
|
|
5125
5134
|
params: page.params,
|
|
5126
|
-
searchParams:
|
|
5135
|
+
searchParams: createFarmSearchParams({}),
|
|
5127
5136
|
path: page.urlPath
|
|
5128
5137
|
};
|
|
5129
5138
|
let pageElement = this.rendererRuntime.createElement(PageComponent, pageProps);
|
|
@@ -5409,7 +5418,7 @@ var ServerRenderer = class {
|
|
|
5409
5418
|
const rawPageProps = withFarmRouteContext(
|
|
5410
5419
|
{
|
|
5411
5420
|
params,
|
|
5412
|
-
searchParams:
|
|
5421
|
+
searchParams: createFarmSearchParams(searchParamsObject),
|
|
5413
5422
|
path: pathname,
|
|
5414
5423
|
middleware: middlewareMap.size > 0 ? { data: middlewareMap } : void 0,
|
|
5415
5424
|
context: pluginExposedContext.size > 0 ? { data: pluginExposedContext } : void 0
|
|
@@ -5432,7 +5441,7 @@ var ServerRenderer = class {
|
|
|
5432
5441
|
const routeStateProps = {
|
|
5433
5442
|
...rawPageProps,
|
|
5434
5443
|
search: searchParamsObject,
|
|
5435
|
-
searchParams:
|
|
5444
|
+
searchParams: createFarmSearchParams(searchParamsObject),
|
|
5436
5445
|
error
|
|
5437
5446
|
};
|
|
5438
5447
|
if (isFarmNotFoundError(error) && programmaticRouteComponents?.notFound) {
|
|
@@ -5550,7 +5559,7 @@ var ServerRenderer = class {
|
|
|
5550
5559
|
const rawSlotProps = withFarmRouteContext(
|
|
5551
5560
|
{
|
|
5552
5561
|
params: slot.params,
|
|
5553
|
-
searchParams:
|
|
5562
|
+
searchParams: createFarmSearchParams(searchParamsObject),
|
|
5554
5563
|
path: pathname,
|
|
5555
5564
|
middleware: middlewareMap.size > 0 ? { data: middlewareMap } : void 0,
|
|
5556
5565
|
context: pluginExposedContext.size > 0 ? { data: pluginExposedContext } : void 0
|
|
@@ -6414,7 +6423,7 @@ var ServerRenderer = class {
|
|
|
6414
6423
|
}
|
|
6415
6424
|
const imageProps = {
|
|
6416
6425
|
params: options.params,
|
|
6417
|
-
searchParams:
|
|
6426
|
+
searchParams: createFarmSearchParams(options.searchParamsObject),
|
|
6418
6427
|
path: options.pagePath
|
|
6419
6428
|
};
|
|
6420
6429
|
const handlerResult = typeof imageModule.default === "function" ? await imageModule.default(imageProps) : imageModule.default;
|
|
@@ -7718,7 +7727,7 @@ function resolveFarmAppPackages(root) {
|
|
|
7718
7727
|
import fs7 from "fs";
|
|
7719
7728
|
import { createRequire as createRequire2 } from "module";
|
|
7720
7729
|
import path12 from "path";
|
|
7721
|
-
import
|
|
7730
|
+
import { globSync } from "tinyglobby";
|
|
7722
7731
|
var WEBMCP_CLIENT = "@farm.js/webmcp/client";
|
|
7723
7732
|
var DEFINERS = /* @__PURE__ */ new Set(["defineWebMCPTool", "registerWebMCPTool", "registerWebMCPTools"]);
|
|
7724
7733
|
var HINTS = ["readOnlyHint", "destructiveHint", "idempotentHint", "openWorldHint"];
|
|
@@ -7862,9 +7871,10 @@ function collectFarmWebMCPTools(root, srcDir = "src") {
|
|
|
7862
7871
|
const base = path12.resolve(root, srcDir);
|
|
7863
7872
|
let files;
|
|
7864
7873
|
try {
|
|
7865
|
-
files =
|
|
7874
|
+
files = globSync("**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}", {
|
|
7866
7875
|
cwd: base,
|
|
7867
7876
|
absolute: true,
|
|
7877
|
+
expandDirectories: false,
|
|
7868
7878
|
ignore: ["**/node_modules/**", "**/*.d.ts", "**/*.{test,spec}.*", "**/__tests__/**"]
|
|
7869
7879
|
});
|
|
7870
7880
|
} catch {
|
|
@@ -7912,6 +7922,12 @@ var CLIENT_KEYS = [
|
|
|
7912
7922
|
];
|
|
7913
7923
|
var HYDRATION_KEYS = ["before", "after"];
|
|
7914
7924
|
var NAVIGATION_KEYS = ["before", "loaded", "resolved", "rendered", "error"];
|
|
7925
|
+
var MOBILE_SHELL_CLIENT_IMPORT = 'import { farmMobileShellClient as __farmMobileShellClient } from "@farm.js/core/internal/client-runtime";';
|
|
7926
|
+
var MOBILE_SHELL_CLIENT_REGISTRATION = ` {
|
|
7927
|
+
name: "farm:mobile-shell",
|
|
7928
|
+
enforce: "pre",
|
|
7929
|
+
definition: __farmMobileShellClient,
|
|
7930
|
+
}`;
|
|
7915
7931
|
var APP_CLIENT_EXTENSIONS = ["ts", "tsx", "js", "jsx", "mts", "mjs"];
|
|
7916
7932
|
function resolveFarmAppClientEntry(root = process.cwd(), srcDir = "src") {
|
|
7917
7933
|
const sourceRoot = path13.resolve(root, srcDir);
|
|
@@ -7941,15 +7957,20 @@ function resolveFarmClientPlugins(plugins, _root) {
|
|
|
7941
7957
|
function generateFarmClientPluginEntryCode(plugins, root, srcDir = "src", appPublicData) {
|
|
7942
7958
|
const resolved = resolveFarmClientPlugins(plugins, root);
|
|
7943
7959
|
const appClientEntry = root ? resolveFarmAppClientEntry(root, srcDir) : void 0;
|
|
7944
|
-
const
|
|
7945
|
-
const
|
|
7946
|
-
|
|
7960
|
+
const appImport = appClientEntry ? `import farmAppClientDefinition from ${JSON.stringify(appClientEntry.replace(/\\/g, "/"))};` : "";
|
|
7961
|
+
const mobileShell = resolveFarmPlatform() === "mobile";
|
|
7962
|
+
const imports = mobileShell ? [MOBILE_SHELL_CLIENT_IMPORT, appImport].filter(Boolean).join("\n") : appImport;
|
|
7963
|
+
const serializedPlugins = mobileShell ? [MOBILE_SHELL_CLIENT_REGISTRATION] : [];
|
|
7964
|
+
serializedPlugins.push(
|
|
7965
|
+
...resolved.map(
|
|
7966
|
+
(plugin) => ` {
|
|
7947
7967
|
name: ${JSON.stringify(plugin.name)},
|
|
7948
7968
|
version: ${serializeOptionalString(plugin.version)},
|
|
7949
7969
|
enforce: ${serializeOptionalString(plugin.enforce)},
|
|
7950
7970
|
definition: ${serializeClientLifecycle(plugin.definition, plugin.name)},
|
|
7951
7971
|
public: ${serializePublicData(plugin.publicData)},
|
|
7952
7972
|
}`
|
|
7973
|
+
)
|
|
7953
7974
|
);
|
|
7954
7975
|
if (appClientEntry) {
|
|
7955
7976
|
assertPublicData(appPublicData, "farm:app-client");
|