@farm.js/core 0.1.31 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/agent-runtime.cjs +69 -14
- package/dist/agent-runtime.d.mts +1 -1
- package/dist/agent-runtime.d.ts +1 -1
- package/dist/agent-runtime.mjs +58 -3
- package/dist/api/route-manager.cjs +16 -13
- package/dist/api/route-manager.d.mts +1 -1
- package/dist/api/route-manager.d.ts +1 -1
- package/dist/api/route-manager.mjs +15 -12
- package/dist/api/runtime.cjs +9 -7
- package/dist/api/runtime.d.mts +1 -1
- package/dist/api/runtime.d.ts +1 -1
- package/dist/api/runtime.mjs +8 -6
- package/dist/api.cjs +19 -16
- package/dist/api.d.mts +2 -2
- package/dist/api.d.ts +2 -2
- package/dist/api.mjs +18 -15
- package/dist/{app-sUJ3jnTZ.d.ts → app-DgotYGbq.d.ts} +3 -3
- package/dist/app-markdown.cjs +8 -6
- package/dist/app-markdown.d.mts +3 -3
- package/dist/app-markdown.d.ts +3 -3
- package/dist/app-markdown.mjs +7 -5
- package/dist/{app-DAuUTIZf.d.mts → app-q4rmZlXK.d.mts} +3 -3
- package/dist/cache.cjs +2 -2
- package/dist/cache.d.mts +10 -1
- package/dist/cache.d.ts +10 -1
- package/dist/cache.mjs +1 -1
- package/dist/{chunk-YZTASLPQ.cjs → chunk-27ZWSI3W.cjs} +2 -2
- package/dist/{chunk-WBIH66JK.mjs → chunk-2ELDTQRN.mjs} +5 -2
- package/dist/{chunk-K7CELQLK.cjs → chunk-2F2ER724.cjs} +54 -29
- package/dist/{chunk-NRVGEI5I.mjs → chunk-2NNMOPDN.mjs} +4 -210
- package/dist/chunk-2NQQ5H5G.cjs +86 -0
- package/dist/{chunk-IFI5FXEZ.cjs → chunk-36MK5YCW.cjs} +334 -163
- package/dist/chunk-3BU22U3M.cjs +237 -0
- package/dist/{chunk-MM5D6VLP.mjs → chunk-3KZS4SUS.mjs} +33 -14
- package/dist/chunk-3SDFA7UF.cjs +701 -0
- package/dist/{chunk-4IEPYMHF.mjs → chunk-3UEVPCGW.mjs} +1 -1
- package/dist/{chunk-5LJCOSKT.mjs → chunk-3VSKDFAT.mjs} +1 -1
- package/dist/{chunk-5HGR3W6O.mjs → chunk-5SJWVY6R.mjs} +8 -0
- package/dist/{chunk-X7WVQMIB.mjs → chunk-657WJNRY.mjs} +10 -4
- package/dist/{chunk-MKMBQSNQ.mjs → chunk-6VVL3MHY.mjs} +3 -3
- package/dist/{chunk-QZRVZSPN.cjs → chunk-77GNHH2Z.cjs} +3 -3
- package/dist/{chunk-KZLND3D2.cjs → chunk-7BT4H4P7.cjs} +7 -5
- package/dist/{chunk-A777V5WU.cjs → chunk-7M52YUMY.cjs} +2 -2
- package/dist/{chunk-VUMAE7NC.mjs → chunk-7Y6ZNFPX.mjs} +81 -30
- package/dist/{chunk-MXDTKXO6.cjs → chunk-A5FGU2WU.cjs} +74 -23
- package/dist/{chunk-7QOCTYBS.mjs → chunk-AGC75XAE.mjs} +37 -1
- package/dist/{chunk-4ZQQL4IU.mjs → chunk-AHGECQEW.mjs} +1 -1
- package/dist/{chunk-RG3ZOTG5.cjs → chunk-AI7QMY7O.cjs} +10 -3
- package/dist/{chunk-O3DTUAX2.mjs → chunk-AQZFOP7S.mjs} +6 -77
- package/dist/{chunk-WNLBF77X.cjs → chunk-ATK2R4CH.cjs} +14 -12
- package/dist/{chunk-SORB3MAR.cjs → chunk-AWC4VUZL.cjs} +17 -17
- package/dist/{chunk-YMCXWPWK.mjs → chunk-BCMSYSN2.mjs} +4 -1
- package/dist/{chunk-FYRBX5IY.cjs → chunk-BTAG7LI7.cjs} +2 -2
- package/dist/{chunk-I6XDAKWQ.mjs → chunk-BTHHUD7Q.mjs} +14 -0
- package/dist/chunk-C4SPBWFM.cjs +26 -0
- package/dist/{chunk-JATSG2ZO.mjs → chunk-CLJYVZAD.mjs} +4 -2
- package/dist/{chunk-J3LOGE4T.cjs → chunk-DQQOKWYA.cjs} +5 -5
- package/dist/{chunk-JLRDISQL.cjs → chunk-DZ4DTRJ5.cjs} +7 -7
- package/dist/chunk-E5GNDG5F.mjs +701 -0
- package/dist/{chunk-E76XC6ZG.mjs → chunk-EZDQRNQ7.mjs} +2 -2
- package/dist/{chunk-TOVMYGYW.mjs → chunk-F2SE2VDO.mjs} +1 -1
- package/dist/{chunk-BSPQVJ4A.mjs → chunk-FDR64H6B.mjs} +13 -0
- package/dist/{chunk-5OVTOKGH.cjs → chunk-FFFW3OQ7.cjs} +2 -2
- package/dist/{chunk-D4JE5NNV.cjs → chunk-FNO7A7CM.cjs} +5 -5
- package/dist/chunk-FZ6YYU2W.mjs +65 -0
- package/dist/{chunk-PZNCMPJF.cjs → chunk-G26MUMKL.cjs} +14 -8
- package/dist/{chunk-IXUY2F5U.mjs → chunk-GCXWJJKH.mjs} +4 -7
- package/dist/{chunk-JLCQGPXE.mjs → chunk-GNSDTTWZ.mjs} +50 -61
- package/dist/{chunk-TEN4FIZU.mjs → chunk-GOABMOX3.mjs} +151 -3
- package/dist/{chunk-HBTUGXHS.cjs → chunk-HLJ6MBUZ.cjs} +7 -4
- package/dist/{chunk-GZYH4OER.mjs → chunk-HR5KPHC2.mjs} +1 -1
- package/dist/{chunk-ZCU4NZ3M.cjs → chunk-IE7XCHH3.cjs} +4 -4
- package/dist/{chunk-I26CZYPV.cjs → chunk-IHNIDL6H.cjs} +50 -7
- package/dist/{chunk-2FQHH5SC.mjs → chunk-IHNMMXHV.mjs} +49 -24
- package/dist/{chunk-VHJGDMCG.cjs → chunk-IWZKTWHZ.cjs} +2 -2
- package/dist/{chunk-DGXN3L4D.mjs → chunk-JDPAKVS4.mjs} +4 -4
- package/dist/chunk-JG6DJF5A.mjs +238 -0
- package/dist/{chunk-5TISYEQF.mjs → chunk-JM5XPKWH.mjs} +10 -3
- package/dist/{chunk-BJJATPEC.mjs → chunk-KN7K4VQN.mjs} +1 -1
- package/dist/{chunk-WPYFSQKK.cjs → chunk-KNBBQHO2.cjs} +15 -1
- package/dist/{chunk-XWAWFQFS.cjs → chunk-KXWRO25S.cjs} +7 -4
- package/dist/{chunk-QG5HNS7P.mjs → chunk-LHODW25H.mjs} +2 -2
- package/dist/{chunk-BXFWA23T.mjs → chunk-LMJ7VRHZ.mjs} +3 -3
- package/dist/{chunk-WG2KHOMN.mjs → chunk-LR5QSC2P.mjs} +380 -209
- package/dist/chunk-LSKZMJMP.cjs +65 -0
- package/dist/{chunk-2N5PX3LS.mjs → chunk-LYV44OIR.mjs} +7 -1
- package/dist/{chunk-5MKEDGLD.cjs → chunk-M64YUMA4.cjs} +11 -6
- package/dist/{chunk-EXLKRR4U.cjs → chunk-MIDIZJZC.cjs} +12 -12
- package/dist/{chunk-ES4B2IXW.cjs → chunk-MOKLYNHV.cjs} +2 -2
- package/dist/{chunk-IV6CQY7O.mjs → chunk-MSSFIQGM.mjs} +63 -13
- package/dist/{chunk-KH7BN726.cjs → chunk-N4UOK6ZI.cjs} +8 -2
- package/dist/{chunk-6VYZOPOT.mjs → chunk-NGVORZVZ.mjs} +1 -1
- package/dist/{chunk-JNGIWIY6.mjs → chunk-NPC7VWJE.mjs} +2 -2
- package/dist/{chunk-ILWLPEVO.mjs → chunk-NRSN7G7E.mjs} +2 -2
- package/dist/{chunk-AHAJGAYD.mjs → chunk-O27L4YAA.mjs} +1 -1
- package/dist/{chunk-VYZSOYR4.cjs → chunk-ODBZYBAB.cjs} +1 -1
- package/dist/{chunk-YVGAEAA5.cjs → chunk-P64MIF5B.cjs} +154 -6
- package/dist/{chunk-DFLLARUK.cjs → chunk-PQDFUSXD.cjs} +14 -14
- package/dist/{chunk-F6XEGFHO.mjs → chunk-PXKIEXZD.mjs} +10 -0
- package/dist/{chunk-S5GDHOE4.mjs → chunk-PZNL3WEG.mjs} +48 -5
- package/dist/{chunk-FV45CKBC.mjs → chunk-QCFBDFRS.mjs} +1 -1
- package/dist/{chunk-75BRBIFP.cjs → chunk-QCVE2OCI.cjs} +5 -8
- package/dist/{chunk-6ZCMSZ5U.mjs → chunk-QE6VAKLT.mjs} +1 -1
- package/dist/{chunk-75DYEVXI.cjs → chunk-QGYRXFU2.cjs} +9 -9
- package/dist/{chunk-CTV2TTNP.cjs → chunk-QJ3J6MZT.cjs} +16 -87
- package/dist/{chunk-O6XNAMBV.mjs → chunk-QLQ32WC4.mjs} +8 -3
- package/dist/{chunk-IMB4PIAR.cjs → chunk-SJVKK4JE.cjs} +839 -420
- package/dist/{chunk-3FCFQP5V.cjs → chunk-TA5G2HWD.cjs} +21 -21
- package/dist/{chunk-Z5HIWVDP.cjs → chunk-TDFPACVX.cjs} +62 -73
- package/dist/{chunk-ND224OE2.cjs → chunk-TKSCR644.cjs} +34 -15
- package/dist/{chunk-UAFSBWNT.mjs → chunk-U4PTAHW3.mjs} +64 -13
- package/dist/{chunk-ZHVYQL3H.cjs → chunk-U74I55WB.cjs} +86 -35
- package/dist/chunk-UBO4SGH4.mjs +86 -0
- package/dist/{chunk-IQXFRNY2.cjs → chunk-UFDAAQFX.cjs} +2 -2
- package/dist/{chunk-X7KZBF63.cjs → chunk-UX5S4JEO.cjs} +40 -4
- package/dist/{chunk-5ZSWG4UX.cjs → chunk-UXFQ3UDA.cjs} +14 -1
- package/dist/{chunk-L4DVIHOC.mjs → chunk-VCCUOMQN.mjs} +1 -1
- package/dist/{chunk-4V7GIE2U.mjs → chunk-VHANUNEG.mjs} +2 -2
- package/dist/{chunk-FXUUWYAX.cjs → chunk-VKNHTSAP.cjs} +10 -0
- package/dist/{chunk-2AKFKCHA.mjs → chunk-W7LF2J2S.mjs} +1 -1
- package/dist/{chunk-MNUGPHLN.mjs → chunk-WNNYOOIB.mjs} +5 -3
- package/dist/{chunk-VA62MHFV.mjs → chunk-X242HVD5.mjs} +1 -1
- package/dist/{chunk-UJ2C4ICS.cjs → chunk-XJXBIP67.cjs} +4 -4
- package/dist/{chunk-6L6DQR5W.mjs → chunk-XV5DJTBX.mjs} +539 -121
- package/dist/{chunk-KJ2TIHZZ.cjs → chunk-XXJU7FCC.cjs} +3 -2
- package/dist/{chunk-DYEJQTDN.cjs → chunk-YSCV4SJF.cjs} +4 -4
- package/dist/{chunk-2SDO73HK.cjs → chunk-YWN746US.cjs} +64 -14
- package/dist/chunk-Z2HLU4IX.cjs +238 -0
- package/dist/{chunk-2FXWWUE5.cjs → chunk-Z2YLTERK.cjs} +4 -4
- package/dist/{chunk-CUMINO7Z.cjs → chunk-ZHPHJPQP.cjs} +4 -4
- package/dist/{chunk-FJZ3DQLK.mjs → chunk-ZKP7C2B6.mjs} +4 -4
- package/dist/{chunk-JBC2FKRW.mjs → chunk-ZUSJDQ2Q.mjs} +2 -1
- package/dist/{client-plugins-BX2ptm4H.d.mts → client-plugins-CLObcuCq.d.mts} +26 -2
- package/dist/{client-plugins-BmxM5KW_.d.ts → client-plugins-DZjHC4Mi.d.ts} +26 -2
- package/dist/client-plugins.d.mts +1 -1
- package/dist/client-plugins.d.ts +1 -1
- package/dist/client.cjs +8 -8
- package/dist/client.d.mts +5 -5
- package/dist/client.d.ts +5 -5
- package/dist/client.mjs +7 -7
- package/dist/config.d.mts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/{devtools-EWRDHCD5.cjs → devtools-HU6Y2MNV.cjs} +11 -9
- package/dist/{devtools-BPBCYOU6.mjs → devtools-RNXCTS4R.mjs} +10 -8
- package/dist/docs.cjs +13 -11
- package/dist/docs.d.mts +5 -0
- package/dist/docs.d.ts +5 -0
- package/dist/docs.mjs +12 -10
- package/dist/environment/vite.cjs +2 -2
- package/dist/environment/vite.mjs +1 -1
- package/dist/headers.cjs +4 -4
- package/dist/headers.mjs +3 -3
- package/dist/i18n/client.cjs +14 -13
- package/dist/i18n/client.mjs +5 -4
- package/dist/i18n/index.cjs +3 -2
- package/dist/i18n/index.mjs +2 -1
- package/dist/i18n/server.cjs +6 -5
- package/dist/i18n/server.mjs +5 -4
- package/dist/image/server.cjs +2 -2
- package/dist/image/server.mjs +1 -1
- package/dist/image/sharp.cjs +9 -9
- package/dist/image/sharp.mjs +1 -1
- package/dist/index.cjs +67 -55
- package/dist/index.d.mts +14 -14
- package/dist/index.d.ts +14 -14
- package/dist/index.mjs +70 -58
- package/dist/integrations.cjs +6 -3
- package/dist/integrations.d.mts +1 -1
- package/dist/integrations.d.ts +1 -1
- package/dist/integrations.mjs +7 -4
- package/dist/internal/app-markdown-runtime.cjs +7 -5
- package/dist/internal/app-markdown-runtime.d.mts +14 -3
- package/dist/internal/app-markdown-runtime.d.ts +14 -3
- package/dist/internal/app-markdown-runtime.mjs +6 -4
- package/dist/internal/build-runtime.cjs +38 -35
- package/dist/internal/build-runtime.d.mts +3 -3
- package/dist/internal/build-runtime.d.ts +3 -3
- package/dist/internal/build-runtime.mjs +37 -34
- package/dist/internal/cli-runtime.cjs +20 -17
- package/dist/internal/cli-runtime.mjs +19 -16
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +4 -2
- package/dist/internal/client-runtime.d.mts +9 -1
- package/dist/internal/client-runtime.d.ts +9 -1
- package/dist/internal/client-runtime.mjs +3 -1
- package/dist/internal/compression-runtime.d.mts +1 -1
- package/dist/internal/compression-runtime.d.ts +1 -1
- package/dist/internal/config-runtime.cjs +11 -9
- package/dist/internal/config-runtime.d.mts +2 -2
- package/dist/internal/config-runtime.d.ts +2 -2
- package/dist/internal/config-runtime.mjs +10 -8
- package/dist/internal/infra-analytics-runtime.cjs +4 -4
- package/dist/internal/infra-analytics-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 +20 -14
- package/dist/internal/production-runtime.d.mts +115 -8
- package/dist/internal/production-runtime.d.ts +115 -8
- package/dist/internal/production-runtime.mjs +19 -13
- package/dist/internal/request-cookies.cjs +4 -2
- package/dist/internal/request-cookies.d.mts +9 -1
- package/dist/internal/request-cookies.d.ts +9 -1
- package/dist/internal/request-cookies.mjs +3 -1
- package/dist/markdown.cjs +4 -4
- package/dist/markdown.d.mts +1 -1
- package/dist/markdown.d.ts +1 -1
- package/dist/markdown.mjs +3 -3
- package/dist/{metadata-DsEaK7mQ.d.mts → metadata-2HSU2i_w.d.mts} +1 -1
- package/dist/{metadata-fwZ3gfG6.d.ts → metadata-Cjs8JMRM.d.ts} +1 -1
- package/dist/middleware.cjs +18 -8
- package/dist/middleware.d.mts +24 -5
- package/dist/middleware.d.ts +24 -5
- package/dist/middleware.mjs +18 -8
- package/dist/navigation.cjs +6 -6
- package/dist/navigation.d.mts +4 -4
- package/dist/navigation.d.ts +4 -4
- package/dist/navigation.mjs +5 -5
- package/dist/{nitro-NAKCRVHX.mjs → nitro-4XGPNIK4.mjs} +3 -3
- package/dist/{nitro-VYDZGYFY.cjs → nitro-HSAQFXSS.cjs} +4 -4
- package/dist/plugin.cjs +33 -30
- package/dist/plugin.d.mts +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.mjs +32 -29
- package/dist/{production-runtime-DNkpFnmg.d.ts → production-runtime-BU5ETAK9.d.ts} +8 -1
- package/dist/{production-runtime-Baqgwtvc.d.mts → production-runtime-CysZl3EV.d.mts} +8 -1
- package/dist/query/client.cjs +7 -7
- package/dist/query/client.mjs +3 -3
- package/dist/{render-plan-DhwQnmmX.d.mts → render-plan-CKr4ltOd.d.mts} +1 -1
- package/dist/{render-plan-rkIK9wd9.d.ts → render-plan-D72O1qm4.d.ts} +1 -1
- package/dist/renderer-client.cjs +39 -19
- package/dist/renderer-client.d.mts +3 -3
- package/dist/renderer-client.d.ts +3 -3
- package/dist/renderer-client.mjs +28 -8
- package/dist/{request-CFy1BltJ.d.mts → request-Be83WafN.d.mts} +7 -2
- package/dist/{request-BcY4RYPC.d.ts → request-DbyOYI2j.d.ts} +7 -2
- package/dist/request.cjs +2 -2
- package/dist/request.d.mts +2 -2
- package/dist/request.d.ts +2 -2
- package/dist/request.mjs +1 -1
- package/dist/{route-rendering-BkS0TBlB.d.mts → route-rendering-BG56SzvJ.d.mts} +1 -1
- package/dist/{route-rendering-D4XpMjam.d.ts → route-rendering-CtVMpV-k.d.ts} +1 -1
- package/dist/{router-C4zPlC3V.d.mts → router-ALUvm8gC.d.mts} +1 -1
- package/dist/{router-Cq7BcZxg.d.ts → router-D94-SDlW.d.ts} +1 -1
- package/dist/routes.cjs +3 -3
- package/dist/routes.d.mts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/routes.mjs +2 -2
- package/dist/server-fn.cjs +3 -3
- package/dist/server-fn.mjs +2 -2
- package/dist/server-plugins.cjs +4 -4
- package/dist/server-plugins.d.mts +2 -2
- package/dist/server-plugins.d.ts +2 -2
- package/dist/server-plugins.mjs +3 -3
- package/dist/server-query-client.cjs +3 -3
- package/dist/server-query-client.mjs +2 -2
- package/dist/server-query.cjs +4 -4
- package/dist/server-query.mjs +3 -3
- package/dist/server.cjs +60 -57
- package/dist/server.d.mts +7 -7
- package/dist/server.d.ts +7 -7
- package/dist/server.mjs +37 -34
- package/dist/{spa-router-B1HI3X9k.d.ts → spa-router-CxK3USIz.d.ts} +2 -2
- package/dist/{spa-router-DzPZH-AO.d.mts → spa-router-DbxNRKOB.d.mts} +2 -2
- package/dist/testing.cjs +19 -17
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.mjs +16 -14
- package/dist/theme/server.cjs +4 -3
- package/dist/theme/server.mjs +3 -2
- package/dist/{utils-DMD1Hzta.d.ts → utils-311Y8eoK.d.ts} +1 -1
- package/dist/{utils-CEBktlBG.d.mts → utils-4wVRcpOw.d.mts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +33 -30
- package/dist/vite.d.mts +1 -1
- package/dist/vite.d.ts +1 -1
- package/dist/vite.mjs +32 -29
- package/package.json +2 -2
- package/dist/chunk-22GUSVNJ.cjs +0 -351
- package/dist/chunk-SWN467MP.cjs +0 -18
- package/dist/chunk-XGC343EY.cjs +0 -443
- package/dist/chunk-ZSH2Y4LN.mjs +0 -351
- /package/dist/{chunk-SUIBNSNO.cjs → chunk-SJNMVDDF.cjs} +0 -0
- /package/dist/{chunk-LNZ7JZUS.mjs → chunk-UDNPLXW7.mjs} +0 -0
|
@@ -10,7 +10,7 @@ var _chunkXD32KALFcjs = require('./chunk-XD32KALF.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkA5FGU2WUcjs = require('./chunk-A5FGU2WU.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ var _chunkMXDTKXO6cjs = require('./chunk-MXDTKXO6.cjs');
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkZ2YLTERKcjs = require('./chunk-Z2YLTERK.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ var _chunk2FXWWUE5cjs = require('./chunk-2FXWWUE5.cjs');
|
|
|
28
28
|
var _chunkMWWVKDW3cjs = require('./chunk-MWWVKDW3.cjs');
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
var
|
|
31
|
+
var _chunkTKSCR644cjs = require('./chunk-TKSCR644.cjs');
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
var _chunkIK6LVLKCcjs = require('./chunk-IK6LVLKC.cjs');
|
|
@@ -37,7 +37,7 @@ var _chunkIK6LVLKCcjs = require('./chunk-IK6LVLKC.cjs');
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
var
|
|
40
|
+
var _chunkPQDFUSXDcjs = require('./chunk-PQDFUSXD.cjs');
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
var _chunkKCMTCM6Icjs = require('./chunk-KCMTCM6I.cjs');
|
|
@@ -73,23 +73,27 @@ var _chunk2SJ4RQ6Pcjs = require('./chunk-2SJ4RQ6P.cjs');
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
var _chunkIMB4PIARcjs = require('./chunk-IMB4PIAR.cjs');
|
|
77
76
|
|
|
78
77
|
|
|
78
|
+
var _chunkSJVKK4JEcjs = require('./chunk-SJVKK4JE.cjs');
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
var _chunkCTV2TTNPcjs = require('./chunk-CTV2TTNP.cjs');
|
|
83
82
|
|
|
84
83
|
|
|
84
|
+
var _chunkQJ3J6MZTcjs = require('./chunk-QJ3J6MZT.cjs');
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
var _chunkP64MIF5Bcjs = require('./chunk-P64MIF5B.cjs');
|
|
87
91
|
|
|
88
92
|
|
|
89
93
|
var _chunkCXP5U3RWcjs = require('./chunk-CXP5U3RW.cjs');
|
|
90
94
|
|
|
91
95
|
|
|
92
|
-
var
|
|
96
|
+
var _chunk3SDFA7UFcjs = require('./chunk-3SDFA7UF.cjs');
|
|
93
97
|
|
|
94
98
|
|
|
95
99
|
|
|
@@ -115,7 +119,7 @@ var _chunkVPTDD5XFcjs = require('./chunk-VPTDD5XF.cjs');
|
|
|
115
119
|
var _chunkPSV6XKPOcjs = require('./chunk-PSV6XKPO.cjs');
|
|
116
120
|
|
|
117
121
|
|
|
118
|
-
var
|
|
122
|
+
var _chunkZHPHJPQPcjs = require('./chunk-ZHPHJPQP.cjs');
|
|
119
123
|
|
|
120
124
|
|
|
121
125
|
|
|
@@ -127,14 +131,14 @@ var _chunk6EXBPJ24cjs = require('./chunk-6EXBPJ24.cjs');
|
|
|
127
131
|
var _chunkVEKFLAQMcjs = require('./chunk-VEKFLAQM.cjs');
|
|
128
132
|
|
|
129
133
|
|
|
130
|
-
var
|
|
134
|
+
var _chunkUX5S4JEOcjs = require('./chunk-UX5S4JEO.cjs');
|
|
131
135
|
|
|
132
136
|
|
|
133
137
|
|
|
134
138
|
var _chunkOHY2ZWUGcjs = require('./chunk-OHY2ZWUG.cjs');
|
|
135
139
|
|
|
136
140
|
|
|
137
|
-
var
|
|
141
|
+
var _chunkXXJU7FCCcjs = require('./chunk-XXJU7FCC.cjs');
|
|
138
142
|
|
|
139
143
|
|
|
140
144
|
|
|
@@ -142,23 +146,26 @@ var _chunkMPEYMSCFcjs = require('./chunk-MPEYMSCF.cjs');
|
|
|
142
146
|
|
|
143
147
|
|
|
144
148
|
|
|
145
|
-
var
|
|
149
|
+
var _chunkTDFPACVXcjs = require('./chunk-TDFPACVX.cjs');
|
|
146
150
|
|
|
147
151
|
|
|
148
|
-
var _chunkZHVYQL3Hcjs = require('./chunk-ZHVYQL3H.cjs');
|
|
149
152
|
|
|
150
153
|
|
|
151
|
-
var
|
|
154
|
+
var _chunkU74I55WBcjs = require('./chunk-U74I55WB.cjs');
|
|
152
155
|
|
|
153
156
|
|
|
154
|
-
var _chunkIQXFRNY2cjs = require('./chunk-IQXFRNY2.cjs');
|
|
155
157
|
|
|
156
158
|
|
|
157
|
-
var
|
|
159
|
+
var _chunkZ2HLU4IXcjs = require('./chunk-Z2HLU4IX.cjs');
|
|
158
160
|
|
|
159
161
|
|
|
162
|
+
var _chunkMIDIZJZCcjs = require('./chunk-MIDIZJZC.cjs');
|
|
160
163
|
|
|
161
|
-
|
|
164
|
+
|
|
165
|
+
var _chunkUFDAAQFXcjs = require('./chunk-UFDAAQFX.cjs');
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
var _chunkLYLEZIG3cjs = require('./chunk-LYLEZIG3.cjs');
|
|
162
169
|
|
|
163
170
|
|
|
164
171
|
|
|
@@ -175,6 +182,10 @@ var _chunkSOR334EBcjs = require('./chunk-SOR334EB.cjs');
|
|
|
175
182
|
var _chunk5QIKR7RRcjs = require('./chunk-5QIKR7RR.cjs');
|
|
176
183
|
|
|
177
184
|
|
|
185
|
+
|
|
186
|
+
var _chunkKNBBQHO2cjs = require('./chunk-KNBBQHO2.cjs');
|
|
187
|
+
|
|
188
|
+
|
|
178
189
|
var _chunkC5GUTBZKcjs = require('./chunk-C5GUTBZK.cjs');
|
|
179
190
|
|
|
180
191
|
|
|
@@ -282,7 +293,7 @@ function getDocsTitle(docs) {
|
|
|
282
293
|
}
|
|
283
294
|
_chunkS3JO3N4Hcjs.__name.call(void 0, getDocsTitle, "getDocsTitle");
|
|
284
295
|
function loadPages(contentDir, docs) {
|
|
285
|
-
return
|
|
296
|
+
return _chunkZ2YLTERKcjs.discoverFarmDocsPages.call(void 0, contentDir, docs).map((page) => _chunkZ2YLTERKcjs.loadFarmDocsPage.call(void 0, contentDir, docs, page.slug)).filter((page) => Boolean(page)).sort((a, b) => a.href.localeCompare(b.href));
|
|
286
297
|
}
|
|
287
298
|
_chunkS3JO3N4Hcjs.__name.call(void 0, loadPages, "loadPages");
|
|
288
299
|
function findSocialImagePath(html) {
|
|
@@ -303,14 +314,14 @@ async function addHandlerRoute(routes, pathname, handler, absolutePaths) {
|
|
|
303
314
|
}
|
|
304
315
|
_chunkS3JO3N4Hcjs.__name.call(void 0, addHandlerRoute, "addHandlerRoute");
|
|
305
316
|
async function compileFarmDocsManifest(docs, options) {
|
|
306
|
-
const contentDir =
|
|
317
|
+
const contentDir = _chunkZ2YLTERKcjs.resolveFarmDocsContentDir.call(void 0, docs, options);
|
|
307
318
|
const pages = loadPages(contentDir, docs);
|
|
308
319
|
const absolutePaths = [
|
|
309
320
|
_path2.default.resolve(options.root),
|
|
310
321
|
_path2.default.resolve(contentDir),
|
|
311
322
|
docs.configPath || ""
|
|
312
323
|
];
|
|
313
|
-
const handler =
|
|
324
|
+
const handler = _chunkZ2YLTERKcjs.createFarmDocsHandler.call(void 0, docs, {
|
|
314
325
|
root: options.root,
|
|
315
326
|
srcDir: options.srcDir,
|
|
316
327
|
clientEntry: options.clientEntry,
|
|
@@ -318,7 +329,7 @@ async function compileFarmDocsManifest(docs, options) {
|
|
|
318
329
|
fontStylesheetHref: options.fontStylesheetHref,
|
|
319
330
|
globalStylesheetHref: options.globalStylesheetHref
|
|
320
331
|
});
|
|
321
|
-
const apiHandler =
|
|
332
|
+
const apiHandler = _chunkA5FGU2WUcjs.createFarmDocsAPIHandler.call(void 0, {
|
|
322
333
|
rootDir: options.root,
|
|
323
334
|
srcDir: options.srcDir,
|
|
324
335
|
docs
|
|
@@ -410,7 +421,7 @@ async function compileFarmDocsManifest(docs, options) {
|
|
|
410
421
|
post: await compileResponse(postResponse, absolutePaths),
|
|
411
422
|
search: {
|
|
412
423
|
pages: pages.map((page) => ({
|
|
413
|
-
...
|
|
424
|
+
..._chunkZ2YLTERKcjs.toFarmDocsMarkdownPage.call(void 0, page),
|
|
414
425
|
sourcePath: `farm-docs:${page.slug || "index"}`
|
|
415
426
|
})),
|
|
416
427
|
search: _nullishCoalesce(searchConfig, () => ( true)),
|
|
@@ -430,7 +441,7 @@ async function createFarmRouteRuntimeManifest(options) {
|
|
|
430
441
|
const routes = [];
|
|
431
442
|
for (const [pattern, entry] of options.routeManager.getRoutes()) {
|
|
432
443
|
const routeModule = await options.routeManager.loadRouteModule(entry.modulePath);
|
|
433
|
-
const rendering = await
|
|
444
|
+
const rendering = await _chunkQJ3J6MZTcjs.resolveRouteRenderingConfigFromFile.call(void 0, routeModule, entry.modulePath);
|
|
434
445
|
const runtimeConfig = await options.routeManager.resolveRouteRuntimeConfig(pattern);
|
|
435
446
|
routes.push({
|
|
436
447
|
kind: "page",
|
|
@@ -441,9 +452,9 @@ async function createFarmRouteRuntimeManifest(options) {
|
|
|
441
452
|
});
|
|
442
453
|
}
|
|
443
454
|
for (const [pattern, route] of options.apiRouteManager.getRoutes()) {
|
|
444
|
-
const publicPattern =
|
|
455
|
+
const publicPattern = _chunkKNBBQHO2cjs.resolveFarmAPIServerRoutePath.call(void 0,
|
|
445
456
|
pattern,
|
|
446
|
-
|
|
457
|
+
_chunkKNBBQHO2cjs.resolveFarmAPIServerBasePath.call(void 0, options.config.api)
|
|
447
458
|
);
|
|
448
459
|
const inherited = _chunkSOR334EBcjs.resolveFarmRouteRuleRuntimeConfig.call(void 0, publicPattern, options.config.routeRules);
|
|
449
460
|
const own = _chunkSOR334EBcjs.normalizeFarmRouteRuntimeConfig.call(void 0,
|
|
@@ -708,6 +719,47 @@ function buildFarmVercelRoutes(options) {
|
|
|
708
719
|
}
|
|
709
720
|
_chunkS3JO3N4Hcjs.__name.call(void 0, buildFarmVercelRoutes, "buildFarmVercelRoutes");
|
|
710
721
|
|
|
722
|
+
// src/nitro/netlify-entry.ts
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
function resolveNitroNetlifyEntry(nitroRuntimeEntry) {
|
|
726
|
+
const entry = _path2.default.join(
|
|
727
|
+
_path2.default.dirname(nitroRuntimeEntry),
|
|
728
|
+
"..",
|
|
729
|
+
"presets",
|
|
730
|
+
"netlify",
|
|
731
|
+
"runtime",
|
|
732
|
+
"netlify.mjs"
|
|
733
|
+
);
|
|
734
|
+
if (!_fs.existsSync.call(void 0, entry)) {
|
|
735
|
+
throw new Error(
|
|
736
|
+
`[Farm.js] Could not find Nitro's Netlify function entry at ${entry}. Farm wraps it so private responses are never cached by Netlify's CDN; reinstall dependencies or report the installed Nitro version.`
|
|
737
|
+
);
|
|
738
|
+
}
|
|
739
|
+
return entry.split(_path2.default.sep).join("/");
|
|
740
|
+
}
|
|
741
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveNitroNetlifyEntry, "resolveNitroNetlifyEntry");
|
|
742
|
+
function createFarmNetlifyEntry(options) {
|
|
743
|
+
return `
|
|
744
|
+
import nitroNetlifyHandler from ${JSON.stringify(options.nitroNetlifyEntry)};
|
|
745
|
+
|
|
746
|
+
const PRIVATE_CACHE_DIRECTIVE = /(?:^|,)\\s*(?:private|no-store)\\s*(?:[,=]|$)/i;
|
|
747
|
+
|
|
748
|
+
export default async function farmNetlifyHandler(request, context) {
|
|
749
|
+
const response = await nitroNetlifyHandler(request, context);
|
|
750
|
+
if (
|
|
751
|
+
response &&
|
|
752
|
+
response.headers.has("netlify-cdn-cache-control") &&
|
|
753
|
+
PRIVATE_CACHE_DIRECTIVE.test(response.headers.get("cache-control") || "")
|
|
754
|
+
) {
|
|
755
|
+
response.headers.delete("netlify-cdn-cache-control");
|
|
756
|
+
}
|
|
757
|
+
return response;
|
|
758
|
+
}
|
|
759
|
+
`.trim();
|
|
760
|
+
}
|
|
761
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmNetlifyEntry, "createFarmNetlifyEntry");
|
|
762
|
+
|
|
711
763
|
// src/nitro/node-server-entry.ts
|
|
712
764
|
function createFarmNodeServerEntry(options) {
|
|
713
765
|
const serverConfig = JSON.stringify(options.server);
|
|
@@ -1345,6 +1397,11 @@ function hasRollupPlugins(plugins) {
|
|
|
1345
1397
|
return Boolean(plugins);
|
|
1346
1398
|
}
|
|
1347
1399
|
_chunkS3JO3N4Hcjs.__name.call(void 0, hasRollupPlugins, "hasRollupPlugins");
|
|
1400
|
+
function hasFarmServerCacheConfig(cache) {
|
|
1401
|
+
if (!cache || typeof cache !== "object") return false;
|
|
1402
|
+
return cache.adapter !== void 0 || cache.namespace !== void 0 || cache.maxEntries !== void 0 || cache.lease !== void 0;
|
|
1403
|
+
}
|
|
1404
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, hasFarmServerCacheConfig, "hasFarmServerCacheConfig");
|
|
1348
1405
|
function hasFarmRuntimeConfigModule(config, configModulePath) {
|
|
1349
1406
|
return Boolean(configModulePath || (config.layers || []).some((layer) => layer.configFile));
|
|
1350
1407
|
}
|
|
@@ -1523,7 +1580,7 @@ function hasFarmMiddlewareConfig(config) {
|
|
|
1523
1580
|
_chunkS3JO3N4Hcjs.__name.call(void 0, hasFarmMiddlewareConfig, "hasFarmMiddlewareConfig");
|
|
1524
1581
|
function hasFarmServerRuntimePlugins(config) {
|
|
1525
1582
|
return (config.plugins || []).some((plugin) => {
|
|
1526
|
-
if (
|
|
1583
|
+
if (_chunkTDFPACVXcjs.getFarmIntegrationPluginServerRuntime.call(void 0, plugin) === false) return false;
|
|
1527
1584
|
return Boolean(
|
|
1528
1585
|
plugin.setup || plugin.init || plugin.ready || plugin.shutdown || plugin.runtime || plugin.router || plugin.render || plugin.beforeRouteMatch || plugin.afterRouteMatch || plugin.beforeRender || plugin.afterRender || plugin.onError || plugin.transformHTML
|
|
1529
1586
|
);
|
|
@@ -1536,7 +1593,7 @@ function hasFarmPluginRoutes(config) {
|
|
|
1536
1593
|
_chunkS3JO3N4Hcjs.__name.call(void 0, hasFarmPluginRoutes, "hasFarmPluginRoutes");
|
|
1537
1594
|
function farmServerRuntimePluginsMayHandlePath(config, pathname) {
|
|
1538
1595
|
return (config.plugins || []).some(
|
|
1539
|
-
(plugin) =>
|
|
1596
|
+
(plugin) => _chunkTDFPACVXcjs.getFarmIntegrationPluginServerRuntime.call(void 0, plugin) !== false && _chunkSJVKK4JEcjs.farmPluginMayAffectRuntimePath.call(void 0, plugin, pathname)
|
|
1540
1597
|
);
|
|
1541
1598
|
}
|
|
1542
1599
|
_chunkS3JO3N4Hcjs.__name.call(void 0, farmServerRuntimePluginsMayHandlePath, "farmServerRuntimePluginsMayHandlePath");
|
|
@@ -1544,7 +1601,7 @@ async function discoverMiddlewareRoutes(appDir) {
|
|
|
1544
1601
|
const fs = await import("fs/promises");
|
|
1545
1602
|
const appDirs = Array.isArray(appDir) ? [...appDir] : [appDir];
|
|
1546
1603
|
const routes = /* @__PURE__ */ new Map();
|
|
1547
|
-
async function walk(dir, routePath, discovered) {
|
|
1604
|
+
async function walk(dir, routePath, directory, discovered) {
|
|
1548
1605
|
let entries;
|
|
1549
1606
|
try {
|
|
1550
1607
|
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
@@ -1557,6 +1614,7 @@ async function discoverMiddlewareRoutes(appDir) {
|
|
|
1557
1614
|
if (middlewareFile) {
|
|
1558
1615
|
discovered.push({
|
|
1559
1616
|
path: routePath,
|
|
1617
|
+
directory,
|
|
1560
1618
|
filePath: _path2.default.join(dir, middlewareFile.name)
|
|
1561
1619
|
});
|
|
1562
1620
|
}
|
|
@@ -1564,23 +1622,23 @@ async function discoverMiddlewareRoutes(appDir) {
|
|
|
1564
1622
|
if (!entry.isDirectory() || entry.name.startsWith(".") || entry.name.startsWith("_")) {
|
|
1565
1623
|
continue;
|
|
1566
1624
|
}
|
|
1567
|
-
|
|
1568
|
-
|
|
1625
|
+
await walk(
|
|
1626
|
+
_path2.default.join(dir, entry.name),
|
|
1627
|
+
_chunkU74I55WBcjs.appendMiddlewareRoutePath.call(void 0, routePath, entry.name),
|
|
1628
|
+
_chunkU74I55WBcjs.appendMiddlewareDirectory.call(void 0, directory, entry.name),
|
|
1629
|
+
discovered
|
|
1630
|
+
);
|
|
1569
1631
|
}
|
|
1570
1632
|
}
|
|
1571
1633
|
_chunkS3JO3N4Hcjs.__name.call(void 0, walk, "walk");
|
|
1572
1634
|
for (const sourceAppDir of appDirs) {
|
|
1573
1635
|
const discovered = [];
|
|
1574
|
-
await walk(sourceAppDir, "/", discovered);
|
|
1636
|
+
await walk(sourceAppDir, "/", "", discovered);
|
|
1575
1637
|
for (const route of discovered) {
|
|
1576
|
-
routes.set(route.
|
|
1638
|
+
routes.set(route.directory, route);
|
|
1577
1639
|
}
|
|
1578
1640
|
}
|
|
1579
|
-
return Array.from(routes.values()).sort((
|
|
1580
|
-
const depthA = a.path.split("/").filter(Boolean).length;
|
|
1581
|
-
const depthB = b.path.split("/").filter(Boolean).length;
|
|
1582
|
-
return depthA - depthB || a.path.localeCompare(b.path);
|
|
1583
|
-
});
|
|
1641
|
+
return Array.from(routes.values()).sort(_chunkU74I55WBcjs.compareMiddlewareRouteLocations).map(({ path: routePath, filePath }) => ({ path: routePath, filePath }));
|
|
1584
1642
|
}
|
|
1585
1643
|
_chunkS3JO3N4Hcjs.__name.call(void 0, discoverMiddlewareRoutes, "discoverMiddlewareRoutes");
|
|
1586
1644
|
function assertFarmDocsRuntimeSupported(config, preset) {
|
|
@@ -1598,7 +1656,7 @@ async function buildUniversal(config, routeManager, apiRouteManager, serverRende
|
|
|
1598
1656
|
assertFarmDocsRuntimeSupported(config, preset);
|
|
1599
1657
|
const srcDir = config.srcDir || "src";
|
|
1600
1658
|
const distDir = config.distDir || ".farm";
|
|
1601
|
-
const deployOutputDir =
|
|
1659
|
+
const deployOutputDir = _chunkPQDFUSXDcjs.resolveDeployOutputPath.call(void 0, root, config.deploy.outputDir);
|
|
1602
1660
|
const lifecyclePluginManager = options.pluginManager;
|
|
1603
1661
|
const productionViteResultPromise = Promise.allSettled([
|
|
1604
1662
|
Promise.resolve(_nullishCoalesce(options.productionVite, () => ( _chunkA6WIQH5Zcjs.loadFarmProductionVite.call(void 0, ))))
|
|
@@ -1617,7 +1675,7 @@ async function buildUniversal(config, routeManager, apiRouteManager, serverRende
|
|
|
1617
1675
|
const routeRuntimeManifestResultPromise = Promise.allSettled([routeRuntimeManifestPromise]);
|
|
1618
1676
|
const pageRoutes = [];
|
|
1619
1677
|
for (const [pattern, entry] of routeManager.getRoutes()) {
|
|
1620
|
-
const markdownSourcePath = entry.markdownSourcePath || (
|
|
1678
|
+
const markdownSourcePath = entry.markdownSourcePath || (_chunkUX5S4JEOcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) ? entry.modulePath : void 0);
|
|
1621
1679
|
pageRoutes.push({
|
|
1622
1680
|
pattern,
|
|
1623
1681
|
modulePath: entry.modulePath,
|
|
@@ -1846,7 +1904,7 @@ async function mergeBuiltFontCss(outputDir, fontCssSource) {
|
|
|
1846
1904
|
}
|
|
1847
1905
|
const normalizedFontCss = typeof fontCss === "string" ? fontCss : Buffer.from(fontCss).toString("utf8");
|
|
1848
1906
|
await fs.writeFile(fontCssPath, normalizedFontCss);
|
|
1849
|
-
await fs.writeFile(clientCssPath,
|
|
1907
|
+
await fs.writeFile(clientCssPath, _chunkSJVKK4JEcjs.mergeFarmFontCss.call(void 0, clientCss, normalizedFontCss));
|
|
1850
1908
|
}
|
|
1851
1909
|
_chunkS3JO3N4Hcjs.__name.call(void 0, mergeBuiltFontCss, "mergeBuiltFontCss");
|
|
1852
1910
|
var _IncompleteClientBuildOutputError = class _IncompleteClientBuildOutputError extends Error {
|
|
@@ -1896,7 +1954,7 @@ function getCachedClientModuleHydrationPlan(modulePath, root, mode, cache, optio
|
|
|
1896
1954
|
const key = `${_path2.default.resolve(root)}\0${mode}\0${options.asyncOwnerIslands === true}\0${_path2.default.resolve(modulePath)}`;
|
|
1897
1955
|
let plan = cache.get(key);
|
|
1898
1956
|
if (!plan) {
|
|
1899
|
-
plan =
|
|
1957
|
+
plan = _chunkSJVKK4JEcjs.getClientModuleHydrationPlan.call(void 0, modulePath, root, mode, options);
|
|
1900
1958
|
cache.set(key, plan);
|
|
1901
1959
|
}
|
|
1902
1960
|
return { ...plan, isolatedBoundaries: [...plan.isolatedBoundaries] };
|
|
@@ -1914,7 +1972,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
1914
1972
|
});
|
|
1915
1973
|
pluginManager.addPlugins(config.plugins || []);
|
|
1916
1974
|
const clientPages = [];
|
|
1917
|
-
const integrationProviders =
|
|
1975
|
+
const integrationProviders = _chunkTDFPACVXcjs.getIntegrationProviders.call(void 0, config.integrations).filter(
|
|
1918
1976
|
(provider) => provider.component || provider.type === "clerk"
|
|
1919
1977
|
);
|
|
1920
1978
|
const unsupportedIntegrationProvider = integrationProviders.find(
|
|
@@ -1925,14 +1983,14 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
1925
1983
|
`[Farm.js] isolated hydration kept route-wide because integration provider "${unsupportedIntegrationProvider.name}" does not declare supportsIsolatedHydration: true.`
|
|
1926
1984
|
);
|
|
1927
1985
|
}
|
|
1928
|
-
const isolatedMode =
|
|
1986
|
+
const isolatedMode = _chunkSJVKK4JEcjs.resolveFarmIsolatedClientHydrationMode.call(void 0,
|
|
1929
1987
|
_optionalChain([config, 'access', _35 => _35.experimental, 'optionalAccess', _36 => _36.isolatedClientHydration]),
|
|
1930
1988
|
{
|
|
1931
1989
|
serverComponents: _optionalChain([config, 'access', _37 => _37.experimental, 'optionalAccess', _38 => _38.serverComponents]) === true,
|
|
1932
1990
|
hasUnsupportedIntegrationProvider: Boolean(unsupportedIntegrationProvider)
|
|
1933
1991
|
}
|
|
1934
1992
|
);
|
|
1935
|
-
const planOptions =
|
|
1993
|
+
const planOptions = _chunkSJVKK4JEcjs.getFarmClientHydrationPlanOptions.call(void 0,
|
|
1936
1994
|
config.renderer,
|
|
1937
1995
|
Boolean(unsupportedIntegrationProvider)
|
|
1938
1996
|
);
|
|
@@ -1989,7 +2047,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
1989
2047
|
), "isAdapterDocsRoute");
|
|
1990
2048
|
const syntheticDocsEntry = _optionalChain([config, 'access', _46 => _46.docs, 'optionalAccess', _47 => _47.enabled]) && !adapterOwnsDocsRuntime ? adapterDocsEntry : null;
|
|
1991
2049
|
const syntheticDocsPatterns = syntheticDocsEntry ? syntheticDocsEntry === "/" ? ["/", "/[...slug]"] : [syntheticDocsEntry, `${syntheticDocsEntry}/[...slug]`] : [];
|
|
1992
|
-
const markdownPagePlan =
|
|
2050
|
+
const markdownPagePlan = _chunkSJVKK4JEcjs.createMarkdownPageHydrationPlanner.call(void 0,
|
|
1993
2051
|
_chunkOHY2ZWUGcjs.resolveFarmMdxComponentsModulePath.call(void 0, _chunkOHY2ZWUGcjs.resolveMdxConfig.call(void 0, config.mdx), root),
|
|
1994
2052
|
root,
|
|
1995
2053
|
isolatedMode,
|
|
@@ -1997,7 +2055,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
1997
2055
|
);
|
|
1998
2056
|
const routePlans = pageRoutes.map((route) => ({
|
|
1999
2057
|
route,
|
|
2000
|
-
metadata:
|
|
2058
|
+
metadata: _chunkUX5S4JEOcjs.isFarmMarkdownPageFile.call(void 0, route.modulePath) ? markdownPagePlan() : getCachedClientModuleHydrationPlan(
|
|
2001
2059
|
route.modulePath,
|
|
2002
2060
|
root,
|
|
2003
2061
|
isolatedMode,
|
|
@@ -2005,7 +2063,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2005
2063
|
planOptions
|
|
2006
2064
|
)
|
|
2007
2065
|
}));
|
|
2008
|
-
|
|
2066
|
+
_chunkSJVKK4JEcjs.enforceFarmIsolatedHydrationRouteBudget.call(void 0,
|
|
2009
2067
|
clientLayouts.map((layout) => ({
|
|
2010
2068
|
pattern: layout.pattern,
|
|
2011
2069
|
depth: layout.pattern.split("/").filter(Boolean).length,
|
|
@@ -2037,7 +2095,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2037
2095
|
for (const layout of clientLayouts) {
|
|
2038
2096
|
const matchesBuiltRoute = pageRoutes.some((route) => layoutAppliesToRoute(layout.pattern, route.pattern)) || Boolean(adapterDocsEntry && layoutAppliesToRoute(layout.pattern, adapterDocsEntry));
|
|
2039
2097
|
if (matchesBuiltRoute && layout.suppressedAsyncHydration) {
|
|
2040
|
-
_chunk5QIKR7RRcjs.logger.warn(`\u26A0\uFE0F ${
|
|
2098
|
+
_chunk5QIKR7RRcjs.logger.warn(`\u26A0\uFE0F ${_chunkSJVKK4JEcjs.describeSuppressedAsyncHydration.call(void 0, layout.pattern, layout.fallbackReason)}`);
|
|
2041
2099
|
}
|
|
2042
2100
|
}
|
|
2043
2101
|
if (isolatedMode === "analyze") {
|
|
@@ -2061,7 +2119,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2061
2119
|
);
|
|
2062
2120
|
if (metadata.suppressedAsyncHydration) {
|
|
2063
2121
|
_chunk5QIKR7RRcjs.logger.warn(
|
|
2064
|
-
`\u26A0\uFE0F ${
|
|
2122
|
+
`\u26A0\uFE0F ${_chunkSJVKK4JEcjs.describeSuppressedAsyncHydration.call(void 0, route.pattern, metadata.fallbackReason)}`
|
|
2065
2123
|
);
|
|
2066
2124
|
}
|
|
2067
2125
|
if (metadata.shouldHydrate || metadata.hasIsolatedClientBoundaries || applicableClientLayouts.length > 0) {
|
|
@@ -2120,7 +2178,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2120
2178
|
}
|
|
2121
2179
|
const clientRouteSlots = routeSlots.filter((slot) => {
|
|
2122
2180
|
try {
|
|
2123
|
-
return
|
|
2181
|
+
return _chunkSJVKK4JEcjs.getClientModuleMetadata.call(void 0, slot.modulePath, root).shouldHydrate;
|
|
2124
2182
|
} catch (error) {
|
|
2125
2183
|
_chunk5QIKR7RRcjs.logger.warn(`\u26A0\uFE0F Could not inspect route slot ${slot.modulePath}: ${error}`);
|
|
2126
2184
|
return false;
|
|
@@ -2148,9 +2206,9 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2148
2206
|
config.renderer,
|
|
2149
2207
|
config.publicRuntimeConfig,
|
|
2150
2208
|
config.trailingSlash,
|
|
2151
|
-
|
|
2209
|
+
_chunkTDFPACVXcjs.getIntegrationProviders.call(void 0, config.integrations),
|
|
2152
2210
|
config.basePath,
|
|
2153
|
-
|
|
2211
|
+
_chunkSJVKK4JEcjs.generateClientCachePersistenceCode.call(void 0, _chunkSJVKK4JEcjs.resolveFarmClientCacheAdapterEntry.call(void 0, root, config.cache)),
|
|
2154
2212
|
adapterOwnsDocsRuntime ? _chunk75WGQVQAcjs.getFarmDocsAdapterConfigModule.call(void 0, config.docs) : void 0
|
|
2155
2213
|
);
|
|
2156
2214
|
await fs.writeFile(clientEntryPath, clientHydrationCode);
|
|
@@ -2167,7 +2225,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2167
2225
|
const postcssConfigPath = _path2.default.join(clientEntryDir, "postcss.config.cjs");
|
|
2168
2226
|
await fs.writeFile(postcssConfigPath, "module.exports = { plugins: [] };\n");
|
|
2169
2227
|
postcssSearchPath = clientEntryDir;
|
|
2170
|
-
tailwindVitePlugin = await
|
|
2228
|
+
tailwindVitePlugin = await _chunkSJVKK4JEcjs.loadTailwindVitePlugin.call(void 0, {
|
|
2171
2229
|
builder: productionVite.builder,
|
|
2172
2230
|
announce: true
|
|
2173
2231
|
});
|
|
@@ -2236,7 +2294,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2236
2294
|
}
|
|
2237
2295
|
},
|
|
2238
2296
|
plugins: [
|
|
2239
|
-
|
|
2297
|
+
_chunkSJVKK4JEcjs.createFarmThemeCssPlugin.call(void 0, config.theme, config.basePath),
|
|
2240
2298
|
...tailwindVitePlugin ? [tailwindVitePlugin] : [],
|
|
2241
2299
|
...rendererVitePlugins,
|
|
2242
2300
|
...config.vite.plugins || [],
|
|
@@ -2289,7 +2347,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2289
2347
|
}
|
|
2290
2348
|
},
|
|
2291
2349
|
farmPlugin({ ...config, isolatedClientBoundaryModules }, pluginManager),
|
|
2292
|
-
|
|
2350
|
+
_chunk3SDFA7UFcjs.farmEnvironmentFunctionsPlugin.call(void 0, )
|
|
2293
2351
|
],
|
|
2294
2352
|
mode: "production",
|
|
2295
2353
|
css: postcssSearchPath ? {
|
|
@@ -2297,7 +2355,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2297
2355
|
} : void 0,
|
|
2298
2356
|
// Ensure React is bundled for client
|
|
2299
2357
|
resolve: {
|
|
2300
|
-
alias:
|
|
2358
|
+
alias: _chunkSJVKK4JEcjs.createFarmSourceAlias.call(void 0, root, config.srcDir),
|
|
2301
2359
|
dedupe: [...config.renderer.dedupe || []]
|
|
2302
2360
|
},
|
|
2303
2361
|
// Optimize dependencies - exclude server-side code from client bundle
|
|
@@ -2310,7 +2368,7 @@ async function buildClient(productionVite, config, root, srcDir, outputDir, page
|
|
|
2310
2368
|
]
|
|
2311
2369
|
}
|
|
2312
2370
|
};
|
|
2313
|
-
await viteBuild(
|
|
2371
|
+
await viteBuild(_chunkSJVKK4JEcjs.mergeFarmProductionViteConfig.call(void 0, clientViteConfig, config.vite));
|
|
2314
2372
|
await mergeBuiltFontCss(outputDir);
|
|
2315
2373
|
await validateClientBuildOutput(root, srcDir, outputDir);
|
|
2316
2374
|
} finally {
|
|
@@ -3069,7 +3127,7 @@ function generateClientHydrationEntry(clientPages, layoutRoutes, clientRouteSlot
|
|
|
3069
3127
|
direction: {}
|
|
3070
3128
|
}, plugins = [], renderer = _chunkPSV6XKPOcjs.REACT_RENDERER, publicRuntimeConfig = void 0, trailingSlash = false, integrationProviders = [], basePath = "/", clientCachePersistence = { imports: "", init: "" }, docsConfigModule) {
|
|
3071
3129
|
const toImportPath = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (targetPath) => targetPath.replace(/\\/g, "/"), "toImportPath");
|
|
3072
|
-
const clientPluginEntry =
|
|
3130
|
+
const clientPluginEntry = _chunkSJVKK4JEcjs.generateFarmClientPluginEntryCode.call(void 0,
|
|
3073
3131
|
plugins,
|
|
3074
3132
|
root,
|
|
3075
3133
|
srcDir,
|
|
@@ -3080,7 +3138,7 @@ function generateClientHydrationEntry(clientPages, layoutRoutes, clientRouteSlot
|
|
|
3080
3138
|
import { createRoot, hydrateRoot } from "react-dom/client";` : appSetupPath ? `import React, { createRoot, hydrateRoot, configureApp as __farmConfigureApp } from ${JSON.stringify(renderer.client)};
|
|
3081
3139
|
import __farmAppSetup from ${JSON.stringify(_chunk5QIKR7RRcjs.toPosixPath.call(void 0, appSetupPath))};
|
|
3082
3140
|
__farmConfigureApp(__farmAppSetup);` : `import React, { createRoot, hydrateRoot } from ${JSON.stringify(renderer.client)};`;
|
|
3083
|
-
const providerClientCode =
|
|
3141
|
+
const providerClientCode = _chunkSJVKK4JEcjs.generateFarmIntegrationProviderClientCode.call(void 0,
|
|
3084
3142
|
integrationProviders,
|
|
3085
3143
|
root,
|
|
3086
3144
|
_nullishCoalesce(renderer.componentExtensions, () => ( []))
|
|
@@ -3152,7 +3210,7 @@ function isFarmDocsPath() {
|
|
|
3152
3210
|
// Farm.js Client Runtime (no client components)
|
|
3153
3211
|
${cssImport}
|
|
3154
3212
|
${layoutImports}
|
|
3155
|
-
import { createClientCancellation, createClientPluginManager, getHashTargetElement, installChunkErrorRecovery, isFarmExternalNavigationURL, reconcileFarmDocumentHead, setFarmBasePath, setFarmTrailingSlashPreference, stripFarmBasePath } from "@farm.js/core/internal/client-runtime";
|
|
3213
|
+
import { createClientCancellation, createClientPluginManager, getHashTargetElement, installChunkErrorRecovery, isFarmBlockedNavigationURL, isFarmExternalNavigationURL, reconcileFarmDocumentHead, setFarmBasePath, setFarmTrailingSlashPreference, stripFarmBasePath } from "@farm.js/core/internal/client-runtime";
|
|
3156
3214
|
import { createFarmDeploymentMismatchError, createFarmDeploymentRequestHeaders, isFarmDeploymentMismatchResponse } from "@farm.js/core/deployment";
|
|
3157
3215
|
${clientPluginEntry.imports}
|
|
3158
3216
|
${clientCachePersistence.imports}
|
|
@@ -3176,6 +3234,7 @@ ${generateUniversalRouterStateProperties()}
|
|
|
3176
3234
|
|
|
3177
3235
|
navigate: async function(href, options = {}) {
|
|
3178
3236
|
const url = new URL(href, window.location.href);
|
|
3237
|
+
if (isFarmBlockedNavigationURL(url)) return;
|
|
3179
3238
|
if (isFarmExternalNavigationURL(url, window.location.origin)) {
|
|
3180
3239
|
this.cancelActiveNavigation();
|
|
3181
3240
|
if (options.replace || options.action === "replace") window.location.replace(href);
|
|
@@ -3499,7 +3558,7 @@ ${layoutImports}
|
|
|
3499
3558
|
${rendererClientImports}
|
|
3500
3559
|
${isolatedHydrationImport}
|
|
3501
3560
|
${providerClientCode.imports}
|
|
3502
|
-
import { createClientCancellation, createClientPluginManager, getHashTargetElement, installChunkErrorRecovery, isFarmExternalNavigationURL, reconcileFarmDocumentHead, scheduleFarmIslandHydration, searchParamsToObject, setFarmBasePath, setFarmTrailingSlashPreference, stripFarmBasePath } from "@farm.js/core/internal/client-runtime";
|
|
3561
|
+
import { createClientCancellation, createClientPluginManager, getHashTargetElement, installChunkErrorRecovery, isFarmBlockedNavigationURL, isFarmExternalNavigationURL, reconcileFarmDocumentHead, scheduleFarmIslandHydration, searchParamsToObject, setFarmBasePath, setFarmTrailingSlashPreference, stripFarmBasePath } from "@farm.js/core/internal/client-runtime";
|
|
3503
3562
|
import { createFarmDeploymentMismatchError, createFarmDeploymentRequestHeaders, isFarmDeploymentMismatchResponse } from "@farm.js/core/deployment";
|
|
3504
3563
|
import { createFarmRouter, isFarmRouteActive, matchFarmRoute } from "@farm.js/core/router";
|
|
3505
3564
|
${clientPluginEntry.imports}
|
|
@@ -3565,7 +3624,7 @@ function hasHydratableLayout(pathname) {
|
|
|
3565
3624
|
});
|
|
3566
3625
|
}
|
|
3567
3626
|
|
|
3568
|
-
${
|
|
3627
|
+
${_chunkSJVKK4JEcjs.FARM_LAYOUT_ELEMENT_CLIENT_SOURCE}
|
|
3569
3628
|
// Wrap a page element with applicable layouts
|
|
3570
3629
|
function wrapWithLayouts(pageElement, pathname, params) {
|
|
3571
3630
|
const layouts = getApplicableLayouts(pathname);
|
|
@@ -3615,7 +3674,7 @@ async function loadRouteComponent(route) {
|
|
|
3615
3674
|
return route.Component;
|
|
3616
3675
|
}
|
|
3617
3676
|
|
|
3618
|
-
async function createMatchedHydrationRoute(matched, pathname, searchParams, serverHtml) {
|
|
3677
|
+
async function createMatchedHydrationRoute(matched, pathname, searchParams, serverHtml, serverProps) {
|
|
3619
3678
|
const hydrateLayouts = hasHydratableLayout(pathname);
|
|
3620
3679
|
const params = matched.params;
|
|
3621
3680
|
let pageElement = null;
|
|
@@ -3623,15 +3682,30 @@ async function createMatchedHydrationRoute(matched, pathname, searchParams, serv
|
|
|
3623
3682
|
if (matched.route.pageShouldHydrate) {
|
|
3624
3683
|
const Component = await loadRouteComponent(matched.route);
|
|
3625
3684
|
if (!Component) return null;
|
|
3626
|
-
|
|
3685
|
+
// A programmatic page whose guard and data run only on the server renders
|
|
3686
|
+
// from the props the server resolved for this document. Without them (a
|
|
3687
|
+
// rejected guard, deferred data) its server-rendered HTML is kept.
|
|
3688
|
+
if (Component.__farmServerProps === true) {
|
|
3689
|
+
if (!serverProps || serverProps.__farmRoutePropsResolved !== true) return null;
|
|
3690
|
+
const middleware = serverProps.middleware;
|
|
3691
|
+
const props = {
|
|
3692
|
+
...serverProps,
|
|
3693
|
+
...(middleware && middleware.data && !(middleware.data instanceof Map)
|
|
3694
|
+
? { middleware: { ...middleware, data: new Map(Object.entries(middleware.data)) } }
|
|
3695
|
+
: {}),
|
|
3696
|
+
searchParams: Promise.resolve(serverProps.search ?? searchParams),
|
|
3697
|
+
};
|
|
3698
|
+
pageElement = React.createElement(Component, props);
|
|
3699
|
+
} else if (typeof Component === "function" && Component.constructor && Component.constructor.name === "AsyncFunction") {
|
|
3627
3700
|
console.warn(
|
|
3628
3701
|
"[Farm.js] Skipping hydration for " + pathname +
|
|
3629
3702
|
": async server components cannot run in the browser. Server-rendered HTML is preserved."
|
|
3630
3703
|
);
|
|
3631
3704
|
return null;
|
|
3705
|
+
} else {
|
|
3706
|
+
const props = { params: params, searchParams: Promise.resolve(searchParams) };
|
|
3707
|
+
pageElement = React.createElement(Component, props);
|
|
3632
3708
|
}
|
|
3633
|
-
const props = { params: params, searchParams: Promise.resolve(searchParams) };
|
|
3634
|
-
pageElement = React.createElement(Component, props);
|
|
3635
3709
|
} else if (hydrateLayouts) {
|
|
3636
3710
|
const serverPage = document.getElementById("__farm_page__");
|
|
3637
3711
|
pageElement = createLayoutPageBoundary(
|
|
@@ -3702,6 +3776,32 @@ function findClientRouteSlot(slot) {
|
|
|
3702
3776
|
});
|
|
3703
3777
|
}
|
|
3704
3778
|
|
|
3779
|
+
/**
|
|
3780
|
+
* The page props a fetched document embeds in its bootstrap script, which a
|
|
3781
|
+
* client navigation does not execute. The JSON ends at the first statement
|
|
3782
|
+
* boundary where it parses, so the separator inside a string cannot cut it.
|
|
3783
|
+
*/
|
|
3784
|
+
function readPagePropsPayload(doc) {
|
|
3785
|
+
const prefix = "window.__FARM_PROPS__=";
|
|
3786
|
+
const separator = ";window.__FARM_INTEGRATION_API_MANIFEST__=";
|
|
3787
|
+
for (const script of doc.querySelectorAll("script:not([src])")) {
|
|
3788
|
+
const source = script.textContent || "";
|
|
3789
|
+
if (!source.startsWith(prefix)) continue;
|
|
3790
|
+
for (
|
|
3791
|
+
let end = source.indexOf(separator, prefix.length);
|
|
3792
|
+
end !== -1;
|
|
3793
|
+
end = source.indexOf(separator, end + 1)
|
|
3794
|
+
) {
|
|
3795
|
+
try {
|
|
3796
|
+
return JSON.parse(source.slice(prefix.length, end));
|
|
3797
|
+
} catch {
|
|
3798
|
+
// The separator was inside a string value; try the next one.
|
|
3799
|
+
}
|
|
3800
|
+
}
|
|
3801
|
+
}
|
|
3802
|
+
return undefined;
|
|
3803
|
+
}
|
|
3804
|
+
|
|
3705
3805
|
function readRouteSlotPayload(doc) {
|
|
3706
3806
|
const script = doc.getElementById("__farm_route_slots_data__");
|
|
3707
3807
|
if (!script?.textContent) return [];
|
|
@@ -3898,6 +3998,8 @@ async function hydrate() {
|
|
|
3898
3998
|
matched,
|
|
3899
3999
|
pathname,
|
|
3900
4000
|
searchParams,
|
|
4001
|
+
undefined,
|
|
4002
|
+
window.__FARM_PROPS__,
|
|
3901
4003
|
);
|
|
3902
4004
|
if (!routeState) return;
|
|
3903
4005
|
const shouldHydrate = !isHydrated && Boolean(container.innerHTML.trim());
|
|
@@ -4012,6 +4114,7 @@ ${generateUniversalRouterStateProperties()}
|
|
|
4012
4114
|
|
|
4013
4115
|
navigate: async function(href, options = {}) {
|
|
4014
4116
|
const url = new URL(href, window.location.href);
|
|
4117
|
+
if (isFarmBlockedNavigationURL(url)) return;
|
|
4015
4118
|
if (isFarmExternalNavigationURL(url, window.location.origin)) {
|
|
4016
4119
|
this.cancelActiveNavigation();
|
|
4017
4120
|
if (options.replace || options.action === "replace") window.location.replace(href);
|
|
@@ -4244,6 +4347,7 @@ ${generateUniversalRouterStateProperties()}
|
|
|
4244
4347
|
if (isFarmLocaleDocumentChange(doc)) return false;
|
|
4245
4348
|
if (doc.getElementById("nd-docs-layout")) return false;
|
|
4246
4349
|
const nextRouteSlots = readRouteSlotPayload(doc);
|
|
4350
|
+
const nextPageProps = readPagePropsPayload(doc);
|
|
4247
4351
|
const isNavigationCurrent = () =>
|
|
4248
4352
|
this.isCurrentNavigation(navigation, clientNavigation);
|
|
4249
4353
|
|
|
@@ -4274,6 +4378,7 @@ ${generateUniversalRouterStateProperties()}
|
|
|
4274
4378
|
newPathname,
|
|
4275
4379
|
searchParams,
|
|
4276
4380
|
nextPage ? nextPage.innerHTML : "",
|
|
4381
|
+
nextPageProps,
|
|
4277
4382
|
);
|
|
4278
4383
|
if (!isNavigationCurrent()) return false;
|
|
4279
4384
|
if (routeState) {
|
|
@@ -4309,6 +4414,8 @@ ${generateUniversalRouterStateProperties()}
|
|
|
4309
4414
|
matched,
|
|
4310
4415
|
newPathname,
|
|
4311
4416
|
searchParams,
|
|
4417
|
+
undefined,
|
|
4418
|
+
nextPageProps,
|
|
4312
4419
|
);
|
|
4313
4420
|
if (!isNavigationCurrent()) return false;
|
|
4314
4421
|
if (routeState) {
|
|
@@ -4480,7 +4587,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4480
4587
|
_path2.default.join(postcssConfigDir, "postcss.config.cjs"),
|
|
4481
4588
|
"module.exports = { plugins: [] };\n"
|
|
4482
4589
|
);
|
|
4483
|
-
tailwindVitePlugin = await
|
|
4590
|
+
tailwindVitePlugin = await _chunkSJVKK4JEcjs.loadTailwindVitePlugin.call(void 0, {
|
|
4484
4591
|
builder: productionVite.builder,
|
|
4485
4592
|
label: "for SSR"
|
|
4486
4593
|
});
|
|
@@ -4554,7 +4661,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4554
4661
|
modulePath: entry.modulePath
|
|
4555
4662
|
})
|
|
4556
4663
|
);
|
|
4557
|
-
const i18nCatalogs = config.i18n.enabled ? (await
|
|
4664
|
+
const i18nCatalogs = config.i18n.enabled ? (await _chunkUFDAAQFXcjs.readFarmI18nCatalogs.call(void 0, config.i18n)).catalogs : {};
|
|
4558
4665
|
const appDirs = _chunkVPTDD5XFcjs.getFarmAppDirectories.call(void 0, config);
|
|
4559
4666
|
let openAPIReference = null;
|
|
4560
4667
|
if (config.openapi.enabled && config.openapi.route) {
|
|
@@ -4576,7 +4683,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4576
4683
|
}
|
|
4577
4684
|
const middlewareRoutes = await discoverMiddlewareRoutes(appDirs);
|
|
4578
4685
|
const instrumentationPath = _chunkKCMTCM6Icjs.resolveFarmInstrumentationFile.call(void 0, root, config.srcDir || "src");
|
|
4579
|
-
const notFoundPath =
|
|
4686
|
+
const notFoundPath = _chunkSJVKK4JEcjs.resolveFarmNotFoundComponentPath.call(void 0, config, appDirs);
|
|
4580
4687
|
if (notFoundPath) _chunk5QIKR7RRcjs.logger.info(`\u{1F4CB} Found custom 404 page: ${notFoundPath}`);
|
|
4581
4688
|
layoutRoutes.sort((a, b) => {
|
|
4582
4689
|
const depthA = a.pattern.split("/").filter(Boolean).length;
|
|
@@ -4593,22 +4700,23 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4593
4700
|
const hasServerRuntimeIntegrations = configuredIntegrationValues.some(
|
|
4594
4701
|
(integration) => typeof integration === "object" && integration !== null && (!("serverRuntime" in integration) || integration.serverRuntime !== false)
|
|
4595
4702
|
);
|
|
4596
|
-
const hasIntegrationProviders =
|
|
4703
|
+
const hasIntegrationProviders = _chunkTDFPACVXcjs.getIntegrationProviders.call(void 0, config.integrations).some(
|
|
4597
4704
|
(provider) => provider.component || provider.type === "clerk"
|
|
4598
4705
|
);
|
|
4599
4706
|
const hasObservabilityHandler = !!config.observability && typeof config.observability === "object" && "onEvent" in config.observability;
|
|
4600
4707
|
const hasMdxComponentConfig = Boolean(_optionalChain([config, 'access', _56 => _56.mdx, 'optionalAccess', _57 => _57.components]));
|
|
4601
4708
|
const hasMiddlewareConfig = hasFarmMiddlewareConfig(config.middleware);
|
|
4602
|
-
const hasRouteContextConfig =
|
|
4709
|
+
const hasRouteContextConfig = _chunkPQDFUSXDcjs.hasCustomFarmRouteContext.call(void 0, config);
|
|
4603
4710
|
const hasServerRuntimePlugins = hasFarmServerRuntimePlugins(config);
|
|
4604
4711
|
const hasPluginRoutes = hasFarmPluginRoutes(config);
|
|
4605
|
-
const
|
|
4712
|
+
const hasServerCacheConfig = hasFarmServerCacheConfig(config.cache);
|
|
4713
|
+
const configModulePath = hasServerRuntimeIntegrations || hasObservabilityHandler || hasMdxComponentConfig || hasMiddlewareConfig || hasRouteContextConfig || hasServerRuntimePlugins || hasPluginRoutes || hasServerCacheConfig || hasIntegrationProviders ? await findFarmConfigPath(root) : null;
|
|
4606
4714
|
const hasRuntimeConfigModule = hasFarmRuntimeConfigModule(config, configModulePath);
|
|
4607
4715
|
const hasRuntimeIntegrationConfig = hasRuntimeConfigModule && hasAnyConfiguredIntegrations;
|
|
4608
4716
|
const hasConfiguredRuntimePlugins = Boolean(
|
|
4609
4717
|
hasRuntimeConfigModule && (config.plugins || []).length > 0
|
|
4610
4718
|
);
|
|
4611
|
-
const farmDocsPrecompiledManifest = _optionalChain([config, 'access', _58 => _58.docs, 'optionalAccess', _59 => _59.enabled]) && _chunkC5GUTBZKcjs.getFarmPresetRuntime.call(void 0, preset) === "edge" ? _optionalChain([config, 'access', _60 => _60.docs, 'access', _61 => _61.adapter, 'optionalAccess', _62 => _62.server]) ? await
|
|
4719
|
+
const farmDocsPrecompiledManifest = _optionalChain([config, 'access', _58 => _58.docs, 'optionalAccess', _59 => _59.enabled]) && _chunkC5GUTBZKcjs.getFarmPresetRuntime.call(void 0, preset) === "edge" ? _optionalChain([config, 'access', _60 => _60.docs, 'access', _61 => _61.adapter, 'optionalAccess', _62 => _62.server]) ? await _chunkA5FGU2WUcjs.compileFarmDocsAdapterEdgeManifest.call(void 0, config.docs, {
|
|
4612
4720
|
root,
|
|
4613
4721
|
srcDir: config.srcDir,
|
|
4614
4722
|
clientEntry: FARM_CLIENT_JS_SRC_PLACEHOLDER,
|
|
@@ -4758,7 +4866,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4758
4866
|
__FARM_PUBLIC_ENV__: JSON.stringify(_optionalChain([config, 'access', _68 => _68.env, 'optionalAccess', _69 => _69.public]) || {})
|
|
4759
4867
|
},
|
|
4760
4868
|
plugins: [
|
|
4761
|
-
|
|
4869
|
+
_chunkSJVKK4JEcjs.createFarmThemeCssPlugin.call(void 0, config.theme, config.basePath),
|
|
4762
4870
|
...tailwindVitePlugin ? [tailwindVitePlugin] : [],
|
|
4763
4871
|
...rendererVitePlugins,
|
|
4764
4872
|
...config.vite.plugins || [],
|
|
@@ -4766,7 +4874,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4766
4874
|
{ ...createReactProductionModePlugin(), enforce: "pre" },
|
|
4767
4875
|
farmServerOnlyEntriesPlugin(),
|
|
4768
4876
|
farmPlugin({ ...config, isolatedClientBoundaryModules }, pluginManager),
|
|
4769
|
-
|
|
4877
|
+
_chunk3SDFA7UFcjs.farmEnvironmentFunctionsPlugin.call(void 0, ),
|
|
4770
4878
|
{
|
|
4771
4879
|
name: "farm-virtual-ssr-entry",
|
|
4772
4880
|
resolveId(id) {
|
|
@@ -4805,7 +4913,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4805
4913
|
resolve: {
|
|
4806
4914
|
alias: [
|
|
4807
4915
|
...shouldAliasReactServerToWebBuild(config.renderer, preset) ? [createFarmReactWebServerAlias(hasReactDomEdgeServerBuild(root))] : [],
|
|
4808
|
-
...Object.entries(
|
|
4916
|
+
...Object.entries(_chunkSJVKK4JEcjs.createFarmSourceAlias.call(void 0, root, config.srcDir)).map(
|
|
4809
4917
|
([find, replacement]) => ({ find, replacement })
|
|
4810
4918
|
)
|
|
4811
4919
|
],
|
|
@@ -4813,7 +4921,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
|
|
|
4813
4921
|
dedupe: [...config.renderer.dedupe || []]
|
|
4814
4922
|
}
|
|
4815
4923
|
};
|
|
4816
|
-
await viteBuild(
|
|
4924
|
+
await viteBuild(_chunkSJVKK4JEcjs.mergeFarmProductionViteConfig.call(void 0, serverViteConfig, config.vite));
|
|
4817
4925
|
} finally {
|
|
4818
4926
|
if (postcssConfigDir) {
|
|
4819
4927
|
try {
|
|
@@ -4999,8 +5107,8 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, generateConfiguredResponseHeadersRuntimeSo
|
|
|
4999
5107
|
function parseRouteRenderingDirectiveFromDisk(modulePath) {
|
|
5000
5108
|
try {
|
|
5001
5109
|
const source = _fs.readFileSync.call(void 0, modulePath, "utf8");
|
|
5002
|
-
const directive =
|
|
5003
|
-
if (
|
|
5110
|
+
const directive = _chunkQJ3J6MZTcjs.parseRouteRenderingDirective.call(void 0, source);
|
|
5111
|
+
if (_chunkQJ3J6MZTcjs.findRequestBoundSourceBlockers.call(void 0, source).length === 0) return directive;
|
|
5004
5112
|
return { ..._nullishCoalesce(directive, () => ( { ssg: false, ppr: false, directive: "" })), requestBound: true };
|
|
5005
5113
|
} catch (e22) {
|
|
5006
5114
|
return void 0;
|
|
@@ -5223,7 +5331,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5223
5331
|
);
|
|
5224
5332
|
const hasMiddlewareRuntime = middlewareRoutes.length > 0 || hasFarmMiddlewareConfig(config.middleware);
|
|
5225
5333
|
const farmDocsFontAssets = _optionalChain([config, 'access', _84 => _84.docs, 'optionalAccess', _85 => _85.enabled]) ? _chunkHREOKQWTcjs.toFarmDocsPublicFontAssets.call(void 0, _chunkHREOKQWTcjs.resolveFarmDocsFontAssets.call(void 0, config.root)) : [];
|
|
5226
|
-
const integrationProviders =
|
|
5334
|
+
const integrationProviders = _chunkTDFPACVXcjs.getIntegrationProviders.call(void 0, config.integrations);
|
|
5227
5335
|
const renderedIntegrationProviders = integrationProviders.filter(
|
|
5228
5336
|
(provider) => provider.component || provider.type === "clerk"
|
|
5229
5337
|
);
|
|
@@ -5232,7 +5340,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5232
5340
|
`Integration provider components are not supported by the "${config.renderer.name}" renderer.`
|
|
5233
5341
|
);
|
|
5234
5342
|
}
|
|
5235
|
-
const providerServerModules =
|
|
5343
|
+
const providerServerModules = _chunkSJVKK4JEcjs.generateFarmIntegrationProviderServerModules.call(void 0,
|
|
5236
5344
|
renderedIntegrationProviders,
|
|
5237
5345
|
config.root,
|
|
5238
5346
|
_nullishCoalesce(config.renderer.componentExtensions, () => ( []))
|
|
@@ -5252,14 +5360,14 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5252
5360
|
const unsupportedIntegrationProvider = renderedIntegrationProviders.find(
|
|
5253
5361
|
(provider) => provider.supportsIsolatedHydration !== true
|
|
5254
5362
|
);
|
|
5255
|
-
const isolatedHydrationMode =
|
|
5363
|
+
const isolatedHydrationMode = _chunkSJVKK4JEcjs.resolveFarmIsolatedClientHydrationMode.call(void 0,
|
|
5256
5364
|
_optionalChain([config, 'access', _88 => _88.experimental, 'optionalAccess', _89 => _89.isolatedClientHydration]),
|
|
5257
5365
|
{
|
|
5258
5366
|
serverComponents: _optionalChain([config, 'access', _90 => _90.experimental, 'optionalAccess', _91 => _91.serverComponents]) === true,
|
|
5259
5367
|
hasUnsupportedIntegrationProvider: Boolean(unsupportedIntegrationProvider)
|
|
5260
5368
|
}
|
|
5261
5369
|
);
|
|
5262
|
-
const hydrationPlanOptions =
|
|
5370
|
+
const hydrationPlanOptions = _chunkSJVKK4JEcjs.getFarmClientHydrationPlanOptions.call(void 0,
|
|
5263
5371
|
config.renderer,
|
|
5264
5372
|
Boolean(unsupportedIntegrationProvider)
|
|
5265
5373
|
);
|
|
@@ -5274,7 +5382,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5274
5382
|
hydrationPlanOptions
|
|
5275
5383
|
)
|
|
5276
5384
|
}));
|
|
5277
|
-
const markdownPagePlan =
|
|
5385
|
+
const markdownPagePlan = _chunkSJVKK4JEcjs.createMarkdownPageHydrationPlanner.call(void 0,
|
|
5278
5386
|
_chunkOHY2ZWUGcjs.resolveFarmMdxComponentsModulePath.call(void 0, _chunkOHY2ZWUGcjs.resolveMdxConfig.call(void 0, config.mdx), config.root),
|
|
5279
5387
|
config.root,
|
|
5280
5388
|
isolatedHydrationMode,
|
|
@@ -5283,7 +5391,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5283
5391
|
const pageHydrationPlans = new Map(
|
|
5284
5392
|
pageRoutes.map((route) => [
|
|
5285
5393
|
route.modulePath,
|
|
5286
|
-
|
|
5394
|
+
_chunkUX5S4JEOcjs.isFarmMarkdownPageFile.call(void 0, route.modulePath) ? markdownPagePlan() : getCachedClientModuleHydrationPlan(
|
|
5287
5395
|
route.modulePath,
|
|
5288
5396
|
config.root,
|
|
5289
5397
|
isolatedHydrationMode,
|
|
@@ -5292,7 +5400,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5292
5400
|
)
|
|
5293
5401
|
])
|
|
5294
5402
|
);
|
|
5295
|
-
|
|
5403
|
+
_chunkSJVKK4JEcjs.enforceFarmIsolatedHydrationRouteBudget.call(void 0,
|
|
5296
5404
|
layoutHydrationPlans.map((layout) => ({
|
|
5297
5405
|
pattern: layout.pattern,
|
|
5298
5406
|
depth: layout.pattern.split("/").filter(Boolean).length,
|
|
@@ -5333,7 +5441,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5333
5441
|
}).map(({ route }) => route);
|
|
5334
5442
|
orderedPageRoutes.forEach((route, index) => {
|
|
5335
5443
|
const varName = `pageRoute${index}`;
|
|
5336
|
-
if (
|
|
5444
|
+
if (_chunkUX5S4JEOcjs.isFarmMarkdownPageFile.call(void 0, route.modulePath)) {
|
|
5337
5445
|
pageRegistrations.push(`
|
|
5338
5446
|
{
|
|
5339
5447
|
pattern: ${JSON.stringify(route.pattern)},
|
|
@@ -5476,6 +5584,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5476
5584
|
const notFoundImport = notFoundPath ? `import * as CustomNotFound from ${toVirtualEntryImportSpecifier(notFoundPath)};` : "";
|
|
5477
5585
|
const apiRouteHelpersImport = apiRoutes.length > 0 ? `import { mergePluginAPIRoutes, getAllowedAPIRouteMethods, invokeAPIRouteEndpoint, createStaticAPIRouteMatcherAtBasePath, resolveAPIRouteEndpoint } from "@farm.js/core/api/runtime";` : "";
|
|
5478
5586
|
const productionRuntimeImport = `import {
|
|
5587
|
+
_getRequestReadCount,
|
|
5479
5588
|
_runWithAfterRequest,
|
|
5480
5589
|
_runWithCurrentRequest,
|
|
5481
5590
|
_runWithAPIRequestRuntime,
|
|
@@ -5501,6 +5610,7 @@ function isolateFarmRouteServerPage(element) { return element; }`;
|
|
|
5501
5610
|
createFarmMetadataRouteResponse,
|
|
5502
5611
|
createFarmAgentRobots,
|
|
5503
5612
|
createFarmApiCatalogResponse,
|
|
5613
|
+
createFarmAppManifestResponse,
|
|
5504
5614
|
collectFarmLlmsTxtPages,
|
|
5505
5615
|
createFarmDefaultLlmsTxt,
|
|
5506
5616
|
createFarmLlmsMarkdownReader,
|
|
@@ -5569,7 +5679,7 @@ import * as farmDocsConfigModule from ${toVirtualEntryImportSpecifier(docsConfig
|
|
|
5569
5679
|
import { dirname as farmDocsDirname, join as farmDocsJoin } from "node:path";
|
|
5570
5680
|
import { fileURLToPath as farmDocsFileURLToPath } from "node:url";` : "";
|
|
5571
5681
|
const markdownHandlerImport = _optionalChain([config, 'access', _102 => _102.md, 'optionalAccess', _103 => _103.enabled]) ? `import { applyMarkdownNegotiationHeaders, createMarkdownMirrorResponse, getFarmMarkdownAlternatePath } from "@farm.js/core/markdown";` : "";
|
|
5572
|
-
const appMarkdownImport = hasMarkdownPages ? `import { createFarmMarkdownRouteModule, createFarmMarkdownSourceResponse } from "@farm.js/core/internal/app-markdown-runtime";` : "const createFarmMarkdownSourceResponse = null;";
|
|
5682
|
+
const appMarkdownImport = hasMarkdownPages ? `import { createFarmMarkdownRouteModule, createFarmMarkdownSourceResponse, isFarmMarkdownPublicSourceResponse } from "@farm.js/core/internal/app-markdown-runtime";` : "const createFarmMarkdownSourceResponse = null;\nconst isFarmMarkdownPublicSourceResponse = null;";
|
|
5573
5683
|
const markdownErrorImport = `import { FARM_MARKDOWN_CONTENT_TYPE, createFarmMarkdownErrorBody, farmRequestWantsMarkdown } from "@farm.js/core/markdown";`;
|
|
5574
5684
|
const mdxComponentsPath = typeof _optionalChain([config, 'access', _104 => _104.mdx, 'optionalAccess', _105 => _105.components]) === "string" ? _path2.default.isAbsolute(config.mdx.components) ? config.mdx.components : _path2.default.join(config.root, config.mdx.components) : null;
|
|
5575
5685
|
const mdxComponentsImport = mdxComponentsPath ? `import * as FarmMdxComponentsModule from ${toVirtualEntryImportSpecifier(mdxComponentsPath)};` : "";
|
|
@@ -5776,7 +5886,7 @@ const farmResolvedRuntimeConfig = Object.assign({}, ...farmRuntimeConfigs);
|
|
|
5776
5886
|
|
|
5777
5887
|
function FarmDefault404Page() {
|
|
5778
5888
|
return React.createElement(React.Fragment, null,
|
|
5779
|
-
React.createElement("style", null, ${JSON.stringify(
|
|
5889
|
+
React.createElement("style", null, ${JSON.stringify(_chunkSJVKK4JEcjs.DEFAULT_NOT_FOUND_STYLES)}),
|
|
5780
5890
|
React.createElement("main", {
|
|
5781
5891
|
className: "farm-default-not-found",
|
|
5782
5892
|
"aria-labelledby": "farm-default-not-found-title",
|
|
@@ -6015,10 +6125,17 @@ const farmDocsAPIHandler = ${_optionalChain([config, 'access', _119 => _119.docs
|
|
|
6015
6125
|
|
|
6016
6126
|
// API routes bundled at build time
|
|
6017
6127
|
const apiRoutes = ${apiRoutes.length > 0 ? "mergePluginAPIRoutes(" : ""}[${apiRegistrations.join(",")}
|
|
6018
|
-
]${apiRoutes.length > 0 ? `, configuredPlugins, ${JSON.stringify(apiRoutes.map(({ path:
|
|
6019
|
-
const farmLocalAPIBasePath = ${JSON.stringify(
|
|
6128
|
+
]${apiRoutes.length > 0 ? `, configuredPlugins, ${JSON.stringify(apiRoutes.map(({ path: path8, methods }) => ({ path: path8, methods })))}, { bodySizeLimit: ${JSON.stringify(config.server.bodySizeLimit)} })` : ""};
|
|
6129
|
+
const farmLocalAPIBasePath = ${JSON.stringify(_chunkKNBBQHO2cjs.resolveFarmAPIServerBasePath.call(void 0, config.api))};
|
|
6020
6130
|
const farmOpenAPIReference = ${JSON.stringify(openAPIReference)};
|
|
6021
|
-
${_optionalChain([config, 'access', _121 => _121.agent, 'optionalAccess', _122 => _122.apiCatalog]) ? `const farmApiCatalogInput = ${JSON.stringify(
|
|
6131
|
+
${_optionalChain([config, 'access', _121 => _121.agent, 'optionalAccess', _122 => _122.apiCatalog]) ? `const farmApiCatalogInput = ${JSON.stringify(_chunkP64MIF5Bcjs.resolveFarmApiCatalogInput.call(void 0, config))};
|
|
6132
|
+
` : ""}${config.analytics !== false ? `const farmAppManifestInput = ${JSON.stringify(
|
|
6133
|
+
_chunkP64MIF5Bcjs.resolveFarmAppManifestInput.call(void 0, config, {
|
|
6134
|
+
build: config.deploymentId,
|
|
6135
|
+
packages: _chunkSJVKK4JEcjs.resolveFarmAppPackages.call(void 0, config.root),
|
|
6136
|
+
webmcpTools: config.plugins.some(({ name }) => name === "farm:webmcp") ? _chunkSJVKK4JEcjs.collectFarmWebMCPTools.call(void 0, config.root, config.srcDir) : []
|
|
6137
|
+
})
|
|
6138
|
+
)};
|
|
6022
6139
|
` : ""}
|
|
6023
6140
|
function isFarmLocalAPIPathname(pathname) {
|
|
6024
6141
|
return farmLocalAPIBasePath !== "/" &&
|
|
@@ -6087,9 +6204,12 @@ function getFarmI18nSnapshot() {
|
|
|
6087
6204
|
return ${config.i18n.enabled ? "getFarmI18nClientSnapshot()" : "undefined"};
|
|
6088
6205
|
}
|
|
6089
6206
|
|
|
6207
|
+
// The locale step strips farmI18nConfig.basePath itself. Stripping it first as
|
|
6208
|
+
// well removed it twice, so /console/console/secret served /secret while
|
|
6209
|
+
// middleware and integration guards, which strip it once, saw /console/secret.
|
|
6090
6210
|
function getFarmRoutePathname(pathname) {
|
|
6091
6211
|
return farmI18nRuntime
|
|
6092
|
-
? stripFarmLocaleFromPathname(
|
|
6212
|
+
? stripFarmLocaleFromPathname(pathname, farmI18nConfig)
|
|
6093
6213
|
: stripFarmBasePath(pathname);
|
|
6094
6214
|
}
|
|
6095
6215
|
|
|
@@ -6458,7 +6578,7 @@ function peelFarmDocumentPrefix(markup) {
|
|
|
6458
6578
|
let inner = markup.replace(/^\\s+/, "");
|
|
6459
6579
|
let hoisted = "";
|
|
6460
6580
|
const wrapper = /^<div\\b[^>]*style=["']display\\s*:\\s*contents["'][^>]*>/i;
|
|
6461
|
-
const hoistable = /${
|
|
6581
|
+
const hoistable = /${_chunkSJVKK4JEcjs.HOISTED_HEAD_ELEMENT.source}/i;
|
|
6462
6582
|
let match;
|
|
6463
6583
|
while ((match = wrapper.exec(inner) || hoistable.exec(inner))) {
|
|
6464
6584
|
if (!/^<div/i.test(match[0])) hoisted += match[0];
|
|
@@ -7031,6 +7151,7 @@ const farmMiddlewareRunner = ${hasMiddlewareRuntime ? `createProductionMiddlewar
|
|
|
7031
7151
|
modules: fileMiddlewareModules,
|
|
7032
7152
|
i18n: farmI18nConfig,
|
|
7033
7153
|
server: farmServerConfig,
|
|
7154
|
+
apiBasePath: farmLocalAPIBasePath,
|
|
7034
7155
|
})` : "null"};
|
|
7035
7156
|
|
|
7036
7157
|
${apiHandlerCode}
|
|
@@ -7451,6 +7572,12 @@ function getPPRHeaders(status, config) {
|
|
|
7451
7572
|
return headers;
|
|
7452
7573
|
}
|
|
7453
7574
|
|
|
7575
|
+
function hasFarmUnserializableRouteData(data) {
|
|
7576
|
+
const isPromise = (value) => Boolean(value) && typeof value.then === "function";
|
|
7577
|
+
if (isPromise(data)) return true;
|
|
7578
|
+
return Boolean(data) && typeof data === "object" && Object.values(data).some(isPromise);
|
|
7579
|
+
}
|
|
7580
|
+
|
|
7454
7581
|
function getRouteSharedCacheControl(route, pprCanCache) {
|
|
7455
7582
|
if (!route || !route.module) {
|
|
7456
7583
|
return null;
|
|
@@ -7663,7 +7790,8 @@ async function handleFarmRequestInContext(
|
|
|
7663
7790
|
|
|
7664
7791
|
${hasMarkdownPages ? `
|
|
7665
7792
|
// The raw markdown source of a page route is the page's content in another
|
|
7666
|
-
// representation;
|
|
7793
|
+
// representation; it is only served for a page an anonymous visitor may open,
|
|
7794
|
+
// which renderPage asks the app with the page's own path.
|
|
7667
7795
|
const markdownSourceResponse = await createFarmMarkdownSourceResponse?.({
|
|
7668
7796
|
request: cloneFarmRequestWithContext(request),
|
|
7669
7797
|
config: farmMdxConfig,
|
|
@@ -7671,9 +7799,12 @@ async function handleFarmRequestInContext(
|
|
|
7671
7799
|
const match = matchPageRoute(getFarmRoutePathname(targetPathname));
|
|
7672
7800
|
return match?.route?.markdownSource || null;
|
|
7673
7801
|
},
|
|
7802
|
+
renderPage: (targetRequest) => handleFarmRequest(targetRequest, adapterContext),
|
|
7674
7803
|
});
|
|
7675
7804
|
if (markdownSourceResponse) {
|
|
7676
|
-
return
|
|
7805
|
+
return isFarmMarkdownPublicSourceResponse(markdownSourceResponse)
|
|
7806
|
+
? markdownSourceResponse
|
|
7807
|
+
: applyProductionMiddlewareHeaders(markdownSourceResponse, middlewareHeaders);
|
|
7677
7808
|
}
|
|
7678
7809
|
` : ""}
|
|
7679
7810
|
|
|
@@ -7776,9 +7907,20 @@ async function handleFarmRequestInContext(
|
|
|
7776
7907
|
return applyProductionMiddlewareHeaders(applicationMetadataResponse, middlewareHeaders);
|
|
7777
7908
|
}
|
|
7778
7909
|
` : ""}
|
|
7910
|
+
${config.analytics !== false ? `
|
|
7911
|
+
// /.well-known/farmjs: the app's manifest, only for a request Farm Infra signed.
|
|
7912
|
+
if (normalizeRuntimePath(routePathname) === ${JSON.stringify(_chunkP64MIF5Bcjs.FARM_APP_MANIFEST_PATH)}) {
|
|
7913
|
+
const farmAppManifest = await createFarmAppManifestResponse(request, farmAppManifestInput, {
|
|
7914
|
+
development: false,
|
|
7915
|
+
});
|
|
7916
|
+
if (farmAppManifest) {
|
|
7917
|
+
return applyProductionMiddlewareHeaders(farmAppManifest, middlewareHeaders);
|
|
7918
|
+
}
|
|
7919
|
+
}
|
|
7920
|
+
` : ""}
|
|
7779
7921
|
${_optionalChain([config, 'access', _137 => _137.agent, 'optionalAccess', _138 => _138.apiCatalog]) ? `
|
|
7780
7922
|
// agent.apiCatalog: list the OpenAPI and MCP surfaces at the RFC 9727 path.
|
|
7781
|
-
if (normalizeRuntimePath(routePathname) === ${JSON.stringify(
|
|
7923
|
+
if (normalizeRuntimePath(routePathname) === ${JSON.stringify(_chunkP64MIF5Bcjs.FARM_API_CATALOG_PATH)}) {
|
|
7782
7924
|
return applyProductionMiddlewareHeaders(
|
|
7783
7925
|
createFarmApiCatalogResponse(request.method, farmApiCatalogInput, request),
|
|
7784
7926
|
middlewareHeaders,
|
|
@@ -7914,6 +8056,9 @@ async function handleFarmRequestInContext(
|
|
|
7914
8056
|
emitFarmEvent({ type: "ppr.shell.miss", route: pathname, key: pprCacheKey });
|
|
7915
8057
|
}
|
|
7916
8058
|
|
|
8059
|
+
// Reads from here on belong to the page render, not to middleware.
|
|
8060
|
+
const requestReadsBeforeRender = _getRequestReadCount();
|
|
8061
|
+
|
|
7917
8062
|
// Get the page component and metadata
|
|
7918
8063
|
let PageComponent = route.module.default;
|
|
7919
8064
|
let pageStatus = 200;
|
|
@@ -7973,6 +8118,10 @@ async function handleFarmRequestInContext(
|
|
|
7973
8118
|
});
|
|
7974
8119
|
}
|
|
7975
8120
|
let pageProps;
|
|
8121
|
+
// A rejected guard or loader renders the route's notFound/error
|
|
8122
|
+
// component, and the route's generateMetadata must not run for it:
|
|
8123
|
+
// it would describe the resource the caller was refused.
|
|
8124
|
+
let routeStateRejected = false;
|
|
7976
8125
|
try {
|
|
7977
8126
|
// Resolve top-level route state before starting the HTTP stream so
|
|
7978
8127
|
// redirects, notFound(), and failures keep their real status. Route
|
|
@@ -8007,6 +8156,7 @@ async function handleFarmRequestInContext(
|
|
|
8007
8156
|
} catch (routeStateError) {
|
|
8008
8157
|
if (isFarmRedirectError(routeStateError)) throw routeStateError;
|
|
8009
8158
|
|
|
8159
|
+
routeStateRejected = true;
|
|
8010
8160
|
const routeComponents = route.module.__farmRouteComponents;
|
|
8011
8161
|
const routeStateProps = {
|
|
8012
8162
|
...rawPageProps,
|
|
@@ -8096,7 +8246,9 @@ async function handleFarmRequestInContext(
|
|
|
8096
8246
|
...(pageProps.__farmCanonicalPath
|
|
8097
8247
|
? { __farmCanonicalPath: pageProps.__farmCanonicalPath }
|
|
8098
8248
|
: {}),
|
|
8099
|
-
|
|
8249
|
+
// Deferred values do not survive JSON, so the browser cannot render
|
|
8250
|
+
// a page from these props while one is still in flight.
|
|
8251
|
+
...(pageProps.__farmRoutePropsResolved && !hasFarmUnserializableRouteData(pageProps.data)
|
|
8100
8252
|
? { __farmRoutePropsResolved: true }
|
|
8101
8253
|
: {}),
|
|
8102
8254
|
path: pathname,
|
|
@@ -8218,7 +8370,7 @@ async function handleFarmRequestInContext(
|
|
|
8218
8370
|
// the request's resolved Suspense content. Until the production runtime
|
|
8219
8371
|
// can persist and resume the partial shell itself, buffer streamed PPR
|
|
8220
8372
|
// responses for late status errors but do not cache their dynamic HTML.
|
|
8221
|
-
|
|
8373
|
+
let shouldCachePPRShell = Boolean(pprCacheKey && !renderedPage.stream);
|
|
8222
8374
|
if (!shouldCachePPRShell && pprCacheKey) {
|
|
8223
8375
|
pprCanCache = false;
|
|
8224
8376
|
emitFarmEvent({
|
|
@@ -8242,7 +8394,7 @@ async function handleFarmRequestInContext(
|
|
|
8242
8394
|
}
|
|
8243
8395
|
}
|
|
8244
8396
|
mergedMetadata = mergeMetadata(mergedMetadata, pageMetadata);
|
|
8245
|
-
if (typeof route.module.generateMetadata === "function") {
|
|
8397
|
+
if (!routeStateRejected && typeof route.module.generateMetadata === "function") {
|
|
8246
8398
|
mergedMetadata = mergeMetadata(
|
|
8247
8399
|
mergedMetadata,
|
|
8248
8400
|
await route.module.generateMetadata(pageProps),
|
|
@@ -8276,6 +8428,17 @@ async function handleFarmRequestInContext(
|
|
|
8276
8428
|
getFarmMarkdownAlternatePath(farmMarkdownConfig, pathname),
|
|
8277
8429
|
);` : ""}
|
|
8278
8430
|
|
|
8431
|
+
// headers(), cookies(), or getCurrentRequest() read during the render,
|
|
8432
|
+
// in the page, a layout, metadata, or anything they import, makes this
|
|
8433
|
+
// HTML one visitor's: never a shared PPR shell or CDN response.
|
|
8434
|
+
const renderReadRequest = _getRequestReadCount() !== requestReadsBeforeRender;
|
|
8435
|
+
if (renderReadRequest && shouldCachePPRShell) {
|
|
8436
|
+
shouldCachePPRShell = false;
|
|
8437
|
+
pprCanCache = false;
|
|
8438
|
+
emitFarmEvent({ type: "ppr.shell.bypass", route: pathname, reason: "request-read" });
|
|
8439
|
+
emitFarmEvent({ type: "cache.bypass", route: pathname, reason: "request-read" });
|
|
8440
|
+
}
|
|
8441
|
+
|
|
8279
8442
|
const renderedMetadata = renderMetadataHead(mergedMetadata, { pathname, jsonLd: ${JSON.stringify(_nullishCoalesce(_optionalChain([config, 'access', _149 => _149.agent, 'optionalAccess', _150 => _150.jsonLd]), () => ( false)))} });
|
|
8280
8443
|
const title = renderedMetadata.title;
|
|
8281
8444
|
const metaTags = renderedMetadata.tags;
|
|
@@ -8287,6 +8450,7 @@ async function handleFarmRequestInContext(
|
|
|
8287
8450
|
);
|
|
8288
8451
|
const hasRequestScopedRender = Boolean(
|
|
8289
8452
|
pageStatus >= 400 ||
|
|
8453
|
+
renderReadRequest ||
|
|
8290
8454
|
request.headers.get("x-farm-intercept-from") ||
|
|
8291
8455
|
hasPrivateRequestHeaders ||
|
|
8292
8456
|
hasConfiguredRouteContext ||
|
|
@@ -9038,23 +9202,20 @@ function configMiddlewareMayHandlePath(config, pathname) {
|
|
|
9038
9202
|
if (!hasFarmMiddlewareConfig(config)) return false;
|
|
9039
9203
|
const entries = Array.isArray(config) ? config : [config];
|
|
9040
9204
|
return entries.some((entry) => {
|
|
9041
|
-
if (
|
|
9042
|
-
|
|
9043
|
-
|
|
9044
|
-
|
|
9045
|
-
|
|
9046
|
-
|
|
9047
|
-
|
|
9048
|
-
|
|
9049
|
-
});
|
|
9205
|
+
if (!entry.matcher && !entry.exclude) return true;
|
|
9206
|
+
const matchers = entry.matcher ? (Array.isArray(entry.matcher) ? entry.matcher : [entry.matcher]).map(
|
|
9207
|
+
(matcher) => (
|
|
9208
|
+
// A request-aware matcher cannot be proven safe at build time.
|
|
9209
|
+
typeof matcher === "function" ? () => true : matcher
|
|
9210
|
+
)
|
|
9211
|
+
) : void 0;
|
|
9212
|
+
const compiled = _chunkZ2HLU4IXcjs.compileMiddlewareConfig.call(void 0, { matcher: matchers, exclude: entry.exclude });
|
|
9213
|
+
return _chunkZ2HLU4IXcjs.matchesCompiledMiddlewareConfig.call(void 0, pathname, compiled, {}).matched;
|
|
9050
9214
|
});
|
|
9051
9215
|
}
|
|
9052
9216
|
_chunkS3JO3N4Hcjs.__name.call(void 0, configMiddlewareMayHandlePath, "configMiddlewareMayHandlePath");
|
|
9053
9217
|
function appMiddlewareMayHandlePath(middlewareRoutes, pathname) {
|
|
9054
|
-
return middlewareRoutes.some((route) =>
|
|
9055
|
-
if (route.path === "/") return true;
|
|
9056
|
-
return middlewarePatternMatches(route.path, pathname) || middlewarePatternMatches(`${route.path}/**`, pathname);
|
|
9057
|
-
});
|
|
9218
|
+
return middlewareRoutes.some((route) => _chunkZ2HLU4IXcjs.matchesMiddlewareRoute.call(void 0, pathname, route).matched);
|
|
9058
9219
|
}
|
|
9059
9220
|
_chunkS3JO3N4Hcjs.__name.call(void 0, appMiddlewareMayHandlePath, "appMiddlewareMayHandlePath");
|
|
9060
9221
|
function routePatternSpecificity(pattern) {
|
|
@@ -9094,11 +9255,11 @@ function getPhysicalPrerenderBypassReason(options) {
|
|
|
9094
9255
|
}
|
|
9095
9256
|
if (appMiddlewareMayHandlePath(middlewareRoutes, pathname)) return "app middleware";
|
|
9096
9257
|
if (configMiddlewareMayHandlePath(config.middleware, pathname)) return "configured middleware";
|
|
9097
|
-
if (
|
|
9258
|
+
if (_chunkPQDFUSXDcjs.hasCustomFarmRouteContext.call(void 0, config)) return "request context";
|
|
9098
9259
|
if (farmServerRuntimePluginsMayHandlePath(config, pathname)) return "server runtime plugin";
|
|
9099
9260
|
const manifestEntry = getManifestPageEntry(routeRuntimeManifest, pathname);
|
|
9100
|
-
if (_optionalChain([manifestEntry, 'optionalAccess',
|
|
9101
|
-
if (manifestEntry && (manifestEntry.runtime !== "auto" || Boolean(_optionalChain([manifestEntry, 'access',
|
|
9261
|
+
if (_optionalChain([manifestEntry, 'optionalAccess', _155 => _155.rendering]) === "dynamic") return "dynamic runtime manifest";
|
|
9262
|
+
if (manifestEntry && (manifestEntry.runtime !== "auto" || Boolean(_optionalChain([manifestEntry, 'access', _156 => _156.regions, 'optionalAccess', _157 => _157.length])) || manifestEntry.maxDuration !== void 0)) {
|
|
9102
9263
|
return "route runtime controls";
|
|
9103
9264
|
}
|
|
9104
9265
|
const routeRule = getEffectiveRouteRule(config, pathname);
|
|
@@ -9120,7 +9281,7 @@ async function buildNitroUniversal(config, routeManager, apiRouteManager, server
|
|
|
9120
9281
|
const nitroBuilder = nitroBuilderResult.value;
|
|
9121
9282
|
const isVercel = preset === "vercel" || preset === "vercel-edge";
|
|
9122
9283
|
const isCloudflareWorker = preset === "cloudflare-module";
|
|
9123
|
-
const outputDir =
|
|
9284
|
+
const outputDir = _chunkPQDFUSXDcjs.resolveDeployOutputPath.call(void 0, root, config.deploy.outputDir);
|
|
9124
9285
|
const runtimeServerOutputDir = isVercel ? _path2.default.join(outputDir, "functions", "__nitro.func") : _path2.default.join(outputDir, "server");
|
|
9125
9286
|
const ssrOutputDir = _path2.default.join(root, distDir, "ssr");
|
|
9126
9287
|
const imageRuntime = resolveImageRuntime(config, preset);
|
|
@@ -9375,6 +9536,15 @@ function toFarmNodeResponse(request, response) {
|
|
|
9375
9536
|
})
|
|
9376
9537
|
);
|
|
9377
9538
|
}
|
|
9539
|
+
const farmNetlifyEntryPath = preset === "netlify" ? _path2.default.join(ssrOutputDir, "farm-netlify-entry.mjs") : null;
|
|
9540
|
+
if (farmNetlifyEntryPath) {
|
|
9541
|
+
await fs.writeFile(
|
|
9542
|
+
farmNetlifyEntryPath,
|
|
9543
|
+
createFarmNetlifyEntry({
|
|
9544
|
+
nitroNetlifyEntry: resolveNitroNetlifyEntry(resolveNitroPackageEntry(root))
|
|
9545
|
+
})
|
|
9546
|
+
);
|
|
9547
|
+
}
|
|
9378
9548
|
const prebuiltSSRPlugin = createExternalSSRBundlePlugin(
|
|
9379
9549
|
nitroEntryPath,
|
|
9380
9550
|
ssrOutputDir,
|
|
@@ -9400,6 +9570,7 @@ function toFarmNodeResponse(request, response) {
|
|
|
9400
9570
|
let nitroConfig = {
|
|
9401
9571
|
preset,
|
|
9402
9572
|
...farmNodeServerEntryPath ? { entry: farmNodeServerEntryPath } : {},
|
|
9573
|
+
...farmNetlifyEntryPath ? { entry: farmNetlifyEntryPath } : {},
|
|
9403
9574
|
rootDir: root,
|
|
9404
9575
|
// Farm registers every handler, task, and plugin explicitly. Scanning the
|
|
9405
9576
|
// project root would bundle an app's own `middleware/`, `api/`, `routes/`,
|
|
@@ -9496,20 +9667,20 @@ function toFarmNodeResponse(request, response) {
|
|
|
9496
9667
|
snapshotSSRRebundleOptions(nitroConfig)
|
|
9497
9668
|
);
|
|
9498
9669
|
const requestedBuilder = _nullishCoalesce(nitroConfig.builder, () => ( process.env.NITRO_BUILDER));
|
|
9499
|
-
const canReusePrebuiltSSR = isPrebuiltSSRCandidate && nitroConfig.preset === "node-server" && (requestedBuilder === void 0 || requestedBuilder === "rollup" || requestedBuilder === "rolldown") && nitroConfig.sourcemap === false && !hasCustomOxcOptions && !hasLateBuildMutationConfig && !hasUnsupportedSSRRebundleOverrides && _optionalChain([nitroConfig, 'access',
|
|
9500
|
-
_optionalChain([nitroConfig, 'access',
|
|
9501
|
-
(handler) => _path2.default.resolve(_optionalChain([handler, 'optionalAccess',
|
|
9670
|
+
const canReusePrebuiltSSR = isPrebuiltSSRCandidate && nitroConfig.preset === "node-server" && (requestedBuilder === void 0 || requestedBuilder === "rollup" || requestedBuilder === "rolldown") && nitroConfig.sourcemap === false && !hasCustomOxcOptions && !hasLateBuildMutationConfig && !hasUnsupportedSSRRebundleOverrides && _optionalChain([nitroConfig, 'access', _158 => _158.rollupConfig, 'optionalAccess', _159 => _159.external]) === nitroRollupExternal && !hasRollupPlugins(_optionalChain([nitroConfig, 'access', _160 => _160.rollupConfig, 'optionalAccess', _161 => _161.plugins])) && customRollupKeys.length === 0 && _path2.default.resolve(_optionalChain([nitroConfig, 'access', _162 => _162.output, 'optionalAccess', _163 => _163.serverDir]) || "") === _path2.default.resolve(expectedServerDir) && Boolean(
|
|
9671
|
+
_optionalChain([nitroConfig, 'access', _164 => _164.handlers, 'optionalAccess', _165 => _165.some, 'call', _166 => _166(
|
|
9672
|
+
(handler) => _path2.default.resolve(_optionalChain([handler, 'optionalAccess', _167 => _167.handler]) || "") === nitroEntryPath
|
|
9502
9673
|
)])
|
|
9503
9674
|
);
|
|
9504
9675
|
const selectRolldownBuilder = canReusePrebuiltSSR && requestedBuilder === void 0 && await canUseRolldownBuilder();
|
|
9505
9676
|
if (selectRolldownBuilder) nitroConfig.builder = "rolldown";
|
|
9506
9677
|
const useRolldownBuilder = canReusePrebuiltSSR && (_nullishCoalesce(nitroConfig.builder, () => ( process.env.NITRO_BUILDER))) === "rolldown";
|
|
9507
9678
|
const shouldMinify = nitroConfig.minify !== false;
|
|
9508
|
-
const keepServerNames = !(_optionalChain([config, 'access',
|
|
9679
|
+
const keepServerNames = !(_optionalChain([config, 'access', _168 => _168.docs, 'optionalAccess', _169 => _169.enabled]) && _optionalChain([config, 'access', _170 => _170.docs, 'access', _171 => _171.adapter, 'optionalAccess', _172 => _172.server]));
|
|
9509
9680
|
const useFarmServerMinifier = shouldMinify && nitroConfig.sourcemap === false && !hasCustomOxcOptions && !hasLateBuildMutationConfig;
|
|
9510
9681
|
const serverChunkMinifier = useFarmServerMinifier ? createServerChunkMinifyPlugin({ keepNames: keepServerNames, target: "esnext" }) : null;
|
|
9511
9682
|
if (canReusePrebuiltSSR) {
|
|
9512
|
-
const configuredRollupPlugins = _optionalChain([nitroConfig, 'access',
|
|
9683
|
+
const configuredRollupPlugins = _optionalChain([nitroConfig, 'access', _173 => _173.rollupConfig, 'optionalAccess', _174 => _174.plugins]);
|
|
9513
9684
|
nitroConfig.rollupConfig = {
|
|
9514
9685
|
...nitroConfig.rollupConfig,
|
|
9515
9686
|
plugins: [
|
|
@@ -9520,10 +9691,10 @@ function toFarmNodeResponse(request, response) {
|
|
|
9520
9691
|
}
|
|
9521
9692
|
nitroConfig.minify = useFarmServerMinifier ? false : shouldMinify;
|
|
9522
9693
|
const nitroInstance = await nitroBuilder.createNitro(nitroConfig);
|
|
9523
|
-
if (_optionalChain([config, 'access',
|
|
9694
|
+
if (_optionalChain([config, 'access', _175 => _175.md, 'optionalAccess', _176 => _176.enabled])) {
|
|
9524
9695
|
nitroInstance.hooks.hook("prerender:generate", (route) => {
|
|
9525
|
-
if (!route.contents || !_optionalChain([route, 'access',
|
|
9526
|
-
const alternatePath =
|
|
9696
|
+
if (!route.contents || !_optionalChain([route, 'access', _177 => _177.contentType, 'optionalAccess', _178 => _178.toLowerCase, 'call', _179 => _179(), 'access', _180 => _180.includes, 'call', _181 => _181("html")])) return;
|
|
9697
|
+
const alternatePath = _chunkXXJU7FCCcjs.getFarmMarkdownAlternatePath.call(void 0, config.md, route.route);
|
|
9527
9698
|
if (!alternatePath) return;
|
|
9528
9699
|
const routeRule = nitroInstance.options.routeRules[route.route] || {};
|
|
9529
9700
|
const alternate = `<${alternatePath}>; rel="alternate"; type="text/markdown"`;
|
|
@@ -9543,8 +9714,8 @@ function toFarmNodeResponse(request, response) {
|
|
|
9543
9714
|
}
|
|
9544
9715
|
if (config.security.csp && config.security.csp.nonce) {
|
|
9545
9716
|
nitroInstance.hooks.hook("prerender:generate", async (route) => {
|
|
9546
|
-
if (!route.contents || !_optionalChain([route, 'access',
|
|
9547
|
-
const staticCsp = await
|
|
9717
|
+
if (!route.contents || !_optionalChain([route, 'access', _182 => _182.contentType, 'optionalAccess', _183 => _183.toLowerCase, 'call', _184 => _184(), 'access', _185 => _185.includes, 'call', _186 => _186("html")])) return;
|
|
9718
|
+
const staticCsp = await _chunkZHPHJPQPcjs.applyFarmCspHashesToHtml.call(void 0, route.contents, config.security);
|
|
9548
9719
|
if (!staticCsp) return;
|
|
9549
9720
|
route.contents = staticCsp.html;
|
|
9550
9721
|
const routeRule = nitroInstance.options.routeRules[route.route] || {};
|
|
@@ -9559,7 +9730,7 @@ function toFarmNodeResponse(request, response) {
|
|
|
9559
9730
|
nitroInstance.routing.sync();
|
|
9560
9731
|
});
|
|
9561
9732
|
}
|
|
9562
|
-
if (farmNodeServerEntryPath) {
|
|
9733
|
+
if (farmNodeServerEntryPath || farmNetlifyEntryPath) {
|
|
9563
9734
|
nitroInstance.hooks.hook("prerender:config", (prerendererConfig) => {
|
|
9564
9735
|
delete prerendererConfig.entry;
|
|
9565
9736
|
});
|
|
@@ -9614,13 +9785,13 @@ function toFarmNodeResponse(request, response) {
|
|
|
9614
9785
|
}
|
|
9615
9786
|
if (prerenderRoutes.length > 0) {
|
|
9616
9787
|
_chunk5QIKR7RRcjs.logger.info(`\u{1F4C4} Pre-rendering ${prerenderRoutes.length} SSG page(s)`);
|
|
9617
|
-
const previousPrerender = process.env[
|
|
9618
|
-
process.env[
|
|
9788
|
+
const previousPrerender = process.env[_chunkTKSCR644cjs.FARM_PRERENDER_ENV];
|
|
9789
|
+
process.env[_chunkTKSCR644cjs.FARM_PRERENDER_ENV] = "1";
|
|
9619
9790
|
try {
|
|
9620
9791
|
await nitroBuilder.prerender(nitroInstance);
|
|
9621
9792
|
} finally {
|
|
9622
|
-
if (previousPrerender === void 0) delete process.env[
|
|
9623
|
-
else process.env[
|
|
9793
|
+
if (previousPrerender === void 0) delete process.env[_chunkTKSCR644cjs.FARM_PRERENDER_ENV];
|
|
9794
|
+
else process.env[_chunkTKSCR644cjs.FARM_PRERENDER_ENV] = previousPrerender;
|
|
9624
9795
|
}
|
|
9625
9796
|
}
|
|
9626
9797
|
const sharpRuntimeStagePromise = imageRuntime === "node" ? stageSharpRuntime(config, root, distDir, fs, preset) : Promise.resolve(null);
|
|
@@ -9751,7 +9922,7 @@ async function moveVercelOutputPath(src, dest, fs) {
|
|
|
9751
9922
|
await fs.rename(src, dest);
|
|
9752
9923
|
return;
|
|
9753
9924
|
} catch (error) {
|
|
9754
|
-
const code = _optionalChain([error, 'optionalAccess',
|
|
9925
|
+
const code = _optionalChain([error, 'optionalAccess', _187 => _187.code]);
|
|
9755
9926
|
if (code !== "EPERM" && code !== "EACCES" && code !== "EXDEV" && code !== "ENOTEMPTY") {
|
|
9756
9927
|
throw error;
|
|
9757
9928
|
}
|
|
@@ -9778,7 +9949,7 @@ async function postProcessVercelOutput(root, outputDir, fs, config, farmWorkflow
|
|
|
9778
9949
|
try {
|
|
9779
9950
|
await moveVercelOutputPath(publicDir, staticDir, fs);
|
|
9780
9951
|
} catch (error) {
|
|
9781
|
-
if (_optionalChain([error, 'optionalAccess',
|
|
9952
|
+
if (_optionalChain([error, 'optionalAccess', _188 => _188.code]) !== "ENOENT") throw error;
|
|
9782
9953
|
}
|
|
9783
9954
|
await copyFarmDocsContentForVercel(config, root, nitroFuncDir, fs);
|
|
9784
9955
|
await copyPrismaClientForVercel(root, nitroFuncDir, fs);
|
|
@@ -9811,7 +9982,7 @@ async function copyFarmDocsContentForVercel(config, root, nitroFuncDir, fs) {
|
|
|
9811
9982
|
const docsContentDir = resolveBuildDocsContentDir(config, root);
|
|
9812
9983
|
if (!docsContentDir) return;
|
|
9813
9984
|
const bundledContentDir = _path2.default.join(nitroFuncDir, "farm-docs-content");
|
|
9814
|
-
const lastModifiedManifest =
|
|
9985
|
+
const lastModifiedManifest = _chunkZ2YLTERKcjs.createFarmDocsLastModifiedManifest.call(void 0, docsContentDir, {
|
|
9815
9986
|
fallback: "now"
|
|
9816
9987
|
});
|
|
9817
9988
|
await fs.rm(bundledContentDir, { recursive: true, force: true });
|
|
@@ -9821,7 +9992,7 @@ async function copyFarmDocsContentForVercel(config, root, nitroFuncDir, fs) {
|
|
|
9821
9992
|
force: true
|
|
9822
9993
|
});
|
|
9823
9994
|
await fs.writeFile(
|
|
9824
|
-
_path2.default.join(bundledContentDir,
|
|
9995
|
+
_path2.default.join(bundledContentDir, _chunkZ2YLTERKcjs.FARM_DOCS_LAST_MODIFIED_MANIFEST),
|
|
9825
9996
|
`${JSON.stringify(lastModifiedManifest, null, 2)}
|
|
9826
9997
|
`
|
|
9827
9998
|
);
|
|
@@ -9898,7 +10069,7 @@ async function stageSharpRuntime(config, root, distDir, fs, preset) {
|
|
|
9898
10069
|
try {
|
|
9899
10070
|
await copyPackage("sharp", sharpRequire);
|
|
9900
10071
|
if (!copiedPackages.has("sharp")) {
|
|
9901
|
-
throw new Error(`Farm image optimization requires sharp. ${
|
|
10072
|
+
throw new Error(`Farm image optimization requires sharp. ${_chunkSJVKK4JEcjs.SHARP_INSTALL_HINT}`);
|
|
9902
10073
|
}
|
|
9903
10074
|
} catch (error) {
|
|
9904
10075
|
await fs.rm(stageDir, { recursive: true, force: true });
|
|
@@ -10112,7 +10283,7 @@ function createBuildTargetBaseline(config) {
|
|
|
10112
10283
|
preset,
|
|
10113
10284
|
distDir,
|
|
10114
10285
|
outputDir,
|
|
10115
|
-
outputWasDerived: outputDir ===
|
|
10286
|
+
outputWasDerived: outputDir === _chunkPQDFUSXDcjs.getDefaultDeployOutputDir.call(void 0, config.deploy.target, preset, distDir)
|
|
10116
10287
|
};
|
|
10117
10288
|
}
|
|
10118
10289
|
_chunkS3JO3N4Hcjs.__name.call(void 0, createBuildTargetBaseline, "createBuildTargetBaseline");
|
|
@@ -10122,8 +10293,8 @@ function resolveBuildTargets(config, options, baseline) {
|
|
|
10122
10293
|
const distDir = config.distDir || ".farm";
|
|
10123
10294
|
const outputWasReplaced = config.deploy.outputDir !== baseline.outputDir;
|
|
10124
10295
|
const shouldRefreshDerivedOutput = baseline.outputWasDerived && !outputWasReplaced && (preset !== baseline.preset || distDir !== baseline.distDir);
|
|
10125
|
-
const deployTarget = preset === config.deploy.preset ? config.deploy.target :
|
|
10126
|
-
const outputDir = shouldRefreshDerivedOutput ?
|
|
10296
|
+
const deployTarget = preset === config.deploy.preset ? config.deploy.target : _chunkPQDFUSXDcjs.getDeployTargetForPreset.call(void 0, preset);
|
|
10297
|
+
const outputDir = shouldRefreshDerivedOutput ? _chunkPQDFUSXDcjs.getDefaultDeployOutputDir.call(void 0, deployTarget, preset, distDir) : config.deploy.outputDir;
|
|
10127
10298
|
return {
|
|
10128
10299
|
root,
|
|
10129
10300
|
preset,
|
|
@@ -10131,7 +10302,7 @@ function resolveBuildTargets(config, options, baseline) {
|
|
|
10131
10302
|
distDir,
|
|
10132
10303
|
deployTarget,
|
|
10133
10304
|
outputDir,
|
|
10134
|
-
deployOutputDir:
|
|
10305
|
+
deployOutputDir: _chunkPQDFUSXDcjs.resolveDeployOutputPath.call(void 0, root, outputDir)
|
|
10135
10306
|
};
|
|
10136
10307
|
}
|
|
10137
10308
|
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveBuildTargets, "resolveBuildTargets");
|
|
@@ -10140,7 +10311,7 @@ async function buildWithProductionNodeEnv(inputConfig, options) {
|
|
|
10140
10311
|
const targetBaseline = createBuildTargetBaseline(config);
|
|
10141
10312
|
let targets;
|
|
10142
10313
|
const productionViteResultPromise = options.universal === false ? void 0 : Promise.allSettled([Promise.resolve(_nullishCoalesce(options.productionVite, () => ( _chunkA6WIQH5Zcjs.loadFarmProductionVite.call(void 0, ))))]);
|
|
10143
|
-
const pluginManager = new (0,
|
|
10314
|
+
const pluginManager = new (0, _chunkSJVKK4JEcjs.PluginManager)({
|
|
10144
10315
|
config,
|
|
10145
10316
|
isDev: false,
|
|
10146
10317
|
isProd: true
|
|
@@ -10169,12 +10340,12 @@ async function buildWithProductionNodeEnv(inputConfig, options) {
|
|
|
10169
10340
|
};
|
|
10170
10341
|
config = {
|
|
10171
10342
|
...config,
|
|
10172
|
-
images:
|
|
10343
|
+
images: _chunkSJVKK4JEcjs.resolveFarmImageProviderForRuntime.call(void 0, config.images, {
|
|
10173
10344
|
root: targets.root,
|
|
10174
10345
|
preset: targets.preset
|
|
10175
10346
|
})
|
|
10176
10347
|
};
|
|
10177
|
-
if (_optionalChain([config, 'access',
|
|
10348
|
+
if (_optionalChain([config, 'access', _189 => _189.docs, 'optionalAccess', _190 => _190.enabled])) await _chunkIK6LVLKCcjs.loadFarmDocsEngine.call(void 0, );
|
|
10178
10349
|
pluginManager.updateContext({ config });
|
|
10179
10350
|
const { root, preset, srcDir, distDir, deployOutputDir } = targets;
|
|
10180
10351
|
_chunk5QIKR7RRcjs.logger.info(`\u{1F69C} Building Farm.js application with preset: ${preset}...`);
|
|
@@ -10188,8 +10359,8 @@ async function buildWithProductionNodeEnv(inputConfig, options) {
|
|
|
10188
10359
|
});
|
|
10189
10360
|
_chunk5QIKR7RRcjs.logger.info("\u{1F50D} Discovering routes and API endpoints...");
|
|
10190
10361
|
const productionViteResult = productionViteResultPromise ? (await productionViteResultPromise)[0] : void 0;
|
|
10191
|
-
if (_optionalChain([productionViteResult, 'optionalAccess',
|
|
10192
|
-
const productionVite = _optionalChain([productionViteResult, 'optionalAccess',
|
|
10362
|
+
if (_optionalChain([productionViteResult, 'optionalAccess', _191 => _191.status]) === "rejected") throw productionViteResult.reason;
|
|
10363
|
+
const productionVite = _optionalChain([productionViteResult, 'optionalAccess', _192 => _192.value]);
|
|
10193
10364
|
const createViteServer = productionVite ? productionVite.createServer : (await import("vite")).createServer;
|
|
10194
10365
|
projectModuleServer = await createProjectModuleServer(
|
|
10195
10366
|
createViteServer,
|
|
@@ -10197,18 +10368,18 @@ async function buildWithProductionNodeEnv(inputConfig, options) {
|
|
|
10197
10368
|
root,
|
|
10198
10369
|
rendererBuild.signal
|
|
10199
10370
|
);
|
|
10200
|
-
const farmApp =
|
|
10371
|
+
const farmApp = _chunkSJVKK4JEcjs.createFarmApp.call(void 0, config, projectModuleServer);
|
|
10201
10372
|
await farmApp.initialize();
|
|
10202
10373
|
const routeManager = farmApp.getRouteManager();
|
|
10203
10374
|
const serverRenderer = farmApp.getServerRenderer();
|
|
10204
|
-
const typeArtifacts =
|
|
10375
|
+
const typeArtifacts = _chunkQJ3J6MZTcjs.generateFarmTypeArtifacts.call(void 0, {
|
|
10205
10376
|
root,
|
|
10206
10377
|
srcDir,
|
|
10207
10378
|
layers: config.layers,
|
|
10208
10379
|
plugins: config.plugins,
|
|
10209
10380
|
extraRoutes: [
|
|
10210
|
-
..._optionalChain([config, 'access',
|
|
10211
|
-
...
|
|
10381
|
+
..._optionalChain([config, 'access', _193 => _193.openapi, 'optionalAccess', _194 => _194.enabled]) && config.openapi.route ? [config.openapi.route] : [],
|
|
10382
|
+
..._chunkZ2YLTERKcjs.getFarmDocsRouteTypeEntries.call(void 0, config.docs)
|
|
10212
10383
|
],
|
|
10213
10384
|
suppressLintOnLink: config.suppressLintOnLink,
|
|
10214
10385
|
componentExtensions: config.renderer.componentExtensions,
|
|
@@ -10217,7 +10388,7 @@ async function buildWithProductionNodeEnv(inputConfig, options) {
|
|
|
10217
10388
|
const message = error instanceof Error ? error.message : String(error);
|
|
10218
10389
|
_chunk5QIKR7RRcjs.logger.warn(`Route type generation failed (farm.d.ts may be stale): ${message}`);
|
|
10219
10390
|
});
|
|
10220
|
-
const apiRouteManager = new (0,
|
|
10391
|
+
const apiRouteManager = new (0, _chunkMIDIZJZCcjs.APIRouteManager)(
|
|
10221
10392
|
_chunkVPTDD5XFcjs.getFarmAppDirectories.call(void 0, config),
|
|
10222
10393
|
projectModuleServer,
|
|
10223
10394
|
{
|
|
@@ -10225,7 +10396,7 @@ async function buildWithProductionNodeEnv(inputConfig, options) {
|
|
|
10225
10396
|
plugins: config.plugins,
|
|
10226
10397
|
i18n: farmApp.getI18nRuntime(),
|
|
10227
10398
|
bodySizeLimit: config.server.bodySizeLimit,
|
|
10228
|
-
basePath:
|
|
10399
|
+
basePath: _chunkKNBBQHO2cjs.resolveFarmAPIServerBasePath.call(void 0, config.api)
|
|
10229
10400
|
}
|
|
10230
10401
|
);
|
|
10231
10402
|
const [, apiDiscovery] = await Promise.allSettled([
|
|
@@ -10292,7 +10463,7 @@ async function buildWithProductionNodeEnv(inputConfig, options) {
|
|
|
10292
10463
|
throw error;
|
|
10293
10464
|
} finally {
|
|
10294
10465
|
try {
|
|
10295
|
-
await _optionalChain([projectModuleServer, 'optionalAccess',
|
|
10466
|
+
await _optionalChain([projectModuleServer, 'optionalAccess', _195 => _195.close, 'call', _196 => _196()]);
|
|
10296
10467
|
} finally {
|
|
10297
10468
|
rendererBuild.abort();
|
|
10298
10469
|
}
|
|
@@ -10304,7 +10475,7 @@ async function createProjectModuleServer(createViteServer, config, root, buildLi
|
|
|
10304
10475
|
ssr: true,
|
|
10305
10476
|
buildLifetime
|
|
10306
10477
|
});
|
|
10307
|
-
const viteConfig =
|
|
10478
|
+
const viteConfig = _chunkSJVKK4JEcjs.mergeFarmViteConfig.call(void 0,
|
|
10308
10479
|
{
|
|
10309
10480
|
root,
|
|
10310
10481
|
appType: "custom",
|
|
@@ -10316,19 +10487,19 @@ async function createProjectModuleServer(createViteServer, config, root, buildLi
|
|
|
10316
10487
|
},
|
|
10317
10488
|
plugins: [
|
|
10318
10489
|
...rendererVitePlugins,
|
|
10319
|
-
|
|
10490
|
+
_chunkSJVKK4JEcjs.farmFontImportsPlugin.call(void 0, {
|
|
10320
10491
|
root,
|
|
10321
10492
|
basePath: config.basePath,
|
|
10322
10493
|
publicDir: config.publicDir
|
|
10323
10494
|
}),
|
|
10324
|
-
|
|
10495
|
+
_chunk3SDFA7UFcjs.farmEnvironmentFunctionsPlugin.call(void 0, )
|
|
10325
10496
|
],
|
|
10326
10497
|
server: {
|
|
10327
10498
|
middlewareMode: true,
|
|
10328
10499
|
hmr: false
|
|
10329
10500
|
},
|
|
10330
10501
|
resolve: {
|
|
10331
|
-
alias:
|
|
10502
|
+
alias: _chunkSJVKK4JEcjs.createFarmSourceAlias.call(void 0, root, config.srcDir),
|
|
10332
10503
|
dedupe: [...config.renderer.dedupe || []]
|
|
10333
10504
|
},
|
|
10334
10505
|
optimizeDeps: {
|
|
@@ -10385,7 +10556,7 @@ async function buildClient2(viteBuild, config, root, srcDir, outputDir) {
|
|
|
10385
10556
|
farmI18nClientBridgePlugin(),
|
|
10386
10557
|
farmServerOnlyEntriesPlugin(),
|
|
10387
10558
|
farmPlugin(config, pluginManager),
|
|
10388
|
-
|
|
10559
|
+
_chunk3SDFA7UFcjs.farmEnvironmentFunctionsPlugin.call(void 0, )
|
|
10389
10560
|
],
|
|
10390
10561
|
mode: "production"
|
|
10391
10562
|
});
|
|
@@ -10414,12 +10585,12 @@ async function buildSSR(viteBuild, config, root, srcDir, outputDir) {
|
|
|
10414
10585
|
define: {
|
|
10415
10586
|
__FARM_API_BASE_URL__: JSON.stringify(config.api.baseURL),
|
|
10416
10587
|
__FARM_ENV__: JSON.stringify(_chunkVEKFLAQMcjs.createBundledEnv.call(void 0, config.env)),
|
|
10417
|
-
__FARM_PUBLIC_ENV__: JSON.stringify(_optionalChain([config, 'access',
|
|
10588
|
+
__FARM_PUBLIC_ENV__: JSON.stringify(_optionalChain([config, 'access', _197 => _197.env, 'optionalAccess', _198 => _198.public]) || {})
|
|
10418
10589
|
},
|
|
10419
10590
|
plugins: [
|
|
10420
10591
|
farmI18nClientBridgePlugin(),
|
|
10421
10592
|
farmPlugin(config, pluginManager),
|
|
10422
|
-
|
|
10593
|
+
_chunk3SDFA7UFcjs.farmEnvironmentFunctionsPlugin.call(void 0, )
|
|
10423
10594
|
],
|
|
10424
10595
|
mode: "production"
|
|
10425
10596
|
});
|
|
@@ -10436,7 +10607,7 @@ function resolveLegacyPageEntry(config, root, srcDir) {
|
|
|
10436
10607
|
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveLegacyPageEntry, "resolveLegacyPageEntry");
|
|
10437
10608
|
async function buildNitro(config, routeManager, apiRouteManager, serverRenderer, preset, root, distDir, pluginManager) {
|
|
10438
10609
|
const [{ createNitroConfig }, { createNitro, build: nitroBuild }] = await Promise.all([
|
|
10439
|
-
import("./nitro-
|
|
10610
|
+
import("./nitro-HSAQFXSS.cjs"),
|
|
10440
10611
|
import("nitro/builder")
|
|
10441
10612
|
]);
|
|
10442
10613
|
let nitroConfig = await createNitroConfig(
|
|
@@ -10449,7 +10620,7 @@ async function buildNitro(config, routeManager, apiRouteManager, serverRenderer,
|
|
|
10449
10620
|
if (pluginManager) {
|
|
10450
10621
|
nitroConfig = await pluginManager.runHookSerial("beforeNitroBuild", nitroConfig);
|
|
10451
10622
|
}
|
|
10452
|
-
const outputDir =
|
|
10623
|
+
const outputDir = _chunkPQDFUSXDcjs.resolveDeployOutputPath.call(void 0, root, config.deploy.outputDir);
|
|
10453
10624
|
const serverOutputDir = _path2.default.join(outputDir, "server");
|
|
10454
10625
|
const publicOutputDir = _path2.default.join(outputDir, "public");
|
|
10455
10626
|
const { mkdir, cp } = await import("fs/promises");
|
|
@@ -10520,7 +10691,7 @@ async function buildNitro(config, routeManager, apiRouteManager, serverRenderer,
|
|
|
10520
10691
|
root,
|
|
10521
10692
|
preset,
|
|
10522
10693
|
distDir,
|
|
10523
|
-
outputDir:
|
|
10694
|
+
outputDir: _chunkPQDFUSXDcjs.resolveDeployOutputPath.call(void 0, root, config.deploy.outputDir)
|
|
10524
10695
|
});
|
|
10525
10696
|
}
|
|
10526
10697
|
}
|