@farm.js/core 0.1.22 → 0.1.23
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-runtime.d.mts +3 -2
- package/dist/agent-runtime.d.ts +3 -2
- package/dist/api/route-manager.cjs +3 -2
- package/dist/api/route-manager.d.mts +3 -2
- package/dist/api/route-manager.d.ts +3 -2
- package/dist/api/route-manager.mjs +2 -1
- package/dist/api.cjs +4 -3
- package/dist/api.d.mts +4 -3
- package/dist/api.d.ts +4 -3
- package/dist/api.mjs +3 -2
- package/dist/{app-B7qKw8Ny.d.ts → app-BV-7wV5q.d.ts} +3 -3
- package/dist/{app-0e-oTC_R.d.mts → app-BZDWwwFa.d.mts} +3 -3
- package/dist/app-markdown.d.mts +4 -3
- package/dist/app-markdown.d.ts +4 -3
- package/dist/chunk-2VQKKQ6D.mjs +51 -0
- package/dist/{chunk-EGJDUF4Q.mjs → chunk-3ATMYLLJ.mjs} +6 -12
- package/dist/{chunk-HSDL2AUR.mjs → chunk-47H7VENP.mjs} +20 -32
- package/dist/{chunk-EXUMQVY3.cjs → chunk-4DKZ6JR3.cjs} +258 -256
- package/dist/{chunk-PUCUVI7K.mjs → chunk-72VJRKJD.mjs} +1 -1
- package/dist/{chunk-PC33YKTC.mjs → chunk-7LU4IOXQ.mjs} +128 -126
- package/dist/{chunk-SPSQFO3Z.mjs → chunk-BDJNP7AQ.mjs} +9 -13
- package/dist/{chunk-GXXONIAR.cjs → chunk-DNLQMFER.cjs} +12 -16
- package/dist/{chunk-SO7CRMP6.cjs → chunk-DW34V5SM.cjs} +5 -5
- package/dist/{chunk-X2ZUD4GI.mjs → chunk-EHUZ2MKO.mjs} +1 -1
- package/dist/{chunk-3NM6SRI6.mjs → chunk-F3VB7ONA.mjs} +10 -8
- package/dist/{chunk-P5HSJCXI.cjs → chunk-III667SJ.cjs} +291 -260
- package/dist/chunk-IK6LVLKC.cjs +51 -0
- package/dist/{chunk-B3WK4DTX.cjs → chunk-IMBMOEWT.cjs} +5 -1
- package/dist/{chunk-IILNZK5G.mjs → chunk-JHWOVJ3M.mjs} +46 -62
- package/dist/{chunk-TKNSDBBN.cjs → chunk-K3F2E6GS.cjs} +20 -1
- package/dist/{chunk-RTHIVJ2G.cjs → chunk-KCMTCM6I.cjs} +7 -8
- package/dist/{chunk-Q3PX2TGL.cjs → chunk-LQIRVSBY.cjs} +30 -40
- package/dist/chunk-LYLEZIG3.cjs +73 -0
- package/dist/{chunk-NBAHDVOJ.cjs → chunk-LYM7HY34.cjs} +20 -32
- package/dist/{chunk-K6FNHVDR.cjs → chunk-MPEYMSCF.cjs} +6 -12
- package/dist/{chunk-BHJUZ64B.cjs → chunk-QTBEAKCJ.cjs} +7 -7
- package/dist/{chunk-J6JRB2ER.mjs → chunk-S67OYZU7.mjs} +1 -1
- package/dist/chunk-SFGWNC43.mjs +97 -0
- package/dist/{chunk-AYJR42WX.cjs → chunk-UFDV5N3C.cjs} +2 -2
- package/dist/chunk-UYIHRDE4.cjs +97 -0
- package/dist/{chunk-Y4YMF2NQ.cjs → chunk-VPTDD5XF.cjs} +46 -62
- package/dist/{chunk-AAWTJW2G.mjs → chunk-VPY755R2.mjs} +58 -27
- package/dist/{chunk-GKT4ONKN.mjs → chunk-VVJCWBIE.mjs} +2 -2
- package/dist/{chunk-2HCEC2YO.cjs → chunk-VXCA7RZP.cjs} +1 -1
- package/dist/{chunk-CQHFU55R.mjs → chunk-WNUBR4CA.mjs} +5 -1
- package/dist/{chunk-CIAGU2X4.cjs → chunk-XSIRSMAS.cjs} +10 -8
- package/dist/{chunk-ONMW3EVV.mjs → chunk-YGMK6ESJ.mjs} +20 -30
- package/dist/chunk-YOZYCI6Z.mjs +73 -0
- package/dist/{chunk-HLCDYJY7.mjs → chunk-YQVSHTMR.mjs} +20 -1
- package/dist/{chunk-F5D4XEAS.mjs → chunk-ZZSRYEYU.mjs} +7 -8
- package/dist/{client-plugins-CWrhb1ir.d.mts → client-plugins-B_XzCegf.d.mts} +11 -9
- package/dist/{client-plugins-DPf0qZey.d.ts → client-plugins-CKsXQfXY.d.ts} +11 -9
- package/dist/client-plugins.d.mts +3 -2
- package/dist/client-plugins.d.ts +3 -2
- package/dist/client.d.mts +7 -6
- package/dist/client.d.ts +7 -6
- package/dist/config.d.mts +3 -2
- package/dist/config.d.ts +3 -2
- package/dist/{devtools-EZ5ORGAK.mjs → devtools-OY4SNU3P.mjs} +4 -3
- package/dist/{devtools-6DQHO7EK.cjs → devtools-UHRSZ7VA.cjs} +5 -4
- package/dist/docs.cjs +9 -6
- package/dist/docs.mjs +8 -5
- package/dist/index.cjs +23 -20
- package/dist/index.d.mts +14 -13
- package/dist/index.d.ts +14 -13
- package/dist/index.mjs +18 -15
- package/dist/instrumentation.cjs +3 -2
- package/dist/instrumentation.mjs +2 -1
- package/dist/integrations.d.mts +3 -2
- package/dist/integrations.d.ts +3 -2
- package/dist/internal/app-markdown-runtime.d.mts +3 -2
- package/dist/internal/app-markdown-runtime.d.ts +3 -2
- package/dist/internal/build-runtime.cjs +17 -14
- package/dist/internal/build-runtime.d.mts +5 -4
- package/dist/internal/build-runtime.d.ts +5 -4
- package/dist/internal/build-runtime.mjs +16 -13
- package/dist/internal/cli-runtime.cjs +10 -7
- package/dist/internal/cli-runtime.mjs +9 -6
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/compression-runtime.d.mts +3 -2
- package/dist/internal/compression-runtime.d.ts +3 -2
- package/dist/internal/config-runtime.cjs +5 -4
- package/dist/internal/config-runtime.d.mts +4 -3
- package/dist/internal/config-runtime.d.ts +4 -3
- package/dist/internal/config-runtime.mjs +4 -3
- package/dist/internal/metadata-image-runtime.cjs +3 -2
- package/dist/internal/metadata-image-runtime.mjs +2 -1
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.d.mts +9 -8
- package/dist/internal/production-runtime.d.ts +9 -8
- package/dist/layers-4PNE2HOY.cjs +18 -0
- package/dist/{layers-CJKSJGLN.mjs → layers-BRQF5ETU.mjs} +2 -1
- package/dist/{manager-NPG43N46.mjs → manager-RT733VRK.mjs} +2 -2
- package/dist/{manager-G4B2IPYE.cjs → manager-XZ5TX7AO.cjs} +3 -3
- package/dist/{metadata-CO9fRyyJ.d.mts → metadata-B08w4EYV.d.mts} +1 -1
- package/dist/{metadata-zY9wltwH.d.ts → metadata-IQEblkZp.d.ts} +1 -1
- package/dist/middleware.d.mts +5 -4
- package/dist/middleware.d.ts +5 -4
- package/dist/navigation.d.mts +6 -5
- package/dist/navigation.d.ts +6 -5
- package/dist/{nitro-TSGDUJMN.cjs → nitro-KQDU7CFE.cjs} +2 -2
- package/dist/{nitro-4LFVTT24.mjs → nitro-ZKLGOTVY.mjs} +1 -1
- package/dist/node-module-bundle-L5L7JCZ4.mjs +11 -0
- package/dist/node-module-bundle-VAFZOXMJ.cjs +11 -0
- package/dist/plugin.cjs +11 -9
- package/dist/plugin.d.mts +3 -2
- package/dist/plugin.d.ts +3 -2
- package/dist/plugin.mjs +10 -8
- package/dist/{production-runtime-CywsHwnG.d.mts → production-runtime-C3bGFEaM.d.mts} +1 -1
- package/dist/{production-runtime-lkfwujwK.d.ts → production-runtime-DRSOkc-d.d.ts} +1 -1
- package/dist/{render-plan-LVy6sGQe.d.mts → render-plan-B6CKNl4e.d.mts} +1 -1
- package/dist/{render-plan-DHF0GeWo.d.ts → render-plan-CCFuMLNS.d.ts} +1 -1
- package/dist/renderer-client.d.mts +5 -4
- package/dist/renderer-client.d.ts +5 -4
- package/dist/{request-6AkmhEYE.d.mts → request-DgD1XsTx.d.mts} +1 -1
- package/dist/{request-BYxlRqA9.d.ts → request-Dn6VURbE.d.ts} +1 -1
- package/dist/request.d.mts +4 -3
- package/dist/request.d.ts +4 -3
- package/dist/{route-rendering-Dd8Jmml7.d.mts → route-rendering-76A5I_kE.d.mts} +1 -1
- package/dist/{route-rendering-CWaKiUbS.d.ts → route-rendering-LAmQEdyG.d.ts} +1 -1
- package/dist/{router-B2m4fvve.d.ts → router-BSOOGya2.d.ts} +1 -1
- package/dist/{router-xwEE112q.d.mts → router-CnrRSa9d.d.mts} +1 -1
- package/dist/routes.d.mts +3 -2
- package/dist/routes.d.ts +3 -2
- package/dist/server-plugins.d.mts +4 -3
- package/dist/server-plugins.d.ts +4 -3
- package/dist/server.cjs +39 -26
- package/dist/server.d.mts +9 -8
- package/dist/server.d.ts +9 -8
- package/dist/server.mjs +24 -11
- package/dist/{spa-router-Y8rrXTVK.d.ts → spa-router-BMrSsG5b.d.ts} +2 -2
- package/dist/{spa-router-DVEHQnWo.d.mts → spa-router-DnYhWCvI.d.mts} +2 -2
- package/dist/testing.cjs +2 -1
- package/dist/testing.d.mts +3 -2
- package/dist/testing.d.ts +3 -2
- package/dist/testing.mjs +2 -1
- package/dist/{utils-DSPx34-A.d.mts → utils-ABkktwku.d.mts} +1 -1
- package/dist/{utils-Dvuny_08.d.ts → utils-C3GguS-Q.d.ts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +11 -9
- package/dist/vite.d.mts +3 -2
- package/dist/vite.d.ts +3 -2
- package/dist/vite.mjs +10 -8
- package/dist/workflows.cjs +2 -2
- package/dist/workflows.mjs +1 -1
- package/package.json +21 -11
- package/dist/layers-E4WPJNY5.cjs +0 -17
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
parseRouteSlotFile,
|
|
7
7
|
resolveRouteRenderingConfig,
|
|
8
8
|
resolveRouteRenderingConfigFromFile
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VVJCWBIE.mjs";
|
|
10
10
|
import {
|
|
11
11
|
collectSchemaExtensions,
|
|
12
12
|
declareSchemaTables,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
} from "./chunk-BOYNDCZL.mjs";
|
|
31
31
|
import {
|
|
32
32
|
createFarmMetadataImageResponse
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-YQVSHTMR.mjs";
|
|
34
34
|
import {
|
|
35
35
|
createFarmImageHandler
|
|
36
36
|
} from "./chunk-F6XEGFHO.mjs";
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
getFarmAppDirectories,
|
|
75
75
|
getFarmLayerAliases,
|
|
76
76
|
getFarmSourceRoots
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-JHWOVJ3M.mjs";
|
|
78
78
|
import {
|
|
79
79
|
REACT_RENDERER,
|
|
80
80
|
assertFarmRendererStreamingRuntime,
|
|
@@ -144,7 +144,7 @@ import {
|
|
|
144
144
|
} from "./chunk-OFEY6KHO.mjs";
|
|
145
145
|
import {
|
|
146
146
|
resolveWorkflowsConfig
|
|
147
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-3ATMYLLJ.mjs";
|
|
148
148
|
import {
|
|
149
149
|
initStorage
|
|
150
150
|
} from "./chunk-UWPLULNK.mjs";
|
|
@@ -182,7 +182,7 @@ import {
|
|
|
182
182
|
} from "./chunk-IOEH4VWN.mjs";
|
|
183
183
|
import {
|
|
184
184
|
APIRouteManager
|
|
185
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-WNUBR4CA.mjs";
|
|
186
186
|
import {
|
|
187
187
|
findProgrammaticRouteFiles,
|
|
188
188
|
loadProgrammaticRouteManifests
|
|
@@ -193,6 +193,12 @@ import {
|
|
|
193
193
|
createFarmI18nRuntime,
|
|
194
194
|
getFarmI18nClientSnapshot
|
|
195
195
|
} from "./chunk-JNGIWIY6.mjs";
|
|
196
|
+
import {
|
|
197
|
+
VERCEL_OG_INSTALL_HINT,
|
|
198
|
+
formatOptionalPeerInstallHint,
|
|
199
|
+
isMissingPackageError,
|
|
200
|
+
isOptionalPeerInstalled
|
|
201
|
+
} from "./chunk-YOZYCI6Z.mjs";
|
|
196
202
|
import {
|
|
197
203
|
isFarmAPIPathname
|
|
198
204
|
} from "./chunk-XP777LRD.mjs";
|
|
@@ -265,7 +271,7 @@ import {
|
|
|
265
271
|
} from "./chunk-Z2RZJZIZ.mjs";
|
|
266
272
|
import {
|
|
267
273
|
FARM_VERSION
|
|
268
|
-
} from "./chunk-
|
|
274
|
+
} from "./chunk-EHUZ2MKO.mjs";
|
|
269
275
|
import {
|
|
270
276
|
resolveFarmTrailingSlashRedirect,
|
|
271
277
|
setFarmTrailingSlashPreference
|
|
@@ -7419,20 +7425,6 @@ __name(createFarmApp, "createFarmApp");
|
|
|
7419
7425
|
// src/build/tailwind.ts
|
|
7420
7426
|
import path11 from "path";
|
|
7421
7427
|
|
|
7422
|
-
// src/optional-peer.ts
|
|
7423
|
-
function isMissingPackageError(error, packageName) {
|
|
7424
|
-
if (!error || typeof error !== "object") return false;
|
|
7425
|
-
const { code, message } = error;
|
|
7426
|
-
if (code !== "ERR_MODULE_NOT_FOUND" && code !== "MODULE_NOT_FOUND") return false;
|
|
7427
|
-
if (typeof message !== "string") return false;
|
|
7428
|
-
return message.includes(`'${packageName}'`) || message.includes(`"${packageName}"`);
|
|
7429
|
-
}
|
|
7430
|
-
__name(isMissingPackageError, "isMissingPackageError");
|
|
7431
|
-
function formatOptionalPeerInstallHint(packageName, purpose, options = {}) {
|
|
7432
|
-
return `Install "${packageName}" to ${purpose}: pnpm add ${options.dev ? "-D " : ""}${packageName}`;
|
|
7433
|
-
}
|
|
7434
|
-
__name(formatOptionalPeerInstallHint, "formatOptionalPeerInstallHint");
|
|
7435
|
-
|
|
7436
7428
|
// src/build/vite-plugin-compat.ts
|
|
7437
7429
|
function adaptTailwindVitePlugin(pluginOption, builder) {
|
|
7438
7430
|
if (builder !== "rolldown") return pluginOption;
|
|
@@ -7525,6 +7517,26 @@ function createMissingTailwindPlugin() {
|
|
|
7525
7517
|
}
|
|
7526
7518
|
__name(createMissingTailwindPlugin, "createMissingTailwindPlugin");
|
|
7527
7519
|
|
|
7520
|
+
// src/image-runtime.ts
|
|
7521
|
+
var SHARP_INSTALL_HINT = formatOptionalPeerInstallHint("sharp", "optimize images");
|
|
7522
|
+
var CLOUDFLARE_IMAGE_PRESETS = /* @__PURE__ */ new Set(["cloudflare", "cloudflare-pages", "cloudflare-module"]);
|
|
7523
|
+
function resolveFarmImageProviderForRuntime(images, options) {
|
|
7524
|
+
const provider = images?.provider ?? "auto";
|
|
7525
|
+
if (provider === "none") return images;
|
|
7526
|
+
const usesSharp = options.dev ? true : provider === "node" || provider === "auto" && !CLOUDFLARE_IMAGE_PRESETS.has(options.preset || "");
|
|
7527
|
+
if (!usesSharp || isOptionalPeerInstalled(options.root, "sharp")) return images;
|
|
7528
|
+
if (provider === "node") {
|
|
7529
|
+
throw new Error(
|
|
7530
|
+
`images.provider "node" optimizes images with sharp, which is not installed. ${SHARP_INSTALL_HINT}`
|
|
7531
|
+
);
|
|
7532
|
+
}
|
|
7533
|
+
logger.info(
|
|
7534
|
+
`Image optimization is off because sharp is not installed; images use their original URLs. ${SHARP_INSTALL_HINT}, or set images.provider to "none".`
|
|
7535
|
+
);
|
|
7536
|
+
return Object.freeze({ ...images, provider: "none" });
|
|
7537
|
+
}
|
|
7538
|
+
__name(resolveFarmImageProviderForRuntime, "resolveFarmImageProviderForRuntime");
|
|
7539
|
+
|
|
7528
7540
|
// src/schema-step-types.ts
|
|
7529
7541
|
function validateSchemaSteps(owner, schema, steps) {
|
|
7530
7542
|
if (steps === void 0) return;
|
|
@@ -9494,7 +9506,7 @@ function loadFarmDocsSearchDevRuntime() {
|
|
|
9494
9506
|
}
|
|
9495
9507
|
__name(loadFarmDocsSearchDevRuntime, "loadFarmDocsSearchDevRuntime");
|
|
9496
9508
|
function loadFarmOpenAPIDevRuntime() {
|
|
9497
|
-
return import("./manager-
|
|
9509
|
+
return import("./manager-RT733VRK.mjs");
|
|
9498
9510
|
}
|
|
9499
9511
|
__name(loadFarmOpenAPIDevRuntime, "loadFarmOpenAPIDevRuntime");
|
|
9500
9512
|
function loadFarmWorkflowsDevRuntime() {
|
|
@@ -9502,7 +9514,7 @@ function loadFarmWorkflowsDevRuntime() {
|
|
|
9502
9514
|
}
|
|
9503
9515
|
__name(loadFarmWorkflowsDevRuntime, "loadFarmWorkflowsDevRuntime");
|
|
9504
9516
|
function loadFarmDevtoolsSnapshotRuntime() {
|
|
9505
|
-
return import("./devtools-
|
|
9517
|
+
return import("./devtools-OY4SNU3P.mjs");
|
|
9506
9518
|
}
|
|
9507
9519
|
__name(loadFarmDevtoolsSnapshotRuntime, "loadFarmDevtoolsSnapshotRuntime");
|
|
9508
9520
|
function loadFarmDevtoolsUIRuntime() {
|
|
@@ -9532,14 +9544,29 @@ function farmI18nClientBridgePlugin() {
|
|
|
9532
9544
|
__name(farmI18nClientBridgePlugin, "farmI18nClientBridgePlugin");
|
|
9533
9545
|
var FARM_SERVER_ONLY_ENTRIES = /* @__PURE__ */ new Set(["@farm.js/core/og"]);
|
|
9534
9546
|
function farmServerOnlyEntriesPlugin() {
|
|
9547
|
+
let root = process.cwd();
|
|
9548
|
+
let vercelOgInstalled = false;
|
|
9535
9549
|
return {
|
|
9536
9550
|
name: "farm:server-only-entries",
|
|
9537
9551
|
enforce: "pre",
|
|
9552
|
+
configResolved(config) {
|
|
9553
|
+
root = config.root;
|
|
9554
|
+
},
|
|
9538
9555
|
resolveId(id, importer, options) {
|
|
9539
|
-
if (
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9556
|
+
if (!FARM_SERVER_ONLY_ENTRIES.has(id)) return null;
|
|
9557
|
+
const importedBy = importer ? ` (imported by ${importer})` : "";
|
|
9558
|
+
if (!options?.ssr) {
|
|
9559
|
+
this.error(
|
|
9560
|
+
`${id} is server-only and cannot be imported into client code${importedBy}. Use it from an API route or another server module.`
|
|
9561
|
+
);
|
|
9562
|
+
}
|
|
9563
|
+
vercelOgInstalled || (vercelOgInstalled = isOptionalPeerInstalled(root, "@vercel/og"));
|
|
9564
|
+
if (!vercelOgInstalled) {
|
|
9565
|
+
this.error(
|
|
9566
|
+
`${id} needs @vercel/og, which is not installed${importedBy}. ${VERCEL_OG_INSTALL_HINT}`
|
|
9567
|
+
);
|
|
9568
|
+
}
|
|
9569
|
+
return null;
|
|
9543
9570
|
}
|
|
9544
9571
|
};
|
|
9545
9572
|
}
|
|
@@ -10180,6 +10207,7 @@ function farmPlugin(options = {}, initialPluginManager) {
|
|
|
10180
10207
|
}
|
|
10181
10208
|
const apiServerBasePath = resolveFarmAPIServerBasePath(farmConfig.api);
|
|
10182
10209
|
const serverConfig = resolveFarmServerConfig(farmConfig.server);
|
|
10210
|
+
globalThis.__FARM_IMAGE_CONFIG__ = getPublicFarmImageConfig(farmConfig.images);
|
|
10183
10211
|
let imageHandler = null;
|
|
10184
10212
|
if (farmConfig.images.provider !== "none") {
|
|
10185
10213
|
const { createNodeImageFetcher, createNodeImageUrlValidator, createSharpImageTransformer } = await import("./image/sharp.mjs");
|
|
@@ -14158,7 +14186,7 @@ async function defineConfig(config = {}) {
|
|
|
14158
14186
|
const tailwindVitePlugin = await loadTailwindVitePlugin();
|
|
14159
14187
|
const appRoot = path17.resolve(config.root || process.cwd());
|
|
14160
14188
|
if (config.extends?.length) {
|
|
14161
|
-
const { config: layeredConfig } = await import("./layers-
|
|
14189
|
+
const { config: layeredConfig } = await import("./layers-BRQF5ETU.mjs").then(
|
|
14162
14190
|
({ resolveFarmLayers }) => resolveFarmLayers(config, {
|
|
14163
14191
|
root: appRoot,
|
|
14164
14192
|
mode: process.env.NODE_ENV === "production" ? "production" : "development"
|
|
@@ -14167,6 +14195,7 @@ async function defineConfig(config = {}) {
|
|
|
14167
14195
|
config = layeredConfig;
|
|
14168
14196
|
}
|
|
14169
14197
|
config.renderer = resolveFarmRenderer(config.renderer);
|
|
14198
|
+
config.images = resolveFarmImageProviderForRuntime(config.images, { root: appRoot, dev: true });
|
|
14170
14199
|
const rendererVitePlugins = await loadFarmRendererVitePlugins(config.renderer, appRoot, {
|
|
14171
14200
|
ssr: true
|
|
14172
14201
|
});
|
|
@@ -14393,6 +14422,8 @@ export {
|
|
|
14393
14422
|
FarmPluginOptionsError,
|
|
14394
14423
|
farmPluginMayAffectRuntimePath,
|
|
14395
14424
|
loadTailwindVitePlugin,
|
|
14425
|
+
SHARP_INSTALL_HINT,
|
|
14426
|
+
resolveFarmImageProviderForRuntime,
|
|
14396
14427
|
generateFarmClientPluginEntryCode,
|
|
14397
14428
|
resolveFarmClientCacheAdapterEntry,
|
|
14398
14429
|
generateClientCachePersistenceCode,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-ZMSZZXOR.mjs";
|
|
7
7
|
import {
|
|
8
8
|
APITypeGenerator
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-F3VB7ONA.mjs";
|
|
10
10
|
import {
|
|
11
11
|
mergeRouteRenderingDirectiveConfig
|
|
12
12
|
} from "./chunk-DAO7JGTS.mjs";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
getFarmAppDirectories,
|
|
22
22
|
getFarmSourceRoots
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-JHWOVJ3M.mjs";
|
|
24
24
|
import {
|
|
25
25
|
resolveFarmComponentExtensions
|
|
26
26
|
} from "./chunk-DAATZTKJ.mjs";
|
|
@@ -7,6 +7,9 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
_runWithFarmI18nRequest
|
|
9
9
|
} from "./chunk-JNGIWIY6.mjs";
|
|
10
|
+
import {
|
|
11
|
+
explainMissingOptionalPeer
|
|
12
|
+
} from "./chunk-YOZYCI6Z.mjs";
|
|
10
13
|
import {
|
|
11
14
|
API_ROUTE_METHODS,
|
|
12
15
|
getAllowedAPIRouteMethods,
|
|
@@ -226,7 +229,8 @@ var _APIRouteManager = class _APIRouteManager {
|
|
|
226
229
|
}
|
|
227
230
|
}
|
|
228
231
|
}
|
|
229
|
-
handleLoadError(message,
|
|
232
|
+
handleLoadError(message, loadError) {
|
|
233
|
+
const error = explainMissingOptionalPeer(loadError, message.replace(/^Error loading /, ""));
|
|
230
234
|
logger.error(`${message}: ${error}`);
|
|
231
235
|
if (this.throwOnLoadError || error instanceof APIRouteConflictError || error instanceof AmbiguousRouteError || error instanceof NonTerminalCatchAllRouteError) {
|
|
232
236
|
throw error;
|
|
@@ -18,13 +18,15 @@ var _module = require('module');
|
|
|
18
18
|
var _path = require('path');
|
|
19
19
|
var _esmodulelexer = require('es-module-lexer');
|
|
20
20
|
var moduleLexerInitialized = false;
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
function transformJSXRoute(content,
|
|
24
|
-
_nullishCoalesce(
|
|
25
|
-
"
|
|
21
|
+
var JSX_ROUTE_LANGS = { ".jsx": "jsx", ".tsx": "tsx" };
|
|
22
|
+
var oxcTransformSync;
|
|
23
|
+
function transformJSXRoute(content, lang, filePath) {
|
|
24
|
+
_nullishCoalesce(oxcTransformSync, () => ( (oxcTransformSync = _module.createRequire.call(void 0, typeof __filename === "string" ? __filename : _chunkS3JO3N4Hcjs.define_import_meta_default.url)(
|
|
25
|
+
"rolldown/utils"
|
|
26
26
|
).transformSync)));
|
|
27
|
-
|
|
27
|
+
const result = oxcTransformSync(filePath, content, { lang, sourceType: "module" });
|
|
28
|
+
if (result.errors.length > 0) throw result.errors[0];
|
|
29
|
+
return result.code;
|
|
28
30
|
}
|
|
29
31
|
_chunkS3JO3N4Hcjs.__name.call(void 0, transformJSXRoute, "transformJSXRoute");
|
|
30
32
|
var API_CLIENT_METHOD_SEGMENTS = /* @__PURE__ */ new Set([
|
|
@@ -121,8 +123,8 @@ var _APITypeGenerator = class _APITypeGenerator {
|
|
|
121
123
|
moduleLexerInitialized = true;
|
|
122
124
|
}
|
|
123
125
|
const httpMethods = ["GET", "HEAD", "QUERY", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"];
|
|
124
|
-
const
|
|
125
|
-
const source =
|
|
126
|
+
const lang = JSX_ROUTE_LANGS[_path.extname.call(void 0, filePath)];
|
|
127
|
+
const source = lang ? transformJSXRoute(content, lang, filePath) : content;
|
|
126
128
|
const [, exports] = _esmodulelexer.parse.call(void 0, source);
|
|
127
129
|
const valueExports = new Set(
|
|
128
130
|
exports.filter((specifier) => !this.isTypeOnlyExportSpecifier(source, specifier.s)).map((specifier) => specifier.n)
|
|
@@ -3,10 +3,14 @@ import {
|
|
|
3
3
|
loadFarmDocsPage,
|
|
4
4
|
resolveFarmDocsContentDir,
|
|
5
5
|
toFarmDocsMarkdownPage
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-47H7VENP.mjs";
|
|
7
|
+
import {
|
|
8
|
+
docsEngine,
|
|
9
|
+
loadFarmDocsEngine
|
|
10
|
+
} from "./chunk-2VQKKQ6D.mjs";
|
|
7
11
|
import {
|
|
8
12
|
resolveDocsConfig
|
|
9
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-BDJNP7AQ.mjs";
|
|
10
14
|
import {
|
|
11
15
|
getFarmDocsAdapterConfigModule
|
|
12
16
|
} from "./chunk-VVBO3QH7.mjs";
|
|
@@ -120,21 +124,6 @@ async function createFarmDocsAdapterHandler(docs, options) {
|
|
|
120
124
|
__name(createFarmDocsAdapterHandler, "createFarmDocsAdapterHandler");
|
|
121
125
|
|
|
122
126
|
// src/docs/api.ts
|
|
123
|
-
import {
|
|
124
|
-
buildDocsAgentDiscoverySpec,
|
|
125
|
-
buildDocsConfigMap,
|
|
126
|
-
buildDocsDiagnostics as buildFarmingDocsDiagnostics,
|
|
127
|
-
buildDocsSitemapManifest,
|
|
128
|
-
performDocsSearch,
|
|
129
|
-
renderDocsAgentsDocument,
|
|
130
|
-
renderDocsLlmsTxt,
|
|
131
|
-
renderDocsMarkdownDocument,
|
|
132
|
-
renderDocsRobotsTxt,
|
|
133
|
-
renderDocsSitemapMarkdown,
|
|
134
|
-
renderDocsSitemapXml,
|
|
135
|
-
renderDocsSkillDocument
|
|
136
|
-
} from "@farming-labs/docs";
|
|
137
|
-
import { resolveApiReferenceOpenApiDiscovery } from "@farming-labs/docs/server";
|
|
138
127
|
function isRecord(value) {
|
|
139
128
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
140
129
|
}
|
|
@@ -344,7 +333,7 @@ function getDocsDiscoveryOptions(context, request) {
|
|
|
344
333
|
llms: getDocsLlmsOptions(context, request),
|
|
345
334
|
sitemap: context.docs.config.sitemap ?? true,
|
|
346
335
|
robots: context.docs.config.robots ?? true,
|
|
347
|
-
openapi: resolveApiReferenceOpenApiDiscovery(context.docs.config.apiReference),
|
|
336
|
+
openapi: docsEngine().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
|
__name(getDocsDiscoveryOptions, "getDocsDiscoveryOptions");
|
|
355
344
|
function buildSitemapManifest(context, request) {
|
|
356
345
|
const origin = new URL(request.url).origin;
|
|
357
|
-
return buildDocsSitemapManifest({
|
|
346
|
+
return docsEngine().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
|
__name(buildSitemapManifest, "buildSitemapManifest");
|
|
365
354
|
function renderLlmsTxt(context, request, full) {
|
|
366
|
-
const generated = renderDocsLlmsTxt(
|
|
355
|
+
const generated = docsEngine().renderDocsLlmsTxt(
|
|
367
356
|
getLoadedDocsPages(context).map(toDocsLlmsPage),
|
|
368
357
|
getDocsLlmsOptions(context, request)
|
|
369
358
|
);
|
|
@@ -383,14 +372,14 @@ 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 `${renderDocsSkillDocument(getDocsDiscoveryOptions(context, request)).trim()}
|
|
375
|
+
return `${docsEngine().renderDocsSkillDocument(getDocsDiscoveryOptions(context, request)).trim()}
|
|
387
376
|
|
|
388
377
|
${farmAliases}
|
|
389
378
|
`;
|
|
390
379
|
}
|
|
391
380
|
__name(renderSkillDocument, "renderSkillDocument");
|
|
392
381
|
function renderAgentsDocument(context, request) {
|
|
393
|
-
return `${renderDocsAgentsDocument(getDocsDiscoveryOptions(context, request)).trim()}
|
|
382
|
+
return `${docsEngine().renderDocsAgentsDocument(getDocsDiscoveryOptions(context, request)).trim()}
|
|
394
383
|
`;
|
|
395
384
|
}
|
|
396
385
|
__name(renderAgentsDocument, "renderAgentsDocument");
|
|
@@ -398,7 +387,7 @@ function buildAgentSpec(context, request) {
|
|
|
398
387
|
const url = new URL(request.url);
|
|
399
388
|
const origin = url.origin;
|
|
400
389
|
const pages = discoverFarmDocsPages(context.contentDir, context.docs);
|
|
401
|
-
const spec = buildDocsAgentDiscoverySpec(getDocsDiscoveryOptions(context, request));
|
|
390
|
+
const spec = docsEngine().buildDocsAgentDiscoverySpec(getDocsDiscoveryOptions(context, request));
|
|
402
391
|
const title = getDocsTitle(context.docs);
|
|
403
392
|
return {
|
|
404
393
|
...spec,
|
|
@@ -440,7 +429,7 @@ function buildAgentSpec(context, request) {
|
|
|
440
429
|
__name(buildAgentSpec, "buildAgentSpec");
|
|
441
430
|
function buildDiagnostics(context) {
|
|
442
431
|
const pages = discoverFarmDocsPages(context.contentDir, context.docs);
|
|
443
|
-
const diagnostics =
|
|
432
|
+
const diagnostics = docsEngine().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 performDocsSearch({
|
|
469
|
+
const results = await docsEngine().performDocsSearch({
|
|
481
470
|
pages: sourcePages,
|
|
482
471
|
query,
|
|
483
472
|
search: context.docs.config.search ?? true,
|
|
@@ -498,6 +487,7 @@ async function searchDocs(context, request, query) {
|
|
|
498
487
|
}
|
|
499
488
|
__name(searchDocs, "searchDocs");
|
|
500
489
|
async function resolveAPIContext(options) {
|
|
490
|
+
await loadFarmDocsEngine();
|
|
501
491
|
const runtimeConfig = globalThis.__FARM_DOCS_RUNTIME_CONFIG__;
|
|
502
492
|
const root = options.rootDir || options.root || runtimeConfig?.root || process.cwd();
|
|
503
493
|
const srcDir = options.srcDir || runtimeConfig?.srcDir || "src";
|
|
@@ -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: buildDocsConfigMap(context.docs.config, {
|
|
524
|
+
map: docsEngine().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
|
-
renderDocsSitemapMarkdown(buildSitemapManifest(context, request), {
|
|
541
|
+
docsEngine().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
|
-
renderDocsSitemapXml(buildSitemapManifest(context, request), {
|
|
550
|
+
docsEngine().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
|
-
renderDocsRobotsTxt({
|
|
559
|
+
docsEngine().renderDocsRobotsTxt({
|
|
570
560
|
entry: context.docs.entry,
|
|
571
561
|
sitemap: context.docs.config.sitemap ?? true,
|
|
572
562
|
robots: context.docs.config.robots ?? true,
|
|
@@ -581,7 +571,7 @@ async function handleDocsAPIGet(request, context) {
|
|
|
581
571
|
const page = loadFarmDocsPage(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
|
-
renderDocsMarkdownDocument(toFarmDocsMarkdownPage(page), {
|
|
574
|
+
docsEngine().renderDocsMarkdownDocument(toFarmDocsMarkdownPage(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
|
+
import {
|
|
2
|
+
__name
|
|
3
|
+
} from "./chunk-LPEX4YW6.mjs";
|
|
4
|
+
|
|
5
|
+
// src/optional-peer.ts
|
|
6
|
+
import { createRequire } from "module";
|
|
7
|
+
import path from "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
|
+
__name(isMissingPackageError, "isMissingPackageError");
|
|
21
|
+
function isOptionalPeerInstalled(root, packageName) {
|
|
22
|
+
const appRequire = createRequire(path.join(root, "package.json"));
|
|
23
|
+
const requires = [appRequire];
|
|
24
|
+
try {
|
|
25
|
+
requires.push(createRequire(appRequire.resolve("@farm.js/core")));
|
|
26
|
+
} catch {
|
|
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
|
+
__name(isOptionalPeerInstalled, "isOptionalPeerInstalled");
|
|
38
|
+
function formatOptionalPeerInstallHint(packageName, purpose, options = {}) {
|
|
39
|
+
return `Install "${packageName}" to ${purpose}: pnpm add ${options.dev ? "-D " : ""}${packageName}`;
|
|
40
|
+
}
|
|
41
|
+
__name(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
|
+
__name(explainMissingOptionalPeer, "explainMissingOptionalPeer");
|
|
61
|
+
function withOptionalPeerCause(error, cause) {
|
|
62
|
+
return Object.assign(error, { cause });
|
|
63
|
+
}
|
|
64
|
+
__name(withOptionalPeerCause, "withOptionalPeerCause");
|
|
65
|
+
|
|
66
|
+
export {
|
|
67
|
+
isMissingPackageError,
|
|
68
|
+
isOptionalPeerInstalled,
|
|
69
|
+
formatOptionalPeerInstallHint,
|
|
70
|
+
VERCEL_OG_INSTALL_HINT,
|
|
71
|
+
explainMissingOptionalPeer,
|
|
72
|
+
withOptionalPeerCause
|
|
73
|
+
};
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import {
|
|
2
|
+
VERCEL_OG_INSTALL_HINT,
|
|
3
|
+
isMissingPackageError,
|
|
4
|
+
withOptionalPeerCause
|
|
5
|
+
} from "./chunk-YOZYCI6Z.mjs";
|
|
1
6
|
import {
|
|
2
7
|
omitFarmResponseBody
|
|
3
8
|
} from "./chunk-5WI2S4CO.mjs";
|
|
@@ -141,6 +146,20 @@ async function finalizeMetadataImageResponse(body, headers, options) {
|
|
|
141
146
|
});
|
|
142
147
|
}
|
|
143
148
|
__name(finalizeMetadataImageResponse, "finalizeMetadataImageResponse");
|
|
149
|
+
async function loadVercelOg() {
|
|
150
|
+
try {
|
|
151
|
+
return await import("@vercel/og");
|
|
152
|
+
} catch (error) {
|
|
153
|
+
if (!isMissingPackageError(error, "@vercel/og")) throw error;
|
|
154
|
+
throw withOptionalPeerCause(
|
|
155
|
+
new Error(
|
|
156
|
+
`Rendering a metadata image from JSX needs @vercel/og, which is not installed. ${VERCEL_OG_INSTALL_HINT}`
|
|
157
|
+
),
|
|
158
|
+
error
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
__name(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 = imageModule.contentType?.split(";", 1)[0]?.trim().toLowerCase();
|
|
154
173
|
if (isReactElement(value) && explicitContentType !== "image/svg+xml") {
|
|
155
|
-
const { ImageResponse } = await
|
|
174
|
+
const { ImageResponse } = await loadVercelOg();
|
|
156
175
|
const element = await prepareMetadataImageNode(value);
|
|
157
176
|
const response = new ImageResponse(element, {
|
|
158
177
|
width: imageModule.size?.width || 1200,
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bundleNodeModule
|
|
3
|
+
} from "./chunk-SFGWNC43.mjs";
|
|
1
4
|
import {
|
|
2
5
|
__name
|
|
3
6
|
} from "./chunk-LPEX4YW6.mjs";
|
|
4
7
|
|
|
5
8
|
// src/instrumentation.ts
|
|
6
|
-
import { build } from "esbuild";
|
|
7
9
|
import fs from "fs";
|
|
8
10
|
import path from "path";
|
|
9
11
|
import { pathToFileURL } from "url";
|
|
@@ -32,15 +34,12 @@ async function loadFarmInstrumentation(filePath, root) {
|
|
|
32
34
|
const outputDirectory = path.join(root, ".farm", ".instrumentation-loader");
|
|
33
35
|
const outputFile = path.join(outputDirectory, "instrumentation.mjs");
|
|
34
36
|
await fs.promises.mkdir(outputDirectory, { recursive: true });
|
|
35
|
-
await
|
|
36
|
-
|
|
37
|
+
await bundleNodeModule({
|
|
38
|
+
root,
|
|
39
|
+
entry: filePath,
|
|
37
40
|
outfile: outputFile,
|
|
38
|
-
bundle: true,
|
|
39
|
-
format: "esm",
|
|
40
|
-
platform: "node",
|
|
41
41
|
target: "node20",
|
|
42
|
-
|
|
43
|
-
sourcemap: "inline"
|
|
42
|
+
externalPackages: true
|
|
44
43
|
});
|
|
45
44
|
const url = pathToFileURL(outputFile);
|
|
46
45
|
url.searchParams.set("t", String(Date.now()));
|
|
@@ -12,12 +12,13 @@ import { OrmClient, SchemaDefinition, ModelDefinition, FieldBuilder, JsonValue,
|
|
|
12
12
|
import { a as FarmDocsUserConfig, F as FarmDocsResolvedConfig } from './types-DFbjpjXX.mjs';
|
|
13
13
|
import { FarmObservabilityUserConfig } from './observability.mjs';
|
|
14
14
|
import * as vite from 'vite';
|
|
15
|
-
import { ViteDevServer, UserConfig, Plugin, Connect } from 'vite';
|
|
15
|
+
import { ViteDevServer, UserConfig, Plugin as Plugin$1, Connect } from 'vite';
|
|
16
16
|
import { k as FarmWorkflowsUserConfig, a as FarmServerConfig, F as FarmWorkflowsResolvedConfig, R as ResolvedFarmServerConfig } from './workflows-CR9ex-gz.mjs';
|
|
17
17
|
import { FarmCronUserConfig, FarmCronResolvedConfig } from './cron.mjs';
|
|
18
18
|
import { ResolvedFarmEnv, FarmEnvConfig } from './env.mjs';
|
|
19
19
|
import { FarmServerActionsConfig, ResolvedFarmServerActionsConfig } from './server-action-security.mjs';
|
|
20
|
-
import * as
|
|
20
|
+
import * as rolldown_utils from 'rolldown/utils';
|
|
21
|
+
import { Plugin } from 'rolldown';
|
|
21
22
|
import { F as FarmImageConfig, R as ResolvedFarmImageConfig } from './image-config-Duob7wER.mjs';
|
|
22
23
|
import { g as FarmI18nUserConfig, R as ResolvedFarmI18nConfig } from './types-Z0aotQ8w.mjs';
|
|
23
24
|
import { FarmCacheUserConfig } from './cache.mjs';
|
|
@@ -947,7 +948,7 @@ declare function routeRulesToRedirects(routeRules: FarmRouteRules): RedirectConf
|
|
|
947
948
|
declare function routeRulesToHeaders(routeRules: FarmRouteRules): HeaderConfig[];
|
|
948
949
|
declare function routeRulesToNitroRouteRules(routeRules: FarmRouteRules): Record<string, any>;
|
|
949
950
|
|
|
950
|
-
type
|
|
951
|
+
type OxcTransform = (typeof rolldown_utils)["transform"];
|
|
951
952
|
type FarmLayerEntry = string;
|
|
952
953
|
interface ResolvedFarmLayer {
|
|
953
954
|
/** The value used in `extends`. */
|
|
@@ -991,8 +992,8 @@ declare function getFarmAppDirectories(config: {
|
|
|
991
992
|
}): string[];
|
|
992
993
|
declare function getFarmLayerAliases(layers: readonly ResolvedFarmLayer[] | undefined): Record<string, string>;
|
|
993
994
|
declare function createFarmConfigResolutionPlugin(options: {
|
|
994
|
-
transform:
|
|
995
|
-
}):
|
|
995
|
+
transform: OxcTransform;
|
|
996
|
+
}): Plugin;
|
|
996
997
|
declare function loadFarmConfigFile<TConfig = Record<string, any>>(configPath: string, options: {
|
|
997
998
|
root: string;
|
|
998
999
|
cacheRoot?: string;
|
|
@@ -1509,13 +1510,14 @@ interface FarmVitePluginOptions extends FarmConfig {
|
|
|
1509
1510
|
/** @internal Modules selected by the compiled isolated-hydration ownership plan. */
|
|
1510
1511
|
isolatedClientBoundaryModules?: ReadonlySet<string>;
|
|
1511
1512
|
}
|
|
1512
|
-
declare function farmI18nClientBridgePlugin(): Plugin;
|
|
1513
|
+
declare function farmI18nClientBridgePlugin(): Plugin$1;
|
|
1513
1514
|
/**
|
|
1514
1515
|
* Fail a browser graph that imports a server-only core entry, instead of
|
|
1515
1516
|
* bundling its server runtime (for `@farm.js/core/og`, the `@vercel/og` wasm
|
|
1516
|
-
* renderer) into client code.
|
|
1517
|
+
* renderer) into client code. A server graph that imports `@farm.js/core/og`
|
|
1518
|
+
* without the optional `@vercel/og` peer fails with the install command.
|
|
1517
1519
|
*/
|
|
1518
|
-
declare function farmServerOnlyEntriesPlugin(): Plugin;
|
|
1520
|
+
declare function farmServerOnlyEntriesPlugin(): Plugin$1;
|
|
1519
1521
|
|
|
1520
1522
|
/** Exported for tests: the request boundary all Farm dev middlewares share. */
|
|
1521
1523
|
declare function withFarmRequestTracing(handler: Parameters<typeof _withAfterNodeMiddleware>[0], apiRuntime?: APIRequestRuntime, resolveTraceUrl?: (request: Connect.IncomingMessage) => URL): Connect.NextHandleFunction;
|
|
@@ -1548,7 +1550,7 @@ declare function transformIsolatedClientBoundaryModule(options: {
|
|
|
1548
1550
|
* Farm leaves the module unaccepted.
|
|
1549
1551
|
*/
|
|
1550
1552
|
declare function shouldEmitFarmClientRootHmr(renderer?: FarmRenderer): boolean;
|
|
1551
|
-
declare function farmPlugin(options?: FarmVitePluginOptions, initialPluginManager?: PluginManager): Plugin;
|
|
1553
|
+
declare function farmPlugin(options?: FarmVitePluginOptions, initialPluginManager?: PluginManager): Plugin$1;
|
|
1552
1554
|
declare function defineConfig(config?: FarmVitePluginOptions): Promise<UserConfig>;
|
|
1553
1555
|
|
|
1554
1556
|
type MaybePromise$1<T> = T | Promise<T>;
|