@farm.js/core 0.1.22 → 0.1.24

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 (150) hide show
  1. package/dist/agent-runtime.d.mts +3 -2
  2. package/dist/agent-runtime.d.ts +3 -2
  3. package/dist/api/route-manager.cjs +3 -2
  4. package/dist/api/route-manager.d.mts +3 -2
  5. package/dist/api/route-manager.d.ts +3 -2
  6. package/dist/api/route-manager.mjs +2 -1
  7. package/dist/api.cjs +4 -3
  8. package/dist/api.d.mts +4 -3
  9. package/dist/api.d.ts +4 -3
  10. package/dist/api.mjs +3 -2
  11. package/dist/{app-B7qKw8Ny.d.ts → app-BV-7wV5q.d.ts} +3 -3
  12. package/dist/{app-0e-oTC_R.d.mts → app-BZDWwwFa.d.mts} +3 -3
  13. package/dist/app-markdown.d.mts +4 -3
  14. package/dist/app-markdown.d.ts +4 -3
  15. package/dist/chunk-2VQKKQ6D.mjs +51 -0
  16. package/dist/{chunk-EGJDUF4Q.mjs → chunk-3ATMYLLJ.mjs} +6 -12
  17. package/dist/{chunk-HSDL2AUR.mjs → chunk-47H7VENP.mjs} +20 -32
  18. package/dist/{chunk-AAWTJW2G.mjs → chunk-6YSEHN46.mjs} +58 -27
  19. package/dist/{chunk-PUCUVI7K.mjs → chunk-72VJRKJD.mjs} +1 -1
  20. package/dist/{chunk-PC33YKTC.mjs → chunk-ARHWIOUZ.mjs} +128 -130
  21. package/dist/{chunk-2HCEC2YO.cjs → chunk-BD7FZ63M.cjs} +1 -1
  22. package/dist/{chunk-SPSQFO3Z.mjs → chunk-BDJNP7AQ.mjs} +9 -13
  23. package/dist/{chunk-X2ZUD4GI.mjs → chunk-BNSD3VDY.mjs} +1 -1
  24. package/dist/{chunk-GXXONIAR.cjs → chunk-DNLQMFER.cjs} +12 -16
  25. package/dist/{chunk-SO7CRMP6.cjs → chunk-DW34V5SM.cjs} +5 -5
  26. package/dist/{chunk-3NM6SRI6.mjs → chunk-F3VB7ONA.mjs} +10 -8
  27. package/dist/{chunk-P5HSJCXI.cjs → chunk-G6GNNB44.cjs} +291 -260
  28. package/dist/chunk-IK6LVLKC.cjs +51 -0
  29. package/dist/{chunk-B3WK4DTX.cjs → chunk-IMBMOEWT.cjs} +5 -1
  30. package/dist/{chunk-IILNZK5G.mjs → chunk-JHWOVJ3M.mjs} +46 -62
  31. package/dist/{chunk-TKNSDBBN.cjs → chunk-K3F2E6GS.cjs} +20 -1
  32. package/dist/{chunk-RTHIVJ2G.cjs → chunk-KCMTCM6I.cjs} +7 -8
  33. package/dist/{chunk-Q3PX2TGL.cjs → chunk-LQIRVSBY.cjs} +30 -40
  34. package/dist/chunk-LYLEZIG3.cjs +73 -0
  35. package/dist/{chunk-NBAHDVOJ.cjs → chunk-LYM7HY34.cjs} +20 -32
  36. package/dist/{chunk-K6FNHVDR.cjs → chunk-MPEYMSCF.cjs} +6 -12
  37. package/dist/{chunk-BHJUZ64B.cjs → chunk-QTBEAKCJ.cjs} +7 -7
  38. package/dist/{chunk-J6JRB2ER.mjs → chunk-S67OYZU7.mjs} +1 -1
  39. package/dist/chunk-SFGWNC43.mjs +97 -0
  40. package/dist/{chunk-EXUMQVY3.cjs → chunk-SIQMTHCZ.cjs} +258 -260
  41. package/dist/{chunk-AYJR42WX.cjs → chunk-UFDV5N3C.cjs} +2 -2
  42. package/dist/chunk-UYIHRDE4.cjs +97 -0
  43. package/dist/{chunk-Y4YMF2NQ.cjs → chunk-VPTDD5XF.cjs} +46 -62
  44. package/dist/{chunk-GKT4ONKN.mjs → chunk-VVJCWBIE.mjs} +2 -2
  45. package/dist/{chunk-CQHFU55R.mjs → chunk-WNUBR4CA.mjs} +5 -1
  46. package/dist/{chunk-CIAGU2X4.cjs → chunk-XSIRSMAS.cjs} +10 -8
  47. package/dist/{chunk-ONMW3EVV.mjs → chunk-YGMK6ESJ.mjs} +20 -30
  48. package/dist/chunk-YOZYCI6Z.mjs +73 -0
  49. package/dist/{chunk-HLCDYJY7.mjs → chunk-YQVSHTMR.mjs} +20 -1
  50. package/dist/{chunk-F5D4XEAS.mjs → chunk-ZZSRYEYU.mjs} +7 -8
  51. package/dist/{client-plugins-CWrhb1ir.d.mts → client-plugins-B_XzCegf.d.mts} +11 -9
  52. package/dist/{client-plugins-DPf0qZey.d.ts → client-plugins-CKsXQfXY.d.ts} +11 -9
  53. package/dist/client-plugins.d.mts +3 -2
  54. package/dist/client-plugins.d.ts +3 -2
  55. package/dist/client.d.mts +7 -6
  56. package/dist/client.d.ts +7 -6
  57. package/dist/config.d.mts +3 -2
  58. package/dist/config.d.ts +3 -2
  59. package/dist/{devtools-EZ5ORGAK.mjs → devtools-OY4SNU3P.mjs} +4 -3
  60. package/dist/{devtools-6DQHO7EK.cjs → devtools-UHRSZ7VA.cjs} +5 -4
  61. package/dist/docs.cjs +9 -6
  62. package/dist/docs.mjs +8 -5
  63. package/dist/index.cjs +23 -20
  64. package/dist/index.d.mts +14 -13
  65. package/dist/index.d.ts +14 -13
  66. package/dist/index.mjs +18 -15
  67. package/dist/instrumentation.cjs +3 -2
  68. package/dist/instrumentation.mjs +2 -1
  69. package/dist/integrations.d.mts +3 -2
  70. package/dist/integrations.d.ts +3 -2
  71. package/dist/internal/app-markdown-runtime.d.mts +3 -2
  72. package/dist/internal/app-markdown-runtime.d.ts +3 -2
  73. package/dist/internal/build-runtime.cjs +17 -14
  74. package/dist/internal/build-runtime.d.mts +5 -4
  75. package/dist/internal/build-runtime.d.ts +5 -4
  76. package/dist/internal/build-runtime.mjs +16 -13
  77. package/dist/internal/cli-runtime.cjs +10 -7
  78. package/dist/internal/cli-runtime.mjs +9 -6
  79. package/dist/internal/client-error-overlay.cjs +4 -4
  80. package/dist/internal/client-error-overlay.mjs +1 -1
  81. package/dist/internal/compression-runtime.d.mts +3 -2
  82. package/dist/internal/compression-runtime.d.ts +3 -2
  83. package/dist/internal/config-runtime.cjs +5 -4
  84. package/dist/internal/config-runtime.d.mts +4 -3
  85. package/dist/internal/config-runtime.d.ts +4 -3
  86. package/dist/internal/config-runtime.mjs +4 -3
  87. package/dist/internal/metadata-image-runtime.cjs +3 -2
  88. package/dist/internal/metadata-image-runtime.mjs +2 -1
  89. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  90. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  91. package/dist/internal/production-runtime.d.mts +9 -8
  92. package/dist/internal/production-runtime.d.ts +9 -8
  93. package/dist/layers-4PNE2HOY.cjs +18 -0
  94. package/dist/{layers-CJKSJGLN.mjs → layers-BRQF5ETU.mjs} +2 -1
  95. package/dist/{manager-NPG43N46.mjs → manager-RT733VRK.mjs} +2 -2
  96. package/dist/{manager-G4B2IPYE.cjs → manager-XZ5TX7AO.cjs} +3 -3
  97. package/dist/{metadata-CO9fRyyJ.d.mts → metadata-B08w4EYV.d.mts} +1 -1
  98. package/dist/{metadata-zY9wltwH.d.ts → metadata-IQEblkZp.d.ts} +1 -1
  99. package/dist/middleware.d.mts +5 -4
  100. package/dist/middleware.d.ts +5 -4
  101. package/dist/navigation.d.mts +6 -5
  102. package/dist/navigation.d.ts +6 -5
  103. package/dist/{nitro-TSGDUJMN.cjs → nitro-KQDU7CFE.cjs} +2 -2
  104. package/dist/{nitro-4LFVTT24.mjs → nitro-ZKLGOTVY.mjs} +1 -1
  105. package/dist/node-module-bundle-L5L7JCZ4.mjs +11 -0
  106. package/dist/node-module-bundle-VAFZOXMJ.cjs +11 -0
  107. package/dist/plugin.cjs +11 -9
  108. package/dist/plugin.d.mts +3 -2
  109. package/dist/plugin.d.ts +3 -2
  110. package/dist/plugin.mjs +10 -8
  111. package/dist/{production-runtime-CywsHwnG.d.mts → production-runtime-C3bGFEaM.d.mts} +1 -1
  112. package/dist/{production-runtime-lkfwujwK.d.ts → production-runtime-DRSOkc-d.d.ts} +1 -1
  113. package/dist/{render-plan-LVy6sGQe.d.mts → render-plan-B6CKNl4e.d.mts} +1 -1
  114. package/dist/{render-plan-DHF0GeWo.d.ts → render-plan-CCFuMLNS.d.ts} +1 -1
  115. package/dist/renderer-client.d.mts +5 -4
  116. package/dist/renderer-client.d.ts +5 -4
  117. package/dist/{request-6AkmhEYE.d.mts → request-DgD1XsTx.d.mts} +1 -1
  118. package/dist/{request-BYxlRqA9.d.ts → request-Dn6VURbE.d.ts} +1 -1
  119. package/dist/request.d.mts +4 -3
  120. package/dist/request.d.ts +4 -3
  121. package/dist/{route-rendering-Dd8Jmml7.d.mts → route-rendering-76A5I_kE.d.mts} +1 -1
  122. package/dist/{route-rendering-CWaKiUbS.d.ts → route-rendering-LAmQEdyG.d.ts} +1 -1
  123. package/dist/{router-B2m4fvve.d.ts → router-BSOOGya2.d.ts} +1 -1
  124. package/dist/{router-xwEE112q.d.mts → router-CnrRSa9d.d.mts} +1 -1
  125. package/dist/routes.d.mts +3 -2
  126. package/dist/routes.d.ts +3 -2
  127. package/dist/server-plugins.d.mts +4 -3
  128. package/dist/server-plugins.d.ts +4 -3
  129. package/dist/server.cjs +39 -26
  130. package/dist/server.d.mts +9 -8
  131. package/dist/server.d.ts +9 -8
  132. package/dist/server.mjs +24 -11
  133. package/dist/{spa-router-Y8rrXTVK.d.ts → spa-router-BMrSsG5b.d.ts} +2 -2
  134. package/dist/{spa-router-DVEHQnWo.d.mts → spa-router-DnYhWCvI.d.mts} +2 -2
  135. package/dist/testing.cjs +2 -1
  136. package/dist/testing.d.mts +3 -2
  137. package/dist/testing.d.ts +3 -2
  138. package/dist/testing.mjs +2 -1
  139. package/dist/{utils-DSPx34-A.d.mts → utils-ABkktwku.d.mts} +1 -1
  140. package/dist/{utils-Dvuny_08.d.ts → utils-C3GguS-Q.d.ts} +1 -1
  141. package/dist/version.cjs +2 -2
  142. package/dist/version.mjs +1 -1
  143. package/dist/vite.cjs +11 -9
  144. package/dist/vite.d.mts +3 -2
  145. package/dist/vite.d.ts +3 -2
  146. package/dist/vite.mjs +10 -8
  147. package/dist/workflows.cjs +2 -2
  148. package/dist/workflows.mjs +1 -1
  149. package/package.json +21 -11
  150. package/dist/layers-E4WPJNY5.cjs +0 -17
