@farm.js/core 0.1.0-beta.14 → 0.1.0-beta.16
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/api/route-manager.cjs.map +1 -1
- package/dist/api/route-manager.mjs +2 -2
- package/dist/api/runtime.cjs.map +1 -1
- package/dist/api/runtime.mjs +1 -1
- package/dist/api.cjs +18 -10
- package/dist/api.cjs.map +1 -1
- package/dist/api.mjs +3 -3
- package/dist/{chunk-B232I2GP.mjs → chunk-3HIVDX7J.mjs} +12 -1
- package/dist/chunk-3HIVDX7J.mjs.map +1 -0
- package/dist/{chunk-JDEOUK5V.mjs → chunk-6YXKHAFU.mjs} +3 -3
- package/dist/{chunk-VUL55IAX.mjs → chunk-AN3PQVKH.mjs} +14 -16
- package/dist/{chunk-VUL55IAX.mjs.map → chunk-AN3PQVKH.mjs.map} +1 -1
- package/dist/{chunk-Z5CQMP54.mjs → chunk-ARRYKOI5.mjs} +2 -2
- package/dist/{chunk-KLA67WKG.mjs → chunk-B3FFOIWS.mjs} +2 -2
- package/dist/{chunk-ARCGE2VT.mjs → chunk-BWJC5ZOD.mjs} +2 -2
- package/dist/{chunk-ARCGE2VT.mjs.map → chunk-BWJC5ZOD.mjs.map} +1 -1
- package/dist/{chunk-PFE6GMNE.mjs → chunk-HMRFYJK6.mjs} +19 -11
- package/dist/chunk-HMRFYJK6.mjs.map +1 -0
- package/dist/{chunk-32W4QEJP.mjs → chunk-KFTGPFRD.mjs} +1 -1
- package/dist/chunk-KFTGPFRD.mjs.map +1 -0
- package/dist/{chunk-PNFQQSRA.mjs → chunk-OSWV5IJB.mjs} +114 -35
- package/dist/chunk-OSWV5IJB.mjs.map +1 -0
- package/dist/{chunk-OPHK6OJN.mjs → chunk-SLDBGSC3.mjs} +2 -2
- package/dist/{chunk-L2PE36GQ.mjs → chunk-T2KL7VEL.mjs} +3 -3
- package/dist/{chunk-WDU6QXNK.mjs → chunk-UCYWGN2P.mjs} +1 -1
- package/dist/chunk-UCYWGN2P.mjs.map +1 -0
- package/dist/{chunk-65A7QIKI.mjs → chunk-UMVLB3PN.mjs} +3 -3
- package/dist/chunk-UMVLB3PN.mjs.map +1 -0
- package/dist/{chunk-VY2UYN5R.mjs → chunk-VPCFICID.mjs} +82 -3
- package/dist/chunk-VPCFICID.mjs.map +1 -0
- package/dist/{chunk-H3TE3LOV.mjs → chunk-XMFTIVJH.mjs} +2 -2
- package/dist/{chunk-UB5UOSHB.mjs → chunk-ZVMV3THA.mjs} +71 -2
- package/dist/chunk-ZVMV3THA.mjs.map +1 -0
- package/dist/client.cjs.map +1 -1
- package/dist/client.mjs +3 -3
- package/dist/deployment.cjs +12 -0
- package/dist/deployment.cjs.map +1 -1
- package/dist/deployment.mjs +3 -1
- package/dist/{devtools-GAZ7F3KL.mjs → devtools-E4YNCY5J.mjs} +4 -4
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.mjs +4 -4
- package/dist/index.cjs +306 -52
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +28 -16
- package/dist/index.mjs.map +1 -1
- package/dist/internal/build-runtime.cjs +133 -40
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.mjs +11 -11
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.mjs +3 -3
- package/dist/navigation.cjs.map +1 -1
- package/dist/navigation.mjs +3 -3
- package/dist/plugin.cjs +115 -28
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.mjs +8 -8
- package/dist/server-action-security.cjs +23 -1
- package/dist/server-action-security.cjs.map +1 -1
- package/dist/server-action-security.mjs +1 -1
- package/dist/server-fn-client.cjs.map +1 -1
- package/dist/server-fn-client.mjs +1 -1
- package/dist/server-fn.cjs +140 -3
- package/dist/server-fn.cjs.map +1 -1
- package/dist/server-fn.mjs +14 -3
- package/dist/server-query.cjs +99 -1
- package/dist/server-query.cjs.map +1 -1
- package/dist/server-query.mjs +3 -3
- package/dist/server.cjs +234 -31
- package/dist/server.cjs.map +1 -1
- package/dist/server.mjs +11 -11
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.mjs +3 -3
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +116 -29
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.mjs +8 -8
- package/package.json +1 -1
- package/dist/chunk-32W4QEJP.mjs.map +0 -1
- package/dist/chunk-65A7QIKI.mjs.map +0 -1
- package/dist/chunk-B232I2GP.mjs.map +0 -1
- package/dist/chunk-PFE6GMNE.mjs.map +0 -1
- package/dist/chunk-PNFQQSRA.mjs.map +0 -1
- package/dist/chunk-UB5UOSHB.mjs.map +0 -1
- package/dist/chunk-VY2UYN5R.mjs.map +0 -1
- package/dist/chunk-WDU6QXNK.mjs.map +0 -1
- /package/dist/{chunk-JDEOUK5V.mjs.map → chunk-6YXKHAFU.mjs.map} +0 -0
- /package/dist/{chunk-Z5CQMP54.mjs.map → chunk-ARRYKOI5.mjs.map} +0 -0
- /package/dist/{chunk-KLA67WKG.mjs.map → chunk-B3FFOIWS.mjs.map} +0 -0
- /package/dist/{chunk-OPHK6OJN.mjs.map → chunk-SLDBGSC3.mjs.map} +0 -0
- /package/dist/{chunk-L2PE36GQ.mjs.map → chunk-T2KL7VEL.mjs.map} +0 -0
- /package/dist/{chunk-H3TE3LOV.mjs.map → chunk-XMFTIVJH.mjs.map} +0 -0
- /package/dist/{devtools-GAZ7F3KL.mjs.map → devtools-E4YNCY5J.mjs.map} +0 -0
package/dist/api.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
farmApiPlugin
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6YXKHAFU.mjs";
|
|
4
4
|
import {
|
|
5
5
|
APIClientError,
|
|
6
6
|
FARM_API_ROUTE_META_SYMBOL,
|
|
@@ -16,7 +16,7 @@ import "./chunk-QGOHVJ6J.mjs";
|
|
|
16
16
|
import {
|
|
17
17
|
APIRouteManager,
|
|
18
18
|
API_ROUTE_METHODS
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ARRYKOI5.mjs";
|
|
20
20
|
import "./chunk-2ED5Q2GH.mjs";
|
|
21
21
|
import "./chunk-GN72QAIH.mjs";
|
|
22
22
|
import "./chunk-FQYDHKKU.mjs";
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
isWebResponse,
|
|
40
40
|
matchAPIRoute,
|
|
41
41
|
normalizeRouteResponse
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-HMRFYJK6.mjs";
|
|
43
43
|
import "./chunk-RHIFZZUI.mjs";
|
|
44
44
|
import "./chunk-LM2YNO4U.mjs";
|
|
45
45
|
import "./chunk-44ZCFSKE.mjs";
|
|
@@ -8,6 +8,16 @@ var FARM_DEPLOYMENT_MISMATCH_HEADER = "x-farm-deployment-mismatch";
|
|
|
8
8
|
var FARM_DEPLOYMENT_COOKIE = "__farm_deployment";
|
|
9
9
|
var FARM_DEPLOYMENT_MISMATCH_CODE = "FARM_DEPLOYMENT_MISMATCH";
|
|
10
10
|
var FARM_DEPLOYMENT_MISMATCH_STATUS = 409;
|
|
11
|
+
function getFarmPresetRuntime(preset) {
|
|
12
|
+
if (preset === "cloudflare" || preset === "cloudflare-pages" || preset === "cloudflare-module" || preset === "netlify-edge" || preset === "vercel-edge" || preset === "deno") {
|
|
13
|
+
return "edge";
|
|
14
|
+
}
|
|
15
|
+
if (preset === "node-server" || preset === "vercel" || preset === "netlify" || preset === "aws-lambda" || preset === "azure" || preset === "firebase" || preset === "bun" || preset === "self-host" || preset === "farm") {
|
|
16
|
+
return "node";
|
|
17
|
+
}
|
|
18
|
+
return "unknown";
|
|
19
|
+
}
|
|
20
|
+
__name(getFarmPresetRuntime, "getFarmPresetRuntime");
|
|
11
21
|
var _FarmDeploymentMismatchError = class _FarmDeploymentMismatchError extends Error {
|
|
12
22
|
constructor(clientDeploymentId, serverDeploymentId) {
|
|
13
23
|
super("The application was updated while this page was open. Refresh before trying again.");
|
|
@@ -148,6 +158,7 @@ export {
|
|
|
148
158
|
FARM_DEPLOYMENT_COOKIE,
|
|
149
159
|
FARM_DEPLOYMENT_MISMATCH_CODE,
|
|
150
160
|
FARM_DEPLOYMENT_MISMATCH_STATUS,
|
|
161
|
+
getFarmPresetRuntime,
|
|
151
162
|
FarmDeploymentMismatchError,
|
|
152
163
|
normalizeFarmDeploymentId,
|
|
153
164
|
createFarmDeploymentRequestHeaders,
|
|
@@ -160,4 +171,4 @@ export {
|
|
|
160
171
|
createFarmDeploymentMismatchError,
|
|
161
172
|
createFarmDeploymentCookie
|
|
162
173
|
};
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-3HIVDX7J.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/deployment.ts"],"sourcesContent":["export const FARM_DEPLOYMENT_ID_HEADER = \"x-farm-deployment-id\";\nexport const FARM_DEPLOYMENT_MISMATCH_HEADER = \"x-farm-deployment-mismatch\";\nexport const FARM_DEPLOYMENT_COOKIE = \"__farm_deployment\";\nexport const FARM_DEPLOYMENT_MISMATCH_CODE = \"FARM_DEPLOYMENT_MISMATCH\";\nexport const FARM_DEPLOYMENT_MISMATCH_STATUS = 409;\n\nexport type FarmPresetRuntime = \"node\" | \"edge\" | \"unknown\";\n\nexport function getFarmPresetRuntime(preset: string): FarmPresetRuntime {\n if (\n preset === \"cloudflare\" ||\n preset === \"cloudflare-pages\" ||\n preset === \"cloudflare-module\" ||\n preset === \"netlify-edge\" ||\n preset === \"vercel-edge\" ||\n preset === \"deno\"\n ) {\n return \"edge\";\n }\n\n if (\n preset === \"node-server\" ||\n preset === \"vercel\" ||\n preset === \"netlify\" ||\n preset === \"aws-lambda\" ||\n preset === \"azure\" ||\n preset === \"firebase\" ||\n preset === \"bun\" ||\n preset === \"self-host\" ||\n preset === \"farm\"\n ) {\n return \"node\";\n }\n\n return \"unknown\";\n}\n\nexport interface FarmDeploymentMismatch {\n clientDeploymentId: string;\n serverDeploymentId: string;\n}\n\nexport interface FarmDeploymentResponseOptions {\n setCookie?: boolean;\n cookiePath?: string;\n secureCookie?: boolean;\n}\n\nexport class FarmDeploymentMismatchError extends Error {\n readonly name = \"FarmDeploymentMismatchError\";\n readonly code = FARM_DEPLOYMENT_MISMATCH_CODE;\n readonly retryable = false;\n\n constructor(\n readonly clientDeploymentId: string,\n readonly serverDeploymentId: string,\n ) {\n super(\"The application was updated while this page was open. Refresh before trying again.\");\n }\n}\n\nexport function normalizeFarmDeploymentId(value: unknown): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw new TypeError(\"Farm deploymentId must be a non-empty string\");\n }\n\n const normalized = value.trim();\n if (normalized.length > 200 || /[\\u0000-\\u001f\\u007f]/.test(normalized)) {\n throw new TypeError(\"Farm deploymentId must be at most 200 characters without control bytes\");\n }\n\n return normalized;\n}\n\nexport function createFarmDeploymentRequestHeaders(\n deploymentId: string | undefined,\n init?: HeadersInit,\n): Headers {\n const headers = new Headers(init);\n if (deploymentId) {\n headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);\n }\n return headers;\n}\n\nexport function getFarmRequestDeploymentId(\n request: Pick<Request, \"headers\" | \"method\">,\n): string | undefined {\n const headerValue = request.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim();\n if (headerValue) return headerValue;\n\n if (isSafeRequestMethod(request.method)) return undefined;\n return readCookie(request.headers.get(\"cookie\"), FARM_DEPLOYMENT_COOKIE);\n}\n\nexport function getFarmDeploymentMismatch(\n request: Pick<Request, \"headers\" | \"method\">,\n serverDeploymentId: string | undefined,\n): FarmDeploymentMismatch | null {\n if (!serverDeploymentId) return null;\n\n const clientDeploymentId = getFarmRequestDeploymentId(request);\n if (!clientDeploymentId || clientDeploymentId === serverDeploymentId) return null;\n\n return { clientDeploymentId, serverDeploymentId };\n}\n\nexport function createFarmDeploymentMismatchResponse(mismatch: FarmDeploymentMismatch): Response {\n return new Response(\n JSON.stringify({\n error: FARM_DEPLOYMENT_MISMATCH_CODE,\n message: \"The application deployment changed. Refresh before retrying this request.\",\n }),\n {\n status: FARM_DEPLOYMENT_MISMATCH_STATUS,\n headers: {\n \"Cache-Control\": \"no-store\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n [FARM_DEPLOYMENT_ID_HEADER]: mismatch.serverDeploymentId,\n [FARM_DEPLOYMENT_MISMATCH_HEADER]: \"1\",\n },\n },\n );\n}\n\nexport function withFarmDeploymentResponse(\n response: Response,\n deploymentId: string | undefined,\n options: FarmDeploymentResponseOptions = {},\n): Response {\n if (!deploymentId) return response;\n\n const headers = new Headers(response.headers);\n headers.set(FARM_DEPLOYMENT_ID_HEADER, deploymentId);\n if (options.setCookie) {\n headers.append(\n \"Set-Cookie\",\n createFarmDeploymentCookie(\n deploymentId,\n options.cookiePath ?? \"/\",\n options.secureCookie ?? false,\n ),\n );\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n}\n\nexport function getFarmResponseDeploymentId(\n response: Pick<Response, \"headers\">,\n): string | undefined {\n return response.headers.get(FARM_DEPLOYMENT_ID_HEADER)?.trim() || undefined;\n}\n\nexport function isFarmDeploymentMismatchResponse(\n response: Pick<Response, \"headers\" | \"status\">,\n clientDeploymentId: string | undefined,\n): boolean {\n const serverDeploymentId = getFarmResponseDeploymentId(response);\n if (clientDeploymentId && serverDeploymentId && clientDeploymentId !== serverDeploymentId) {\n return true;\n }\n\n return (\n response.status === FARM_DEPLOYMENT_MISMATCH_STATUS &&\n response.headers.get(FARM_DEPLOYMENT_MISMATCH_HEADER) === \"1\"\n );\n}\n\nexport function createFarmDeploymentMismatchError(\n response: Pick<Response, \"headers\">,\n clientDeploymentId: string,\n): FarmDeploymentMismatchError {\n return new FarmDeploymentMismatchError(\n clientDeploymentId,\n getFarmResponseDeploymentId(response) || \"unknown\",\n );\n}\n\nexport function createFarmDeploymentCookie(\n deploymentId: string,\n path = \"/\",\n secure = false,\n): string {\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n return [\n `${FARM_DEPLOYMENT_COOKIE}=${encodeURIComponent(deploymentId)}`,\n `Path=${normalizedPath}`,\n \"HttpOnly\",\n \"SameSite=Lax\",\n secure ? \"Secure\" : \"\",\n ]\n .filter(Boolean)\n .join(\"; \");\n}\n\nfunction readCookie(cookieHeader: string | null, name: string): string | undefined {\n if (!cookieHeader) return undefined;\n\n for (const part of cookieHeader.split(\";\")) {\n const separator = part.indexOf(\"=\");\n if (separator === -1 || part.slice(0, separator).trim() !== name) continue;\n\n const value = part.slice(separator + 1).trim();\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n }\n\n return undefined;\n}\n\nfunction isSafeRequestMethod(method: string): boolean {\n return [\"GET\", \"HEAD\", \"OPTIONS\"].includes(method.toUpperCase());\n}\n"],"mappings":";;;;;AAAO,IAAM,4BAA4B;AAClC,IAAM,kCAAkC;AACxC,IAAM,yBAAyB;AAC/B,IAAM,gCAAgC;AACtC,IAAM,kCAAkC;AAIxC,SAAS,qBAAqB,QAAmC;AACtE,MACE,WAAW,gBACX,WAAW,sBACX,WAAW,uBACX,WAAW,kBACX,WAAW,iBACX,WAAW,QACX;AACA,WAAO;AAAA,EACT;AAEA,MACE,WAAW,iBACX,WAAW,YACX,WAAW,aACX,WAAW,gBACX,WAAW,WACX,WAAW,cACX,WAAW,SACX,WAAW,eACX,WAAW,QACX;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AA3BgB;AAwCT,IAAM,+BAAN,MAAM,qCAAoC,MAAM;AAAA,EAKrD,YACW,oBACA,oBACT;AACA,UAAM,oFAAoF;AAHjF;AACA;AANX,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB,SAAS,YAAY;AAAA,EAOrB;AACF;AAXuD;AAAhD,IAAM,8BAAN;AAaA,SAAS,0BAA0B,OAAwB;AAChE,MAAI,OAAO,UAAU,YAAY,MAAM,KAAK,MAAM,IAAI;AACpD,UAAM,IAAI,UAAU,8CAA8C;AAAA,EACpE;AAEA,QAAM,aAAa,MAAM,KAAK;AAC9B,MAAI,WAAW,SAAS,OAAO,wBAAwB,KAAK,UAAU,GAAG;AACvE,UAAM,IAAI,UAAU,wEAAwE;AAAA,EAC9F;AAEA,SAAO;AACT;AAXgB;AAaT,SAAS,mCACd,cACA,MACS;AACT,QAAM,UAAU,IAAI,QAAQ,IAAI;AAChC,MAAI,cAAc;AAChB,YAAQ,IAAI,2BAA2B,YAAY;AAAA,EACrD;AACA,SAAO;AACT;AATgB;AAWT,SAAS,2BACd,SACoB;AACpB,QAAM,cAAc,QAAQ,QAAQ,IAAI,yBAAyB,GAAG,KAAK;AACzE,MAAI,YAAa,QAAO;AAExB,MAAI,oBAAoB,QAAQ,MAAM,EAAG,QAAO;AAChD,SAAO,WAAW,QAAQ,QAAQ,IAAI,QAAQ,GAAG,sBAAsB;AACzE;AARgB;AAUT,SAAS,0BACd,SACA,oBAC+B;AAC/B,MAAI,CAAC,mBAAoB,QAAO;AAEhC,QAAM,qBAAqB,2BAA2B,OAAO;AAC7D,MAAI,CAAC,sBAAsB,uBAAuB,mBAAoB,QAAO;AAE7E,SAAO,EAAE,oBAAoB,mBAAmB;AAClD;AAVgB;AAYT,SAAS,qCAAqC,UAA4C;AAC/F,SAAO,IAAI;AAAA,IACT,KAAK,UAAU;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,IACX,CAAC;AAAA,IACD;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,gBAAgB;AAAA,QAChB,CAAC,yBAAyB,GAAG,SAAS;AAAA,QACtC,CAAC,+BAA+B,GAAG;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AACF;AAhBgB;AAkBT,SAAS,2BACd,UACA,cACA,UAAyC,CAAC,GAChC;AACV,MAAI,CAAC,aAAc,QAAO;AAE1B,QAAM,UAAU,IAAI,QAAQ,SAAS,OAAO;AAC5C,UAAQ,IAAI,2BAA2B,YAAY;AACnD,MAAI,QAAQ,WAAW;AACrB,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,QACE;AAAA,QACA,QAAQ,cAAc;AAAA,QACtB,QAAQ,gBAAgB;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAEA,SAAO,IAAI,SAAS,SAAS,MAAM;AAAA,IACjC,QAAQ,SAAS;AAAA,IACjB,YAAY,SAAS;AAAA,IACrB;AAAA,EACF,CAAC;AACH;AAzBgB;AA2BT,SAAS,4BACd,UACoB;AACpB,SAAO,SAAS,QAAQ,IAAI,yBAAyB,GAAG,KAAK,KAAK;AACpE;AAJgB;AAMT,SAAS,iCACd,UACA,oBACS;AACT,QAAM,qBAAqB,4BAA4B,QAAQ;AAC/D,MAAI,sBAAsB,sBAAsB,uBAAuB,oBAAoB;AACzF,WAAO;AAAA,EACT;AAEA,SACE,SAAS,WAAW,mCACpB,SAAS,QAAQ,IAAI,+BAA+B,MAAM;AAE9D;AAbgB;AAeT,SAAS,kCACd,UACA,oBAC6B;AAC7B,SAAO,IAAI;AAAA,IACT;AAAA,IACA,4BAA4B,QAAQ,KAAK;AAAA,EAC3C;AACF;AARgB;AAUT,SAAS,2BACd,cACA,OAAO,KACP,SAAS,OACD;AACR,QAAM,iBAAiB,KAAK,WAAW,GAAG,IAAI,OAAO,IAAI,IAAI;AAC7D,SAAO;AAAA,IACL,GAAG,sBAAsB,IAAI,mBAAmB,YAAY,CAAC;AAAA,IAC7D,QAAQ,cAAc;AAAA,IACtB;AAAA,IACA;AAAA,IACA,SAAS,WAAW;AAAA,EACtB,EACG,OAAO,OAAO,EACd,KAAK,IAAI;AACd;AAfgB;AAiBhB,SAAS,WAAW,cAA6B,MAAkC;AACjF,MAAI,CAAC,aAAc,QAAO;AAE1B,aAAW,QAAQ,aAAa,MAAM,GAAG,GAAG;AAC1C,UAAM,YAAY,KAAK,QAAQ,GAAG;AAClC,QAAI,cAAc,MAAM,KAAK,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,KAAM;AAElE,UAAM,QAAQ,KAAK,MAAM,YAAY,CAAC,EAAE,KAAK;AAC7C,QAAI;AACF,aAAO,mBAAmB,KAAK;AAAA,IACjC,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAhBS;AAkBT,SAAS,oBAAoB,QAAyB;AACpD,SAAO,CAAC,OAAO,QAAQ,SAAS,EAAE,SAAS,OAAO,YAAY,CAAC;AACjE;AAFS;","names":[]}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
API_ROUTE_METHODS,
|
|
9
9
|
findProgrammaticRouteFilesInDir
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ARRYKOI5.mjs";
|
|
11
11
|
import {
|
|
12
12
|
getProgrammaticRouteManifest,
|
|
13
13
|
isProgrammaticRoutesFileName
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
invokeAPIRouteEndpoint,
|
|
20
20
|
matchAPIRoute
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-HMRFYJK6.mjs";
|
|
22
22
|
import {
|
|
23
23
|
__name,
|
|
24
24
|
__require
|
|
@@ -424,4 +424,4 @@ __name(farmApiPlugin, "farmApiPlugin");
|
|
|
424
424
|
export {
|
|
425
425
|
farmApiPlugin
|
|
426
426
|
};
|
|
427
|
-
//# sourceMappingURL=chunk-
|
|
427
|
+
//# sourceMappingURL=chunk-6YXKHAFU.mjs.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
FARM_DOCS_LAST_MODIFIED_MANIFEST,
|
|
10
10
|
createFarmDocsLastModifiedManifest,
|
|
11
11
|
getFarmDocsRouteTypeEntries
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-SLDBGSC3.mjs";
|
|
13
13
|
import {
|
|
14
14
|
generateFarmDocsSearchClientRuntime,
|
|
15
15
|
isFarmDocsSearchEnabled,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
hasCustomFarmRouteContext,
|
|
20
20
|
resolveDeployOutputPath
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-T2KL7VEL.mjs";
|
|
22
22
|
import {
|
|
23
23
|
PluginManager
|
|
24
24
|
} from "./chunk-DJSGLHCN.mjs";
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
mergeFarmFontCss,
|
|
32
32
|
mergeFarmViteConfig,
|
|
33
33
|
resolveRouteRenderingConfigFromFile
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-OSWV5IJB.mjs";
|
|
35
35
|
import {
|
|
36
36
|
farmEnvironmentFunctionsPlugin
|
|
37
37
|
} from "./chunk-V6WE6JSZ.mjs";
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
} from "./chunk-K4667E2Q.mjs";
|
|
64
64
|
import {
|
|
65
65
|
APIRouteManager
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-ARRYKOI5.mjs";
|
|
67
67
|
import {
|
|
68
68
|
readFarmI18nCatalogs
|
|
69
69
|
} from "./chunk-2ED5Q2GH.mjs";
|
|
@@ -79,6 +79,9 @@ import {
|
|
|
79
79
|
import {
|
|
80
80
|
logger
|
|
81
81
|
} from "./chunk-J4FNJ5IU.mjs";
|
|
82
|
+
import {
|
|
83
|
+
getFarmPresetRuntime
|
|
84
|
+
} from "./chunk-3HIVDX7J.mjs";
|
|
82
85
|
import {
|
|
83
86
|
__name
|
|
84
87
|
} from "./chunk-CGILA3WO.mjs";
|
|
@@ -154,10 +157,15 @@ async function writeFarmRouteRuntimeManifest(directory, manifest) {
|
|
|
154
157
|
}
|
|
155
158
|
__name(writeFarmRouteRuntimeManifest, "writeFarmRouteRuntimeManifest");
|
|
156
159
|
function validateFarmRouteRuntimeDeployment(manifest, preset) {
|
|
157
|
-
const runtime =
|
|
160
|
+
const runtime = getFarmPresetRuntime(preset);
|
|
158
161
|
const warnings = /* @__PURE__ */ new Set();
|
|
159
162
|
for (const route of manifest.routes) {
|
|
160
163
|
if (route.rendering === "static") continue;
|
|
164
|
+
if (runtime === "unknown" && route.runtime !== "auto") {
|
|
165
|
+
warnings.add(
|
|
166
|
+
`Preset "${preset}" has an unknown runtime, so Farm could not verify routes that explicitly require node or edge.`
|
|
167
|
+
);
|
|
168
|
+
}
|
|
161
169
|
if (runtime !== "unknown" && route.runtime !== "auto" && route.runtime !== runtime) {
|
|
162
170
|
throw new Error(
|
|
163
171
|
`Route "${route.pattern}" requires the ${route.runtime} runtime, but preset "${preset}" emits ${runtime} functions. Choose a compatible preset or change the route runtime.`
|
|
@@ -177,16 +185,6 @@ function validateFarmRouteRuntimeDeployment(manifest, preset) {
|
|
|
177
185
|
return { runtime, warnings: Array.from(warnings) };
|
|
178
186
|
}
|
|
179
187
|
__name(validateFarmRouteRuntimeDeployment, "validateFarmRouteRuntimeDeployment");
|
|
180
|
-
function getPresetRuntime(preset) {
|
|
181
|
-
if (preset === "cloudflare" || preset === "cloudflare-pages" || preset === "cloudflare-module" || preset === "netlify-edge" || preset === "vercel-edge" || preset === "deno") {
|
|
182
|
-
return "edge";
|
|
183
|
-
}
|
|
184
|
-
if (preset === "node-server" || preset === "vercel" || preset === "netlify" || preset === "aws-lambda" || preset === "azure" || preset === "firebase" || preset === "bun") {
|
|
185
|
-
return "node";
|
|
186
|
-
}
|
|
187
|
-
return "unknown";
|
|
188
|
-
}
|
|
189
|
-
__name(getPresetRuntime, "getPresetRuntime");
|
|
190
188
|
function normalizeManifestSource(root, modulePath) {
|
|
191
189
|
const queryIndex = modulePath.indexOf("?");
|
|
192
190
|
const filePath = queryIndex === -1 ? modulePath : modulePath.slice(0, queryIndex);
|
|
@@ -6585,4 +6583,4 @@ __name(buildNitro, "buildNitro");
|
|
|
6585
6583
|
export {
|
|
6586
6584
|
build
|
|
6587
6585
|
};
|
|
6588
|
-
//# sourceMappingURL=chunk-
|
|
6586
|
+
//# sourceMappingURL=chunk-AN3PQVKH.mjs.map
|