@farm.js/core 0.1.0-beta.21 → 0.1.0-beta.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/after.d.mts +25 -0
- package/dist/after.d.ts +25 -0
- package/dist/agent-runtime.d.mts +97 -0
- package/dist/agent-runtime.d.ts +97 -0
- package/dist/api/route-manager.d.mts +68 -0
- package/dist/api/route-manager.d.ts +68 -0
- package/dist/api/runtime.d.mts +3 -0
- package/dist/api/runtime.d.ts +3 -0
- package/dist/api.cjs +22 -19
- package/dist/api.cjs.map +1 -1
- package/dist/api.d.mts +50 -0
- package/dist/api.d.ts +50 -0
- package/dist/api.mjs +2 -1
- package/dist/app-CTFnOJaI.d.ts +308 -0
- package/dist/app-DA6ospIq.d.mts +308 -0
- package/dist/app-markdown.d.mts +25 -0
- package/dist/app-markdown.d.ts +25 -0
- package/dist/cache.d.mts +192 -0
- package/dist/cache.d.ts +192 -0
- package/dist/{chunk-MIUW47JX.mjs → chunk-2PEJGY5V.mjs} +15 -20
- package/dist/chunk-2PEJGY5V.mjs.map +1 -0
- package/dist/{chunk-RIXKJPGI.mjs → chunk-42325TLU.mjs} +2 -2
- package/dist/chunk-4IVNW5QD.mjs +82 -0
- package/dist/chunk-4IVNW5QD.mjs.map +1 -0
- package/dist/{chunk-I3UWA2P2.mjs → chunk-5NOVWCFL.mjs} +2 -2
- package/dist/chunk-5NOVWCFL.mjs.map +1 -0
- package/dist/chunk-D42BNPZH.mjs +79 -0
- package/dist/chunk-D42BNPZH.mjs.map +1 -0
- package/dist/{chunk-LLPN5SEZ.mjs → chunk-DVPRBMU2.mjs} +2 -2
- package/dist/{chunk-VIC7NJ77.mjs → chunk-FJGTYLCO.mjs} +67 -20
- package/dist/chunk-FJGTYLCO.mjs.map +1 -0
- package/dist/chunk-GIELMNBG.mjs +15 -0
- package/dist/chunk-GIELMNBG.mjs.map +1 -0
- package/dist/chunk-GQVQESLY.mjs +25 -0
- package/dist/chunk-GQVQESLY.mjs.map +1 -0
- package/dist/chunk-H53KVQUU.mjs +48 -0
- package/dist/chunk-H53KVQUU.mjs.map +1 -0
- package/dist/chunk-HCGQYYHI.mjs +1 -0
- package/dist/chunk-HCGQYYHI.mjs.map +1 -0
- package/dist/{chunk-4EATUJFO.mjs → chunk-ICTGDDV4.mjs} +20 -22
- package/dist/chunk-ICTGDDV4.mjs.map +1 -0
- package/dist/{chunk-UCYWGN2P.mjs → chunk-OHNSROHS.mjs} +1 -1
- package/dist/{chunk-FRPWCMMG.mjs → chunk-SBWOTAX4.mjs} +63 -2
- package/dist/chunk-SBWOTAX4.mjs.map +1 -0
- package/dist/{chunk-FKKM7HVF.mjs → chunk-TX54PXAJ.mjs} +109 -58
- package/dist/chunk-TX54PXAJ.mjs.map +1 -0
- package/dist/{chunk-CEVMYGDL.mjs → chunk-YD5IRKVS.mjs} +13 -9
- package/dist/chunk-YD5IRKVS.mjs.map +1 -0
- package/dist/chunk-recovery-lnQFzcQP.d.mts +26 -0
- package/dist/chunk-recovery-lnQFzcQP.d.ts +26 -0
- package/dist/client-BT1mFQas.d.mts +447 -0
- package/dist/client-Nn0q4eO4.d.ts +447 -0
- package/dist/client-cache-CIlyBlmx.d.ts +6 -0
- package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
- package/dist/client-plugins-CCilIb_G.d.mts +2092 -0
- package/dist/client-plugins-DuuleQKk.d.ts +2092 -0
- package/dist/client-plugins.d.mts +25 -0
- package/dist/client-plugins.d.ts +25 -0
- package/dist/client.cjs +122 -35
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.mts +454 -0
- package/dist/client.d.ts +454 -0
- package/dist/client.mjs +13 -2
- package/dist/config.d.mts +32 -0
- package/dist/config.d.ts +32 -0
- package/dist/cron.d.mts +78 -0
- package/dist/cron.d.ts +78 -0
- package/dist/deferred.d.mts +42 -0
- package/dist/deferred.d.ts +42 -0
- package/dist/deployment.d.mts +36 -0
- package/dist/deployment.d.ts +36 -0
- package/dist/{devtools-52FYXIEK.mjs → devtools-326RBQCN.mjs} +7 -6
- package/dist/{devtools-52FYXIEK.mjs.map → devtools-326RBQCN.mjs.map} +1 -1
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.mts +80 -0
- package/dist/docs.d.ts +80 -0
- package/dist/docs.mjs +6 -5
- package/dist/env-types.d.mts +12 -0
- package/dist/env-types.d.ts +12 -0
- package/dist/env.d.mts +45 -0
- package/dist/env.d.ts +45 -0
- package/dist/environment/vite.d.mts +22 -0
- package/dist/environment/vite.d.ts +22 -0
- package/dist/environment.d.mts +18 -0
- package/dist/environment.d.ts +18 -0
- package/dist/font.d.mts +95 -0
- package/dist/font.d.ts +95 -0
- package/dist/headers.d.mts +22 -0
- package/dist/headers.d.ts +22 -0
- package/dist/i18n/client.d.mts +32 -0
- package/dist/i18n/client.d.ts +32 -0
- package/dist/i18n/index.d.mts +20 -0
- package/dist/i18n/index.d.ts +20 -0
- package/dist/i18n/server.d.mts +30 -0
- package/dist/i18n/server.d.ts +30 -0
- package/dist/image/server.d.mts +37 -0
- package/dist/image/server.d.ts +37 -0
- package/dist/image/sharp.d.mts +7 -0
- package/dist/image/sharp.d.ts +7 -0
- package/dist/image-config-Duob7wER.d.mts +50 -0
- package/dist/image-config-Duob7wER.d.ts +50 -0
- package/dist/image.d.mts +39 -0
- package/dist/image.d.ts +39 -0
- package/dist/index.cjs +496 -123
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +480 -0
- package/dist/index.d.ts +480 -0
- package/dist/index.mjs +70 -52
- package/dist/index.mjs.map +1 -1
- package/dist/integration-api-CHT2OKAf.d.mts +93 -0
- package/dist/integration-api-CHT2OKAf.d.ts +93 -0
- package/dist/integrations.d.mts +25 -0
- package/dist/integrations.d.ts +25 -0
- package/dist/internal/build-runtime.cjs +386 -83
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.d.mts +42 -0
- package/dist/internal/build-runtime.d.ts +42 -0
- package/dist/internal/build-runtime.mjs +17 -13
- package/dist/internal/client-runtime.d.mts +17 -0
- package/dist/internal/client-runtime.d.ts +17 -0
- package/dist/internal/config-runtime.cjs +41 -0
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.d.mts +42 -0
- package/dist/internal/config-runtime.d.ts +42 -0
- package/dist/internal/config-runtime.mjs +5 -4
- package/dist/internal/metadata-image-runtime.d.mts +25 -0
- package/dist/internal/metadata-image-runtime.d.ts +25 -0
- package/dist/internal/production-node-env.d.mts +12 -0
- package/dist/internal/production-node-env.d.ts +12 -0
- package/dist/internal/production-runtime.cjs +178 -0
- package/dist/internal/production-runtime.cjs.map +1 -1
- package/dist/internal/production-runtime.d.mts +80 -0
- package/dist/internal/production-runtime.d.ts +80 -0
- package/dist/internal/production-runtime.mjs +13 -1
- package/dist/internal/production-runtime.mjs.map +1 -1
- package/dist/island-CfGru1MO.d.mts +9 -0
- package/dist/island-CfGru1MO.d.ts +9 -0
- package/dist/markdown.d.mts +60 -0
- package/dist/markdown.d.ts +60 -0
- package/dist/metadata-DyPRG0wX.d.ts +22 -0
- package/dist/metadata-_GHcAySx.d.mts +22 -0
- package/dist/middleware.cjs +17 -17
- package/dist/middleware.cjs.map +1 -1
- package/dist/middleware.d.mts +172 -0
- package/dist/middleware.d.ts +172 -0
- package/dist/middleware.mjs +3 -2
- package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
- package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
- package/dist/navigation.d.mts +14 -0
- package/dist/navigation.d.ts +14 -0
- package/dist/observability.d.mts +335 -0
- package/dist/observability.d.ts +335 -0
- package/dist/params-BALtrRim.d.ts +15 -0
- package/dist/params-ry-lxqmy.d.mts +15 -0
- package/dist/plugin-BJDf43dc.d.mts +165 -0
- package/dist/plugin-BJDf43dc.d.ts +165 -0
- package/dist/plugin.cjs +261 -62
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.mts +25 -0
- package/dist/plugin.d.ts +25 -0
- package/dist/plugin.mjs +13 -9
- package/dist/production-runtime-C4cO3esK.d.mts +81 -0
- package/dist/production-runtime-DrEy8kBO.d.ts +81 -0
- package/dist/query/client.d.mts +61 -0
- package/dist/query/client.d.ts +61 -0
- package/dist/query/index.d.mts +90 -0
- package/dist/query/index.d.ts +90 -0
- package/dist/query/parsers.d.mts +25 -0
- package/dist/query/parsers.d.ts +25 -0
- package/dist/query/server.d.mts +55 -0
- package/dist/query/server.d.ts +55 -0
- package/dist/request-B2PpOxYK.d.mts +6 -0
- package/dist/request-D40lt6aN.d.ts +6 -0
- package/dist/request.d.mts +26 -0
- package/dist/request.d.ts +26 -0
- package/dist/resolver-DJqjLMg_.d.mts +14 -0
- package/dist/resolver-IH4RmPEl.d.ts +14 -0
- package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
- package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
- package/dist/router.d.mts +36 -0
- package/dist/router.d.ts +36 -0
- package/dist/routes.d.mts +227 -0
- package/dist/routes.d.ts +227 -0
- package/dist/runtime-Bpp-c28k.d.ts +231 -0
- package/dist/runtime-Cxpq6xZN.d.mts +27 -0
- package/dist/runtime-Q3u74Nbq.d.mts +231 -0
- package/dist/runtime-bv63eUiO.d.ts +27 -0
- package/dist/server-action-security.d.mts +45 -0
- package/dist/server-action-security.d.ts +45 -0
- package/dist/server-fn-client.d.mts +33 -0
- package/dist/server-fn-client.d.ts +33 -0
- package/dist/server-fn-error-DDh14a0V.d.mts +26 -0
- package/dist/server-fn-error-DDh14a0V.d.ts +26 -0
- package/dist/server-fn.d.mts +121 -0
- package/dist/server-fn.d.ts +121 -0
- package/dist/server-plugins.d.mts +58 -0
- package/dist/server-plugins.d.ts +58 -0
- package/dist/server-query-client.d.mts +51 -0
- package/dist/server-query-client.d.ts +51 -0
- package/dist/server-query.d.mts +37 -0
- package/dist/server-query.d.ts +37 -0
- package/dist/server.cjs +285 -85
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.mts +53 -0
- package/dist/server.d.ts +53 -0
- package/dist/server.mjs +26 -31
- package/dist/server.mjs.map +1 -1
- package/dist/storage.d.mts +52 -0
- package/dist/storage.d.ts +52 -0
- package/dist/testing.d.mts +104 -0
- package/dist/testing.d.ts +104 -0
- package/dist/theme/client.cjs +115 -0
- package/dist/theme/client.cjs.map +1 -0
- package/dist/theme/client.d.mts +17 -0
- package/dist/theme/client.d.ts +17 -0
- package/dist/theme/client.mjs +16 -0
- package/dist/theme/client.mjs.map +1 -0
- package/dist/theme/index.cjs +71 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.d.mts +6 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.mjs +9 -0
- package/dist/theme/index.mjs.map +1 -0
- package/dist/theme/server.cjs +191 -0
- package/dist/theme/server.cjs.map +1 -0
- package/dist/theme/server.d.mts +8 -0
- package/dist/theme/server.d.ts +8 -0
- package/dist/theme/server.mjs +18 -0
- package/dist/theme/server.mjs.map +1 -0
- package/dist/transport-BmbGTXA5.d.mts +49 -0
- package/dist/transport-BmbGTXA5.d.ts +49 -0
- package/dist/types-BMxWr97v.d.mts +81 -0
- package/dist/types-BMxWr97v.d.ts +81 -0
- package/dist/types-CsR8fpgF.d.mts +30 -0
- package/dist/types-CsR8fpgF.d.ts +30 -0
- package/dist/types-D1A6-XvH.d.mts +73 -0
- package/dist/types-D1A6-XvH.d.ts +73 -0
- package/dist/types-DTzm4TCl.d.mts +78 -0
- package/dist/types-DTzm4TCl.d.ts +78 -0
- package/dist/utils-3sQgfkya.d.ts +23 -0
- package/dist/utils-Bop7bly-.d.mts +23 -0
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.mts +3 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +285 -64
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.mts +25 -0
- package/dist/vite.d.ts +25 -0
- package/dist/vite.mjs +13 -9
- package/dist/workflows-CusFV6mn.d.mts +153 -0
- package/dist/workflows-CusFV6mn.d.ts +153 -0
- package/dist/workflows.d.mts +1 -0
- package/dist/workflows.d.ts +1 -0
- package/package.json +25 -1
- package/dist/chunk-4EATUJFO.mjs.map +0 -1
- package/dist/chunk-CEVMYGDL.mjs.map +0 -1
- package/dist/chunk-FKKM7HVF.mjs.map +0 -1
- package/dist/chunk-FRPWCMMG.mjs.map +0 -1
- package/dist/chunk-I3UWA2P2.mjs.map +0 -1
- package/dist/chunk-MIUW47JX.mjs.map +0 -1
- package/dist/chunk-VIC7NJ77.mjs.map +0 -1
- /package/dist/{chunk-RIXKJPGI.mjs.map → chunk-42325TLU.mjs.map} +0 -0
- /package/dist/{chunk-LLPN5SEZ.mjs.map → chunk-DVPRBMU2.mjs.map} +0 -0
- /package/dist/{chunk-UCYWGN2P.mjs.map → chunk-OHNSROHS.mjs.map} +0 -0
package/dist/vite.cjs
CHANGED
|
@@ -4444,6 +4444,52 @@ var init_config = __esm({
|
|
|
4444
4444
|
}
|
|
4445
4445
|
});
|
|
4446
4446
|
|
|
4447
|
+
// src/theme/config.ts
|
|
4448
|
+
function resolveFarmThemeConfig(config, basePath = "/") {
|
|
4449
|
+
if (config && "enabled" in config) {
|
|
4450
|
+
return config;
|
|
4451
|
+
}
|
|
4452
|
+
if (!config) {
|
|
4453
|
+
return {
|
|
4454
|
+
enabled: false,
|
|
4455
|
+
default: "system",
|
|
4456
|
+
storageKey: DEFAULT_FARM_THEME_STORAGE_KEY,
|
|
4457
|
+
cookiePath: normalizeCookiePath(basePath)
|
|
4458
|
+
};
|
|
4459
|
+
}
|
|
4460
|
+
const storageKey = config.storageKey?.trim() || DEFAULT_FARM_THEME_STORAGE_KEY;
|
|
4461
|
+
if (!STORAGE_KEY_PATTERN.test(storageKey)) {
|
|
4462
|
+
throw new Error(
|
|
4463
|
+
"theme.storageKey may only contain letters, numbers, dots, underscores, and hyphens."
|
|
4464
|
+
);
|
|
4465
|
+
}
|
|
4466
|
+
const defaultTheme = config.default ?? "system";
|
|
4467
|
+
if (defaultTheme !== "light" && defaultTheme !== "dark" && defaultTheme !== "system") {
|
|
4468
|
+
throw new Error('theme.default must be "light", "dark", or "system".');
|
|
4469
|
+
}
|
|
4470
|
+
return {
|
|
4471
|
+
enabled: true,
|
|
4472
|
+
default: defaultTheme,
|
|
4473
|
+
storageKey,
|
|
4474
|
+
cookiePath: normalizeCookiePath(basePath)
|
|
4475
|
+
};
|
|
4476
|
+
}
|
|
4477
|
+
function normalizeCookiePath(basePath) {
|
|
4478
|
+
const normalized = `/${basePath}`.replace(/\/{2,}/g, "/");
|
|
4479
|
+
if (normalized === "/") return normalized;
|
|
4480
|
+
return normalized.replace(/\/$/, "");
|
|
4481
|
+
}
|
|
4482
|
+
var DEFAULT_FARM_THEME_STORAGE_KEY, STORAGE_KEY_PATTERN;
|
|
4483
|
+
var init_config2 = __esm({
|
|
4484
|
+
"src/theme/config.ts"() {
|
|
4485
|
+
"use strict";
|
|
4486
|
+
DEFAULT_FARM_THEME_STORAGE_KEY = "farm-theme";
|
|
4487
|
+
STORAGE_KEY_PATTERN = /^[A-Za-z0-9._-]+$/;
|
|
4488
|
+
__name(resolveFarmThemeConfig, "resolveFarmThemeConfig");
|
|
4489
|
+
__name(normalizeCookiePath, "normalizeCookiePath");
|
|
4490
|
+
}
|
|
4491
|
+
});
|
|
4492
|
+
|
|
4447
4493
|
// src/devtools-config.ts
|
|
4448
4494
|
function resolveFarmDevtoolsConfig(config, mode = "development") {
|
|
4449
4495
|
if (mode !== "development" || config === false) {
|
|
@@ -9336,7 +9382,7 @@ async function resolveDocsConfig(userDocs, options = {}) {
|
|
|
9336
9382
|
};
|
|
9337
9383
|
}
|
|
9338
9384
|
var import_path9, DOCS_CONFIG_FILENAMES;
|
|
9339
|
-
var
|
|
9385
|
+
var init_config3 = __esm({
|
|
9340
9386
|
"src/config.ts"() {
|
|
9341
9387
|
"use strict";
|
|
9342
9388
|
init_integrations();
|
|
@@ -9357,6 +9403,7 @@ var init_config2 = __esm({
|
|
|
9357
9403
|
init_auth_config();
|
|
9358
9404
|
init_preload();
|
|
9359
9405
|
init_security();
|
|
9406
|
+
init_config2();
|
|
9360
9407
|
init_config_entry();
|
|
9361
9408
|
__name(getDeployTargetForPreset, "getDeployTargetForPreset");
|
|
9362
9409
|
DOCS_CONFIG_FILENAMES = [
|
|
@@ -9851,7 +9898,7 @@ var init_api = __esm({
|
|
|
9851
9898
|
"src/docs/api.ts"() {
|
|
9852
9899
|
"use strict";
|
|
9853
9900
|
import_docs2 = require("@farming-labs/docs");
|
|
9854
|
-
|
|
9901
|
+
init_config3();
|
|
9855
9902
|
init_handler();
|
|
9856
9903
|
__name(isRecord4, "isRecord");
|
|
9857
9904
|
__name(isResolvedDocsConfig2, "isResolvedDocsConfig");
|
|
@@ -10836,7 +10883,7 @@ var init_devtools = __esm({
|
|
|
10836
10883
|
"src/devtools.ts"() {
|
|
10837
10884
|
"use strict";
|
|
10838
10885
|
import_node_path14 = __toESM(require("path"));
|
|
10839
|
-
|
|
10886
|
+
init_config3();
|
|
10840
10887
|
init_cron();
|
|
10841
10888
|
init_route_runtime();
|
|
10842
10889
|
__name(normalizePath, "normalizePath");
|
|
@@ -16504,6 +16551,16 @@ async function _runWithCurrentRequest(request, fn) {
|
|
|
16504
16551
|
return requestStore.run(request, fn);
|
|
16505
16552
|
}
|
|
16506
16553
|
__name(_runWithCurrentRequest, "_runWithCurrentRequest");
|
|
16554
|
+
function getCurrentRequest() {
|
|
16555
|
+
const request = requestStore.getStore();
|
|
16556
|
+
if (!request) {
|
|
16557
|
+
throw new Error(
|
|
16558
|
+
"No current request is available. getCurrentRequest() can only be used during server rendering."
|
|
16559
|
+
);
|
|
16560
|
+
}
|
|
16561
|
+
return request;
|
|
16562
|
+
}
|
|
16563
|
+
__name(getCurrentRequest, "getCurrentRequest");
|
|
16507
16564
|
|
|
16508
16565
|
// src/client/router.ts
|
|
16509
16566
|
var import_react3 = require("react");
|
|
@@ -18910,6 +18967,125 @@ function DefaultNotFoundPage(_props) {
|
|
|
18910
18967
|
}
|
|
18911
18968
|
__name(DefaultNotFoundPage, "DefaultNotFoundPage");
|
|
18912
18969
|
|
|
18970
|
+
// src/theme/server-runtime.ts
|
|
18971
|
+
init_config2();
|
|
18972
|
+
var THEME_SCRIPT_ID = "farm-theme-script";
|
|
18973
|
+
var THEME_STYLE_ID = "farm-theme-style";
|
|
18974
|
+
function createFarmThemeDocumentParts(input, basePath = "/", serverTheme) {
|
|
18975
|
+
const config = resolveFarmThemeConfig(input, basePath);
|
|
18976
|
+
if (!config.enabled) return { attributes: "", head: "" };
|
|
18977
|
+
const hydrationTheme = serverTheme ?? config.default;
|
|
18978
|
+
const initialTheme = hydrationTheme === "system" ? "light" : hydrationTheme;
|
|
18979
|
+
const script = createFarmThemeBootstrapScript(config, hydrationTheme);
|
|
18980
|
+
return {
|
|
18981
|
+
attributes: ` data-theme="${initialTheme}"`,
|
|
18982
|
+
head: `<style id="${THEME_STYLE_ID}">:root[data-theme="light"]{color-scheme:light}:root[data-theme="dark"]{color-scheme:dark}</style><script id="${THEME_SCRIPT_ID}">${script}</script>`
|
|
18983
|
+
};
|
|
18984
|
+
}
|
|
18985
|
+
__name(createFarmThemeDocumentParts, "createFarmThemeDocumentParts");
|
|
18986
|
+
function createFarmThemeBootstrapScript(config, serverTheme = config.default) {
|
|
18987
|
+
return `(function(config,serverTheme){
|
|
18988
|
+
var isTheme=function(value){return value==="light"||value==="dark"||value==="system";};
|
|
18989
|
+
var decode=function(value){try{return decodeURIComponent(value);}catch(_error){return value;}};
|
|
18990
|
+
var readCookie=function(){var entries=document.cookie.split(";");for(var index=0;index<entries.length;index++){var entry=entries[index];var separator=entry.indexOf("=");if(separator<0)continue;if(decode(entry.slice(0,separator).trim())===config.storageKey)return decode(entry.slice(separator+1).trim());}};
|
|
18991
|
+
var media=window.matchMedia("(prefers-color-scheme: dark)");
|
|
18992
|
+
var resolveTheme=function(theme){return theme==="system"?(media.matches?"dark":"light"):theme;};
|
|
18993
|
+
var storedTheme=readCookie();
|
|
18994
|
+
var preference=isTheme(storedTheme)?storedTheme:config.default;
|
|
18995
|
+
var serverSnapshot={theme:serverTheme,resolvedTheme:serverTheme==="system"?undefined:serverTheme,mounted:false};
|
|
18996
|
+
var apply=function(){var resolvedTheme=resolveTheme(preference);document.documentElement.dataset.theme=resolvedTheme;var snapshot={theme:preference,resolvedTheme:resolvedTheme,mounted:true};if(window.__FARM_THEME__)window.__FARM_THEME__.snapshot=snapshot;return snapshot;};
|
|
18997
|
+
var emit=function(){var snapshot=apply();window.dispatchEvent(new CustomEvent("farm:themechange",{detail:snapshot}));};
|
|
18998
|
+
var persist=function(theme){var secure=window.location.protocol==="https:"?"; Secure":"";document.cookie=encodeURIComponent(config.storageKey)+"="+encodeURIComponent(theme)+"; Path="+config.cookiePath+"; Max-Age=31536000; SameSite=Lax"+secure;try{localStorage.setItem(config.storageKey,theme);}catch(_error){}};
|
|
18999
|
+
var setTheme=function(theme){if(!isTheme(theme))throw new TypeError("Unknown FARMJS theme: "+String(theme));preference=theme;persist(theme);emit();};
|
|
19000
|
+
var initialSnapshot={theme:preference,resolvedTheme:resolveTheme(preference),mounted:true};
|
|
19001
|
+
window.__FARM_THEME__={config:config,serverSnapshot:serverSnapshot,snapshot:initialSnapshot,setTheme:setTheme};
|
|
19002
|
+
document.documentElement.dataset.theme=initialSnapshot.resolvedTheme;
|
|
19003
|
+
var handleSystemChange=function(){if(preference==="system")emit();};
|
|
19004
|
+
if(typeof media.addEventListener==="function")media.addEventListener("change",handleSystemChange);else if(typeof media.addListener==="function")media.addListener(handleSystemChange);
|
|
19005
|
+
window.addEventListener("storage",function(event){if(event.key!==config.storageKey||!isTheme(event.newValue))return;preference=event.newValue;persist(preference);emit();});
|
|
19006
|
+
})(${serializeInlineValue(config)},${serializeInlineValue(serverTheme)});`;
|
|
19007
|
+
}
|
|
19008
|
+
__name(createFarmThemeBootstrapScript, "createFarmThemeBootstrapScript");
|
|
19009
|
+
function serializeInlineValue(value) {
|
|
19010
|
+
return JSON.stringify(value).replace(/</g, "\\u003c").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
|
|
19011
|
+
}
|
|
19012
|
+
__name(serializeInlineValue, "serializeInlineValue");
|
|
19013
|
+
|
|
19014
|
+
// src/theme/bridge.ts
|
|
19015
|
+
var FALLBACK_SERVER_SNAPSHOT = Object.freeze({
|
|
19016
|
+
theme: "system",
|
|
19017
|
+
resolvedTheme: void 0,
|
|
19018
|
+
mounted: false
|
|
19019
|
+
});
|
|
19020
|
+
var FARM_THEME_SERVER_SNAPSHOT_RESOLVER = /* @__PURE__ */ Symbol.for("farm.js.theme.server-snapshot-resolver");
|
|
19021
|
+
function _setFarmThemeServerSnapshotResolver(resolver) {
|
|
19022
|
+
globalThis[FARM_THEME_SERVER_SNAPSHOT_RESOLVER] = resolver;
|
|
19023
|
+
}
|
|
19024
|
+
__name(_setFarmThemeServerSnapshotResolver, "_setFarmThemeServerSnapshotResolver");
|
|
19025
|
+
|
|
19026
|
+
// src/theme/server.ts
|
|
19027
|
+
init_config2();
|
|
19028
|
+
var defaultThemeConfig = resolveFarmThemeConfig(void 0);
|
|
19029
|
+
function _setDefaultFarmThemeConfig(config, basePath = "/") {
|
|
19030
|
+
defaultThemeConfig = resolveFarmThemeConfig(config, basePath);
|
|
19031
|
+
}
|
|
19032
|
+
__name(_setDefaultFarmThemeConfig, "_setDefaultFarmThemeConfig");
|
|
19033
|
+
function getTheme(request = getCurrentRequest()) {
|
|
19034
|
+
return readFarmThemePreference(request, defaultThemeConfig);
|
|
19035
|
+
}
|
|
19036
|
+
__name(getTheme, "getTheme");
|
|
19037
|
+
function getThemeSnapshot(request = getCurrentRequest()) {
|
|
19038
|
+
const theme = readFarmThemePreference(request, defaultThemeConfig);
|
|
19039
|
+
return {
|
|
19040
|
+
theme,
|
|
19041
|
+
resolvedTheme: theme === "system" ? void 0 : theme,
|
|
19042
|
+
mounted: false
|
|
19043
|
+
};
|
|
19044
|
+
}
|
|
19045
|
+
__name(getThemeSnapshot, "getThemeSnapshot");
|
|
19046
|
+
function readFarmThemePreference(request, config) {
|
|
19047
|
+
if (!config.enabled) return config.default;
|
|
19048
|
+
const stored = readCookie3(request.headers.get("cookie"), config.storageKey);
|
|
19049
|
+
return isFarmThemePreference(stored) ? stored : config.default;
|
|
19050
|
+
}
|
|
19051
|
+
__name(readFarmThemePreference, "readFarmThemePreference");
|
|
19052
|
+
function readCookie3(cookieHeader, name) {
|
|
19053
|
+
if (!cookieHeader) return void 0;
|
|
19054
|
+
for (const entry of cookieHeader.split(";")) {
|
|
19055
|
+
const separator = entry.indexOf("=");
|
|
19056
|
+
if (separator < 0) continue;
|
|
19057
|
+
const key = decodeCookieValue(entry.slice(0, separator).trim());
|
|
19058
|
+
if (key !== name) continue;
|
|
19059
|
+
return decodeCookieValue(entry.slice(separator + 1).trim());
|
|
19060
|
+
}
|
|
19061
|
+
return void 0;
|
|
19062
|
+
}
|
|
19063
|
+
__name(readCookie3, "readCookie");
|
|
19064
|
+
function decodeCookieValue(value) {
|
|
19065
|
+
try {
|
|
19066
|
+
return decodeURIComponent(value);
|
|
19067
|
+
} catch {
|
|
19068
|
+
return value;
|
|
19069
|
+
}
|
|
19070
|
+
}
|
|
19071
|
+
__name(decodeCookieValue, "decodeCookieValue");
|
|
19072
|
+
function isFarmThemePreference(value) {
|
|
19073
|
+
return value === "light" || value === "dark" || value === "system";
|
|
19074
|
+
}
|
|
19075
|
+
__name(isFarmThemePreference, "isFarmThemePreference");
|
|
19076
|
+
_setFarmThemeServerSnapshotResolver(() => {
|
|
19077
|
+
try {
|
|
19078
|
+
return getThemeSnapshot();
|
|
19079
|
+
} catch {
|
|
19080
|
+
const theme = defaultThemeConfig.default;
|
|
19081
|
+
return {
|
|
19082
|
+
theme,
|
|
19083
|
+
resolvedTheme: theme === "system" ? void 0 : theme,
|
|
19084
|
+
mounted: false
|
|
19085
|
+
};
|
|
19086
|
+
}
|
|
19087
|
+
});
|
|
19088
|
+
|
|
18913
19089
|
// src/server/renderer.ts
|
|
18914
19090
|
var cachedClerkProvider = null;
|
|
18915
19091
|
var importRuntimeModule = new Function("specifier", "return import(specifier);");
|
|
@@ -18918,10 +19094,10 @@ function hasRequestHeader(req, name) {
|
|
|
18918
19094
|
return Array.isArray(value) ? value.length > 0 : Boolean(value);
|
|
18919
19095
|
}
|
|
18920
19096
|
__name(hasRequestHeader, "hasRequestHeader");
|
|
18921
|
-
function
|
|
19097
|
+
function serializeInlineValue2(value) {
|
|
18922
19098
|
return JSON.stringify(value).replace(/</g, "\\u003c").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
|
|
18923
19099
|
}
|
|
18924
|
-
__name(
|
|
19100
|
+
__name(serializeInlineValue2, "serializeInlineValue");
|
|
18925
19101
|
function escapeHtmlAttribute2(value) {
|
|
18926
19102
|
return value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">");
|
|
18927
19103
|
}
|
|
@@ -19015,7 +19191,7 @@ function createDocumentFooter(options) {
|
|
|
19015
19191
|
__name(createDocumentFooter, "createDocumentFooter");
|
|
19016
19192
|
function createDeferredHydrationScript(records) {
|
|
19017
19193
|
if (records.length === 0) return "";
|
|
19018
|
-
return `<script>window.__FARM_DEFERRED_DATA__=${
|
|
19194
|
+
return `<script>window.__FARM_DEFERRED_DATA__=${serializeInlineValue2(
|
|
19019
19195
|
snapshotDeferredData(records)
|
|
19020
19196
|
)};</script>`;
|
|
19021
19197
|
}
|
|
@@ -20156,9 +20332,9 @@ var _ServerRenderer = class _ServerRenderer {
|
|
|
20156
20332
|
slots: routeSlotPayload
|
|
20157
20333
|
});
|
|
20158
20334
|
const propsScript = `<script>
|
|
20159
|
-
window.__FARM_PROPS__ = ${
|
|
20160
|
-
window.__FARM_ROUTE_SLOTS__ = ${
|
|
20161
|
-
window.__FARM_DEPLOYMENT_ID__ = ${
|
|
20335
|
+
window.__FARM_PROPS__ = ${serializeInlineValue2(deferredProps.data.page)};
|
|
20336
|
+
window.__FARM_ROUTE_SLOTS__ = ${serializeInlineValue2(deferredProps.data.slots)};
|
|
20337
|
+
window.__FARM_DEPLOYMENT_ID__ = ${serializeInlineValue2(deploymentId)};
|
|
20162
20338
|
window.__FARM_PATH__ = ${JSON.stringify(req.__FARM_ROUTE__ || req.url || "/")};
|
|
20163
20339
|
window.__FARM_IS_CLIENT__ = ${JSON.stringify(isClientComponent)};
|
|
20164
20340
|
window.__FARM_PAGE_SHOULD_HYDRATE__ = ${JSON.stringify(
|
|
@@ -20176,7 +20352,7 @@ window.__FARM_LOADING_MODULE__ = ${JSON.stringify(
|
|
|
20176
20352
|
)};
|
|
20177
20353
|
window.__FARM_MANIFEST__ = ${JSON.stringify(clientManifest)};
|
|
20178
20354
|
window.__FARM_INTEGRATION_API_MANIFEST__ = ${JSON.stringify(getRegisteredIntegrationAPIManifest())};
|
|
20179
|
-
${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${
|
|
20355
|
+
${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue2(getFarmI18nClientSnapshot())};` : ""}
|
|
20180
20356
|
</script>`;
|
|
20181
20357
|
const hydrationClickQueueScript = isClientComponent || req.__FARM_SHOULD_HYDRATE__ === true || req.__FARM_HAS_HYDRATABLE_ROUTE_SLOTS__ === true ? createPreHydrationClickQueueScript() : "";
|
|
20182
20358
|
const {
|
|
@@ -20187,6 +20363,11 @@ ${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue(g
|
|
|
20187
20363
|
const i18nSnapshot = getFarmI18nClientSnapshot();
|
|
20188
20364
|
const i18nAlternateTags = i18nSnapshot ? renderI18nAlternateLinks(req.__FARM_ROUTE__ || req.url || "/", i18nSnapshot) : "";
|
|
20189
20365
|
const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
|
|
20366
|
+
const themeDocument = createFarmThemeDocumentParts(
|
|
20367
|
+
this.config.theme,
|
|
20368
|
+
this.config.basePath,
|
|
20369
|
+
getTheme()
|
|
20370
|
+
);
|
|
20190
20371
|
const streamRoot = import_react5.default.createElement("div", { style: { display: "contents" } }, element);
|
|
20191
20372
|
const { pipe } = (0, import_server2.renderToPipeableStream)(streamRoot, {
|
|
20192
20373
|
onShellReady() {
|
|
@@ -20200,8 +20381,9 @@ ${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue(g
|
|
|
20200
20381
|
console.log(`[FARM STREAM] onShellReady at ${shellReadyMs}ms`);
|
|
20201
20382
|
}
|
|
20202
20383
|
const shell = `<!DOCTYPE html>
|
|
20203
|
-
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}>
|
|
20384
|
+
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}${themeDocument.attributes}>
|
|
20204
20385
|
<head>
|
|
20386
|
+
${themeDocument.head}
|
|
20205
20387
|
<meta charset="utf-8">
|
|
20206
20388
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
20207
20389
|
<meta name="farm-deployment-id" content="${escapeHtmlAttribute2(deploymentId)}">
|
|
@@ -20403,15 +20585,21 @@ ${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue(g
|
|
|
20403
20585
|
const i18nSnapshot = getFarmI18nClientSnapshot();
|
|
20404
20586
|
const clientScript = isClientComponent ? ` <script type="module" src="/@farm/client.js"></script>` : "";
|
|
20405
20587
|
const integrationManifestScript = `<script>
|
|
20406
|
-
window.__FARM_DEPLOYMENT_ID__ = ${
|
|
20588
|
+
window.__FARM_DEPLOYMENT_ID__ = ${serializeInlineValue2(this.getDeploymentId())};
|
|
20407
20589
|
window.__FARM_INTEGRATION_API_MANIFEST__ = ${JSON.stringify(getRegisteredIntegrationAPIManifest())};
|
|
20408
|
-
${i18nSnapshot ? `window.__FARM_I18N__ = ${
|
|
20590
|
+
${i18nSnapshot ? `window.__FARM_I18N__ = ${serializeInlineValue2(i18nSnapshot)};` : ""}
|
|
20409
20591
|
</script>`;
|
|
20410
20592
|
const alternateLinks = i18nSnapshot ? renderI18nAlternateLinks(requestPath, i18nSnapshot) : "";
|
|
20411
20593
|
const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
|
|
20594
|
+
const themeDocument = createFarmThemeDocumentParts(
|
|
20595
|
+
this.config.theme,
|
|
20596
|
+
this.config.basePath,
|
|
20597
|
+
getTheme()
|
|
20598
|
+
);
|
|
20412
20599
|
return `<!DOCTYPE html>
|
|
20413
|
-
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}>
|
|
20600
|
+
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}${themeDocument.attributes}>
|
|
20414
20601
|
<head>
|
|
20602
|
+
${themeDocument.head}
|
|
20415
20603
|
<meta charset="utf-8">
|
|
20416
20604
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
20417
20605
|
<meta name="farm-deployment-id" content="${escapeHtmlAttribute2(this.getDeploymentId())}">
|
|
@@ -20458,6 +20646,7 @@ init_config();
|
|
|
20458
20646
|
init_auth_config();
|
|
20459
20647
|
init_preload();
|
|
20460
20648
|
init_security();
|
|
20649
|
+
init_config2();
|
|
20461
20650
|
var defaultDocsConfig = {
|
|
20462
20651
|
enabled: false,
|
|
20463
20652
|
entry: "/docs",
|
|
@@ -20471,6 +20660,7 @@ var _FarmApp = class _FarmApp {
|
|
|
20471
20660
|
constructor(config = {}, viteServer) {
|
|
20472
20661
|
this.config = this.normalizeConfig(config);
|
|
20473
20662
|
configureFarmObservability(this.config.observability);
|
|
20663
|
+
_setDefaultFarmThemeConfig(this.config.theme);
|
|
20474
20664
|
this.i18nRuntime = createFarmI18nRuntime(this.config.i18n);
|
|
20475
20665
|
_setDefaultFarmI18nRuntime(this.i18nRuntime);
|
|
20476
20666
|
this.viteServer = viteServer;
|
|
@@ -20529,6 +20719,7 @@ var _FarmApp = class _FarmApp {
|
|
|
20529
20719
|
security: resolveFarmSecurityConfig(config.security),
|
|
20530
20720
|
images: resolveFarmImageConfig(config.images),
|
|
20531
20721
|
performance: resolveFarmPerformanceConfig(config.performance),
|
|
20722
|
+
theme: resolveFarmThemeConfig(config.theme, config.basePath || "/"),
|
|
20532
20723
|
i18n: isResolvedI18nConfig(config.i18n) ? config.i18n : resolveFarmI18nConfig(config.i18n, {
|
|
20533
20724
|
root,
|
|
20534
20725
|
mode: process.env.NODE_ENV === "production" ? "production" : "development"
|
|
@@ -21729,6 +21920,15 @@ __name(normalizeMiddlewareModule, "normalizeMiddlewareModule");
|
|
|
21729
21920
|
|
|
21730
21921
|
// src/middleware/manager.ts
|
|
21731
21922
|
init_response();
|
|
21923
|
+
|
|
21924
|
+
// src/cli-colors.ts
|
|
21925
|
+
var import_picocolors = __toESM(require("picocolors"));
|
|
21926
|
+
function createCliColors(interactive = process.stdout.isTTY === true) {
|
|
21927
|
+
return import_picocolors.default.createColors(interactive);
|
|
21928
|
+
}
|
|
21929
|
+
__name(createCliColors, "createCliColors");
|
|
21930
|
+
|
|
21931
|
+
// src/middleware/manager.ts
|
|
21732
21932
|
function isMiddlewareResponse(value) {
|
|
21733
21933
|
return value instanceof Response;
|
|
21734
21934
|
}
|
|
@@ -21885,23 +22085,16 @@ var _MiddlewareManager = class _MiddlewareManager {
|
|
|
21885
22085
|
if (applicable.length === 0) {
|
|
21886
22086
|
return false;
|
|
21887
22087
|
}
|
|
21888
|
-
|
|
21889
|
-
|
|
21890
|
-
|
|
21891
|
-
|
|
21892
|
-
|
|
21893
|
-
|
|
21894
|
-
|
|
21895
|
-
|
|
21896
|
-
|
|
21897
|
-
|
|
21898
|
-
].join(" ");
|
|
21899
|
-
console.log(log);
|
|
21900
|
-
} catch {
|
|
21901
|
-
console.log(
|
|
21902
|
-
`[FARM] [MIDDLEWARE] [${method}] Executing ${pathname} (${applicable.length} middleware)`
|
|
21903
|
-
);
|
|
21904
|
-
}
|
|
22088
|
+
const pc = createCliColors();
|
|
22089
|
+
const log = [
|
|
22090
|
+
pc.dim("[") + pc.bold(pc.blue("FARM")) + pc.dim("]"),
|
|
22091
|
+
pc.dim("[") + pc.bold(pc.magenta("MIDDLEWARE")) + pc.dim("]"),
|
|
22092
|
+
pc.dim("[") + pc.bold(pc.white(method.padEnd(3))) + pc.dim("]"),
|
|
22093
|
+
pc.gray("Executing middleware: "),
|
|
22094
|
+
pc.gray(pathname),
|
|
22095
|
+
pc.dim(` (${(Date.now() - startTime).toFixed(2)}ms)`)
|
|
22096
|
+
].join(" ");
|
|
22097
|
+
console.log(log);
|
|
21905
22098
|
for (const entry of applicable) {
|
|
21906
22099
|
const { mw, routeMatch } = entry;
|
|
21907
22100
|
const configMatch = mw.config ? this.matchesConfig(routePathname, mw.config, ctx) : { matched: true };
|
|
@@ -23137,7 +23330,7 @@ function transformError(id, message) {
|
|
|
23137
23330
|
__name(transformError, "transformError");
|
|
23138
23331
|
|
|
23139
23332
|
// package.json
|
|
23140
|
-
var version = "0.1.0-beta.
|
|
23333
|
+
var version = "0.1.0-beta.23";
|
|
23141
23334
|
|
|
23142
23335
|
// src/version.ts
|
|
23143
23336
|
var FARM_VERSION = version;
|
|
@@ -23383,6 +23576,32 @@ __name(createFarmSourceAlias, "createFarmSourceAlias");
|
|
|
23383
23576
|
// src/vite.ts
|
|
23384
23577
|
init_fonts();
|
|
23385
23578
|
init_server_http();
|
|
23579
|
+
|
|
23580
|
+
// src/theme/vite.ts
|
|
23581
|
+
init_config2();
|
|
23582
|
+
var FARM_DARK_VARIANT = '@custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));';
|
|
23583
|
+
function createFarmThemeCssPlugin(input, basePath = "/") {
|
|
23584
|
+
const config = resolveFarmThemeConfig(input, basePath);
|
|
23585
|
+
return {
|
|
23586
|
+
name: "farm:theme-css",
|
|
23587
|
+
enforce: "pre",
|
|
23588
|
+
transform(code, id) {
|
|
23589
|
+
if (!config.enabled || !/\.css(?:\?.*)?$/.test(id) || !/@import\s+["']tailwindcss["']/.test(code) || /@custom-variant\s+dark\b/.test(code)) {
|
|
23590
|
+
return null;
|
|
23591
|
+
}
|
|
23592
|
+
return {
|
|
23593
|
+
code: `${code.trimEnd()}
|
|
23594
|
+
|
|
23595
|
+
${FARM_DARK_VARIANT}
|
|
23596
|
+
`,
|
|
23597
|
+
map: null
|
|
23598
|
+
};
|
|
23599
|
+
}
|
|
23600
|
+
};
|
|
23601
|
+
}
|
|
23602
|
+
__name(createFarmThemeCssPlugin, "createFarmThemeCssPlugin");
|
|
23603
|
+
|
|
23604
|
+
// src/vite.ts
|
|
23386
23605
|
var ALL_TYPE_ARTIFACTS = {
|
|
23387
23606
|
routes: true,
|
|
23388
23607
|
api: true,
|
|
@@ -23687,18 +23906,14 @@ function farmPlugin(options = {}, initialPluginManager) {
|
|
|
23687
23906
|
let refreshRouteDiscovery = null;
|
|
23688
23907
|
let workflowHandler = null;
|
|
23689
23908
|
const logUpdate = /* @__PURE__ */ __name((tag, message) => {
|
|
23690
|
-
|
|
23691
|
-
|
|
23692
|
-
|
|
23693
|
-
|
|
23694
|
-
|
|
23695
|
-
|
|
23696
|
-
|
|
23697
|
-
|
|
23698
|
-
console.log(log);
|
|
23699
|
-
} catch {
|
|
23700
|
-
console.log(`[FARM] [${tag}] [UPDATE] ${message}`);
|
|
23701
|
-
}
|
|
23909
|
+
const pc = createCliColors();
|
|
23910
|
+
const log = [
|
|
23911
|
+
pc.dim("[") + pc.bold(pc.blue("FARM")) + pc.dim("]"),
|
|
23912
|
+
pc.dim("[") + pc.bold(pc.cyan(tag)) + pc.dim("]"),
|
|
23913
|
+
pc.dim("[") + pc.bold(pc.yellow("UPDATE")) + pc.dim("]"),
|
|
23914
|
+
pc.gray(message)
|
|
23915
|
+
].join(" ");
|
|
23916
|
+
console.log(log);
|
|
23702
23917
|
}, "logUpdate");
|
|
23703
23918
|
return {
|
|
23704
23919
|
name: "farm",
|
|
@@ -24139,25 +24354,21 @@ window.__FARM_MANIFEST__ = ${inlineValue({
|
|
|
24139
24354
|
return;
|
|
24140
24355
|
}
|
|
24141
24356
|
logResponse.__last = { key: dedupeKey, ts: now };
|
|
24142
|
-
|
|
24143
|
-
|
|
24144
|
-
|
|
24145
|
-
|
|
24146
|
-
|
|
24147
|
-
|
|
24148
|
-
|
|
24149
|
-
|
|
24150
|
-
|
|
24151
|
-
|
|
24152
|
-
|
|
24153
|
-
|
|
24154
|
-
|
|
24155
|
-
|
|
24156
|
-
|
|
24157
|
-
console.log(log);
|
|
24158
|
-
} catch {
|
|
24159
|
-
console.log(`[FARM] [${tag}] [${method}] ${urlPath} - ${status} (${duration}ms)`);
|
|
24160
|
-
}
|
|
24357
|
+
const pc = createCliColors();
|
|
24358
|
+
let statusColor = pc.green;
|
|
24359
|
+
if (status >= 500) statusColor = pc.red;
|
|
24360
|
+
else if (status >= 400) statusColor = pc.yellow;
|
|
24361
|
+
else if (status >= 300) statusColor = pc.cyan;
|
|
24362
|
+
const log = [
|
|
24363
|
+
pc.dim("[") + pc.bold(pc.blue("FARM")) + pc.dim("]"),
|
|
24364
|
+
pc.dim("[") + pc.bold(pc.cyan(tag)) + pc.dim("]"),
|
|
24365
|
+
pc.dim("[") + pc.bold(pc.white(method.padEnd(3))) + pc.dim("]"),
|
|
24366
|
+
pc.gray(urlPath),
|
|
24367
|
+
pc.dim("-"),
|
|
24368
|
+
statusColor(status.toString()),
|
|
24369
|
+
pc.dim(`(${duration}ms)`)
|
|
24370
|
+
].join(" ");
|
|
24371
|
+
console.log(log);
|
|
24161
24372
|
}, "logResponse");
|
|
24162
24373
|
server.middlewares.use(
|
|
24163
24374
|
_withAfterNodeMiddleware(async (req, res, next) => {
|
|
@@ -26777,14 +26988,22 @@ async function renderPage(pageData) {
|
|
|
26777
26988
|
if (!doc.documentElement || !doc.body) return false;
|
|
26778
26989
|
|
|
26779
26990
|
resetReactRoots();
|
|
26991
|
+
const activeFarmTheme =
|
|
26992
|
+
window.__FARM_THEME__?.snapshot?.resolvedTheme ||
|
|
26993
|
+
document.documentElement.getAttribute('data-theme');
|
|
26780
26994
|
Array.from(document.documentElement.attributes).forEach(function(attr) {
|
|
26995
|
+
if (attr.name === 'data-theme') return;
|
|
26781
26996
|
if (!doc.documentElement.hasAttribute(attr.name)) {
|
|
26782
26997
|
document.documentElement.removeAttribute(attr.name);
|
|
26783
26998
|
}
|
|
26784
26999
|
});
|
|
26785
27000
|
Array.from(doc.documentElement.attributes).forEach(function(attr) {
|
|
27001
|
+
if (attr.name === 'data-theme') return;
|
|
26786
27002
|
document.documentElement.setAttribute(attr.name, attr.value);
|
|
26787
27003
|
});
|
|
27004
|
+
if (activeFarmTheme) {
|
|
27005
|
+
document.documentElement.setAttribute('data-theme', activeFarmTheme);
|
|
27006
|
+
}
|
|
26788
27007
|
|
|
26789
27008
|
document.head.innerHTML = doc.head ? doc.head.innerHTML : '';
|
|
26790
27009
|
document.body.innerHTML = doc.body.innerHTML;
|
|
@@ -26793,6 +27012,7 @@ async function renderPage(pageData) {
|
|
|
26793
27012
|
|
|
26794
27013
|
setTimeout(function() {
|
|
26795
27014
|
Array.from(document.querySelectorAll('script')).forEach(function(script) {
|
|
27015
|
+
if (script.id === 'farm-theme-script') return;
|
|
26796
27016
|
const freshScript = document.createElement('script');
|
|
26797
27017
|
Array.from(script.attributes).forEach(function(attr) {
|
|
26798
27018
|
freshScript.setAttribute(attr.name, attr.value);
|
|
@@ -27223,7 +27443,7 @@ async function defineConfig2(config = {}) {
|
|
|
27223
27443
|
return null;
|
|
27224
27444
|
}
|
|
27225
27445
|
};
|
|
27226
|
-
const pc =
|
|
27446
|
+
const pc = createCliColors();
|
|
27227
27447
|
let serverStarted = false;
|
|
27228
27448
|
let startTime = Date.now();
|
|
27229
27449
|
const farmLogger = {
|
|
@@ -27290,6 +27510,7 @@ async function defineConfig2(config = {}) {
|
|
|
27290
27510
|
};
|
|
27291
27511
|
return {
|
|
27292
27512
|
plugins: [
|
|
27513
|
+
createFarmThemeCssPlugin(config.theme, config.basePath),
|
|
27293
27514
|
tailwindcss(),
|
|
27294
27515
|
viteBrowserExternalPlugin,
|
|
27295
27516
|
farmI18nClientBridgePlugin(),
|