@@ -0,0 +1,51 @@
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(); } }
2
+
3
+
4
+
5
+ var _chunkLYLEZIG3cjs = require('./chunk-LYLEZIG3.cjs');
6
+
7
+
8
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
9
+
10
+ // src/docs/engine.ts
11
+ var FARMING_LABS_DOCS_INSTALL_HINT = _chunkLYLEZIG3cjs.formatOptionalPeerInstallHint.call(void 0,
12
+ "@farming-labs/docs",
13
+ "use the docs engine"
14
+ );
15
+ var engine;
16
+ var loading;
17
+ function loadFarmDocsEngine() {
18
+ _nullishCoalesce(loading, () => ( (loading = Promise.all([import("@farming-labs/docs"), import("@farming-labs/docs/server")]).then(
19
+ ([docs, server]) => {
20
+ engine = {
21
+ ...docs,
22
+ resolveApiReferenceOpenApiDiscovery: server.resolveApiReferenceOpenApiDiscovery
23
+ };
24
+ return engine;
25
+ },
26
+ (error) => {
27
+ loading = void 0;
28
+ if (!_chunkLYLEZIG3cjs.isMissingPackageError.call(void 0, error, "@farming-labs/docs")) throw error;
29
+ throw _chunkLYLEZIG3cjs.withOptionalPeerCause.call(void 0,
30
+ new Error(
31
+ `docs is enabled, but @farming-labs/docs is not installed. ${FARMING_LABS_DOCS_INSTALL_HINT}`
32
+ ),
33
+ error
34
+ );
35
+ }
36
+ ))));
37
+ return loading;
38
+ }
39
+ _chunkS3JO3N4Hcjs.__name.call(void 0, loadFarmDocsEngine, "loadFarmDocsEngine");
40
+ function docsEngine() {
41
+ if (!engine) {
42
+ throw new Error("Farm docs engine was used before loadFarmDocsEngine() resolved.");
43
+ }
44
+ return engine;
45
+ }
46
+ _chunkS3JO3N4Hcjs.__name.call(void 0, docsEngine, "docsEngine");
47
+
48
+
49
+
50
+
51
+ exports.loadFarmDocsEngine = loadFarmDocsEngine; exports.docsEngine = docsEngine;
@@ -9,6 +9,9 @@ var _chunk2CQ74SP6cjs = require('./chunk-2CQ74SP6.cjs');
9
9
  var _chunkUJ2C4ICScjs = require('./chunk-UJ2C4ICS.cjs');
