@farm.js/core 0.1.37 → 0.1.38
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-BC0bAGVF.d.mts → agent-mcp-BwKlpnc7.d.mts} +1 -1
- package/dist/{agent-mcp-jyDHbQKe.d.ts → agent-mcp-De1imoMS.d.ts} +1 -1
- package/dist/{agent-mcp-handler-SJAHFSPI.cjs → agent-mcp-handler-MRGP3WJ3.cjs} +5 -5
- package/dist/{agent-mcp-handler-LPJ2CADR.mjs → agent-mcp-handler-OLRMZONF.mjs} +4 -4
- package/dist/agent-runtime.cjs +2 -2
- package/dist/agent-runtime.d.mts +1 -1
- package/dist/agent-runtime.d.ts +1 -1
- package/dist/agent-runtime.mjs +1 -1
- package/dist/api/client.cjs +3 -3
- package/dist/api/client.mjs +2 -2
- package/dist/api/route-manager.cjs +5 -5
- package/dist/api/route-manager.d.mts +3 -3
- package/dist/api/route-manager.d.ts +3 -3
- package/dist/api/route-manager.mjs +4 -4
- package/dist/api/runtime.cjs +4 -4
- package/dist/api/runtime.d.mts +2 -2
- package/dist/api/runtime.d.ts +2 -2
- package/dist/api/runtime.mjs +3 -3
- package/dist/api.cjs +7 -7
- package/dist/api.d.mts +3 -3
- package/dist/api.d.ts +3 -3
- package/dist/api.mjs +6 -6
- package/dist/{app-Cbkj9ufe.d.mts → app-CFZt-srr.d.mts} +21 -3
- package/dist/{app-CKO3iN1c.d.ts → app-kT_QXTdx.d.ts} +21 -3
- package/dist/app-markdown.cjs +4 -4
- package/dist/app-markdown.d.mts +2 -2
- package/dist/app-markdown.d.ts +2 -2
- package/dist/app-markdown.mjs +3 -3
- package/dist/{chunk-LOFKRKO7.cjs → chunk-2DD4JMQC.cjs} +113 -22
- package/dist/chunk-2ZYGC6SS.cjs +576 -0
- package/dist/{chunk-75X755YZ.cjs → chunk-34UCJRQO.cjs} +2 -2
- package/dist/{chunk-CVH2BXPY.cjs → chunk-3LOLJTFV.cjs} +6 -6
- package/dist/{chunk-4GPOC4LN.cjs → chunk-472NCAZ7.cjs} +3 -3
- package/dist/{chunk-WT4TGLXT.cjs → chunk-4E5QXOCL.cjs} +6 -6
- package/dist/{chunk-7DWNJI73.cjs → chunk-4IE345DM.cjs} +37 -19
- package/dist/{chunk-O6WAEAX3.mjs → chunk-5BWWFHR2.mjs} +70 -15
- package/dist/{chunk-6LGFV2CQ.cjs → chunk-5OKBARDN.cjs} +2 -2
- package/dist/{chunk-3IP27TCG.cjs → chunk-5PWXMJOH.cjs} +19 -19
- package/dist/chunk-6BK3K2GB.mjs +318 -0
- package/dist/{chunk-HEVMCTSR.mjs → chunk-6HB6V3R7.mjs} +1 -1
- package/dist/{chunk-NICDYKBS.cjs → chunk-6XWDE2P2.cjs} +22 -4
- package/dist/{chunk-Z7LA7MHQ.mjs → chunk-7FPTZLKH.mjs} +1 -1
- package/dist/{chunk-JPNFPAZ4.mjs → chunk-7PEP3BUT.mjs} +1 -1
- package/dist/{chunk-XOPOIFTJ.mjs → chunk-A3EAIURZ.mjs} +25 -7
- package/dist/{chunk-LBDP3YT3.mjs → chunk-ARC7I3O2.mjs} +1 -1
- package/dist/{chunk-LBGILORX.mjs → chunk-B6G5CKMC.mjs} +101 -10
- package/dist/{chunk-MCIZVNOQ.mjs → chunk-BZHXGVMA.mjs} +1 -1
- package/dist/{chunk-KDTBF3UU.mjs → chunk-CNNOLE4O.mjs} +1 -1
- package/dist/{chunk-TDNWPAVR.mjs → chunk-CUM5NYL5.mjs} +1 -1
- package/dist/{chunk-HITLGIAO.cjs → chunk-CY2ZQ5C6.cjs} +7 -6
- package/dist/{chunk-KPFKMDM7.mjs → chunk-DRLKAXDM.mjs} +1 -1
- package/dist/{chunk-VR4GD5I3.cjs → chunk-EIPC3FDA.cjs} +12 -4
- package/dist/{chunk-K3SAEIM3.mjs → chunk-EKF7KDFD.mjs} +1 -1
- package/dist/{chunk-B5PFZLKV.cjs → chunk-EKN7NSZO.cjs} +25 -8
- package/dist/{chunk-ATWHHSY2.cjs → chunk-EMO6K4YY.cjs} +4 -4
- package/dist/{chunk-6SJ2KJTA.mjs → chunk-EPYU2EBL.mjs} +1 -1
- package/dist/{chunk-PTZ2TVNE.cjs → chunk-H5CLOUZS.cjs} +5 -5
- package/dist/{chunk-DTSROJ5J.mjs → chunk-HD5CF3OE.mjs} +1 -1
- package/dist/{chunk-IAIYV4RZ.mjs → chunk-HXRYZWTA.mjs} +1 -1
- package/dist/{chunk-Z5BEWYVO.mjs → chunk-IBUQWVYA.mjs} +16 -0
- package/dist/{chunk-HMRSWN47.mjs → chunk-INL3THCU.mjs} +1 -1
- package/dist/{chunk-FBOJ55OM.mjs → chunk-IVLZZZEI.mjs} +1 -1
- package/dist/{chunk-ENLZ4R3Y.mjs → chunk-J7K2NZD6.mjs} +7 -6
- package/dist/{chunk-NFMDCAOS.mjs → chunk-JCKYH4LG.mjs} +2 -2
- package/dist/{chunk-PMQHMWZU.cjs → chunk-JCYYXBAJ.cjs} +3 -3
- package/dist/{chunk-LPFV45AY.cjs → chunk-KCQBAKIY.cjs} +9 -9
- package/dist/{chunk-FGRYBX5X.mjs → chunk-KHKLMNI5.mjs} +1 -1
- package/dist/{chunk-NQ6QFZWD.cjs → chunk-KKSTAEMY.cjs} +1 -1
- package/dist/{chunk-7O5M4UKW.cjs → chunk-L4DD7ODZ.cjs} +2 -2
- package/dist/{chunk-YCKO6FRS.mjs → chunk-LI2F57NI.mjs} +1 -1
- package/dist/{chunk-TW4GYDBJ.mjs → chunk-MLY2RP5R.mjs} +10 -2
- package/dist/{chunk-5BXGGEC7.cjs → chunk-N32CC42M.cjs} +5 -5
- package/dist/{chunk-BHY547NB.cjs → chunk-NBBEQLOK.cjs} +9 -9
- package/dist/{chunk-WQ7T2263.mjs → chunk-OAHTRMIC.mjs} +3 -3
- package/dist/{chunk-K4I4O5TS.mjs → chunk-OCIEZME4.mjs} +790 -671
- package/dist/{chunk-UH6QN5NL.mjs → chunk-P664ZVTV.mjs} +2 -2
- package/dist/{chunk-TE2G5ION.cjs → chunk-PGZDEPTM.cjs} +88 -33
- package/dist/{chunk-3KGDJLJK.mjs → chunk-POSPE3IO.mjs} +19 -1
- package/dist/{chunk-3A4KGQYI.cjs → chunk-Q3NXS4MU.cjs} +16 -14
- package/dist/{chunk-TPLJVC7E.mjs → chunk-QFW2IH5E.mjs} +23 -6
- package/dist/{chunk-S3VWVTVA.mjs → chunk-QRKIMN7T.mjs} +13 -1
- package/dist/chunk-QTXBII4Z.cjs +632 -0
- package/dist/{chunk-CI6E3UOH.cjs → chunk-RG4A6LB2.cjs} +7 -7
- package/dist/{chunk-7SQ5SGYZ.cjs → chunk-RW63BOV7.cjs} +2 -2
- package/dist/{chunk-U6MPZ35Q.cjs → chunk-RWFLWR5J.cjs} +8 -8
- package/dist/{chunk-EUV4YR3V.cjs → chunk-SGBJ247Q.cjs} +18 -2
- package/dist/{chunk-J3ANCZKA.mjs → chunk-SKVTP5PR.mjs} +1 -1
- package/dist/{chunk-6TJITR2B.cjs → chunk-TGFQVLLF.cjs} +870 -751
- package/dist/{chunk-4P6ULFMD.mjs → chunk-TUBTR2OP.mjs} +221 -102
- package/dist/{chunk-EMMQ64QW.cjs → chunk-TYJALEHQ.cjs} +2 -2
- package/dist/{chunk-WRPHYQVY.mjs → chunk-TYMMBFN2.mjs} +1 -1
- package/dist/chunk-U6QLDL3G.mjs +576 -0
- package/dist/{chunk-OW67PDDS.cjs → chunk-ULASELLA.cjs} +13 -1
- package/dist/{chunk-WWIKMBRN.mjs → chunk-VNGH5MLF.mjs} +17 -1
- package/dist/{chunk-NNSAQX3U.mjs → chunk-VT4WFRHA.mjs} +1 -1
- package/dist/{chunk-UJZLSXUB.cjs → chunk-VU6AAZVY.cjs} +17 -1
- package/dist/{chunk-ADOAUDQ6.cjs → chunk-VXEEATVD.cjs} +2 -2
- package/dist/{chunk-RRMVL6CJ.mjs → chunk-W36M2BQ4.mjs} +1 -1
- package/dist/{chunk-4WQ6PGSJ.cjs → chunk-WEW2JVA4.cjs} +4 -4
- package/dist/{chunk-4E5WBPEG.mjs → chunk-WFRT7JPX.mjs} +8 -533
- package/dist/{chunk-VXAWRDK7.mjs → chunk-WLL43JMO.mjs} +1 -1
- package/dist/chunk-WW46B6HA.cjs +318 -0
- package/dist/{chunk-D3C5LBQY.cjs → chunk-WXJLNP33.cjs} +2 -2
- package/dist/{chunk-NDILNQ4L.cjs → chunk-XKG2BLFN.cjs} +2 -2
- package/dist/{chunk-W2YDNK66.cjs → chunk-XKVVMZP5.cjs} +2 -2
- package/dist/{chunk-Q5FYSK45.cjs → chunk-YR2VBEMO.cjs} +619 -500
- package/dist/{chunk-EXG5LD6B.mjs → chunk-ZJD2PN6Z.mjs} +10 -8
- package/dist/{chunk-G2TEB74S.cjs → chunk-ZXH4TS3F.cjs} +2 -2
- package/dist/{client-plugins-C8DjftDF.d.ts → client-plugins-BvlNhGEB.d.ts} +40 -7
- package/dist/{client-plugins-CV4eJ9De.d.mts → client-plugins-DUrIYX9B.d.mts} +40 -7
- package/dist/client-plugins.d.mts +1 -1
- package/dist/client-plugins.d.ts +1 -1
- package/dist/client.cjs +5 -5
- package/dist/client.d.mts +5 -5
- package/dist/client.d.ts +5 -5
- package/dist/client.mjs +4 -4
- package/dist/config.d.mts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/{devtools-KVOY2TCZ.mjs → devtools-JYJNOLPQ.mjs} +7 -5
- package/dist/{devtools-JXFQNWSH.cjs → devtools-VQWJANJV.cjs} +8 -6
- package/dist/docs.cjs +11 -9
- package/dist/docs.d.mts +20 -2
- package/dist/docs.d.ts +20 -2
- package/dist/docs.mjs +10 -8
- package/dist/headers.cjs +6 -4
- package/dist/headers.d.mts +11 -1
- package/dist/headers.d.ts +11 -1
- package/dist/headers.mjs +5 -3
- package/dist/index.cjs +52 -39
- package/dist/index.d.mts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.mjs +52 -39
- package/dist/integrations.cjs +4 -2
- package/dist/integrations.d.mts +1 -1
- package/dist/integrations.d.ts +1 -1
- package/dist/integrations.mjs +3 -1
- package/dist/internal/app-markdown-runtime.cjs +3 -3
- package/dist/internal/app-markdown-runtime.d.mts +2 -2
- package/dist/internal/app-markdown-runtime.d.ts +2 -2
- package/dist/internal/app-markdown-runtime.mjs +2 -2
- package/dist/internal/build-runtime.cjs +28 -27
- package/dist/internal/build-runtime.d.mts +3 -3
- package/dist/internal/build-runtime.d.ts +3 -3
- package/dist/internal/build-runtime.mjs +27 -26
- package/dist/internal/cli-runtime.cjs +10 -8
- package/dist/internal/cli-runtime.mjs +9 -7
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/compression-runtime.d.mts +1 -1
- package/dist/internal/compression-runtime.d.ts +1 -1
- package/dist/internal/config-runtime.cjs +8 -6
- package/dist/internal/config-runtime.d.mts +2 -2
- package/dist/internal/config-runtime.d.ts +2 -2
- package/dist/internal/config-runtime.mjs +7 -5
- package/dist/internal/docs-precompiled-runtime.cjs +19 -13
- package/dist/internal/docs-precompiled-runtime.d.mts +5 -0
- package/dist/internal/docs-precompiled-runtime.d.ts +5 -0
- package/dist/internal/docs-precompiled-runtime.mjs +14 -8
- package/dist/internal/infra-analytics-runtime.cjs +5 -5
- package/dist/internal/infra-analytics-runtime.mjs +3 -3
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-node-env.cjs +6 -2
- package/dist/internal/production-node-env.d.mts +10 -1
- package/dist/internal/production-node-env.d.ts +10 -1
- package/dist/internal/production-node-env.mjs +5 -1
- package/dist/internal/production-runtime.cjs +34 -14
- package/dist/internal/production-runtime.d.mts +51 -11
- package/dist/internal/production-runtime.d.ts +51 -11
- package/dist/internal/production-runtime.mjs +36 -16
- package/dist/markdown.cjs +8 -2
- package/dist/markdown.d.mts +1 -1
- package/dist/markdown.d.ts +1 -1
- package/dist/markdown.mjs +7 -1
- package/dist/middleware.cjs +9 -7
- package/dist/middleware.d.mts +24 -4
- package/dist/middleware.d.ts +24 -4
- package/dist/middleware.mjs +9 -7
- package/dist/navigation.cjs +4 -4
- package/dist/navigation.d.mts +4 -4
- package/dist/navigation.d.ts +4 -4
- package/dist/navigation.mjs +3 -3
- package/dist/plugin.cjs +21 -20
- package/dist/plugin.d.mts +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.mjs +20 -19
- package/dist/{production-runtime-Du_FHb2-.d.mts → production-runtime-BQ4_WLwQ.d.mts} +1 -1
- package/dist/{production-runtime-C2kkrPVZ.d.ts → production-runtime-D2aMyzjr.d.ts} +1 -1
- package/dist/query/client.cjs +2 -2
- package/dist/query/client.mjs +1 -1
- package/dist/{render-plan-BnnPTpus.d.ts → render-plan-25p4hrj4.d.ts} +1 -1
- package/dist/{render-plan-Cgx7v8tJ.d.mts → render-plan-DtkXMN8D.d.mts} +1 -1
- package/dist/renderer-client.d.mts +3 -3
- package/dist/renderer-client.d.ts +3 -3
- package/dist/renderer.d.mts +13 -4
- package/dist/renderer.d.ts +13 -4
- package/dist/{request-sKayKcop.d.mts → request-DgCkIdcn.d.mts} +4 -2
- package/dist/{request-BNWr7r5e.d.ts → request-jF4jwx8f.d.ts} +4 -2
- package/dist/request.cjs +3 -3
- package/dist/request.d.mts +2 -2
- package/dist/request.d.ts +2 -2
- package/dist/request.mjs +2 -2
- package/dist/{route-rendering-Bx4Auw6Q.d.ts → route-rendering-Bji6S6a_.d.ts} +1 -1
- package/dist/{route-rendering-DWFp3Yq4.d.mts → route-rendering-CSBF78Ya.d.mts} +1 -1
- package/dist/{router-BK6K42Ij.d.mts → router-B09Ui3Qm.d.mts} +1 -1
- package/dist/{router-DnW_2tQi.d.ts → router-CPB9cXtG.d.ts} +1 -1
- package/dist/routes.d.mts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/{runtime-DJDaCMd_.d.mts → runtime-CM6E6yuI.d.mts} +1 -1
- package/dist/{runtime-CA3Ei5k_.d.ts → runtime-EDMwLdjv.d.ts} +1 -1
- package/dist/server-fn.cjs +3 -3
- package/dist/server-fn.mjs +2 -2
- package/dist/server-plugins.cjs +5 -5
- package/dist/server-plugins.d.mts +2 -2
- package/dist/server-plugins.d.ts +2 -2
- package/dist/server-plugins.mjs +4 -4
- package/dist/server-query.cjs +4 -4
- package/dist/server-query.mjs +3 -3
- package/dist/server.cjs +47 -46
- package/dist/server.d.mts +7 -7
- package/dist/server.d.ts +7 -7
- package/dist/server.mjs +25 -24
- package/dist/{spa-router-Mwbd7g2L.d.ts → spa-router-B_N8XgVu.d.ts} +2 -2
- package/dist/{spa-router-D6fUA4Rn.d.mts → spa-router-Cgimzfbi.d.mts} +2 -2
- package/dist/testing.cjs +5 -5
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.mjs +4 -4
- package/dist/theme/server.cjs +4 -4
- package/dist/theme/server.mjs +3 -3
- package/dist/{utils-BwVcAfUR.d.ts → utils-BNxAKAuT.d.ts} +1 -1
- package/dist/{utils-p9Hs-jCc.d.mts → utils-DZciYXYl.d.mts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +21 -20
- package/dist/vite.d.mts +1 -1
- package/dist/vite.d.ts +1 -1
- package/dist/vite.mjs +20 -19
- package/package.json +1 -1
- package/dist/chunk-655RLQQL.mjs +0 -43
- package/dist/chunk-MRMI32SN.cjs +0 -1157
- package/dist/chunk-MT763TDW.cjs +0 -43
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
4
|
+
|
|
5
|
+
// src/nitro/node-server-entry.ts
|
|
6
|
+
var FARM_NODE_ENV_MODULE_FILE = "farm-node-env.mjs";
|
|
7
|
+
var FARM_NODE_ENV_MODULE_SOURCE = `if (!process.env.NODE_ENV) process.env.NODE_ENV = "production";
|
|
8
|
+
`;
|
|
9
|
+
function createFarmNodeServerEntry(options) {
|
|
10
|
+
const serverConfig = JSON.stringify(options.server);
|
|
11
|
+
const nitroEntryImport = `./${options.nitroEntryFile.replace(/^\.\//, "")}`;
|
|
12
|
+
return `
|
|
13
|
+
import "./${FARM_NODE_ENV_MODULE_FILE}";
|
|
14
|
+
import "#nitro/virtual/polyfills";
|
|
15
|
+
import { NodeRequest, serve } from ${JSON.stringify(options.nodeAdapterModule)};
|
|
16
|
+
import wsAdapter from ${JSON.stringify(options.websocketAdapterModule)};
|
|
17
|
+
import { resolveWebsocketHooks, useNitroApp, useNitroHooks } from "#nitro/runtime/app";
|
|
18
|
+
import { useRuntimeConfig } from "#nitro/runtime/runtime-config";
|
|
19
|
+
import { trapUnhandledErrors } from "#nitro/runtime/error/hooks";
|
|
20
|
+
import { setupCloseHooks } from "#nitro/runtime/shutdown";
|
|
21
|
+
import { startScheduleRunner } from "#nitro/runtime/task";
|
|
22
|
+
import { tracingSrvxPlugins } from "#nitro/virtual/tracing";
|
|
23
|
+
import { farmProductionLifecycle } from ${JSON.stringify(nitroEntryImport)};
|
|
24
|
+
|
|
25
|
+
const farmServerConfig = ${serverConfig};
|
|
26
|
+
if (!process.env.NITRO_SHUTDOWN_TIMEOUT) {
|
|
27
|
+
process.env.NITRO_SHUTDOWN_TIMEOUT = String(farmServerConfig.gracefulShutdownTimeout);
|
|
28
|
+
}
|
|
29
|
+
const shutdownConfig = {
|
|
30
|
+
disabled: Boolean(process.env.NITRO_SHUTDOWN_DISABLED),
|
|
31
|
+
signals: (process.env.NITRO_SHUTDOWN_SIGNALS || "SIGTERM SIGINT")
|
|
32
|
+
.split(" ")
|
|
33
|
+
.map((signal) => signal.trim())
|
|
34
|
+
.filter(Boolean),
|
|
35
|
+
timeout: Number.parseInt(process.env.NITRO_SHUTDOWN_TIMEOUT || "", 10) || 30000,
|
|
36
|
+
forceExit: !process.env.NITRO_SHUTDOWN_NO_FORCE_EXIT,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const nitroApp = useNitroApp();
|
|
40
|
+
useNitroHooks().hook("close", async () => {
|
|
41
|
+
try {
|
|
42
|
+
await farmProductionLifecycle.close("production-server-closed");
|
|
43
|
+
} catch (error) {
|
|
44
|
+
process.exitCode = 1;
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
let startupSignal;
|
|
50
|
+
let resolveStartupSignal;
|
|
51
|
+
const startupSignalPromise = new Promise((resolve) => {
|
|
52
|
+
resolveStartupSignal = resolve;
|
|
53
|
+
});
|
|
54
|
+
const startupSignalListeners = new Map();
|
|
55
|
+
if (!shutdownConfig.disabled) {
|
|
56
|
+
for (const signal of shutdownConfig.signals) {
|
|
57
|
+
const listener = (receivedSignal) => {
|
|
58
|
+
if (!startupSignal) {
|
|
59
|
+
startupSignal = receivedSignal;
|
|
60
|
+
resolveStartupSignal(receivedSignal);
|
|
61
|
+
}
|
|
62
|
+
farmProductionLifecycle.beginDrain(receivedSignal);
|
|
63
|
+
};
|
|
64
|
+
startupSignalListeners.set(signal, listener);
|
|
65
|
+
process.once(signal, listener);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
try {
|
|
70
|
+
await Promise.race([
|
|
71
|
+
Promise.resolve().then(() => farmProductionLifecycle.start()),
|
|
72
|
+
startupSignalPromise,
|
|
73
|
+
]);
|
|
74
|
+
} catch (error) {
|
|
75
|
+
await farmProductionLifecycle.close("production-start-failed").catch((closeError) => {
|
|
76
|
+
console.error("[Farm] Runtime cleanup after startup failure failed:", closeError);
|
|
77
|
+
});
|
|
78
|
+
throw error;
|
|
79
|
+
} finally {
|
|
80
|
+
for (const [signal, listener] of startupSignalListeners) {
|
|
81
|
+
process.removeListener(signal, listener);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (startupSignal) {
|
|
86
|
+
let startupCloseTimer;
|
|
87
|
+
const startupCloseCompleted = await Promise.race([
|
|
88
|
+
Promise.resolve()
|
|
89
|
+
.then(() => farmProductionLifecycle.close(startupSignal))
|
|
90
|
+
.then(
|
|
91
|
+
() => true,
|
|
92
|
+
(error) => {
|
|
93
|
+
console.error("[Farm] Runtime shutdown during startup failed:", error);
|
|
94
|
+
process.exitCode = 1;
|
|
95
|
+
return true;
|
|
96
|
+
},
|
|
97
|
+
),
|
|
98
|
+
new Promise((resolve) => {
|
|
99
|
+
startupCloseTimer = setTimeout(() => resolve(false), farmServerConfig.gracefulShutdownTimeout);
|
|
100
|
+
}),
|
|
101
|
+
]);
|
|
102
|
+
clearTimeout(startupCloseTimer);
|
|
103
|
+
if (!startupCloseCompleted) {
|
|
104
|
+
console.warn("[Farm] Runtime startup did not settle before shutdown; forcing cleanup");
|
|
105
|
+
let forcedCloseTimer;
|
|
106
|
+
const forcedCloseCompleted = await Promise.race([
|
|
107
|
+
Promise.resolve()
|
|
108
|
+
.then(() => farmProductionLifecycle.forceClose(startupSignal))
|
|
109
|
+
.then(
|
|
110
|
+
() => true,
|
|
111
|
+
(error) => {
|
|
112
|
+
console.error("[Farm] Forced runtime shutdown during startup failed:", error);
|
|
113
|
+
process.exitCode = 1;
|
|
114
|
+
return true;
|
|
115
|
+
},
|
|
116
|
+
),
|
|
117
|
+
new Promise((resolve) => {
|
|
118
|
+
forcedCloseTimer = setTimeout(
|
|
119
|
+
() => resolve(false),
|
|
120
|
+
farmServerConfig.gracefulShutdownTimeout,
|
|
121
|
+
);
|
|
122
|
+
}),
|
|
123
|
+
]);
|
|
124
|
+
clearTimeout(forcedCloseTimer);
|
|
125
|
+
if (!forcedCloseCompleted) {
|
|
126
|
+
console.error("[Farm] Forced runtime shutdown during startup timed out");
|
|
127
|
+
process.exitCode = 1;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
process.exit(process.exitCode || 0);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const cert = process.env.NITRO_SSL_CERT;
|
|
134
|
+
const key = process.env.NITRO_SSL_KEY;
|
|
135
|
+
const configuredPort = Number(process.env.NITRO_PORT || process.env.PORT);
|
|
136
|
+
const port = Number.isFinite(configuredPort) && configuredPort > 0 ? configuredPort : 3000;
|
|
137
|
+
const host = process.env.NITRO_HOST || process.env.HOST;
|
|
138
|
+
const socketPath = process.env.NITRO_UNIX_SOCKET;
|
|
139
|
+
const server = serve({
|
|
140
|
+
manual: true,
|
|
141
|
+
silent: true,
|
|
142
|
+
gracefulShutdown: false,
|
|
143
|
+
port,
|
|
144
|
+
hostname: host,
|
|
145
|
+
node: socketPath ? { path: socketPath } : undefined,
|
|
146
|
+
tls: cert && key ? { cert, key } : undefined,
|
|
147
|
+
fetch: nitroApp.fetch,
|
|
148
|
+
plugins: [...tracingSrvxPlugins],
|
|
149
|
+
});
|
|
150
|
+
const nodeServer = server.node?.server;
|
|
151
|
+
if (!nodeServer) throw new Error("[Farm] Nitro did not create a Node server");
|
|
152
|
+
|
|
153
|
+
nodeServer.headersTimeout = farmServerConfig.headersTimeout;
|
|
154
|
+
nodeServer.requestTimeout = farmServerConfig.requestTimeout;
|
|
155
|
+
nodeServer.keepAliveTimeout = farmServerConfig.keepAliveTimeout;
|
|
156
|
+
|
|
157
|
+
let isShuttingDown = false;
|
|
158
|
+
nodeServer.on("request", (_request, response) => {
|
|
159
|
+
response.once("finish", () => {
|
|
160
|
+
if (isShuttingDown) nodeServer.closeIdleConnections?.();
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
if (import.meta._websocket) {
|
|
165
|
+
const { handleUpgrade } = wsAdapter({ resolve: resolveWebsocketHooks });
|
|
166
|
+
nodeServer.on("upgrade", (request, socket, head) => {
|
|
167
|
+
handleUpgrade(
|
|
168
|
+
request,
|
|
169
|
+
socket,
|
|
170
|
+
head,
|
|
171
|
+
new NodeRequest({ req: request, upgrade: { socket, head } }),
|
|
172
|
+
);
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
setupCloseHooks(server);
|
|
177
|
+
trapUnhandledErrors();
|
|
178
|
+
|
|
179
|
+
let shutdownPromise;
|
|
180
|
+
async function shutdown(signal) {
|
|
181
|
+
isShuttingDown = true;
|
|
182
|
+
farmProductionLifecycle.beginDrain(signal);
|
|
183
|
+
|
|
184
|
+
const gracefulClose = server.close().then(
|
|
185
|
+
() => true,
|
|
186
|
+
(error) => {
|
|
187
|
+
console.error("[Farm] Runtime shutdown failed:", error);
|
|
188
|
+
process.exitCode = 1;
|
|
189
|
+
return true;
|
|
190
|
+
},
|
|
191
|
+
);
|
|
192
|
+
nodeServer.closeIdleConnections?.();
|
|
193
|
+
let gracefulTimer;
|
|
194
|
+
const gracefullyClosed = await Promise.race([
|
|
195
|
+
gracefulClose,
|
|
196
|
+
new Promise((resolve) => {
|
|
197
|
+
gracefulTimer = setTimeout(() => resolve(false), shutdownConfig.timeout);
|
|
198
|
+
}),
|
|
199
|
+
]);
|
|
200
|
+
clearTimeout(gracefulTimer);
|
|
201
|
+
|
|
202
|
+
if (!gracefullyClosed) {
|
|
203
|
+
console.warn("[Farm] Graceful shutdown timed out; forcing cleanup");
|
|
204
|
+
void server.close(true).catch((error) => {
|
|
205
|
+
console.error("[Farm] Forced server shutdown failed:", error);
|
|
206
|
+
process.exitCode = 1;
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
let forceTimer;
|
|
210
|
+
const forceClosed = await Promise.race([
|
|
211
|
+
Promise.resolve()
|
|
212
|
+
.then(() => farmProductionLifecycle.forceClose("production-server-closed"))
|
|
213
|
+
.then(
|
|
214
|
+
() => true,
|
|
215
|
+
(error) => {
|
|
216
|
+
console.error("[Farm] Forced runtime shutdown failed:", error);
|
|
217
|
+
process.exitCode = 1;
|
|
218
|
+
return true;
|
|
219
|
+
},
|
|
220
|
+
),
|
|
221
|
+
new Promise((resolve) => {
|
|
222
|
+
forceTimer = setTimeout(() => resolve(false), shutdownConfig.timeout);
|
|
223
|
+
}),
|
|
224
|
+
]);
|
|
225
|
+
clearTimeout(forceTimer);
|
|
226
|
+
if (!forceClosed) {
|
|
227
|
+
console.error("[Farm] Forced runtime shutdown timed out");
|
|
228
|
+
process.exitCode = 1;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
if (shutdownConfig.forceExit) process.exit(process.exitCode || 0);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if (!shutdownConfig.disabled) {
|
|
236
|
+
for (const signal of shutdownConfig.signals) {
|
|
237
|
+
process.once(signal, (receivedSignal) => {
|
|
238
|
+
shutdownPromise ||= shutdown(receivedSignal);
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
try {
|
|
244
|
+
await server.serve();
|
|
245
|
+
const protocol = cert && key ? "https" : "http";
|
|
246
|
+
const addressInfo = nodeServer.address();
|
|
247
|
+
if (typeof addressInfo === "string") {
|
|
248
|
+
console.log(\`Listening on unix socket \${addressInfo}\`);
|
|
249
|
+
} else if (addressInfo) {
|
|
250
|
+
const configuredBaseURL = useRuntimeConfig().app.baseURL || "";
|
|
251
|
+
const baseURL = configuredBaseURL.endsWith("/")
|
|
252
|
+
? configuredBaseURL.slice(0, -1)
|
|
253
|
+
: configuredBaseURL;
|
|
254
|
+
const address = addressInfo.family === "IPv6"
|
|
255
|
+
? \`[\${addressInfo.address}]\`
|
|
256
|
+
: addressInfo.address;
|
|
257
|
+
console.log(\`Listening on \${protocol}://\${address}:\${addressInfo.port}\${baseURL}\`);
|
|
258
|
+
}
|
|
259
|
+
} catch (error) {
|
|
260
|
+
console.error(error);
|
|
261
|
+
process.exitCode = 1;
|
|
262
|
+
await farmProductionLifecycle.close("production-listen-error").catch((closeError) => {
|
|
263
|
+
console.error("[Farm] Runtime cleanup after listen failure failed:", closeError);
|
|
264
|
+
});
|
|
265
|
+
throw error;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
if (import.meta._tasks) {
|
|
269
|
+
startScheduleRunner({ waitUntil: server.waitUntil });
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
export default {};
|
|
273
|
+
`.trim();
|
|
274
|
+
}
|
|
275
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmNodeServerEntry, "createFarmNodeServerEntry");
|
|
276
|
+
|
|
277
|
+
// src/build/production-node-env.ts
|
|
278
|
+
var productionNodeEnvStateKey = /* @__PURE__ */ Symbol.for("@farm.js/core/production-node-env-state");
|
|
279
|
+
function getProductionNodeEnvState() {
|
|
280
|
+
return Reflect.get(globalThis, productionNodeEnvStateKey);
|
|
281
|
+
}
|
|
282
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, getProductionNodeEnvState, "getProductionNodeEnvState");
|
|
283
|
+
async function withProductionNodeEnv(operation) {
|
|
284
|
+
let state = getProductionNodeEnvState();
|
|
285
|
+
if (state) {
|
|
286
|
+
state.depth += 1;
|
|
287
|
+
} else {
|
|
288
|
+
state = {
|
|
289
|
+
depth: 1,
|
|
290
|
+
original: process.env.NODE_ENV
|
|
291
|
+
};
|
|
292
|
+
Reflect.set(globalThis, productionNodeEnvStateKey, state);
|
|
293
|
+
}
|
|
294
|
+
process.env.NODE_ENV = "production";
|
|
295
|
+
try {
|
|
296
|
+
return await operation();
|
|
297
|
+
} finally {
|
|
298
|
+
state.depth -= 1;
|
|
299
|
+
if (state.depth > 0) {
|
|
300
|
+
process.env.NODE_ENV = "production";
|
|
301
|
+
} else {
|
|
302
|
+
Reflect.deleteProperty(globalThis, productionNodeEnvStateKey);
|
|
303
|
+
if (state.original === void 0) {
|
|
304
|
+
delete process.env.NODE_ENV;
|
|
305
|
+
} else {
|
|
306
|
+
process.env.NODE_ENV = state.original;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, withProductionNodeEnv, "withProductionNodeEnv");
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
exports.FARM_NODE_ENV_MODULE_FILE = FARM_NODE_ENV_MODULE_FILE; exports.FARM_NODE_ENV_MODULE_SOURCE = FARM_NODE_ENV_MODULE_SOURCE; exports.createFarmNodeServerEntry = createFarmNodeServerEntry; exports.withProductionNodeEnv = withProductionNodeEnv;
|
|
@@ -6,7 +6,7 @@ var _chunkJ63ZH5OQcjs = require('./chunk-J63ZH5OQ.cjs');
|
|
|
6
6
|
var _chunkE3UK5IIBcjs = require('./chunk-E3UK5IIB.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunk6XWDE2P2cjs = require('./chunk-6XWDE2P2.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -299,7 +299,7 @@ function farmInfraAnalyticsPlugin(options, send) {
|
|
|
299
299
|
context.state.unsubscribe = _chunkE3UK5IIBcjs.onFarmEvent.call(void 0,
|
|
300
300
|
(event) => {
|
|
301
301
|
if (!isToolEvent(event)) return;
|
|
302
|
-
const request =
|
|
302
|
+
const request = _chunk6XWDE2P2cjs.getCurrentRequestOrNull.call(void 0, );
|
|
303
303
|
if (!request) return;
|
|
304
304
|
const metadata = context.requestContext.get(request, contextKey);
|
|
305
305
|
if (!metadata) return;
|
|
@@ -34,7 +34,7 @@ var _chunkS3A45T7Fcjs = require('./chunk-S3A45T7F.cjs');
|
|
|
34
34
|
var _chunkZEG3OPIBcjs = require('./chunk-ZEG3OPIB.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
var
|
|
37
|
+
var _chunk6XWDE2P2cjs = require('./chunk-6XWDE2P2.cjs');
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -209,7 +209,7 @@ async function invokeAPIRouteEndpoint(endpoint, request, params = {}, bodySizeLi
|
|
|
209
209
|
if (response2) return response2;
|
|
210
210
|
throw error;
|
|
211
211
|
}
|
|
212
|
-
const response = await
|
|
212
|
+
const response = await _chunk6XWDE2P2cjs._runWithCurrentRequest.call(void 0,
|
|
213
213
|
request,
|
|
214
214
|
() => invokeAPIRouteEndpointInContext(endpoint, request, params)
|
|
215
215
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkKCQBAKIYcjs = require('./chunk-KCQBAKIY.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunk4GWRFP22cjs = require('./chunk-4GWRFP22.cjs');
|
|
@@ -418,7 +418,7 @@ function farmMiddlewarePlugin(options = {}) {
|
|
|
418
418
|
mode: server.config.mode === "production" ? "production" : "development",
|
|
419
419
|
basePath: _nullishCoalesce(options.basePath, () => ( "/"))
|
|
420
420
|
});
|
|
421
|
-
manager = new (0,
|
|
421
|
+
manager = new (0, _chunkKCQBAKIYcjs.MiddlewareManager)(
|
|
422
422
|
getMiddlewareAppDirectory(server.config.root, srcDir),
|
|
423
423
|
server,
|
|
424
424
|
options.middleware,
|