@farm.js/core 0.1.42 → 0.1.44
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-mcp-ssVy_tea.d.mts → agent-mcp-CWI-awqd.d.mts} +1 -1
- package/dist/{agent-mcp-SSD6L3VZ.d.ts → agent-mcp-EnzWYv_X.d.ts} +1 -1
- package/dist/agent-runtime.cjs +3 -2
- package/dist/agent-runtime.d.mts +1 -1
- package/dist/agent-runtime.d.ts +1 -1
- package/dist/agent-runtime.mjs +2 -1
- package/dist/api/route-manager.d.mts +3 -3
- package/dist/api/route-manager.d.ts +3 -3
- package/dist/api/runtime.d.mts +2 -2
- package/dist/api/runtime.d.ts +2 -2
- package/dist/api.cjs +2 -2
- package/dist/api.d.mts +8 -3
- package/dist/api.d.ts +8 -3
- package/dist/api.mjs +1 -1
- package/dist/{app-KjFzdCqy.d.ts → app-CAN_2Cqo.d.ts} +8 -4
- package/dist/{app-1h3lVT4a.d.mts → app-DG3dE8v5.d.mts} +8 -4
- package/dist/{app-manifest-D3RkVNuS.d.mts → app-manifest-8x5VjZ0L.d.mts} +1 -1
- package/dist/{app-manifest-DaW8-tvX.d.ts → app-manifest-DazjgQya.d.ts} +1 -1
- package/dist/app-markdown.d.mts +2 -2
- package/dist/app-markdown.d.ts +2 -2
- package/dist/{chunk-ECKF2BAM.cjs → chunk-2GVF3C2F.cjs} +255 -42
- package/dist/{chunk-TUL355PH.mjs → chunk-2MKTHHEU.mjs} +136 -161
- package/dist/chunk-2NXO5SBY.mjs +57 -0
- package/dist/{chunk-AX7S67YV.mjs → chunk-37VKVISD.mjs} +9 -173
- package/dist/chunk-3BROEWFY.cjs +39 -0
- package/dist/chunk-3SAWHWDH.cjs +186 -0
- package/dist/{chunk-AHFRQMRX.cjs → chunk-3YJMBQ27.cjs} +1 -1
- package/dist/{chunk-6PKXK4TY.mjs → chunk-53ZV6K65.mjs} +1 -1
- package/dist/{chunk-JG3MEQUH.cjs → chunk-5GBL2LKD.cjs} +430 -217
- package/dist/{chunk-LYIZHJTK.cjs → chunk-5LPHJZSI.cjs} +14 -14
- package/dist/chunk-5NIWBWDD.mjs +97 -0
- package/dist/{chunk-NRDBW4MP.mjs → chunk-7IQQIPRZ.mjs} +10 -0
- package/dist/{chunk-TCJ4A4A2.cjs → chunk-AI3WVJNP.cjs} +324 -350
- package/dist/chunk-APDGOKKE.cjs +148 -0
- package/dist/chunk-AZBSVLRM.cjs +132 -0
- package/dist/{chunk-RHGK2JEN.cjs → chunk-B6XAA7V6.cjs} +18 -182
- package/dist/chunk-CEDPEDNW.cjs +98 -0
- package/dist/{chunk-WSOBCAYO.cjs → chunk-CW6SNEN2.cjs} +25 -25
- package/dist/chunk-D5RFPV2H.mjs +148 -0
- package/dist/chunk-E22SWCXB.cjs +144 -0
- package/dist/{chunk-375K2ZVU.mjs → chunk-ERA5RP3L.mjs} +263 -50
- package/dist/{chunk-724JLMS4.mjs → chunk-F646BZ4Y.mjs} +4 -2
- package/dist/{chunk-C5KVWHIH.cjs → chunk-G2Z5DGMS.cjs} +5 -3
- package/dist/{chunk-ZATTDMBW.cjs → chunk-GA6JM4L6.cjs} +279 -376
- package/dist/chunk-GZWHCWLB.mjs +186 -0
- package/dist/{chunk-24SP5TGU.mjs → chunk-H4LXPWI2.mjs} +2 -2
- package/dist/chunk-H7BLEEAE.cjs +57 -0
- package/dist/chunk-IOMVXBLZ.mjs +144 -0
- package/dist/{chunk-BD3D7EZV.cjs → chunk-IXFOBGLQ.cjs} +9 -3
- package/dist/{chunk-JIYYX7WU.mjs → chunk-JVXW76I7.mjs} +2 -2
- package/dist/{chunk-MHN4UR5U.cjs → chunk-KFZZFZ7J.cjs} +7 -7
- package/dist/{chunk-BXJ5HJTJ.cjs → chunk-LPE3ED4R.cjs} +17 -13
- package/dist/chunk-LRJRXXQZ.cjs +109 -0
- package/dist/{chunk-HCSVR4YZ.mjs → chunk-M3BXTWJM.mjs} +18 -0
- package/dist/{chunk-2JZHQDUY.mjs → chunk-OYZGFRPA.mjs} +1 -1
- package/dist/{chunk-JR4QCLJY.cjs → chunk-PDU4P2IC.cjs} +19 -1
- package/dist/chunk-PJEHUSHA.mjs +229 -0
- package/dist/{chunk-QTEJGB5A.mjs → chunk-QGFKXYC7.mjs} +80 -177
- package/dist/chunk-QGH2RQVF.mjs +132 -0
- package/dist/{chunk-YWMZUGIS.mjs → chunk-R3ZFQJEF.mjs} +247 -34
- package/dist/{chunk-U2UC7UGP.mjs → chunk-R4J2UOV4.mjs} +1 -1
- package/dist/chunk-S34OBRMZ.mjs +109 -0
- package/dist/{chunk-TS4JHGUJ.mjs → chunk-S3ZEMCE6.mjs} +9 -3
- package/dist/{chunk-WWFTAUFG.cjs → chunk-SBH2JLLF.cjs} +12 -2
- package/dist/{chunk-YSLWRWWP.cjs → chunk-SKK6UF5P.cjs} +200 -46
- package/dist/{chunk-ZS6HDNOM.cjs → chunk-T44ECMEP.cjs} +6 -6
- package/dist/{chunk-OFZUJMCU.mjs → chunk-WPJQN64R.mjs} +195 -41
- package/dist/{chunk-NU25TRIO.mjs → chunk-WWYXIECF.mjs} +12 -8
- package/dist/{chunk-7YHSD3Z6.cjs → chunk-XPSGGECF.cjs} +85 -31
- package/dist/chunk-XUGFRFD2.mjs +39 -0
- package/dist/{chunk-IVQY6UTY.mjs → chunk-XUHIRBXY.mjs} +1 -1
- package/dist/{chunk-PIZXONIS.mjs → chunk-YFLBG2W3.mjs} +56 -2
- package/dist/chunk-YKUEJ3MG.cjs +229 -0
- package/dist/{chunk-QKZMB7LY.cjs → chunk-YN2QEMMO.cjs} +2 -2
- package/dist/{client-plugins-DIem0I0W.d.ts → client-plugins-BGS0wqzc.d.ts} +36 -16
- package/dist/{client-plugins-C9Py_50W.d.mts → client-plugins-nQ0tYt4l.d.mts} +36 -16
- package/dist/client-plugins.d.mts +1 -1
- package/dist/client-plugins.d.ts +1 -1
- package/dist/client.cjs +4 -3
- package/dist/client.d.mts +5 -5
- package/dist/client.d.ts +5 -5
- package/dist/client.mjs +3 -2
- package/dist/config.d.mts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/{devtools-2RY3EKHL.cjs → devtools-5Q7VRKVH.cjs} +6 -5
- package/dist/{devtools-Q3LBNUJ7.mjs → devtools-LJ4IGYGW.mjs} +5 -4
- package/dist/docs.cjs +7 -6
- package/dist/docs.d.mts +2 -2
- package/dist/docs.d.ts +2 -2
- package/dist/docs.mjs +6 -5
- package/dist/index-Cy26isrh.d.ts +48 -0
- package/dist/index-y1jgR74U.d.mts +48 -0
- package/dist/index.cjs +44 -25
- package/dist/index.d.mts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.mjs +51 -32
- package/dist/integrations.cjs +5 -3
- package/dist/integrations.d.mts +1 -1
- package/dist/integrations.d.ts +1 -1
- package/dist/integrations.mjs +6 -4
- package/dist/internal/app-markdown-runtime.d.mts +2 -2
- package/dist/internal/app-markdown-runtime.d.ts +2 -2
- package/dist/internal/build-runtime.cjs +30 -15
- package/dist/internal/build-runtime.d.mts +12 -16
- package/dist/internal/build-runtime.d.ts +12 -16
- package/dist/internal/build-runtime.mjs +29 -14
- package/dist/internal/cli-runtime.cjs +24 -11
- package/dist/internal/cli-runtime.mjs +24 -11
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +5 -1
- package/dist/internal/client-runtime.d.mts +1 -0
- package/dist/internal/client-runtime.d.ts +1 -0
- package/dist/internal/client-runtime.mjs +4 -0
- package/dist/internal/compression-runtime.d.mts +1 -1
- package/dist/internal/compression-runtime.d.ts +1 -1
- package/dist/internal/config-runtime.cjs +6 -5
- package/dist/internal/config-runtime.d.mts +2 -2
- package/dist/internal/config-runtime.d.ts +2 -2
- package/dist/internal/config-runtime.mjs +5 -4
- package/dist/internal/form-actions-client.cjs +18 -0
- package/dist/internal/form-actions-client.d.mts +5 -0
- package/dist/internal/form-actions-client.d.ts +5 -0
- package/dist/internal/form-actions-client.mjs +18 -0
- package/dist/internal/form-actions.cjs +18 -0
- package/dist/internal/form-actions.d.mts +14 -0
- package/dist/internal/form-actions.d.ts +14 -0
- package/dist/internal/form-actions.mjs +18 -0
- package/dist/internal/island-codec.cjs +22 -0
- package/dist/internal/island-codec.d.mts +29 -0
- package/dist/internal/island-codec.d.ts +29 -0
- package/dist/internal/island-codec.mjs +22 -0
- package/dist/internal/island-value-store.cjs +13 -0
- package/dist/internal/island-value-store.d.mts +6 -0
- package/dist/internal/island-value-store.d.ts +6 -0
- package/dist/internal/island-value-store.mjs +13 -0
- package/dist/internal/islands-runtime.cjs +77 -0
- package/dist/internal/islands-runtime.d.mts +57 -0
- package/dist/internal/islands-runtime.d.ts +57 -0
- package/dist/internal/islands-runtime.mjs +77 -0
- package/dist/internal/islands-server.cjs +19 -0
- package/dist/internal/islands-server.d.mts +3 -0
- package/dist/internal/islands-server.d.ts +3 -0
- package/dist/internal/islands-server.mjs +19 -0
- package/dist/internal/islx-client.cjs +5 -0
- package/dist/internal/islx-client.d.mts +2 -0
- package/dist/internal/islx-client.d.ts +2 -0
- package/dist/internal/islx-client.mjs +3 -0
- package/dist/internal/islx-react.cjs +4 -0
- package/dist/internal/islx-react.d.mts +1 -0
- package/dist/internal/islx-react.d.ts +1 -0
- package/dist/internal/islx-react.mjs +2 -0
- package/dist/internal/islx-server.cjs +5 -0
- package/dist/internal/islx-server.d.mts +2 -0
- package/dist/internal/islx-server.d.ts +2 -0
- package/dist/internal/islx-server.mjs +3 -0
- package/dist/internal/isolated-boundary.cjs +4 -3
- package/dist/internal/isolated-boundary.d.mts +13 -1
- package/dist/internal/isolated-boundary.d.ts +13 -1
- package/dist/internal/isolated-boundary.mjs +3 -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 +24 -13
- package/dist/internal/production-runtime.d.mts +20 -10
- package/dist/internal/production-runtime.d.ts +20 -10
- package/dist/internal/production-runtime.mjs +24 -13
- package/dist/internal/server-tree.cjs +6 -3
- package/dist/internal/server-tree.d.mts +25 -2
- package/dist/internal/server-tree.d.ts +25 -2
- package/dist/internal/server-tree.mjs +7 -4
- package/dist/island-value-protocol-BRayRghM.d.mts +12 -0
- package/dist/island-value-protocol-BRayRghM.d.ts +12 -0
- package/dist/markdown.d.mts +1 -1
- package/dist/markdown.d.ts +1 -1
- package/dist/middleware.d.mts +3 -3
- package/dist/middleware.d.ts +3 -3
- package/dist/navigation.cjs +5 -4
- package/dist/navigation.d.mts +4 -4
- package/dist/navigation.d.ts +4 -4
- package/dist/navigation.mjs +4 -3
- package/dist/og.d.mts +5 -0
- package/dist/og.d.ts +5 -0
- package/dist/plugin.cjs +19 -12
- package/dist/plugin.d.mts +3 -3
- package/dist/plugin.d.ts +3 -3
- package/dist/plugin.mjs +18 -11
- package/dist/{production-runtime-bjjWq-DA.d.ts → production-runtime-BVMDgHrA.d.ts} +1 -1
- package/dist/{production-runtime-CHFKIgpW.d.mts → production-runtime-ClFA_1KQ.d.mts} +1 -1
- package/dist/query/client.cjs +6 -5
- package/dist/query/client.mjs +2 -1
- package/dist/{render-plan-DOHg6wdO.d.mts → render-plan-CoSovy_O.d.mts} +4 -2
- package/dist/{render-plan-B2UndB4x.d.ts → render-plan-y2DefWf8.d.ts} +4 -2
- package/dist/renderer/react/server.cjs +7 -6
- package/dist/renderer/react/server.d.mts +3 -1
- package/dist/renderer/react/server.d.ts +3 -1
- package/dist/renderer/react/server.mjs +5 -4
- package/dist/renderer-client.cjs +5 -4
- package/dist/renderer-client.d.mts +3 -3
- package/dist/renderer-client.d.ts +3 -3
- package/dist/renderer-client.mjs +2 -1
- package/dist/renderer.d.mts +3 -1
- package/dist/renderer.d.ts +3 -1
- package/dist/{request-DVNXRQrI.d.ts → request-aG5Wovm5.d.ts} +1 -1
- package/dist/{request-DQcGfdgQ.d.mts → request-cNM09Q7e.d.mts} +1 -1
- package/dist/request.d.mts +2 -2
- package/dist/request.d.ts +2 -2
- package/dist/{route-rendering-B_6fj-GG.d.ts → route-rendering-B3uQmCWX.d.ts} +1 -1
- package/dist/{route-rendering-CEX4mFn-.d.mts → route-rendering-EyInfsjI.d.mts} +1 -1
- package/dist/{router-CHEMHm1P.d.ts → router-DNUf-Bg1.d.ts} +1 -1
- package/dist/{router-CKHPBKXX.d.mts → router-Devibh4r.d.mts} +1 -1
- package/dist/routes.d.mts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/rsc-pipeline-4ZJ6GUVQ.cjs +78 -0
- package/dist/rsc-pipeline-KK6GFDET.mjs +78 -0
- package/dist/{runtime-jj8TKNsy.d.mts → runtime-9KZb8AI5.d.mts} +1 -1
- package/dist/{runtime-Br2ZDTAv.d.ts → runtime-CLr9P5kn.d.ts} +1 -1
- package/dist/{schema-dev-notice-5JPE67AI.cjs → schema-dev-notice-77ZL23PL.cjs} +4 -4
- package/dist/{schema-dev-notice-WLPZ6WKU.mjs → schema-dev-notice-BLXOS6U2.mjs} +2 -2
- package/dist/server-plugins.d.mts +2 -2
- package/dist/server-plugins.d.ts +2 -2
- package/dist/server.cjs +57 -38
- package/dist/server.d.mts +15 -10
- package/dist/server.d.ts +15 -10
- package/dist/server.mjs +37 -18
- package/dist/{spa-router-BEvS9Erj.d.mts → spa-router-BIxh4IY-.d.mts} +8 -3
- package/dist/{spa-router-DmCuH5B7.d.ts → spa-router-Ds6R_oe-.d.ts} +8 -3
- package/dist/{ssg-57v6cZcW.d.mts → ssg-ByrOVYdM.d.mts} +2 -2
- package/dist/{ssg-gT093ETk.d.ts → ssg-XnMHCyEc.d.ts} +2 -2
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{utils-CCTKvR-P.d.ts → utils-BN70ueSN.d.ts} +1 -1
- package/dist/{utils-raHHQVyL.d.mts → utils-BrjR5xRs.d.mts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +19 -12
- package/dist/vite.d.mts +6 -4
- package/dist/vite.d.ts +6 -4
- package/dist/vite.mjs +18 -11
- package/package.json +53 -1
- package/dist/{chunk-35WS7P2V.mjs → chunk-26CXZR6L.mjs} +3 -3
- package/dist/{chunk-QEILRWVV.cjs → chunk-3XEMGDBF.cjs} +2 -2
- package/dist/{chunk-BPOTSHDO.cjs → chunk-IOAUK4OI.cjs} +2 -2
- package/dist/{chunk-BYR3RQPB.mjs → chunk-T76H22WI.mjs} +4 -4
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import {
|
|
2
|
+
compileMiddlewareConfig,
|
|
3
|
+
matchesCompiledMiddlewareConfig
|
|
4
|
+
} from "./chunk-HKFBMHCD.mjs";
|
|
5
|
+
import {
|
|
6
|
+
createFarmAPIMiddlewarePathnames,
|
|
7
|
+
resolveFarmAPIServerBasePath
|
|
8
|
+
} from "./chunk-BTHHUD7Q.mjs";
|
|
9
|
+
import {
|
|
10
|
+
canonicalizeRequestPathSegments,
|
|
11
|
+
canonicalizeRequestPathname
|
|
12
|
+
} from "./chunk-CQ6OSQ3K.mjs";
|
|
13
|
+
import {
|
|
14
|
+
resolveFarmLocalePath
|
|
15
|
+
} from "./chunk-L3KT7IXV.mjs";
|
|
16
|
+
import {
|
|
17
|
+
stripFarmBasePath
|
|
18
|
+
} from "./chunk-4RB44K6Z.mjs";
|
|
19
|
+
import {
|
|
20
|
+
__name
|
|
21
|
+
} from "./chunk-LPEX4YW6.mjs";
|
|
22
|
+
|
|
23
|
+
// src/integration-middleware-matcher.ts
|
|
24
|
+
function isFarmIntegration(value) {
|
|
25
|
+
return !!value && typeof value === "object" && value.kind === "farm-integration";
|
|
26
|
+
}
|
|
27
|
+
__name(isFarmIntegration, "isFarmIntegration");
|
|
28
|
+
var compiledIntegrationGuards = /* @__PURE__ */ new WeakMap();
|
|
29
|
+
var noMiddlewareContext = {};
|
|
30
|
+
function resolveIntegrationMiddlewareParams(entry, pathname, config) {
|
|
31
|
+
const params = resolveMatcherParams(entry.matcher, pathname);
|
|
32
|
+
if (params || !entry.matcher) return params;
|
|
33
|
+
const routePathname = resolveIntegrationRoutePathname(pathname, config);
|
|
34
|
+
const candidates = [.../* @__PURE__ */ new Set([pathname, ...getIntegrationAPIPathnames(config)(routePathname)])];
|
|
35
|
+
for (const candidate of candidates) {
|
|
36
|
+
if (candidate === pathname) continue;
|
|
37
|
+
const routeParams = resolveMatcherParams(entry.matcher, candidate);
|
|
38
|
+
if (routeParams) return routeParams;
|
|
39
|
+
}
|
|
40
|
+
let compiled = compiledIntegrationGuards.get(entry);
|
|
41
|
+
if (!compiled) {
|
|
42
|
+
compiled = compileMiddlewareConfig({
|
|
43
|
+
matcher: typeof entry.matcher === "string" ? entry.matcher : [...entry.matcher]
|
|
44
|
+
});
|
|
45
|
+
compiledIntegrationGuards.set(entry, compiled);
|
|
46
|
+
}
|
|
47
|
+
for (const candidate of candidates) {
|
|
48
|
+
const result = matchesCompiledMiddlewareConfig(candidate, compiled, noMiddlewareContext);
|
|
49
|
+
if (result.matched) return result.params ?? {};
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
__name(resolveIntegrationMiddlewareParams, "resolveIntegrationMiddlewareParams");
|
|
54
|
+
function integrationMiddlewareMayHandlePath(integrations, pathname, catchAllProbe) {
|
|
55
|
+
if (!integrations) return false;
|
|
56
|
+
const covers = /* @__PURE__ */ __name((entry) => resolveIntegrationMiddlewareParams(entry, pathname, void 0) !== null, "covers");
|
|
57
|
+
return Object.values(integrations).some(
|
|
58
|
+
(integration) => isFarmIntegration(integration) && (integration.middleware || []).some((entry) => {
|
|
59
|
+
if (catchAllProbe === void 0) return covers(entry);
|
|
60
|
+
if (!entry.matcher) return false;
|
|
61
|
+
const specific = (Array.isArray(entry.matcher) ? entry.matcher : [entry.matcher]).filter(
|
|
62
|
+
(matcher) => resolveIntegrationMiddlewareParams({ matcher }, catchAllProbe, void 0) === null
|
|
63
|
+
);
|
|
64
|
+
return specific.length > 0 && covers({ matcher: specific });
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
__name(integrationMiddlewareMayHandlePath, "integrationMiddlewareMayHandlePath");
|
|
69
|
+
var FARM_INTEGRATION_API_BASE_PATH_KEY = "__farmAPIServerBasePath";
|
|
70
|
+
var integrationAPIPathnames = /* @__PURE__ */ new WeakMap();
|
|
71
|
+
function getIntegrationAPIPathnames(config) {
|
|
72
|
+
if (!config) return (pathname) => [pathname];
|
|
73
|
+
let toPathnames = integrationAPIPathnames.get(config);
|
|
74
|
+
if (!toPathnames) {
|
|
75
|
+
const recorded = config[FARM_INTEGRATION_API_BASE_PATH_KEY];
|
|
76
|
+
const api = config.api;
|
|
77
|
+
const serverBasePath = typeof recorded === "string" ? recorded : typeof api?.baseURL === "string" && typeof api.basePath === "string" ? resolveFarmAPIServerBasePath(api) : void 0;
|
|
78
|
+
toPathnames = createFarmAPIMiddlewarePathnames(serverBasePath);
|
|
79
|
+
integrationAPIPathnames.set(config, toPathnames);
|
|
80
|
+
}
|
|
81
|
+
return toPathnames;
|
|
82
|
+
}
|
|
83
|
+
__name(getIntegrationAPIPathnames, "getIntegrationAPIPathnames");
|
|
84
|
+
function resolveIntegrationRoutePathname(pathname, config) {
|
|
85
|
+
const basePath = typeof config?.basePath === "string" ? config.basePath : void 0;
|
|
86
|
+
let routePathname = basePath ? stripFarmBasePath(pathname, basePath) : pathname;
|
|
87
|
+
const i18n = config?.i18n;
|
|
88
|
+
if (i18n && Array.isArray(i18n.locales) && i18n.locales.length > 0) {
|
|
89
|
+
routePathname = resolveFarmLocalePath(routePathname, {
|
|
90
|
+
locales: i18n.locales,
|
|
91
|
+
defaultLocale: i18n.defaultLocale,
|
|
92
|
+
routing: i18n.routing || "prefix-except-default"
|
|
93
|
+
}).pathname;
|
|
94
|
+
}
|
|
95
|
+
return routePathname;
|
|
96
|
+
}
|
|
97
|
+
__name(resolveIntegrationRoutePathname, "resolveIntegrationRoutePathname");
|
|
98
|
+
function resolveMatcherParams(matcher, pathname) {
|
|
99
|
+
if (!matcher) {
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
const list = Array.isArray(matcher) ? matcher : [matcher];
|
|
103
|
+
let canonicalPathname;
|
|
104
|
+
let canonicalSegments;
|
|
105
|
+
for (const item of list) {
|
|
106
|
+
if (item === "/(.*)" || item === "*") {
|
|
107
|
+
return {};
|
|
108
|
+
}
|
|
109
|
+
if (item.endsWith("(.*)")) {
|
|
110
|
+
canonicalPathname ?? (canonicalPathname = canonicalizeRequestPathname(pathname));
|
|
111
|
+
const prefix = item.slice(0, -4);
|
|
112
|
+
if (canonicalPathname === prefix || canonicalPathname.startsWith(`${prefix}/`)) {
|
|
113
|
+
return {};
|
|
114
|
+
}
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
canonicalSegments ?? (canonicalSegments = canonicalizeRequestPathSegments(pathname));
|
|
118
|
+
const params = matchPathSegments(splitPath(item), canonicalSegments);
|
|
119
|
+
if (params) {
|
|
120
|
+
return params;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
__name(resolveMatcherParams, "resolveMatcherParams");
|
|
126
|
+
function matchPathSegments(routeSegments, pathSegments) {
|
|
127
|
+
const params = {};
|
|
128
|
+
let routeIndex = 0;
|
|
129
|
+
let pathIndex = 0;
|
|
130
|
+
while (routeIndex < routeSegments.length && pathIndex < pathSegments.length) {
|
|
131
|
+
const routeSegment = routeSegments[routeIndex];
|
|
132
|
+
const pathSegment = pathSegments[pathIndex];
|
|
133
|
+
if (isCatchAllSegment(routeSegment)) {
|
|
134
|
+
params[getSegmentParamName(routeSegment)] = pathSegments.slice(pathIndex);
|
|
135
|
+
return params;
|
|
136
|
+
}
|
|
137
|
+
if (isDynamicSegment(routeSegment)) {
|
|
138
|
+
params[getSegmentParamName(routeSegment)] = pathSegment;
|
|
139
|
+
routeIndex += 1;
|
|
140
|
+
pathIndex += 1;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (routeSegment !== pathSegment) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
routeIndex += 1;
|
|
147
|
+
pathIndex += 1;
|
|
148
|
+
}
|
|
149
|
+
if (routeIndex === routeSegments.length && pathIndex === pathSegments.length) {
|
|
150
|
+
return params;
|
|
151
|
+
}
|
|
152
|
+
if (routeIndex === routeSegments.length - 1 && isCatchAllSegment(routeSegments[routeIndex])) {
|
|
153
|
+
params[getSegmentParamName(routeSegments[routeIndex])] = [];
|
|
154
|
+
return params;
|
|
155
|
+
}
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
__name(matchPathSegments, "matchPathSegments");
|
|
159
|
+
function splitPath(value) {
|
|
160
|
+
return value.split("/").filter(Boolean);
|
|
161
|
+
}
|
|
162
|
+
__name(splitPath, "splitPath");
|
|
163
|
+
function isDynamicSegment(segment) {
|
|
164
|
+
return segment.startsWith("[") && segment.endsWith("]");
|
|
165
|
+
}
|
|
166
|
+
__name(isDynamicSegment, "isDynamicSegment");
|
|
167
|
+
function isCatchAllSegment(segment) {
|
|
168
|
+
return segment.startsWith("[...") && segment.endsWith("]");
|
|
169
|
+
}
|
|
170
|
+
__name(isCatchAllSegment, "isCatchAllSegment");
|
|
171
|
+
function getSegmentParamName(segment) {
|
|
172
|
+
if (isCatchAllSegment(segment)) {
|
|
173
|
+
return segment.slice(4, -1);
|
|
174
|
+
}
|
|
175
|
+
return segment.slice(1, -1);
|
|
176
|
+
}
|
|
177
|
+
__name(getSegmentParamName, "getSegmentParamName");
|
|
178
|
+
|
|
179
|
+
export {
|
|
180
|
+
isFarmIntegration,
|
|
181
|
+
resolveIntegrationMiddlewareParams,
|
|
182
|
+
integrationMiddlewareMayHandlePath,
|
|
183
|
+
FARM_INTEGRATION_API_BASE_PATH_KEY,
|
|
184
|
+
matchPathSegments,
|
|
185
|
+
splitPath
|
|
186
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
4
|
+
|
|
5
|
+
// src/client/island-value-protocol.ts
|
|
6
|
+
var FARM_ISLAND_ELEMENT = "f-island";
|
|
7
|
+
var FARM_PROPS_SCRIPT_TYPE = "f/props";
|
|
8
|
+
var FARM_VALUE_SCRIPT_TYPE = "f/value";
|
|
9
|
+
var FARM_SLOT_ELEMENT = "f-slot";
|
|
10
|
+
var FARM_TAG = "$";
|
|
11
|
+
var FARM_TAG_VALUE = "v";
|
|
12
|
+
var FARM_REFERENCE_TAG = "r";
|
|
13
|
+
var FARM_SLOT_TAG = "s";
|
|
14
|
+
var FARM_ACTION_TAG = "a";
|
|
15
|
+
var FARM_OBJECT_TAG = "o";
|
|
16
|
+
var FARM_VALUES_HEADER = "F-Values";
|
|
17
|
+
function getFarmTag(value) {
|
|
18
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return void 0;
|
|
19
|
+
const tag = value[FARM_TAG];
|
|
20
|
+
if (typeof tag !== "string") return void 0;
|
|
21
|
+
const keys = Object.keys(value);
|
|
22
|
+
return keys.length === 1 || keys.length === 2 && FARM_TAG_VALUE in value ? tag : void 0;
|
|
23
|
+
}
|
|
24
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, getFarmTag, "getFarmTag");
|
|
25
|
+
var FARM_VALUE_KEY_PATTERN = /^[0-9a-z]{14}$/;
|
|
26
|
+
var FARM_MAX_HELD_VALUES = 128;
|
|
27
|
+
var FARM_ISLAND_VALUE_STORE_KEY = /* @__PURE__ */ Symbol.for("islx.values");
|
|
28
|
+
var ISLAND_VALUES_SERVER_KEY = /* @__PURE__ */ Symbol.for("farm.island-values.server");
|
|
29
|
+
function getFarmIslandValuesServer() {
|
|
30
|
+
return globalThis[ISLAND_VALUES_SERVER_KEY];
|
|
31
|
+
}
|
|
32
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, getFarmIslandValuesServer, "getFarmIslandValuesServer");
|
|
33
|
+
function getFarmIslandValueHeaders() {
|
|
34
|
+
const scope = globalThis;
|
|
35
|
+
const held = _optionalChain([scope, 'access', _ => _[FARM_ISLAND_VALUE_STORE_KEY], 'optionalAccess', _2 => _2.heldHeader, 'call', _3 => _3()]);
|
|
36
|
+
return held ? { [FARM_VALUES_HEADER]: held } : {};
|
|
37
|
+
}
|
|
38
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, getFarmIslandValueHeaders, "getFarmIslandValueHeaders");
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
exports.FARM_ISLAND_ELEMENT = FARM_ISLAND_ELEMENT; exports.FARM_PROPS_SCRIPT_TYPE = FARM_PROPS_SCRIPT_TYPE; exports.FARM_VALUE_SCRIPT_TYPE = FARM_VALUE_SCRIPT_TYPE; exports.FARM_SLOT_ELEMENT = FARM_SLOT_ELEMENT; exports.FARM_TAG = FARM_TAG; exports.FARM_TAG_VALUE = FARM_TAG_VALUE; exports.FARM_REFERENCE_TAG = FARM_REFERENCE_TAG; exports.FARM_SLOT_TAG = FARM_SLOT_TAG; exports.FARM_ACTION_TAG = FARM_ACTION_TAG; exports.FARM_OBJECT_TAG = FARM_OBJECT_TAG; exports.FARM_VALUES_HEADER = FARM_VALUES_HEADER; exports.getFarmTag = getFarmTag; exports.FARM_VALUE_KEY_PATTERN = FARM_VALUE_KEY_PATTERN; exports.FARM_MAX_HELD_VALUES = FARM_MAX_HELD_VALUES; exports.getFarmIslandValuesServer = getFarmIslandValuesServer; exports.getFarmIslandValueHeaders = getFarmIslandValueHeaders;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FARM_RSC_INSTALL_HINT,
|
|
3
|
+
findFarmAppPackageDir
|
|
4
|
+
} from "./chunk-QGH2RQVF.mjs";
|
|
5
|
+
import {
|
|
6
|
+
resolveDeployOutputPath
|
|
7
|
+
} from "./chunk-WWYXIECF.mjs";
|
|
8
|
+
import {
|
|
9
|
+
loadFarmReactPlugin
|
|
10
|
+
} from "./chunk-5NIWBWDD.mjs";
|
|
11
|
+
import {
|
|
12
|
+
loadTailwindVitePlugin
|
|
13
|
+
} from "./chunk-S34OBRMZ.mjs";
|
|
14
|
+
import {
|
|
15
|
+
__name
|
|
16
|
+
} from "./chunk-LPEX4YW6.mjs";
|
|
17
|
+
|
|
18
|
+
// src/rsc-pipeline.ts
|
|
19
|
+
import { readFileSync } from "fs";
|
|
20
|
+
import path from "path";
|
|
21
|
+
import { pathToFileURL } from "url";
|
|
22
|
+
var FARM_RSC_ENTRIES = {
|
|
23
|
+
rsc: "./.farm/rsc-entries/entry.rsc.tsx",
|
|
24
|
+
ssr: "./.farm/rsc-entries/entry.ssr.tsx",
|
|
25
|
+
client: "./.farm/rsc-entries/entry.browser.tsx"
|
|
26
|
+
};
|
|
27
|
+
var FARM_RSC_CONFIG_KEYS = [
|
|
28
|
+
"srcDir",
|
|
29
|
+
"extends",
|
|
30
|
+
"basePath",
|
|
31
|
+
"api",
|
|
32
|
+
"server",
|
|
33
|
+
"middleware",
|
|
34
|
+
"images",
|
|
35
|
+
"serverActions",
|
|
36
|
+
"deploymentId",
|
|
37
|
+
"generateBuildId",
|
|
38
|
+
"md",
|
|
39
|
+
"agent",
|
|
40
|
+
"mcp"
|
|
41
|
+
];
|
|
42
|
+
var FARM_RSC_PASSTHROUGH_KEYS = ["i18n", "cache"];
|
|
43
|
+
function pickImportTarget(entry) {
|
|
44
|
+
if (typeof entry === "string") return entry;
|
|
45
|
+
if (!entry || typeof entry !== "object") return void 0;
|
|
46
|
+
for (const condition of ["import", "node", "default"]) {
|
|
47
|
+
const target = pickImportTarget(entry[condition]);
|
|
48
|
+
if (target) return target;
|
|
49
|
+
}
|
|
50
|
+
return void 0;
|
|
51
|
+
}
|
|
52
|
+
__name(pickImportTarget, "pickImportTarget");
|
|
53
|
+
async function importFromApp(root, packageName, subpath = ".") {
|
|
54
|
+
const packageDir = findFarmAppPackageDir(root, packageName);
|
|
55
|
+
if (!packageDir) return void 0;
|
|
56
|
+
const manifest = JSON.parse(readFileSync(path.join(packageDir, "package.json"), "utf8"));
|
|
57
|
+
const exportsMap = manifest.exports;
|
|
58
|
+
const entry = exportsMap && typeof exportsMap === "object" && !Array.isArray(exportsMap) && subpath in exportsMap ? exportsMap[subpath] : subpath === "." ? exportsMap ?? manifest.module ?? manifest.main ?? "index.js" : void 0;
|
|
59
|
+
const target = pickImportTarget(entry);
|
|
60
|
+
if (!target) return void 0;
|
|
61
|
+
return import(pathToFileURL(path.join(packageDir, target)).href);
|
|
62
|
+
}
|
|
63
|
+
__name(importFromApp, "importFromApp");
|
|
64
|
+
function hasPluginNamed(plugins, prefix) {
|
|
65
|
+
if (Array.isArray(plugins)) return plugins.some((plugin) => hasPluginNamed(plugin, prefix));
|
|
66
|
+
const name = plugins?.name;
|
|
67
|
+
return typeof name === "string" && name.startsWith(prefix);
|
|
68
|
+
}
|
|
69
|
+
__name(hasPluginNamed, "hasPluginNamed");
|
|
70
|
+
async function createFarmRscViteConfig(userConfig, options) {
|
|
71
|
+
const root = path.resolve(options.root);
|
|
72
|
+
const renderer = userConfig.renderer;
|
|
73
|
+
if (renderer && typeof renderer === "object" && renderer.name && renderer.name !== "react") {
|
|
74
|
+
throw new Error(
|
|
75
|
+
`[Farm.js] experimental.serverComponents needs the React renderer; this app uses "${renderer.name}".`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
const [pluginRsc, viteRsc, viteReact] = await Promise.all([
|
|
79
|
+
importFromApp(root, "@farm.js/plugin", "./rsc"),
|
|
80
|
+
importFromApp(root, "@vitejs/plugin-rsc"),
|
|
81
|
+
importFromApp(root, "@vitejs/plugin-react")
|
|
82
|
+
]);
|
|
83
|
+
if (!pluginRsc || !viteRsc || !findFarmAppPackageDir(root, "react-server-dom-webpack")) {
|
|
84
|
+
throw new Error(
|
|
85
|
+
`[Farm.js] experimental.serverComponents runs on @farm.js/plugin and the official @vitejs/plugin-rsc. Install them: ${FARM_RSC_INSTALL_HINT}`
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
const { plugins: vitePlugins = [], ...viteOptions } = userConfig.vite ?? {};
|
|
89
|
+
const rscConfig = {};
|
|
90
|
+
for (const key of FARM_RSC_CONFIG_KEYS) {
|
|
91
|
+
if (userConfig[key] !== void 0) rscConfig[key] = userConfig[key];
|
|
92
|
+
}
|
|
93
|
+
const createReactPlugin = hasPluginNamed(vitePlugins, "vite:react") ? void 0 : viteReact?.default ?? (options.command === "serve" ? (await loadFarmReactPlugin()).default : void 0);
|
|
94
|
+
const tailwind = hasPluginNamed(vitePlugins, "@tailwindcss/vite") ? void 0 : await loadTailwindVitePlugin();
|
|
95
|
+
const farmConfig = pluginRsc.defineConfig({
|
|
96
|
+
...rscConfig,
|
|
97
|
+
experimental: { ...userConfig.experimental, serverComponents: true },
|
|
98
|
+
port: options.port ?? userConfig.server?.port,
|
|
99
|
+
plugins: [
|
|
100
|
+
...tailwind ? [tailwind] : [],
|
|
101
|
+
...vitePlugins,
|
|
102
|
+
viteRsc.default({ serverHandler: false, entries: FARM_RSC_ENTRIES }),
|
|
103
|
+
...typeof createReactPlugin === "function" ? [createReactPlugin()] : [],
|
|
104
|
+
pluginRsc.nitro({
|
|
105
|
+
server: { environmentName: "rsc" },
|
|
106
|
+
config: {
|
|
107
|
+
preset: options.preset,
|
|
108
|
+
outputDir: options.outputDir && resolveDeployOutputPath(root, options.outputDir)
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
]
|
|
112
|
+
});
|
|
113
|
+
for (const key of FARM_RSC_PASSTHROUGH_KEYS) {
|
|
114
|
+
if (userConfig[key] !== void 0) farmConfig[key] = userConfig[key];
|
|
115
|
+
}
|
|
116
|
+
const { mergeConfig } = await import("vite");
|
|
117
|
+
return {
|
|
118
|
+
...mergeConfig(farmConfig, viteOptions),
|
|
119
|
+
root,
|
|
120
|
+
// The Farm config is the app's config; a stray vite.config must not add a second pipeline.
|
|
121
|
+
configFile: false,
|
|
122
|
+
mode: options.command === "build" ? "production" : "development"
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
__name(createFarmRscViteConfig, "createFarmRscViteConfig");
|
|
126
|
+
async function createFarmRscDevServer(userConfig, options) {
|
|
127
|
+
const { createServer } = await import("vite");
|
|
128
|
+
return createServer(await createFarmRscViteConfig(userConfig, { ...options, command: "serve" }));
|
|
129
|
+
}
|
|
130
|
+
__name(createFarmRscDevServer, "createFarmRscDevServer");
|
|
131
|
+
async function buildFarmRsc(userConfig, options) {
|
|
132
|
+
const { createBuilder } = await import("vite");
|
|
133
|
+
const builder = await createBuilder(
|
|
134
|
+
await createFarmRscViteConfig(userConfig, { ...options, command: "build" })
|
|
135
|
+
);
|
|
136
|
+
await builder.buildApp();
|
|
137
|
+
}
|
|
138
|
+
__name(buildFarmRsc, "buildFarmRsc");
|
|
139
|
+
|
|
140
|
+
export {
|
|
141
|
+
createFarmRscViteConfig,
|
|
142
|
+
createFarmRscDevServer,
|
|
143
|
+
buildFarmRsc
|
|
144
|
+
};
|
|
@@ -20,6 +20,9 @@ var _chunkJ7FSKED3cjs = require('./chunk-J7FSKED3.cjs');
|
|
|
20
20
|
var _chunkLZESP4IRcjs = require('./chunk-LZESP4IR.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
|
+
var _chunkH7BLEEAEcjs = require('./chunk-H7BLEEAE.cjs');
|
|
24
|
+
|
|
25
|
+
|
|
23
26
|
|
|
24
27
|
|
|
25
28
|
var _chunkC5GUTBZKcjs = require('./chunk-C5GUTBZK.cjs');
|
|
@@ -300,7 +303,8 @@ var _SPARouter = class _SPARouter {
|
|
|
300
303
|
replace,
|
|
301
304
|
scroll,
|
|
302
305
|
state,
|
|
303
|
-
url
|
|
306
|
+
url,
|
|
307
|
+
refresh
|
|
304
308
|
}) : Promise.resolve()
|
|
305
309
|
);
|
|
306
310
|
if (!this.isCurrentNavigation(navigation, clientNavigation)) return;
|
|
@@ -527,7 +531,7 @@ var _SPARouter = class _SPARouter {
|
|
|
527
531
|
this.updateDocumentMetadata(options.pageData.metadata);
|
|
528
532
|
_chunkS6FJO323cjs._hydrateFarmI18n.call(void 0, options.pageData.i18n);
|
|
529
533
|
if (this.onNavigate) {
|
|
530
|
-
await this.onNavigate(options.pageData);
|
|
534
|
+
await this.onNavigate(options.pageData, { refresh: options.refresh === true });
|
|
531
535
|
}
|
|
532
536
|
if (options.scroll) {
|
|
533
537
|
if (options.url.hash) {
|
|
@@ -629,7 +633,9 @@ var _SPARouter = class _SPARouter {
|
|
|
629
633
|
Accept: "application/x-farm-deferred+json, application/json",
|
|
630
634
|
"X-Farm-SPA": "1",
|
|
631
635
|
...activeLayoutChain ? { "X-Farm-Layout-Chain": activeLayoutChain } : {},
|
|
632
|
-
...interceptFrom ? { "X-Farm-Intercept-From": interceptFrom } : {}
|
|
636
|
+
...interceptFrom ? { "X-Farm-Intercept-From": interceptFrom } : {},
|
|
637
|
+
// Islands mode: the server leaves out island values this browser holds.
|
|
638
|
+
..._chunkH7BLEEAEcjs.getFarmIslandValueHeaders.call(void 0, )
|
|
633
639
|
})
|
|
634
640
|
});
|
|
635
641
|
if (_chunkC5GUTBZKcjs.isFarmDeploymentMismatchResponse.call(void 0, response, this.options.deploymentId)) {
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
planSchemaMigration,
|
|
18
18
|
readSchemaState,
|
|
19
19
|
withoutRenameTargets
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-T76H22WI.mjs";
|
|
21
21
|
import {
|
|
22
22
|
collectSchemaExtensions,
|
|
23
23
|
describeSchemaExtensionApproval,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./chunk-WDMIW6Q6.mjs";
|
|
30
30
|
import {
|
|
31
31
|
getIntegrationSchemas
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-37VKVISD.mjs";
|
|
33
33
|
import {
|
|
34
34
|
__name
|
|
35
35
|
} from "./chunk-LPEX4YW6.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk5LPHJZSIcjs = require('./chunk-5LPHJZSI.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkIXFOBGLQcjs = require('./chunk-IXFOBGLQ.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunkI57LW5VZcjs = require('./chunk-I57LW5VZ.cjs');
|
|
@@ -13,7 +13,7 @@ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
|
13
13
|
|
|
14
14
|
// src/navigation.ts
|
|
15
15
|
function useRouter2() {
|
|
16
|
-
const router =
|
|
16
|
+
const router = _chunk5LPHJZSIcjs.useRouter.call(void 0, );
|
|
17
17
|
return {
|
|
18
18
|
push: router.push,
|
|
19
19
|
replace: router.replace,
|
|
@@ -21,21 +21,21 @@ function useRouter2() {
|
|
|
21
21
|
forward: router.forward,
|
|
22
22
|
refresh() {
|
|
23
23
|
if (typeof window === "undefined") return Promise.resolve();
|
|
24
|
-
return
|
|
24
|
+
return _chunkIXFOBGLQcjs.getRouter.call(void 0, ).refresh();
|
|
25
25
|
},
|
|
26
26
|
prefetch(href) {
|
|
27
27
|
if (typeof window === "undefined") return Promise.resolve();
|
|
28
|
-
return
|
|
28
|
+
return _chunkIXFOBGLQcjs.getRouter.call(void 0, ).prefetch(_chunkI57LW5VZcjs.applyFarmBasePath.call(void 0, href));
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
_chunkS3JO3N4Hcjs.__name.call(void 0, useRouter2, "useRouter");
|
|
33
33
|
function usePathname() {
|
|
34
|
-
return
|
|
34
|
+
return _chunk5LPHJZSIcjs.useRouter.call(void 0, ).pathname;
|
|
35
35
|
}
|
|
36
36
|
_chunkS3JO3N4Hcjs.__name.call(void 0, usePathname, "usePathname");
|
|
37
37
|
function useSearchParams() {
|
|
38
|
-
return
|
|
38
|
+
return _chunk5LPHJZSIcjs.useRouter.call(void 0, ).searchParams;
|
|
39
39
|
}
|
|
40
40
|
_chunkS3JO3N4Hcjs.__name.call(void 0, useSearchParams, "useSearchParams");
|
|
41
41
|
|
|
@@ -3,18 +3,19 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var _chunkJR4QCLJYcjs = require('./chunk-JR4QCLJY.cjs');
|
|
7
6
|
|
|
7
|
+
var _chunkPDU4P2ICcjs = require('./chunk-PDU4P2IC.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
var _chunkFVPXT2JRcjs = require('./chunk-FVPXT2JR.cjs');
|
|
10
11
|
|
|
11
|
-
var _chunkQ5B3KJBPcjs = require('./chunk-Q5B3KJBP.cjs');
|
|
12
12
|
|
|
13
|
+
var _chunkYJRZR7VUcjs = require('./chunk-YJRZR7VU.cjs');
|
|
13
14
|
|
|
14
|
-
var _chunkFVPXT2JRcjs = require('./chunk-FVPXT2JR.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
var _chunkQ5B3KJBPcjs = require('./chunk-Q5B3KJBP.cjs');
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
|
|
@@ -68,7 +69,7 @@ var _chunkJEIG3EWEcjs = require('./chunk-JEIG3EWE.cjs');
|
|
|
68
69
|
var _chunkOI6CMLWXcjs = require('./chunk-OI6CMLWX.cjs');
|
|
69
70
|
|
|
70
71
|
|
|
71
|
-
var
|
|
72
|
+
var _chunkB6XAA7V6cjs = require('./chunk-B6XAA7V6.cjs');
|
|
72
73
|
|
|
73
74
|
|
|
74
75
|
var _chunkALPWLT27cjs = require('./chunk-ALPWLT27.cjs');
|
|
@@ -680,6 +681,7 @@ function validateConfigRouteSources(routes, field) {
|
|
|
680
681
|
}
|
|
681
682
|
_chunkS3JO3N4Hcjs.__name.call(void 0, validateConfigRouteSources, "validateConfigRouteSources");
|
|
682
683
|
async function resolveConfig(userConfig, mode) {
|
|
684
|
+
_chunkPDU4P2ICcjs.resolveFarmServerComponentsMode.call(void 0, _optionalChain([userConfig, 'access', _27 => _27.experimental, 'optionalAccess', _28 => _28.serverComponents]));
|
|
683
685
|
const projectRoot = userConfig.root || process.cwd();
|
|
684
686
|
const layerResolution = await _chunkWBKEZXWEcjs.resolveFarmLayers.call(void 0, userConfig, {
|
|
685
687
|
root: projectRoot,
|
|
@@ -722,26 +724,26 @@ async function resolveConfig(userConfig, mode) {
|
|
|
722
724
|
const deploy = resolveDeployConfig(userConfig);
|
|
723
725
|
const root = userConfig.root || process.cwd();
|
|
724
726
|
const srcDir = userConfig.srcDir || "src";
|
|
725
|
-
|
|
727
|
+
_chunkPDU4P2ICcjs.setFarmProjectSourceDir.call(void 0, root, srcDir);
|
|
726
728
|
const docs = await resolveDocsConfig(userConfig.docs, { root, srcDir });
|
|
727
729
|
const md = _chunkD4ROBNTKcjs.resolveMarkdownConfig.call(void 0, userConfig.md);
|
|
728
730
|
const mdx = _chunkOHY2ZWUGcjs.resolveMdxConfig.call(void 0, userConfig.mdx);
|
|
729
731
|
const env = _chunkVEKFLAQMcjs.resolveEnv.call(void 0, userConfig.env, process.env);
|
|
730
732
|
_chunkVEKFLAQMcjs.setEnv.call(void 0, env);
|
|
731
733
|
const api = await _chunkS3A45T7Fcjs.resolveFarmAPIConfig.call(void 0, userConfig.api, { root, mode, env });
|
|
732
|
-
const auth =
|
|
734
|
+
const auth = _chunkPDU4P2ICcjs.resolveFarmAuthConfig.call(void 0, userConfig.auth);
|
|
733
735
|
const mcp = resolveFarmMCPConfig(userConfig.mcp);
|
|
734
|
-
if (auth.enabled && _optionalChain([userConfig, 'access',
|
|
736
|
+
if (auth.enabled && _optionalChain([userConfig, 'access', _29 => _29.integrations, 'optionalAccess', _30 => _30.auth])) {
|
|
735
737
|
throw new Error(
|
|
736
738
|
"Choose either the top-level `auth` config or `integrations.auth`; they cannot both own the auth route."
|
|
737
739
|
);
|
|
738
740
|
}
|
|
739
|
-
const nativeAuthIntegration = await
|
|
741
|
+
const nativeAuthIntegration = await _chunkPDU4P2ICcjs.resolveFarmAuthIntegration.call(void 0, auth, {
|
|
740
742
|
root,
|
|
741
743
|
mode
|
|
742
744
|
});
|
|
743
745
|
const nativeMCPPlugin = await resolveFarmMCPPlugin(mcp, { root });
|
|
744
|
-
if (nativeMCPPlugin && _optionalChain([userConfig, 'access',
|
|
746
|
+
if (nativeMCPPlugin && _optionalChain([userConfig, 'access', _31 => _31.plugins, 'optionalAccess', _32 => _32.some, 'call', _33 => _33((plugin) => _optionalChain([plugin, 'optionalAccess', _34 => _34.name]) === "farm:api-mcp")])) {
|
|
745
747
|
throw new Error(
|
|
746
748
|
"Choose either the top-level `mcp` config or `apiMcp()` in `plugins`; they configure the same MCP transport."
|
|
747
749
|
);
|
|
@@ -794,13 +796,15 @@ async function resolveConfig(userConfig, mode) {
|
|
|
794
796
|
experimental: {
|
|
795
797
|
serverComponents: false,
|
|
796
798
|
serverActions: false,
|
|
797
|
-
|
|
799
|
+
// Islands mode hydrates client components as islands (RFC 0003); an app can still pick
|
|
800
|
+
// isolatedClientHydration itself.
|
|
801
|
+
isolatedClientHydration: _chunkPDU4P2ICcjs.resolveFarmServerComponentsMode.call(void 0, _optionalChain([userConfig, 'access', _35 => _35.experimental, 'optionalAccess', _36 => _36.serverComponents])) === "islands" ? "enabled" : "off",
|
|
798
802
|
ppr: false,
|
|
799
803
|
...userConfig.experimental
|
|
800
804
|
},
|
|
801
805
|
agent: resolveFarmAgentConfig(userConfig.agent, { docs: docs.enabled }),
|
|
802
806
|
plugins: [
|
|
803
|
-
...
|
|
807
|
+
..._chunkB6XAA7V6cjs.resolveIntegrationPlugins.call(void 0, integrations),
|
|
804
808
|
...nativeMCPPlugin ? [nativeMCPPlugin] : [],
|
|
805
809
|
...userConfig.plugins || []
|
|
806
810
|
],
|
|
@@ -830,7 +834,7 @@ async function resolveConfig(userConfig, mode) {
|
|
|
830
834
|
distDir: userConfig.distDir || ".farm",
|
|
831
835
|
generateBuildId,
|
|
832
836
|
compress: _nullishCoalesce(userConfig.compress, () => ( true)),
|
|
833
|
-
devIndicators:
|
|
837
|
+
devIndicators: _chunkPDU4P2ICcjs.resolveFarmDevIndicatorsConfig.call(void 0, userConfig.devIndicators, mode),
|
|
834
838
|
serverRuntimeConfig: userConfig.serverRuntimeConfig || {},
|
|
835
839
|
publicRuntimeConfig: userConfig.publicRuntimeConfig || {},
|
|
836
840
|
env,
|