10
10
 
11
11
 
12
+ var _chunkLYLEZIG3cjs = require('./chunk-LYLEZIG3.cjs');
13
+
14
+
12
15
 
13
16
 
14
17
 
@@ -226,7 +229,8 @@ var _APIRouteManager = class _APIRouteManager {
226
229
  }
227
230
  }
228
231
  }
229
- handleLoadError(message, error) {
232
+ handleLoadError(message, loadError) {
233
+ const error = _chunkLYLEZIG3cjs.explainMissingOptionalPeer.call(void 0, loadError, message.replace(/^Error loading /, ""));
230
234
  _chunk5QIKR7RRcjs.logger.error(`${message}: ${error}`);
231
235
  if (this.throwOnLoadError || error instanceof APIRouteConflictError || error instanceof _chunkNO3WWW3Ncjs.AmbiguousRouteError || error instanceof _chunkNO3WWW3Ncjs.NonTerminalCatchAllRouteError) {
232
236
  throw error;
@@ -1,3 +1,8 @@
1
+ import {
2
+ bundleNodeModule,
3
+ isDeclarationFile,
4
+ resolvePackageWithoutTsconfig
5
+ } from "./chunk-SFGWNC43.mjs";
1
6
  import {
2
7
  __name
3
8
  } from "./chunk-LPEX4YW6.mjs";
@@ -5,7 +10,7 @@ import {
5
10
  // src/layers.ts
6
11
  import { existsSync, readFileSync, realpathSync, statSync } from "fs";
7
12
  import { mkdir, unlink } from "fs/promises";
8
- import { createRequire } from "module";
13
+ import { createRequire, isBuiltin } from "module";
9
14
  import path from "path";
10
15
  import { pathToFileURL } from "url";
11
16
  var FARM_CORE_PACKAGE = "@farm.js/core";
@@ -146,62 +151,47 @@ function toExternalSpecifier(resolvedPath) {
146
151
  return path.isAbsolute(resolvedPath) ? pathToFileURL(resolvedPath).href : resolvedPath;
147
152
  }
148
153
  __name(toExternalSpecifier, "toExternalSpecifier");
154
+ var BARE_SPECIFIER_RE = /^[^./]/;
149
155
  function createFarmConfigResolutionPlugin(options) {
150
156
  const configEntryChecks = /* @__PURE__ */ new Map();
151
157
  return {
152
158
  name: "farm-config-package-resolution",
153
- setup(pluginBuild) {
154
- pluginBuild.onResolve({ filter: /^@farm\.js\/core$/ }, async (args) => {
155
- if (args.pluginData?.farmConfigExternal || args.kind !== "import-statement" || !args.importer) {
156
- return;
157
- }
158
- let configEntryCheck = configEntryChecks.get(args.importer);
159
- if (!configEntryCheck) {
160
- configEntryCheck = onlyImportsFarmConfigHelpers(args.importer, options.transform);
161
- configEntryChecks.set(args.importer, configEntryCheck);
162
- }
163
- if (!await configEntryCheck) return;
164
- const resolved = await pluginBuild.resolve(FARM_CONFIG_ENTRY, {
165
- importer: args.importer,
166
- kind: args.kind,
167
- namespace: args.namespace,
168
- resolveDir: args.resolveDir,
169
- pluginData: { farmConfigExternal: true }
159
+ async resolveId(source, importer, extraOptions) {
160
+ if (!importer || extraOptions.isEntry || !BARE_SPECIFIER_RE.test(source) || source.startsWith("\0") || isBuiltin(source) || path.isAbsolute(source) || WINDOWS_ABSOLUTE_PATH_RE.test(source)) {
161
+ return null;
162
+ }
163
+ const resolveRuntimePath = /* @__PURE__ */ __name(async (specifier) => {
164
+ const resolved = await this.resolve(specifier, importer, {
165
+ kind: extraOptions.kind,
166
+ skipSelf: true
170
167
  });
171
- if (resolved.errors.length > 0 || !resolved.path) return;
172
- return {
173
- path: toExternalSpecifier(resolved.path),
174
- external: true,
175
- warnings: resolved.warnings
176
- };
177
- });
178
- pluginBuild.onResolve({ filter: /^[^./]/ }, async (args) => {
179
- if (args.kind === "entry-point" || path.isAbsolute(args.path) || WINDOWS_ABSOLUTE_PATH_RE.test(args.path)) {
180
- return;
168
+ if (!resolved?.id || !isDeclarationFile(resolved.id)) return resolved?.id;
169
+ return await resolvePackageWithoutTsconfig(specifier, importer, extraOptions.kind) ?? void 0;
170
+ }, "resolveRuntimePath");
171
+ if (source === FARM_CORE_PACKAGE && extraOptions.kind === "import-statement") {
172
+ let configEntryCheck = configEntryChecks.get(importer);
173
+ if (!configEntryCheck) {
174
+ configEntryCheck = onlyImportsFarmConfigHelpers(importer, options.transform);
175
+ configEntryChecks.set(importer, configEntryCheck);
181
176
  }
182
- if (args.pluginData?.farmConfigExternal) return;
183
- const resolved = await pluginBuild.resolve(args.path, {
184
- importer: args.importer,
185
- kind: args.kind,
186
- namespace: args.namespace,
187
- resolveDir: args.resolveDir,
188
- pluginData: { farmConfigExternal: true }
189
- });
190
- if (resolved.errors.length > 0 || !resolved.path) {
191
- return { path: args.path, external: true };
177
+ if (await configEntryCheck) {
178
+ const configEntry = await resolveRuntimePath(FARM_CONFIG_ENTRY);
179
+ if (configEntry) {
180
+ return { id: toExternalSpecifier(configEntry), external: true };
181
+ }
192
182
  }
193
- return {
194
- path: toExternalSpecifier(resolved.path),
195
- external: true,
196
- warnings: resolved.warnings
197
- };
198
- });
183
+ }
184
+ const resolvedId = await resolveRuntimePath(source);
185
+ if (!resolvedId) {
186
+ return { id: source, external: true };
187
+ }
188
+ return { id: toExternalSpecifier(resolvedId), external: true };
199
189
  }
200
190
  };
201
191
  }
202
192
  __name(createFarmConfigResolutionPlugin, "createFarmConfigResolutionPlugin");
203
193
  async function loadFarmConfigFile(configPath, options) {
204
- const { build, transform } = await import("esbuild");
194
+ const { transform } = await import("rolldown/utils");
205
195
  const cacheRoot = path.resolve(options.cacheRoot || options.root);
206
196
  const configCacheDir = path.join(cacheRoot, ".farm", ".config-loader");
207
197
  await mkdir(configCacheDir, { recursive: true });
@@ -209,18 +199,12 @@ async function loadFarmConfigFile(configPath, options) {
209
199
  configCacheDir,
210
200
  `farm-config-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`
211
201
  );
212
- await build({
213
- absWorkingDir: path.resolve(options.root),
214
- entryPoints: [path.resolve(configPath)],
202
+ await bundleNodeModule({
203
+ root: path.resolve(options.root),
204
+ entry: path.resolve(configPath),
215
205
  outfile: modulePath,
216
- bundle: true,
217
- format: "esm",
218
- platform: "node",
219
206
  target: `node${process.versions.node.split(".")[0]}`,
220
- plugins: [createFarmConfigResolutionPlugin({ transform })],
221
- jsx: "automatic",
222
- logLevel: "silent",
223
- sourcemap: "inline"
207
+ plugins: [createFarmConfigResolutionPlugin({ transform })]
224
208
  });
225
209
  const moduleUrl = `${pathToFileURL(modulePath).href}?t=${Date.now()}`;
226
210
  try {
@@ -242,12 +226,12 @@ async function onlyImportsFarmConfigHelpers(importer, transform) {
242
226
  try {
243
227
  const source = readFileSync(importer, "utf8");
244
228
  if (!source.includes(FARM_CORE_PACKAGE)) return false;
245
- const transformed = await transform(source, {
246
- format: "esm",
247
- jsx: "automatic",
248
- loader: getEsbuildLoader(importer),
249
- sourcefile: importer
229
+ const transformed = await transform(importer, source, {
230
+ lang: getSourceLang(importer),
231
+ sourceType: "module",
232
+ jsx: { runtime: "automatic" }
250
233
  });
234
+ if (transformed.errors.length > 0) return false;
251
235
  const references = [...transformed.code.matchAll(FARM_CORE_REFERENCE_RE)];
252
236
  if (references.length === 0) return false;
253
237
  const safeImportRanges = [];
@@ -268,7 +252,7 @@ async function onlyImportsFarmConfigHelpers(importer, transform) {
268
252
  }
269
253
  }
270
254
  __name(onlyImportsFarmConfigHelpers, "onlyImportsFarmConfigHelpers");
271
- function getEsbuildLoader(file) {
255
+ function getSourceLang(file) {
272
256
  switch (path.extname(file)) {
273
257
  case ".ts":
274
258
  case ".mts":
@@ -282,7 +266,7 @@ function getEsbuildLoader(file) {
282
266
  return "js";
283
267
  }
284
268
  }
285
- __name(getEsbuildLoader, "getEsbuildLoader");
269
+ __name(getSourceLang, "getSourceLang");
286
270
  function normalizeLayerEntries(value, owner) {
287
271
  if (value === void 0) return [];
288
272
  if (!Array.isArray(value)) {
@@ -1,5 +1,10 @@
1
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 _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
+
4
+
5
+ var _chunkLYLEZIG3cjs = require('./chunk-LYLEZIG3.cjs');
6
+
7
+
3
8
  var _chunkTKJZFIMLcjs = require('./chunk-TKJZFIML.cjs');
4
9
 
5
10
 
@@ -141,6 +146,20 @@ async function finalizeMetadataImageResponse(body, headers, options) {
141
146
  });
142
147
  }
143
148
  _chunkS3JO3N4Hcjs.__name.call(void 0, finalizeMetadataImageResponse, "finalizeMetadataImageResponse");
149
+ async function loadVercelOg() {
150
+ try {
151
+ return await import("@vercel/og");
152
+ } catch (error) {
153
+ if (!_chunkLYLEZIG3cjs.isMissingPackageError.call(void 0, error, "@vercel/og")) throw error;
154
+ throw _chunkLYLEZIG3cjs.withOptionalPeerCause.call(void 0,
155
+ new Error(
156
+ `Rendering a metadata image from JSX needs @vercel/og, which is not installed. ${_chunkLYLEZIG3cjs.VERCEL_OG_INSTALL_HINT}`
157
+ ),
158
+ error
159
+ );
160
+ }
161
+ }
162
+ _chunkS3JO3N4Hcjs.__name.call(void 0, loadVercelOg, "loadVercelOg");
144
163
  async function createFarmMetadataImageResponse(value, imageModule, options = {}) {
145
164
  const method = (options.method || "GET").toUpperCase();
146
165
  if (method !== "GET" && method !== "HEAD") {
@@ -152,7 +171,7 @@ async function createFarmMetadataImageResponse(value, imageModule, options = {})
152
171
  const cacheControl = resolveCacheControl(imageModule.revalidate);
153
172
  const explicitContentType = _optionalChain([imageModule, 'access', _7 => _7.contentType, 'optionalAccess', _8 => _8.split, 'call', _9 => _9(";", 1), 'access', _10 => _10[0], 'optionalAccess', _11 => _11.trim, 'call', _12 => _12(), 'access', _13 => _13.toLowerCase, 'call', _14 => _14()]);
154
173
  if (isReactElement(value) && explicitContentType !== "image/svg+xml") {
155
- const { ImageResponse } = await import("@vercel/og");
174
+ const { ImageResponse } = await loadVercelOg();
156
175
  const element = await prepareMetadataImageNode(value);
157
176
  const response = new ImageResponse(element, {
158
177
  width: _optionalChain([imageModule, 'access', _15 => _15.size, 'optionalAccess', _16 => _16.width]) || 1200,
@@ -1,9 +1,11 @@
1
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(); } }
2
2
 
3
+ var _chunkUYIHRDE4cjs = require('./chunk-UYIHRDE4.cjs');
4
+
5
+
3
6
  var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
4
7
 
5
8
  // src/instrumentation.ts
6
- var _esbuild = require('esbuild');
7
9
  var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
8
10
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
9
11
  var _url = require('url');
@@ -32,15 +34,12 @@ async function loadFarmInstrumentation(filePath, root) {
32
34
  const outputDirectory = _path2.default.join(root, ".farm", ".instrumentation-loader");
33
35
  const outputFile = _path2.default.join(outputDirectory, "instrumentation.mjs");
34
36
  await _fs2.default.promises.mkdir(outputDirectory, { recursive: true });
35
- await _esbuild.build.call(void 0, {
36
- entryPoints: [filePath],
37
+ await _chunkUYIHRDE4cjs.bundleNodeModule.call(void 0, {
38
+ root,
39
+ entry: filePath,
37
40
  outfile: outputFile,
38
- bundle: true,
39
- format: "esm",
40
- platform: "node",
41
41
  target: "node20",
42
- packages: "external",
43
- sourcemap: "inline"
42
+ externalPackages: true
44
43
  });
45
44
  const url = _url.pathToFileURL.call(void 0, outputFile);
46
45
  url.searchParams.set("t", String(Date.now()));
@@ -3,10 +3,14 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkNBAHDVOJcjs = require('./chunk-NBAHDVOJ.cjs');
6
+ var _chunkLYM7HY34cjs = require('./chunk-LYM7HY34.cjs');
7
7
 
8
8
 
9
- var _chunkGXXONIARcjs = require('./chunk-GXXONIAR.cjs');
9
+
10
+ var _chunkIK6LVLKCcjs = require('./chunk-IK6LVLKC.cjs');
11
+
12
+
13
+ var _chunkDNLQMFERcjs = require('./chunk-DNLQMFER.cjs');
10
14
 
11
15
 
12
16
  var _chunk75WGQVQAcjs = require('./chunk-75WGQVQA.cjs');
@@ -35,7 +39,7 @@ function createFarmDocsAdapterRuntimeConfig(docs, options, moduleConfig) {
35
39
  ...moduleConfig ? { ...moduleConfig, ...docs.configOverrides } : _nullishCoalesce(docs.runtimeConfig, () => ( docs.config)),
36
40
  entry: docs.config.entry || docs.entry.replace(/^\/+|\/+$/g, "") || "docs",
37
41
  docsPath: docs.entry,
38
- contentDir: _chunkNBAHDVOJcjs.resolveFarmDocsContentDir.call(void 0, docs, options)
42
+ contentDir: _chunkLYM7HY34cjs.resolveFarmDocsContentDir.call(void 0, docs, options)
39
43
  };
40
44
  }
41
45
  _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmDocsAdapterRuntimeConfig, "createFarmDocsAdapterRuntimeConfig");
@@ -120,21 +124,6 @@ async function createFarmDocsAdapterHandler(docs, options) {
120
124
  _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmDocsAdapterHandler, "createFarmDocsAdapterHandler");
121
125
 
122
126
  // src/docs/api.ts
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
- var _docs = require('@farming-labs/docs');
137
- var _server = require('@farming-labs/docs/server');
138
127
  function isRecord(value) {
139
128
  return typeof value === "object" && value !== null && !Array.isArray(value);
140
129
  }
@@ -285,25 +274,25 @@ function getDocsDescription(docs) {
285
274
  }
286
275
  _chunkS3JO3N4Hcjs.__name.call(void 0, getDocsDescription, "getDocsDescription");
287
276
  function getLoadedDocsPages(context) {
288
- return _chunkNBAHDVOJcjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs).map((page) => _chunkNBAHDVOJcjs.loadFarmDocsPage.call(void 0, context.contentDir, context.docs, page.slug)).filter((page) => Boolean(page));
277
+ return _chunkLYM7HY34cjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs).map((page) => _chunkLYM7HY34cjs.loadFarmDocsPage.call(void 0, context.contentDir, context.docs, page.slug)).filter((page) => Boolean(page));
289
278
  }
290
279
  _chunkS3JO3N4Hcjs.__name.call(void 0, getLoadedDocsPages, "getLoadedDocsPages");
291
280
  function toDocsSourcePage(page) {
292
281
  return {
293
- ..._chunkNBAHDVOJcjs.toFarmDocsMarkdownPage.call(void 0, page),
282
+ ..._chunkLYM7HY34cjs.toFarmDocsMarkdownPage.call(void 0, page),
294
283
  sourcePath: page.sourcePath
295
284
  };
296
285
  }
297
286
  _chunkS3JO3N4Hcjs.__name.call(void 0, toDocsSourcePage, "toDocsSourcePage");
298
287
  function toDocsSitemapPage(page) {
299
288
  return {
300
- ..._chunkNBAHDVOJcjs.toFarmDocsMarkdownPage.call(void 0, page),
289
+ ..._chunkLYM7HY34cjs.toFarmDocsMarkdownPage.call(void 0, page),
301
290
  sourcePath: page.sourcePath
302
291
  };
303
292
  }
304
293
  _chunkS3JO3N4Hcjs.__name.call(void 0, toDocsSitemapPage, "toDocsSitemapPage");
305
294
  function toDocsLlmsPage(page) {
306
- return _chunkNBAHDVOJcjs.toFarmDocsMarkdownPage.call(void 0, page);
295
+ return _chunkLYM7HY34cjs.toFarmDocsMarkdownPage.call(void 0, page);
307
296
  }
308
297
  _chunkS3JO3N4Hcjs.__name.call(void 0, toDocsLlmsPage, "toDocsLlmsPage");
309
298
  function getDocsLlmsOptions(context, request) {
@@ -344,7 +333,7 @@ function getDocsDiscoveryOptions(context, request) {
344
333
  llms: getDocsLlmsOptions(context, request),
345
334
  sitemap: _nullishCoalesce(context.docs.config.sitemap, () => ( true)),
346
335
  robots: _nullishCoalesce(context.docs.config.robots, () => ( true)),
347
- openapi: _server.resolveApiReferenceOpenApiDiscovery.call(void 0, context.docs.config.apiReference),
336
+ openapi: _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).resolveApiReferenceOpenApiDiscovery(context.docs.config.apiReference),
348
337
  markdown: {
349
338
  acceptHeader: true,
350
339
  signatureAgentHeader: true
@@ -354,7 +343,7 @@ function getDocsDiscoveryOptions(context, request) {
354
343
  _chunkS3JO3N4Hcjs.__name.call(void 0, getDocsDiscoveryOptions, "getDocsDiscoveryOptions");
355
344
  function buildSitemapManifest(context, request) {
356
345
  const origin = new URL(request.url).origin;
357
- return _docs.buildDocsSitemapManifest.call(void 0, {
346
+ return _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).buildDocsSitemapManifest({
358
347
  pages: getLoadedDocsPages(context).map(toDocsSitemapPage),
359
348
  entry: context.docs.entry,
360
349
  siteTitle: getDocsTitle(context.docs),
@@ -363,7 +352,7 @@ function buildSitemapManifest(context, request) {
363
352
  }
364
353
  _chunkS3JO3N4Hcjs.__name.call(void 0, buildSitemapManifest, "buildSitemapManifest");
365
354
  function renderLlmsTxt(context, request, full) {
366
- const generated = _docs.renderDocsLlmsTxt.call(void 0,
355
+ const generated = _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).renderDocsLlmsTxt(
367
356
  getLoadedDocsPages(context).map(toDocsLlmsPage),
368
357
  getDocsLlmsOptions(context, request)
369
358
  );
@@ -383,22 +372,22 @@ function renderSkillDocument(context, request) {
383
372
  "- Sitemap XML: /api/docs?format=sitemap-xml",
384
373
  "- Agent spec JSON: /api/docs/agent/spec"
385
374
  ].join("\n");
386
- return `${_docs.renderDocsSkillDocument.call(void 0, getDocsDiscoveryOptions(context, request)).trim()}
375
+ return `${_chunkIK6LVLKCcjs.docsEngine.call(void 0, ).renderDocsSkillDocument(getDocsDiscoveryOptions(context, request)).trim()}
387
376
 
388
377
  ${farmAliases}
389
378
  `;
390
379
  }
391
380
  _chunkS3JO3N4Hcjs.__name.call(void 0, renderSkillDocument, "renderSkillDocument");
392
381
  function renderAgentsDocument(context, request) {
393
- return `${_docs.renderDocsAgentsDocument.call(void 0, getDocsDiscoveryOptions(context, request)).trim()}
382
+ return `${_chunkIK6LVLKCcjs.docsEngine.call(void 0, ).renderDocsAgentsDocument(getDocsDiscoveryOptions(context, request)).trim()}
394
383
  `;
395
384
  }
396
385
  _chunkS3JO3N4Hcjs.__name.call(void 0, renderAgentsDocument, "renderAgentsDocument");
397
386
  function buildAgentSpec(context, request) {
398
387
  const url = new URL(request.url);
399
388
  const origin = url.origin;
400
- const pages = _chunkNBAHDVOJcjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs);
401
- const spec = _docs.buildDocsAgentDiscoverySpec.call(void 0, getDocsDiscoveryOptions(context, request));
389
+ const pages = _chunkLYM7HY34cjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs);
390
+ const spec = _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).buildDocsAgentDiscoverySpec(getDocsDiscoveryOptions(context, request));
402
391
  const title = getDocsTitle(context.docs);
403
392
  return {
404
393
  ...spec,
@@ -439,8 +428,8 @@ function buildAgentSpec(context, request) {
439
428
  }
440
429
  _chunkS3JO3N4Hcjs.__name.call(void 0, buildAgentSpec, "buildAgentSpec");
441
430
  function buildDiagnostics(context) {
442
- const pages = _chunkNBAHDVOJcjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs);
443
- const diagnostics = _docs.buildDocsDiagnostics.call(void 0, context.docs.config, {
431
+ const pages = _chunkLYM7HY34cjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs);
432
+ const diagnostics = _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).buildDocsDiagnostics(context.docs.config, {
444
433
  entry: context.docs.entry,
445
434
  mcp: {
446
435
  enabled: false,
@@ -477,7 +466,7 @@ async function searchDocs(context, request, query) {
477
466
  const sourcePages = loadedPages.map(toDocsSourcePage);
478
467
  const sourcePageByUrl = new Map(sourcePages.map((page) => [page.url, page]));
479
468
  const resultLimit = isRecord(context.docs.config.search) && typeof context.docs.config.search.maxResults === "number" ? context.docs.config.search.maxResults : void 0;
480
- const results = await _docs.performDocsSearch.call(void 0, {
469
+ const results = await _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).performDocsSearch({
481
470
  pages: sourcePages,
482
471
  query,
483
472
  search: _nullishCoalesce(context.docs.config.search, () => ( true)),
@@ -498,6 +487,7 @@ async function searchDocs(context, request, query) {
498
487
  }
499
488
  _chunkS3JO3N4Hcjs.__name.call(void 0, searchDocs, "searchDocs");
500
489
  async function resolveAPIContext(options) {
490
+ await _chunkIK6LVLKCcjs.loadFarmDocsEngine.call(void 0, );
501
491
  const runtimeConfig = globalThis.__FARM_DOCS_RUNTIME_CONFIG__;
502
492
  const root = options.rootDir || options.root || _optionalChain([runtimeConfig, 'optionalAccess', _17 => _17.root]) || process.cwd();
503
493
  const srcDir = options.srcDir || _optionalChain([runtimeConfig, 'optionalAccess', _18 => _18.srcDir]) || "src";
@@ -510,12 +500,12 @@ async function resolveAPIContext(options) {
510
500
  config: options.config,
511
501
  configPath: options.configPath
512
502
  }));
513
- const docs = isResolvedDocsConfig(docsInput) ? docsInput : await _chunkGXXONIARcjs.resolveDocsConfig.call(void 0, docsInput, { root, srcDir });
503
+ const docs = isResolvedDocsConfig(docsInput) ? docsInput : await _chunkDNLQMFERcjs.resolveDocsConfig.call(void 0, docsInput, { root, srcDir });
514
504
  return {
515
505
  root,
516
506
  srcDir,
517
507
  docs,
518
- contentDir: _chunkNBAHDVOJcjs.resolveFarmDocsContentDir.call(void 0, docs, { root, srcDir })
508
+ contentDir: _chunkLYM7HY34cjs.resolveFarmDocsContentDir.call(void 0, docs, { root, srcDir })
519
509
  };
520
510
  }
521
511
  _chunkS3JO3N4Hcjs.__name.call(void 0, resolveAPIContext, "resolveAPIContext");
@@ -531,7 +521,7 @@ async function handleDocsAPIGet(request, context) {
531
521
  entry: context.docs.entry,
532
522
  contentDir: context.docs.contentDir || context.docs.config.contentDir || null,
533
523
  config: context.docs.config,
534
- map: _docs.buildDocsConfigMap.call(void 0, context.docs.config, {
524
+ map: _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).buildDocsConfigMap(context.docs.config, {
535
525
  file: context.docs.configPath || "farm.config.ts"
536
526
  })
537
527
  });
@@ -548,7 +538,7 @@ async function handleDocsAPIGet(request, context) {
548
538
  return text(renderLlmsTxt(context, request, true), "text/plain; charset=utf-8");
549
539
  if (format === "sitemap-md") {
550
540
  return text(
551
- _docs.renderDocsSitemapMarkdown.call(void 0, buildSitemapManifest(context, request), {
541
+ _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).renderDocsSitemapMarkdown(buildSitemapManifest(context, request), {
552
542
  includeDescriptions: true
553
543
  }),
554
544
  "text/markdown; charset=utf-8"
@@ -557,7 +547,7 @@ async function handleDocsAPIGet(request, context) {
557
547
  if (format === "sitemap-xml" || format === "sitemap") {
558
548
  const origin = new URL(request.url).origin;
559
549
  return text(
560
- _docs.renderDocsSitemapXml.call(void 0, buildSitemapManifest(context, request), {
550
+ _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).renderDocsSitemapXml(buildSitemapManifest(context, request), {
561
551
  baseUrl: origin,
562
552
  includeLastmod: true
563
553
  }),
@@ -566,7 +556,7 @@ async function handleDocsAPIGet(request, context) {
566
556
  }
567
557
  if (format === "robots") {
568
558
  return text(
569
- _docs.renderDocsRobotsTxt.call(void 0, {
559
+ _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).renderDocsRobotsTxt({
570
560
  entry: context.docs.entry,
571
561
  sitemap: _nullishCoalesce(context.docs.config.sitemap, () => ( true)),
572
562
  robots: _nullishCoalesce(context.docs.config.robots, () => ( true)),
@@ -578,10 +568,10 @@ async function handleDocsAPIGet(request, context) {
578
568
  if (format === "markdown" || url.pathname.endsWith(".md")) {
579
569
  const pathParam = url.searchParams.get("path") || url.searchParams.get("slug");
580
570
  const slug = normalizeDocsApiSlug(_nullishCoalesce(_nullishCoalesce(pathParam, () => ( pathTarget.slug)), () => ( "")), context.docs);
581
- const page = _chunkNBAHDVOJcjs.loadFarmDocsPage.call(void 0, context.contentDir, context.docs, slug);
571
+ const page = _chunkLYM7HY34cjs.loadFarmDocsPage.call(void 0, context.contentDir, context.docs, slug);
582
572
  if (!page) return text("Docs page not found\n", "text/plain; charset=utf-8", { status: 404 });
583
573
  return text(
584
- _docs.renderDocsMarkdownDocument.call(void 0, _chunkNBAHDVOJcjs.toFarmDocsMarkdownPage.call(void 0, page), {
574
+ _chunkIK6LVLKCcjs.docsEngine.call(void 0, ).renderDocsMarkdownDocument(_chunkLYM7HY34cjs.toFarmDocsMarkdownPage.call(void 0, page), {
585
575
  origin: new URL(request.url).origin,
586
576
  llms: getDocsLlmsOptions(context, request),
587
577
  sitemap: context.docs.config.sitemap
@@ -0,0 +1,73 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
4
+
5
+ // src/optional-peer.ts
6
+ var _module = require('module');
7
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
8
+ function isMissingPackageError(error, packageName) {
9
+ let current = error;
10
+ for (let depth = 0; depth < 4; depth++) {
11
+ if (!current || typeof current !== "object") return false;
12
+ const { code, message, cause } = current;
13
+ if ((code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND") && typeof message === "string") {
14
+ return message.includes(`'${packageName}'`) || message.includes(`"${packageName}"`);
15
+ }
16
+ current = cause;
17
+ }
18
+ return false;
19
+ }
20
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isMissingPackageError, "isMissingPackageError");
21
+ function isOptionalPeerInstalled(root, packageName) {
22
+ const appRequire = _module.createRequire.call(void 0, _path2.default.join(root, "package.json"));
23
+ const requires = [appRequire];
24
+ try {
25
+ requires.push(_module.createRequire.call(void 0, appRequire.resolve("@farm.js/core")));
26
+ } catch (e) {
27
+ }
28
+ return requires.some((parentRequire) => {
29
+ try {
30
+ parentRequire.resolve(`${packageName}/package.json`);
31
+ return true;
32
+ } catch (error) {
33
+ return error.code === "ERR_PACKAGE_PATH_NOT_EXPORTED";
34
+ }
35
+ });
36
+ }
37
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isOptionalPeerInstalled, "isOptionalPeerInstalled");
38
+ function formatOptionalPeerInstallHint(packageName, purpose, options = {}) {
39
+ return `Install "${packageName}" to ${purpose}: pnpm add ${options.dev ? "-D " : ""}${packageName}`;
40
+ }
41
+ _chunkS3JO3N4Hcjs.__name.call(void 0, formatOptionalPeerInstallHint, "formatOptionalPeerInstallHint");
42
+ var VERCEL_OG_INSTALL_HINT = formatOptionalPeerInstallHint(
43
+ "@vercel/og",
44
+ "render OG and metadata images"
45
+ );
46
+ var APP_IMPORTED_OPTIONAL_PEERS = [
47
+ ["@vercel/og", VERCEL_OG_INSTALL_HINT]
48
+ ];
49
+ function explainMissingOptionalPeer(error, context) {
50
+ for (const [packageName, hint] of APP_IMPORTED_OPTIONAL_PEERS) {
51
+ if (isMissingPackageError(error, packageName)) {
52
+ return withOptionalPeerCause(
53
+ new Error(`${context} needs ${packageName}, which is not installed. ${hint}`),
54
+ error
55
+ );
56
+ }
57
+ }
58
+ return error;
59
+ }
60
+ _chunkS3JO3N4Hcjs.__name.call(void 0, explainMissingOptionalPeer, "explainMissingOptionalPeer");
61
+ function withOptionalPeerCause(error, cause) {
62
+ return Object.assign(error, { cause });
63
+ }
64
+ _chunkS3JO3N4Hcjs.__name.call(void 0, withOptionalPeerCause, "withOptionalPeerCause");
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+ exports.isMissingPackageError = isMissingPackageError; exports.isOptionalPeerInstalled = isOptionalPeerInstalled; exports.formatOptionalPeerInstallHint = formatOptionalPeerInstallHint; exports.VERCEL_OG_INSTALL_HINT = VERCEL_OG_INSTALL_HINT; exports.explainMissingOptionalPeer = explainMissingOptionalPeer; exports.withOptionalPeerCause = withOptionalPeerCause;