@farm.js/core 0.1.0-beta.5 → 0.1.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/dist/after.cjs +0 -227
- package/dist/after.cjs.map +0 -1
- package/dist/after.d.mts +0 -25
- package/dist/after.d.ts +0 -25
- package/dist/after.mjs +0 -14
- package/dist/after.mjs.map +0 -1
- package/dist/agent-runtime.cjs +0 -2379
- package/dist/agent-runtime.cjs.map +0 -1
- package/dist/agent-runtime.d.mts +0 -94
- package/dist/agent-runtime.d.ts +0 -94
- package/dist/agent-runtime.mjs +0 -479
- package/dist/agent-runtime.mjs.map +0 -1
- package/dist/api/route-manager.d.mts +0 -66
- package/dist/api/route-manager.d.ts +0 -66
- package/dist/api/runtime.d.mts +0 -3
- package/dist/api/runtime.d.ts +0 -3
- package/dist/api.cjs +0 -4100
- package/dist/api.cjs.map +0 -1
- package/dist/api.d.mts +0 -48
- package/dist/api.d.ts +0 -48
- package/dist/api.mjs +0 -93
- package/dist/api.mjs.map +0 -1
- package/dist/app-BjN-da13.d.ts +0 -300
- package/dist/app-CakAr8Be.d.mts +0 -300
- package/dist/app-markdown.cjs +0 -220
- package/dist/app-markdown.cjs.map +0 -1
- package/dist/app-markdown.d.mts +0 -22
- package/dist/app-markdown.d.ts +0 -22
- package/dist/app-markdown.mjs +0 -26
- package/dist/app-markdown.mjs.map +0 -1
- package/dist/cache.cjs +0 -945
- package/dist/cache.cjs.map +0 -1
- package/dist/cache.d.mts +0 -192
- package/dist/cache.d.ts +0 -192
- package/dist/cache.mjs +0 -46
- package/dist/cache.mjs.map +0 -1
- package/dist/chunk-2CUKEMVR.mjs +0 -872
- package/dist/chunk-2CUKEMVR.mjs.map +0 -1
- package/dist/chunk-2ED5Q2GH.mjs +0 -422
- package/dist/chunk-2ED5Q2GH.mjs.map +0 -1
- package/dist/chunk-2NHCNRF6.mjs +0 -6241
- package/dist/chunk-2NHCNRF6.mjs.map +0 -1
- package/dist/chunk-32W4QEJP.mjs +0 -158
- package/dist/chunk-32W4QEJP.mjs.map +0 -1
- package/dist/chunk-3XNTL3FQ.mjs +0 -452
- package/dist/chunk-3XNTL3FQ.mjs.map +0 -1
- package/dist/chunk-44ZCFSKE.mjs +0 -84
- package/dist/chunk-44ZCFSKE.mjs.map +0 -1
- package/dist/chunk-4S3ORGFA.mjs +0 -44
- package/dist/chunk-4S3ORGFA.mjs.map +0 -1
- package/dist/chunk-5BY76U2M.mjs +0 -1
- package/dist/chunk-5BY76U2M.mjs.map +0 -1
- package/dist/chunk-5ZGPRGWV.mjs +0 -136
- package/dist/chunk-5ZGPRGWV.mjs.map +0 -1
- package/dist/chunk-65A7QIKI.mjs +0 -142
- package/dist/chunk-65A7QIKI.mjs.map +0 -1
- package/dist/chunk-74YTBPTY.mjs +0 -450
- package/dist/chunk-74YTBPTY.mjs.map +0 -1
- package/dist/chunk-7HO6AEOP.mjs +0 -74
- package/dist/chunk-7HO6AEOP.mjs.map +0 -1
- package/dist/chunk-7MABZJIM.mjs +0 -29
- package/dist/chunk-7MABZJIM.mjs.map +0 -1
- package/dist/chunk-7N62DNSO.mjs +0 -41
- package/dist/chunk-7N62DNSO.mjs.map +0 -1
- package/dist/chunk-7ZY5AIJO.mjs +0 -161
- package/dist/chunk-7ZY5AIJO.mjs.map +0 -1
- package/dist/chunk-A2LUXHD2.mjs +0 -7631
- package/dist/chunk-A2LUXHD2.mjs.map +0 -1
- package/dist/chunk-ALCLXXTY.mjs +0 -187
- package/dist/chunk-ALCLXXTY.mjs.map +0 -1
- package/dist/chunk-AZ7YUVNR.mjs +0 -65
- package/dist/chunk-AZ7YUVNR.mjs.map +0 -1
- package/dist/chunk-B232I2GP.mjs +0 -163
- package/dist/chunk-B232I2GP.mjs.map +0 -1
- package/dist/chunk-BHG3LVHH.mjs +0 -176
- package/dist/chunk-BHG3LVHH.mjs.map +0 -1
- package/dist/chunk-C2ROET2V.mjs +0 -718
- package/dist/chunk-C2ROET2V.mjs.map +0 -1
- package/dist/chunk-C3DLZMBU.mjs +0 -597
- package/dist/chunk-C3DLZMBU.mjs.map +0 -1
- package/dist/chunk-CGILA3WO.mjs +0 -14
- package/dist/chunk-CGILA3WO.mjs.map +0 -1
- package/dist/chunk-E2MPIBRE.mjs +0 -149
- package/dist/chunk-E2MPIBRE.mjs.map +0 -1
- package/dist/chunk-E6EPN5BT.mjs +0 -203
- package/dist/chunk-E6EPN5BT.mjs.map +0 -1
- package/dist/chunk-EEABSBKK.mjs +0 -10
- package/dist/chunk-EEABSBKK.mjs.map +0 -1
- package/dist/chunk-EJ7T4TPB.mjs +0 -622
- package/dist/chunk-EJ7T4TPB.mjs.map +0 -1
- package/dist/chunk-FQYDHKKU.mjs +0 -128
- package/dist/chunk-FQYDHKKU.mjs.map +0 -1
- package/dist/chunk-FRPWCMMG.mjs +0 -299
- package/dist/chunk-FRPWCMMG.mjs.map +0 -1
- package/dist/chunk-GN72QAIH.mjs +0 -146
- package/dist/chunk-GN72QAIH.mjs.map +0 -1
- package/dist/chunk-GQVGIUSN.mjs +0 -149
- package/dist/chunk-GQVGIUSN.mjs.map +0 -1
- package/dist/chunk-GS6K5OCM.mjs +0 -407
- package/dist/chunk-GS6K5OCM.mjs.map +0 -1
- package/dist/chunk-GXASWWJU.mjs +0 -364
- package/dist/chunk-GXASWWJU.mjs.map +0 -1
- package/dist/chunk-GY2STC2S.mjs +0 -180
- package/dist/chunk-GY2STC2S.mjs.map +0 -1
- package/dist/chunk-H2FA2SBS.mjs +0 -51
- package/dist/chunk-H2FA2SBS.mjs.map +0 -1
- package/dist/chunk-HNIQFZKB.mjs +0 -3550
- package/dist/chunk-HNIQFZKB.mjs.map +0 -1
- package/dist/chunk-ITN462YM.mjs +0 -98
- package/dist/chunk-ITN462YM.mjs.map +0 -1
- package/dist/chunk-J23HNLFY.mjs +0 -72
- package/dist/chunk-J23HNLFY.mjs.map +0 -1
- package/dist/chunk-J4FNJ5IU.mjs +0 -179
- package/dist/chunk-J4FNJ5IU.mjs.map +0 -1
- package/dist/chunk-J5YWQVI5.mjs +0 -211
- package/dist/chunk-J5YWQVI5.mjs.map +0 -1
- package/dist/chunk-JDEOUK5V.mjs +0 -427
- package/dist/chunk-JDEOUK5V.mjs.map +0 -1
- package/dist/chunk-JK25YEN6.mjs +0 -219
- package/dist/chunk-JK25YEN6.mjs.map +0 -1
- package/dist/chunk-K4667E2Q.mjs +0 -1916
- package/dist/chunk-K4667E2Q.mjs.map +0 -1
- package/dist/chunk-LGHEOHBU.mjs +0 -218
- package/dist/chunk-LGHEOHBU.mjs.map +0 -1
- package/dist/chunk-LLC7BNXW.mjs +0 -275
- package/dist/chunk-LLC7BNXW.mjs.map +0 -1
- package/dist/chunk-LM2YNO4U.mjs +0 -24
- package/dist/chunk-LM2YNO4U.mjs.map +0 -1
- package/dist/chunk-MIUW47JX.mjs +0 -639
- package/dist/chunk-MIUW47JX.mjs.map +0 -1
- package/dist/chunk-NM3CRAAL.mjs +0 -467
- package/dist/chunk-NM3CRAAL.mjs.map +0 -1
- package/dist/chunk-NNLCAVB6.mjs +0 -391
- package/dist/chunk-NNLCAVB6.mjs.map +0 -1
- package/dist/chunk-P7QDS5AT.mjs +0 -191
- package/dist/chunk-P7QDS5AT.mjs.map +0 -1
- package/dist/chunk-PFE6GMNE.mjs +0 -603
- package/dist/chunk-PFE6GMNE.mjs.map +0 -1
- package/dist/chunk-QGOHVJ6J.mjs +0 -63
- package/dist/chunk-QGOHVJ6J.mjs.map +0 -1
- package/dist/chunk-QGQX7SFC.mjs +0 -180
- package/dist/chunk-QGQX7SFC.mjs.map +0 -1
- package/dist/chunk-QKVUNGAH.mjs +0 -39
- package/dist/chunk-QKVUNGAH.mjs.map +0 -1
- package/dist/chunk-QM746KUO.mjs +0 -56
- package/dist/chunk-QM746KUO.mjs.map +0 -1
- package/dist/chunk-QTZZ2ISQ.mjs +0 -753
- package/dist/chunk-QTZZ2ISQ.mjs.map +0 -1
- package/dist/chunk-RBRLLZL5.mjs +0 -81
- package/dist/chunk-RBRLLZL5.mjs.map +0 -1
- package/dist/chunk-RHIFZZUI.mjs +0 -69
- package/dist/chunk-RHIFZZUI.mjs.map +0 -1
- package/dist/chunk-RSKVYESE.mjs +0 -187
- package/dist/chunk-RSKVYESE.mjs.map +0 -1
- package/dist/chunk-SCFX4UTD.mjs +0 -28
- package/dist/chunk-SCFX4UTD.mjs.map +0 -1
- package/dist/chunk-SL6HTIOK.mjs +0 -66
- package/dist/chunk-SL6HTIOK.mjs.map +0 -1
- package/dist/chunk-SPBBQLXI.mjs +0 -207
- package/dist/chunk-SPBBQLXI.mjs.map +0 -1
- package/dist/chunk-T4QJQK76.mjs +0 -459
- package/dist/chunk-T4QJQK76.mjs.map +0 -1
- package/dist/chunk-TQAEEJB4.mjs +0 -157
- package/dist/chunk-TQAEEJB4.mjs.map +0 -1
- package/dist/chunk-UB5UOSHB.mjs +0 -458
- package/dist/chunk-UB5UOSHB.mjs.map +0 -1
- package/dist/chunk-USWZZUEH.mjs +0 -25
- package/dist/chunk-USWZZUEH.mjs.map +0 -1
- package/dist/chunk-UVCIEUJC.mjs +0 -16
- package/dist/chunk-UVCIEUJC.mjs.map +0 -1
- package/dist/chunk-UXUAWNO5.mjs +0 -396
- package/dist/chunk-UXUAWNO5.mjs.map +0 -1
- package/dist/chunk-V3XURYJO.mjs +0 -756
- package/dist/chunk-V3XURYJO.mjs.map +0 -1
- package/dist/chunk-V6WE6JSZ.mjs +0 -352
- package/dist/chunk-V6WE6JSZ.mjs.map +0 -1
- package/dist/chunk-V7RBCSDJ.mjs +0 -170
- package/dist/chunk-V7RBCSDJ.mjs.map +0 -1
- package/dist/chunk-VCANOYFI.mjs +0 -588
- package/dist/chunk-VCANOYFI.mjs.map +0 -1
- package/dist/chunk-VY2UYN5R.mjs +0 -224
- package/dist/chunk-VY2UYN5R.mjs.map +0 -1
- package/dist/chunk-W2CRQFF6.mjs +0 -1352
- package/dist/chunk-W2CRQFF6.mjs.map +0 -1
- package/dist/chunk-WZ5QFROO.mjs +0 -23
- package/dist/chunk-WZ5QFROO.mjs.map +0 -1
- package/dist/chunk-XIVV5IWN.mjs +0 -541
- package/dist/chunk-XIVV5IWN.mjs.map +0 -1
- package/dist/chunk-YW7OBE6Q.mjs +0 -119
- package/dist/chunk-YW7OBE6Q.mjs.map +0 -1
- package/dist/chunk-Z5CQMP54.mjs +0 -365
- package/dist/chunk-Z5CQMP54.mjs.map +0 -1
- package/dist/chunk-ZBE6MLHL.mjs +0 -230
- package/dist/chunk-ZBE6MLHL.mjs.map +0 -1
- package/dist/chunk-ZZ57EH5Z.mjs +0 -173
- package/dist/chunk-ZZ57EH5Z.mjs.map +0 -1
- package/dist/client-BT1mFQas.d.mts +0 -447
- package/dist/client-Nn0q4eO4.d.ts +0 -447
- package/dist/client-cache-CIlyBlmx.d.ts +0 -6
- package/dist/client-cache-D-EZ7XVW.d.mts +0 -6
- package/dist/client-plugins-Cw4qUGsw.d.ts +0 -1855
- package/dist/client-plugins-DQQ1adXM.d.mts +0 -1855
- package/dist/client-plugins.cjs +0 -415
- package/dist/client-plugins.cjs.map +0 -1
- package/dist/client-plugins.d.mts +0 -22
- package/dist/client-plugins.d.ts +0 -22
- package/dist/client-plugins.mjs +0 -10
- package/dist/client-plugins.mjs.map +0 -1
- package/dist/client.cjs +0 -5402
- package/dist/client.cjs.map +0 -1
- package/dist/client.d.mts +0 -447
- package/dist/client.d.ts +0 -447
- package/dist/client.mjs +0 -110
- package/dist/client.mjs.map +0 -1
- package/dist/config.cjs +0 -38
- package/dist/config.cjs.map +0 -1
- package/dist/config.d.mts +0 -29
- package/dist/config.d.ts +0 -29
- package/dist/config.mjs +0 -10
- package/dist/config.mjs.map +0 -1
- package/dist/cron.cjs +0 -406
- package/dist/cron.cjs.map +0 -1
- package/dist/cron.d.mts +0 -78
- package/dist/cron.d.ts +0 -78
- package/dist/cron.mjs +0 -30
- package/dist/cron.mjs.map +0 -1
- package/dist/deferred.cjs +0 -438
- package/dist/deferred.cjs.map +0 -1
- package/dist/deferred.d.mts +0 -42
- package/dist/deferred.d.ts +0 -42
- package/dist/deferred.mjs +0 -28
- package/dist/deferred.mjs.map +0 -1
- package/dist/deployment.cjs +0 -199
- package/dist/deployment.cjs.map +0 -1
- package/dist/deployment.d.mts +0 -34
- package/dist/deployment.d.ts +0 -34
- package/dist/deployment.mjs +0 -38
- package/dist/deployment.mjs.map +0 -1
- package/dist/devtools-LVC3VB5P.mjs +0 -370
- package/dist/devtools-LVC3VB5P.mjs.map +0 -1
- package/dist/devtools-client-3XRTBND5.mjs +0 -216
- package/dist/devtools-client-3XRTBND5.mjs.map +0 -1
- package/dist/devtools-ui-NJKFORTG.mjs +0 -1349
- package/dist/devtools-ui-NJKFORTG.mjs.map +0 -1
- package/dist/docs.cjs +0 -5553
- package/dist/docs.cjs.map +0 -1
- package/dist/docs.d.mts +0 -69
- package/dist/docs.d.ts +0 -69
- package/dist/docs.mjs +0 -46
- package/dist/docs.mjs.map +0 -1
- package/dist/env-types.cjs +0 -223
- package/dist/env-types.cjs.map +0 -1
- package/dist/env-types.d.mts +0 -11
- package/dist/env-types.d.ts +0 -11
- package/dist/env-types.mjs +0 -9
- package/dist/env-types.mjs.map +0 -1
- package/dist/env.cjs +0 -215
- package/dist/env.cjs.map +0 -1
- package/dist/env.d.mts +0 -45
- package/dist/env.d.ts +0 -45
- package/dist/env.mjs +0 -22
- package/dist/env.mjs.map +0 -1
- package/dist/environment/vite.d.mts +0 -22
- package/dist/environment/vite.d.ts +0 -22
- package/dist/environment.cjs +0 -96
- package/dist/environment.cjs.map +0 -1
- package/dist/environment.d.mts +0 -18
- package/dist/environment.d.ts +0 -18
- package/dist/environment.mjs +0 -14
- package/dist/environment.mjs.map +0 -1
- package/dist/headers.cjs +0 -126
- package/dist/headers.cjs.map +0 -1
- package/dist/headers.d.mts +0 -22
- package/dist/headers.d.ts +0 -22
- package/dist/headers.mjs +0 -12
- package/dist/headers.mjs.map +0 -1
- package/dist/i18n/client.d.mts +0 -32
- package/dist/i18n/client.d.ts +0 -32
- package/dist/i18n/index.d.mts +0 -20
- package/dist/i18n/index.d.ts +0 -20
- package/dist/i18n/server.d.mts +0 -30
- package/dist/i18n/server.d.ts +0 -30
- package/dist/image/server.d.mts +0 -37
- package/dist/image/server.d.ts +0 -37
- package/dist/image/sharp.d.mts +0 -7
- package/dist/image/sharp.d.ts +0 -7
- package/dist/image-config-Duob7wER.d.mts +0 -50
- package/dist/image-config-Duob7wER.d.ts +0 -50
- package/dist/image.cjs +0 -209
- package/dist/image.cjs.map +0 -1
- package/dist/image.d.mts +0 -39
- package/dist/image.d.ts +0 -39
- package/dist/image.mjs +0 -165
- package/dist/image.mjs.map +0 -1
- package/dist/index.cjs +0 -41822
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.mts +0 -451
- package/dist/index.d.ts +0 -451
- package/dist/index.mjs +0 -973
- package/dist/index.mjs.map +0 -1
- package/dist/integration-api-CHT2OKAf.d.mts +0 -93
- package/dist/integration-api-CHT2OKAf.d.ts +0 -93
- package/dist/integration-orm-GQLGU66X.mjs +0 -13
- package/dist/integration-orm-GQLGU66X.mjs.map +0 -1
- package/dist/integrations.cjs +0 -2820
- package/dist/integrations.cjs.map +0 -1
- package/dist/integrations.d.mts +0 -22
- package/dist/integrations.d.ts +0 -22
- package/dist/integrations.mjs +0 -51
- package/dist/integrations.mjs.map +0 -1
- package/dist/internal/build-runtime.d.mts +0 -39
- package/dist/internal/build-runtime.d.ts +0 -39
- package/dist/internal/client-runtime.d.mts +0 -2
- package/dist/internal/client-runtime.d.ts +0 -2
- package/dist/internal/config-runtime.d.mts +0 -39
- package/dist/internal/config-runtime.d.ts +0 -39
- package/dist/internal/production-node-env.d.mts +0 -12
- package/dist/internal/production-node-env.d.ts +0 -12
- package/dist/internal/production-runtime.d.mts +0 -39
- package/dist/internal/production-runtime.d.ts +0 -39
- package/dist/layers-VWVDTPUZ.mjs +0 -16
- package/dist/layers-VWVDTPUZ.mjs.map +0 -1
- package/dist/manager-THKFTOFE.mjs +0 -10
- package/dist/manager-THKFTOFE.mjs.map +0 -1
- package/dist/markdown.cjs +0 -299
- package/dist/markdown.cjs.map +0 -1
- package/dist/markdown.d.mts +0 -43
- package/dist/markdown.d.ts +0 -43
- package/dist/markdown.mjs +0 -14
- package/dist/markdown.mjs.map +0 -1
- package/dist/metadata-BAPg_Nmo.d.ts +0 -22
- package/dist/metadata-_6i9oFG3.d.mts +0 -22
- package/dist/middleware.cjs +0 -2148
- package/dist/middleware.cjs.map +0 -1
- package/dist/middleware.d.mts +0 -164
- package/dist/middleware.d.ts +0 -164
- package/dist/middleware.mjs +0 -49
- package/dist/middleware.mjs.map +0 -1
- package/dist/navigation-errors-Dvwpzaer.d.mts +0 -13
- package/dist/navigation-errors-Dvwpzaer.d.ts +0 -13
- package/dist/navigation.cjs +0 -1329
- package/dist/navigation.cjs.map +0 -1
- package/dist/navigation.d.mts +0 -14
- package/dist/navigation.d.ts +0 -14
- package/dist/navigation.mjs +0 -33
- package/dist/navigation.mjs.map +0 -1
- package/dist/nitro-QO5LV6QK.mjs +0 -689
- package/dist/nitro-QO5LV6QK.mjs.map +0 -1
- package/dist/observability.cjs +0 -186
- package/dist/observability.cjs.map +0 -1
- package/dist/observability.d.mts +0 -335
- package/dist/observability.d.ts +0 -335
- package/dist/observability.mjs +0 -16
- package/dist/observability.mjs.map +0 -1
- package/dist/params-BALtrRim.d.ts +0 -15
- package/dist/params-ry-lxqmy.d.mts +0 -15
- package/dist/plugin-BJDf43dc.d.mts +0 -165
- package/dist/plugin-BJDf43dc.d.ts +0 -165
- package/dist/plugin.cjs +0 -23225
- package/dist/plugin.d.mts +0 -22
- package/dist/plugin.d.ts +0 -22
- package/dist/production-runtime-BoJDc5mc.d.ts +0 -79
- package/dist/production-runtime-C_B79w2P.d.mts +0 -28
- package/dist/production-runtime-DDEM1D2q.d.ts +0 -28
- package/dist/production-runtime-DPfgMV9Y.d.mts +0 -79
- package/dist/query/client.d.mts +0 -61
- package/dist/query/client.d.ts +0 -61
- package/dist/query/index.d.mts +0 -90
- package/dist/query/index.d.ts +0 -90
- package/dist/query/parsers.d.mts +0 -25
- package/dist/query/parsers.d.ts +0 -25
- package/dist/query/server.d.mts +0 -55
- package/dist/query/server.d.ts +0 -55
- package/dist/request-BrFBuc8G.d.mts +0 -6
- package/dist/request-BslSZIRz.d.ts +0 -6
- package/dist/request.d.mts +0 -2
- package/dist/request.d.ts +0 -2
- package/dist/resolver-C6iecsDV.d.ts +0 -14
- package/dist/resolver-DlOPpjkB.d.mts +0 -14
- package/dist/route-runtime-DoOHzCAD.d.mts +0 -38
- package/dist/route-runtime-DoOHzCAD.d.ts +0 -38
- package/dist/router.d.mts +0 -36
- package/dist/router.d.ts +0 -36
- package/dist/routes.d.mts +0 -224
- package/dist/routes.d.ts +0 -224
- package/dist/runtime-9nQjVM7X.d.mts +0 -206
- package/dist/runtime-B6GvwDS1.d.ts +0 -27
- package/dist/runtime-DeAAZ6gO.d.mts +0 -27
- package/dist/runtime-DgeS2skB.d.ts +0 -206
- package/dist/server-action-security.d.mts +0 -43
- package/dist/server-action-security.d.ts +0 -43
- package/dist/server-fn-client.d.mts +0 -32
- package/dist/server-fn-client.d.ts +0 -32
- package/dist/server-fn.d.mts +0 -93
- package/dist/server-fn.d.ts +0 -93
- package/dist/server-plugins.d.mts +0 -55
- package/dist/server-plugins.d.ts +0 -55
- package/dist/server-query-client.d.mts +0 -50
- package/dist/server-query-client.d.ts +0 -50
- package/dist/server-query.d.mts +0 -36
- package/dist/server-query.d.ts +0 -36
- package/dist/server.d.mts +0 -48
- package/dist/server.d.ts +0 -48
- package/dist/storage.d.mts +0 -52
- package/dist/storage.d.ts +0 -52
- package/dist/testing.d.mts +0 -101
- package/dist/testing.d.ts +0 -101
- package/dist/transport-BmbGTXA5.d.mts +0 -49
- package/dist/transport-BmbGTXA5.d.ts +0 -49
- package/dist/types-BH1lhg5G.d.mts +0 -81
- package/dist/types-BH1lhg5G.d.ts +0 -81
- package/dist/types-C9N-nk5R.d.mts +0 -53
- package/dist/types-C9N-nk5R.d.ts +0 -53
- package/dist/types-D1A6-XvH.d.mts +0 -73
- package/dist/types-D1A6-XvH.d.ts +0 -73
- package/dist/utils-CHXlMDkg.d.mts +0 -23
- package/dist/utils-Drsyz1Vj.d.ts +0 -23
- package/dist/version.d.mts +0 -3
- package/dist/version.d.ts +0 -3
- package/dist/vite.d.mts +0 -22
- package/dist/vite.d.ts +0 -22
- package/dist/workflows.d.mts +0 -110
- package/dist/workflows.d.ts +0 -110
package/dist/chunk-74YTBPTY.mjs
DELETED
|
@@ -1,450 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__name
|
|
3
|
-
} from "./chunk-CGILA3WO.mjs";
|
|
4
|
-
|
|
5
|
-
// src/layers.ts
|
|
6
|
-
import { existsSync, readFileSync, realpathSync, statSync } from "fs";
|
|
7
|
-
import { mkdir, unlink } from "fs/promises";
|
|
8
|
-
import { createRequire } from "module";
|
|
9
|
-
import path from "path";
|
|
10
|
-
import { pathToFileURL } from "url";
|
|
11
|
-
var FARM_CORE_PACKAGE = "@farm.js/core";
|
|
12
|
-
var FARM_CONFIG_ENTRY = "@farm.js/core/config";
|
|
13
|
-
var FARM_CORE_REFERENCE_RE = /(["'])@farm.js\/core\1/g;
|
|
14
|
-
var FARM_CONFIG_HELPER_IMPORT_RE = /(?:^|\n)[\t ]*import[\t ]*\{([^{}]*)\}[\t ]*from[\t ]*(["'])@farm.js\/core\2[\t ]*;?[\t ]*(?:\n|$)/g;
|
|
15
|
-
var FARM_CONFIG_HELPER_SPECIFIER_RE = /^(?:defineConfig|defineFarmConfig)(?:\s+as\s+[$A-Z_a-z][$\w]*)?$/;
|
|
16
|
-
var CONFIG_FILENAMES = [
|
|
17
|
-
"farm.config.ts",
|
|
18
|
-
"farm.config.tsx",
|
|
19
|
-
"farm.config.mts",
|
|
20
|
-
"farm.config.cts",
|
|
21
|
-
"farm.config.js",
|
|
22
|
-
"farm.config.jsx",
|
|
23
|
-
"farm.config.mjs",
|
|
24
|
-
"farm.config.cjs",
|
|
25
|
-
"config.ts",
|
|
26
|
-
"config.tsx",
|
|
27
|
-
"config.mts",
|
|
28
|
-
"config.cts",
|
|
29
|
-
"config.js",
|
|
30
|
-
"config.jsx",
|
|
31
|
-
"config.mjs",
|
|
32
|
-
"config.cjs"
|
|
33
|
-
];
|
|
34
|
-
var LAYER_LOCAL_CONFIG_KEYS = /* @__PURE__ */ new Set([
|
|
35
|
-
"root",
|
|
36
|
-
"srcDir",
|
|
37
|
-
"outDir",
|
|
38
|
-
"distDir",
|
|
39
|
-
"deploy",
|
|
40
|
-
"output",
|
|
41
|
-
"preset",
|
|
42
|
-
"publicDir",
|
|
43
|
-
"generateBuildId"
|
|
44
|
-
]);
|
|
45
|
-
async function resolveFarmLayers(projectConfig, options) {
|
|
46
|
-
const projectRoot = path.resolve(options.root);
|
|
47
|
-
const entries = normalizeLayerEntries(projectConfig.extends, "project config");
|
|
48
|
-
if (entries.length === 0) {
|
|
49
|
-
return {
|
|
50
|
-
config: {
|
|
51
|
-
...projectConfig,
|
|
52
|
-
layers: []
|
|
53
|
-
},
|
|
54
|
-
layers: []
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
const loadedLayers = [];
|
|
58
|
-
const visited = /* @__PURE__ */ new Set();
|
|
59
|
-
const aliases = /* @__PURE__ */ new Map();
|
|
60
|
-
const visit = /* @__PURE__ */ __name(async (source, ownerRoot, stack) => {
|
|
61
|
-
const resolvedSource = resolveLayerSource(source, ownerRoot);
|
|
62
|
-
const cycleIndex = stack.findIndex((entry) => entry.root === resolvedSource.root);
|
|
63
|
-
if (cycleIndex !== -1) {
|
|
64
|
-
const cycle = [...stack.slice(cycleIndex).map((entry) => entry.source), source];
|
|
65
|
-
throw new Error(`Farm layer cycle detected: ${cycle.join(" -> ")}`);
|
|
66
|
-
}
|
|
67
|
-
if (visited.has(resolvedSource.root)) return;
|
|
68
|
-
const configFile = findFarmConfigFile(resolvedSource.root, resolvedSource.configFile);
|
|
69
|
-
const config = configFile ? await loadFarmConfigFile(configFile, {
|
|
70
|
-
cacheRoot: projectRoot,
|
|
71
|
-
root: resolvedSource.root
|
|
72
|
-
}) : {};
|
|
73
|
-
const nestedEntries = normalizeLayerEntries(config.extends, `layer ${JSON.stringify(source)}`);
|
|
74
|
-
const nextStack = [...stack, { root: resolvedSource.root, source }];
|
|
75
|
-
for (const nestedSource of nestedEntries) {
|
|
76
|
-
await visit(nestedSource, resolvedSource.root, nextStack);
|
|
77
|
-
}
|
|
78
|
-
if (visited.has(resolvedSource.root)) return;
|
|
79
|
-
const name = getLayerName(source, resolvedSource.root);
|
|
80
|
-
const conflictingRoot = aliases.get(name);
|
|
81
|
-
if (conflictingRoot && conflictingRoot !== resolvedSource.root) {
|
|
82
|
-
throw new Error(
|
|
83
|
-
`Farm layer alias "#layers/${name}" is ambiguous between ${conflictingRoot} and ${resolvedSource.root}`
|
|
84
|
-
);
|
|
85
|
-
}
|
|
86
|
-
aliases.set(name, resolvedSource.root);
|
|
87
|
-
visited.add(resolvedSource.root);
|
|
88
|
-
loadedLayers.push({
|
|
89
|
-
source,
|
|
90
|
-
name,
|
|
91
|
-
root: resolvedSource.root,
|
|
92
|
-
srcDir: normalizeLayerSrcDir(config.srcDir),
|
|
93
|
-
configFile,
|
|
94
|
-
config
|
|
95
|
-
});
|
|
96
|
-
}, "visit");
|
|
97
|
-
for (const source of entries) {
|
|
98
|
-
await visit(source, projectRoot, []);
|
|
99
|
-
}
|
|
100
|
-
let mergedConfig = {};
|
|
101
|
-
for (const layer of loadedLayers) {
|
|
102
|
-
mergedConfig = mergeFarmLayerConfig(mergedConfig, getLayerDefaults(layer.config));
|
|
103
|
-
}
|
|
104
|
-
mergedConfig = mergeFarmLayerConfig(mergedConfig, projectConfig);
|
|
105
|
-
const layers = loadedLayers.map(({ config: _config, ...layer }) => layer);
|
|
106
|
-
return {
|
|
107
|
-
config: {
|
|
108
|
-
...mergedConfig,
|
|
109
|
-
root: projectConfig.root,
|
|
110
|
-
srcDir: projectConfig.srcDir,
|
|
111
|
-
extends: projectConfig.extends,
|
|
112
|
-
layers
|
|
113
|
-
},
|
|
114
|
-
layers
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
__name(resolveFarmLayers, "resolveFarmLayers");
|
|
118
|
-
function getFarmSourceRoots(config) {
|
|
119
|
-
const roots = (config.layers ?? []).map((layer) => ({
|
|
120
|
-
name: layer.name,
|
|
121
|
-
root: layer.root,
|
|
122
|
-
srcDir: layer.srcDir,
|
|
123
|
-
layer: true
|
|
124
|
-
}));
|
|
125
|
-
roots.push({
|
|
126
|
-
name: "project",
|
|
127
|
-
root: path.resolve(config.root || process.cwd()),
|
|
128
|
-
srcDir: config.srcDir || "src",
|
|
129
|
-
layer: false
|
|
130
|
-
});
|
|
131
|
-
return roots;
|
|
132
|
-
}
|
|
133
|
-
__name(getFarmSourceRoots, "getFarmSourceRoots");
|
|
134
|
-
function getFarmAppDirectories(config) {
|
|
135
|
-
return getFarmSourceRoots(config).map((source) => path.join(source.root, source.srcDir, "app"));
|
|
136
|
-
}
|
|
137
|
-
__name(getFarmAppDirectories, "getFarmAppDirectories");
|
|
138
|
-
function getFarmLayerAliases(layers) {
|
|
139
|
-
return Object.fromEntries(
|
|
140
|
-
(layers ?? []).map((layer) => [`#layers/${layer.name}`, path.join(layer.root, layer.srcDir)])
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
__name(getFarmLayerAliases, "getFarmLayerAliases");
|
|
144
|
-
async function loadFarmConfigFile(configPath, options) {
|
|
145
|
-
const { build, transform } = await import("esbuild");
|
|
146
|
-
const cacheRoot = path.resolve(options.cacheRoot || options.root);
|
|
147
|
-
const configCacheDir = path.join(cacheRoot, ".farm", ".config-loader");
|
|
148
|
-
const configEntryChecks = /* @__PURE__ */ new Map();
|
|
149
|
-
await mkdir(configCacheDir, { recursive: true });
|
|
150
|
-
const modulePath = path.join(
|
|
151
|
-
configCacheDir,
|
|
152
|
-
`farm-config-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`
|
|
153
|
-
);
|
|
154
|
-
await build({
|
|
155
|
-
absWorkingDir: path.resolve(options.root),
|
|
156
|
-
entryPoints: [path.resolve(configPath)],
|
|
157
|
-
outfile: modulePath,
|
|
158
|
-
bundle: true,
|
|
159
|
-
format: "esm",
|
|
160
|
-
platform: "node",
|
|
161
|
-
target: `node${process.versions.node.split(".")[0]}`,
|
|
162
|
-
plugins: [
|
|
163
|
-
{
|
|
164
|
-
name: "farm-config-package-resolution",
|
|
165
|
-
setup(pluginBuild) {
|
|
166
|
-
pluginBuild.onResolve({ filter: /^@farm.js\/core$/ }, async (args) => {
|
|
167
|
-
if (args.pluginData?.farmConfigExternal || args.kind !== "import-statement" || !args.importer) {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
let configEntryCheck = configEntryChecks.get(args.importer);
|
|
171
|
-
if (!configEntryCheck) {
|
|
172
|
-
configEntryCheck = onlyImportsFarmConfigHelpers(args.importer, transform);
|
|
173
|
-
configEntryChecks.set(args.importer, configEntryCheck);
|
|
174
|
-
}
|
|
175
|
-
if (!await configEntryCheck) return;
|
|
176
|
-
const resolved = await pluginBuild.resolve(FARM_CONFIG_ENTRY, {
|
|
177
|
-
importer: args.importer,
|
|
178
|
-
kind: args.kind,
|
|
179
|
-
namespace: args.namespace,
|
|
180
|
-
resolveDir: args.resolveDir,
|
|
181
|
-
pluginData: { farmConfigExternal: true }
|
|
182
|
-
});
|
|
183
|
-
if (resolved.errors.length > 0 || !resolved.path) return;
|
|
184
|
-
return {
|
|
185
|
-
path: resolved.path,
|
|
186
|
-
external: true,
|
|
187
|
-
warnings: resolved.warnings
|
|
188
|
-
};
|
|
189
|
-
});
|
|
190
|
-
pluginBuild.onResolve({ filter: /^[^./]/ }, async (args) => {
|
|
191
|
-
if (args.pluginData?.farmConfigExternal) return;
|
|
192
|
-
const resolved = await pluginBuild.resolve(args.path, {
|
|
193
|
-
importer: args.importer,
|
|
194
|
-
kind: args.kind,
|
|
195
|
-
namespace: args.namespace,
|
|
196
|
-
resolveDir: args.resolveDir,
|
|
197
|
-
pluginData: { farmConfigExternal: true }
|
|
198
|
-
});
|
|
199
|
-
if (resolved.errors.length > 0 || !resolved.path) {
|
|
200
|
-
return { path: args.path, external: true };
|
|
201
|
-
}
|
|
202
|
-
return {
|
|
203
|
-
path: resolved.path,
|
|
204
|
-
external: true,
|
|
205
|
-
warnings: resolved.warnings
|
|
206
|
-
};
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
],
|
|
211
|
-
jsx: "automatic",
|
|
212
|
-
logLevel: "silent",
|
|
213
|
-
sourcemap: "inline"
|
|
214
|
-
});
|
|
215
|
-
const moduleUrl = `${pathToFileURL(modulePath).href}?t=${Date.now()}`;
|
|
216
|
-
try {
|
|
217
|
-
const loaded = await import(
|
|
218
|
-
/* @vite-ignore */
|
|
219
|
-
moduleUrl
|
|
220
|
-
);
|
|
221
|
-
const config = loaded.default || loaded;
|
|
222
|
-
if (!config || typeof config !== "object" || Array.isArray(config)) {
|
|
223
|
-
throw new TypeError(`Farm config ${configPath} must export an object`);
|
|
224
|
-
}
|
|
225
|
-
return config;
|
|
226
|
-
} finally {
|
|
227
|
-
await unlink(modulePath).catch(() => void 0);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
__name(loadFarmConfigFile, "loadFarmConfigFile");
|
|
231
|
-
async function onlyImportsFarmConfigHelpers(importer, transform) {
|
|
232
|
-
try {
|
|
233
|
-
const source = readFileSync(importer, "utf8");
|
|
234
|
-
if (!source.includes(FARM_CORE_PACKAGE)) return false;
|
|
235
|
-
const transformed = await transform(source, {
|
|
236
|
-
format: "esm",
|
|
237
|
-
jsx: "automatic",
|
|
238
|
-
loader: getEsbuildLoader(importer),
|
|
239
|
-
sourcefile: importer
|
|
240
|
-
});
|
|
241
|
-
const references = [...transformed.code.matchAll(FARM_CORE_REFERENCE_RE)];
|
|
242
|
-
if (references.length === 0) return false;
|
|
243
|
-
const safeImportRanges = [];
|
|
244
|
-
for (const match of transformed.code.matchAll(FARM_CONFIG_HELPER_IMPORT_RE)) {
|
|
245
|
-
const specifiers = match[1].split(",").map((specifier) => specifier.trim()).filter(Boolean);
|
|
246
|
-
if (specifiers.length === 0 || !specifiers.every((specifier) => FARM_CONFIG_HELPER_SPECIFIER_RE.test(specifier))) {
|
|
247
|
-
continue;
|
|
248
|
-
}
|
|
249
|
-
const start = match.index ?? 0;
|
|
250
|
-
safeImportRanges.push({ start, end: start + match[0].length });
|
|
251
|
-
}
|
|
252
|
-
return references.every((reference) => {
|
|
253
|
-
const index = reference.index ?? -1;
|
|
254
|
-
return safeImportRanges.some((range) => index >= range.start && index < range.end);
|
|
255
|
-
});
|
|
256
|
-
} catch {
|
|
257
|
-
return false;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
__name(onlyImportsFarmConfigHelpers, "onlyImportsFarmConfigHelpers");
|
|
261
|
-
function getEsbuildLoader(file) {
|
|
262
|
-
switch (path.extname(file)) {
|
|
263
|
-
case ".ts":
|
|
264
|
-
case ".mts":
|
|
265
|
-
case ".cts":
|
|
266
|
-
return "ts";
|
|
267
|
-
case ".tsx":
|
|
268
|
-
return "tsx";
|
|
269
|
-
case ".jsx":
|
|
270
|
-
return "jsx";
|
|
271
|
-
default:
|
|
272
|
-
return "js";
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
__name(getEsbuildLoader, "getEsbuildLoader");
|
|
276
|
-
function normalizeLayerEntries(value, owner) {
|
|
277
|
-
if (value === void 0) return [];
|
|
278
|
-
if (!Array.isArray(value)) {
|
|
279
|
-
throw new TypeError(`${owner} "extends" must be an array of layer paths or package names`);
|
|
280
|
-
}
|
|
281
|
-
return value.map((entry, index) => {
|
|
282
|
-
if (typeof entry !== "string" || entry.trim() === "") {
|
|
283
|
-
throw new TypeError(`${owner} "extends" entry ${index} must be a non-empty string`);
|
|
284
|
-
}
|
|
285
|
-
return entry.trim();
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
__name(normalizeLayerEntries, "normalizeLayerEntries");
|
|
289
|
-
function resolveLayerSource(source, ownerRoot) {
|
|
290
|
-
if (isPathLayerSource(source)) {
|
|
291
|
-
const target = source.startsWith("file:") ? path.resolve(ownerRoot, source.slice("file:".length)) : path.resolve(ownerRoot, source);
|
|
292
|
-
if (!existsSync(target)) {
|
|
293
|
-
throw new Error(`Cannot resolve Farm layer ${JSON.stringify(source)} from ${ownerRoot}`);
|
|
294
|
-
}
|
|
295
|
-
const stats = statSync(target);
|
|
296
|
-
const root = stats.isDirectory() ? target : path.dirname(target);
|
|
297
|
-
return {
|
|
298
|
-
root: normalizeRealPath(root),
|
|
299
|
-
configFile: stats.isFile() ? normalizeRealPath(target) : void 0
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
const requireFromOwner = createRequire(path.join(ownerRoot, "package.json"));
|
|
303
|
-
let packageJsonPath;
|
|
304
|
-
try {
|
|
305
|
-
packageJsonPath = requireFromOwner.resolve(`${source}/package.json`);
|
|
306
|
-
} catch {
|
|
307
|
-
}
|
|
308
|
-
if (packageJsonPath) {
|
|
309
|
-
return { root: normalizeRealPath(path.dirname(packageJsonPath)) };
|
|
310
|
-
}
|
|
311
|
-
try {
|
|
312
|
-
const entryPath = requireFromOwner.resolve(source);
|
|
313
|
-
const packageRoot = findNearestPackageRoot(entryPath);
|
|
314
|
-
if (packageRoot) return { root: normalizeRealPath(packageRoot) };
|
|
315
|
-
} catch {
|
|
316
|
-
}
|
|
317
|
-
throw new Error(`Cannot resolve Farm layer package ${JSON.stringify(source)} from ${ownerRoot}`);
|
|
318
|
-
}
|
|
319
|
-
__name(resolveLayerSource, "resolveLayerSource");
|
|
320
|
-
function findNearestPackageRoot(entryPath) {
|
|
321
|
-
let current = statSync(entryPath).isDirectory() ? entryPath : path.dirname(entryPath);
|
|
322
|
-
while (true) {
|
|
323
|
-
if (existsSync(path.join(current, "package.json"))) return current;
|
|
324
|
-
const parent = path.dirname(current);
|
|
325
|
-
if (parent === current) return null;
|
|
326
|
-
current = parent;
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
__name(findNearestPackageRoot, "findNearestPackageRoot");
|
|
330
|
-
function findFarmConfigFile(root, explicitPath) {
|
|
331
|
-
if (explicitPath) return explicitPath;
|
|
332
|
-
for (const fileName of CONFIG_FILENAMES) {
|
|
333
|
-
const candidate = path.join(root, fileName);
|
|
334
|
-
if (existsSync(candidate)) return candidate;
|
|
335
|
-
}
|
|
336
|
-
return void 0;
|
|
337
|
-
}
|
|
338
|
-
__name(findFarmConfigFile, "findFarmConfigFile");
|
|
339
|
-
function getLayerName(source, root) {
|
|
340
|
-
if (!isPathLayerSource(source)) {
|
|
341
|
-
const packageName = source.split("/").filter(Boolean).pop();
|
|
342
|
-
if (packageName) return sanitizeLayerName(packageName);
|
|
343
|
-
}
|
|
344
|
-
try {
|
|
345
|
-
const packageJson = JSON.parse(readFileSync(path.join(root, "package.json"), "utf8"));
|
|
346
|
-
if (typeof packageJson.name === "string") {
|
|
347
|
-
return sanitizeLayerName(packageJson.name.split("/").pop() || packageJson.name);
|
|
348
|
-
}
|
|
349
|
-
} catch {
|
|
350
|
-
}
|
|
351
|
-
return sanitizeLayerName(path.basename(root));
|
|
352
|
-
}
|
|
353
|
-
__name(getLayerName, "getLayerName");
|
|
354
|
-
function sanitizeLayerName(value) {
|
|
355
|
-
const name = value.trim().replace(/[^a-zA-Z0-9_-]+/g, "-").replace(/^-+|-+$/g, "");
|
|
356
|
-
if (!name) throw new Error(`Cannot derive a name for Farm layer ${JSON.stringify(value)}`);
|
|
357
|
-
return name;
|
|
358
|
-
}
|
|
359
|
-
__name(sanitizeLayerName, "sanitizeLayerName");
|
|
360
|
-
function normalizeLayerSrcDir(value) {
|
|
361
|
-
if (value === void 0) return "src";
|
|
362
|
-
if (typeof value !== "string" || value.trim() === "" || path.isAbsolute(value)) {
|
|
363
|
-
throw new TypeError("A Farm layer srcDir must be a non-empty relative path");
|
|
364
|
-
}
|
|
365
|
-
const normalized = path.normalize(value.trim());
|
|
366
|
-
if (normalized === ".." || normalized.startsWith(`..${path.sep}`)) {
|
|
367
|
-
throw new TypeError("A Farm layer srcDir cannot leave the layer root");
|
|
368
|
-
}
|
|
369
|
-
return normalized;
|
|
370
|
-
}
|
|
371
|
-
__name(normalizeLayerSrcDir, "normalizeLayerSrcDir");
|
|
372
|
-
function getLayerDefaults(config) {
|
|
373
|
-
return Object.fromEntries(
|
|
374
|
-
Object.entries(config).filter(
|
|
375
|
-
([key, value]) => key !== "extends" && value !== void 0 && !LAYER_LOCAL_CONFIG_KEYS.has(key)
|
|
376
|
-
)
|
|
377
|
-
);
|
|
378
|
-
}
|
|
379
|
-
__name(getLayerDefaults, "getLayerDefaults");
|
|
380
|
-
function mergeFarmLayerConfig(base, override) {
|
|
381
|
-
const output = { ...base };
|
|
382
|
-
for (const [key, value] of Object.entries(override)) {
|
|
383
|
-
if (value === void 0 || key === "layers") continue;
|
|
384
|
-
if (key === "plugins") {
|
|
385
|
-
output[key] = [...toArray(output[key]), ...toArray(value)];
|
|
386
|
-
continue;
|
|
387
|
-
}
|
|
388
|
-
if (key === "middleware" && output[key] !== void 0) {
|
|
389
|
-
output[key] = [...toArray(output[key]), ...toArray(value)];
|
|
390
|
-
continue;
|
|
391
|
-
}
|
|
392
|
-
if ((key === "redirects" || key === "rewrites" || key === "headers") && output[key]) {
|
|
393
|
-
output[key] = mergeConfigListResolvers(output[key], value);
|
|
394
|
-
continue;
|
|
395
|
-
}
|
|
396
|
-
if (isPlainObject(output[key]) && isPlainObject(value)) {
|
|
397
|
-
output[key] = mergePlainObjects(output[key], value);
|
|
398
|
-
continue;
|
|
399
|
-
}
|
|
400
|
-
output[key] = value;
|
|
401
|
-
}
|
|
402
|
-
return output;
|
|
403
|
-
}
|
|
404
|
-
__name(mergeFarmLayerConfig, "mergeFarmLayerConfig");
|
|
405
|
-
function mergePlainObjects(base, override) {
|
|
406
|
-
const output = { ...base };
|
|
407
|
-
for (const [key, value] of Object.entries(override)) {
|
|
408
|
-
if (value === void 0) continue;
|
|
409
|
-
output[key] = isPlainObject(output[key]) && isPlainObject(value) ? mergePlainObjects(output[key], value) : value;
|
|
410
|
-
}
|
|
411
|
-
return output;
|
|
412
|
-
}
|
|
413
|
-
__name(mergePlainObjects, "mergePlainObjects");
|
|
414
|
-
function mergeConfigListResolvers(base, override) {
|
|
415
|
-
return async () => [...await resolveConfigList(base), ...await resolveConfigList(override)];
|
|
416
|
-
}
|
|
417
|
-
__name(mergeConfigListResolvers, "mergeConfigListResolvers");
|
|
418
|
-
async function resolveConfigList(value) {
|
|
419
|
-
const resolved = typeof value === "function" ? await value() : value;
|
|
420
|
-
return toArray(resolved);
|
|
421
|
-
}
|
|
422
|
-
__name(resolveConfigList, "resolveConfigList");
|
|
423
|
-
function toArray(value) {
|
|
424
|
-
if (value === void 0 || value === null) return [];
|
|
425
|
-
return Array.isArray(value) ? value : [value];
|
|
426
|
-
}
|
|
427
|
-
__name(toArray, "toArray");
|
|
428
|
-
function isPlainObject(value) {
|
|
429
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) return false;
|
|
430
|
-
const prototype = Object.getPrototypeOf(value);
|
|
431
|
-
return prototype === Object.prototype || prototype === null;
|
|
432
|
-
}
|
|
433
|
-
__name(isPlainObject, "isPlainObject");
|
|
434
|
-
function isPathLayerSource(source) {
|
|
435
|
-
return source.startsWith(".") || source.startsWith("/") || source.startsWith("file:") || /^[a-zA-Z]:[\\/]/.test(source);
|
|
436
|
-
}
|
|
437
|
-
__name(isPathLayerSource, "isPathLayerSource");
|
|
438
|
-
function normalizeRealPath(value) {
|
|
439
|
-
return path.resolve(realpathSync(value));
|
|
440
|
-
}
|
|
441
|
-
__name(normalizeRealPath, "normalizeRealPath");
|
|
442
|
-
|
|
443
|
-
export {
|
|
444
|
-
resolveFarmLayers,
|
|
445
|
-
getFarmSourceRoots,
|
|
446
|
-
getFarmAppDirectories,
|
|
447
|
-
getFarmLayerAliases,
|
|
448
|
-
loadFarmConfigFile
|
|
449
|
-
};
|
|
450
|
-
//# sourceMappingURL=chunk-74YTBPTY.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layers.ts"],"sourcesContent":["import { existsSync, readFileSync, realpathSync, statSync } from \"node:fs\";\nimport { mkdir, unlink } from \"node:fs/promises\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\n\ntype EsbuildTransform = (typeof import(\"esbuild\"))[\"transform\"];\n\nexport type FarmLayerEntry = string;\n\nexport interface ResolvedFarmLayer {\n /** The value used in `extends`. */\n source: string;\n /** Stable name used by the `#layers/<name>` alias. */\n name: string;\n /** Absolute layer package or directory root. */\n root: string;\n /** Source directory relative to the layer root. */\n srcDir: string;\n /** Resolved layer config file when one exists. */\n configFile?: string;\n}\n\nexport interface FarmSourceRoot {\n name: string;\n root: string;\n srcDir: string;\n layer: boolean;\n}\n\nexport interface ResolveFarmLayersOptions {\n root: string;\n mode: \"development\" | \"production\";\n}\n\nexport interface FarmLayerResolution<TConfig extends Record<string, any>> {\n config: TConfig & {\n extends?: readonly FarmLayerEntry[];\n layers: ResolvedFarmLayer[];\n };\n layers: ResolvedFarmLayer[];\n}\n\nconst FARM_CORE_PACKAGE = \"@farm.js/core\";\nconst FARM_CONFIG_ENTRY = \"@farm.js/core/config\";\nconst FARM_CORE_REFERENCE_RE = /([\"'])@farm.js\\/core\\1/g;\nconst FARM_CONFIG_HELPER_IMPORT_RE =\n /(?:^|\\n)[\\t ]*import[\\t ]*\\{([^{}]*)\\}[\\t ]*from[\\t ]*([\"'])@farm.js\\/core\\2[\\t ]*;?[\\t ]*(?:\\n|$)/g;\nconst FARM_CONFIG_HELPER_SPECIFIER_RE =\n /^(?:defineConfig|defineFarmConfig)(?:\\s+as\\s+[$A-Z_a-z][$\\w]*)?$/;\n\nconst CONFIG_FILENAMES = [\n \"farm.config.ts\",\n \"farm.config.tsx\",\n \"farm.config.mts\",\n \"farm.config.cts\",\n \"farm.config.js\",\n \"farm.config.jsx\",\n \"farm.config.mjs\",\n \"farm.config.cjs\",\n \"config.ts\",\n \"config.tsx\",\n \"config.mts\",\n \"config.cts\",\n \"config.js\",\n \"config.jsx\",\n \"config.mjs\",\n \"config.cjs\",\n];\n\nconst LAYER_LOCAL_CONFIG_KEYS = new Set([\n \"root\",\n \"srcDir\",\n \"outDir\",\n \"distDir\",\n \"deploy\",\n \"output\",\n \"preset\",\n \"publicDir\",\n \"generateBuildId\",\n]);\n\ntype LoadedLayer = ResolvedFarmLayer & {\n config: Record<string, any>;\n};\n\nexport async function resolveFarmLayers<TConfig extends Record<string, any>>(\n projectConfig: TConfig,\n options: ResolveFarmLayersOptions,\n): Promise<FarmLayerResolution<TConfig>> {\n const projectRoot = path.resolve(options.root);\n const entries = normalizeLayerEntries(projectConfig.extends, \"project config\");\n\n if (entries.length === 0) {\n return {\n config: {\n ...projectConfig,\n layers: [],\n },\n layers: [],\n };\n }\n\n const loadedLayers: LoadedLayer[] = [];\n const visited = new Set<string>();\n const aliases = new Map<string, string>();\n\n const visit = async (\n source: string,\n ownerRoot: string,\n stack: Array<{ root: string; source: string }>,\n ): Promise<void> => {\n const resolvedSource = resolveLayerSource(source, ownerRoot);\n const cycleIndex = stack.findIndex((entry) => entry.root === resolvedSource.root);\n if (cycleIndex !== -1) {\n const cycle = [...stack.slice(cycleIndex).map((entry) => entry.source), source];\n throw new Error(`Farm layer cycle detected: ${cycle.join(\" -> \")}`);\n }\n if (visited.has(resolvedSource.root)) return;\n\n const configFile = findFarmConfigFile(resolvedSource.root, resolvedSource.configFile);\n const config = configFile\n ? await loadFarmConfigFile(configFile, {\n cacheRoot: projectRoot,\n root: resolvedSource.root,\n })\n : {};\n const nestedEntries = normalizeLayerEntries(config.extends, `layer ${JSON.stringify(source)}`);\n const nextStack = [...stack, { root: resolvedSource.root, source }];\n\n for (const nestedSource of nestedEntries) {\n await visit(nestedSource, resolvedSource.root, nextStack);\n }\n\n if (visited.has(resolvedSource.root)) return;\n\n const name = getLayerName(source, resolvedSource.root);\n const conflictingRoot = aliases.get(name);\n if (conflictingRoot && conflictingRoot !== resolvedSource.root) {\n throw new Error(\n `Farm layer alias \"#layers/${name}\" is ambiguous between ${conflictingRoot} and ${resolvedSource.root}`,\n );\n }\n aliases.set(name, resolvedSource.root);\n\n visited.add(resolvedSource.root);\n loadedLayers.push({\n source,\n name,\n root: resolvedSource.root,\n srcDir: normalizeLayerSrcDir(config.srcDir),\n configFile,\n config,\n });\n };\n\n for (const source of entries) {\n await visit(source, projectRoot, []);\n }\n\n let mergedConfig: Record<string, any> = {};\n for (const layer of loadedLayers) {\n mergedConfig = mergeFarmLayerConfig(mergedConfig, getLayerDefaults(layer.config));\n }\n mergedConfig = mergeFarmLayerConfig(mergedConfig, projectConfig);\n\n const layers = loadedLayers.map(({ config: _config, ...layer }) => layer);\n return {\n config: {\n ...mergedConfig,\n root: projectConfig.root,\n srcDir: projectConfig.srcDir,\n extends: projectConfig.extends,\n layers,\n } as unknown as FarmLayerResolution<TConfig>[\"config\"],\n layers,\n };\n}\n\nexport function getFarmSourceRoots(config: {\n root?: string;\n srcDir?: string;\n layers?: readonly ResolvedFarmLayer[];\n}): FarmSourceRoot[] {\n const roots: FarmSourceRoot[] = (config.layers ?? []).map((layer) => ({\n name: layer.name,\n root: layer.root,\n srcDir: layer.srcDir,\n layer: true,\n }));\n\n roots.push({\n name: \"project\",\n root: path.resolve(config.root || process.cwd()),\n srcDir: config.srcDir || \"src\",\n layer: false,\n });\n\n return roots;\n}\n\nexport function getFarmAppDirectories(config: {\n root?: string;\n srcDir?: string;\n layers?: readonly ResolvedFarmLayer[];\n}): string[] {\n return getFarmSourceRoots(config).map((source) => path.join(source.root, source.srcDir, \"app\"));\n}\n\nexport function getFarmLayerAliases(\n layers: readonly ResolvedFarmLayer[] | undefined,\n): Record<string, string> {\n return Object.fromEntries(\n (layers ?? []).map((layer) => [`#layers/${layer.name}`, path.join(layer.root, layer.srcDir)]),\n );\n}\n\nexport async function loadFarmConfigFile<TConfig = Record<string, any>>(\n configPath: string,\n options: { root: string; cacheRoot?: string },\n): Promise<TConfig> {\n const { build, transform } = await import(\"esbuild\");\n const cacheRoot = path.resolve(options.cacheRoot || options.root);\n const configCacheDir = path.join(cacheRoot, \".farm\", \".config-loader\");\n const configEntryChecks = new Map<string, Promise<boolean>>();\n await mkdir(configCacheDir, { recursive: true });\n\n const modulePath = path.join(\n configCacheDir,\n `farm-config-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`,\n );\n\n await build({\n absWorkingDir: path.resolve(options.root),\n entryPoints: [path.resolve(configPath)],\n outfile: modulePath,\n bundle: true,\n format: \"esm\",\n platform: \"node\",\n target: `node${process.versions.node.split(\".\")[0]}`,\n plugins: [\n {\n name: \"farm-config-package-resolution\",\n setup(pluginBuild) {\n pluginBuild.onResolve({ filter: /^@farm.js\\/core$/ }, async (args) => {\n if (\n args.pluginData?.farmConfigExternal ||\n args.kind !== \"import-statement\" ||\n !args.importer\n ) {\n return;\n }\n\n let configEntryCheck = configEntryChecks.get(args.importer);\n if (!configEntryCheck) {\n configEntryCheck = onlyImportsFarmConfigHelpers(args.importer, transform);\n configEntryChecks.set(args.importer, configEntryCheck);\n }\n if (!(await configEntryCheck)) return;\n\n const resolved = await pluginBuild.resolve(FARM_CONFIG_ENTRY, {\n importer: args.importer,\n kind: args.kind,\n namespace: args.namespace,\n resolveDir: args.resolveDir,\n pluginData: { farmConfigExternal: true },\n });\n if (resolved.errors.length > 0 || !resolved.path) return;\n\n return {\n path: resolved.path,\n external: true,\n warnings: resolved.warnings,\n };\n });\n\n pluginBuild.onResolve({ filter: /^[^./]/ }, async (args) => {\n if (args.pluginData?.farmConfigExternal) return;\n\n const resolved = await pluginBuild.resolve(args.path, {\n importer: args.importer,\n kind: args.kind,\n namespace: args.namespace,\n resolveDir: args.resolveDir,\n pluginData: { farmConfigExternal: true },\n });\n\n if (resolved.errors.length > 0 || !resolved.path) {\n return { path: args.path, external: true };\n }\n\n return {\n path: resolved.path,\n external: true,\n warnings: resolved.warnings,\n };\n });\n },\n },\n ],\n jsx: \"automatic\",\n logLevel: \"silent\",\n sourcemap: \"inline\",\n });\n\n const moduleUrl = `${pathToFileURL(modulePath).href}?t=${Date.now()}`;\n try {\n const loaded = await import(/* @vite-ignore */ moduleUrl);\n const config = loaded.default || loaded;\n if (!config || typeof config !== \"object\" || Array.isArray(config)) {\n throw new TypeError(`Farm config ${configPath} must export an object`);\n }\n return config as TConfig;\n } finally {\n await unlink(modulePath).catch(() => undefined);\n }\n}\n\nasync function onlyImportsFarmConfigHelpers(\n importer: string,\n transform: EsbuildTransform,\n): Promise<boolean> {\n try {\n const source = readFileSync(importer, \"utf8\");\n if (!source.includes(FARM_CORE_PACKAGE)) return false;\n\n const transformed = await transform(source, {\n format: \"esm\",\n jsx: \"automatic\",\n loader: getEsbuildLoader(importer),\n sourcefile: importer,\n });\n const references = [...transformed.code.matchAll(FARM_CORE_REFERENCE_RE)];\n if (references.length === 0) return false;\n\n const safeImportRanges: Array<{ start: number; end: number }> = [];\n for (const match of transformed.code.matchAll(FARM_CONFIG_HELPER_IMPORT_RE)) {\n const specifiers = match[1]\n .split(\",\")\n .map((specifier) => specifier.trim())\n .filter(Boolean);\n if (\n specifiers.length === 0 ||\n !specifiers.every((specifier) => FARM_CONFIG_HELPER_SPECIFIER_RE.test(specifier))\n ) {\n continue;\n }\n\n const start = match.index ?? 0;\n safeImportRanges.push({ start, end: start + match[0].length });\n }\n\n return references.every((reference) => {\n const index = reference.index ?? -1;\n return safeImportRanges.some((range) => index >= range.start && index < range.end);\n });\n } catch {\n // Unsupported syntax or non-file importers retain the existing package resolution path.\n return false;\n }\n}\n\nfunction getEsbuildLoader(file: string): \"js\" | \"jsx\" | \"ts\" | \"tsx\" {\n switch (path.extname(file)) {\n case \".ts\":\n case \".mts\":\n case \".cts\":\n return \"ts\";\n case \".tsx\":\n return \"tsx\";\n case \".jsx\":\n return \"jsx\";\n default:\n return \"js\";\n }\n}\n\nfunction normalizeLayerEntries(value: unknown, owner: string): string[] {\n if (value === undefined) return [];\n if (!Array.isArray(value)) {\n throw new TypeError(`${owner} \"extends\" must be an array of layer paths or package names`);\n }\n\n return value.map((entry, index) => {\n if (typeof entry !== \"string\" || entry.trim() === \"\") {\n throw new TypeError(`${owner} \"extends\" entry ${index} must be a non-empty string`);\n }\n return entry.trim();\n });\n}\n\nfunction resolveLayerSource(\n source: string,\n ownerRoot: string,\n): { root: string; configFile?: string } {\n if (isPathLayerSource(source)) {\n const target = source.startsWith(\"file:\")\n ? path.resolve(ownerRoot, source.slice(\"file:\".length))\n : path.resolve(ownerRoot, source);\n if (!existsSync(target)) {\n throw new Error(`Cannot resolve Farm layer ${JSON.stringify(source)} from ${ownerRoot}`);\n }\n\n const stats = statSync(target);\n const root = stats.isDirectory() ? target : path.dirname(target);\n return {\n root: normalizeRealPath(root),\n configFile: stats.isFile() ? normalizeRealPath(target) : undefined,\n };\n }\n\n const requireFromOwner = createRequire(path.join(ownerRoot, \"package.json\"));\n let packageJsonPath: string | undefined;\n try {\n packageJsonPath = requireFromOwner.resolve(`${source}/package.json`);\n } catch {\n // Packages with an exports map often hide package.json. Resolve their entry and walk upward.\n }\n\n if (packageJsonPath) {\n return { root: normalizeRealPath(path.dirname(packageJsonPath)) };\n }\n\n try {\n const entryPath = requireFromOwner.resolve(source);\n const packageRoot = findNearestPackageRoot(entryPath);\n if (packageRoot) return { root: normalizeRealPath(packageRoot) };\n } catch {\n // Use the common error below so local and package failures have the same shape.\n }\n\n throw new Error(`Cannot resolve Farm layer package ${JSON.stringify(source)} from ${ownerRoot}`);\n}\n\nfunction findNearestPackageRoot(entryPath: string): string | null {\n let current = statSync(entryPath).isDirectory() ? entryPath : path.dirname(entryPath);\n while (true) {\n if (existsSync(path.join(current, \"package.json\"))) return current;\n const parent = path.dirname(current);\n if (parent === current) return null;\n current = parent;\n }\n}\n\nfunction findFarmConfigFile(root: string, explicitPath?: string): string | undefined {\n if (explicitPath) return explicitPath;\n for (const fileName of CONFIG_FILENAMES) {\n const candidate = path.join(root, fileName);\n if (existsSync(candidate)) return candidate;\n }\n return undefined;\n}\n\nfunction getLayerName(source: string, root: string): string {\n if (!isPathLayerSource(source)) {\n const packageName = source.split(\"/\").filter(Boolean).pop();\n if (packageName) return sanitizeLayerName(packageName);\n }\n\n try {\n const packageJson = JSON.parse(readFileSync(path.join(root, \"package.json\"), \"utf8\"));\n if (typeof packageJson.name === \"string\") {\n return sanitizeLayerName(packageJson.name.split(\"/\").pop() || packageJson.name);\n }\n } catch {\n // A local layer does not need package metadata.\n }\n\n return sanitizeLayerName(path.basename(root));\n}\n\nfunction sanitizeLayerName(value: string): string {\n const name = value\n .trim()\n .replace(/[^a-zA-Z0-9_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n if (!name) throw new Error(`Cannot derive a name for Farm layer ${JSON.stringify(value)}`);\n return name;\n}\n\nfunction normalizeLayerSrcDir(value: unknown): string {\n if (value === undefined) return \"src\";\n if (typeof value !== \"string\" || value.trim() === \"\" || path.isAbsolute(value)) {\n throw new TypeError(\"A Farm layer srcDir must be a non-empty relative path\");\n }\n const normalized = path.normalize(value.trim());\n if (normalized === \"..\" || normalized.startsWith(`..${path.sep}`)) {\n throw new TypeError(\"A Farm layer srcDir cannot leave the layer root\");\n }\n return normalized;\n}\n\nfunction getLayerDefaults(config: Record<string, any>): Record<string, any> {\n return Object.fromEntries(\n Object.entries(config).filter(\n ([key, value]) =>\n key !== \"extends\" && value !== undefined && !LAYER_LOCAL_CONFIG_KEYS.has(key),\n ),\n );\n}\n\nfunction mergeFarmLayerConfig(\n base: Record<string, any>,\n override: Record<string, any>,\n): Record<string, any> {\n const output: Record<string, any> = { ...base };\n\n for (const [key, value] of Object.entries(override)) {\n if (value === undefined || key === \"layers\") continue;\n\n if (key === \"plugins\") {\n output[key] = [...toArray(output[key]), ...toArray(value)];\n continue;\n }\n\n if (key === \"middleware\" && output[key] !== undefined) {\n output[key] = [...toArray(output[key]), ...toArray(value)];\n continue;\n }\n\n if ((key === \"redirects\" || key === \"rewrites\" || key === \"headers\") && output[key]) {\n output[key] = mergeConfigListResolvers(output[key], value);\n continue;\n }\n\n if (isPlainObject(output[key]) && isPlainObject(value)) {\n output[key] = mergePlainObjects(output[key], value);\n continue;\n }\n\n output[key] = value;\n }\n\n return output;\n}\n\nfunction mergePlainObjects(base: Record<string, any>, override: Record<string, any>) {\n const output: Record<string, any> = { ...base };\n for (const [key, value] of Object.entries(override)) {\n if (value === undefined) continue;\n output[key] =\n isPlainObject(output[key]) && isPlainObject(value)\n ? mergePlainObjects(output[key], value)\n : value;\n }\n return output;\n}\n\nfunction mergeConfigListResolvers(base: unknown, override: unknown) {\n return async () => [...(await resolveConfigList(base)), ...(await resolveConfigList(override))];\n}\n\nasync function resolveConfigList(value: unknown): Promise<any[]> {\n const resolved = typeof value === \"function\" ? await value() : value;\n return toArray(resolved);\n}\n\nfunction toArray(value: unknown): any[] {\n if (value === undefined || value === null) return [];\n return Array.isArray(value) ? value : [value];\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, any> {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\n\nfunction isPathLayerSource(source: string): boolean {\n return (\n source.startsWith(\".\") ||\n source.startsWith(\"/\") ||\n source.startsWith(\"file:\") ||\n /^[a-zA-Z]:[\\\\/]/.test(source)\n );\n}\n\nfunction normalizeRealPath(value: string): string {\n return path.resolve(realpathSync(value));\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-7HO6AEOP.mjs
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__name
|
|
3
|
-
} from "./chunk-CGILA3WO.mjs";
|
|
4
|
-
|
|
5
|
-
// src/navigation-errors.ts
|
|
6
|
-
var REDIRECT_ERROR_CODE = "FARM_REDIRECT";
|
|
7
|
-
var NOT_FOUND_ERROR_CODE = "FARM_NOT_FOUND";
|
|
8
|
-
var REDIRECT_ERROR_SYMBOL = /* @__PURE__ */ Symbol.for("farm.navigation.redirect");
|
|
9
|
-
var NOT_FOUND_ERROR_SYMBOL = /* @__PURE__ */ Symbol.for("farm.navigation.notFound");
|
|
10
|
-
function redirect(url, status = 307) {
|
|
11
|
-
throw createRedirectError(url, status);
|
|
12
|
-
}
|
|
13
|
-
__name(redirect, "redirect");
|
|
14
|
-
function permanentRedirect(url) {
|
|
15
|
-
redirect(url, 308);
|
|
16
|
-
}
|
|
17
|
-
__name(permanentRedirect, "permanentRedirect");
|
|
18
|
-
function notFound() {
|
|
19
|
-
const error = new Error(NOT_FOUND_ERROR_CODE);
|
|
20
|
-
error.digest = NOT_FOUND_ERROR_CODE;
|
|
21
|
-
error[NOT_FOUND_ERROR_SYMBOL] = true;
|
|
22
|
-
throw error;
|
|
23
|
-
}
|
|
24
|
-
__name(notFound, "notFound");
|
|
25
|
-
function isFarmRedirectError(error) {
|
|
26
|
-
return Boolean(getFarmRedirectError(error));
|
|
27
|
-
}
|
|
28
|
-
__name(isFarmRedirectError, "isFarmRedirectError");
|
|
29
|
-
function getFarmRedirectError(error) {
|
|
30
|
-
if (!error || typeof error !== "object") return null;
|
|
31
|
-
const candidate = error;
|
|
32
|
-
if (candidate[REDIRECT_ERROR_SYMBOL]) {
|
|
33
|
-
return candidate[REDIRECT_ERROR_SYMBOL];
|
|
34
|
-
}
|
|
35
|
-
if (typeof candidate.digest === "string" && candidate.digest.startsWith(`${REDIRECT_ERROR_CODE};`)) {
|
|
36
|
-
const [, status, ...urlParts] = candidate.digest.split(";");
|
|
37
|
-
const parsedStatus = Number(status);
|
|
38
|
-
if (isRedirectStatus(parsedStatus)) {
|
|
39
|
-
return {
|
|
40
|
-
status: parsedStatus,
|
|
41
|
-
url: urlParts.join(";")
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
__name(getFarmRedirectError, "getFarmRedirectError");
|
|
48
|
-
function isFarmNotFoundError(error) {
|
|
49
|
-
if (!error || typeof error !== "object") return false;
|
|
50
|
-
const candidate = error;
|
|
51
|
-
return Boolean(candidate[NOT_FOUND_ERROR_SYMBOL] || candidate.digest === NOT_FOUND_ERROR_CODE);
|
|
52
|
-
}
|
|
53
|
-
__name(isFarmNotFoundError, "isFarmNotFoundError");
|
|
54
|
-
function createRedirectError(url, status) {
|
|
55
|
-
const error = new Error(`${REDIRECT_ERROR_CODE};${status};${url}`);
|
|
56
|
-
error.digest = `${REDIRECT_ERROR_CODE};${status};${url}`;
|
|
57
|
-
error[REDIRECT_ERROR_SYMBOL] = { url, status };
|
|
58
|
-
return error;
|
|
59
|
-
}
|
|
60
|
-
__name(createRedirectError, "createRedirectError");
|
|
61
|
-
function isRedirectStatus(status) {
|
|
62
|
-
return status === 301 || status === 302 || status === 303 || status === 307 || status === 308;
|
|
63
|
-
}
|
|
64
|
-
__name(isRedirectStatus, "isRedirectStatus");
|
|
65
|
-
|
|
66
|
-
export {
|
|
67
|
-
redirect,
|
|
68
|
-
permanentRedirect,
|
|
69
|
-
notFound,
|
|
70
|
-
isFarmRedirectError,
|
|
71
|
-
getFarmRedirectError,
|
|
72
|
-
isFarmNotFoundError
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=chunk-7HO6AEOP.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/navigation-errors.ts"],"sourcesContent":["export type FarmRedirectStatus = 301 | 302 | 303 | 307 | 308;\n\nexport interface FarmRedirectSignal {\n url: string;\n status: FarmRedirectStatus;\n}\n\nconst REDIRECT_ERROR_CODE = \"FARM_REDIRECT\";\nconst NOT_FOUND_ERROR_CODE = \"FARM_NOT_FOUND\";\nconst REDIRECT_ERROR_SYMBOL = Symbol.for(\"farm.navigation.redirect\");\nconst NOT_FOUND_ERROR_SYMBOL = Symbol.for(\"farm.navigation.notFound\");\n\ntype FarmNavigationError = Error & {\n digest: string;\n [REDIRECT_ERROR_SYMBOL]?: FarmRedirectSignal;\n [NOT_FOUND_ERROR_SYMBOL]?: true;\n};\n\nexport function redirect(url: string, status: FarmRedirectStatus = 307): never {\n throw createRedirectError(url, status);\n}\n\nexport function permanentRedirect(url: string): never {\n redirect(url, 308);\n}\n\nexport function notFound(): never {\n const error = new Error(NOT_FOUND_ERROR_CODE) as FarmNavigationError;\n error.digest = NOT_FOUND_ERROR_CODE;\n error[NOT_FOUND_ERROR_SYMBOL] = true;\n throw error;\n}\n\nexport function isFarmRedirectError(error: unknown): boolean {\n return Boolean(getFarmRedirectError(error));\n}\n\nexport function getFarmRedirectError(error: unknown): FarmRedirectSignal | null {\n if (!error || typeof error !== \"object\") return null;\n const candidate = error as Partial<FarmNavigationError>;\n if (candidate[REDIRECT_ERROR_SYMBOL]) {\n return candidate[REDIRECT_ERROR_SYMBOL] as FarmRedirectSignal;\n }\n\n if (\n typeof candidate.digest === \"string\" &&\n candidate.digest.startsWith(`${REDIRECT_ERROR_CODE};`)\n ) {\n const [, status, ...urlParts] = candidate.digest.split(\";\");\n const parsedStatus = Number(status);\n if (isRedirectStatus(parsedStatus)) {\n return {\n status: parsedStatus,\n url: urlParts.join(\";\"),\n };\n }\n }\n\n return null;\n}\n\nexport function isFarmNotFoundError(error: unknown): boolean {\n if (!error || typeof error !== \"object\") return false;\n const candidate = error as Partial<FarmNavigationError>;\n return Boolean(candidate[NOT_FOUND_ERROR_SYMBOL] || candidate.digest === NOT_FOUND_ERROR_CODE);\n}\n\nfunction createRedirectError(url: string, status: FarmRedirectStatus): FarmNavigationError {\n const error = new Error(`${REDIRECT_ERROR_CODE};${status};${url}`) as FarmNavigationError;\n error.digest = `${REDIRECT_ERROR_CODE};${status};${url}`;\n error[REDIRECT_ERROR_SYMBOL] = { url, status };\n return error;\n}\n\nfunction isRedirectStatus(status: number): status is FarmRedirectStatus {\n return status === 301 || status === 302 || status === 303 || status === 307 || status === 308;\n}\n"],"mappings":";;;;;AAOA,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAC7B,IAAM,wBAAwB,uBAAO,IAAI,0BAA0B;AACnE,IAAM,yBAAyB,uBAAO,IAAI,0BAA0B;AAQ7D,SAAS,SAAS,KAAa,SAA6B,KAAY;AAC7E,QAAM,oBAAoB,KAAK,MAAM;AACvC;AAFgB;AAIT,SAAS,kBAAkB,KAAoB;AACpD,WAAS,KAAK,GAAG;AACnB;AAFgB;AAIT,SAAS,WAAkB;AAChC,QAAM,QAAQ,IAAI,MAAM,oBAAoB;AAC5C,QAAM,SAAS;AACf,QAAM,sBAAsB,IAAI;AAChC,QAAM;AACR;AALgB;AAOT,SAAS,oBAAoB,OAAyB;AAC3D,SAAO,QAAQ,qBAAqB,KAAK,CAAC;AAC5C;AAFgB;AAIT,SAAS,qBAAqB,OAA2C;AAC9E,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAM,YAAY;AAClB,MAAI,UAAU,qBAAqB,GAAG;AACpC,WAAO,UAAU,qBAAqB;AAAA,EACxC;AAEA,MACE,OAAO,UAAU,WAAW,YAC5B,UAAU,OAAO,WAAW,GAAG,mBAAmB,GAAG,GACrD;AACA,UAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,IAAI,UAAU,OAAO,MAAM,GAAG;AAC1D,UAAM,eAAe,OAAO,MAAM;AAClC,QAAI,iBAAiB,YAAY,GAAG;AAClC,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,KAAK,SAAS,KAAK,GAAG;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAtBgB;AAwBT,SAAS,oBAAoB,OAAyB;AAC3D,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAM,YAAY;AAClB,SAAO,QAAQ,UAAU,sBAAsB,KAAK,UAAU,WAAW,oBAAoB;AAC/F;AAJgB;AAMhB,SAAS,oBAAoB,KAAa,QAAiD;AACzF,QAAM,QAAQ,IAAI,MAAM,GAAG,mBAAmB,IAAI,MAAM,IAAI,GAAG,EAAE;AACjE,QAAM,SAAS,GAAG,mBAAmB,IAAI,MAAM,IAAI,GAAG;AACtD,QAAM,qBAAqB,IAAI,EAAE,KAAK,OAAO;AAC7C,SAAO;AACT;AALS;AAOT,SAAS,iBAAiB,QAA8C;AACtE,SAAO,WAAW,OAAO,WAAW,OAAO,WAAW,OAAO,WAAW,OAAO,WAAW;AAC5F;AAFS;","names":[]}
|
package/dist/chunk-7MABZJIM.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__name
|
|
3
|
-
} from "./chunk-CGILA3WO.mjs";
|
|
4
|
-
|
|
5
|
-
// src/devtools-config.ts
|
|
6
|
-
var DEFAULT_FARM_DEVTOOLS_SHORTCUT = "mod+shift+.";
|
|
7
|
-
var FARM_DEVTOOLS_PATH = "/__farm/devtools";
|
|
8
|
-
var FARM_DEVTOOLS_LAUNCH_PARAM = "__farm_devtools";
|
|
9
|
-
function resolveFarmDevtoolsConfig(config, mode = "development") {
|
|
10
|
-
if (mode !== "development" || config === false) {
|
|
11
|
-
return { enabled: false, shortcut: false };
|
|
12
|
-
}
|
|
13
|
-
const options = config === true || config === void 0 ? {} : config;
|
|
14
|
-
const enabled = options.enabled ?? true;
|
|
15
|
-
if (!enabled) {
|
|
16
|
-
return { enabled: false, shortcut: false };
|
|
17
|
-
}
|
|
18
|
-
const shortcut = typeof options.shortcut === "string" && options.shortcut.trim() ? options.shortcut.toLowerCase().split("+").map((part) => part.trim()).filter(Boolean).join("+") : options.shortcut === false ? false : DEFAULT_FARM_DEVTOOLS_SHORTCUT;
|
|
19
|
-
return { enabled: true, shortcut };
|
|
20
|
-
}
|
|
21
|
-
__name(resolveFarmDevtoolsConfig, "resolveFarmDevtoolsConfig");
|
|
22
|
-
|
|
23
|
-
export {
|
|
24
|
-
DEFAULT_FARM_DEVTOOLS_SHORTCUT,
|
|
25
|
-
FARM_DEVTOOLS_PATH,
|
|
26
|
-
FARM_DEVTOOLS_LAUNCH_PARAM,
|
|
27
|
-
resolveFarmDevtoolsConfig
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=chunk-7MABZJIM.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/devtools-config.ts"],"sourcesContent":["export const DEFAULT_FARM_DEVTOOLS_SHORTCUT = \"mod+shift+.\";\nexport const FARM_DEVTOOLS_PATH = \"/__farm/devtools\";\nexport const FARM_DEVTOOLS_LAUNCH_PARAM = \"__farm_devtools\";\n\nexport interface FarmDevtoolsConfig {\n /** Enable the development-only DevTools UI and runtime endpoints. */\n enabled?: boolean;\n /** Keyboard shortcut used to toggle DevTools, or false to disable the shortcut. */\n shortcut?: string | false;\n}\n\nexport type FarmDevtoolsUserConfig = boolean | FarmDevtoolsConfig;\n\nexport interface ResolvedFarmDevtoolsConfig {\n enabled: boolean;\n shortcut: string | false;\n}\n\nexport function resolveFarmDevtoolsConfig(\n config: FarmDevtoolsUserConfig | ResolvedFarmDevtoolsConfig | undefined,\n mode: \"development\" | \"production\" = \"development\",\n): ResolvedFarmDevtoolsConfig {\n if (mode !== \"development\" || config === false) {\n return { enabled: false, shortcut: false };\n }\n\n const options = config === true || config === undefined ? {} : config;\n const enabled = options.enabled ?? true;\n\n if (!enabled) {\n return { enabled: false, shortcut: false };\n }\n\n const shortcut =\n typeof options.shortcut === \"string\" && options.shortcut.trim()\n ? options.shortcut\n .toLowerCase()\n .split(\"+\")\n .map((part) => part.trim())\n .filter(Boolean)\n .join(\"+\")\n : options.shortcut === false\n ? false\n : DEFAULT_FARM_DEVTOOLS_SHORTCUT;\n\n return { enabled: true, shortcut };\n}\n"],"mappings":";;;;;AAAO,IAAM,iCAAiC;AACvC,IAAM,qBAAqB;AAC3B,IAAM,6BAA6B;AAgBnC,SAAS,0BACd,QACA,OAAqC,eACT;AAC5B,MAAI,SAAS,iBAAiB,WAAW,OAAO;AAC9C,WAAO,EAAE,SAAS,OAAO,UAAU,MAAM;AAAA,EAC3C;AAEA,QAAM,UAAU,WAAW,QAAQ,WAAW,SAAY,CAAC,IAAI;AAC/D,QAAM,UAAU,QAAQ,WAAW;AAEnC,MAAI,CAAC,SAAS;AACZ,WAAO,EAAE,SAAS,OAAO,UAAU,MAAM;AAAA,EAC3C;AAEA,QAAM,WACJ,OAAO,QAAQ,aAAa,YAAY,QAAQ,SAAS,KAAK,IAC1D,QAAQ,SACL,YAAY,EACZ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,OAAO,EACd,KAAK,GAAG,IACX,QAAQ,aAAa,QACnB,QACA;AAER,SAAO,EAAE,SAAS,MAAM,SAAS;AACnC;AA5BgB;","names":[]}
|