@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.
Files changed (243) hide show
  1. package/dist/{agent-mcp-ssVy_tea.d.mts → agent-mcp-CWI-awqd.d.mts} +1 -1
  2. package/dist/{agent-mcp-SSD6L3VZ.d.ts → agent-mcp-EnzWYv_X.d.ts} +1 -1
  3. package/dist/agent-runtime.cjs +3 -2
  4. package/dist/agent-runtime.d.mts +1 -1
  5. package/dist/agent-runtime.d.ts +1 -1
  6. package/dist/agent-runtime.mjs +2 -1
  7. package/dist/api/route-manager.d.mts +3 -3
  8. package/dist/api/route-manager.d.ts +3 -3
  9. package/dist/api/runtime.d.mts +2 -2
  10. package/dist/api/runtime.d.ts +2 -2
  11. package/dist/api.cjs +2 -2
  12. package/dist/api.d.mts +8 -3
  13. package/dist/api.d.ts +8 -3
  14. package/dist/api.mjs +1 -1
  15. package/dist/{app-KjFzdCqy.d.ts → app-CAN_2Cqo.d.ts} +8 -4
  16. package/dist/{app-1h3lVT4a.d.mts → app-DG3dE8v5.d.mts} +8 -4
  17. package/dist/{app-manifest-D3RkVNuS.d.mts → app-manifest-8x5VjZ0L.d.mts} +1 -1
  18. package/dist/{app-manifest-DaW8-tvX.d.ts → app-manifest-DazjgQya.d.ts} +1 -1
  19. package/dist/app-markdown.d.mts +2 -2
  20. package/dist/app-markdown.d.ts +2 -2
  21. package/dist/{chunk-ECKF2BAM.cjs → chunk-2GVF3C2F.cjs} +255 -42
  22. package/dist/{chunk-TUL355PH.mjs → chunk-2MKTHHEU.mjs} +136 -161
  23. package/dist/chunk-2NXO5SBY.mjs +57 -0
  24. package/dist/{chunk-AX7S67YV.mjs → chunk-37VKVISD.mjs} +9 -173
  25. package/dist/chunk-3BROEWFY.cjs +39 -0
  26. package/dist/chunk-3SAWHWDH.cjs +186 -0
  27. package/dist/{chunk-AHFRQMRX.cjs → chunk-3YJMBQ27.cjs} +1 -1
  28. package/dist/{chunk-6PKXK4TY.mjs → chunk-53ZV6K65.mjs} +1 -1
  29. package/dist/{chunk-JG3MEQUH.cjs → chunk-5GBL2LKD.cjs} +430 -217
  30. package/dist/{chunk-LYIZHJTK.cjs → chunk-5LPHJZSI.cjs} +14 -14
  31. package/dist/chunk-5NIWBWDD.mjs +97 -0
  32. package/dist/{chunk-NRDBW4MP.mjs → chunk-7IQQIPRZ.mjs} +10 -0
  33. package/dist/{chunk-TCJ4A4A2.cjs → chunk-AI3WVJNP.cjs} +324 -350
  34. package/dist/chunk-APDGOKKE.cjs +148 -0
  35. package/dist/chunk-AZBSVLRM.cjs +132 -0
  36. package/dist/{chunk-RHGK2JEN.cjs → chunk-B6XAA7V6.cjs} +18 -182
  37. package/dist/chunk-CEDPEDNW.cjs +98 -0
  38. package/dist/{chunk-WSOBCAYO.cjs → chunk-CW6SNEN2.cjs} +25 -25
  39. package/dist/chunk-D5RFPV2H.mjs +148 -0
  40. package/dist/chunk-E22SWCXB.cjs +144 -0
  41. package/dist/{chunk-375K2ZVU.mjs → chunk-ERA5RP3L.mjs} +263 -50
  42. package/dist/{chunk-724JLMS4.mjs → chunk-F646BZ4Y.mjs} +4 -2
  43. package/dist/{chunk-C5KVWHIH.cjs → chunk-G2Z5DGMS.cjs} +5 -3
  44. package/dist/{chunk-ZATTDMBW.cjs → chunk-GA6JM4L6.cjs} +279 -376
  45. package/dist/chunk-GZWHCWLB.mjs +186 -0
  46. package/dist/{chunk-24SP5TGU.mjs → chunk-H4LXPWI2.mjs} +2 -2
  47. package/dist/chunk-H7BLEEAE.cjs +57 -0
  48. package/dist/chunk-IOMVXBLZ.mjs +144 -0
  49. package/dist/{chunk-BD3D7EZV.cjs → chunk-IXFOBGLQ.cjs} +9 -3
  50. package/dist/{chunk-JIYYX7WU.mjs → chunk-JVXW76I7.mjs} +2 -2
  51. package/dist/{chunk-MHN4UR5U.cjs → chunk-KFZZFZ7J.cjs} +7 -7
  52. package/dist/{chunk-BXJ5HJTJ.cjs → chunk-LPE3ED4R.cjs} +17 -13
  53. package/dist/chunk-LRJRXXQZ.cjs +109 -0
  54. package/dist/{chunk-HCSVR4YZ.mjs → chunk-M3BXTWJM.mjs} +18 -0
  55. package/dist/{chunk-2JZHQDUY.mjs → chunk-OYZGFRPA.mjs} +1 -1
  56. package/dist/{chunk-JR4QCLJY.cjs → chunk-PDU4P2IC.cjs} +19 -1
  57. package/dist/chunk-PJEHUSHA.mjs +229 -0
  58. package/dist/{chunk-QTEJGB5A.mjs → chunk-QGFKXYC7.mjs} +80 -177
  59. package/dist/chunk-QGH2RQVF.mjs +132 -0
  60. package/dist/{chunk-YWMZUGIS.mjs → chunk-R3ZFQJEF.mjs} +247 -34
  61. package/dist/{chunk-U2UC7UGP.mjs → chunk-R4J2UOV4.mjs} +1 -1
  62. package/dist/chunk-S34OBRMZ.mjs +109 -0
  63. package/dist/{chunk-TS4JHGUJ.mjs → chunk-S3ZEMCE6.mjs} +9 -3
  64. package/dist/{chunk-WWFTAUFG.cjs → chunk-SBH2JLLF.cjs} +12 -2
  65. package/dist/{chunk-YSLWRWWP.cjs → chunk-SKK6UF5P.cjs} +200 -46
  66. package/dist/{chunk-ZS6HDNOM.cjs → chunk-T44ECMEP.cjs} +6 -6
  67. package/dist/{chunk-OFZUJMCU.mjs → chunk-WPJQN64R.mjs} +195 -41
  68. package/dist/{chunk-NU25TRIO.mjs → chunk-WWYXIECF.mjs} +12 -8
  69. package/dist/{chunk-7YHSD3Z6.cjs → chunk-XPSGGECF.cjs} +85 -31
  70. package/dist/chunk-XUGFRFD2.mjs +39 -0
  71. package/dist/{chunk-IVQY6UTY.mjs → chunk-XUHIRBXY.mjs} +1 -1
  72. package/dist/{chunk-PIZXONIS.mjs → chunk-YFLBG2W3.mjs} +56 -2
  73. package/dist/chunk-YKUEJ3MG.cjs +229 -0
  74. package/dist/{chunk-QKZMB7LY.cjs → chunk-YN2QEMMO.cjs} +2 -2
  75. package/dist/{client-plugins-DIem0I0W.d.ts → client-plugins-BGS0wqzc.d.ts} +36 -16
  76. package/dist/{client-plugins-C9Py_50W.d.mts → client-plugins-nQ0tYt4l.d.mts} +36 -16
  77. package/dist/client-plugins.d.mts +1 -1
  78. package/dist/client-plugins.d.ts +1 -1
  79. package/dist/client.cjs +4 -3
  80. package/dist/client.d.mts +5 -5
  81. package/dist/client.d.ts +5 -5
  82. package/dist/client.mjs +3 -2
  83. package/dist/config.d.mts +1 -1
  84. package/dist/config.d.ts +1 -1
  85. package/dist/{devtools-2RY3EKHL.cjs → devtools-5Q7VRKVH.cjs} +6 -5
  86. package/dist/{devtools-Q3LBNUJ7.mjs → devtools-LJ4IGYGW.mjs} +5 -4
  87. package/dist/docs.cjs +7 -6
  88. package/dist/docs.d.mts +2 -2
  89. package/dist/docs.d.ts +2 -2
  90. package/dist/docs.mjs +6 -5
  91. package/dist/index-Cy26isrh.d.ts +48 -0
  92. package/dist/index-y1jgR74U.d.mts +48 -0
  93. package/dist/index.cjs +44 -25
  94. package/dist/index.d.mts +15 -15
  95. package/dist/index.d.ts +15 -15
  96. package/dist/index.mjs +51 -32
  97. package/dist/integrations.cjs +5 -3
  98. package/dist/integrations.d.mts +1 -1
  99. package/dist/integrations.d.ts +1 -1
  100. package/dist/integrations.mjs +6 -4
  101. package/dist/internal/app-markdown-runtime.d.mts +2 -2
  102. package/dist/internal/app-markdown-runtime.d.ts +2 -2
  103. package/dist/internal/build-runtime.cjs +30 -15
  104. package/dist/internal/build-runtime.d.mts +12 -16
  105. package/dist/internal/build-runtime.d.ts +12 -16
  106. package/dist/internal/build-runtime.mjs +29 -14
  107. package/dist/internal/cli-runtime.cjs +24 -11
  108. package/dist/internal/cli-runtime.mjs +24 -11
  109. package/dist/internal/client-error-overlay.cjs +4 -4
  110. package/dist/internal/client-error-overlay.mjs +1 -1
  111. package/dist/internal/client-runtime.cjs +5 -1
  112. package/dist/internal/client-runtime.d.mts +1 -0
  113. package/dist/internal/client-runtime.d.ts +1 -0
  114. package/dist/internal/client-runtime.mjs +4 -0
  115. package/dist/internal/compression-runtime.d.mts +1 -1
  116. package/dist/internal/compression-runtime.d.ts +1 -1
  117. package/dist/internal/config-runtime.cjs +6 -5
  118. package/dist/internal/config-runtime.d.mts +2 -2
  119. package/dist/internal/config-runtime.d.ts +2 -2
  120. package/dist/internal/config-runtime.mjs +5 -4
  121. package/dist/internal/form-actions-client.cjs +18 -0
  122. package/dist/internal/form-actions-client.d.mts +5 -0
  123. package/dist/internal/form-actions-client.d.ts +5 -0
  124. package/dist/internal/form-actions-client.mjs +18 -0
  125. package/dist/internal/form-actions.cjs +18 -0
  126. package/dist/internal/form-actions.d.mts +14 -0
  127. package/dist/internal/form-actions.d.ts +14 -0
  128. package/dist/internal/form-actions.mjs +18 -0
  129. package/dist/internal/island-codec.cjs +22 -0
  130. package/dist/internal/island-codec.d.mts +29 -0
  131. package/dist/internal/island-codec.d.ts +29 -0
  132. package/dist/internal/island-codec.mjs +22 -0
  133. package/dist/internal/island-value-store.cjs +13 -0
  134. package/dist/internal/island-value-store.d.mts +6 -0
  135. package/dist/internal/island-value-store.d.ts +6 -0
  136. package/dist/internal/island-value-store.mjs +13 -0
  137. package/dist/internal/islands-runtime.cjs +77 -0
  138. package/dist/internal/islands-runtime.d.mts +57 -0
  139. package/dist/internal/islands-runtime.d.ts +57 -0
  140. package/dist/internal/islands-runtime.mjs +77 -0
  141. package/dist/internal/islands-server.cjs +19 -0
  142. package/dist/internal/islands-server.d.mts +3 -0
  143. package/dist/internal/islands-server.d.ts +3 -0
  144. package/dist/internal/islands-server.mjs +19 -0
  145. package/dist/internal/islx-client.cjs +5 -0
  146. package/dist/internal/islx-client.d.mts +2 -0
  147. package/dist/internal/islx-client.d.ts +2 -0
  148. package/dist/internal/islx-client.mjs +3 -0
  149. package/dist/internal/islx-react.cjs +4 -0
  150. package/dist/internal/islx-react.d.mts +1 -0
  151. package/dist/internal/islx-react.d.ts +1 -0
  152. package/dist/internal/islx-react.mjs +2 -0
  153. package/dist/internal/islx-server.cjs +5 -0
  154. package/dist/internal/islx-server.d.mts +2 -0
  155. package/dist/internal/islx-server.d.ts +2 -0
  156. package/dist/internal/islx-server.mjs +3 -0
  157. package/dist/internal/isolated-boundary.cjs +4 -3
  158. package/dist/internal/isolated-boundary.d.mts +13 -1
  159. package/dist/internal/isolated-boundary.d.ts +13 -1
  160. package/dist/internal/isolated-boundary.mjs +3 -2
  161. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  162. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  163. package/dist/internal/production-runtime.cjs +24 -13
  164. package/dist/internal/production-runtime.d.mts +20 -10
  165. package/dist/internal/production-runtime.d.ts +20 -10
  166. package/dist/internal/production-runtime.mjs +24 -13
  167. package/dist/internal/server-tree.cjs +6 -3
  168. package/dist/internal/server-tree.d.mts +25 -2
  169. package/dist/internal/server-tree.d.ts +25 -2
  170. package/dist/internal/server-tree.mjs +7 -4
  171. package/dist/island-value-protocol-BRayRghM.d.mts +12 -0
  172. package/dist/island-value-protocol-BRayRghM.d.ts +12 -0
  173. package/dist/markdown.d.mts +1 -1
  174. package/dist/markdown.d.ts +1 -1
  175. package/dist/middleware.d.mts +3 -3
  176. package/dist/middleware.d.ts +3 -3
  177. package/dist/navigation.cjs +5 -4
  178. package/dist/navigation.d.mts +4 -4
  179. package/dist/navigation.d.ts +4 -4
  180. package/dist/navigation.mjs +4 -3
  181. package/dist/og.d.mts +5 -0
  182. package/dist/og.d.ts +5 -0
  183. package/dist/plugin.cjs +19 -12
  184. package/dist/plugin.d.mts +3 -3
  185. package/dist/plugin.d.ts +3 -3
  186. package/dist/plugin.mjs +18 -11
  187. package/dist/{production-runtime-bjjWq-DA.d.ts → production-runtime-BVMDgHrA.d.ts} +1 -1
  188. package/dist/{production-runtime-CHFKIgpW.d.mts → production-runtime-ClFA_1KQ.d.mts} +1 -1
  189. package/dist/query/client.cjs +6 -5
  190. package/dist/query/client.mjs +2 -1
  191. package/dist/{render-plan-DOHg6wdO.d.mts → render-plan-CoSovy_O.d.mts} +4 -2
  192. package/dist/{render-plan-B2UndB4x.d.ts → render-plan-y2DefWf8.d.ts} +4 -2
  193. package/dist/renderer/react/server.cjs +7 -6
  194. package/dist/renderer/react/server.d.mts +3 -1
  195. package/dist/renderer/react/server.d.ts +3 -1
  196. package/dist/renderer/react/server.mjs +5 -4
  197. package/dist/renderer-client.cjs +5 -4
  198. package/dist/renderer-client.d.mts +3 -3
  199. package/dist/renderer-client.d.ts +3 -3
  200. package/dist/renderer-client.mjs +2 -1
  201. package/dist/renderer.d.mts +3 -1
  202. package/dist/renderer.d.ts +3 -1
  203. package/dist/{request-DVNXRQrI.d.ts → request-aG5Wovm5.d.ts} +1 -1
  204. package/dist/{request-DQcGfdgQ.d.mts → request-cNM09Q7e.d.mts} +1 -1
  205. package/dist/request.d.mts +2 -2
  206. package/dist/request.d.ts +2 -2
  207. package/dist/{route-rendering-B_6fj-GG.d.ts → route-rendering-B3uQmCWX.d.ts} +1 -1
  208. package/dist/{route-rendering-CEX4mFn-.d.mts → route-rendering-EyInfsjI.d.mts} +1 -1
  209. package/dist/{router-CHEMHm1P.d.ts → router-DNUf-Bg1.d.ts} +1 -1
  210. package/dist/{router-CKHPBKXX.d.mts → router-Devibh4r.d.mts} +1 -1
  211. package/dist/routes.d.mts +1 -1
  212. package/dist/routes.d.ts +1 -1
  213. package/dist/rsc-pipeline-4ZJ6GUVQ.cjs +78 -0
  214. package/dist/rsc-pipeline-KK6GFDET.mjs +78 -0
  215. package/dist/{runtime-jj8TKNsy.d.mts → runtime-9KZb8AI5.d.mts} +1 -1
  216. package/dist/{runtime-Br2ZDTAv.d.ts → runtime-CLr9P5kn.d.ts} +1 -1
  217. package/dist/{schema-dev-notice-5JPE67AI.cjs → schema-dev-notice-77ZL23PL.cjs} +4 -4
  218. package/dist/{schema-dev-notice-WLPZ6WKU.mjs → schema-dev-notice-BLXOS6U2.mjs} +2 -2
  219. package/dist/server-plugins.d.mts +2 -2
  220. package/dist/server-plugins.d.ts +2 -2
  221. package/dist/server.cjs +57 -38
  222. package/dist/server.d.mts +15 -10
  223. package/dist/server.d.ts +15 -10
  224. package/dist/server.mjs +37 -18
  225. package/dist/{spa-router-BEvS9Erj.d.mts → spa-router-BIxh4IY-.d.mts} +8 -3
  226. package/dist/{spa-router-DmCuH5B7.d.ts → spa-router-Ds6R_oe-.d.ts} +8 -3
  227. package/dist/{ssg-57v6cZcW.d.mts → ssg-ByrOVYdM.d.mts} +2 -2
  228. package/dist/{ssg-gT093ETk.d.ts → ssg-XnMHCyEc.d.ts} +2 -2
  229. package/dist/testing.d.mts +1 -1
  230. package/dist/testing.d.ts +1 -1
  231. package/dist/{utils-CCTKvR-P.d.ts → utils-BN70ueSN.d.ts} +1 -1
  232. package/dist/{utils-raHHQVyL.d.mts → utils-BrjR5xRs.d.mts} +1 -1
  233. package/dist/version.cjs +2 -2
  234. package/dist/version.mjs +1 -1
  235. package/dist/vite.cjs +19 -12
  236. package/dist/vite.d.mts +6 -4
  237. package/dist/vite.d.ts +6 -4
  238. package/dist/vite.mjs +18 -11
  239. package/package.json +53 -1
  240. package/dist/{chunk-35WS7P2V.mjs → chunk-26CXZR6L.mjs} +3 -3
  241. package/dist/{chunk-QEILRWVV.cjs → chunk-3XEMGDBF.cjs} +2 -2
  242. package/dist/{chunk-BPOTSHDO.cjs → chunk-IOAUK4OI.cjs} +2 -2
  243. 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 _chunkBPOTSHDOcjs = require('./chunk-BPOTSHDO.cjs');
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 _chunkRHGK2JENcjs = require('./chunk-RHGK2JEN.cjs');
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 _chunkBPOTSHDOcjs.collectSchemaModels.call(void 0, [[owner.name, owner.schema, owner.models]])) {
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 _chunkBPOTSHDOcjs.collectSchemaModels.call(void 0, [[owner.name, owner.schema, owner.models]])) {
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 = _chunkRHGK2JENcjs.getIntegrationSchemas.call(void 0, config.integrations);
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 _chunkBPOTSHDOcjs.findSchemaTableOwners.call(void 0, config)) {
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 = _chunkBPOTSHDOcjs.createSchemaExecutor.call(void 0, candidate, owner);
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) => _chunkBPOTSHDOcjs.describeSchemaTable.call(void 0, database.executor, database.dialect, table), "describeReferencedTable");
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, _chunkBPOTSHDOcjs.collectSchemaModels.call(void 0, [[owner.name, owner.schema, owner.models]]));
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 _chunkBPOTSHDOcjs.planCrossOwnerReferences.call(void 0,
374
+ const crossOwner = await _chunkIOAUK4OIcjs.planCrossOwnerReferences.call(void 0,
375
375
  owner,
376
- _chunkBPOTSHDOcjs.findSchemaTableOwners.call(void 0, config),
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 _chunkBPOTSHDOcjs.planOwnerSchemaSteps.call(void 0, {
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
- _chunkBPOTSHDOcjs.withoutRenameTargets.call(void 0, models, stepPlan),
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 _chunkBPOTSHDOcjs.readSchemaState.call(void 0, database.executor, database.dialect, owner.name) : void 0;
411
- const changes = state ? _chunkBPOTSHDOcjs.diffSchemaSnapshots.call(void 0, state.snapshot, _chunkBPOTSHDOcjs.createSchemaSnapshot.call(void 0, models)) : void 0;
412
- if (state && changes && _chunkBPOTSHDOcjs.hasSchemaChanges.call(void 0, 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 _chunkBPOTSHDOcjs.planSchemaMigration.call(void 0, models, dialect, executor);
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 \`${_chunkBPOTSHDOcjs.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.`
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 = _chunkBPOTSHDOcjs.getSqlColumnType.call(void 0, field, database.dialect);
615
- const mine = _chunkBPOTSHDOcjs.columnTypeFamily.call(void 0, expected);
616
- const theirs = _chunkBPOTSHDOcjs.columnTypeFamily.call(void 0, column.type);
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 _chunkBPOTSHDOcjs.describeSchemaTable.call(void 0, database.executor, database.dialect, extension.table);
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 = _chunkBPOTSHDOcjs.getSqlColumnType.call(void 0, field, database.dialect);
668
- const mine = _chunkBPOTSHDOcjs.columnTypeFamily.call(void 0, expected);
669
- const theirs = _chunkBPOTSHDOcjs.columnTypeFamily.call(void 0, existing.type);
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;