@farm.js/core 0.1.17 → 0.1.19
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/after.cjs +12 -225
- package/dist/agent-runtime.cjs +83 -2800
- package/dist/api/client.cjs +17 -4060
- package/dist/api/route-manager.cjs +34 -4354
- package/dist/api/runtime.cjs +29 -2696
- package/dist/api.cjs +88 -8434
- package/dist/app-markdown.cjs +39 -280
- package/dist/app-markdown.mjs +3 -3
- package/dist/cache.cjs +38 -1560
- package/dist/chunk-22GUSVNJ.cjs +351 -0
- package/dist/{chunk-EN7WTEAY.mjs → chunk-2ANEVVF7.mjs} +1 -1
- package/dist/chunk-2CQ74SP6.cjs +13 -0
- package/dist/{chunk-YD4J4XCI.mjs → chunk-2GNATDDE.mjs} +1 -1
- package/dist/chunk-2SJ4RQ6P.cjs +57 -0
- package/dist/chunk-3376ZTRC.cjs +1 -0
- package/dist/chunk-4PNUXIVU.cjs +472 -0
- package/dist/chunk-4PPEPOZZ.cjs +21 -0
- package/dist/chunk-4ZFL5GFN.cjs +520 -0
- package/dist/chunk-5OVTOKGH.cjs +65 -0
- package/dist/chunk-5QIKR7RR.cjs +224 -0
- package/dist/chunk-5ZSWG4UX.cjs +127 -0
- package/dist/chunk-62YJ2IEB.cjs +238 -0
- package/dist/chunk-6EODJYCX.cjs +183 -0
- package/dist/chunk-6EXBPJ24.cjs +434 -0
- package/dist/chunk-6QQDAAAZ.cjs +38 -0
- package/dist/chunk-6V4TDWEC.cjs +455 -0
- package/dist/chunk-72ADZ6GQ.cjs +19 -0
- package/dist/chunk-75BRBIFP.cjs +172 -0
- package/dist/{chunk-ZCNJKLA2.mjs → chunk-7BC6GAL7.mjs} +1 -1
- package/dist/chunk-7W3CPVXS.cjs +24 -0
- package/dist/chunk-A6WIQH5Z.cjs +31 -0
- package/dist/chunk-A777V5WU.cjs +725 -0
- package/dist/chunk-AFOD3LYZ.cjs +377 -0
- package/dist/chunk-AH7HOAQ3.cjs +151 -0
- package/dist/chunk-AMDMVWMI.cjs +39 -0
- package/dist/chunk-AORPIPNB.cjs +552 -0
- package/dist/chunk-ARJWXNQL.cjs +256 -0
- package/dist/chunk-AYJR42WX.cjs +711 -0
- package/dist/chunk-BBVSJVBZ.cjs +600 -0
- package/dist/chunk-BIDYX3SL.cjs +91 -0
- package/dist/chunk-BYODCJD6.cjs +663 -0
- package/dist/chunk-C3VRMB6H.cjs +85 -0
- package/dist/chunk-C5GUTBZK.cjs +173 -0
- package/dist/chunk-CIAGU2X4.cjs +337 -0
- package/dist/chunk-CMGMGHUZ.cjs +27 -0
- package/dist/chunk-CXP5U3RW.cjs +54 -0
- package/dist/chunk-D2ULAULS.cjs +166 -0
- package/dist/chunk-D7JTOLFK.cjs +285 -0
- package/dist/chunk-DVM4FKZL.cjs +169 -0
- package/dist/chunk-DYEJQTDN.cjs +49 -0
- package/dist/chunk-E2ROOWQC.cjs +2225 -0
- package/dist/chunk-E3UK5IIB.cjs +593 -0
- package/dist/chunk-EM6SBQKM.cjs +470 -0
- package/dist/chunk-FJSWYIR7.cjs +482 -0
- package/dist/chunk-FK6GO24V.cjs +54 -0
- package/dist/{chunk-MVIWBEJF.mjs → chunk-FVZGEVTO.mjs} +7 -7
- package/dist/chunk-FXUUWYAX.cjs +654 -0
- package/dist/chunk-G3HRIVEY.cjs +395 -0
- package/dist/chunk-G643DQCH.cjs +13 -0
- package/dist/chunk-G7HXGLEC.cjs +175 -0
- package/dist/chunk-GDSHDTJ4.cjs +152 -0
- package/dist/chunk-GPVTX3HT.cjs +1415 -0
- package/dist/chunk-H6G5INWM.cjs +1094 -0
- package/dist/{chunk-DHDVMXYK.mjs → chunk-HALDNTIV.mjs} +30 -4
- package/dist/chunk-HBTUGXHS.cjs +180 -0
- package/dist/chunk-HREOKQWT.cjs +45 -0
- package/dist/{chunk-5QOEPUYE.mjs → chunk-HSDL2AUR.mjs} +1 -1
- package/dist/chunk-I4J452B7.cjs +435 -0
- package/dist/chunk-I57LW5VZ.cjs +94 -0
- package/dist/chunk-I5YBCWQ6.cjs +40 -0
- package/dist/chunk-I7PUUDGY.cjs +389 -0
- package/dist/chunk-IAMRBF3Z.cjs +86 -0
- package/dist/chunk-IQXFRNY2.cjs +169 -0
- package/dist/chunk-ISTFC3MZ.cjs +1357 -0
- package/dist/chunk-IXTFU4PL.cjs +2355 -0
- package/dist/chunk-J3LOGE4T.cjs +42 -0
- package/dist/chunk-J7FSKED3.cjs +93 -0
- package/dist/chunk-JDNHKPTD.cjs +22 -0
- package/dist/chunk-JSROZYYO.cjs +164 -0
- package/dist/chunk-K6FNHVDR.cjs +696 -0
- package/dist/chunk-KGZIORNL.cjs +43 -0
- package/dist/chunk-KR6CKSXT.cjs +15 -0
- package/dist/chunk-KROWKCUH.cjs +185 -0
- package/dist/chunk-KVFPGF2M.cjs +46 -0
- package/dist/{chunk-TNBAYAWO.mjs → chunk-L4DVIHOC.mjs} +1 -1
- package/dist/chunk-LCCBO7PJ.cjs +46 -0
- package/dist/chunk-LIUGYUX3.cjs +22 -0
- package/dist/chunk-LTNGXMQ6.cjs +55 -0
- package/dist/chunk-M2L4MYDQ.cjs +14 -0
- package/dist/chunk-MCJLA63J.cjs +1 -0
- package/dist/chunk-MKB2EGIR.cjs +148 -0
- package/dist/chunk-MQ3H6LT5.cjs +202 -0
- package/dist/chunk-MT763TDW.cjs +43 -0
- package/dist/{chunk-XWAYMDLB.mjs → chunk-MVUREHPN.mjs} +1 -1
- package/dist/chunk-MWSK6C4J.cjs +18 -0
- package/dist/chunk-MWWVKDW3.cjs +169 -0
- package/dist/{chunk-6VQIKZZO.mjs → chunk-N255VYFP.mjs} +1 -1
- package/dist/chunk-NBAHDVOJ.cjs +2040 -0
- package/dist/chunk-NO3WWW3N.cjs +192 -0
- package/dist/chunk-NSFC3LHB.cjs +10244 -0
- package/dist/chunk-NZKJGRB3.cjs +230 -0
- package/dist/chunk-OAVTUMJP.cjs +1496 -0
- package/dist/{chunk-SXHV42UQ.mjs → chunk-OFEY6KHO.mjs} +88 -13
- package/dist/chunk-OHY2ZWUG.cjs +25 -0
- package/dist/chunk-OI6CMLWX.cjs +47 -0
- package/dist/chunk-OWOUTKIJ.cjs +558 -0
- package/dist/chunk-OX6O6WVA.cjs +74 -0
- package/dist/chunk-OXSIH4D6.cjs +476 -0
- package/dist/chunk-OYDRPBBV.cjs +453 -0
- package/dist/chunk-OYEUREB6.cjs +35 -0
- package/dist/chunk-PCOTGFSM.cjs +139 -0
- package/dist/{chunk-76DG3LF3.mjs → chunk-PGQBL5DN.mjs} +1 -1
- package/dist/chunk-PZYCPSCC.cjs +35 -0
- package/dist/chunk-QBK2AA4U.cjs +445 -0
- package/dist/{chunk-UTBVHYS3.mjs → chunk-QBPKKQTD.mjs} +2 -2
- package/dist/chunk-QBPXNZGV.cjs +487 -0
- package/dist/chunk-QNPEUFHQ.cjs +27 -0
- package/dist/chunk-QZRVZSPN.cjs +236 -0
- package/dist/chunk-R5A5KNVX.cjs +20 -0
- package/dist/chunk-R5JIFR6B.cjs +42 -0
- package/dist/chunk-R6AIILII.cjs +193 -0
- package/dist/chunk-RFYO7QUD.cjs +9 -0
- package/dist/chunk-RG3ZOTG5.cjs +34 -0
- package/dist/chunk-ROUTX2E5.cjs +390 -0
- package/dist/chunk-RTHIVJ2G.cjs +54 -0
- package/dist/chunk-S27FMYAM.cjs +644 -0
- package/dist/chunk-S3A45T7F.cjs +166 -0
- package/dist/chunk-S3JO3N4H.cjs +17 -0
- package/dist/chunk-SK35NQKK.cjs +27 -0
- package/dist/chunk-SU7MH53P.cjs +180 -0
- package/dist/chunk-SVRTJOUF.cjs +113 -0
- package/dist/chunk-SWN467MP.cjs +18 -0
- package/dist/chunk-SYQ3MOWW.cjs +73 -0
- package/dist/chunk-T5CERMEH.cjs +417 -0
- package/dist/chunk-TFAXUHWX.cjs +206 -0
- package/dist/chunk-TIWHTW3Q.cjs +24 -0
- package/dist/chunk-TKJZFIML.cjs +20 -0
- package/dist/chunk-TKNSDBBN.cjs +193 -0
- package/dist/chunk-U4KT7QP3.cjs +23 -0
- package/dist/chunk-U5BMPGS3.cjs +862 -0
- package/dist/chunk-UJ2C4ICS.cjs +277 -0
- package/dist/chunk-UQZ4AYTH.cjs +168 -0
- package/dist/chunk-US2QVW3E.cjs +36 -0
- package/dist/{chunk-QGVJVSNX.mjs → chunk-V4AICMQA.mjs} +2 -2
- package/dist/chunk-VB6UCX3V.cjs +421 -0
- package/dist/chunk-VEKFLAQM.cjs +300 -0
- package/dist/chunk-VQDBNVOO.cjs +14 -0
- package/dist/chunk-W4E7WMXE.cjs +71 -0
- package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
- package/dist/chunk-WMAPPDMM.cjs +28 -0
- package/dist/chunk-WMOGFOUJ.cjs +223 -0
- package/dist/chunk-WPYFSQKK.cjs +37 -0
- package/dist/{chunk-56DAX2BE.mjs → chunk-WZXN4R5Y.mjs} +24 -13
- package/dist/chunk-XDGMADQM.cjs +14225 -0
- package/dist/chunk-XGC343EY.cjs +443 -0
- package/dist/chunk-XSKZORAS.cjs +727 -0
- package/dist/chunk-XWAWFQFS.cjs +82 -0
- package/dist/chunk-Y4YMF2NQ.cjs +460 -0
- package/dist/chunk-Y4YWHNKU.cjs +250 -0
- package/dist/chunk-Y53ZSFN6.cjs +504 -0
- package/dist/chunk-YA6LLTIJ.cjs +411 -0
- package/dist/chunk-YFPGHF5F.cjs +202 -0
- package/dist/chunk-YJRZR7VU.cjs +28 -0
- package/dist/chunk-YTAABQEV.cjs +1 -0
- package/dist/chunk-YX3DBN4M.cjs +18 -0
- package/dist/chunk-YZTASLPQ.cjs +64 -0
- package/dist/chunk-Z5HIWVDP.cjs +2173 -0
- package/dist/chunk-ZEG3OPIB.cjs +93 -0
- package/dist/chunk-ZMN3H73H.cjs +155 -0
- package/dist/client/lifecycle.cjs +6 -35
- package/dist/client-plugins.cjs +7 -448
- package/dist/client.cjs +171 -9808
- package/dist/config.cjs +8 -36
- package/dist/cron.cjs +24 -491
- package/dist/deferred.cjs +26 -475
- package/dist/deployment.cjs +39 -210
- package/dist/devtools-5KGPDVKL.cjs +388 -0
- package/dist/{devtools-UFVTMQX5.mjs → devtools-FY5R7TQ4.mjs} +3 -3
- package/dist/devtools-client-4WAPJY5L.cjs +254 -0
- package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
- package/dist/docs.cjs +46 -5657
- package/dist/docs.mjs +5 -5
- package/dist/env-types.cjs +5 -226
- package/dist/env.cjs +21 -338
- package/dist/environment/vite.cjs +8 -372
- package/dist/environment.cjs +12 -94
- package/dist/font.cjs +13 -63
- package/dist/headers.cjs +7 -123
- package/dist/i18n/client.cjs +55 -294
- package/dist/i18n/index.cjs +22 -209
- package/dist/i18n/server.cjs +22 -745
- package/dist/image/server.cjs +13 -729
- package/dist/image/sharp.cjs +33 -171
- package/dist/image.cjs +41 -85
- package/dist/index.cjs +1151 -68080
- package/dist/index.mjs +14 -14
- package/dist/instrumentation.cjs +12 -138
- package/dist/integration-orm-55F7CII5.cjs +13 -0
- package/dist/integrations.cjs +55 -4090
- package/dist/internal/app-markdown-runtime.cjs +27 -224
- package/dist/internal/app-markdown-runtime.mjs +2 -2
- package/dist/internal/build-runtime.cjs +120 -52259
- package/dist/internal/build-runtime.mjs +13 -13
- package/dist/internal/cli-runtime.cjs +67 -13811
- package/dist/internal/cli-runtime.mjs +7 -7
- package/dist/internal/client-error-overlay.cjs +80 -733
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +81 -913
- package/dist/internal/compression-runtime.cjs +8 -214
- package/dist/internal/config-runtime.cjs +42 -6547
- package/dist/internal/config-runtime.mjs +3 -3
- package/dist/internal/docs-precompiled-runtime.cjs +26 -46
- package/dist/internal/infra-analytics-runtime.cjs +10 -536
- package/dist/internal/isolated-boundary.cjs +14 -414
- package/dist/internal/metadata-image-runtime.cjs +7 -285
- package/dist/internal/product-telemetry-runtime.cjs +42 -97
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-node-env.cjs +6 -63
- package/dist/internal/production-runtime.cjs +418 -7133
- package/dist/internal/production-runtime.mjs +3 -3
- package/dist/internal/request-cookies.cjs +6 -54
- package/dist/json-ld.cjs +24 -50
- package/dist/layers-E4WPJNY5.cjs +17 -0
- package/dist/manager-G4B2IPYE.cjs +14 -0
- package/dist/markdown.cjs +21 -547
- package/dist/markdown.mjs +1 -1
- package/dist/middleware.cjs +36 -2995
- package/dist/navigation.cjs +22 -2588
- package/dist/nitro-4I2MYLY2.cjs +652 -0
- package/dist/observability.cjs +22 -614
- package/dist/og.cjs +5 -28
- package/dist/plugin.cjs +106 -37442
- package/dist/plugin.mjs +9 -9
- package/dist/query/client.cjs +113 -449
- package/dist/query/index.cjs +26 -288
- package/dist/query/parsers.cjs +23 -247
- package/dist/query/server.cjs +36 -298
- package/dist/renderer/react/client.cjs +9 -43
- package/dist/renderer/react/server.cjs +40 -103
- package/dist/renderer/react/vite.cjs +7 -29
- package/dist/renderer-client.cjs +126 -4295
- package/dist/renderer.cjs +31 -249
- package/dist/request.cjs +5 -68
- package/dist/router.cjs +11 -474
- package/dist/routes.cjs +42 -2461
- package/dist/{schema-dev-notice-2IE2F2XI.mjs → schema-dev-notice-O67CPXJ6.mjs} +1 -1
- package/dist/schema-dev-notice-Y7MQEFGN.cjs +56 -0
- package/dist/schema.cjs +6 -33
- package/dist/search-client-G3RICOFU.cjs +13 -0
- package/dist/server-action-security.cjs +25 -541
- package/dist/server-fn-client.cjs +6 -337
- package/dist/server-fn.cjs +32 -1841
- package/dist/server-plugins.cjs +15 -884
- package/dist/server-query-client.cjs +15 -1883
- package/dist/server-query.cjs +16 -1838
- package/dist/server.cjs +296 -44681
- package/dist/server.mjs +11 -11
- package/dist/storage.cjs +57 -576
- package/dist/testing.cjs +89 -3186
- package/dist/theme/client.cjs +13 -108
- package/dist/theme/index.cjs +6 -68
- package/dist/theme/runtime.cjs +13 -78
- package/dist/theme/server.cjs +10 -179
- package/dist/version.cjs +4 -32
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +119 -37773
- package/dist/vite.mjs +9 -9
- package/dist/workflows.cjs +19 -1040
- package/package.json +1 -1
package/dist/deployment.cjs
CHANGED
|
@@ -1,210 +1,39 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
withFarmDeploymentResponse: () => withFarmDeploymentResponse
|
|
41
|
-
});
|
|
42
|
-
module.exports = __toCommonJS(deployment_exports);
|
|
43
|
-
var FARM_DEPLOYMENT_ID_HEADER = "x-farm-deployment-id";
|
|
44
|
-
var FARM_DEPLOYMENT_MISMATCH_HEADER = "x-farm-deployment-mismatch";
|
|
45
|
-
var FARM_DEPLOYMENT_COOKIE = "__farm_deployment";
|
|
46
|
-
var FARM_DEPLOYMENT_MISMATCH_CODE = "FARM_DEPLOYMENT_MISMATCH";
|
|
47
|
-
var FARM_DEPLOYMENT_MISMATCH_STATUS = 409;
|
|
48
|
-
function getFarmPresetRuntime(preset) {
|
|
49
|
-
if (preset === "cloudflare" || preset === "cloudflare-pages" || preset === "cloudflare-module" || preset === "netlify-edge" || preset === "vercel-edge" || preset === "deno") {
|
|
50
|
-
return "edge";
|
|
51
|
-
}
|
|
52
|
-
if (preset === "node-server" || preset === "vercel" || preset === "netlify" || preset === "aws-lambda" || preset === "azure" || preset === "firebase" || preset === "bun" || preset === "self-host" || preset === "farm") {
|
|
53
|
-
return "node";
|
|
54
|
-
}
|
|
55
|
-
return "unknown";
|
|
56
|
-
}
|
|
57
|
-
__name(getFarmPresetRuntime, "getFarmPresetRuntime");
|
|
58
|
-
var _FarmDeploymentMismatchError = class _FarmDeploymentMismatchError extends Error {
|
|
59
|
-
constructor(clientDeploymentId, serverDeploymentId) {
|
|
60
|
-
super("The application was updated while this page was open. Refresh before trying again.");
|
|
61
|
-
this.clientDeploymentId = clientDeploymentId;
|
|
62
|
-
this.serverDeploymentId = serverDeploymentId;
|
|
63
|
-
this.name = "FarmDeploymentMismatchError";
|
|
64
|
-
this.code = FARM_DEPLOYMENT_MISMATCH_CODE;
|
|
65
|
-
this.retryable = false;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
__name(_FarmDeploymentMismatchError, "FarmDeploymentMismatchError");
|
|
69
|
-
var FarmDeploymentMismatchError = _FarmDeploymentMismatchError;
|
|
70
|
-
function normalizeFarmDeploymentId(value) {
|
|
71
|
-
if (typeof value !== "string" || value.trim() === "") {
|
|
72
|
-
throw new TypeError("Farm deploymentId must be a non-empty string");
|
|
73
|
-
}
|
|
74
|
-
const normalized = value.trim();
|
|
75
|
-
if (normalized.length > 200 || /[\u0000-\u001f\u007f]/.test(normalized)) {
|
|
76
|
-
throw new TypeError("Farm deploymentId must be at most 200 characters without control bytes");
|
|
77
|
-
}
|
|
78
|
-
return normalized;
|
|
79
|
-
}
|
|
80
|
-
__name(normalizeFarmDeploymentId, "normalizeFarmDeploymentId");
|
|
81
|
-
function createFarmDeploymentRequestHeaders(deploymentId, init) {
|
|
82
|
-
const headers = new Headers(init);
|
|
83
|
-
if (deploymentId) {
|
|
84
|
-
headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);
|
|
85
|
-
}
|
|
86
|
-
return headers;
|
|
87
|
-
}
|
|
88
|
-
__name(createFarmDeploymentRequestHeaders, "createFarmDeploymentRequestHeaders");
|
|
89
|
-
function getFarmRequestDeploymentId(request) {
|
|
90
|
-
const headerValue = request.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim();
|
|
91
|
-
if (headerValue) return headerValue;
|
|
92
|
-
if (isSafeRequestMethod(request.method)) return void 0;
|
|
93
|
-
return readCookie(request.headers.get("cookie"), FARM_DEPLOYMENT_COOKIE);
|
|
94
|
-
}
|
|
95
|
-
__name(getFarmRequestDeploymentId, "getFarmRequestDeploymentId");
|
|
96
|
-
function getFarmDeploymentMismatch(request, serverDeploymentId) {
|
|
97
|
-
if (!serverDeploymentId) return null;
|
|
98
|
-
const clientDeploymentId = getFarmRequestDeploymentId(request);
|
|
99
|
-
if (!clientDeploymentId || clientDeploymentId === serverDeploymentId) return null;
|
|
100
|
-
return { clientDeploymentId, serverDeploymentId };
|
|
101
|
-
}
|
|
102
|
-
__name(getFarmDeploymentMismatch, "getFarmDeploymentMismatch");
|
|
103
|
-
function createFarmDeploymentMismatchResponse(mismatch) {
|
|
104
|
-
return new Response(
|
|
105
|
-
JSON.stringify({
|
|
106
|
-
error: FARM_DEPLOYMENT_MISMATCH_CODE,
|
|
107
|
-
message: "The application deployment changed. Refresh before retrying this request."
|
|
108
|
-
}),
|
|
109
|
-
{
|
|
110
|
-
status: FARM_DEPLOYMENT_MISMATCH_STATUS,
|
|
111
|
-
headers: {
|
|
112
|
-
"Cache-Control": "no-store",
|
|
113
|
-
"Content-Type": "application/json; charset=utf-8",
|
|
114
|
-
[FARM_DEPLOYMENT_ID_HEADER]: mismatch.serverDeploymentId,
|
|
115
|
-
[FARM_DEPLOYMENT_MISMATCH_HEADER]: "1"
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
__name(createFarmDeploymentMismatchResponse, "createFarmDeploymentMismatchResponse");
|
|
121
|
-
function withFarmDeploymentResponse(response, deploymentId, options = {}) {
|
|
122
|
-
if (!deploymentId) return response;
|
|
123
|
-
const headers = new Headers(response.headers);
|
|
124
|
-
headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);
|
|
125
|
-
if (options.setCookie) {
|
|
126
|
-
headers.append(
|
|
127
|
-
"Set-Cookie",
|
|
128
|
-
createFarmDeploymentCookie(
|
|
129
|
-
deploymentId,
|
|
130
|
-
options.cookiePath ?? "/",
|
|
131
|
-
options.secureCookie ?? false
|
|
132
|
-
)
|
|
133
|
-
);
|
|
134
|
-
}
|
|
135
|
-
return new Response(response.body, {
|
|
136
|
-
status: response.status,
|
|
137
|
-
statusText: response.statusText,
|
|
138
|
-
headers
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
__name(withFarmDeploymentResponse, "withFarmDeploymentResponse");
|
|
142
|
-
function getFarmResponseDeploymentId(response) {
|
|
143
|
-
return response.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim() || void 0;
|
|
144
|
-
}
|
|
145
|
-
__name(getFarmResponseDeploymentId, "getFarmResponseDeploymentId");
|
|
146
|
-
function isFarmDeploymentMismatchResponse(response, clientDeploymentId) {
|
|
147
|
-
const serverDeploymentId = getFarmResponseDeploymentId(response);
|
|
148
|
-
if (clientDeploymentId && serverDeploymentId && clientDeploymentId !== serverDeploymentId) {
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
return response.status === FARM_DEPLOYMENT_MISMATCH_STATUS && response.headers.get(FARM_DEPLOYMENT_MISMATCH_HEADER) === "1";
|
|
152
|
-
}
|
|
153
|
-
__name(isFarmDeploymentMismatchResponse, "isFarmDeploymentMismatchResponse");
|
|
154
|
-
function createFarmDeploymentMismatchError(response, clientDeploymentId) {
|
|
155
|
-
return new FarmDeploymentMismatchError(
|
|
156
|
-
clientDeploymentId,
|
|
157
|
-
getFarmResponseDeploymentId(response) || "unknown"
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
__name(createFarmDeploymentMismatchError, "createFarmDeploymentMismatchError");
|
|
161
|
-
function createFarmDeploymentCookie(deploymentId, path = "/", secure = false) {
|
|
162
|
-
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
|
|
163
|
-
return [
|
|
164
|
-
`${FARM_DEPLOYMENT_COOKIE}=${encodeURIComponent(deploymentId)}`,
|
|
165
|
-
`Path=${normalizedPath}`,
|
|
166
|
-
"HttpOnly",
|
|
167
|
-
"SameSite=Lax",
|
|
168
|
-
secure ? "Secure" : ""
|
|
169
|
-
].filter(Boolean).join("; ");
|
|
170
|
-
}
|
|
171
|
-
__name(createFarmDeploymentCookie, "createFarmDeploymentCookie");
|
|
172
|
-
function readCookie(cookieHeader, name) {
|
|
173
|
-
if (!cookieHeader) return void 0;
|
|
174
|
-
for (const part of cookieHeader.split(";")) {
|
|
175
|
-
const separator = part.indexOf("=");
|
|
176
|
-
if (separator === -1 || part.slice(0, separator).trim() !== name) continue;
|
|
177
|
-
const value = part.slice(separator + 1).trim();
|
|
178
|
-
try {
|
|
179
|
-
return decodeURIComponent(value);
|
|
180
|
-
} catch {
|
|
181
|
-
return value;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return void 0;
|
|
185
|
-
}
|
|
186
|
-
__name(readCookie, "readCookie");
|
|
187
|
-
function isSafeRequestMethod(method) {
|
|
188
|
-
return ["GET", "HEAD", "OPTIONS", "QUERY"].includes(method.toUpperCase());
|
|
189
|
-
}
|
|
190
|
-
__name(isSafeRequestMethod, "isSafeRequestMethod");
|
|
191
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
192
|
-
0 && (module.exports = {
|
|
193
|
-
FARM_DEPLOYMENT_COOKIE,
|
|
194
|
-
FARM_DEPLOYMENT_ID_HEADER,
|
|
195
|
-
FARM_DEPLOYMENT_MISMATCH_CODE,
|
|
196
|
-
FARM_DEPLOYMENT_MISMATCH_HEADER,
|
|
197
|
-
FARM_DEPLOYMENT_MISMATCH_STATUS,
|
|
198
|
-
FarmDeploymentMismatchError,
|
|
199
|
-
createFarmDeploymentCookie,
|
|
200
|
-
createFarmDeploymentMismatchError,
|
|
201
|
-
createFarmDeploymentMismatchResponse,
|
|
202
|
-
createFarmDeploymentRequestHeaders,
|
|
203
|
-
getFarmDeploymentMismatch,
|
|
204
|
-
getFarmPresetRuntime,
|
|
205
|
-
getFarmRequestDeploymentId,
|
|
206
|
-
getFarmResponseDeploymentId,
|
|
207
|
-
isFarmDeploymentMismatchResponse,
|
|
208
|
-
normalizeFarmDeploymentId,
|
|
209
|
-
withFarmDeploymentResponse
|
|
210
|
-
});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
var _chunkC5GUTBZKcjs = require('./chunk-C5GUTBZK.cjs');
|
|
20
|
+
require('./chunk-S3JO3N4H.cjs');
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
exports.FARM_DEPLOYMENT_COOKIE = _chunkC5GUTBZKcjs.FARM_DEPLOYMENT_COOKIE; exports.FARM_DEPLOYMENT_ID_HEADER = _chunkC5GUTBZKcjs.FARM_DEPLOYMENT_ID_HEADER; exports.FARM_DEPLOYMENT_MISMATCH_CODE = _chunkC5GUTBZKcjs.FARM_DEPLOYMENT_MISMATCH_CODE; exports.FARM_DEPLOYMENT_MISMATCH_HEADER = _chunkC5GUTBZKcjs.FARM_DEPLOYMENT_MISMATCH_HEADER; exports.FARM_DEPLOYMENT_MISMATCH_STATUS = _chunkC5GUTBZKcjs.FARM_DEPLOYMENT_MISMATCH_STATUS; exports.FarmDeploymentMismatchError = _chunkC5GUTBZKcjs.FarmDeploymentMismatchError; exports.createFarmDeploymentCookie = _chunkC5GUTBZKcjs.createFarmDeploymentCookie; exports.createFarmDeploymentMismatchError = _chunkC5GUTBZKcjs.createFarmDeploymentMismatchError; exports.createFarmDeploymentMismatchResponse = _chunkC5GUTBZKcjs.createFarmDeploymentMismatchResponse; exports.createFarmDeploymentRequestHeaders = _chunkC5GUTBZKcjs.createFarmDeploymentRequestHeaders; exports.getFarmDeploymentMismatch = _chunkC5GUTBZKcjs.getFarmDeploymentMismatch; exports.getFarmPresetRuntime = _chunkC5GUTBZKcjs.getFarmPresetRuntime; exports.getFarmRequestDeploymentId = _chunkC5GUTBZKcjs.getFarmRequestDeploymentId; exports.getFarmResponseDeploymentId = _chunkC5GUTBZKcjs.getFarmResponseDeploymentId; exports.isFarmDeploymentMismatchResponse = _chunkC5GUTBZKcjs.isFarmDeploymentMismatchResponse; exports.normalizeFarmDeploymentId = _chunkC5GUTBZKcjs.normalizeFarmDeploymentId; exports.withFarmDeploymentResponse = _chunkC5GUTBZKcjs.withFarmDeploymentResponse;
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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
|
+
|
|
3
|
+
var _chunkU5BMPGS3cjs = require('./chunk-U5BMPGS3.cjs');
|
|
4
|
+
require('./chunk-KR6CKSXT.cjs');
|
|
5
|
+
require('./chunk-QBPXNZGV.cjs');
|
|
6
|
+
require('./chunk-YJRZR7VU.cjs');
|
|
7
|
+
require('./chunk-GDSHDTJ4.cjs');
|
|
8
|
+
require('./chunk-Y4YMF2NQ.cjs');
|
|
9
|
+
require('./chunk-TFAXUHWX.cjs');
|
|
10
|
+
require('./chunk-ISTFC3MZ.cjs');
|
|
11
|
+
require('./chunk-YFPGHF5F.cjs');
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _chunk6EXBPJ24cjs = require('./chunk-6EXBPJ24.cjs');
|
|
15
|
+
require('./chunk-T5CERMEH.cjs');
|
|
16
|
+
require('./chunk-VEKFLAQM.cjs');
|
|
17
|
+
require('./chunk-OHY2ZWUG.cjs');
|
|
18
|
+
require('./chunk-BBVSJVBZ.cjs');
|
|
19
|
+
require('./chunk-K6FNHVDR.cjs');
|
|
20
|
+
require('./chunk-JDNHKPTD.cjs');
|
|
21
|
+
require('./chunk-CMGMGHUZ.cjs');
|
|
22
|
+
require('./chunk-OI6CMLWX.cjs');
|
|
23
|
+
require('./chunk-Z5HIWVDP.cjs');
|
|
24
|
+
require('./chunk-SVRTJOUF.cjs');
|
|
25
|
+
require('./chunk-G643DQCH.cjs');
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
var _chunkMKB2EGIRcjs = require('./chunk-MKB2EGIR.cjs');
|
|
31
|
+
require('./chunk-EM6SBQKM.cjs');
|
|
32
|
+
require('./chunk-HBTUGXHS.cjs');
|
|
33
|
+
require('./chunk-5QIKR7RR.cjs');
|
|
34
|
+
require('./chunk-QNPEUFHQ.cjs');
|
|
35
|
+
require('./chunk-UQZ4AYTH.cjs');
|
|
36
|
+
require('./chunk-NZKJGRB3.cjs');
|
|
37
|
+
require('./chunk-S3A45T7F.cjs');
|
|
38
|
+
require('./chunk-R5JIFR6B.cjs');
|
|
39
|
+
require('./chunk-C5GUTBZK.cjs');
|
|
40
|
+
require('./chunk-ZEG3OPIB.cjs');
|
|
41
|
+
require('./chunk-DVM4FKZL.cjs');
|
|
42
|
+
require('./chunk-OX6O6WVA.cjs');
|
|
43
|
+
require('./chunk-US2QVW3E.cjs');
|
|
44
|
+
require('./chunk-BIDYX3SL.cjs');
|
|
45
|
+
require('./chunk-I57LW5VZ.cjs');
|
|
46
|
+
require('./chunk-NO3WWW3N.cjs');
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
50
|
+
|
|
51
|
+
// src/devtools.ts
|
|
52
|
+
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
53
|
+
function normalizePath(value) {
|
|
54
|
+
return value.replace(/\\/g, "/");
|
|
55
|
+
}
|
|
56
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, normalizePath, "normalizePath");
|
|
57
|
+
function toProjectPath(root, filePath) {
|
|
58
|
+
const normalizedRoot = normalizePath(root).replace(/\/$/, "");
|
|
59
|
+
const normalizedFile = normalizePath(filePath);
|
|
60
|
+
if (normalizedFile.startsWith(normalizedRoot + "/")) {
|
|
61
|
+
return normalizedFile.slice(normalizedRoot.length + 1);
|
|
62
|
+
}
|
|
63
|
+
return normalizedFile;
|
|
64
|
+
}
|
|
65
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, toProjectPath, "toProjectPath");
|
|
66
|
+
function sortByPath(items) {
|
|
67
|
+
return [...items].sort(
|
|
68
|
+
(a, b) => (a.path || a.pattern || "").localeCompare(b.path || b.pattern || "")
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, sortByPath, "sortByPath");
|
|
72
|
+
function toRuntime(value) {
|
|
73
|
+
return {
|
|
74
|
+
runtime: value.runtime,
|
|
75
|
+
...value.regions ? { regions: [...value.regions] } : {},
|
|
76
|
+
...value.maxDuration ? { maxDuration: value.maxDuration } : {}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, toRuntime, "toRuntime");
|
|
80
|
+
async function collectRoutes(root, kind, routes, routeManager, diagnostics) {
|
|
81
|
+
return Promise.all(
|
|
82
|
+
Array.from(routes.values()).map(async (route) => {
|
|
83
|
+
let runtime;
|
|
84
|
+
if (kind === "page" && routeManager.resolveRouteRuntimeConfig) {
|
|
85
|
+
try {
|
|
86
|
+
runtime = toRuntime(await routeManager.resolveRouteRuntimeConfig(route.pattern));
|
|
87
|
+
} catch (error) {
|
|
88
|
+
diagnostics.push({
|
|
89
|
+
severity: "warning",
|
|
90
|
+
code: "ROUTE_RUNTIME_UNRESOLVED",
|
|
91
|
+
title: `Could not inspect ${route.pattern}`,
|
|
92
|
+
message: error instanceof Error ? error.message : String(error),
|
|
93
|
+
action: "Check the route and inherited layout runtime exports."
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
kind,
|
|
99
|
+
pattern: route.pattern,
|
|
100
|
+
filePath: toProjectPath(root, route.modulePath),
|
|
101
|
+
...runtime ? { runtime } : {}
|
|
102
|
+
};
|
|
103
|
+
})
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, collectRoutes, "collectRoutes");
|
|
107
|
+
function collectIntegrations(integrations) {
|
|
108
|
+
if (!integrations || typeof integrations !== "object") return [];
|
|
109
|
+
return Object.entries(integrations).filter((entry) => Boolean(entry[1])).map(([key, value]) => {
|
|
110
|
+
const integration = value;
|
|
111
|
+
const routes = (integration.routes || []).map((route) => ({
|
|
112
|
+
path: route.path,
|
|
113
|
+
methods: [...route.methods || (route.method ? [route.method] : ["ALL"])].map((method) => method.toUpperCase()).sort()
|
|
114
|
+
}));
|
|
115
|
+
return {
|
|
116
|
+
key,
|
|
117
|
+
type: integration.type || key,
|
|
118
|
+
category: integration.category || "custom",
|
|
119
|
+
serverRuntime: integration.serverRuntime !== false,
|
|
120
|
+
routes: sortByPath(routes),
|
|
121
|
+
middlewareCount: _optionalChain([integration, 'access', _ => _.middleware, 'optionalAccess', _2 => _2.length]) || 0,
|
|
122
|
+
providerCount: _optionalChain([integration, 'access', _3 => _3.providers, 'optionalAccess', _4 => _4.length]) || 0,
|
|
123
|
+
schemaModelCount: Object.keys(_optionalChain([integration, 'access', _5 => _5.schema, 'optionalAccess', _6 => _6.models]) || {}).length
|
|
124
|
+
};
|
|
125
|
+
}).sort((a, b) => a.key.localeCompare(b.key));
|
|
126
|
+
}
|
|
127
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, collectIntegrations, "collectIntegrations");
|
|
128
|
+
function collectStorage(storage) {
|
|
129
|
+
if (!storage || typeof storage !== "object") {
|
|
130
|
+
return {
|
|
131
|
+
entries: [{ mount: "root", driver: "memory", default: true }],
|
|
132
|
+
configured: false
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const value = storage;
|
|
136
|
+
if (value.kind === "farm-storage-client") {
|
|
137
|
+
return {
|
|
138
|
+
entries: [{ mount: "root", driver: "storage client", default: false }],
|
|
139
|
+
configured: true
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const configured = Object.keys(value).length > 0;
|
|
143
|
+
const rootDriver = value.client ? describeStorageDriver(value.client) : describeStorageDriver(value.driver);
|
|
144
|
+
const entries = [
|
|
145
|
+
{
|
|
146
|
+
mount: "root",
|
|
147
|
+
driver: rootDriver,
|
|
148
|
+
default: !configured
|
|
149
|
+
}
|
|
150
|
+
];
|
|
151
|
+
if (value.mounts && typeof value.mounts === "object") {
|
|
152
|
+
for (const [mount, mountConfig] of Object.entries(value.mounts)) {
|
|
153
|
+
entries.push({
|
|
154
|
+
mount,
|
|
155
|
+
driver: describeStorageDriver(mountConfig),
|
|
156
|
+
default: false
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
entries: entries.sort((a, b) => {
|
|
162
|
+
if (a.mount === "root") return -1;
|
|
163
|
+
if (b.mount === "root") return 1;
|
|
164
|
+
return a.mount.localeCompare(b.mount);
|
|
165
|
+
}),
|
|
166
|
+
configured
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, collectStorage, "collectStorage");
|
|
170
|
+
function describeStorageDriver(value) {
|
|
171
|
+
if (!value) return "memory";
|
|
172
|
+
if (typeof value === "string") return value;
|
|
173
|
+
if (typeof value === "function") return "custom";
|
|
174
|
+
if (typeof value !== "object") return "custom";
|
|
175
|
+
const record = value;
|
|
176
|
+
if (record.kind === "farm-storage-client") return "storage client";
|
|
177
|
+
if (typeof record.driver === "string") return record.driver;
|
|
178
|
+
if (typeof record.driver === "function") return "custom";
|
|
179
|
+
return "custom";
|
|
180
|
+
}
|
|
181
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, describeStorageDriver, "describeStorageDriver");
|
|
182
|
+
function featureEnabled(value) {
|
|
183
|
+
if (!value) return false;
|
|
184
|
+
if (typeof value === "object" && "enabled" in value) {
|
|
185
|
+
return value.enabled !== false;
|
|
186
|
+
}
|
|
187
|
+
return value !== false;
|
|
188
|
+
}
|
|
189
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, featureEnabled, "featureEnabled");
|
|
190
|
+
function collectEnvironmentKeys(config) {
|
|
191
|
+
const env = _optionalChain([config, 'optionalAccess', _7 => _7.env]);
|
|
192
|
+
return {
|
|
193
|
+
server: Object.keys(_optionalChain([env, 'optionalAccess', _8 => _8.server]) || {}).sort(),
|
|
194
|
+
public: Object.keys(_optionalChain([env, 'optionalAccess', _9 => _9.public]) || {}).sort()
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, collectEnvironmentKeys, "collectEnvironmentKeys");
|
|
198
|
+
function resolveHealth(diagnostics) {
|
|
199
|
+
if (diagnostics.some((diagnostic) => diagnostic.severity === "error")) return "error";
|
|
200
|
+
if (diagnostics.some((diagnostic) => diagnostic.severity === "warning")) return "attention";
|
|
201
|
+
return "ready";
|
|
202
|
+
}
|
|
203
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveHealth, "resolveHealth");
|
|
204
|
+
async function createFarmDevtoolsSnapshot(input) {
|
|
205
|
+
const config = input.config || {};
|
|
206
|
+
const diagnostics = [];
|
|
207
|
+
const pageRoutes = await collectRoutes(
|
|
208
|
+
input.root,
|
|
209
|
+
"page",
|
|
210
|
+
input.routeManager.getRoutes(),
|
|
211
|
+
input.routeManager,
|
|
212
|
+
diagnostics
|
|
213
|
+
);
|
|
214
|
+
const layoutRoutes = await collectRoutes(
|
|
215
|
+
input.root,
|
|
216
|
+
"layout",
|
|
217
|
+
input.routeManager.getLayouts(),
|
|
218
|
+
input.routeManager,
|
|
219
|
+
diagnostics
|
|
220
|
+
);
|
|
221
|
+
const loadingRoutes = await collectRoutes(
|
|
222
|
+
input.root,
|
|
223
|
+
"loading",
|
|
224
|
+
input.routeManager.getLoadings(),
|
|
225
|
+
input.routeManager,
|
|
226
|
+
diagnostics
|
|
227
|
+
);
|
|
228
|
+
const errorRoutes = await collectRoutes(
|
|
229
|
+
input.root,
|
|
230
|
+
"error",
|
|
231
|
+
input.routeManager.getErrors(),
|
|
232
|
+
input.routeManager,
|
|
233
|
+
diagnostics
|
|
234
|
+
);
|
|
235
|
+
const apiRoutes = sortByPath(
|
|
236
|
+
Array.from(input.apiRouteManager.getRoutes().values()).map((route) => {
|
|
237
|
+
const runtime = _chunkMKB2EGIRcjs.resolveFarmRouteRuntimeConfig.call(void 0,
|
|
238
|
+
_chunkMKB2EGIRcjs.mergeFarmRouteRuntimeConfigs.call(void 0,
|
|
239
|
+
_chunkMKB2EGIRcjs.resolveFarmRouteRuleRuntimeConfig.call(void 0, route.path, config.routeRules),
|
|
240
|
+
route
|
|
241
|
+
),
|
|
242
|
+
`API route "${route.path}"`
|
|
243
|
+
);
|
|
244
|
+
return {
|
|
245
|
+
path: route.path,
|
|
246
|
+
methods: [...route.methods].sort(),
|
|
247
|
+
filePath: toProjectPath(input.root, route.filePath),
|
|
248
|
+
runtime: toRuntime(runtime)
|
|
249
|
+
};
|
|
250
|
+
})
|
|
251
|
+
);
|
|
252
|
+
const middleware = sortByPath(
|
|
253
|
+
input.middlewareManager.getMiddlewares().map((entry) => ({
|
|
254
|
+
path: entry.path,
|
|
255
|
+
source: entry.source || "file",
|
|
256
|
+
filePath: toProjectPath(input.root, entry.filePath),
|
|
257
|
+
handlerCount: entry.handlers.length
|
|
258
|
+
}))
|
|
259
|
+
);
|
|
260
|
+
const integrations = collectIntegrations(config.integrations);
|
|
261
|
+
const storage = collectStorage(config.storage);
|
|
262
|
+
const cron = _chunk6EXBPJ24cjs.resolveCronConfig.call(void 0, config.cron);
|
|
263
|
+
const workflows = (input.workflows || []).map((workflow) => ({
|
|
264
|
+
id: workflow.id,
|
|
265
|
+
filePath: toProjectPath(input.root, workflow.filePath),
|
|
266
|
+
routePath: workflow.routePath,
|
|
267
|
+
schedule: [...workflow.schedule],
|
|
268
|
+
...workflow.timezone ? { timezone: workflow.timezone } : {}
|
|
269
|
+
})).sort((a, b) => a.id.localeCompare(b.id));
|
|
270
|
+
const layers = (config.layers || []).map((layer) => ({
|
|
271
|
+
name: layer.name,
|
|
272
|
+
source: layer.source,
|
|
273
|
+
srcDir: layer.srcDir
|
|
274
|
+
}));
|
|
275
|
+
const deploymentPreset = String(_optionalChain([config, 'access', _10 => _10.deploy, 'optionalAccess', _11 => _11.preset]) || config.preset || "node-server");
|
|
276
|
+
const deploymentTarget = String(
|
|
277
|
+
_optionalChain([config, 'access', _12 => _12.deploy, 'optionalAccess', _13 => _13.target]) || _chunkU5BMPGS3cjs.getDeployTargetForPreset.call(void 0, deploymentPreset) || "node"
|
|
278
|
+
);
|
|
279
|
+
const env = input.env || process.env;
|
|
280
|
+
if (pageRoutes.length === 0) {
|
|
281
|
+
diagnostics.push({
|
|
282
|
+
severity: "warning",
|
|
283
|
+
code: "NO_PAGE_ROUTES",
|
|
284
|
+
title: "No page routes found",
|
|
285
|
+
message: `Farm did not discover a page under ${input.srcDir}/app.`,
|
|
286
|
+
action: `Add ${input.srcDir}/app/page.tsx or a programmatic page route.`
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
if (layoutRoutes.length === 0) {
|
|
290
|
+
diagnostics.push({
|
|
291
|
+
severity: "warning",
|
|
292
|
+
code: "ROOT_LAYOUT_MISSING",
|
|
293
|
+
title: "Root layout is missing",
|
|
294
|
+
message: "The application has no shared root layout.",
|
|
295
|
+
action: `Add ${input.srcDir}/app/layout.tsx for shared metadata and application chrome.`
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
const apiPaths = new Set(apiRoutes.map((route) => route.path));
|
|
299
|
+
for (const job of cron.jobs) {
|
|
300
|
+
if (!apiPaths.has(job.path)) {
|
|
301
|
+
diagnostics.push({
|
|
302
|
+
severity: "warning",
|
|
303
|
+
code: "CRON_ROUTE_MISSING",
|
|
304
|
+
title: `Cron route ${job.path} was not found`,
|
|
305
|
+
message: `${job.name} is scheduled, but its GET API route is not registered.`,
|
|
306
|
+
action: "Add the target API route or update the cron path in farm.config.ts."
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
if (cron.jobs.length > 0 && !env[cron.secretEnv]) {
|
|
311
|
+
diagnostics.push({
|
|
312
|
+
severity: "info",
|
|
313
|
+
code: "CRON_SECRET_NOT_SET",
|
|
314
|
+
title: `${cron.secretEnv} is not set`,
|
|
315
|
+
message: "Local manual runs remain available, but production cron routes fail closed.",
|
|
316
|
+
action: `Set ${cron.secretEnv} in the deployment environment before production.`
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
if (storage.configured && _optionalChain([storage, 'access', _14 => _14.entries, 'access', _15 => _15[0], 'optionalAccess', _16 => _16.driver]) === "memory" && ["vercel", "cloudflare", "netlify"].includes(deploymentTarget)) {
|
|
320
|
+
diagnostics.push({
|
|
321
|
+
severity: "warning",
|
|
322
|
+
code: "EPHEMERAL_PRODUCTION_STORAGE",
|
|
323
|
+
title: "Production storage is in memory",
|
|
324
|
+
message: `${deploymentTarget} instances do not preserve in-memory data across executions.`,
|
|
325
|
+
action: "Configure a durable storage driver or mount for production state."
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
const environment = collectEnvironmentKeys(config);
|
|
329
|
+
const docs = config.docs;
|
|
330
|
+
const docsEnabled = featureEnabled(docs);
|
|
331
|
+
const allRoutes = sortByPath([...pageRoutes, ...layoutRoutes, ...loadingRoutes, ...errorRoutes]);
|
|
332
|
+
return {
|
|
333
|
+
generatedAt: (_optionalChain([input, 'access', _17 => _17.now, 'optionalCall', _18 => _18()]) || /* @__PURE__ */ new Date()).toISOString(),
|
|
334
|
+
health: resolveHealth(diagnostics),
|
|
335
|
+
project: {
|
|
336
|
+
name: _path2.default.basename(_path2.default.resolve(input.root)),
|
|
337
|
+
root: input.root,
|
|
338
|
+
srcDir: input.srcDir,
|
|
339
|
+
basePath: config.basePath || "/",
|
|
340
|
+
deploymentId: config.deploymentId || "development"
|
|
341
|
+
},
|
|
342
|
+
deployment: {
|
|
343
|
+
target: deploymentTarget,
|
|
344
|
+
preset: deploymentPreset,
|
|
345
|
+
..._optionalChain([config, 'access', _19 => _19.deploy, 'optionalAccess', _20 => _20.outputDir]) ? { outputDir: config.deploy.outputDir } : {}
|
|
346
|
+
},
|
|
347
|
+
counts: {
|
|
348
|
+
pages: pageRoutes.length,
|
|
349
|
+
layouts: layoutRoutes.length,
|
|
350
|
+
loadingBoundaries: loadingRoutes.length,
|
|
351
|
+
errorBoundaries: errorRoutes.length,
|
|
352
|
+
apiRoutes: apiRoutes.length,
|
|
353
|
+
middleware: middleware.length,
|
|
354
|
+
integrations: integrations.length,
|
|
355
|
+
storageMounts: storage.entries.length,
|
|
356
|
+
cronJobs: cron.jobs.length,
|
|
357
|
+
workflows: workflows.length,
|
|
358
|
+
layers: layers.length,
|
|
359
|
+
diagnostics: diagnostics.length
|
|
360
|
+
},
|
|
361
|
+
routes: allRoutes,
|
|
362
|
+
apiRoutes,
|
|
363
|
+
middleware,
|
|
364
|
+
integrations,
|
|
365
|
+
storage: storage.entries,
|
|
366
|
+
cron: cron.jobs,
|
|
367
|
+
workflows,
|
|
368
|
+
layers,
|
|
369
|
+
environment,
|
|
370
|
+
docs: {
|
|
371
|
+
enabled: docsEnabled,
|
|
372
|
+
entry: docsEnabled && docs && typeof docs === "object" && "entry" in docs ? String(docs.entry) : void 0
|
|
373
|
+
},
|
|
374
|
+
features: {
|
|
375
|
+
openapi: Boolean(_optionalChain([config, 'access', _21 => _21.openapi, 'optionalAccess', _22 => _22.enabled])),
|
|
376
|
+
markdown: featureEnabled(config.md),
|
|
377
|
+
serverComponents: Boolean(_optionalChain([config, 'access', _23 => _23.experimental, 'optionalAccess', _24 => _24.serverComponents])),
|
|
378
|
+
serverActions: Boolean(_optionalChain([config, 'access', _25 => _25.experimental, 'optionalAccess', _26 => _26.serverActions])),
|
|
379
|
+
optimizedBoundary: Boolean(_optionalChain([config, 'access', _27 => _27.experimental, 'optionalAccess', _28 => _28.optimizedBoundary])),
|
|
380
|
+
observability: featureEnabled(config.observability)
|
|
381
|
+
},
|
|
382
|
+
diagnostics
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmDevtoolsSnapshot, "createFarmDevtoolsSnapshot");
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
exports.createFarmDevtoolsSnapshot = createFarmDevtoolsSnapshot;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getDeployTargetForPreset
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-V4AICMQA.mjs";
|
|
4
4
|
import "./chunk-XZNTNMHT.mjs";
|
|
5
5
|
import "./chunk-FZC7EEPM.mjs";
|
|
6
6
|
import "./chunk-JBSVKMC5.mjs";
|
|
7
7
|
import "./chunk-7WPA7GBZ.mjs";
|
|
8
8
|
import "./chunk-IILNZK5G.mjs";
|
|
9
9
|
import "./chunk-OLYK7EAK.mjs";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-7BC6GAL7.mjs";
|
|
11
11
|
import "./chunk-G2KY33I6.mjs";
|
|
12
12
|
import {
|
|
13
13
|
resolveCronConfig
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import "./chunk-QCFFHV5H.mjs";
|
|
16
16
|
import "./chunk-4OOBRCJX.mjs";
|
|
17
17
|
import "./chunk-FA2W42OV.mjs";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-OFEY6KHO.mjs";
|
|
19
19
|
import "./chunk-EGJDUF4Q.mjs";
|
|
20
20
|
import "./chunk-2UC36WAC.mjs";
|
|
21
21
|
import "./chunk-ONUEYC6N.mjs";
|