@farm.js/core 0.1.42 → 0.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-mcp-ssVy_tea.d.mts → agent-mcp-CWI-awqd.d.mts} +1 -1
- package/dist/{agent-mcp-SSD6L3VZ.d.ts → agent-mcp-EnzWYv_X.d.ts} +1 -1
- package/dist/agent-runtime.cjs +3 -2
- package/dist/agent-runtime.d.mts +1 -1
- package/dist/agent-runtime.d.ts +1 -1
- package/dist/agent-runtime.mjs +2 -1
- package/dist/api/route-manager.d.mts +3 -3
- package/dist/api/route-manager.d.ts +3 -3
- package/dist/api/runtime.d.mts +2 -2
- package/dist/api/runtime.d.ts +2 -2
- package/dist/api.cjs +2 -2
- package/dist/api.d.mts +8 -3
- package/dist/api.d.ts +8 -3
- package/dist/api.mjs +1 -1
- package/dist/{app-KjFzdCqy.d.ts → app-CAN_2Cqo.d.ts} +8 -4
- package/dist/{app-1h3lVT4a.d.mts → app-DG3dE8v5.d.mts} +8 -4
- package/dist/{app-manifest-D3RkVNuS.d.mts → app-manifest-8x5VjZ0L.d.mts} +1 -1
- package/dist/{app-manifest-DaW8-tvX.d.ts → app-manifest-DazjgQya.d.ts} +1 -1
- package/dist/app-markdown.d.mts +2 -2
- package/dist/app-markdown.d.ts +2 -2
- package/dist/{chunk-ECKF2BAM.cjs → chunk-2GVF3C2F.cjs} +255 -42
- package/dist/{chunk-TUL355PH.mjs → chunk-2MKTHHEU.mjs} +136 -161
- package/dist/chunk-2NXO5SBY.mjs +57 -0
- package/dist/{chunk-AX7S67YV.mjs → chunk-37VKVISD.mjs} +9 -173
- package/dist/chunk-3BROEWFY.cjs +39 -0
- package/dist/chunk-3SAWHWDH.cjs +186 -0
- package/dist/{chunk-AHFRQMRX.cjs → chunk-3YJMBQ27.cjs} +1 -1
- package/dist/{chunk-6PKXK4TY.mjs → chunk-53ZV6K65.mjs} +1 -1
- package/dist/{chunk-JG3MEQUH.cjs → chunk-5GBL2LKD.cjs} +430 -217
- package/dist/{chunk-LYIZHJTK.cjs → chunk-5LPHJZSI.cjs} +14 -14
- package/dist/chunk-5NIWBWDD.mjs +97 -0
- package/dist/{chunk-NRDBW4MP.mjs → chunk-7IQQIPRZ.mjs} +10 -0
- package/dist/{chunk-TCJ4A4A2.cjs → chunk-AI3WVJNP.cjs} +324 -350
- package/dist/chunk-APDGOKKE.cjs +148 -0
- package/dist/chunk-AZBSVLRM.cjs +132 -0
- package/dist/{chunk-RHGK2JEN.cjs → chunk-B6XAA7V6.cjs} +18 -182
- package/dist/chunk-CEDPEDNW.cjs +98 -0
- package/dist/{chunk-WSOBCAYO.cjs → chunk-CW6SNEN2.cjs} +25 -25
- package/dist/chunk-D5RFPV2H.mjs +148 -0
- package/dist/chunk-E22SWCXB.cjs +144 -0
- package/dist/{chunk-375K2ZVU.mjs → chunk-ERA5RP3L.mjs} +263 -50
- package/dist/{chunk-724JLMS4.mjs → chunk-F646BZ4Y.mjs} +4 -2
- package/dist/{chunk-C5KVWHIH.cjs → chunk-G2Z5DGMS.cjs} +5 -3
- package/dist/{chunk-ZATTDMBW.cjs → chunk-GA6JM4L6.cjs} +279 -376
- package/dist/chunk-GZWHCWLB.mjs +186 -0
- package/dist/{chunk-24SP5TGU.mjs → chunk-H4LXPWI2.mjs} +2 -2
- package/dist/chunk-H7BLEEAE.cjs +57 -0
- package/dist/chunk-IOMVXBLZ.mjs +144 -0
- package/dist/{chunk-BD3D7EZV.cjs → chunk-IXFOBGLQ.cjs} +9 -3
- package/dist/{chunk-JIYYX7WU.mjs → chunk-JVXW76I7.mjs} +2 -2
- package/dist/{chunk-MHN4UR5U.cjs → chunk-KFZZFZ7J.cjs} +7 -7
- package/dist/{chunk-BXJ5HJTJ.cjs → chunk-LPE3ED4R.cjs} +17 -13
- package/dist/chunk-LRJRXXQZ.cjs +109 -0
- package/dist/{chunk-HCSVR4YZ.mjs → chunk-M3BXTWJM.mjs} +18 -0
- package/dist/{chunk-2JZHQDUY.mjs → chunk-OYZGFRPA.mjs} +1 -1
- package/dist/{chunk-JR4QCLJY.cjs → chunk-PDU4P2IC.cjs} +19 -1
- package/dist/chunk-PJEHUSHA.mjs +229 -0
- package/dist/{chunk-QTEJGB5A.mjs → chunk-QGFKXYC7.mjs} +80 -177
- package/dist/chunk-QGH2RQVF.mjs +132 -0
- package/dist/{chunk-YWMZUGIS.mjs → chunk-R3ZFQJEF.mjs} +247 -34
- package/dist/{chunk-U2UC7UGP.mjs → chunk-R4J2UOV4.mjs} +1 -1
- package/dist/chunk-S34OBRMZ.mjs +109 -0
- package/dist/{chunk-TS4JHGUJ.mjs → chunk-S3ZEMCE6.mjs} +9 -3
- package/dist/{chunk-WWFTAUFG.cjs → chunk-SBH2JLLF.cjs} +12 -2
- package/dist/{chunk-YSLWRWWP.cjs → chunk-SKK6UF5P.cjs} +200 -46
- package/dist/{chunk-ZS6HDNOM.cjs → chunk-T44ECMEP.cjs} +6 -6
- package/dist/{chunk-OFZUJMCU.mjs → chunk-WPJQN64R.mjs} +195 -41
- package/dist/{chunk-NU25TRIO.mjs → chunk-WWYXIECF.mjs} +12 -8
- package/dist/{chunk-7YHSD3Z6.cjs → chunk-XPSGGECF.cjs} +85 -31
- package/dist/chunk-XUGFRFD2.mjs +39 -0
- package/dist/{chunk-IVQY6UTY.mjs → chunk-XUHIRBXY.mjs} +1 -1
- package/dist/{chunk-PIZXONIS.mjs → chunk-YFLBG2W3.mjs} +56 -2
- package/dist/chunk-YKUEJ3MG.cjs +229 -0
- package/dist/{chunk-QKZMB7LY.cjs → chunk-YN2QEMMO.cjs} +2 -2
- package/dist/{client-plugins-DIem0I0W.d.ts → client-plugins-BGS0wqzc.d.ts} +36 -16
- package/dist/{client-plugins-C9Py_50W.d.mts → client-plugins-nQ0tYt4l.d.mts} +36 -16
- package/dist/client-plugins.d.mts +1 -1
- package/dist/client-plugins.d.ts +1 -1
- package/dist/client.cjs +4 -3
- package/dist/client.d.mts +5 -5
- package/dist/client.d.ts +5 -5
- package/dist/client.mjs +3 -2
- package/dist/config.d.mts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/{devtools-2RY3EKHL.cjs → devtools-5Q7VRKVH.cjs} +6 -5
- package/dist/{devtools-Q3LBNUJ7.mjs → devtools-LJ4IGYGW.mjs} +5 -4
- package/dist/docs.cjs +7 -6
- package/dist/docs.d.mts +2 -2
- package/dist/docs.d.ts +2 -2
- package/dist/docs.mjs +6 -5
- package/dist/index-Cy26isrh.d.ts +48 -0
- package/dist/index-y1jgR74U.d.mts +48 -0
- package/dist/index.cjs +44 -25
- package/dist/index.d.mts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.mjs +51 -32
- package/dist/integrations.cjs +5 -3
- package/dist/integrations.d.mts +1 -1
- package/dist/integrations.d.ts +1 -1
- package/dist/integrations.mjs +6 -4
- package/dist/internal/app-markdown-runtime.d.mts +2 -2
- package/dist/internal/app-markdown-runtime.d.ts +2 -2
- package/dist/internal/build-runtime.cjs +30 -15
- package/dist/internal/build-runtime.d.mts +12 -16
- package/dist/internal/build-runtime.d.ts +12 -16
- package/dist/internal/build-runtime.mjs +29 -14
- package/dist/internal/cli-runtime.cjs +24 -11
- package/dist/internal/cli-runtime.mjs +24 -11
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +5 -1
- package/dist/internal/client-runtime.d.mts +1 -0
- package/dist/internal/client-runtime.d.ts +1 -0
- package/dist/internal/client-runtime.mjs +4 -0
- package/dist/internal/compression-runtime.d.mts +1 -1
- package/dist/internal/compression-runtime.d.ts +1 -1
- package/dist/internal/config-runtime.cjs +6 -5
- package/dist/internal/config-runtime.d.mts +2 -2
- package/dist/internal/config-runtime.d.ts +2 -2
- package/dist/internal/config-runtime.mjs +5 -4
- package/dist/internal/form-actions-client.cjs +18 -0
- package/dist/internal/form-actions-client.d.mts +5 -0
- package/dist/internal/form-actions-client.d.ts +5 -0
- package/dist/internal/form-actions-client.mjs +18 -0
- package/dist/internal/form-actions.cjs +18 -0
- package/dist/internal/form-actions.d.mts +14 -0
- package/dist/internal/form-actions.d.ts +14 -0
- package/dist/internal/form-actions.mjs +18 -0
- package/dist/internal/island-codec.cjs +22 -0
- package/dist/internal/island-codec.d.mts +29 -0
- package/dist/internal/island-codec.d.ts +29 -0
- package/dist/internal/island-codec.mjs +22 -0
- package/dist/internal/island-value-store.cjs +13 -0
- package/dist/internal/island-value-store.d.mts +6 -0
- package/dist/internal/island-value-store.d.ts +6 -0
- package/dist/internal/island-value-store.mjs +13 -0
- package/dist/internal/islands-runtime.cjs +77 -0
- package/dist/internal/islands-runtime.d.mts +57 -0
- package/dist/internal/islands-runtime.d.ts +57 -0
- package/dist/internal/islands-runtime.mjs +77 -0
- package/dist/internal/islands-server.cjs +19 -0
- package/dist/internal/islands-server.d.mts +3 -0
- package/dist/internal/islands-server.d.ts +3 -0
- package/dist/internal/islands-server.mjs +19 -0
- package/dist/internal/islx-client.cjs +5 -0
- package/dist/internal/islx-client.d.mts +2 -0
- package/dist/internal/islx-client.d.ts +2 -0
- package/dist/internal/islx-client.mjs +3 -0
- package/dist/internal/islx-react.cjs +4 -0
- package/dist/internal/islx-react.d.mts +1 -0
- package/dist/internal/islx-react.d.ts +1 -0
- package/dist/internal/islx-react.mjs +2 -0
- package/dist/internal/islx-server.cjs +5 -0
- package/dist/internal/islx-server.d.mts +2 -0
- package/dist/internal/islx-server.d.ts +2 -0
- package/dist/internal/islx-server.mjs +3 -0
- package/dist/internal/isolated-boundary.cjs +4 -3
- package/dist/internal/isolated-boundary.d.mts +13 -1
- package/dist/internal/isolated-boundary.d.ts +13 -1
- package/dist/internal/isolated-boundary.mjs +3 -2
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.cjs +24 -13
- package/dist/internal/production-runtime.d.mts +20 -10
- package/dist/internal/production-runtime.d.ts +20 -10
- package/dist/internal/production-runtime.mjs +24 -13
- package/dist/internal/server-tree.cjs +6 -3
- package/dist/internal/server-tree.d.mts +25 -2
- package/dist/internal/server-tree.d.ts +25 -2
- package/dist/internal/server-tree.mjs +7 -4
- package/dist/island-value-protocol-BRayRghM.d.mts +12 -0
- package/dist/island-value-protocol-BRayRghM.d.ts +12 -0
- package/dist/markdown.d.mts +1 -1
- package/dist/markdown.d.ts +1 -1
- package/dist/middleware.d.mts +3 -3
- package/dist/middleware.d.ts +3 -3
- package/dist/navigation.cjs +5 -4
- package/dist/navigation.d.mts +4 -4
- package/dist/navigation.d.ts +4 -4
- package/dist/navigation.mjs +4 -3
- package/dist/og.d.mts +5 -0
- package/dist/og.d.ts +5 -0
- package/dist/plugin.cjs +19 -12
- package/dist/plugin.d.mts +3 -3
- package/dist/plugin.d.ts +3 -3
- package/dist/plugin.mjs +18 -11
- package/dist/{production-runtime-bjjWq-DA.d.ts → production-runtime-BVMDgHrA.d.ts} +1 -1
- package/dist/{production-runtime-CHFKIgpW.d.mts → production-runtime-ClFA_1KQ.d.mts} +1 -1
- package/dist/query/client.cjs +6 -5
- package/dist/query/client.mjs +2 -1
- package/dist/{render-plan-DOHg6wdO.d.mts → render-plan-CoSovy_O.d.mts} +4 -2
- package/dist/{render-plan-B2UndB4x.d.ts → render-plan-y2DefWf8.d.ts} +4 -2
- package/dist/renderer/react/server.cjs +7 -6
- package/dist/renderer/react/server.d.mts +3 -1
- package/dist/renderer/react/server.d.ts +3 -1
- package/dist/renderer/react/server.mjs +5 -4
- package/dist/renderer-client.cjs +5 -4
- package/dist/renderer-client.d.mts +3 -3
- package/dist/renderer-client.d.ts +3 -3
- package/dist/renderer-client.mjs +2 -1
- package/dist/renderer.d.mts +3 -1
- package/dist/renderer.d.ts +3 -1
- package/dist/{request-DVNXRQrI.d.ts → request-aG5Wovm5.d.ts} +1 -1
- package/dist/{request-DQcGfdgQ.d.mts → request-cNM09Q7e.d.mts} +1 -1
- package/dist/request.d.mts +2 -2
- package/dist/request.d.ts +2 -2
- package/dist/{route-rendering-B_6fj-GG.d.ts → route-rendering-B3uQmCWX.d.ts} +1 -1
- package/dist/{route-rendering-CEX4mFn-.d.mts → route-rendering-EyInfsjI.d.mts} +1 -1
- package/dist/{router-CHEMHm1P.d.ts → router-DNUf-Bg1.d.ts} +1 -1
- package/dist/{router-CKHPBKXX.d.mts → router-Devibh4r.d.mts} +1 -1
- package/dist/routes.d.mts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/rsc-pipeline-4ZJ6GUVQ.cjs +78 -0
- package/dist/rsc-pipeline-KK6GFDET.mjs +78 -0
- package/dist/{runtime-jj8TKNsy.d.mts → runtime-9KZb8AI5.d.mts} +1 -1
- package/dist/{runtime-Br2ZDTAv.d.ts → runtime-CLr9P5kn.d.ts} +1 -1
- package/dist/{schema-dev-notice-5JPE67AI.cjs → schema-dev-notice-77ZL23PL.cjs} +4 -4
- package/dist/{schema-dev-notice-WLPZ6WKU.mjs → schema-dev-notice-BLXOS6U2.mjs} +2 -2
- package/dist/server-plugins.d.mts +2 -2
- package/dist/server-plugins.d.ts +2 -2
- package/dist/server.cjs +57 -38
- package/dist/server.d.mts +15 -10
- package/dist/server.d.ts +15 -10
- package/dist/server.mjs +37 -18
- package/dist/{spa-router-BEvS9Erj.d.mts → spa-router-BIxh4IY-.d.mts} +8 -3
- package/dist/{spa-router-DmCuH5B7.d.ts → spa-router-Ds6R_oe-.d.ts} +8 -3
- package/dist/{ssg-57v6cZcW.d.mts → ssg-ByrOVYdM.d.mts} +2 -2
- package/dist/{ssg-gT093ETk.d.ts → ssg-XnMHCyEc.d.ts} +2 -2
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{utils-CCTKvR-P.d.ts → utils-BN70ueSN.d.ts} +1 -1
- package/dist/{utils-raHHQVyL.d.mts → utils-BrjR5xRs.d.mts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +19 -12
- package/dist/vite.d.mts +6 -4
- package/dist/vite.d.ts +6 -4
- package/dist/vite.mjs +18 -11
- package/package.json +53 -1
- package/dist/{chunk-35WS7P2V.mjs → chunk-26CXZR6L.mjs} +3 -3
- package/dist/{chunk-QEILRWVV.cjs → chunk-3XEMGDBF.cjs} +2 -2
- package/dist/{chunk-BPOTSHDO.cjs → chunk-IOAUK4OI.cjs} +2 -2
- package/dist/{chunk-BYR3RQPB.mjs → chunk-T76H22WI.mjs} +4 -4
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
5
|
+
|
|
6
|
+
// src/react-refresh.ts
|
|
7
|
+
var _module = require('module');
|
|
8
|
+
var _url = require('url');
|
|
9
|
+
var REACT_REFRESH_PLUGIN = "vite:react-refresh";
|
|
10
|
+
var FARM_REACT_REFRESH_PREAMBLE_ID = "/@farm/react-refresh-preamble";
|
|
11
|
+
var FARM_OWNED = /* @__PURE__ */ Symbol.for("farm.react-refresh.owned");
|
|
12
|
+
function isFarmReactRefreshActive(config) {
|
|
13
|
+
return config.command === "serve" && !config.isProduction && config.server.hmr !== false && config.plugins.some((plugin) => plugin.name === REACT_REFRESH_PLUGIN);
|
|
14
|
+
}
|
|
15
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, isFarmReactRefreshActive, "isFarmReactRefreshActive");
|
|
16
|
+
function isFarmClientEntryId(id) {
|
|
17
|
+
const pathname = id.split("?", 1)[0];
|
|
18
|
+
return pathname === "/@farm/client" || pathname === "/@farm/client.js";
|
|
19
|
+
}
|
|
20
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, isFarmClientEntryId, "isFarmClientEntryId");
|
|
21
|
+
function hasAppReactPlugin(plugins) {
|
|
22
|
+
const pending = [..._nullishCoalesce(plugins, () => ( []))];
|
|
23
|
+
while (pending.length > 0) {
|
|
24
|
+
const entry = pending.pop();
|
|
25
|
+
if (Array.isArray(entry)) {
|
|
26
|
+
pending.push(...entry);
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (!entry || typeof entry !== "object" || "then" in entry) continue;
|
|
30
|
+
if (entry.name === REACT_REFRESH_PLUGIN && !(FARM_OWNED in entry)) return true;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, hasAppReactPlugin, "hasAppReactPlugin");
|
|
35
|
+
function createFarmReactRefreshPreamblePlugin() {
|
|
36
|
+
let active = false;
|
|
37
|
+
return {
|
|
38
|
+
name: "farm:react-refresh-preamble",
|
|
39
|
+
apply: "serve",
|
|
40
|
+
configResolved(config) {
|
|
41
|
+
active = isFarmReactRefreshActive(config);
|
|
42
|
+
},
|
|
43
|
+
resolveId(id) {
|
|
44
|
+
if (id === FARM_REACT_REFRESH_PREAMBLE_ID) return id;
|
|
45
|
+
},
|
|
46
|
+
load(id) {
|
|
47
|
+
if (id !== FARM_REACT_REFRESH_PREAMBLE_ID) return;
|
|
48
|
+
if (!active) return "";
|
|
49
|
+
return `import RefreshRuntime from "/@react-refresh";
|
|
50
|
+
RefreshRuntime.injectIntoGlobalHook(window);
|
|
51
|
+
window.$RefreshReg$ = () => {};
|
|
52
|
+
window.$RefreshSig$ = () => (type) => type;
|
|
53
|
+
window.__vite_plugin_react_preamble_installed__ = true;
|
|
54
|
+
`;
|
|
55
|
+
},
|
|
56
|
+
transform(code, id) {
|
|
57
|
+
if (!active || _optionalChain([this, 'access', _ => _.environment, 'optionalAccess', _2 => _2.config, 'access', _3 => _3.consumer]) !== "client" || !isFarmClientEntryId(id)) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
code: `import ${JSON.stringify(FARM_REACT_REFRESH_PREAMBLE_ID)};
|
|
62
|
+
${code}`,
|
|
63
|
+
map: null
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmReactRefreshPreamblePlugin, "createFarmReactRefreshPreamblePlugin");
|
|
69
|
+
async function loadFarmReactPlugin() {
|
|
70
|
+
const entry = _module.createRequire.call(void 0,
|
|
71
|
+
typeof __filename === "string" ? __filename : _chunkS3JO3N4Hcjs.define_import_meta_default.url
|
|
72
|
+
).resolve("@vitejs/plugin-react");
|
|
73
|
+
return await import(
|
|
74
|
+
/* @vite-ignore */
|
|
75
|
+
_url.pathToFileURL.call(void 0, entry).href
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, loadFarmReactPlugin, "loadFarmReactPlugin");
|
|
79
|
+
async function createFarmReactRefreshPlugins() {
|
|
80
|
+
const { default: react } = await loadFarmReactPlugin();
|
|
81
|
+
const plugins = react().map(
|
|
82
|
+
(plugin) => Object.assign(
|
|
83
|
+
{
|
|
84
|
+
...plugin,
|
|
85
|
+
apply: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (config, env) => env.command === "serve" && !hasAppReactPlugin(config.plugins), "apply")
|
|
86
|
+
},
|
|
87
|
+
{ [FARM_OWNED]: true }
|
|
88
|
+
)
|
|
89
|
+
);
|
|
90
|
+
return [...plugins, createFarmReactRefreshPreamblePlugin()];
|
|
91
|
+
}
|
|
92
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmReactRefreshPlugins, "createFarmReactRefreshPlugins");
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
exports.isFarmReactRefreshActive = isFarmReactRefreshActive; exports.loadFarmReactPlugin = loadFarmReactPlugin; exports.createFarmReactRefreshPlugins = createFarmReactRefreshPlugins;
|
|
@@ -17,7 +17,7 @@ var _chunkFXFKIJDAcjs = require('./chunk-FXFKIJDA.cjs');
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkIOAUK4OIcjs = require('./chunk-IOAUK4OI.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -29,7 +29,7 @@ var _chunk4U5XZDLGcjs = require('./chunk-4U5XZDLG.cjs');
|
|
|
29
29
|
var _chunk6D24SDKOcjs = require('./chunk-6D24SDKO.cjs');
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunkB6XAA7V6cjs = require('./chunk-B6XAA7V6.cjs');
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
@@ -43,7 +43,7 @@ function collectSchemaDependencies(owners) {
|
|
|
43
43
|
for (const owner of owners) {
|
|
44
44
|
try {
|
|
45
45
|
known.set(owner.name, _chunk6D24SDKOcjs.resolveSchemaModels.call(void 0, owner.name, owner.schema));
|
|
46
|
-
for (const model of
|
|
46
|
+
for (const model of _chunkIOAUK4OIcjs.collectSchemaModels.call(void 0, [[owner.name, owner.schema, owner.models]])) {
|
|
47
47
|
creators.set(model.modelName.toLowerCase(), owner.name);
|
|
48
48
|
claimedKeys.set(model.modelKey, owner.name);
|
|
49
49
|
}
|
|
@@ -67,7 +67,7 @@ function collectSchemaDependencies(owners) {
|
|
|
67
67
|
if (creator && creator !== owner.name) needs.add(creator);
|
|
68
68
|
}, "add");
|
|
69
69
|
try {
|
|
70
|
-
for (const model of
|
|
70
|
+
for (const model of _chunkIOAUK4OIcjs.collectSchemaModels.call(void 0, [[owner.name, owner.schema, owner.models]])) {
|
|
71
71
|
for (const field of Object.values(model.model.fields)) {
|
|
72
72
|
if (field.reference) add(referencedTable(owner.name, field.reference.model));
|
|
73
73
|
}
|
|
@@ -121,7 +121,7 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, withTimeout, "withTimeout");
|
|
|
121
121
|
var formatSeconds = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (ms) => ms < 1e3 ? `${ms}ms` : `${Number((ms / 1e3).toFixed(1))}s`, "formatSeconds");
|
|
122
122
|
function collectSchemaOwners(config) {
|
|
123
123
|
const owners = [];
|
|
124
|
-
const integrationSchemas =
|
|
124
|
+
const integrationSchemas = _chunkB6XAA7V6cjs.getIntegrationSchemas.call(void 0, config.integrations);
|
|
125
125
|
let integrationClient;
|
|
126
126
|
for (const [name, schema] of Object.entries(integrationSchemas)) {
|
|
127
127
|
owners.push({
|
|
@@ -131,7 +131,7 @@ function collectSchemaOwners(config) {
|
|
|
131
131
|
resolveClient: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (resolved) => _nullishCoalesce(integrationClient, () => ( (integrationClient = _chunkFXFKIJDAcjs.resolveIntegrationOrmRuntimeClient.call(void 0, { config: resolved })))), "resolveClient")
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
|
-
for (const declaration of
|
|
134
|
+
for (const declaration of _chunkIOAUK4OIcjs.findSchemaTableOwners.call(void 0, config)) {
|
|
135
135
|
if (owners.some((owner) => owner.name === declaration.name)) continue;
|
|
136
136
|
owners.push({
|
|
137
137
|
name: declaration.name,
|
|
@@ -161,7 +161,7 @@ function resolveSchemaExecutor(client, owner, timeoutMs) {
|
|
|
161
161
|
if (candidate === void 0 || candidate === null) continue;
|
|
162
162
|
let adapter;
|
|
163
163
|
try {
|
|
164
|
-
adapter =
|
|
164
|
+
adapter = _chunkIOAUK4OIcjs.createSchemaExecutor.call(void 0, candidate, owner);
|
|
165
165
|
} catch (e3) {
|
|
166
166
|
continue;
|
|
167
167
|
}
|
|
@@ -181,7 +181,7 @@ function resolveSchemaExecutor(client, owner, timeoutMs) {
|
|
|
181
181
|
return void 0;
|
|
182
182
|
}
|
|
183
183
|
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveSchemaExecutor, "resolveSchemaExecutor");
|
|
184
|
-
var describeReferencedTable = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (database, table) =>
|
|
184
|
+
var describeReferencedTable = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (database, table) => _chunkIOAUK4OIcjs.describeSchemaTable.call(void 0, database.executor, database.dialect, table), "describeReferencedTable");
|
|
185
185
|
async function checkSchema(config, options = {}) {
|
|
186
186
|
const timeoutMs = _nullishCoalesce(options.timeoutMs, () => ( DEFAULT_TIMEOUT_MS));
|
|
187
187
|
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
@@ -215,7 +215,7 @@ async function checkSchema(config, options = {}) {
|
|
|
215
215
|
for (const owner of owners) {
|
|
216
216
|
try {
|
|
217
217
|
knownModels.set(owner.name, _chunk6D24SDKOcjs.resolveSchemaModels.call(void 0, owner.name, owner.schema));
|
|
218
|
-
ownedModels.set(owner.name,
|
|
218
|
+
ownedModels.set(owner.name, _chunkIOAUK4OIcjs.collectSchemaModels.call(void 0, [[owner.name, owner.schema, owner.models]]));
|
|
219
219
|
} catch (error) {
|
|
220
220
|
issues.push({
|
|
221
221
|
severity: "error",
|
|
@@ -371,9 +371,9 @@ async function checkSchema(config, options = {}) {
|
|
|
371
371
|
const database = databases.get(owner.name);
|
|
372
372
|
if (!models || !database) continue;
|
|
373
373
|
try {
|
|
374
|
-
const crossOwner = await
|
|
374
|
+
const crossOwner = await _chunkIOAUK4OIcjs.planCrossOwnerReferences.call(void 0,
|
|
375
375
|
owner,
|
|
376
|
-
|
|
376
|
+
_chunkIOAUK4OIcjs.findSchemaTableOwners.call(void 0, config),
|
|
377
377
|
database.dialect,
|
|
378
378
|
database.executor
|
|
379
379
|
);
|
|
@@ -386,7 +386,7 @@ async function checkSchema(config, options = {}) {
|
|
|
386
386
|
onDelete: reference.onDelete
|
|
387
387
|
};
|
|
388
388
|
}
|
|
389
|
-
const stepPlan = _optionalChain([owner, 'access', _30 => _30.migrations, 'optionalAccess', _31 => _31.length]) ? await
|
|
389
|
+
const stepPlan = _optionalChain([owner, 'access', _30 => _30.migrations, 'optionalAccess', _31 => _31.length]) ? await _chunkIOAUK4OIcjs.planOwnerSchemaSteps.call(void 0, {
|
|
390
390
|
owner: owner.name,
|
|
391
391
|
schema: owner.schema,
|
|
392
392
|
steps: owner.migrations,
|
|
@@ -401,15 +401,15 @@ async function checkSchema(config, options = {}) {
|
|
|
401
401
|
const plan = await checkOwnerTables(
|
|
402
402
|
owner,
|
|
403
403
|
// What a pending rename will produce is not missing yet.
|
|
404
|
-
|
|
404
|
+
_chunkIOAUK4OIcjs.withoutRenameTargets.call(void 0, models, stepPlan),
|
|
405
405
|
database.dialect,
|
|
406
406
|
database.executor,
|
|
407
407
|
issues
|
|
408
408
|
);
|
|
409
409
|
const pending = plan.statements.length + (_nullishCoalesce(_optionalChain([plan, 'access', _32 => _32.upgrades, 'optionalAccess', _33 => _33.length]), () => ( 0)));
|
|
410
|
-
const state = pending > 0 ? await
|
|
411
|
-
const changes = state ?
|
|
412
|
-
if (state && changes &&
|
|
410
|
+
const state = pending > 0 ? await _chunkIOAUK4OIcjs.readSchemaState.call(void 0, database.executor, database.dialect, owner.name) : void 0;
|
|
411
|
+
const changes = state ? _chunkIOAUK4OIcjs.diffSchemaSnapshots.call(void 0, state.snapshot, _chunkIOAUK4OIcjs.createSchemaSnapshot.call(void 0, models)) : void 0;
|
|
412
|
+
if (state && changes && _chunkIOAUK4OIcjs.hasSchemaChanges.call(void 0, changes)) {
|
|
413
413
|
const versions = state.version && owner.version && state.version !== owner.version ? `upgraded ${state.version} \u2192 ${owner.version}` : "changed since it was last migrated";
|
|
414
414
|
issues.push({
|
|
415
415
|
severity: "warning",
|
|
@@ -446,7 +446,7 @@ async function checkSchema(config, options = {}) {
|
|
|
446
446
|
}
|
|
447
447
|
_chunkS3JO3N4Hcjs.__name.call(void 0, checkSchema, "checkSchema");
|
|
448
448
|
async function checkOwnerTables(owner, models, dialect, executor, issues) {
|
|
449
|
-
const plan = await
|
|
449
|
+
const plan = await _chunkIOAUK4OIcjs.planSchemaMigration.call(void 0, models, dialect, executor);
|
|
450
450
|
const present = /* @__PURE__ */ new Set([
|
|
451
451
|
...plan.upToDate,
|
|
452
452
|
...plan.drift.map((drift) => drift.table),
|
|
@@ -527,7 +527,7 @@ async function checkOwnerTables(owner, models, dialect, executor, issues) {
|
|
|
527
527
|
table: key.table,
|
|
528
528
|
column: key.column,
|
|
529
529
|
message: `"${key.table}.${key.column}" has no foreign key to "${key.referencedTable}.${key.referencedColumn}", which ${owner.name} could have.`,
|
|
530
|
-
hint: dialect === "sqlite" ? "SQLite can only add a foreign key when it creates the table." : `Allow it with \`${
|
|
530
|
+
hint: dialect === "sqlite" ? "SQLite can only add a foreign key when it creates the table." : `Allow it with \`${_chunkIOAUK4OIcjs.describeForeignKeyApproval.call(void 0, { owner: owner.name, modelKey: key.modelKey })}\` in farm.config, then run \`farm ${owner.name} migrate --apply\`. Rows that point at nothing are checked first.`
|
|
531
531
|
});
|
|
532
532
|
}
|
|
533
533
|
return plan;
|
|
@@ -611,9 +611,9 @@ async function checkReferences(owner, models, database, databases, resolveTarget
|
|
|
611
611
|
continue;
|
|
612
612
|
}
|
|
613
613
|
if (database.dialect === "sqlite" || dialect === "sqlite") continue;
|
|
614
|
-
const expected =
|
|
615
|
-
const mine =
|
|
616
|
-
const theirs =
|
|
614
|
+
const expected = _chunkIOAUK4OIcjs.getSqlColumnType.call(void 0, field, database.dialect);
|
|
615
|
+
const mine = _chunkIOAUK4OIcjs.columnTypeFamily.call(void 0, expected);
|
|
616
|
+
const theirs = _chunkIOAUK4OIcjs.columnTypeFamily.call(void 0, column.type);
|
|
617
617
|
if (mine && theirs && mine !== theirs) {
|
|
618
618
|
issues.push({
|
|
619
619
|
severity: "warning",
|
|
@@ -632,7 +632,7 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, checkReferences, "checkReferences");
|
|
|
632
632
|
async function checkExtensions(owner, extensions, databaseForTable, ownDatabase, allowExtend, issues) {
|
|
633
633
|
for (const extension of extensions) {
|
|
634
634
|
const database = _nullishCoalesce(databaseForTable(extension.table), () => ( ownDatabase));
|
|
635
|
-
const table = await
|
|
635
|
+
const table = await _chunkIOAUK4OIcjs.describeSchemaTable.call(void 0, database.executor, database.dialect, extension.table);
|
|
636
636
|
const columns = extension.fields.map(({ field }) => field.name);
|
|
637
637
|
if (!table) {
|
|
638
638
|
issues.push({
|
|
@@ -664,9 +664,9 @@ async function checkExtensions(owner, extensions, databaseForTable, ownDatabase,
|
|
|
664
664
|
continue;
|
|
665
665
|
}
|
|
666
666
|
if (database.dialect === "sqlite") continue;
|
|
667
|
-
const expected =
|
|
668
|
-
const mine =
|
|
669
|
-
const theirs =
|
|
667
|
+
const expected = _chunkIOAUK4OIcjs.getSqlColumnType.call(void 0, field, database.dialect);
|
|
668
|
+
const mine = _chunkIOAUK4OIcjs.columnTypeFamily.call(void 0, expected);
|
|
669
|
+
const theirs = _chunkIOAUK4OIcjs.columnTypeFamily.call(void 0, existing.type);
|
|
670
670
|
if (mine && theirs && mine !== theirs) {
|
|
671
671
|
issues.push({
|
|
672
672
|
severity: "warning",
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import {
|
|
2
|
+
decodeFarmTagged,
|
|
3
|
+
encodeFarmLeaf
|
|
4
|
+
} from "./chunk-PJEHUSHA.mjs";
|
|
5
|
+
import {
|
|
6
|
+
FARM_MAX_HELD_VALUES,
|
|
7
|
+
FARM_REFERENCE_TAG,
|
|
8
|
+
FARM_VALUES_HEADER,
|
|
9
|
+
FARM_VALUE_KEY_PATTERN
|
|
10
|
+
} from "./chunk-2NXO5SBY.mjs";
|
|
11
|
+
import {
|
|
12
|
+
_resolveCurrentRequest,
|
|
13
|
+
_resolveCurrentRequestForApp
|
|
14
|
+
} from "./chunk-6LVRDOAW.mjs";
|
|
15
|
+
import {
|
|
16
|
+
__name
|
|
17
|
+
} from "./chunk-LPEX4YW6.mjs";
|
|
18
|
+
|
|
19
|
+
// src/client/island-values.ts
|
|
20
|
+
var FARM_VALUE_MIN_LENGTH = 512;
|
|
21
|
+
function hashFarmValue(json) {
|
|
22
|
+
let h1 = 3735928559 ^ json.length;
|
|
23
|
+
let h2 = 1103547991 ^ json.length;
|
|
24
|
+
for (let index = 0; index < json.length; index++) {
|
|
25
|
+
const code = json.charCodeAt(index);
|
|
26
|
+
h1 = Math.imul(h1 ^ code, 2654435761);
|
|
27
|
+
h2 = Math.imul(h2 ^ code, 1597334677);
|
|
28
|
+
}
|
|
29
|
+
h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
|
|
30
|
+
h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
|
|
31
|
+
return (h2 >>> 0).toString(36).padStart(7, "0") + (h1 >>> 0).toString(36).padStart(7, "0");
|
|
32
|
+
}
|
|
33
|
+
__name(hashFarmValue, "hashFarmValue");
|
|
34
|
+
function addressFarmValues(props, minLength = FARM_VALUE_MIN_LENGTH) {
|
|
35
|
+
const values = /* @__PURE__ */ new Map();
|
|
36
|
+
const reference = /* @__PURE__ */ __name((json2, children, parent) => {
|
|
37
|
+
const key = hashFarmValue(json2);
|
|
38
|
+
if (!values.has(key)) values.set(key, { key, json: json2, children });
|
|
39
|
+
parent.push(key);
|
|
40
|
+
return `{"$":"${FARM_REFERENCE_TAG}","v":"${key}"}`;
|
|
41
|
+
}, "reference");
|
|
42
|
+
const encode = /* @__PURE__ */ __name((value, parent) => {
|
|
43
|
+
if (value === null || typeof value !== "object") {
|
|
44
|
+
const json3 = JSON.stringify(value);
|
|
45
|
+
return [
|
|
46
|
+
typeof value === "string" && json3.length >= minLength ? reference(json3, [], parent) : json3,
|
|
47
|
+
json3.length
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
const own = [];
|
|
51
|
+
let length = 2;
|
|
52
|
+
const parts = [];
|
|
53
|
+
if (Array.isArray(value)) {
|
|
54
|
+
for (const entry of value) {
|
|
55
|
+
const [json3, entryLength] = encode(entry, own);
|
|
56
|
+
parts.push(json3);
|
|
57
|
+
length += entryLength + 1;
|
|
58
|
+
}
|
|
59
|
+
} else {
|
|
60
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
61
|
+
const [json3, entryLength] = encode(entry, own);
|
|
62
|
+
const name = JSON.stringify(key);
|
|
63
|
+
parts.push(`${name}:${json3}`);
|
|
64
|
+
length += name.length + entryLength + 2;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const json2 = Array.isArray(value) ? `[${parts.join(",")}]` : `{${parts.join(",")}}`;
|
|
68
|
+
const wrapper = own.length === 1 && json2.length < minLength / 4;
|
|
69
|
+
if (length >= minLength && !wrapper) return [reference(json2, own, parent), length];
|
|
70
|
+
parent.push(...own);
|
|
71
|
+
return [json2, length];
|
|
72
|
+
}, "encode");
|
|
73
|
+
const roots = [];
|
|
74
|
+
const json = `{${Object.entries(props).map(([key, entry]) => `${JSON.stringify(key)}:${encode(entry, roots)[0]}`).join(",")}}`;
|
|
75
|
+
return { json, values, roots };
|
|
76
|
+
}
|
|
77
|
+
__name(addressFarmValues, "addressFarmValues");
|
|
78
|
+
function selectFarmValuesToSend(addressed, held) {
|
|
79
|
+
const send = [];
|
|
80
|
+
const seen = /* @__PURE__ */ new Set();
|
|
81
|
+
const visit = /* @__PURE__ */ __name((key) => {
|
|
82
|
+
if (seen.has(key)) return;
|
|
83
|
+
seen.add(key);
|
|
84
|
+
if (held?.has(key)) return;
|
|
85
|
+
const value = addressed.values.get(key);
|
|
86
|
+
send.push(value);
|
|
87
|
+
value.children.forEach(visit);
|
|
88
|
+
}, "visit");
|
|
89
|
+
addressed.roots.forEach(visit);
|
|
90
|
+
return send;
|
|
91
|
+
}
|
|
92
|
+
__name(selectFarmValuesToSend, "selectFarmValuesToSend");
|
|
93
|
+
function parseFarmHeldValues(header) {
|
|
94
|
+
const held = /* @__PURE__ */ new Set();
|
|
95
|
+
if (!header) return held;
|
|
96
|
+
for (const key of header.split(",", FARM_MAX_HELD_VALUES * 2)) {
|
|
97
|
+
const trimmed = key.trim();
|
|
98
|
+
if (FARM_VALUE_KEY_PATTERN.test(trimmed)) held.add(trimmed);
|
|
99
|
+
if (held.size === FARM_MAX_HELD_VALUES) break;
|
|
100
|
+
}
|
|
101
|
+
return held;
|
|
102
|
+
}
|
|
103
|
+
__name(parseFarmHeldValues, "parseFarmHeldValues");
|
|
104
|
+
var heldByRequest = /* @__PURE__ */ new WeakMap();
|
|
105
|
+
var ignoredRequests = /* @__PURE__ */ new WeakSet();
|
|
106
|
+
function ignoreFarmHeldValues() {
|
|
107
|
+
const request = _resolveCurrentRequest();
|
|
108
|
+
if (request) ignoredRequests.add(request);
|
|
109
|
+
}
|
|
110
|
+
__name(ignoreFarmHeldValues, "ignoreFarmHeldValues");
|
|
111
|
+
function readFarmHeldValues() {
|
|
112
|
+
const request = _resolveCurrentRequest();
|
|
113
|
+
if (!request || ignoredRequests.has(request)) return null;
|
|
114
|
+
let held = heldByRequest.get(request);
|
|
115
|
+
if (!held) {
|
|
116
|
+
held = parseFarmHeldValues(request.headers.get(FARM_VALUES_HEADER));
|
|
117
|
+
heldByRequest.set(request, held);
|
|
118
|
+
if (held.size > 0) void _resolveCurrentRequestForApp()?.headers;
|
|
119
|
+
}
|
|
120
|
+
return held.size > 0 ? held : null;
|
|
121
|
+
}
|
|
122
|
+
__name(readFarmHeldValues, "readFarmHeldValues");
|
|
123
|
+
var SERVER_KEY = /* @__PURE__ */ Symbol.for("farm.island-values.server");
|
|
124
|
+
var sentByRequest = /* @__PURE__ */ new WeakMap();
|
|
125
|
+
function resolveFarmIslandRenderState() {
|
|
126
|
+
const request = _resolveCurrentRequest();
|
|
127
|
+
if (!request) return null;
|
|
128
|
+
let sent = sentByRequest.get(request);
|
|
129
|
+
if (!sent) sentByRequest.set(request, sent = /* @__PURE__ */ new Set());
|
|
130
|
+
return { held: readFarmHeldValues(), sent };
|
|
131
|
+
}
|
|
132
|
+
__name(resolveFarmIslandRenderState, "resolveFarmIslandRenderState");
|
|
133
|
+
function installFarmIslandValues() {
|
|
134
|
+
globalThis[SERVER_KEY] = {
|
|
135
|
+
address: addressFarmValues,
|
|
136
|
+
select: selectFarmValuesToSend,
|
|
137
|
+
held: readFarmHeldValues,
|
|
138
|
+
encodeLeaf: encodeFarmLeaf,
|
|
139
|
+
decode: decodeFarmTagged
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
__name(installFarmIslandValues, "installFarmIslandValues");
|
|
143
|
+
|
|
144
|
+
export {
|
|
145
|
+
ignoreFarmHeldValues,
|
|
146
|
+
resolveFarmIslandRenderState,
|
|
147
|
+
installFarmIslandValues
|
|
148
|
+
};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await 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; } async function _asyncOptionalChain(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 = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkAZBSVLRMcjs = require('./chunk-AZBSVLRM.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkLPE3ED4Rcjs = require('./chunk-LPE3ED4R.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkCEDPEDNWcjs = require('./chunk-CEDPEDNW.cjs');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _chunkLRJRXXQZcjs = require('./chunk-LRJRXXQZ.cjs');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
17
|
+
|
|
18
|
+
// src/rsc-pipeline.ts
|
|
19
|
+
var _fs = require('fs');
|
|
20
|
+
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
21
|
+
var _url = require('url');
|
|
22
|
+
var FARM_RSC_ENTRIES = {
|
|
23
|
+
rsc: "./.farm/rsc-entries/entry.rsc.tsx",
|
|
24
|
+
ssr: "./.farm/rsc-entries/entry.ssr.tsx",
|
|
25
|
+
client: "./.farm/rsc-entries/entry.browser.tsx"
|
|
26
|
+
};
|
|
27
|
+
var FARM_RSC_CONFIG_KEYS = [
|
|
28
|
+
"srcDir",
|
|
29
|
+
"extends",
|
|
30
|
+
"basePath",
|
|
31
|
+
"api",
|
|
32
|
+
"server",
|
|
33
|
+
"middleware",
|
|
34
|
+
"images",
|
|
35
|
+
"serverActions",
|
|
36
|
+
"deploymentId",
|
|
37
|
+
"generateBuildId",
|
|
38
|
+
"md",
|
|
39
|
+
"agent",
|
|
40
|
+
"mcp"
|
|
41
|
+
];
|
|
42
|
+
var FARM_RSC_PASSTHROUGH_KEYS = ["i18n", "cache"];
|
|
43
|
+
function pickImportTarget(entry) {
|
|
44
|
+
if (typeof entry === "string") return entry;
|
|
45
|
+
if (!entry || typeof entry !== "object") return void 0;
|
|
46
|
+
for (const condition of ["import", "node", "default"]) {
|
|
47
|
+
const target = pickImportTarget(entry[condition]);
|
|
48
|
+
if (target) return target;
|
|
49
|
+
}
|
|
50
|
+
return void 0;
|
|
51
|
+
}
|
|
52
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, pickImportTarget, "pickImportTarget");
|
|
53
|
+
async function importFromApp(root, packageName, subpath = ".") {
|
|
54
|
+
const packageDir = _chunkAZBSVLRMcjs.findFarmAppPackageDir.call(void 0, root, packageName);
|
|
55
|
+
if (!packageDir) return void 0;
|
|
56
|
+
const manifest = JSON.parse(_fs.readFileSync.call(void 0, _path2.default.join(packageDir, "package.json"), "utf8"));
|
|
57
|
+
const exportsMap = manifest.exports;
|
|
58
|
+
const entry = exportsMap && typeof exportsMap === "object" && !Array.isArray(exportsMap) && subpath in exportsMap ? exportsMap[subpath] : subpath === "." ? _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(exportsMap, () => ( manifest.module)), () => ( manifest.main)), () => ( "index.js")) : void 0;
|
|
59
|
+
const target = pickImportTarget(entry);
|
|
60
|
+
if (!target) return void 0;
|
|
61
|
+
return import(_url.pathToFileURL.call(void 0, _path2.default.join(packageDir, target)).href);
|
|
62
|
+
}
|
|
63
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, importFromApp, "importFromApp");
|
|
64
|
+
function hasPluginNamed(plugins, prefix) {
|
|
65
|
+
if (Array.isArray(plugins)) return plugins.some((plugin) => hasPluginNamed(plugin, prefix));
|
|
66
|
+
const name = _optionalChain([plugins, 'optionalAccess', _ => _.name]);
|
|
67
|
+
return typeof name === "string" && name.startsWith(prefix);
|
|
68
|
+
}
|
|
69
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, hasPluginNamed, "hasPluginNamed");
|
|
70
|
+
async function createFarmRscViteConfig(userConfig, options) {
|
|
71
|
+
const root = _path2.default.resolve(options.root);
|
|
72
|
+
const renderer = userConfig.renderer;
|
|
73
|
+
if (renderer && typeof renderer === "object" && renderer.name && renderer.name !== "react") {
|
|
74
|
+
throw new Error(
|
|
75
|
+
`[Farm.js] experimental.serverComponents needs the React renderer; this app uses "${renderer.name}".`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
const [pluginRsc, viteRsc, viteReact] = await Promise.all([
|
|
79
|
+
importFromApp(root, "@farm.js/plugin", "./rsc"),
|
|
80
|
+
importFromApp(root, "@vitejs/plugin-rsc"),
|
|
81
|
+
importFromApp(root, "@vitejs/plugin-react")
|
|
82
|
+
]);
|
|
83
|
+
if (!pluginRsc || !viteRsc || !_chunkAZBSVLRMcjs.findFarmAppPackageDir.call(void 0, root, "react-server-dom-webpack")) {
|
|
84
|
+
throw new Error(
|
|
85
|
+
`[Farm.js] experimental.serverComponents runs on @farm.js/plugin and the official @vitejs/plugin-rsc. Install them: ${_chunkAZBSVLRMcjs.FARM_RSC_INSTALL_HINT}`
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
const { plugins: vitePlugins = [], ...viteOptions } = _nullishCoalesce(userConfig.vite, () => ( {}));
|
|
89
|
+
const rscConfig = {};
|
|
90
|
+
for (const key of FARM_RSC_CONFIG_KEYS) {
|
|
91
|
+
if (userConfig[key] !== void 0) rscConfig[key] = userConfig[key];
|
|
92
|
+
}
|
|
93
|
+
const createReactPlugin = hasPluginNamed(vitePlugins, "vite:react") ? void 0 : await _asyncNullishCoalesce(await _asyncOptionalChain([viteReact, 'optionalAccess', async _2 => _2.default]), async () => ( (options.command === "serve" ? (await _chunkCEDPEDNWcjs.loadFarmReactPlugin.call(void 0, )).default : void 0)));
|
|
94
|
+
const tailwind = hasPluginNamed(vitePlugins, "@tailwindcss/vite") ? void 0 : await _chunkLRJRXXQZcjs.loadTailwindVitePlugin.call(void 0, );
|
|
95
|
+
const farmConfig = pluginRsc.defineConfig({
|
|
96
|
+
...rscConfig,
|
|
97
|
+
experimental: { ...userConfig.experimental, serverComponents: true },
|
|
98
|
+
port: _nullishCoalesce(options.port, () => ( _optionalChain([userConfig, 'access', _3 => _3.server, 'optionalAccess', _4 => _4.port]))),
|
|
99
|
+
plugins: [
|
|
100
|
+
...tailwind ? [tailwind] : [],
|
|
101
|
+
...vitePlugins,
|
|
102
|
+
viteRsc.default({ serverHandler: false, entries: FARM_RSC_ENTRIES }),
|
|
103
|
+
...typeof createReactPlugin === "function" ? [createReactPlugin()] : [],
|
|
104
|
+
pluginRsc.nitro({
|
|
105
|
+
server: { environmentName: "rsc" },
|
|
106
|
+
config: {
|
|
107
|
+
preset: options.preset,
|
|
108
|
+
outputDir: options.outputDir && _chunkLPE3ED4Rcjs.resolveDeployOutputPath.call(void 0, root, options.outputDir)
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
]
|
|
112
|
+
});
|
|
113
|
+
for (const key of FARM_RSC_PASSTHROUGH_KEYS) {
|
|
114
|
+
if (userConfig[key] !== void 0) farmConfig[key] = userConfig[key];
|
|
115
|
+
}
|
|
116
|
+
const { mergeConfig } = await import("vite");
|
|
117
|
+
return {
|
|
118
|
+
...mergeConfig(farmConfig, viteOptions),
|
|
119
|
+
root,
|
|
120
|
+
// The Farm config is the app's config; a stray vite.config must not add a second pipeline.
|
|
121
|
+
configFile: false,
|
|
122
|
+
mode: options.command === "build" ? "production" : "development"
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmRscViteConfig, "createFarmRscViteConfig");
|
|
126
|
+
async function createFarmRscDevServer(userConfig, options) {
|
|
127
|
+
const { createServer } = await import("vite");
|
|
128
|
+
return createServer(await createFarmRscViteConfig(userConfig, { ...options, command: "serve" }));
|
|
129
|
+
}
|
|
130
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createFarmRscDevServer, "createFarmRscDevServer");
|
|
131
|
+
async function buildFarmRsc(userConfig, options) {
|
|
132
|
+
const { createBuilder } = await import("vite");
|
|
133
|
+
const builder = await createBuilder(
|
|
134
|
+
await createFarmRscViteConfig(userConfig, { ...options, command: "build" })
|
|
135
|
+
);
|
|
136
|
+
await builder.buildApp();
|
|
137
|
+
}
|
|
138
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, buildFarmRsc, "buildFarmRsc");
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
exports.createFarmRscViteConfig = createFarmRscViteConfig; exports.createFarmRscDevServer = createFarmRscDevServer; exports.buildFarmRsc = buildFarmRsc;
|