@farm.js/core 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +11 -0
- package/dist/after.cjs +227 -0
- package/dist/after.cjs.map +1 -0
- package/dist/after.d.mts +25 -0
- package/dist/after.d.ts +25 -0
- package/dist/after.mjs +14 -0
- package/dist/after.mjs.map +1 -0
- package/dist/agent-runtime.cjs +2379 -0
- package/dist/agent-runtime.cjs.map +1 -0
- package/dist/agent-runtime.d.mts +93 -0
- package/dist/agent-runtime.d.ts +93 -0
- package/dist/agent-runtime.mjs +479 -0
- package/dist/agent-runtime.mjs.map +1 -0
- package/dist/api/route-manager.cjs +1196 -0
- package/dist/api/route-manager.cjs.map +1 -0
- package/dist/api/route-manager.d.mts +64 -0
- package/dist/api/route-manager.d.ts +64 -0
- package/dist/api/route-manager.mjs +34 -0
- package/dist/api/route-manager.mjs.map +1 -0
- package/dist/api/runtime.cjs +272 -0
- package/dist/api/runtime.cjs.map +1 -0
- package/dist/api/runtime.d.mts +16 -0
- package/dist/api/runtime.d.ts +16 -0
- package/dist/api/runtime.mjs +16 -0
- package/dist/api/runtime.mjs.map +1 -0
- package/dist/api.cjs +3199 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.d.mts +190 -0
- package/dist/api.d.ts +190 -0
- package/dist/api.mjs +63 -0
- package/dist/api.mjs.map +1 -0
- package/dist/app-BiX4qb-d.d.mts +265 -0
- package/dist/app-CFRNJXP1.d.ts +265 -0
- package/dist/app-markdown.cjs +220 -0
- package/dist/app-markdown.cjs.map +1 -0
- package/dist/app-markdown.d.mts +21 -0
- package/dist/app-markdown.d.ts +21 -0
- package/dist/app-markdown.mjs +26 -0
- package/dist/app-markdown.mjs.map +1 -0
- package/dist/cache.cjs +543 -0
- package/dist/cache.cjs.map +1 -0
- package/dist/cache.d.mts +78 -0
- package/dist/cache.d.ts +78 -0
- package/dist/cache.mjs +38 -0
- package/dist/cache.mjs.map +1 -0
- package/dist/chunk-25D7G34K.mjs +142 -0
- package/dist/chunk-25D7G34K.mjs.map +1 -0
- package/dist/chunk-3QJO55ZF.mjs +3548 -0
- package/dist/chunk-3QJO55ZF.mjs.map +1 -0
- package/dist/chunk-3XNTL3FQ.mjs +452 -0
- package/dist/chunk-3XNTL3FQ.mjs.map +1 -0
- package/dist/chunk-44ZCFSKE.mjs +84 -0
- package/dist/chunk-44ZCFSKE.mjs.map +1 -0
- package/dist/chunk-4PTK6KT4.mjs +364 -0
- package/dist/chunk-4PTK6KT4.mjs.map +1 -0
- package/dist/chunk-4S3ORGFA.mjs +44 -0
- package/dist/chunk-4S3ORGFA.mjs.map +1 -0
- package/dist/chunk-5BY76U2M.mjs +1 -0
- package/dist/chunk-5BY76U2M.mjs.map +1 -0
- package/dist/chunk-5ZGPRGWV.mjs +136 -0
- package/dist/chunk-5ZGPRGWV.mjs.map +1 -0
- package/dist/chunk-6XDUHOEM.mjs +157 -0
- package/dist/chunk-6XDUHOEM.mjs.map +1 -0
- package/dist/chunk-74YTBPTY.mjs +450 -0
- package/dist/chunk-74YTBPTY.mjs.map +1 -0
- package/dist/chunk-7HO6AEOP.mjs +74 -0
- package/dist/chunk-7HO6AEOP.mjs.map +1 -0
- package/dist/chunk-7MABZJIM.mjs +29 -0
- package/dist/chunk-7MABZJIM.mjs.map +1 -0
- package/dist/chunk-7ZY5AIJO.mjs +161 -0
- package/dist/chunk-7ZY5AIJO.mjs.map +1 -0
- package/dist/chunk-AGS7UJ52.mjs +446 -0
- package/dist/chunk-AGS7UJ52.mjs.map +1 -0
- package/dist/chunk-AZ7YUVNR.mjs +65 -0
- package/dist/chunk-AZ7YUVNR.mjs.map +1 -0
- package/dist/chunk-B232I2GP.mjs +163 -0
- package/dist/chunk-B232I2GP.mjs.map +1 -0
- package/dist/chunk-B6N4ZB2H.mjs +718 -0
- package/dist/chunk-B6N4ZB2H.mjs.map +1 -0
- package/dist/chunk-BHG3LVHH.mjs +176 -0
- package/dist/chunk-BHG3LVHH.mjs.map +1 -0
- package/dist/chunk-C3DLZMBU.mjs +597 -0
- package/dist/chunk-C3DLZMBU.mjs.map +1 -0
- package/dist/chunk-CGILA3WO.mjs +14 -0
- package/dist/chunk-CGILA3WO.mjs.map +1 -0
- package/dist/chunk-CHFHNEMO.mjs +7088 -0
- package/dist/chunk-CHFHNEMO.mjs.map +1 -0
- package/dist/chunk-E2MPIBRE.mjs +149 -0
- package/dist/chunk-E2MPIBRE.mjs.map +1 -0
- package/dist/chunk-E6EPN5BT.mjs +203 -0
- package/dist/chunk-E6EPN5BT.mjs.map +1 -0
- package/dist/chunk-EVGBEZDF.mjs +215 -0
- package/dist/chunk-EVGBEZDF.mjs.map +1 -0
- package/dist/chunk-FQYDHKKU.mjs +128 -0
- package/dist/chunk-FQYDHKKU.mjs.map +1 -0
- package/dist/chunk-G3B5BRDY.mjs +5763 -0
- package/dist/chunk-G3B5BRDY.mjs.map +1 -0
- package/dist/chunk-GN72QAIH.mjs +146 -0
- package/dist/chunk-GN72QAIH.mjs.map +1 -0
- package/dist/chunk-GS6K5OCM.mjs +407 -0
- package/dist/chunk-GS6K5OCM.mjs.map +1 -0
- package/dist/chunk-GY2STC2S.mjs +180 -0
- package/dist/chunk-GY2STC2S.mjs.map +1 -0
- package/dist/chunk-GZP5W4K3.mjs +158 -0
- package/dist/chunk-GZP5W4K3.mjs.map +1 -0
- package/dist/chunk-H2FA2SBS.mjs +51 -0
- package/dist/chunk-H2FA2SBS.mjs.map +1 -0
- package/dist/chunk-HXP3ZSPC.mjs +211 -0
- package/dist/chunk-HXP3ZSPC.mjs.map +1 -0
- package/dist/chunk-ITN462YM.mjs +98 -0
- package/dist/chunk-ITN462YM.mjs.map +1 -0
- package/dist/chunk-J23HNLFY.mjs +72 -0
- package/dist/chunk-J23HNLFY.mjs.map +1 -0
- package/dist/chunk-J4FNJ5IU.mjs +179 -0
- package/dist/chunk-J4FNJ5IU.mjs.map +1 -0
- package/dist/chunk-JK25YEN6.mjs +219 -0
- package/dist/chunk-JK25YEN6.mjs.map +1 -0
- package/dist/chunk-JLWMCADZ.mjs +204 -0
- package/dist/chunk-JLWMCADZ.mjs.map +1 -0
- package/dist/chunk-JN3UU635.mjs +622 -0
- package/dist/chunk-JN3UU635.mjs.map +1 -0
- package/dist/chunk-K4667E2Q.mjs +1916 -0
- package/dist/chunk-K4667E2Q.mjs.map +1 -0
- package/dist/chunk-LGHEOHBU.mjs +218 -0
- package/dist/chunk-LGHEOHBU.mjs.map +1 -0
- package/dist/chunk-LLC7BNXW.mjs +275 -0
- package/dist/chunk-LLC7BNXW.mjs.map +1 -0
- package/dist/chunk-LM2YNO4U.mjs +24 -0
- package/dist/chunk-LM2YNO4U.mjs.map +1 -0
- package/dist/chunk-NNLCAVB6.mjs +391 -0
- package/dist/chunk-NNLCAVB6.mjs.map +1 -0
- package/dist/chunk-O3HADRW6.mjs +639 -0
- package/dist/chunk-O3HADRW6.mjs.map +1 -0
- package/dist/chunk-OYXO65LI.mjs +119 -0
- package/dist/chunk-OYXO65LI.mjs.map +1 -0
- package/dist/chunk-P7QDS5AT.mjs +191 -0
- package/dist/chunk-P7QDS5AT.mjs.map +1 -0
- package/dist/chunk-PRNYWD7K.mjs +599 -0
- package/dist/chunk-PRNYWD7K.mjs.map +1 -0
- package/dist/chunk-QF4PHCMA.mjs +422 -0
- package/dist/chunk-QF4PHCMA.mjs.map +1 -0
- package/dist/chunk-QFQRHRZS.mjs +1224 -0
- package/dist/chunk-QFQRHRZS.mjs.map +1 -0
- package/dist/chunk-QGOHVJ6J.mjs +63 -0
- package/dist/chunk-QGOHVJ6J.mjs.map +1 -0
- package/dist/chunk-QKVUNGAH.mjs +39 -0
- package/dist/chunk-QKVUNGAH.mjs.map +1 -0
- package/dist/chunk-QM6VV26B.mjs +149 -0
- package/dist/chunk-QM6VV26B.mjs.map +1 -0
- package/dist/chunk-RHIFZZUI.mjs +69 -0
- package/dist/chunk-RHIFZZUI.mjs.map +1 -0
- package/dist/chunk-RKI6TN3A.mjs +49 -0
- package/dist/chunk-RKI6TN3A.mjs.map +1 -0
- package/dist/chunk-RSKVYESE.mjs +187 -0
- package/dist/chunk-RSKVYESE.mjs.map +1 -0
- package/dist/chunk-S2XHZS7W.mjs +180 -0
- package/dist/chunk-S2XHZS7W.mjs.map +1 -0
- package/dist/chunk-SCFX4UTD.mjs +28 -0
- package/dist/chunk-SCFX4UTD.mjs.map +1 -0
- package/dist/chunk-SL6HTIOK.mjs +66 -0
- package/dist/chunk-SL6HTIOK.mjs.map +1 -0
- package/dist/chunk-SOU3Q3ZA.mjs +173 -0
- package/dist/chunk-SOU3Q3ZA.mjs.map +1 -0
- package/dist/chunk-SPBBQLXI.mjs +207 -0
- package/dist/chunk-SPBBQLXI.mjs.map +1 -0
- package/dist/chunk-SXZTEK3V.mjs +396 -0
- package/dist/chunk-SXZTEK3V.mjs.map +1 -0
- package/dist/chunk-T4QJQK76.mjs +459 -0
- package/dist/chunk-T4QJQK76.mjs.map +1 -0
- package/dist/chunk-TRORP7E4.mjs +41 -0
- package/dist/chunk-TRORP7E4.mjs.map +1 -0
- package/dist/chunk-TU4YJICB.mjs +728 -0
- package/dist/chunk-TU4YJICB.mjs.map +1 -0
- package/dist/chunk-TXCFGOHW.mjs +42 -0
- package/dist/chunk-TXCFGOHW.mjs.map +1 -0
- package/dist/chunk-UHE2TTLK.mjs +466 -0
- package/dist/chunk-UHE2TTLK.mjs.map +1 -0
- package/dist/chunk-UREJA4GZ.mjs +364 -0
- package/dist/chunk-UREJA4GZ.mjs.map +1 -0
- package/dist/chunk-USWZZUEH.mjs +25 -0
- package/dist/chunk-USWZZUEH.mjs.map +1 -0
- package/dist/chunk-UVCIEUJC.mjs +16 -0
- package/dist/chunk-UVCIEUJC.mjs.map +1 -0
- package/dist/chunk-V6WE6JSZ.mjs +352 -0
- package/dist/chunk-V6WE6JSZ.mjs.map +1 -0
- package/dist/chunk-V7RBCSDJ.mjs +170 -0
- package/dist/chunk-V7RBCSDJ.mjs.map +1 -0
- package/dist/chunk-VCANOYFI.mjs +588 -0
- package/dist/chunk-VCANOYFI.mjs.map +1 -0
- package/dist/chunk-WZ5QFROO.mjs +23 -0
- package/dist/chunk-WZ5QFROO.mjs.map +1 -0
- package/dist/chunk-Y2OJJD7R.mjs +543 -0
- package/dist/chunk-Y2OJJD7R.mjs.map +1 -0
- package/dist/chunk-Y7A27276.mjs +538 -0
- package/dist/chunk-Y7A27276.mjs.map +1 -0
- package/dist/chunk-YHU7SS6L.mjs +365 -0
- package/dist/chunk-YHU7SS6L.mjs.map +1 -0
- package/dist/chunk-ZBE6MLHL.mjs +230 -0
- package/dist/chunk-ZBE6MLHL.mjs.map +1 -0
- package/dist/chunk-ZJQNATYV.mjs +299 -0
- package/dist/chunk-ZJQNATYV.mjs.map +1 -0
- package/dist/client-D_yUjVhe.d.mts +402 -0
- package/dist/client-Dkc03WP8.d.ts +402 -0
- package/dist/client-cache-CIlyBlmx.d.ts +6 -0
- package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
- package/dist/client-plugins-BZnpeTGA.d.ts +1848 -0
- package/dist/client-plugins-g4bzuCmo.d.mts +1848 -0
- package/dist/client-plugins.cjs +415 -0
- package/dist/client-plugins.cjs.map +1 -0
- package/dist/client-plugins.d.mts +21 -0
- package/dist/client-plugins.d.ts +21 -0
- package/dist/client-plugins.mjs +10 -0
- package/dist/client-plugins.mjs.map +1 -0
- package/dist/client.cjs +4571 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.mts +329 -0
- package/dist/client.d.ts +329 -0
- package/dist/client.mjs +103 -0
- package/dist/client.mjs.map +1 -0
- package/dist/config.cjs +38 -0
- package/dist/config.cjs.map +1 -0
- package/dist/config.d.mts +28 -0
- package/dist/config.d.ts +28 -0
- package/dist/config.mjs +10 -0
- package/dist/config.mjs.map +1 -0
- package/dist/cron.cjs +406 -0
- package/dist/cron.cjs.map +1 -0
- package/dist/cron.d.mts +78 -0
- package/dist/cron.d.ts +78 -0
- package/dist/cron.mjs +30 -0
- package/dist/cron.mjs.map +1 -0
- package/dist/deferred.cjs +438 -0
- package/dist/deferred.cjs.map +1 -0
- package/dist/deferred.d.mts +42 -0
- package/dist/deferred.d.ts +42 -0
- package/dist/deferred.mjs +28 -0
- package/dist/deferred.mjs.map +1 -0
- package/dist/deployment.cjs +199 -0
- package/dist/deployment.cjs.map +1 -0
- package/dist/deployment.d.mts +34 -0
- package/dist/deployment.d.ts +34 -0
- package/dist/deployment.mjs +38 -0
- package/dist/deployment.mjs.map +1 -0
- package/dist/devtools-AE4RVXCM.mjs +370 -0
- package/dist/devtools-AE4RVXCM.mjs.map +1 -0
- package/dist/devtools-client-6WPY2AQU.mjs +225 -0
- package/dist/devtools-client-6WPY2AQU.mjs.map +1 -0
- package/dist/devtools-ui-NJKFORTG.mjs +1349 -0
- package/dist/devtools-ui-NJKFORTG.mjs.map +1 -0
- package/dist/docs.cjs +5541 -0
- package/dist/docs.cjs.map +1 -0
- package/dist/docs.d.mts +69 -0
- package/dist/docs.d.ts +69 -0
- package/dist/docs.mjs +46 -0
- package/dist/docs.mjs.map +1 -0
- package/dist/env-types.cjs +223 -0
- package/dist/env-types.cjs.map +1 -0
- package/dist/env-types.d.mts +11 -0
- package/dist/env-types.d.ts +11 -0
- package/dist/env-types.mjs +9 -0
- package/dist/env-types.mjs.map +1 -0
- package/dist/env.cjs +215 -0
- package/dist/env.cjs.map +1 -0
- package/dist/env.d.mts +45 -0
- package/dist/env.d.ts +45 -0
- package/dist/env.mjs +22 -0
- package/dist/env.mjs.map +1 -0
- package/dist/environment/vite.cjs +374 -0
- package/dist/environment/vite.cjs.map +1 -0
- package/dist/environment/vite.d.mts +22 -0
- package/dist/environment/vite.d.ts +22 -0
- package/dist/environment/vite.mjs +10 -0
- package/dist/environment/vite.mjs.map +1 -0
- package/dist/environment.cjs +96 -0
- package/dist/environment.cjs.map +1 -0
- package/dist/environment.d.mts +18 -0
- package/dist/environment.d.ts +18 -0
- package/dist/environment.mjs +14 -0
- package/dist/environment.mjs.map +1 -0
- package/dist/headers.cjs +126 -0
- package/dist/headers.cjs.map +1 -0
- package/dist/headers.d.mts +22 -0
- package/dist/headers.d.ts +22 -0
- package/dist/headers.mjs +12 -0
- package/dist/headers.mjs.map +1 -0
- package/dist/i18n/client.cjs +283 -0
- package/dist/i18n/client.cjs.map +1 -0
- package/dist/i18n/client.d.mts +32 -0
- package/dist/i18n/client.d.ts +32 -0
- package/dist/i18n/client.mjs +121 -0
- package/dist/i18n/client.mjs.map +1 -0
- package/dist/i18n/index.cjs +130 -0
- package/dist/i18n/index.cjs.map +1 -0
- package/dist/i18n/index.d.mts +20 -0
- package/dist/i18n/index.d.ts +20 -0
- package/dist/i18n/index.mjs +22 -0
- package/dist/i18n/index.mjs.map +1 -0
- package/dist/i18n/server.cjs +637 -0
- package/dist/i18n/server.cjs.map +1 -0
- package/dist/i18n/server.d.mts +30 -0
- package/dist/i18n/server.d.ts +30 -0
- package/dist/i18n/server.mjs +32 -0
- package/dist/i18n/server.mjs.map +1 -0
- package/dist/image/server.cjs +477 -0
- package/dist/image/server.cjs.map +1 -0
- package/dist/image/server.d.mts +37 -0
- package/dist/image/server.d.ts +37 -0
- package/dist/image/server.mjs +16 -0
- package/dist/image/server.mjs.map +1 -0
- package/dist/image/sharp.cjs +135 -0
- package/dist/image/sharp.cjs.map +1 -0
- package/dist/image/sharp.d.mts +7 -0
- package/dist/image/sharp.d.ts +7 -0
- package/dist/image/sharp.mjs +75 -0
- package/dist/image/sharp.mjs.map +1 -0
- package/dist/image-config-Duob7wER.d.mts +50 -0
- package/dist/image-config-Duob7wER.d.ts +50 -0
- package/dist/image.cjs +209 -0
- package/dist/image.cjs.map +1 -0
- package/dist/image.d.mts +39 -0
- package/dist/image.d.ts +39 -0
- package/dist/image.mjs +165 -0
- package/dist/image.mjs.map +1 -0
- package/dist/index.cjs +39433 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +451 -0
- package/dist/index.d.ts +451 -0
- package/dist/index.mjs +930 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integration-api-CHT2OKAf.d.mts +93 -0
- package/dist/integration-api-CHT2OKAf.d.ts +93 -0
- package/dist/integration-orm-GQLGU66X.mjs +13 -0
- package/dist/integration-orm-GQLGU66X.mjs.map +1 -0
- package/dist/integrations.cjs +2820 -0
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.d.mts +21 -0
- package/dist/integrations.d.ts +21 -0
- package/dist/integrations.mjs +51 -0
- package/dist/integrations.mjs.map +1 -0
- package/dist/internal/build-runtime.cjs +31340 -0
- package/dist/internal/build-runtime.cjs.map +1 -0
- package/dist/internal/build-runtime.d.mts +38 -0
- package/dist/internal/build-runtime.d.ts +38 -0
- package/dist/internal/build-runtime.mjs +73 -0
- package/dist/internal/build-runtime.mjs.map +1 -0
- package/dist/internal/client-runtime.cjs +579 -0
- package/dist/internal/client-runtime.cjs.map +1 -0
- package/dist/internal/client-runtime.d.mts +2 -0
- package/dist/internal/client-runtime.d.ts +2 -0
- package/dist/internal/client-runtime.mjs +12 -0
- package/dist/internal/client-runtime.mjs.map +1 -0
- package/dist/internal/config-runtime.cjs +4172 -0
- package/dist/internal/config-runtime.cjs.map +1 -0
- package/dist/internal/config-runtime.d.mts +38 -0
- package/dist/internal/config-runtime.d.ts +38 -0
- package/dist/internal/config-runtime.mjs +38 -0
- package/dist/internal/config-runtime.mjs.map +1 -0
- package/dist/internal/production-node-env.cjs +65 -0
- package/dist/internal/production-node-env.cjs.map +1 -0
- package/dist/internal/production-node-env.d.mts +12 -0
- package/dist/internal/production-node-env.d.ts +12 -0
- package/dist/internal/production-node-env.mjs +8 -0
- package/dist/internal/production-node-env.mjs.map +1 -0
- package/dist/internal/production-runtime.cjs +1896 -0
- package/dist/internal/production-runtime.cjs.map +1 -0
- package/dist/internal/production-runtime.d.mts +39 -0
- package/dist/internal/production-runtime.d.ts +39 -0
- package/dist/internal/production-runtime.mjs +79 -0
- package/dist/internal/production-runtime.mjs.map +1 -0
- package/dist/layers-VWVDTPUZ.mjs +16 -0
- package/dist/layers-VWVDTPUZ.mjs.map +1 -0
- package/dist/manager-THKFTOFE.mjs +10 -0
- package/dist/manager-THKFTOFE.mjs.map +1 -0
- package/dist/markdown.cjs +299 -0
- package/dist/markdown.cjs.map +1 -0
- package/dist/markdown.d.mts +43 -0
- package/dist/markdown.d.ts +43 -0
- package/dist/markdown.mjs +14 -0
- package/dist/markdown.mjs.map +1 -0
- package/dist/metadata-C9NZxMDW.d.mts +22 -0
- package/dist/metadata-DAXRaOHx.d.ts +22 -0
- package/dist/middleware.cjs +2148 -0
- package/dist/middleware.cjs.map +1 -0
- package/dist/middleware.d.mts +163 -0
- package/dist/middleware.d.ts +163 -0
- package/dist/middleware.mjs +49 -0
- package/dist/middleware.mjs.map +1 -0
- package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
- package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
- package/dist/navigation.cjs +1304 -0
- package/dist/navigation.cjs.map +1 -0
- package/dist/navigation.d.mts +14 -0
- package/dist/navigation.d.ts +14 -0
- package/dist/navigation.mjs +33 -0
- package/dist/navigation.mjs.map +1 -0
- package/dist/nitro-KME62MWG.mjs +691 -0
- package/dist/nitro-KME62MWG.mjs.map +1 -0
- package/dist/observability.cjs +186 -0
- package/dist/observability.cjs.map +1 -0
- package/dist/observability.d.mts +335 -0
- package/dist/observability.d.ts +335 -0
- package/dist/observability.mjs +16 -0
- package/dist/observability.mjs.map +1 -0
- package/dist/params-BALtrRim.d.ts +15 -0
- package/dist/params-ry-lxqmy.d.mts +15 -0
- package/dist/plugin-BJDf43dc.d.mts +165 -0
- package/dist/plugin-BJDf43dc.d.ts +165 -0
- package/dist/plugin.cjs +22285 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.mts +21 -0
- package/dist/plugin.d.ts +21 -0
- package/dist/plugin.mjs +60 -0
- package/dist/plugin.mjs.map +1 -0
- package/dist/production-runtime-C_B79w2P.d.mts +28 -0
- package/dist/production-runtime-DDEM1D2q.d.ts +28 -0
- package/dist/production-runtime-DRkCHUvJ.d.ts +79 -0
- package/dist/production-runtime-flrjp_nC.d.mts +79 -0
- package/dist/query/client.cjs +560 -0
- package/dist/query/client.cjs.map +1 -0
- package/dist/query/client.d.mts +61 -0
- package/dist/query/client.d.ts +61 -0
- package/dist/query/client.mjs +364 -0
- package/dist/query/client.mjs.map +1 -0
- package/dist/query/index.cjs +226 -0
- package/dist/query/index.cjs.map +1 -0
- package/dist/query/index.d.mts +90 -0
- package/dist/query/index.d.ts +90 -0
- package/dist/query/index.mjs +31 -0
- package/dist/query/index.mjs.map +1 -0
- package/dist/query/parsers.cjs +178 -0
- package/dist/query/parsers.cjs.map +1 -0
- package/dist/query/parsers.d.mts +25 -0
- package/dist/query/parsers.d.ts +25 -0
- package/dist/query/parsers.mjs +24 -0
- package/dist/query/parsers.mjs.map +1 -0
- package/dist/query/server.cjs +301 -0
- package/dist/query/server.cjs.map +1 -0
- package/dist/query/server.d.mts +55 -0
- package/dist/query/server.d.ts +55 -0
- package/dist/query/server.mjs +105 -0
- package/dist/query/server.mjs.map +1 -0
- package/dist/request-BrFBuc8G.d.mts +6 -0
- package/dist/request-BslSZIRz.d.ts +6 -0
- package/dist/request.cjs +71 -0
- package/dist/request.cjs.map +1 -0
- package/dist/request.d.mts +2 -0
- package/dist/request.d.ts +2 -0
- package/dist/request.mjs +9 -0
- package/dist/request.mjs.map +1 -0
- package/dist/resolver-C6iecsDV.d.ts +14 -0
- package/dist/resolver-DlOPpjkB.d.mts +14 -0
- package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
- package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
- package/dist/router.cjs +254 -0
- package/dist/router.cjs.map +1 -0
- package/dist/router.d.mts +36 -0
- package/dist/router.d.ts +36 -0
- package/dist/router.mjs +14 -0
- package/dist/router.mjs.map +1 -0
- package/dist/routes.cjs +1213 -0
- package/dist/routes.cjs.map +1 -0
- package/dist/routes.d.mts +224 -0
- package/dist/routes.d.ts +224 -0
- package/dist/routes.mjs +52 -0
- package/dist/routes.mjs.map +1 -0
- package/dist/runtime-B6GvwDS1.d.ts +27 -0
- package/dist/runtime-DeAAZ6gO.d.mts +27 -0
- package/dist/search-client-6OXIBNYQ.mjs +14 -0
- package/dist/search-client-6OXIBNYQ.mjs.map +1 -0
- package/dist/server-action-security.cjs +492 -0
- package/dist/server-action-security.cjs.map +1 -0
- package/dist/server-action-security.d.mts +42 -0
- package/dist/server-action-security.d.ts +42 -0
- package/dist/server-action-security.mjs +29 -0
- package/dist/server-action-security.mjs.map +1 -0
- package/dist/server-fn-client.cjs +180 -0
- package/dist/server-fn-client.cjs.map +1 -0
- package/dist/server-fn-client.d.mts +31 -0
- package/dist/server-fn-client.d.ts +31 -0
- package/dist/server-fn-client.mjs +9 -0
- package/dist/server-fn-client.mjs.map +1 -0
- package/dist/server-fn.cjs +284 -0
- package/dist/server-fn.cjs.map +1 -0
- package/dist/server-fn.d.mts +84 -0
- package/dist/server-fn.d.ts +84 -0
- package/dist/server-fn.mjs +17 -0
- package/dist/server-fn.mjs.map +1 -0
- package/dist/server-plugins.cjs +235 -0
- package/dist/server-plugins.cjs.map +1 -0
- package/dist/server-plugins.d.mts +54 -0
- package/dist/server-plugins.d.ts +54 -0
- package/dist/server-plugins.mjs +18 -0
- package/dist/server-plugins.mjs.map +1 -0
- package/dist/server-query-client.cjs +792 -0
- package/dist/server-query-client.cjs.map +1 -0
- package/dist/server-query-client.d.mts +50 -0
- package/dist/server-query-client.d.ts +50 -0
- package/dist/server-query-client.mjs +23 -0
- package/dist/server-query-client.mjs.map +1 -0
- package/dist/server-query.cjs +804 -0
- package/dist/server-query.cjs.map +1 -0
- package/dist/server-query.d.mts +36 -0
- package/dist/server-query.d.ts +36 -0
- package/dist/server-query.mjs +18 -0
- package/dist/server-query.mjs.map +1 -0
- package/dist/server.cjs +25739 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.mts +47 -0
- package/dist/server.d.ts +47 -0
- package/dist/server.mjs +511 -0
- package/dist/server.mjs.map +1 -0
- package/dist/storage.cjs +515 -0
- package/dist/storage.cjs.map +1 -0
- package/dist/storage.d.mts +52 -0
- package/dist/storage.d.ts +52 -0
- package/dist/storage.mjs +58 -0
- package/dist/storage.mjs.map +1 -0
- package/dist/testing.cjs +1882 -0
- package/dist/testing.cjs.map +1 -0
- package/dist/testing.d.mts +100 -0
- package/dist/testing.d.ts +100 -0
- package/dist/testing.mjs +324 -0
- package/dist/testing.mjs.map +1 -0
- package/dist/types-BH1lhg5G.d.mts +81 -0
- package/dist/types-BH1lhg5G.d.ts +81 -0
- package/dist/types-C9N-nk5R.d.mts +53 -0
- package/dist/types-C9N-nk5R.d.ts +53 -0
- package/dist/types-D1A6-XvH.d.mts +73 -0
- package/dist/types-D1A6-XvH.d.ts +73 -0
- package/dist/utils-DA1yo54_.d.ts +23 -0
- package/dist/utils-DOXXivjL.d.mts +23 -0
- package/dist/vite.cjs +22684 -0
- package/dist/vite.cjs.map +1 -0
- package/dist/vite.d.mts +21 -0
- package/dist/vite.d.ts +21 -0
- package/dist/vite.mjs +59 -0
- package/dist/vite.mjs.map +1 -0
- package/dist/workflows.cjs +586 -0
- package/dist/workflows.cjs.map +1 -0
- package/dist/workflows.d.mts +110 -0
- package/dist/workflows.d.ts +110 -0
- package/dist/workflows.mjs +32 -0
- package/dist/workflows.mjs.map +1 -0
- package/package.json +523 -0
- package/types/api.d.ts +88 -0
- package/types/client.d.ts +1171 -0
- package/types/index.d.ts +17 -0
- package/types/middleware.d.ts +266 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// src/markdown.ts
|
|
22
|
+
var markdown_exports = {};
|
|
23
|
+
__export(markdown_exports, {
|
|
24
|
+
createMarkdownMirrorResponse: () => createMarkdownMirrorResponse,
|
|
25
|
+
htmlToMarkdown: () => htmlToMarkdown,
|
|
26
|
+
resolveMarkdownConfig: () => resolveMarkdownConfig,
|
|
27
|
+
resolveMarkdownMirrorTarget: () => resolveMarkdownMirrorTarget
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(markdown_exports);
|
|
30
|
+
function resolveMarkdownConfig(config) {
|
|
31
|
+
if (config === false || config === void 0) {
|
|
32
|
+
return {
|
|
33
|
+
enabled: false,
|
|
34
|
+
expose: [],
|
|
35
|
+
cache: false,
|
|
36
|
+
includeMetadata: true
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (config === true) {
|
|
40
|
+
return {
|
|
41
|
+
enabled: true,
|
|
42
|
+
expose: true,
|
|
43
|
+
cache: false,
|
|
44
|
+
includeMetadata: true
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const exposeInput = config.expose ?? config.routes ?? [];
|
|
48
|
+
const expose = exposeInput === true ? true : Array.isArray(exposeInput) ? exposeInput.map(normalizeMarkdownRouteInput) : [];
|
|
49
|
+
return {
|
|
50
|
+
enabled: config.enabled !== false && (expose === true || expose.length > 0),
|
|
51
|
+
expose,
|
|
52
|
+
cache: config.cache ?? false,
|
|
53
|
+
includeMetadata: config.includeMetadata ?? true
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
__name(resolveMarkdownConfig, "resolveMarkdownConfig");
|
|
57
|
+
function resolveMarkdownMirrorTarget(config, pathname) {
|
|
58
|
+
if (!config?.enabled || !pathname.endsWith(".md")) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
const targetPathname = normalizeMarkdownRoute(pathname.slice(0, -".md".length) || "/");
|
|
62
|
+
const route = findExposedMarkdownRoute(config, targetPathname);
|
|
63
|
+
if (!route && config.expose !== true) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
pathname: targetPathname,
|
|
68
|
+
route
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
__name(resolveMarkdownMirrorTarget, "resolveMarkdownMirrorTarget");
|
|
72
|
+
async function createMarkdownMirrorResponse(options) {
|
|
73
|
+
if (options.request.method !== "GET" && options.request.method !== "HEAD") {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
const requestUrl = new URL(options.request.url);
|
|
77
|
+
const target = resolveMarkdownMirrorTarget(options.config, requestUrl.pathname);
|
|
78
|
+
if (!target) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
if (options.routeExists && !options.routeExists(target.pathname)) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
const pageUrl = new URL(options.request.url);
|
|
85
|
+
pageUrl.pathname = target.pathname;
|
|
86
|
+
const headers = new Headers(options.request.headers);
|
|
87
|
+
headers.set("accept", "text/html");
|
|
88
|
+
const pageResponse = await options.renderPage(
|
|
89
|
+
new Request(pageUrl, {
|
|
90
|
+
method: "GET",
|
|
91
|
+
headers
|
|
92
|
+
})
|
|
93
|
+
);
|
|
94
|
+
if (!isHtmlResponse(pageResponse)) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
const html = await pageResponse.text();
|
|
98
|
+
const markdown = htmlToMarkdown(html, {
|
|
99
|
+
title: target.route?.title,
|
|
100
|
+
includeMetadata: options.config?.includeMetadata ?? true,
|
|
101
|
+
sourcePath: target.pathname
|
|
102
|
+
});
|
|
103
|
+
const headersOut = new Headers({
|
|
104
|
+
"Content-Type": "text/markdown; charset=utf-8",
|
|
105
|
+
"X-Farm-Markdown-Route": target.pathname
|
|
106
|
+
});
|
|
107
|
+
const cache = target.route?.cache ?? options.config?.cache ?? false;
|
|
108
|
+
headersOut.set("Cache-Control", createMarkdownCacheHeader(cache));
|
|
109
|
+
return new Response(options.request.method === "HEAD" ? null : markdown, {
|
|
110
|
+
status: pageResponse.status,
|
|
111
|
+
headers: headersOut
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
__name(createMarkdownMirrorResponse, "createMarkdownMirrorResponse");
|
|
115
|
+
function htmlToMarkdown(html, options = {}) {
|
|
116
|
+
const title = options.title ?? extractHtmlTitle(html);
|
|
117
|
+
let source = extractHtmlBody(html).replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, "").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, "").replace(/<noscript\b[^>]*>[\s\S]*?<\/noscript>/gi, "").replace(/<!--[\s\S]*?-->/g, "");
|
|
118
|
+
source = source.replace(/<pre\b[^>]*><code\b[^>]*>([\s\S]*?)<\/code><\/pre>/gi, (_, code) => {
|
|
119
|
+
return `
|
|
120
|
+
|
|
121
|
+
\`\`\`
|
|
122
|
+
${decodeHtml(stripTags(code)).trim()}
|
|
123
|
+
\`\`\`
|
|
124
|
+
|
|
125
|
+
`;
|
|
126
|
+
});
|
|
127
|
+
source = source.replace(/<pre\b[^>]*>([\s\S]*?)<\/pre>/gi, (_, code) => {
|
|
128
|
+
return `
|
|
129
|
+
|
|
130
|
+
\`\`\`
|
|
131
|
+
${decodeHtml(stripTags(code)).trim()}
|
|
132
|
+
\`\`\`
|
|
133
|
+
|
|
134
|
+
`;
|
|
135
|
+
});
|
|
136
|
+
source = source.replace(/<h([1-6])\b[^>]*>([\s\S]*?)<\/h\1>/gi, (_, level, content) => {
|
|
137
|
+
return `
|
|
138
|
+
|
|
139
|
+
${"#".repeat(Number(level))} ${toInlineMarkdown(content).trim()}
|
|
140
|
+
|
|
141
|
+
`;
|
|
142
|
+
});
|
|
143
|
+
source = source.replace(/<p\b[^>]*>([\s\S]*?)<\/p>/gi, (_, content) => {
|
|
144
|
+
return `
|
|
145
|
+
|
|
146
|
+
${toInlineMarkdown(content).trim()}
|
|
147
|
+
|
|
148
|
+
`;
|
|
149
|
+
});
|
|
150
|
+
source = source.replace(/<blockquote\b[^>]*>([\s\S]*?)<\/blockquote>/gi, (_, content) => {
|
|
151
|
+
const quote = htmlToMarkdown(content, { includeMetadata: false }).split("\n").filter((line) => line.trim().length > 0).map((line) => `> ${line}`).join("\n");
|
|
152
|
+
return `
|
|
153
|
+
|
|
154
|
+
${quote}
|
|
155
|
+
|
|
156
|
+
`;
|
|
157
|
+
});
|
|
158
|
+
source = source.replace(/<li\b[^>]*>([\s\S]*?)<\/li>/gi, (_, content) => {
|
|
159
|
+
return `
|
|
160
|
+
- ${toInlineMarkdown(content).trim()}`;
|
|
161
|
+
});
|
|
162
|
+
source = source.replace(/<\/?(ul|ol|main|section|article|header|footer|nav|aside|div)\b[^>]*>/gi, "\n").replace(/<br\s*\/?>/gi, "\n").replace(/<hr\s*\/?>/gi, "\n\n---\n\n");
|
|
163
|
+
let markdown = stripTags(source).split("\n").map((line) => line.replace(/[ \t]+$/g, "")).join("\n").replace(/\n{3,}/g, "\n\n").trim();
|
|
164
|
+
if (options.includeMetadata !== false) {
|
|
165
|
+
const metadata = [];
|
|
166
|
+
if (title && !markdown.startsWith("# ")) {
|
|
167
|
+
metadata.push(`# ${title}`);
|
|
168
|
+
}
|
|
169
|
+
if (options.sourcePath) {
|
|
170
|
+
metadata.push(`Source: ${options.sourcePath}`);
|
|
171
|
+
}
|
|
172
|
+
if (metadata.length) {
|
|
173
|
+
markdown = `${metadata.join("\n\n")}${markdown ? `
|
|
174
|
+
|
|
175
|
+
${markdown}` : ""}`;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return `${markdown}
|
|
179
|
+
`;
|
|
180
|
+
}
|
|
181
|
+
__name(htmlToMarkdown, "htmlToMarkdown");
|
|
182
|
+
function normalizeMarkdownRouteInput(input) {
|
|
183
|
+
if (typeof input === "string") {
|
|
184
|
+
return {
|
|
185
|
+
route: normalizeMarkdownRoute(input)
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
return {
|
|
189
|
+
...input,
|
|
190
|
+
route: normalizeMarkdownRoute(input.route)
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
__name(normalizeMarkdownRouteInput, "normalizeMarkdownRouteInput");
|
|
194
|
+
function normalizeMarkdownRoute(route) {
|
|
195
|
+
const withoutMarkdownExtension = route.endsWith(".md") ? route.slice(0, -3) : route;
|
|
196
|
+
const withSlash = withoutMarkdownExtension.startsWith("/") ? withoutMarkdownExtension : `/${withoutMarkdownExtension}`;
|
|
197
|
+
const normalized = withSlash.replace(/\/+/g, "/").replace(/\/$/g, "");
|
|
198
|
+
return normalized === "" || normalized === "/index" ? "/" : normalized;
|
|
199
|
+
}
|
|
200
|
+
__name(normalizeMarkdownRoute, "normalizeMarkdownRoute");
|
|
201
|
+
function findExposedMarkdownRoute(config, pathname) {
|
|
202
|
+
if (config.expose === true) {
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
return config.expose.find((route) => routeMatches(route.route, pathname)) ?? null;
|
|
206
|
+
}
|
|
207
|
+
__name(findExposedMarkdownRoute, "findExposedMarkdownRoute");
|
|
208
|
+
function routeMatches(pattern, pathname) {
|
|
209
|
+
if (pattern === pathname) {
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
const escaped = pattern.split("/").map((segment) => {
|
|
213
|
+
if (/^\[\.\.\.[^\]]+\]$/.test(segment)) {
|
|
214
|
+
return ".*";
|
|
215
|
+
}
|
|
216
|
+
if (/^\[[^\]]+\]$/.test(segment)) {
|
|
217
|
+
return "[^/]+";
|
|
218
|
+
}
|
|
219
|
+
return segment.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
220
|
+
}).join("/");
|
|
221
|
+
return new RegExp(`^${escaped}$`).test(pathname);
|
|
222
|
+
}
|
|
223
|
+
__name(routeMatches, "routeMatches");
|
|
224
|
+
function isHtmlResponse(response) {
|
|
225
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
226
|
+
return contentType.includes("text/html");
|
|
227
|
+
}
|
|
228
|
+
__name(isHtmlResponse, "isHtmlResponse");
|
|
229
|
+
function createMarkdownCacheHeader(cache) {
|
|
230
|
+
if (cache === false || cache <= 0) {
|
|
231
|
+
return "no-store";
|
|
232
|
+
}
|
|
233
|
+
return `public, max-age=${cache}, s-maxage=${cache}`;
|
|
234
|
+
}
|
|
235
|
+
__name(createMarkdownCacheHeader, "createMarkdownCacheHeader");
|
|
236
|
+
function extractHtmlTitle(html) {
|
|
237
|
+
const match = html.match(/<title\b[^>]*>([\s\S]*?)<\/title>/i);
|
|
238
|
+
return match ? decodeHtml(stripTags(match[1])).trim() : void 0;
|
|
239
|
+
}
|
|
240
|
+
__name(extractHtmlTitle, "extractHtmlTitle");
|
|
241
|
+
function extractHtmlBody(html) {
|
|
242
|
+
const rootMatch = html.match(
|
|
243
|
+
/<div\b[^>]*id=["']root["'][^>]*>([\s\S]*?)<\/div>\s*(?:<script|<\/body>|$)/i
|
|
244
|
+
);
|
|
245
|
+
const bodyMatch = html.match(/<body\b[^>]*>([\s\S]*?)<\/body>/i);
|
|
246
|
+
const body = rootMatch ? rootMatch[1] : bodyMatch ? bodyMatch[1] : html;
|
|
247
|
+
return extractFirstElementContent(body, ["main", "article"]) ?? body;
|
|
248
|
+
}
|
|
249
|
+
__name(extractHtmlBody, "extractHtmlBody");
|
|
250
|
+
function extractFirstElementContent(html, tagNames) {
|
|
251
|
+
for (const tagName of tagNames) {
|
|
252
|
+
const match = html.match(new RegExp(`<${tagName}\\b[^>]*>([\\s\\S]*?)<\\/${tagName}>`, "i"));
|
|
253
|
+
if (match) {
|
|
254
|
+
return match[1];
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return void 0;
|
|
258
|
+
}
|
|
259
|
+
__name(extractFirstElementContent, "extractFirstElementContent");
|
|
260
|
+
function toInlineMarkdown(html) {
|
|
261
|
+
let source = html.replace(/<a\b[^>]*href=["']([^"']+)["'][^>]*>([\s\S]*?)<\/a>/gi, (_, href, text) => {
|
|
262
|
+
const label = toInlineMarkdown(text).trim() || href;
|
|
263
|
+
return `[${label}](${decodeHtml(href)})`;
|
|
264
|
+
}).replace(
|
|
265
|
+
/<img\b[^>]*src=["']([^"']+)["'][^>]*alt=["']([^"']*)["'][^>]*\/?>/gi,
|
|
266
|
+
(_, src, alt) => {
|
|
267
|
+
return `})`;
|
|
268
|
+
}
|
|
269
|
+
).replace(/<strong\b[^>]*>([\s\S]*?)<\/strong>/gi, (_, content) => {
|
|
270
|
+
return `**${toInlineMarkdown(content).trim()}**`;
|
|
271
|
+
}).replace(/<b\b[^>]*>([\s\S]*?)<\/b>/gi, (_, content) => {
|
|
272
|
+
return `**${toInlineMarkdown(content).trim()}**`;
|
|
273
|
+
}).replace(/<em\b[^>]*>([\s\S]*?)<\/em>/gi, (_, content) => {
|
|
274
|
+
return `_${toInlineMarkdown(content).trim()}_`;
|
|
275
|
+
}).replace(/<i\b[^>]*>([\s\S]*?)<\/i>/gi, (_, content) => {
|
|
276
|
+
return `_${toInlineMarkdown(content).trim()}_`;
|
|
277
|
+
}).replace(/<code\b[^>]*>([\s\S]*?)<\/code>/gi, (_, content) => {
|
|
278
|
+
return `\`${decodeHtml(stripTags(content)).trim()}\``;
|
|
279
|
+
}).replace(/<br\s*\/?>/gi, "\n");
|
|
280
|
+
source = stripTags(source);
|
|
281
|
+
return decodeHtml(source).replace(/\s+/g, " ");
|
|
282
|
+
}
|
|
283
|
+
__name(toInlineMarkdown, "toInlineMarkdown");
|
|
284
|
+
function stripTags(input) {
|
|
285
|
+
return input.replace(/<[^>]+>/g, "");
|
|
286
|
+
}
|
|
287
|
+
__name(stripTags, "stripTags");
|
|
288
|
+
function decodeHtml(input) {
|
|
289
|
+
return input.replace(/ /g, " ").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/'/g, "'").replace(/&#x([0-9a-f]+);/gi, (_, code) => String.fromCodePoint(Number.parseInt(code, 16))).replace(/&#(\d+);/g, (_, code) => String.fromCodePoint(Number.parseInt(code, 10)));
|
|
290
|
+
}
|
|
291
|
+
__name(decodeHtml, "decodeHtml");
|
|
292
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
293
|
+
0 && (module.exports = {
|
|
294
|
+
createMarkdownMirrorResponse,
|
|
295
|
+
htmlToMarkdown,
|
|
296
|
+
resolveMarkdownConfig,
|
|
297
|
+
resolveMarkdownMirrorTarget
|
|
298
|
+
});
|
|
299
|
+
//# sourceMappingURL=markdown.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/markdown.ts"],"sourcesContent":["export type FarmMarkdownRouteInput =\n | string\n | {\n route: string;\n title?: string;\n cache?: number | false;\n };\n\nexport interface FarmMarkdownUserConfig {\n enabled?: boolean;\n expose?: boolean | FarmMarkdownRouteInput[];\n routes?: FarmMarkdownRouteInput[];\n cache?: number | false;\n includeMetadata?: boolean;\n}\n\nexport interface FarmMarkdownResolvedRoute {\n route: string;\n title?: string;\n cache?: number | false;\n}\n\nexport interface FarmMarkdownResolvedConfig {\n enabled: boolean;\n expose: true | FarmMarkdownResolvedRoute[];\n cache: number | false;\n includeMetadata: boolean;\n}\n\nexport interface FarmMarkdownMirrorTarget {\n pathname: string;\n route: FarmMarkdownResolvedRoute | null;\n}\n\nexport interface CreateMarkdownMirrorResponseOptions {\n request: Request;\n config?: FarmMarkdownResolvedConfig;\n routeExists?: (pathname: string) => boolean;\n renderPage: (request: Request) => Response | Promise<Response>;\n}\n\nexport function resolveMarkdownConfig(\n config: FarmMarkdownUserConfig | boolean | undefined,\n): FarmMarkdownResolvedConfig {\n if (config === false || config === undefined) {\n return {\n enabled: false,\n expose: [],\n cache: false,\n includeMetadata: true,\n };\n }\n\n if (config === true) {\n return {\n enabled: true,\n expose: true,\n cache: false,\n includeMetadata: true,\n };\n }\n\n const exposeInput = config.expose ?? config.routes ?? [];\n const expose =\n exposeInput === true\n ? true\n : Array.isArray(exposeInput)\n ? exposeInput.map(normalizeMarkdownRouteInput)\n : [];\n\n return {\n enabled: config.enabled !== false && (expose === true || expose.length > 0),\n expose,\n cache: config.cache ?? false,\n includeMetadata: config.includeMetadata ?? true,\n };\n}\n\nexport function resolveMarkdownMirrorTarget(\n config: FarmMarkdownResolvedConfig | undefined,\n pathname: string,\n): FarmMarkdownMirrorTarget | null {\n if (!config?.enabled || !pathname.endsWith(\".md\")) {\n return null;\n }\n\n const targetPathname = normalizeMarkdownRoute(pathname.slice(0, -\".md\".length) || \"/\");\n const route = findExposedMarkdownRoute(config, targetPathname);\n if (!route && config.expose !== true) {\n return null;\n }\n\n return {\n pathname: targetPathname,\n route,\n };\n}\n\nexport async function createMarkdownMirrorResponse(\n options: CreateMarkdownMirrorResponseOptions,\n): Promise<Response | null> {\n if (options.request.method !== \"GET\" && options.request.method !== \"HEAD\") {\n return null;\n }\n\n const requestUrl = new URL(options.request.url);\n const target = resolveMarkdownMirrorTarget(options.config, requestUrl.pathname);\n if (!target) {\n return null;\n }\n\n if (options.routeExists && !options.routeExists(target.pathname)) {\n return null;\n }\n\n const pageUrl = new URL(options.request.url);\n pageUrl.pathname = target.pathname;\n const headers = new Headers(options.request.headers);\n headers.set(\"accept\", \"text/html\");\n\n const pageResponse = await options.renderPage(\n new Request(pageUrl, {\n method: \"GET\",\n headers,\n }),\n );\n\n if (!isHtmlResponse(pageResponse)) {\n return null;\n }\n\n const html = await pageResponse.text();\n const markdown = htmlToMarkdown(html, {\n title: target.route?.title,\n includeMetadata: options.config?.includeMetadata ?? true,\n sourcePath: target.pathname,\n });\n const headersOut = new Headers({\n \"Content-Type\": \"text/markdown; charset=utf-8\",\n \"X-Farm-Markdown-Route\": target.pathname,\n });\n const cache = target.route?.cache ?? options.config?.cache ?? false;\n headersOut.set(\"Cache-Control\", createMarkdownCacheHeader(cache));\n\n return new Response(options.request.method === \"HEAD\" ? null : markdown, {\n status: pageResponse.status,\n headers: headersOut,\n });\n}\n\nexport function htmlToMarkdown(\n html: string,\n options: {\n title?: string;\n sourcePath?: string;\n includeMetadata?: boolean;\n } = {},\n): string {\n const title = options.title ?? extractHtmlTitle(html);\n let source = extractHtmlBody(html)\n .replace(/<script\\b[^>]*>[\\s\\S]*?<\\/script>/gi, \"\")\n .replace(/<style\\b[^>]*>[\\s\\S]*?<\\/style>/gi, \"\")\n .replace(/<noscript\\b[^>]*>[\\s\\S]*?<\\/noscript>/gi, \"\")\n .replace(/<!--[\\s\\S]*?-->/g, \"\");\n\n source = source.replace(/<pre\\b[^>]*><code\\b[^>]*>([\\s\\S]*?)<\\/code><\\/pre>/gi, (_, code) => {\n return `\\n\\n\\`\\`\\`\\n${decodeHtml(stripTags(code)).trim()}\\n\\`\\`\\`\\n\\n`;\n });\n source = source.replace(/<pre\\b[^>]*>([\\s\\S]*?)<\\/pre>/gi, (_, code) => {\n return `\\n\\n\\`\\`\\`\\n${decodeHtml(stripTags(code)).trim()}\\n\\`\\`\\`\\n\\n`;\n });\n source = source.replace(/<h([1-6])\\b[^>]*>([\\s\\S]*?)<\\/h\\1>/gi, (_, level, content) => {\n return `\\n\\n${\"#\".repeat(Number(level))} ${toInlineMarkdown(content).trim()}\\n\\n`;\n });\n source = source.replace(/<p\\b[^>]*>([\\s\\S]*?)<\\/p>/gi, (_, content) => {\n return `\\n\\n${toInlineMarkdown(content).trim()}\\n\\n`;\n });\n source = source.replace(/<blockquote\\b[^>]*>([\\s\\S]*?)<\\/blockquote>/gi, (_, content) => {\n const quote = htmlToMarkdown(content, { includeMetadata: false })\n .split(\"\\n\")\n .filter((line) => line.trim().length > 0)\n .map((line) => `> ${line}`)\n .join(\"\\n\");\n return `\\n\\n${quote}\\n\\n`;\n });\n source = source.replace(/<li\\b[^>]*>([\\s\\S]*?)<\\/li>/gi, (_, content) => {\n return `\\n- ${toInlineMarkdown(content).trim()}`;\n });\n source = source\n .replace(/<\\/?(ul|ol|main|section|article|header|footer|nav|aside|div)\\b[^>]*>/gi, \"\\n\")\n .replace(/<br\\s*\\/?>/gi, \"\\n\")\n .replace(/<hr\\s*\\/?>/gi, \"\\n\\n---\\n\\n\");\n\n let markdown = stripTags(source)\n .split(\"\\n\")\n .map((line) => line.replace(/[ \\t]+$/g, \"\"))\n .join(\"\\n\")\n .replace(/\\n{3,}/g, \"\\n\\n\")\n .trim();\n\n if (options.includeMetadata !== false) {\n const metadata: string[] = [];\n if (title && !markdown.startsWith(\"# \")) {\n metadata.push(`# ${title}`);\n }\n if (options.sourcePath) {\n metadata.push(`Source: ${options.sourcePath}`);\n }\n if (metadata.length) {\n markdown = `${metadata.join(\"\\n\\n\")}${markdown ? `\\n\\n${markdown}` : \"\"}`;\n }\n }\n\n return `${markdown}\\n`;\n}\n\nfunction normalizeMarkdownRouteInput(input: FarmMarkdownRouteInput): FarmMarkdownResolvedRoute {\n if (typeof input === \"string\") {\n return {\n route: normalizeMarkdownRoute(input),\n };\n }\n\n return {\n ...input,\n route: normalizeMarkdownRoute(input.route),\n };\n}\n\nfunction normalizeMarkdownRoute(route: string): string {\n const withoutMarkdownExtension = route.endsWith(\".md\") ? route.slice(0, -3) : route;\n const withSlash = withoutMarkdownExtension.startsWith(\"/\")\n ? withoutMarkdownExtension\n : `/${withoutMarkdownExtension}`;\n const normalized = withSlash.replace(/\\/+/g, \"/\").replace(/\\/$/g, \"\");\n return normalized === \"\" || normalized === \"/index\" ? \"/\" : normalized;\n}\n\nfunction findExposedMarkdownRoute(\n config: FarmMarkdownResolvedConfig,\n pathname: string,\n): FarmMarkdownResolvedRoute | null {\n if (config.expose === true) {\n return null;\n }\n\n return config.expose.find((route) => routeMatches(route.route, pathname)) ?? null;\n}\n\nfunction routeMatches(pattern: string, pathname: string): boolean {\n if (pattern === pathname) {\n return true;\n }\n\n const escaped = pattern\n .split(\"/\")\n .map((segment) => {\n if (/^\\[\\.\\.\\.[^\\]]+\\]$/.test(segment)) {\n return \".*\";\n }\n if (/^\\[[^\\]]+\\]$/.test(segment)) {\n return \"[^/]+\";\n }\n return segment.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n })\n .join(\"/\");\n\n return new RegExp(`^${escaped}$`).test(pathname);\n}\n\nfunction isHtmlResponse(response: Response): boolean {\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n return contentType.includes(\"text/html\");\n}\n\nfunction createMarkdownCacheHeader(cache: number | false): string {\n if (cache === false || cache <= 0) {\n return \"no-store\";\n }\n\n return `public, max-age=${cache}, s-maxage=${cache}`;\n}\n\nfunction extractHtmlTitle(html: string): string | undefined {\n const match = html.match(/<title\\b[^>]*>([\\s\\S]*?)<\\/title>/i);\n return match ? decodeHtml(stripTags(match[1])).trim() : undefined;\n}\n\nfunction extractHtmlBody(html: string): string {\n const rootMatch = html.match(\n /<div\\b[^>]*id=[\"']root[\"'][^>]*>([\\s\\S]*?)<\\/div>\\s*(?:<script|<\\/body>|$)/i,\n );\n const bodyMatch = html.match(/<body\\b[^>]*>([\\s\\S]*?)<\\/body>/i);\n const body = rootMatch ? rootMatch[1] : bodyMatch ? bodyMatch[1] : html;\n return extractFirstElementContent(body, [\"main\", \"article\"]) ?? body;\n}\n\nfunction extractFirstElementContent(html: string, tagNames: string[]): string | undefined {\n for (const tagName of tagNames) {\n const match = html.match(new RegExp(`<${tagName}\\\\b[^>]*>([\\\\s\\\\S]*?)<\\\\/${tagName}>`, \"i\"));\n if (match) {\n return match[1];\n }\n }\n\n return undefined;\n}\n\nfunction toInlineMarkdown(html: string): string {\n let source = html\n .replace(/<a\\b[^>]*href=[\"']([^\"']+)[\"'][^>]*>([\\s\\S]*?)<\\/a>/gi, (_, href, text) => {\n const label: string = toInlineMarkdown(text).trim() || href;\n return `[${label}](${decodeHtml(href)})`;\n })\n .replace(\n /<img\\b[^>]*src=[\"']([^\"']+)[\"'][^>]*alt=[\"']([^\"']*)[\"'][^>]*\\/?>/gi,\n (_, src, alt) => {\n return `})`;\n },\n )\n .replace(/<strong\\b[^>]*>([\\s\\S]*?)<\\/strong>/gi, (_, content) => {\n return `**${toInlineMarkdown(content).trim()}**`;\n })\n .replace(/<b\\b[^>]*>([\\s\\S]*?)<\\/b>/gi, (_, content) => {\n return `**${toInlineMarkdown(content).trim()}**`;\n })\n .replace(/<em\\b[^>]*>([\\s\\S]*?)<\\/em>/gi, (_, content) => {\n return `_${toInlineMarkdown(content).trim()}_`;\n })\n .replace(/<i\\b[^>]*>([\\s\\S]*?)<\\/i>/gi, (_, content) => {\n return `_${toInlineMarkdown(content).trim()}_`;\n })\n .replace(/<code\\b[^>]*>([\\s\\S]*?)<\\/code>/gi, (_, content) => {\n return `\\`${decodeHtml(stripTags(content)).trim()}\\``;\n })\n .replace(/<br\\s*\\/?>/gi, \"\\n\");\n\n source = stripTags(source);\n return decodeHtml(source).replace(/\\s+/g, \" \");\n}\n\nfunction stripTags(input: string): string {\n return input.replace(/<[^>]+>/g, \"\");\n}\n\nfunction decodeHtml(input: string): string {\n return input\n .replace(/ /g, \" \")\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")\n .replace(/"/g, '\"')\n .replace(/'/g, \"'\")\n .replace(/&#x([0-9a-f]+);/gi, (_, code) => String.fromCodePoint(Number.parseInt(code, 16)))\n .replace(/&#(\\d+);/g, (_, code) => String.fromCodePoint(Number.parseInt(code, 10)));\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
type FarmMarkdownRouteInput = string | {
|
|
2
|
+
route: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
cache?: number | false;
|
|
5
|
+
};
|
|
6
|
+
interface FarmMarkdownUserConfig {
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
expose?: boolean | FarmMarkdownRouteInput[];
|
|
9
|
+
routes?: FarmMarkdownRouteInput[];
|
|
10
|
+
cache?: number | false;
|
|
11
|
+
includeMetadata?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface FarmMarkdownResolvedRoute {
|
|
14
|
+
route: string;
|
|
15
|
+
title?: string;
|
|
16
|
+
cache?: number | false;
|
|
17
|
+
}
|
|
18
|
+
interface FarmMarkdownResolvedConfig {
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
expose: true | FarmMarkdownResolvedRoute[];
|
|
21
|
+
cache: number | false;
|
|
22
|
+
includeMetadata: boolean;
|
|
23
|
+
}
|
|
24
|
+
interface FarmMarkdownMirrorTarget {
|
|
25
|
+
pathname: string;
|
|
26
|
+
route: FarmMarkdownResolvedRoute | null;
|
|
27
|
+
}
|
|
28
|
+
interface CreateMarkdownMirrorResponseOptions {
|
|
29
|
+
request: Request;
|
|
30
|
+
config?: FarmMarkdownResolvedConfig;
|
|
31
|
+
routeExists?: (pathname: string) => boolean;
|
|
32
|
+
renderPage: (request: Request) => Response | Promise<Response>;
|
|
33
|
+
}
|
|
34
|
+
declare function resolveMarkdownConfig(config: FarmMarkdownUserConfig | boolean | undefined): FarmMarkdownResolvedConfig;
|
|
35
|
+
declare function resolveMarkdownMirrorTarget(config: FarmMarkdownResolvedConfig | undefined, pathname: string): FarmMarkdownMirrorTarget | null;
|
|
36
|
+
declare function createMarkdownMirrorResponse(options: CreateMarkdownMirrorResponseOptions): Promise<Response | null>;
|
|
37
|
+
declare function htmlToMarkdown(html: string, options?: {
|
|
38
|
+
title?: string;
|
|
39
|
+
sourcePath?: string;
|
|
40
|
+
includeMetadata?: boolean;
|
|
41
|
+
}): string;
|
|
42
|
+
|
|
43
|
+
export { type CreateMarkdownMirrorResponseOptions, type FarmMarkdownMirrorTarget, type FarmMarkdownResolvedConfig, type FarmMarkdownResolvedRoute, type FarmMarkdownRouteInput, type FarmMarkdownUserConfig, createMarkdownMirrorResponse, htmlToMarkdown, resolveMarkdownConfig, resolveMarkdownMirrorTarget };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
type FarmMarkdownRouteInput = string | {
|
|
2
|
+
route: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
cache?: number | false;
|
|
5
|
+
};
|
|
6
|
+
interface FarmMarkdownUserConfig {
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
expose?: boolean | FarmMarkdownRouteInput[];
|
|
9
|
+
routes?: FarmMarkdownRouteInput[];
|
|
10
|
+
cache?: number | false;
|
|
11
|
+
includeMetadata?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface FarmMarkdownResolvedRoute {
|
|
14
|
+
route: string;
|
|
15
|
+
title?: string;
|
|
16
|
+
cache?: number | false;
|
|
17
|
+
}
|
|
18
|
+
interface FarmMarkdownResolvedConfig {
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
expose: true | FarmMarkdownResolvedRoute[];
|
|
21
|
+
cache: number | false;
|
|
22
|
+
includeMetadata: boolean;
|
|
23
|
+
}
|
|
24
|
+
interface FarmMarkdownMirrorTarget {
|
|
25
|
+
pathname: string;
|
|
26
|
+
route: FarmMarkdownResolvedRoute | null;
|
|
27
|
+
}
|
|
28
|
+
interface CreateMarkdownMirrorResponseOptions {
|
|
29
|
+
request: Request;
|
|
30
|
+
config?: FarmMarkdownResolvedConfig;
|
|
31
|
+
routeExists?: (pathname: string) => boolean;
|
|
32
|
+
renderPage: (request: Request) => Response | Promise<Response>;
|
|
33
|
+
}
|
|
34
|
+
declare function resolveMarkdownConfig(config: FarmMarkdownUserConfig | boolean | undefined): FarmMarkdownResolvedConfig;
|
|
35
|
+
declare function resolveMarkdownMirrorTarget(config: FarmMarkdownResolvedConfig | undefined, pathname: string): FarmMarkdownMirrorTarget | null;
|
|
36
|
+
declare function createMarkdownMirrorResponse(options: CreateMarkdownMirrorResponseOptions): Promise<Response | null>;
|
|
37
|
+
declare function htmlToMarkdown(html: string, options?: {
|
|
38
|
+
title?: string;
|
|
39
|
+
sourcePath?: string;
|
|
40
|
+
includeMetadata?: boolean;
|
|
41
|
+
}): string;
|
|
42
|
+
|
|
43
|
+
export { type CreateMarkdownMirrorResponseOptions, type FarmMarkdownMirrorTarget, type FarmMarkdownResolvedConfig, type FarmMarkdownResolvedRoute, type FarmMarkdownRouteInput, type FarmMarkdownUserConfig, createMarkdownMirrorResponse, htmlToMarkdown, resolveMarkdownConfig, resolveMarkdownMirrorTarget };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createMarkdownMirrorResponse,
|
|
3
|
+
htmlToMarkdown,
|
|
4
|
+
resolveMarkdownConfig,
|
|
5
|
+
resolveMarkdownMirrorTarget
|
|
6
|
+
} from "./chunk-LLC7BNXW.mjs";
|
|
7
|
+
import "./chunk-CGILA3WO.mjs";
|
|
8
|
+
export {
|
|
9
|
+
createMarkdownMirrorResponse,
|
|
10
|
+
htmlToMarkdown,
|
|
11
|
+
resolveMarkdownConfig,
|
|
12
|
+
resolveMarkdownMirrorTarget
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=markdown.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { s as Metadata } from './client-plugins-g4bzuCmo.mjs';
|
|
2
|
+
|
|
3
|
+
type MetadataImageKind = "opengraph" | "twitter";
|
|
4
|
+
interface FarmMetadataImageReference {
|
|
5
|
+
kind: MetadataImageKind;
|
|
6
|
+
href: string;
|
|
7
|
+
alt?: string;
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
|
+
contentType?: string;
|
|
11
|
+
}
|
|
12
|
+
interface RenderedMetadataHead {
|
|
13
|
+
title: string;
|
|
14
|
+
tags: string;
|
|
15
|
+
hasFavicon: boolean;
|
|
16
|
+
}
|
|
17
|
+
type MetadataRecord = Metadata & Record<string, any>;
|
|
18
|
+
declare function mergeMetadata(base: MetadataRecord | undefined, next: MetadataRecord | undefined): MetadataRecord;
|
|
19
|
+
declare function addMetadataImageReference(metadata: MetadataRecord, reference: FarmMetadataImageReference): MetadataRecord;
|
|
20
|
+
declare function renderMetadataHead(metadata: MetadataRecord | undefined): RenderedMetadataHead;
|
|
21
|
+
|
|
22
|
+
export { type MetadataImageKind as M, addMetadataImageReference as a, mergeMetadata as m, renderMetadataHead as r };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { s as Metadata } from './client-plugins-BZnpeTGA.js';
|
|
2
|
+
|
|
3
|
+
type MetadataImageKind = "opengraph" | "twitter";
|
|
4
|
+
interface FarmMetadataImageReference {
|
|
5
|
+
kind: MetadataImageKind;
|
|
6
|
+
href: string;
|
|
7
|
+
alt?: string;
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
|
+
contentType?: string;
|
|
11
|
+
}
|
|
12
|
+
interface RenderedMetadataHead {
|
|
13
|
+
title: string;
|
|
14
|
+
tags: string;
|
|
15
|
+
hasFavicon: boolean;
|
|
16
|
+
}
|
|
17
|
+
type MetadataRecord = Metadata & Record<string, any>;
|
|
18
|
+
declare function mergeMetadata(base: MetadataRecord | undefined, next: MetadataRecord | undefined): MetadataRecord;
|
|
19
|
+
declare function addMetadataImageReference(metadata: MetadataRecord, reference: FarmMetadataImageReference): MetadataRecord;
|
|
20
|
+
declare function renderMetadataHead(metadata: MetadataRecord | undefined): RenderedMetadataHead;
|
|
21
|
+
|
|
22
|
+
export { type MetadataImageKind as M, addMetadataImageReference as a, mergeMetadata as m, renderMetadataHead as r };
|