@farm.js/core 0.1.34 → 0.1.35
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/dist/agent-runtime.cjs +3 -3
- package/dist/agent-runtime.d.mts +4 -5
- package/dist/agent-runtime.d.ts +4 -5
- package/dist/agent-runtime.mjs +2 -2
- package/dist/api/route-manager.cjs +5 -5
- package/dist/api/route-manager.d.mts +6 -7
- package/dist/api/route-manager.d.ts +6 -7
- package/dist/api/route-manager.mjs +4 -4
- package/dist/api/runtime.cjs +6 -4
- package/dist/api/runtime.d.mts +4 -5
- package/dist/api/runtime.d.ts +4 -5
- package/dist/api/runtime.mjs +6 -4
- package/dist/api.cjs +6 -6
- package/dist/api.d.mts +7 -8
- package/dist/api.d.ts +7 -8
- package/dist/api.mjs +5 -5
- package/dist/{app-DgotYGbq.d.ts → app-BXB3JZYc.d.ts} +38 -12
- package/dist/{app-q4rmZlXK.d.mts → app-D_j9AAVL.d.mts} +38 -12
- package/dist/app-markdown.cjs +5 -5
- package/dist/app-markdown.d.mts +5 -6
- package/dist/app-markdown.d.ts +5 -6
- package/dist/app-markdown.mjs +4 -4
- package/dist/{chunk-LMJ7VRHZ.mjs → chunk-22LTEMGQ.mjs} +1 -1
- package/dist/{chunk-AQZFOP7S.mjs → chunk-2G2NNLE2.mjs} +1 -1
- package/dist/{chunk-QJ3J6MZT.cjs → chunk-3BHT4WMP.cjs} +2 -2
- package/dist/{chunk-X242HVD5.mjs → chunk-3PXS2MHU.mjs} +1 -1
- package/dist/{chunk-A5FGU2WU.cjs → chunk-3UH7MRCP.cjs} +19 -23
- package/dist/{chunk-AGC75XAE.mjs → chunk-4JHOT46A.mjs} +1 -1
- package/dist/{chunk-XV5DJTBX.mjs → chunk-4KU5Q7C2.mjs} +424 -230
- package/dist/{chunk-TA5G2HWD.cjs → chunk-4MMGO7YW.cjs} +21 -21
- package/dist/{chunk-7BT4H4P7.cjs → chunk-62XKI4Z3.cjs} +2 -2
- package/dist/{chunk-ZKP7C2B6.mjs → chunk-6DU6UFUE.mjs} +12 -11
- package/dist/{chunk-GOABMOX3.mjs → chunk-6ETPZTJI.mjs} +366 -4
- package/dist/{chunk-7Y6ZNFPX.mjs → chunk-6TJOML4E.mjs} +13 -3
- package/dist/{chunk-3ATMYLLJ.mjs → chunk-6WCPV6G2.mjs} +1 -1
- package/dist/{chunk-BTAG7LI7.cjs → chunk-73MC7ZL6.cjs} +2 -2
- package/dist/chunk-75RZHGLS.cjs +135 -0
- package/dist/{chunk-VKNHTSAP.cjs → chunk-7GLPRTTF.cjs} +2 -2
- package/dist/{chunk-7M52YUMY.cjs → chunk-7L5V3KQO.cjs} +2 -2
- package/dist/{chunk-LI2LMOLR.mjs → chunk-C35ZBVRD.mjs} +12 -3
- package/dist/{chunk-YQVSHTMR.mjs → chunk-CP6X4AEU.mjs} +1 -1
- package/dist/{chunk-QZCT2CQ4.mjs → chunk-CXEN47J3.mjs} +64 -2
- package/dist/{chunk-ATK2R4CH.cjs → chunk-D227TIEN.cjs} +14 -4
- package/dist/{chunk-ROUTX2E5.cjs → chunk-DBNKI4NF.cjs} +12 -3
- package/dist/{chunk-UX5S4JEO.cjs → chunk-EFCQPQMG.cjs} +3 -3
- package/dist/{chunk-K3F2E6GS.cjs → chunk-EJQT6KZN.cjs} +2 -2
- package/dist/{chunk-3LUF2PE2.cjs → chunk-EK4QAEFZ.cjs} +67 -5
- package/dist/{chunk-VVBO3QH7.mjs → chunk-ENLZ4R3Y.mjs} +10 -1
- package/dist/{chunk-XXJU7FCC.cjs → chunk-EUV4YR3V.cjs} +2 -2
- package/dist/{chunk-WNNYOOIB.mjs → chunk-F6Z3Y5KL.mjs} +1 -1
- package/dist/{chunk-PQDFUSXD.cjs → chunk-F7JZENPF.cjs} +33 -32
- package/dist/{chunk-TDFPACVX.cjs → chunk-FTFYRMQQ.cjs} +18 -18
- package/dist/{chunk-657WJNRY.mjs → chunk-G5RT7EXW.mjs} +1 -1
- package/dist/{chunk-MOKLYNHV.cjs → chunk-GFHLGIYC.cjs} +6 -6
- package/dist/{chunk-AWC4VUZL.cjs → chunk-GQ3Z3IZI.cjs} +14 -14
- package/dist/{chunk-75WGQVQA.cjs → chunk-HITLGIAO.cjs} +10 -1
- package/dist/{chunk-GNSDTTWZ.mjs → chunk-HMIJDL7S.mjs} +1 -1
- package/dist/{chunk-PXKIEXZD.mjs → chunk-HUMR6LSU.mjs} +1 -1
- package/dist/{chunk-SJVKK4JE.cjs → chunk-ICUQICNC.cjs} +912 -718
- package/dist/{chunk-P64MIF5B.cjs → chunk-IPXLADVO.cjs} +387 -25
- package/dist/{chunk-KROWKCUH.cjs → chunk-JGLC4TO3.cjs} +8 -1
- package/dist/{chunk-2NQQ5H5G.cjs → chunk-M7MKQXAF.cjs} +2 -1
- package/dist/chunk-NRDBW4MP.mjs +45 -0
- package/dist/chunk-OFZUJMCU.mjs +601 -0
- package/dist/{chunk-VCCUOMQN.mjs → chunk-OKZUAXHF.mjs} +1 -1
- package/dist/{chunk-EM6SBQKM.cjs → chunk-OMVAU7NT.cjs} +27 -2
- package/dist/{chunk-O27L4YAA.mjs → chunk-PDOCJ6RY.mjs} +2 -2
- package/dist/{chunk-36MK5YCW.cjs → chunk-PFQKNERH.cjs} +346 -206
- package/dist/{chunk-HR5KPHC2.mjs → chunk-Q3VLETLE.mjs} +1 -1
- package/dist/{chunk-LR5QSC2P.mjs → chunk-QAU5JD57.mjs} +211 -71
- package/dist/{chunk-LHODW25H.mjs → chunk-QORUJDIV.mjs} +2 -2
- package/dist/{chunk-UBO4SGH4.mjs → chunk-RHAZ22ZN.mjs} +2 -1
- package/dist/{chunk-ZHPHJPQP.cjs → chunk-RU3M2FIK.cjs} +18 -14
- package/dist/{chunk-JDPAKVS4.mjs → chunk-SAZVVAJH.mjs} +3 -3
- package/dist/{chunk-6VVL3MHY.mjs → chunk-SC2WYWPF.mjs} +1 -1
- package/dist/{chunk-QCFFHV5H.mjs → chunk-SMHH4VDG.mjs} +1 -1
- package/dist/{chunk-U4PTAHW3.mjs → chunk-SOMHP6GF.mjs} +7 -11
- package/dist/{chunk-VHANUNEG.mjs → chunk-UAORZ7QA.mjs} +2 -2
- package/dist/{chunk-NGVORZVZ.mjs → chunk-UJD4PHYB.mjs} +15 -11
- package/dist/{chunk-U74I55WB.cjs → chunk-ULAWS2PA.cjs} +13 -3
- package/dist/{chunk-MPEYMSCF.cjs → chunk-VFQT3LAO.cjs} +5 -5
- package/dist/{chunk-Z2YLTERK.cjs → chunk-VZJR7UTG.cjs} +6 -6
- package/dist/chunk-WWFTAUFG.cjs +45 -0
- package/dist/{chunk-ZUSJDQ2Q.mjs → chunk-WWIKMBRN.mjs} +1 -1
- package/dist/{chunk-QGYRXFU2.cjs → chunk-X6W5FFH6.cjs} +8 -8
- package/dist/{chunk-MIDIZJZC.cjs → chunk-XBML5KMG.cjs} +8 -8
- package/dist/{chunk-G26MUMKL.cjs → chunk-XCACDAZZ.cjs} +4 -4
- package/dist/{chunk-CLJYVZAD.mjs → chunk-XCMCS4DA.mjs} +11 -1
- package/dist/{chunk-XF7Q24PF.mjs → chunk-Y7RKTKYI.mjs} +25 -0
- package/dist/{chunk-ODBZYBAB.cjs → chunk-YC6V7PWE.cjs} +1 -1
- package/dist/{chunk-F6OHXPWR.mjs → chunk-YFILVET3.mjs} +8 -1
- package/dist/{chunk-DZ4DTRJ5.cjs → chunk-YKX5BK66.cjs} +7 -7
- package/dist/chunk-YSLWRWWP.cjs +601 -0
- package/dist/{chunk-3VSKDFAT.mjs → chunk-YULD7ICZ.mjs} +1 -1
- package/dist/chunk-ZLAT2CWY.mjs +135 -0
- package/dist/{chunk-T5CERMEH.cjs → chunk-ZXGAFZDO.cjs} +2 -2
- package/dist/{client-plugins-CLObcuCq.d.mts → client-plugins-CvIslxWi.d.mts} +207 -7
- package/dist/{client-plugins-DZjHC4Mi.d.ts → client-plugins-HIyulDym.d.ts} +207 -7
- package/dist/client-plugins.d.mts +4 -5
- package/dist/client-plugins.d.ts +4 -5
- package/dist/client.cjs +5 -5
- package/dist/client.d.mts +8 -9
- package/dist/client.d.ts +8 -9
- package/dist/client.mjs +4 -4
- package/dist/config.d.mts +4 -5
- package/dist/config.d.ts +4 -5
- package/dist/{devtools-HU6Y2MNV.cjs → devtools-EAUY43BS.cjs} +9 -9
- package/dist/{devtools-RNXCTS4R.mjs → devtools-EE5RIBTH.mjs} +8 -8
- package/dist/docs.cjs +12 -12
- package/dist/docs.d.mts +41 -4
- package/dist/docs.d.ts +41 -4
- package/dist/docs.mjs +11 -11
- package/dist/i18n/client.d.mts +2 -2
- package/dist/i18n/client.d.ts +2 -2
- package/dist/i18n/index.d.mts +3 -3
- package/dist/i18n/index.d.ts +3 -3
- package/dist/i18n/server.d.mts +5 -5
- package/dist/i18n/server.d.ts +5 -5
- package/dist/image/server.cjs +3 -3
- package/dist/image/server.mjs +2 -2
- package/dist/image/sharp.cjs +10 -10
- package/dist/image/sharp.mjs +2 -2
- package/dist/{index-a-8Z5kZU.d.mts → index-BJJfLxJo.d.mts} +2 -2
- package/dist/{index-BWVfxIsO.d.ts → index-CwoOP-MW.d.ts} +2 -2
- package/dist/index.cjs +38 -35
- package/dist/index.d.mts +19 -20
- package/dist/index.d.ts +19 -20
- package/dist/index.mjs +37 -34
- package/dist/integrations.cjs +3 -3
- package/dist/integrations.d.mts +4 -5
- package/dist/integrations.d.ts +4 -5
- package/dist/integrations.mjs +2 -2
- package/dist/internal/app-markdown-runtime.cjs +4 -4
- package/dist/internal/app-markdown-runtime.d.mts +5 -6
- package/dist/internal/app-markdown-runtime.d.ts +5 -6
- package/dist/internal/app-markdown-runtime.mjs +3 -3
- package/dist/internal/build-runtime.cjs +26 -26
- package/dist/internal/build-runtime.d.mts +6 -7
- package/dist/internal/build-runtime.d.ts +6 -7
- package/dist/internal/build-runtime.mjs +25 -25
- package/dist/internal/cli-runtime.cjs +13 -13
- package/dist/internal/cli-runtime.mjs +12 -12
- package/dist/internal/client-error-overlay.cjs +6 -6
- package/dist/internal/client-error-overlay.mjs +2 -2
- package/dist/internal/client-runtime.cjs +2 -2
- package/dist/internal/client-runtime.mjs +1 -1
- package/dist/internal/compression-runtime.d.mts +4 -5
- package/dist/internal/compression-runtime.d.ts +4 -5
- package/dist/internal/config-runtime.cjs +9 -9
- package/dist/internal/config-runtime.d.mts +5 -6
- package/dist/internal/config-runtime.d.ts +5 -6
- package/dist/internal/config-runtime.mjs +8 -8
- package/dist/internal/isolated-boundary.cjs +3 -2
- package/dist/internal/isolated-boundary.d.mts +1 -0
- package/dist/internal/isolated-boundary.d.ts +1 -0
- package/dist/internal/isolated-boundary.mjs +2 -1
- package/dist/internal/metadata-image-runtime.cjs +3 -3
- package/dist/internal/metadata-image-runtime.mjs +2 -2
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.cjs +47 -23
- package/dist/internal/production-runtime.d.mts +58 -18
- package/dist/internal/production-runtime.d.ts +58 -18
- package/dist/internal/production-runtime.mjs +43 -19
- package/dist/internal/server-tree.cjs +12 -0
- package/dist/internal/server-tree.d.mts +27 -0
- package/dist/internal/server-tree.d.ts +27 -0
- package/dist/internal/server-tree.mjs +12 -0
- package/dist/markdown.cjs +3 -3
- package/dist/markdown.d.mts +4 -5
- package/dist/markdown.d.ts +4 -5
- package/dist/markdown.mjs +2 -2
- package/dist/{metadata-Cjs8JMRM.d.ts → metadata-BnLDsUOS.d.ts} +16 -2
- package/dist/{metadata-2HSU2i_w.d.mts → metadata-WGpBYcGn.d.mts} +16 -2
- package/dist/middleware.cjs +4 -4
- package/dist/middleware.d.mts +6 -7
- package/dist/middleware.d.ts +6 -7
- package/dist/middleware.mjs +3 -3
- package/dist/navigation.cjs +5 -5
- package/dist/navigation.d.mts +7 -8
- package/dist/navigation.d.ts +7 -8
- package/dist/navigation.mjs +4 -4
- package/dist/{nitro-4XGPNIK4.mjs → nitro-MXRDCXWZ.mjs} +2 -2
- package/dist/{nitro-HSAQFXSS.cjs → nitro-OVPLKPE2.cjs} +3 -3
- package/dist/{observability-BupkiN0m.d.mts → observability-CoXunYhS.d.mts} +4 -3
- package/dist/{observability-BupkiN0m.d.ts → observability-CoXunYhS.d.ts} +4 -3
- package/dist/observability.d.mts +1 -1
- package/dist/observability.d.ts +1 -1
- package/dist/plugin.cjs +22 -22
- package/dist/plugin.d.mts +4 -5
- package/dist/plugin.d.ts +4 -5
- package/dist/plugin.mjs +21 -21
- package/dist/{production-runtime-CysZl3EV.d.mts → production-runtime-0sRnuYc-.d.mts} +4 -4
- package/dist/{production-runtime-BU5ETAK9.d.ts → production-runtime-Crq6CJ-2.d.ts} +4 -4
- package/dist/query/client.cjs +6 -6
- package/dist/query/client.mjs +2 -2
- package/dist/{render-plan-D72O1qm4.d.ts → render-plan-8ozZh2Qv.d.ts} +1 -1
- package/dist/{render-plan-CKr4ltOd.d.mts → render-plan-gs9GGPzw.d.mts} +1 -1
- package/dist/renderer/react/server.cjs +10 -4
- package/dist/renderer/react/server.d.mts +2 -1
- package/dist/renderer/react/server.d.ts +2 -1
- package/dist/renderer/react/server.mjs +7 -1
- package/dist/renderer-client.cjs +5 -5
- package/dist/renderer-client.d.mts +6 -7
- package/dist/renderer-client.d.ts +6 -7
- package/dist/renderer-client.mjs +2 -2
- package/dist/renderer.d.mts +2 -0
- package/dist/renderer.d.ts +2 -0
- package/dist/{request-DbyOYI2j.d.ts → request-B5G8rLBH.d.ts} +1 -1
- package/dist/{request-Be83WafN.d.mts → request-fkhiynXe.d.mts} +1 -1
- package/dist/request.d.mts +5 -6
- package/dist/request.d.ts +5 -6
- package/dist/{resolver-PPEeiJ6M.d.ts → resolver-DadfRL6F.d.ts} +1 -1
- package/dist/{resolver-DhW0CqZN.d.mts → resolver-khasx3fU.d.mts} +1 -1
- package/dist/{route-rendering-BG56SzvJ.d.mts → route-rendering-CLnS7AZj.d.mts} +1 -1
- package/dist/{route-rendering-CtVMpV-k.d.ts → route-rendering-lS5nUMua.d.ts} +1 -1
- package/dist/{router-D94-SDlW.d.ts → router-4iuiYnOW.d.ts} +1 -1
- package/dist/{router-ALUvm8gC.d.mts → router-ifU8Dui1.d.mts} +1 -1
- package/dist/routes.d.mts +4 -5
- package/dist/routes.d.ts +4 -5
- package/dist/{runtime-BirxPwbZ.d.ts → runtime-BgDQzBiu.d.ts} +2 -2
- package/dist/{runtime-AOJge4vQ.d.mts → runtime-CV2UCV-5.d.mts} +2 -2
- package/dist/server-action-security.cjs +3 -3
- package/dist/server-action-security.mjs +2 -2
- package/dist/server-fn.cjs +4 -4
- package/dist/server-fn.mjs +3 -3
- package/dist/server-plugins.d.mts +5 -6
- package/dist/server-plugins.d.ts +5 -6
- package/dist/server-query.cjs +5 -5
- package/dist/server-query.mjs +4 -4
- package/dist/server.cjs +41 -41
- package/dist/server.d.mts +13 -14
- package/dist/server.d.ts +13 -14
- package/dist/server.mjs +24 -24
- package/dist/{spa-router-DbxNRKOB.d.mts → spa-router-Bq7VCOwx.d.mts} +3 -3
- package/dist/{spa-router-CxK3USIz.d.ts → spa-router-DaJk5Re4.d.ts} +3 -3
- package/dist/testing.cjs +7 -7
- package/dist/testing.d.mts +4 -5
- package/dist/testing.d.ts +4 -5
- package/dist/testing.mjs +5 -5
- package/dist/{types-Z0aotQ8w.d.mts → types-CnH8DOqo.d.mts} +1 -1
- package/dist/{types-Z0aotQ8w.d.ts → types-CnH8DOqo.d.ts} +1 -1
- package/dist/{utils-311Y8eoK.d.ts → utils-BXLmFsVR.d.ts} +1 -1
- package/dist/{utils-4wVRcpOw.d.mts → utils-XJn0c9bj.d.mts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +22 -22
- package/dist/vite.d.mts +4 -5
- package/dist/vite.d.ts +4 -5
- package/dist/vite.mjs +21 -21
- package/dist/{workflows-CR9ex-gz.d.ts → workflows-jZ4BcdoZ.d.mts} +1 -1
- package/dist/{workflows-CR9ex-gz.d.mts → workflows-jZ4BcdoZ.d.ts} +1 -1
- package/dist/workflows.cjs +3 -3
- package/dist/workflows.d.mts +1 -1
- package/dist/workflows.d.ts +1 -1
- package/dist/workflows.mjs +2 -2
- package/package.json +9 -1
- package/dist/chunk-M64YUMA4.cjs +0 -58
- package/dist/chunk-QLQ32WC4.mjs +0 -58
- package/dist/types-DFbjpjXX.d.mts +0 -105
- package/dist/types-DFbjpjXX.d.ts +0 -105
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
isRouteSlotSegment
|
|
3
|
-
|
|
2
|
+
isRouteSlotSegment,
|
|
3
|
+
parseInterceptionMarker
|
|
4
|
+
} from "./chunk-RHAZ22ZN.mjs";
|
|
4
5
|
import {
|
|
5
6
|
normalizeMiddlewareModule,
|
|
6
7
|
parseMiddlewareCookieHeader,
|
|
@@ -193,6 +194,15 @@ import * as path from "path";
|
|
|
193
194
|
|
|
194
195
|
// src/middleware/path.ts
|
|
195
196
|
function appendMiddlewareRoutePath(routePath, directoryName) {
|
|
197
|
+
const marker = parseInterceptionMarker(directoryName);
|
|
198
|
+
if (marker) {
|
|
199
|
+
const owner = routePath.split("/").filter(Boolean);
|
|
200
|
+
const parts = [
|
|
201
|
+
...marker.root ? [] : owner.slice(0, Math.max(0, owner.length - marker.up)),
|
|
202
|
+
...marker.remainder ? [marker.remainder] : []
|
|
203
|
+
];
|
|
204
|
+
return `/${parts.join("/")}`;
|
|
205
|
+
}
|
|
196
206
|
if (directoryName.startsWith("(") && directoryName.endsWith(")") || isRouteSlotSegment(directoryName)) {
|
|
197
207
|
return routePath;
|
|
198
208
|
}
|
|
@@ -287,7 +297,7 @@ var _MiddlewareManager = class _MiddlewareManager {
|
|
|
287
297
|
}
|
|
288
298
|
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
289
299
|
for (const entry of entries) {
|
|
290
|
-
if (entry.isDirectory() && !entry.name.startsWith(".")
|
|
300
|
+
if (entry.isDirectory() && !entry.name.startsWith(".")) {
|
|
291
301
|
await this.discoverInDirectory(
|
|
292
302
|
path.join(dir, entry.name),
|
|
293
303
|
appendMiddlewareRoutePath(routePath, entry.name),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkEFCQPQMGcjs = require('./chunk-EFCQPQMG.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -11,7 +11,7 @@ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
|
11
11
|
var _url = require('url');
|
|
12
12
|
async function createFarmMarkdownRouteModuleFromFile(filePath, options = {}) {
|
|
13
13
|
const source = await _promises.readFile.call(void 0, filePath, "utf8");
|
|
14
|
-
return
|
|
14
|
+
return _chunkEFCQPQMGcjs.createFarmMarkdownRouteModule.call(void 0, {
|
|
15
15
|
source,
|
|
16
16
|
filePath,
|
|
17
17
|
components: options.components,
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkKNBBQHO2cjs = require('./chunk-KNBBQHO2.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkG7HXGLECcjs = require('./chunk-G7HXGLEC.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
11
|
+
|
|
12
|
+
// src/mcp-catalog.ts
|
|
13
|
+
var CATALOGS = /* @__PURE__ */ Symbol.for("farm.mcp.catalogs");
|
|
14
|
+
function catalogs() {
|
|
15
|
+
const state = globalThis;
|
|
16
|
+
return _nullishCoalesce(state[CATALOGS], () => ( (state[CATALOGS] = /* @__PURE__ */ new Map())));
|
|
17
|
+
}
|
|
18
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, catalogs, "catalogs");
|
|
19
|
+
function _listFarmMCPCatalogs() {
|
|
20
|
+
return [...catalogs().values()];
|
|
21
|
+
}
|
|
22
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, _listFarmMCPCatalogs, "_listFarmMCPCatalogs");
|
|
23
|
+
function _publishFarmMCPCatalog(server, tools, details) {
|
|
24
|
+
const entry = { server, tools, ...details ? { details } : {} };
|
|
25
|
+
catalogs().set(server.path, entry);
|
|
26
|
+
return () => {
|
|
27
|
+
if (catalogs().get(server.path) === entry) catalogs().delete(server.path);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, _publishFarmMCPCatalog, "_publishFarmMCPCatalog");
|
|
31
|
+
var SERVERS = /* @__PURE__ */ Symbol.for("farm.mcp.servers");
|
|
32
|
+
function registeredServers() {
|
|
33
|
+
const state = globalThis;
|
|
34
|
+
return _nullishCoalesce(state[SERVERS], () => ( (state[SERVERS] = /* @__PURE__ */ new Map())));
|
|
35
|
+
}
|
|
36
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, registeredServers, "registeredServers");
|
|
37
|
+
function _listFarmRegisteredMCPServers() {
|
|
38
|
+
return [...registeredServers().values()];
|
|
39
|
+
}
|
|
40
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, _listFarmRegisteredMCPServers, "_listFarmRegisteredMCPServers");
|
|
41
|
+
function registerFarmMCPServer(server) {
|
|
42
|
+
const entry = validateFarmMCPServerRegistration(server);
|
|
43
|
+
const key = _nullishCoalesce(entry.path, () => ( entry.url));
|
|
44
|
+
registeredServers().set(key, entry);
|
|
45
|
+
return () => {
|
|
46
|
+
if (registeredServers().get(key) === entry) registeredServers().delete(key);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, registerFarmMCPServer, "registerFarmMCPServer");
|
|
50
|
+
function validateFarmMCPServerRegistration(server) {
|
|
51
|
+
if (!server || typeof server !== "object") {
|
|
52
|
+
throw new TypeError("registerFarmMCPServer expects a server object.");
|
|
53
|
+
}
|
|
54
|
+
const text = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (key, required) => {
|
|
55
|
+
const value = server[key];
|
|
56
|
+
if (value === void 0 && !required) return void 0;
|
|
57
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
58
|
+
throw new TypeError(`registerFarmMCPServer ${key} must be a non-empty string.`);
|
|
59
|
+
}
|
|
60
|
+
return value.trim();
|
|
61
|
+
}, "text");
|
|
62
|
+
const name = text("name", true);
|
|
63
|
+
const version = text("version", true);
|
|
64
|
+
const title = text("title", false);
|
|
65
|
+
const description = text("description", false);
|
|
66
|
+
const { path, url } = server;
|
|
67
|
+
if (path === void 0 === (url === void 0)) {
|
|
68
|
+
throw new TypeError("registerFarmMCPServer takes exactly one of path and url.");
|
|
69
|
+
}
|
|
70
|
+
let endpoint;
|
|
71
|
+
if (path !== void 0) {
|
|
72
|
+
if (typeof path !== "string" || !/^\/(?!\/)[^?#\\\s]*$/.test(path) || path.split("/").some((segment) => segment === "." || segment === "..")) {
|
|
73
|
+
throw new TypeError(
|
|
74
|
+
"registerFarmMCPServer path must be an absolute app path without a query, hash, or dot segments."
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
endpoint = { path: path.length > 1 ? path.replace(/\/+$/, "") : path };
|
|
78
|
+
} else {
|
|
79
|
+
let parsed;
|
|
80
|
+
try {
|
|
81
|
+
parsed = typeof url === "string" ? new URL(url) : void 0;
|
|
82
|
+
} catch (e) {
|
|
83
|
+
parsed = void 0;
|
|
84
|
+
}
|
|
85
|
+
if (!parsed || parsed.protocol !== "https:" && parsed.protocol !== "http:" || parsed.username || parsed.password || parsed.search || parsed.hash) {
|
|
86
|
+
throw new TypeError(
|
|
87
|
+
"registerFarmMCPServer url must be an absolute http(s) URL without credentials, a query, or a hash."
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
endpoint = { url: `${parsed.origin}${parsed.pathname.replace(/\/+$/, "")}` };
|
|
91
|
+
}
|
|
92
|
+
const { protocolVersions } = server;
|
|
93
|
+
if (protocolVersions !== void 0 && (!Array.isArray(protocolVersions) || protocolVersions.some((version2) => typeof version2 !== "string" || !version2.trim()))) {
|
|
94
|
+
throw new TypeError("registerFarmMCPServer protocolVersions must be non-empty strings.");
|
|
95
|
+
}
|
|
96
|
+
return Object.freeze({
|
|
97
|
+
name,
|
|
98
|
+
version,
|
|
99
|
+
...title ? { title } : {},
|
|
100
|
+
...description ? { description } : {},
|
|
101
|
+
..._optionalChain([protocolVersions, 'optionalAccess', _ => _.length]) ? { protocolVersions: Object.freeze([...protocolVersions]) } : {},
|
|
102
|
+
...endpoint
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, validateFarmMCPServerRegistration, "validateFarmMCPServerRegistration");
|
|
106
|
+
function _findFarmMCPEndpointTool(method, pathname, serverBasePath) {
|
|
107
|
+
const upperMethod = method.toUpperCase();
|
|
108
|
+
for (const { server, tools } of catalogs().values()) {
|
|
109
|
+
const routes = /* @__PURE__ */ new Map();
|
|
110
|
+
for (const tool of tools) {
|
|
111
|
+
if (tool.kind === "endpoint" && tool.method === upperMethod) {
|
|
112
|
+
routes.set(tool.path, { path: tool.path, name: tool.name });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (routes.size === 0) continue;
|
|
116
|
+
const canonical = serverBasePath ? _chunkKNBBQHO2cjs.resolveFarmAPICanonicalPathname.call(void 0, pathname, serverBasePath) : pathname;
|
|
117
|
+
const match = _chunkG7HXGLECcjs.matchAPIRoute.call(void 0, routes, canonical);
|
|
118
|
+
if (match) {
|
|
119
|
+
return {
|
|
120
|
+
name: match.route.name,
|
|
121
|
+
endpoint: _chunkKNBBQHO2cjs.resolveFarmAPIServerRoutePath.call(void 0, server.path, serverBasePath)
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return void 0;
|
|
126
|
+
}
|
|
127
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, _findFarmMCPEndpointTool, "_findFarmMCPEndpointTool");
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
exports._listFarmMCPCatalogs = _listFarmMCPCatalogs; exports._publishFarmMCPCatalog = _publishFarmMCPCatalog; exports._listFarmRegisteredMCPServers = _listFarmRegisteredMCPServers; exports.registerFarmMCPServer = registerFarmMCPServer; exports._findFarmMCPEndpointTool = _findFarmMCPEndpointTool;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkOMVAU7NTcjs = require('./chunk-OMVAU7NT.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -583,7 +583,7 @@ function createOptimizedImageResponse(request, image, config) {
|
|
|
583
583
|
if (image.contentType === "image/svg+xml" && config.dangerouslyAllowSVG) {
|
|
584
584
|
headers.set("content-security-policy", "default-src 'none'; sandbox");
|
|
585
585
|
}
|
|
586
|
-
if (
|
|
586
|
+
if (_chunkOMVAU7NTcjs.matchesFarmIfNoneMatch.call(void 0, request.headers.get("if-none-match"), image.etag)) {
|
|
587
587
|
headers.delete("content-length");
|
|
588
588
|
return new Response(null, { status: 304, headers });
|
|
589
589
|
}
|
|
@@ -27,7 +27,7 @@ var _chunkE2ROOWQCcjs = require('./chunk-E2ROOWQC.cjs');
|
|
|
27
27
|
var _chunkJSROZYYOcjs = require('./chunk-JSROZYYO.cjs');
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunkFTFYRMQQcjs = require('./chunk-FTFYRMQQ.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -119,7 +119,7 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, withTimeout, "withTimeout");
|
|
|
119
119
|
var formatSeconds = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (ms) => ms < 1e3 ? `${ms}ms` : `${Number((ms / 1e3).toFixed(1))}s`, "formatSeconds");
|
|
120
120
|
function collectSchemaOwners(config) {
|
|
121
121
|
const owners = [];
|
|
122
|
-
const integrationSchemas =
|
|
122
|
+
const integrationSchemas = _chunkFTFYRMQQcjs.getIntegrationSchemas.call(void 0, config.integrations);
|
|
123
123
|
let integrationClient;
|
|
124
124
|
for (const [name, schema] of Object.entries(integrationSchemas)) {
|
|
125
125
|
owners.push({
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
markFarmClientReference,
|
|
3
|
+
updateFarmServerTreeModule
|
|
4
|
+
} from "./chunk-NRDBW4MP.mjs";
|
|
1
5
|
import {
|
|
2
6
|
__name
|
|
3
7
|
} from "./chunk-LPEX4YW6.mjs";
|
|
@@ -109,6 +113,11 @@ function createFarmIsolatedClientBoundary(ReactRuntime, Component, moduleReferen
|
|
|
109
113
|
}
|
|
110
114
|
__name(FarmIsolatedClientBoundary, "FarmIsolatedClientBoundary");
|
|
111
115
|
FarmIsolatedClientBoundary.displayName = `FarmIsolated(${Component.displayName || Component.name || exportName})`;
|
|
116
|
+
markFarmClientReference(FarmIsolatedClientBoundary, {
|
|
117
|
+
reference: moduleReference,
|
|
118
|
+
exportName,
|
|
119
|
+
Component
|
|
120
|
+
});
|
|
112
121
|
return FarmIsolatedClientBoundary;
|
|
113
122
|
}
|
|
114
123
|
__name(createFarmIsolatedClientBoundary, "createFarmIsolatedClientBoundary");
|
|
@@ -300,7 +309,7 @@ function createFarmIsolatedHydrationRuntime(options) {
|
|
|
300
309
|
__name(hydrate, "hydrate");
|
|
301
310
|
function updateModule(reference, module) {
|
|
302
311
|
const originals = module.__farm_client_boundary_originals__;
|
|
303
|
-
let updated =
|
|
312
|
+
let updated = updateFarmServerTreeModule(reference, module);
|
|
304
313
|
for (const [container, record] of roots) {
|
|
305
314
|
if (record.reference !== reference) continue;
|
|
306
315
|
const Component = originals?.[record.exportName];
|
|
@@ -355,7 +364,7 @@ function createFarmIsolatedHydrationRuntime(options) {
|
|
|
355
364
|
}
|
|
356
365
|
__name(createFarmIsolatedHydrationRuntime, "createFarmIsolatedHydrationRuntime");
|
|
357
366
|
function createFarmServerPageBoundary(ReactRuntime, runtime) {
|
|
358
|
-
return /* @__PURE__ */ __name(function FarmServerPage(props) {
|
|
367
|
+
return /* @__PURE__ */ __name(function FarmServerPage({ as = "div", ...props }) {
|
|
359
368
|
const ref = ReactRuntime.useRef(null);
|
|
360
369
|
const html = props.dangerouslySetInnerHTML.__html;
|
|
361
370
|
ReactRuntime.useLayoutEffect(() => {
|
|
@@ -376,7 +385,7 @@ function createFarmServerPageBoundary(ReactRuntime, runtime) {
|
|
|
376
385
|
});
|
|
377
386
|
};
|
|
378
387
|
}, [html]);
|
|
379
|
-
return ReactRuntime.createElement(
|
|
388
|
+
return ReactRuntime.createElement(as, { ...props, ref });
|
|
380
389
|
}, "FarmServerPage");
|
|
381
390
|
}
|
|
382
391
|
__name(createFarmServerPageBoundary, "createFarmServerPageBoundary");
|
|
@@ -17,6 +17,7 @@ async function resolveFarmNotFoundMetadata(layoutModules, notFoundModule) {
|
|
|
17
17
|
if (typeof layout.generateMetadata === "function") {
|
|
18
18
|
metadata = mergeMetadata(metadata, await layout.generateMetadata({ params: {} }));
|
|
19
19
|
}
|
|
20
|
+
metadata = await mergeModuleViewport(metadata, layout, { params: {} });
|
|
20
21
|
}
|
|
21
22
|
let own = {};
|
|
22
23
|
let latestTitle;
|
|
@@ -28,6 +29,7 @@ async function resolveFarmNotFoundMetadata(layoutModules, notFoundModule) {
|
|
|
28
29
|
own = mergeMetadata(own, generated);
|
|
29
30
|
if (generated?.title !== void 0) latestTitle = generated.title;
|
|
30
31
|
}
|
|
32
|
+
own = await mergeModuleViewport(own, notFoundModule, { params: {}, searchParams: {} });
|
|
31
33
|
}
|
|
32
34
|
const title = isRecord(latestTitle) && normalizeContent(latestTitle.absolute) ? latestTitle : own.title;
|
|
33
35
|
return mergeMetadata(metadata, { ...own, title: title ?? FARM_NOT_FOUND_TITLE });
|
|
@@ -46,10 +48,67 @@ function mergeMetadata(base, next) {
|
|
|
46
48
|
twitter: mergeNestedMetadata(base.twitter, next.twitter),
|
|
47
49
|
alternates: mergeNestedMetadata(base.alternates, next.alternates),
|
|
48
50
|
icons: mergeNestedMetadata(base.icons, next.icons),
|
|
49
|
-
verification: mergeNestedMetadata(base.verification, next.verification)
|
|
51
|
+
verification: mergeNestedMetadata(base.verification, next.verification),
|
|
52
|
+
viewport: mergeNestedMetadata(base.viewport, next.viewport)
|
|
50
53
|
};
|
|
51
54
|
}
|
|
52
55
|
__name(mergeMetadata, "mergeMetadata");
|
|
56
|
+
async function mergeModuleViewport(metadata, module, props) {
|
|
57
|
+
let merged = metadata;
|
|
58
|
+
if (isRecord(module?.viewport)) {
|
|
59
|
+
merged = mergeMetadata(merged, { viewport: module.viewport });
|
|
60
|
+
}
|
|
61
|
+
if (typeof module?.generateViewport === "function") {
|
|
62
|
+
const generated = await module.generateViewport(props);
|
|
63
|
+
if (isRecord(generated)) merged = mergeMetadata(merged, { viewport: generated });
|
|
64
|
+
}
|
|
65
|
+
return merged;
|
|
66
|
+
}
|
|
67
|
+
__name(mergeModuleViewport, "mergeModuleViewport");
|
|
68
|
+
var DEFAULT_VIEWPORT = { width: "device-width", initialScale: 1 };
|
|
69
|
+
var VIEWPORT_CONTENT_KEYS = [
|
|
70
|
+
["width", "width"],
|
|
71
|
+
["height", "height"],
|
|
72
|
+
["initialScale", "initial-scale"],
|
|
73
|
+
["minimumScale", "minimum-scale"],
|
|
74
|
+
["maximumScale", "maximum-scale"],
|
|
75
|
+
["userScalable", "user-scalable"],
|
|
76
|
+
["viewportFit", "viewport-fit"],
|
|
77
|
+
["interactiveWidget", "interactive-widget"]
|
|
78
|
+
];
|
|
79
|
+
function renderViewportHead(viewport) {
|
|
80
|
+
const marker = ` ${FARM_METADATA_ATTRIBUTE}`;
|
|
81
|
+
if (typeof viewport === "string") {
|
|
82
|
+
return `<meta name="viewport" content="${escapeAttribute(viewport)}"${marker}>`;
|
|
83
|
+
}
|
|
84
|
+
const resolved = {
|
|
85
|
+
...DEFAULT_VIEWPORT,
|
|
86
|
+
...isRecord(viewport) ? viewport : {}
|
|
87
|
+
};
|
|
88
|
+
const content = VIEWPORT_CONTENT_KEYS.flatMap(([key, name]) => {
|
|
89
|
+
const value = resolved[key];
|
|
90
|
+
if (value === void 0 || value === null || value === "") return [];
|
|
91
|
+
if (typeof value === "boolean") return [`${name}=${value ? "yes" : "no"}`];
|
|
92
|
+
return [`${name}=${String(value)}`];
|
|
93
|
+
}).join(", ");
|
|
94
|
+
const tags = content ? [`<meta name="viewport" content="${escapeAttribute(content)}"${marker}>`] : [];
|
|
95
|
+
const themeColors = Array.isArray(resolved.themeColor) ? resolved.themeColor : resolved.themeColor === void 0 ? [] : [resolved.themeColor];
|
|
96
|
+
for (const entry of themeColors) {
|
|
97
|
+
const color = typeof entry === "string" ? entry : isRecord(entry) ? entry.color : void 0;
|
|
98
|
+
const content2 = normalizeContent(color);
|
|
99
|
+
if (!content2) continue;
|
|
100
|
+
const media = isRecord(entry) ? normalizeContent(entry.media) : void 0;
|
|
101
|
+
tags.push(
|
|
102
|
+
`<meta name="theme-color" content="${escapeAttribute(content2)}"${media ? ` media="${escapeAttribute(media)}"` : ""}${marker}>`
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
const colorScheme = normalizeContent(resolved.colorScheme);
|
|
106
|
+
if (colorScheme) {
|
|
107
|
+
tags.push(`<meta name="color-scheme" content="${escapeAttribute(colorScheme)}"${marker}>`);
|
|
108
|
+
}
|
|
109
|
+
return tags.join("\n ");
|
|
110
|
+
}
|
|
111
|
+
__name(renderViewportHead, "renderViewportHead");
|
|
53
112
|
function mergeMetadataTitle(base, next) {
|
|
54
113
|
if (next === void 0) return base;
|
|
55
114
|
const parentTemplate = isRecord(base) ? normalizeContent(base.template) : void 0;
|
|
@@ -209,7 +268,8 @@ function renderMetadataHead(metadata, options = {}) {
|
|
|
209
268
|
tags: tags.length > 0 ? `
|
|
210
269
|
${tags.join("\n ")}` : "",
|
|
211
270
|
hasFavicon,
|
|
212
|
-
hasExplicitTitle: Boolean(explicitTitle)
|
|
271
|
+
hasExplicitTitle: Boolean(explicitTitle),
|
|
272
|
+
viewport: renderViewportHead(resolvedMetadata.viewport)
|
|
213
273
|
};
|
|
214
274
|
}
|
|
215
275
|
__name(renderMetadataHead, "renderMetadataHead");
|
|
@@ -481,6 +541,8 @@ export {
|
|
|
481
541
|
FARM_METADATA_ATTRIBUTE,
|
|
482
542
|
resolveFarmNotFoundMetadata,
|
|
483
543
|
mergeMetadata,
|
|
544
|
+
mergeModuleViewport,
|
|
545
|
+
renderViewportHead,
|
|
484
546
|
addMetadataImageReference,
|
|
485
547
|
addMetadataMarkdownAlternate,
|
|
486
548
|
renderMetadataHead,
|
|
@@ -17,7 +17,7 @@ var _chunkJ7FSKED3cjs = require('./chunk-J7FSKED3.cjs');
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkEK4QAEFZcjs = require('./chunk-EK4QAEFZ.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -31,7 +31,7 @@ var _chunkQBK2AA4Ucjs = require('./chunk-QBK2AA4U.cjs');
|
|
|
31
31
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
32
32
|
|
|
33
33
|
// src/client/metadata-reconciler.ts
|
|
34
|
-
var MANAGED_ATTRIBUTE =
|
|
34
|
+
var MANAGED_ATTRIBUTE = _chunkEK4QAEFZcjs.FARM_METADATA_ATTRIBUTE;
|
|
35
35
|
var OWNED_SELECTORS = [
|
|
36
36
|
'meta[name="description"]',
|
|
37
37
|
'meta[name="keywords"]',
|
|
@@ -66,11 +66,21 @@ function removeAll(selector) {
|
|
|
66
66
|
}
|
|
67
67
|
_chunkS3JO3N4Hcjs.__name.call(void 0, removeAll, "removeAll");
|
|
68
68
|
function applyFarmMetadataToDocument(metadata, pathname) {
|
|
69
|
-
document.title =
|
|
70
|
-
const rendered =
|
|
69
|
+
document.title = _chunkEK4QAEFZcjs.resolveMetadataTitle.call(void 0, _optionalChain([metadata, 'optionalAccess', _ => _.title])) || "Farm.js App";
|
|
70
|
+
const rendered = _chunkEK4QAEFZcjs.renderMetadataHead.call(void 0, metadata, { pathname });
|
|
71
71
|
const template = document.createElement("template");
|
|
72
72
|
template.innerHTML = rendered.tags;
|
|
73
|
+
const viewport = document.createElement("template");
|
|
74
|
+
viewport.innerHTML = rendered.viewport;
|
|
73
75
|
removeAll(OWNED_SELECTORS);
|
|
76
|
+
const charset = document.head.querySelector("meta[charset]");
|
|
77
|
+
for (const element of Array.from(viewport.content.children).reverse()) {
|
|
78
|
+
const name = element.getAttribute("name");
|
|
79
|
+
if (name && document.head.querySelector(`meta[name="${name}"]:not([${MANAGED_ATTRIBUTE}])`)) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
document.head.insertBefore(element, charset ? charset.nextSibling : document.head.firstChild);
|
|
83
|
+
}
|
|
74
84
|
removeAll(PAGE_JSON_LD_SELECTOR);
|
|
75
85
|
if (_optionalChain([metadata, 'optionalAccess', _2 => _2.icons])) removeAll(ICON_SELECTORS);
|
|
76
86
|
if (_optionalChain([metadata, 'optionalAccess', _3 => _3.manifest])) removeAll(MANIFEST_SELECTOR);
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
var _chunkWWFTAUFGcjs = require('./chunk-WWFTAUFG.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
3
7
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
4
8
|
|
|
5
9
|
// src/client/isolated-boundary.ts
|
|
@@ -109,6 +113,11 @@ function createFarmIsolatedClientBoundary(ReactRuntime, Component, moduleReferen
|
|
|
109
113
|
}
|
|
110
114
|
_chunkS3JO3N4Hcjs.__name.call(void 0, FarmIsolatedClientBoundary, "FarmIsolatedClientBoundary");
|
|
111
115
|
FarmIsolatedClientBoundary.displayName = `FarmIsolated(${Component.displayName || Component.name || exportName})`;
|
|
116
|
+
_chunkWWFTAUFGcjs.markFarmClientReference.call(void 0, FarmIsolatedClientBoundary, {
|
|
117
|
+
reference: moduleReference,
|
|
118
|
+
exportName,
|
|
119
|
+
Component
|
|
120
|
+
});
|
|
112
121
|
return FarmIsolatedClientBoundary;
|
|
113
122
|
}
|
|
114
123
|
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmIsolatedClientBoundary, "createFarmIsolatedClientBoundary");
|
|
@@ -300,7 +309,7 @@ function createFarmIsolatedHydrationRuntime(options) {
|
|
|
300
309
|
_chunkS3JO3N4Hcjs.__name.call(void 0, hydrate, "hydrate");
|
|
301
310
|
function updateModule(reference, module) {
|
|
302
311
|
const originals = module.__farm_client_boundary_originals__;
|
|
303
|
-
let updated = 0;
|
|
312
|
+
let updated = _chunkWWFTAUFGcjs.updateFarmServerTreeModule.call(void 0, reference, module);
|
|
304
313
|
for (const [container, record] of roots) {
|
|
305
314
|
if (record.reference !== reference) continue;
|
|
306
315
|
const Component = _optionalChain([originals, 'optionalAccess', _15 => _15[record.exportName]]);
|
|
@@ -355,7 +364,7 @@ function createFarmIsolatedHydrationRuntime(options) {
|
|
|
355
364
|
}
|
|
356
365
|
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmIsolatedHydrationRuntime, "createFarmIsolatedHydrationRuntime");
|
|
357
366
|
function createFarmServerPageBoundary(ReactRuntime, runtime) {
|
|
358
|
-
return /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, function FarmServerPage(props) {
|
|
367
|
+
return /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, function FarmServerPage({ as = "div", ...props }) {
|
|
359
368
|
const ref = ReactRuntime.useRef(null);
|
|
360
369
|
const html = props.dangerouslySetInnerHTML.__html;
|
|
361
370
|
ReactRuntime.useLayoutEffect(() => {
|
|
@@ -376,7 +385,7 @@ function createFarmServerPageBoundary(ReactRuntime, runtime) {
|
|
|
376
385
|
});
|
|
377
386
|
};
|
|
378
387
|
}, [html]);
|
|
379
|
-
return ReactRuntime.createElement(
|
|
388
|
+
return ReactRuntime.createElement(as, { ...props, ref });
|
|
380
389
|
}, "FarmServerPage");
|
|
381
390
|
}
|
|
382
391
|
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmServerPageBoundary, "createFarmServerPageBoundary");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkEUV4YR3Vcjs = require('./chunk-EUV4YR3V.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -121,7 +121,7 @@ async function createFarmMarkdownSourceResponse(options) {
|
|
|
121
121
|
}
|
|
122
122
|
const url = new URL(options.request.url);
|
|
123
123
|
const hasMarkdownExtension = url.pathname.toLowerCase().endsWith(".md");
|
|
124
|
-
if (!hasMarkdownExtension && !
|
|
124
|
+
if (!hasMarkdownExtension && !_chunkEUV4YR3Vcjs.requestAcceptsMarkdown.call(void 0, options.request.headers.get("accept"))) {
|
|
125
125
|
return null;
|
|
126
126
|
}
|
|
127
127
|
const targetPathname = normalizeFarmMarkdownRoutePath(url.pathname);
|
|
@@ -169,7 +169,7 @@ async function createFarmMarkdownSourceResponse(options) {
|
|
|
169
169
|
if (!hasMarkdownExtension) {
|
|
170
170
|
headers.set("Vary", "Accept");
|
|
171
171
|
}
|
|
172
|
-
return
|
|
172
|
+
return _chunkEUV4YR3Vcjs.createFarmMarkdownViewResponse.call(void 0, {
|
|
173
173
|
request: options.request,
|
|
174
174
|
requestUrl: url,
|
|
175
175
|
markdown: source.source,
|
|
@@ -8,7 +8,7 @@ var _chunkLYLEZIG3cjs = require('./chunk-LYLEZIG3.cjs');
|
|
|
8
8
|
var _chunkTKJZFIMLcjs = require('./chunk-TKJZFIML.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkOMVAU7NTcjs = require('./chunk-OMVAU7NT.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -137,7 +137,7 @@ async function finalizeMetadataImageResponse(body, headers, options) {
|
|
|
137
137
|
responseHeaders.set("ETag", etag);
|
|
138
138
|
responseHeaders.set("Content-Length", String(body.byteLength));
|
|
139
139
|
responseHeaders.set("X-Content-Type-Options", "nosniff");
|
|
140
|
-
if (
|
|
140
|
+
if (_chunkOMVAU7NTcjs.matchesFarmIfNoneMatch.call(void 0, options.ifNoneMatch, etag)) {
|
|
141
141
|
return new Response(null, { status: 304, headers: responseHeaders });
|
|
142
142
|
}
|
|
143
143
|
return new Response(_optionalChain([options, 'access', _4 => _4.method, 'optionalAccess', _5 => _5.toUpperCase, 'call', _6 => _6()]) === "HEAD" ? null : body, {
|
|
@@ -17,6 +17,7 @@ async function resolveFarmNotFoundMetadata(layoutModules, notFoundModule) {
|
|
|
17
17
|
if (typeof layout.generateMetadata === "function") {
|
|
18
18
|
metadata = mergeMetadata(metadata, await layout.generateMetadata({ params: {} }));
|
|
19
19
|
}
|
|
20
|
+
metadata = await mergeModuleViewport(metadata, layout, { params: {} });
|
|
20
21
|
}
|
|
21
22
|
let own = {};
|
|
22
23
|
let latestTitle;
|
|
@@ -28,6 +29,7 @@ async function resolveFarmNotFoundMetadata(layoutModules, notFoundModule) {
|
|
|
28
29
|
own = mergeMetadata(own, generated);
|
|
29
30
|
if (_optionalChain([generated, 'optionalAccess', _3 => _3.title]) !== void 0) latestTitle = generated.title;
|
|
30
31
|
}
|
|
32
|
+
own = await mergeModuleViewport(own, notFoundModule, { params: {}, searchParams: {} });
|
|
31
33
|
}
|
|
32
34
|
const title = isRecord(latestTitle) && normalizeContent(latestTitle.absolute) ? latestTitle : own.title;
|
|
33
35
|
return mergeMetadata(metadata, { ...own, title: _nullishCoalesce(title, () => ( FARM_NOT_FOUND_TITLE)) });
|
|
@@ -46,10 +48,67 @@ function mergeMetadata(base, next) {
|
|
|
46
48
|
twitter: mergeNestedMetadata(base.twitter, next.twitter),
|
|
47
49
|
alternates: mergeNestedMetadata(base.alternates, next.alternates),
|
|
48
50
|
icons: mergeNestedMetadata(base.icons, next.icons),
|
|
49
|
-
verification: mergeNestedMetadata(base.verification, next.verification)
|
|
51
|
+
verification: mergeNestedMetadata(base.verification, next.verification),
|
|
52
|
+
viewport: mergeNestedMetadata(base.viewport, next.viewport)
|
|
50
53
|
};
|
|
51
54
|
}
|
|
52
55
|
_chunkS3JO3N4Hcjs.__name.call(void 0, mergeMetadata, "mergeMetadata");
|
|
56
|
+
async function mergeModuleViewport(metadata, module, props) {
|
|
57
|
+
let merged = metadata;
|
|
58
|
+
if (isRecord(_optionalChain([module, 'optionalAccess', _4 => _4.viewport]))) {
|
|
59
|
+
merged = mergeMetadata(merged, { viewport: module.viewport });
|
|
60
|
+
}
|
|
61
|
+
if (typeof _optionalChain([module, 'optionalAccess', _5 => _5.generateViewport]) === "function") {
|
|
62
|
+
const generated = await module.generateViewport(props);
|
|
63
|
+
if (isRecord(generated)) merged = mergeMetadata(merged, { viewport: generated });
|
|
64
|
+
}
|
|
65
|
+
return merged;
|
|
66
|
+
}
|
|
67
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, mergeModuleViewport, "mergeModuleViewport");
|
|
68
|
+
var DEFAULT_VIEWPORT = { width: "device-width", initialScale: 1 };
|
|
69
|
+
var VIEWPORT_CONTENT_KEYS = [
|
|
70
|
+
["width", "width"],
|
|
71
|
+
["height", "height"],
|
|
72
|
+
["initialScale", "initial-scale"],
|
|
73
|
+
["minimumScale", "minimum-scale"],
|
|
74
|
+
["maximumScale", "maximum-scale"],
|
|
75
|
+
["userScalable", "user-scalable"],
|
|
76
|
+
["viewportFit", "viewport-fit"],
|
|
77
|
+
["interactiveWidget", "interactive-widget"]
|
|
78
|
+
];
|
|
79
|
+
function renderViewportHead(viewport) {
|
|
80
|
+
const marker = ` ${FARM_METADATA_ATTRIBUTE}`;
|
|
81
|
+
if (typeof viewport === "string") {
|
|
82
|
+
return `<meta name="viewport" content="${escapeAttribute(viewport)}"${marker}>`;
|
|
83
|
+
}
|
|
84
|
+
const resolved = {
|
|
85
|
+
...DEFAULT_VIEWPORT,
|
|
86
|
+
...isRecord(viewport) ? viewport : {}
|
|
87
|
+
};
|
|
88
|
+
const content = VIEWPORT_CONTENT_KEYS.flatMap(([key, name]) => {
|
|
89
|
+
const value = resolved[key];
|
|
90
|
+
if (value === void 0 || value === null || value === "") return [];
|
|
91
|
+
if (typeof value === "boolean") return [`${name}=${value ? "yes" : "no"}`];
|
|
92
|
+
return [`${name}=${String(value)}`];
|
|
93
|
+
}).join(", ");
|
|
94
|
+
const tags = content ? [`<meta name="viewport" content="${escapeAttribute(content)}"${marker}>`] : [];
|
|
95
|
+
const themeColors = Array.isArray(resolved.themeColor) ? resolved.themeColor : resolved.themeColor === void 0 ? [] : [resolved.themeColor];
|
|
96
|
+
for (const entry of themeColors) {
|
|
97
|
+
const color = typeof entry === "string" ? entry : isRecord(entry) ? entry.color : void 0;
|
|
98
|
+
const content2 = normalizeContent(color);
|
|
99
|
+
if (!content2) continue;
|
|
100
|
+
const media = isRecord(entry) ? normalizeContent(entry.media) : void 0;
|
|
101
|
+
tags.push(
|
|
102
|
+
`<meta name="theme-color" content="${escapeAttribute(content2)}"${media ? ` media="${escapeAttribute(media)}"` : ""}${marker}>`
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
const colorScheme = normalizeContent(resolved.colorScheme);
|
|
106
|
+
if (colorScheme) {
|
|
107
|
+
tags.push(`<meta name="color-scheme" content="${escapeAttribute(colorScheme)}"${marker}>`);
|
|
108
|
+
}
|
|
109
|
+
return tags.join("\n ");
|
|
110
|
+
}
|
|
111
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, renderViewportHead, "renderViewportHead");
|
|
53
112
|
function mergeMetadataTitle(base, next) {
|
|
54
113
|
if (next === void 0) return base;
|
|
55
114
|
const parentTemplate = isRecord(base) ? normalizeContent(base.template) : void 0;
|
|
@@ -137,8 +196,8 @@ function renderMetadataHead(metadata, options = {}) {
|
|
|
137
196
|
appendMetaName(tags, "author", resolvedMetadata.author);
|
|
138
197
|
if (Array.isArray(resolvedMetadata.authors)) {
|
|
139
198
|
for (const author of resolvedMetadata.authors) {
|
|
140
|
-
appendMetaName(tags, "author", _optionalChain([author, 'optionalAccess',
|
|
141
|
-
if (_optionalChain([author, 'optionalAccess',
|
|
199
|
+
appendMetaName(tags, "author", _optionalChain([author, 'optionalAccess', _6 => _6.name]));
|
|
200
|
+
if (_optionalChain([author, 'optionalAccess', _7 => _7.url])) {
|
|
142
201
|
appendLink(tags, "author", resolveMetadataUrl(author.url, metadataBase));
|
|
143
202
|
}
|
|
144
203
|
}
|
|
@@ -209,7 +268,8 @@ function renderMetadataHead(metadata, options = {}) {
|
|
|
209
268
|
tags: tags.length > 0 ? `
|
|
210
269
|
${tags.join("\n ")}` : "",
|
|
211
270
|
hasFavicon,
|
|
212
|
-
hasExplicitTitle: Boolean(explicitTitle)
|
|
271
|
+
hasExplicitTitle: Boolean(explicitTitle),
|
|
272
|
+
viewport: renderViewportHead(resolvedMetadata.viewport)
|
|
213
273
|
};
|
|
214
274
|
}
|
|
215
275
|
_chunkS3JO3N4Hcjs.__name.call(void 0, renderMetadataHead, "renderMetadataHead");
|
|
@@ -485,4 +545,6 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, escapeAttribute, "escapeAttribute");
|
|
|
485
545
|
|
|
486
546
|
|
|
487
547
|
|
|
488
|
-
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
exports.FARM_METADATA_ATTRIBUTE = FARM_METADATA_ATTRIBUTE; exports.resolveFarmNotFoundMetadata = resolveFarmNotFoundMetadata; exports.mergeMetadata = mergeMetadata; exports.mergeModuleViewport = mergeModuleViewport; exports.renderViewportHead = renderViewportHead; exports.addMetadataImageReference = addMetadataImageReference; exports.addMetadataMarkdownAlternate = addMetadataMarkdownAlternate; exports.renderMetadataHead = renderMetadataHead; exports.resolveMetadataTitle = resolveMetadataTitle;
|