@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/plugin.cjs
CHANGED
|
@@ -4152,6 +4152,52 @@ var init_config = __esm({
|
|
|
4152
4152
|
}
|
|
4153
4153
|
});
|
|
4154
4154
|
|
|
4155
|
+
// src/theme/config.ts
|
|
4156
|
+
function resolveFarmThemeConfig(config, basePath = "/") {
|
|
4157
|
+
if (config && "enabled" in config) {
|
|
4158
|
+
return config;
|
|
4159
|
+
}
|
|
4160
|
+
if (!config) {
|
|
4161
|
+
return {
|
|
4162
|
+
enabled: false,
|
|
4163
|
+
default: "system",
|
|
4164
|
+
storageKey: DEFAULT_FARM_THEME_STORAGE_KEY,
|
|
4165
|
+
cookiePath: normalizeCookiePath(basePath)
|
|
4166
|
+
};
|
|
4167
|
+
}
|
|
4168
|
+
const storageKey = config.storageKey?.trim() || DEFAULT_FARM_THEME_STORAGE_KEY;
|
|
4169
|
+
if (!STORAGE_KEY_PATTERN.test(storageKey)) {
|
|
4170
|
+
throw new Error(
|
|
4171
|
+
"theme.storageKey may only contain letters, numbers, dots, underscores, and hyphens."
|
|
4172
|
+
);
|
|
4173
|
+
}
|
|
4174
|
+
const defaultTheme = config.default ?? "system";
|
|
4175
|
+
if (defaultTheme !== "light" && defaultTheme !== "dark" && defaultTheme !== "system") {
|
|
4176
|
+
throw new Error('theme.default must be "light", "dark", or "system".');
|
|
4177
|
+
}
|
|
4178
|
+
return {
|
|
4179
|
+
enabled: true,
|
|
4180
|
+
default: defaultTheme,
|
|
4181
|
+
storageKey,
|
|
4182
|
+
cookiePath: normalizeCookiePath(basePath)
|
|
4183
|
+
};
|
|
4184
|
+
}
|
|
4185
|
+
function normalizeCookiePath(basePath) {
|
|
4186
|
+
const normalized = `/${basePath}`.replace(/\/{2,}/g, "/");
|
|
4187
|
+
if (normalized === "/") return normalized;
|
|
4188
|
+
return normalized.replace(/\/$/, "");
|
|
4189
|
+
}
|
|
4190
|
+
var DEFAULT_FARM_THEME_STORAGE_KEY, STORAGE_KEY_PATTERN;
|
|
4191
|
+
var init_config2 = __esm({
|
|
4192
|
+
"src/theme/config.ts"() {
|
|
4193
|
+
"use strict";
|
|
4194
|
+
DEFAULT_FARM_THEME_STORAGE_KEY = "farm-theme";
|
|
4195
|
+
STORAGE_KEY_PATTERN = /^[A-Za-z0-9._-]+$/;
|
|
4196
|
+
__name(resolveFarmThemeConfig, "resolveFarmThemeConfig");
|
|
4197
|
+
__name(normalizeCookiePath, "normalizeCookiePath");
|
|
4198
|
+
}
|
|
4199
|
+
});
|
|
4200
|
+
|
|
4155
4201
|
// src/devtools-config.ts
|
|
4156
4202
|
function resolveFarmDevtoolsConfig(config, mode = "development") {
|
|
4157
4203
|
if (mode !== "development" || config === false) {
|
|
@@ -8934,7 +8980,7 @@ async function resolveDocsConfig(userDocs, options = {}) {
|
|
|
8934
8980
|
};
|
|
8935
8981
|
}
|
|
8936
8982
|
var import_path9, DOCS_CONFIG_FILENAMES;
|
|
8937
|
-
var
|
|
8983
|
+
var init_config3 = __esm({
|
|
8938
8984
|
"src/config.ts"() {
|
|
8939
8985
|
"use strict";
|
|
8940
8986
|
init_integrations();
|
|
@@ -8955,6 +9001,7 @@ var init_config2 = __esm({
|
|
|
8955
9001
|
init_auth_config();
|
|
8956
9002
|
init_preload();
|
|
8957
9003
|
init_security();
|
|
9004
|
+
init_config2();
|
|
8958
9005
|
init_config_entry();
|
|
8959
9006
|
__name(getDeployTargetForPreset, "getDeployTargetForPreset");
|
|
8960
9007
|
DOCS_CONFIG_FILENAMES = [
|
|
@@ -9449,7 +9496,7 @@ var init_api = __esm({
|
|
|
9449
9496
|
"src/docs/api.ts"() {
|
|
9450
9497
|
"use strict";
|
|
9451
9498
|
import_docs2 = require("@farming-labs/docs");
|
|
9452
|
-
|
|
9499
|
+
init_config3();
|
|
9453
9500
|
init_handler();
|
|
9454
9501
|
__name(isRecord4, "isRecord");
|
|
9455
9502
|
__name(isResolvedDocsConfig2, "isResolvedDocsConfig");
|
|
@@ -10434,7 +10481,7 @@ var init_devtools = __esm({
|
|
|
10434
10481
|
"src/devtools.ts"() {
|
|
10435
10482
|
"use strict";
|
|
10436
10483
|
import_node_path14 = __toESM(require("path"));
|
|
10437
|
-
|
|
10484
|
+
init_config3();
|
|
10438
10485
|
init_cron();
|
|
10439
10486
|
init_route_runtime();
|
|
10440
10487
|
__name(normalizePath, "normalizePath");
|
|
@@ -16105,6 +16152,16 @@ async function _runWithCurrentRequest(request, fn) {
|
|
|
16105
16152
|
return requestStore.run(request, fn);
|
|
16106
16153
|
}
|
|
16107
16154
|
__name(_runWithCurrentRequest, "_runWithCurrentRequest");
|
|
16155
|
+
function getCurrentRequest() {
|
|
16156
|
+
const request = requestStore.getStore();
|
|
16157
|
+
if (!request) {
|
|
16158
|
+
throw new Error(
|
|
16159
|
+
"No current request is available. getCurrentRequest() can only be used during server rendering."
|
|
16160
|
+
);
|
|
16161
|
+
}
|
|
16162
|
+
return request;
|
|
16163
|
+
}
|
|
16164
|
+
__name(getCurrentRequest, "getCurrentRequest");
|
|
16108
16165
|
|
|
16109
16166
|
// src/client/router.ts
|
|
16110
16167
|
var import_react3 = require("react");
|
|
@@ -18511,6 +18568,125 @@ function DefaultNotFoundPage(_props) {
|
|
|
18511
18568
|
}
|
|
18512
18569
|
__name(DefaultNotFoundPage, "DefaultNotFoundPage");
|
|
18513
18570
|
|
|
18571
|
+
// src/theme/server-runtime.ts
|
|
18572
|
+
init_config2();
|
|
18573
|
+
var THEME_SCRIPT_ID = "farm-theme-script";
|
|
18574
|
+
var THEME_STYLE_ID = "farm-theme-style";
|
|
18575
|
+
function createFarmThemeDocumentParts(input, basePath = "/", serverTheme) {
|
|
18576
|
+
const config = resolveFarmThemeConfig(input, basePath);
|
|
18577
|
+
if (!config.enabled) return { attributes: "", head: "" };
|
|
18578
|
+
const hydrationTheme = serverTheme ?? config.default;
|
|
18579
|
+
const initialTheme = hydrationTheme === "system" ? "light" : hydrationTheme;
|
|
18580
|
+
const script = createFarmThemeBootstrapScript(config, hydrationTheme);
|
|
18581
|
+
return {
|
|
18582
|
+
attributes: ` data-theme="${initialTheme}"`,
|
|
18583
|
+
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>`
|
|
18584
|
+
};
|
|
18585
|
+
}
|
|
18586
|
+
__name(createFarmThemeDocumentParts, "createFarmThemeDocumentParts");
|
|
18587
|
+
function createFarmThemeBootstrapScript(config, serverTheme = config.default) {
|
|
18588
|
+
return `(function(config,serverTheme){
|
|
18589
|
+
var isTheme=function(value){return value==="light"||value==="dark"||value==="system";};
|
|
18590
|
+
var decode=function(value){try{return decodeURIComponent(value);}catch(_error){return value;}};
|
|
18591
|
+
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());}};
|
|
18592
|
+
var media=window.matchMedia("(prefers-color-scheme: dark)");
|
|
18593
|
+
var resolveTheme=function(theme){return theme==="system"?(media.matches?"dark":"light"):theme;};
|
|
18594
|
+
var storedTheme=readCookie();
|
|
18595
|
+
var preference=isTheme(storedTheme)?storedTheme:config.default;
|
|
18596
|
+
var serverSnapshot={theme:serverTheme,resolvedTheme:serverTheme==="system"?undefined:serverTheme,mounted:false};
|
|
18597
|
+
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;};
|
|
18598
|
+
var emit=function(){var snapshot=apply();window.dispatchEvent(new CustomEvent("farm:themechange",{detail:snapshot}));};
|
|
18599
|
+
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){}};
|
|
18600
|
+
var setTheme=function(theme){if(!isTheme(theme))throw new TypeError("Unknown FARMJS theme: "+String(theme));preference=theme;persist(theme);emit();};
|
|
18601
|
+
var initialSnapshot={theme:preference,resolvedTheme:resolveTheme(preference),mounted:true};
|
|
18602
|
+
window.__FARM_THEME__={config:config,serverSnapshot:serverSnapshot,snapshot:initialSnapshot,setTheme:setTheme};
|
|
18603
|
+
document.documentElement.dataset.theme=initialSnapshot.resolvedTheme;
|
|
18604
|
+
var handleSystemChange=function(){if(preference==="system")emit();};
|
|
18605
|
+
if(typeof media.addEventListener==="function")media.addEventListener("change",handleSystemChange);else if(typeof media.addListener==="function")media.addListener(handleSystemChange);
|
|
18606
|
+
window.addEventListener("storage",function(event){if(event.key!==config.storageKey||!isTheme(event.newValue))return;preference=event.newValue;persist(preference);emit();});
|
|
18607
|
+
})(${serializeInlineValue(config)},${serializeInlineValue(serverTheme)});`;
|
|
18608
|
+
}
|
|
18609
|
+
__name(createFarmThemeBootstrapScript, "createFarmThemeBootstrapScript");
|
|
18610
|
+
function serializeInlineValue(value) {
|
|
18611
|
+
return JSON.stringify(value).replace(/</g, "\\u003c").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
|
|
18612
|
+
}
|
|
18613
|
+
__name(serializeInlineValue, "serializeInlineValue");
|
|
18614
|
+
|
|
18615
|
+
// src/theme/bridge.ts
|
|
18616
|
+
var FALLBACK_SERVER_SNAPSHOT = Object.freeze({
|
|
18617
|
+
theme: "system",
|
|
18618
|
+
resolvedTheme: void 0,
|
|
18619
|
+
mounted: false
|
|
18620
|
+
});
|
|
18621
|
+
var FARM_THEME_SERVER_SNAPSHOT_RESOLVER = /* @__PURE__ */ Symbol.for("farm.js.theme.server-snapshot-resolver");
|
|
18622
|
+
function _setFarmThemeServerSnapshotResolver(resolver) {
|
|
18623
|
+
globalThis[FARM_THEME_SERVER_SNAPSHOT_RESOLVER] = resolver;
|
|
18624
|
+
}
|
|
18625
|
+
__name(_setFarmThemeServerSnapshotResolver, "_setFarmThemeServerSnapshotResolver");
|
|
18626
|
+
|
|
18627
|
+
// src/theme/server.ts
|
|
18628
|
+
init_config2();
|
|
18629
|
+
var defaultThemeConfig = resolveFarmThemeConfig(void 0);
|
|
18630
|
+
function _setDefaultFarmThemeConfig(config, basePath = "/") {
|
|
18631
|
+
defaultThemeConfig = resolveFarmThemeConfig(config, basePath);
|
|
18632
|
+
}
|
|
18633
|
+
__name(_setDefaultFarmThemeConfig, "_setDefaultFarmThemeConfig");
|
|
18634
|
+
function getTheme(request = getCurrentRequest()) {
|
|
18635
|
+
return readFarmThemePreference(request, defaultThemeConfig);
|
|
18636
|
+
}
|
|
18637
|
+
__name(getTheme, "getTheme");
|
|
18638
|
+
function getThemeSnapshot(request = getCurrentRequest()) {
|
|
18639
|
+
const theme = readFarmThemePreference(request, defaultThemeConfig);
|
|
18640
|
+
return {
|
|
18641
|
+
theme,
|
|
18642
|
+
resolvedTheme: theme === "system" ? void 0 : theme,
|
|
18643
|
+
mounted: false
|
|
18644
|
+
};
|
|
18645
|
+
}
|
|
18646
|
+
__name(getThemeSnapshot, "getThemeSnapshot");
|
|
18647
|
+
function readFarmThemePreference(request, config) {
|
|
18648
|
+
if (!config.enabled) return config.default;
|
|
18649
|
+
const stored = readCookie3(request.headers.get("cookie"), config.storageKey);
|
|
18650
|
+
return isFarmThemePreference(stored) ? stored : config.default;
|
|
18651
|
+
}
|
|
18652
|
+
__name(readFarmThemePreference, "readFarmThemePreference");
|
|
18653
|
+
function readCookie3(cookieHeader, name) {
|
|
18654
|
+
if (!cookieHeader) return void 0;
|
|
18655
|
+
for (const entry of cookieHeader.split(";")) {
|
|
18656
|
+
const separator = entry.indexOf("=");
|
|
18657
|
+
if (separator < 0) continue;
|
|
18658
|
+
const key = decodeCookieValue(entry.slice(0, separator).trim());
|
|
18659
|
+
if (key !== name) continue;
|
|
18660
|
+
return decodeCookieValue(entry.slice(separator + 1).trim());
|
|
18661
|
+
}
|
|
18662
|
+
return void 0;
|
|
18663
|
+
}
|
|
18664
|
+
__name(readCookie3, "readCookie");
|
|
18665
|
+
function decodeCookieValue(value) {
|
|
18666
|
+
try {
|
|
18667
|
+
return decodeURIComponent(value);
|
|
18668
|
+
} catch {
|
|
18669
|
+
return value;
|
|
18670
|
+
}
|
|
18671
|
+
}
|
|
18672
|
+
__name(decodeCookieValue, "decodeCookieValue");
|
|
18673
|
+
function isFarmThemePreference(value) {
|
|
18674
|
+
return value === "light" || value === "dark" || value === "system";
|
|
18675
|
+
}
|
|
18676
|
+
__name(isFarmThemePreference, "isFarmThemePreference");
|
|
18677
|
+
_setFarmThemeServerSnapshotResolver(() => {
|
|
18678
|
+
try {
|
|
18679
|
+
return getThemeSnapshot();
|
|
18680
|
+
} catch {
|
|
18681
|
+
const theme = defaultThemeConfig.default;
|
|
18682
|
+
return {
|
|
18683
|
+
theme,
|
|
18684
|
+
resolvedTheme: theme === "system" ? void 0 : theme,
|
|
18685
|
+
mounted: false
|
|
18686
|
+
};
|
|
18687
|
+
}
|
|
18688
|
+
});
|
|
18689
|
+
|
|
18514
18690
|
// src/server/renderer.ts
|
|
18515
18691
|
var cachedClerkProvider = null;
|
|
18516
18692
|
var importRuntimeModule = new Function("specifier", "return import(specifier);");
|
|
@@ -18519,10 +18695,10 @@ function hasRequestHeader(req, name) {
|
|
|
18519
18695
|
return Array.isArray(value) ? value.length > 0 : Boolean(value);
|
|
18520
18696
|
}
|
|
18521
18697
|
__name(hasRequestHeader, "hasRequestHeader");
|
|
18522
|
-
function
|
|
18698
|
+
function serializeInlineValue2(value) {
|
|
18523
18699
|
return JSON.stringify(value).replace(/</g, "\\u003c").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
|
|
18524
18700
|
}
|
|
18525
|
-
__name(
|
|
18701
|
+
__name(serializeInlineValue2, "serializeInlineValue");
|
|
18526
18702
|
function escapeHtmlAttribute2(value) {
|
|
18527
18703
|
return value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">");
|
|
18528
18704
|
}
|
|
@@ -18616,7 +18792,7 @@ function createDocumentFooter(options) {
|
|
|
18616
18792
|
__name(createDocumentFooter, "createDocumentFooter");
|
|
18617
18793
|
function createDeferredHydrationScript(records) {
|
|
18618
18794
|
if (records.length === 0) return "";
|
|
18619
|
-
return `<script>window.__FARM_DEFERRED_DATA__=${
|
|
18795
|
+
return `<script>window.__FARM_DEFERRED_DATA__=${serializeInlineValue2(
|
|
18620
18796
|
snapshotDeferredData(records)
|
|
18621
18797
|
)};</script>`;
|
|
18622
18798
|
}
|
|
@@ -19757,9 +19933,9 @@ var _ServerRenderer = class _ServerRenderer {
|
|
|
19757
19933
|
slots: routeSlotPayload
|
|
19758
19934
|
});
|
|
19759
19935
|
const propsScript = `<script>
|
|
19760
|
-
window.__FARM_PROPS__ = ${
|
|
19761
|
-
window.__FARM_ROUTE_SLOTS__ = ${
|
|
19762
|
-
window.__FARM_DEPLOYMENT_ID__ = ${
|
|
19936
|
+
window.__FARM_PROPS__ = ${serializeInlineValue2(deferredProps.data.page)};
|
|
19937
|
+
window.__FARM_ROUTE_SLOTS__ = ${serializeInlineValue2(deferredProps.data.slots)};
|
|
19938
|
+
window.__FARM_DEPLOYMENT_ID__ = ${serializeInlineValue2(deploymentId)};
|
|
19763
19939
|
window.__FARM_PATH__ = ${JSON.stringify(req.__FARM_ROUTE__ || req.url || "/")};
|
|
19764
19940
|
window.__FARM_IS_CLIENT__ = ${JSON.stringify(isClientComponent)};
|
|
19765
19941
|
window.__FARM_PAGE_SHOULD_HYDRATE__ = ${JSON.stringify(
|
|
@@ -19777,7 +19953,7 @@ window.__FARM_LOADING_MODULE__ = ${JSON.stringify(
|
|
|
19777
19953
|
)};
|
|
19778
19954
|
window.__FARM_MANIFEST__ = ${JSON.stringify(clientManifest)};
|
|
19779
19955
|
window.__FARM_INTEGRATION_API_MANIFEST__ = ${JSON.stringify(getRegisteredIntegrationAPIManifest())};
|
|
19780
|
-
${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${
|
|
19956
|
+
${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue2(getFarmI18nClientSnapshot())};` : ""}
|
|
19781
19957
|
</script>`;
|
|
19782
19958
|
const hydrationClickQueueScript = isClientComponent || req.__FARM_SHOULD_HYDRATE__ === true || req.__FARM_HAS_HYDRATABLE_ROUTE_SLOTS__ === true ? createPreHydrationClickQueueScript() : "";
|
|
19783
19959
|
const {
|
|
@@ -19788,6 +19964,11 @@ ${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue(g
|
|
|
19788
19964
|
const i18nSnapshot = getFarmI18nClientSnapshot();
|
|
19789
19965
|
const i18nAlternateTags = i18nSnapshot ? renderI18nAlternateLinks(req.__FARM_ROUTE__ || req.url || "/", i18nSnapshot) : "";
|
|
19790
19966
|
const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
|
|
19967
|
+
const themeDocument = createFarmThemeDocumentParts(
|
|
19968
|
+
this.config.theme,
|
|
19969
|
+
this.config.basePath,
|
|
19970
|
+
getTheme()
|
|
19971
|
+
);
|
|
19791
19972
|
const streamRoot = import_react5.default.createElement("div", { style: { display: "contents" } }, element);
|
|
19792
19973
|
const { pipe } = (0, import_server2.renderToPipeableStream)(streamRoot, {
|
|
19793
19974
|
onShellReady() {
|
|
@@ -19801,8 +19982,9 @@ ${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue(g
|
|
|
19801
19982
|
console.log(`[FARM STREAM] onShellReady at ${shellReadyMs}ms`);
|
|
19802
19983
|
}
|
|
19803
19984
|
const shell = `<!DOCTYPE html>
|
|
19804
|
-
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}>
|
|
19985
|
+
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}${themeDocument.attributes}>
|
|
19805
19986
|
<head>
|
|
19987
|
+
${themeDocument.head}
|
|
19806
19988
|
<meta charset="utf-8">
|
|
19807
19989
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
19808
19990
|
<meta name="farm-deployment-id" content="${escapeHtmlAttribute2(deploymentId)}">
|
|
@@ -20004,15 +20186,21 @@ ${getFarmI18nClientSnapshot() ? `window.__FARM_I18N__ = ${serializeInlineValue(g
|
|
|
20004
20186
|
const i18nSnapshot = getFarmI18nClientSnapshot();
|
|
20005
20187
|
const clientScript = isClientComponent ? ` <script type="module" src="/@farm/client.js"></script>` : "";
|
|
20006
20188
|
const integrationManifestScript = `<script>
|
|
20007
|
-
window.__FARM_DEPLOYMENT_ID__ = ${
|
|
20189
|
+
window.__FARM_DEPLOYMENT_ID__ = ${serializeInlineValue2(this.getDeploymentId())};
|
|
20008
20190
|
window.__FARM_INTEGRATION_API_MANIFEST__ = ${JSON.stringify(getRegisteredIntegrationAPIManifest())};
|
|
20009
|
-
${i18nSnapshot ? `window.__FARM_I18N__ = ${
|
|
20191
|
+
${i18nSnapshot ? `window.__FARM_I18N__ = ${serializeInlineValue2(i18nSnapshot)};` : ""}
|
|
20010
20192
|
</script>`;
|
|
20011
20193
|
const alternateLinks = i18nSnapshot ? renderI18nAlternateLinks(requestPath, i18nSnapshot) : "";
|
|
20012
20194
|
const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
|
|
20195
|
+
const themeDocument = createFarmThemeDocumentParts(
|
|
20196
|
+
this.config.theme,
|
|
20197
|
+
this.config.basePath,
|
|
20198
|
+
getTheme()
|
|
20199
|
+
);
|
|
20013
20200
|
return `<!DOCTYPE html>
|
|
20014
|
-
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}>
|
|
20201
|
+
<html lang="${escapeHtmlAttribute2(i18nSnapshot?.locale || "en")}"${i18nSnapshot ? ` dir="${i18nSnapshot.direction}"` : ""}${themeDocument.attributes}>
|
|
20015
20202
|
<head>
|
|
20203
|
+
${themeDocument.head}
|
|
20016
20204
|
<meta charset="utf-8">
|
|
20017
20205
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
20018
20206
|
<meta name="farm-deployment-id" content="${escapeHtmlAttribute2(this.getDeploymentId())}">
|
|
@@ -20059,6 +20247,7 @@ init_config();
|
|
|
20059
20247
|
init_auth_config();
|
|
20060
20248
|
init_preload();
|
|
20061
20249
|
init_security();
|
|
20250
|
+
init_config2();
|
|
20062
20251
|
var defaultDocsConfig = {
|
|
20063
20252
|
enabled: false,
|
|
20064
20253
|
entry: "/docs",
|
|
@@ -20072,6 +20261,7 @@ var _FarmApp = class _FarmApp {
|
|
|
20072
20261
|
constructor(config = {}, viteServer) {
|
|
20073
20262
|
this.config = this.normalizeConfig(config);
|
|
20074
20263
|
configureFarmObservability(this.config.observability);
|
|
20264
|
+
_setDefaultFarmThemeConfig(this.config.theme);
|
|
20075
20265
|
this.i18nRuntime = createFarmI18nRuntime(this.config.i18n);
|
|
20076
20266
|
_setDefaultFarmI18nRuntime(this.i18nRuntime);
|
|
20077
20267
|
this.viteServer = viteServer;
|
|
@@ -20130,6 +20320,7 @@ var _FarmApp = class _FarmApp {
|
|
|
20130
20320
|
security: resolveFarmSecurityConfig(config.security),
|
|
20131
20321
|
images: resolveFarmImageConfig(config.images),
|
|
20132
20322
|
performance: resolveFarmPerformanceConfig(config.performance),
|
|
20323
|
+
theme: resolveFarmThemeConfig(config.theme, config.basePath || "/"),
|
|
20133
20324
|
i18n: isResolvedI18nConfig(config.i18n) ? config.i18n : resolveFarmI18nConfig(config.i18n, {
|
|
20134
20325
|
root,
|
|
20135
20326
|
mode: process.env.NODE_ENV === "production" ? "production" : "development"
|
|
@@ -21330,6 +21521,15 @@ __name(normalizeMiddlewareModule, "normalizeMiddlewareModule");
|
|
|
21330
21521
|
|
|
21331
21522
|
// src/middleware/manager.ts
|
|
21332
21523
|
init_response();
|
|
21524
|
+
|
|
21525
|
+
// src/cli-colors.ts
|
|
21526
|
+
var import_picocolors = __toESM(require("picocolors"));
|
|
21527
|
+
function createCliColors(interactive = process.stdout.isTTY === true) {
|
|
21528
|
+
return import_picocolors.default.createColors(interactive);
|
|
21529
|
+
}
|
|
21530
|
+
__name(createCliColors, "createCliColors");
|
|
21531
|
+
|
|
21532
|
+
// src/middleware/manager.ts
|
|
21333
21533
|
function isMiddlewareResponse(value) {
|
|
21334
21534
|
return value instanceof Response;
|
|
21335
21535
|
}
|
|
@@ -21486,23 +21686,16 @@ var _MiddlewareManager = class _MiddlewareManager {
|
|
|
21486
21686
|
if (applicable.length === 0) {
|
|
21487
21687
|
return false;
|
|
21488
21688
|
}
|
|
21489
|
-
|
|
21490
|
-
|
|
21491
|
-
|
|
21492
|
-
|
|
21493
|
-
|
|
21494
|
-
|
|
21495
|
-
|
|
21496
|
-
|
|
21497
|
-
|
|
21498
|
-
|
|
21499
|
-
].join(" ");
|
|
21500
|
-
console.log(log);
|
|
21501
|
-
} catch {
|
|
21502
|
-
console.log(
|
|
21503
|
-
`[FARM] [MIDDLEWARE] [${method}] Executing ${pathname} (${applicable.length} middleware)`
|
|
21504
|
-
);
|
|
21505
|
-
}
|
|
21689
|
+
const pc = createCliColors();
|
|
21690
|
+
const log = [
|
|
21691
|
+
pc.dim("[") + pc.bold(pc.blue("FARM")) + pc.dim("]"),
|
|
21692
|
+
pc.dim("[") + pc.bold(pc.magenta("MIDDLEWARE")) + pc.dim("]"),
|
|
21693
|
+
pc.dim("[") + pc.bold(pc.white(method.padEnd(3))) + pc.dim("]"),
|
|
21694
|
+
pc.gray("Executing middleware: "),
|
|
21695
|
+
pc.gray(pathname),
|
|
21696
|
+
pc.dim(` (${(Date.now() - startTime).toFixed(2)}ms)`)
|
|
21697
|
+
].join(" ");
|
|
21698
|
+
console.log(log);
|
|
21506
21699
|
for (const entry of applicable) {
|
|
21507
21700
|
const { mw, routeMatch } = entry;
|
|
21508
21701
|
const configMatch = mw.config ? this.matchesConfig(routePathname, mw.config, ctx) : { matched: true };
|
|
@@ -22588,6 +22781,11 @@ var import_node_path9 = __toESM(require("path"));
|
|
|
22588
22781
|
// src/vite.ts
|
|
22589
22782
|
init_fonts();
|
|
22590
22783
|
init_server_http();
|
|
22784
|
+
|
|
22785
|
+
// src/theme/vite.ts
|
|
22786
|
+
init_config2();
|
|
22787
|
+
|
|
22788
|
+
// src/vite.ts
|
|
22591
22789
|
var ALL_TYPE_ARTIFACTS = {
|
|
22592
22790
|
routes: true,
|
|
22593
22791
|
api: true,
|
|
@@ -22874,18 +23072,14 @@ function farmPlugin(options = {}, initialPluginManager) {
|
|
|
22874
23072
|
let refreshRouteDiscovery = null;
|
|
22875
23073
|
let workflowHandler = null;
|
|
22876
23074
|
const logUpdate = /* @__PURE__ */ __name((tag, message) => {
|
|
22877
|
-
|
|
22878
|
-
|
|
22879
|
-
|
|
22880
|
-
|
|
22881
|
-
|
|
22882
|
-
|
|
22883
|
-
|
|
22884
|
-
|
|
22885
|
-
console.log(log);
|
|
22886
|
-
} catch {
|
|
22887
|
-
console.log(`[FARM] [${tag}] [UPDATE] ${message}`);
|
|
22888
|
-
}
|
|
23075
|
+
const pc = createCliColors();
|
|
23076
|
+
const log = [
|
|
23077
|
+
pc.dim("[") + pc.bold(pc.blue("FARM")) + pc.dim("]"),
|
|
23078
|
+
pc.dim("[") + pc.bold(pc.cyan(tag)) + pc.dim("]"),
|
|
23079
|
+
pc.dim("[") + pc.bold(pc.yellow("UPDATE")) + pc.dim("]"),
|
|
23080
|
+
pc.gray(message)
|
|
23081
|
+
].join(" ");
|
|
23082
|
+
console.log(log);
|
|
22889
23083
|
}, "logUpdate");
|
|
22890
23084
|
return {
|
|
22891
23085
|
name: "farm",
|
|
@@ -23326,25 +23520,21 @@ window.__FARM_MANIFEST__ = ${inlineValue({
|
|
|
23326
23520
|
return;
|
|
23327
23521
|
}
|
|
23328
23522
|
logResponse.__last = { key: dedupeKey, ts: now };
|
|
23329
|
-
|
|
23330
|
-
|
|
23331
|
-
|
|
23332
|
-
|
|
23333
|
-
|
|
23334
|
-
|
|
23335
|
-
|
|
23336
|
-
|
|
23337
|
-
|
|
23338
|
-
|
|
23339
|
-
|
|
23340
|
-
|
|
23341
|
-
|
|
23342
|
-
|
|
23343
|
-
|
|
23344
|
-
console.log(log);
|
|
23345
|
-
} catch {
|
|
23346
|
-
console.log(`[FARM] [${tag}] [${method}] ${urlPath} - ${status} (${duration}ms)`);
|
|
23347
|
-
}
|
|
23523
|
+
const pc = createCliColors();
|
|
23524
|
+
let statusColor = pc.green;
|
|
23525
|
+
if (status >= 500) statusColor = pc.red;
|
|
23526
|
+
else if (status >= 400) statusColor = pc.yellow;
|
|
23527
|
+
else if (status >= 300) statusColor = pc.cyan;
|
|
23528
|
+
const log = [
|
|
23529
|
+
pc.dim("[") + pc.bold(pc.blue("FARM")) + pc.dim("]"),
|
|
23530
|
+
pc.dim("[") + pc.bold(pc.cyan(tag)) + pc.dim("]"),
|
|
23531
|
+
pc.dim("[") + pc.bold(pc.white(method.padEnd(3))) + pc.dim("]"),
|
|
23532
|
+
pc.gray(urlPath),
|
|
23533
|
+
pc.dim("-"),
|
|
23534
|
+
statusColor(status.toString()),
|
|
23535
|
+
pc.dim(`(${duration}ms)`)
|
|
23536
|
+
].join(" ");
|
|
23537
|
+
console.log(log);
|
|
23348
23538
|
}, "logResponse");
|
|
23349
23539
|
server.middlewares.use(
|
|
23350
23540
|
_withAfterNodeMiddleware(async (req, res, next) => {
|
|
@@ -25964,14 +26154,22 @@ async function renderPage(pageData) {
|
|
|
25964
26154
|
if (!doc.documentElement || !doc.body) return false;
|
|
25965
26155
|
|
|
25966
26156
|
resetReactRoots();
|
|
26157
|
+
const activeFarmTheme =
|
|
26158
|
+
window.__FARM_THEME__?.snapshot?.resolvedTheme ||
|
|
26159
|
+
document.documentElement.getAttribute('data-theme');
|
|
25967
26160
|
Array.from(document.documentElement.attributes).forEach(function(attr) {
|
|
26161
|
+
if (attr.name === 'data-theme') return;
|
|
25968
26162
|
if (!doc.documentElement.hasAttribute(attr.name)) {
|
|
25969
26163
|
document.documentElement.removeAttribute(attr.name);
|
|
25970
26164
|
}
|
|
25971
26165
|
});
|
|
25972
26166
|
Array.from(doc.documentElement.attributes).forEach(function(attr) {
|
|
26167
|
+
if (attr.name === 'data-theme') return;
|
|
25973
26168
|
document.documentElement.setAttribute(attr.name, attr.value);
|
|
25974
26169
|
});
|
|
26170
|
+
if (activeFarmTheme) {
|
|
26171
|
+
document.documentElement.setAttribute('data-theme', activeFarmTheme);
|
|
26172
|
+
}
|
|
25975
26173
|
|
|
25976
26174
|
document.head.innerHTML = doc.head ? doc.head.innerHTML : '';
|
|
25977
26175
|
document.body.innerHTML = doc.body.innerHTML;
|
|
@@ -25980,6 +26178,7 @@ async function renderPage(pageData) {
|
|
|
25980
26178
|
|
|
25981
26179
|
setTimeout(function() {
|
|
25982
26180
|
Array.from(document.querySelectorAll('script')).forEach(function(script) {
|
|
26181
|
+
if (script.id === 'farm-theme-script') return;
|
|
25983
26182
|
const freshScript = document.createElement('script');
|
|
25984
26183
|
Array.from(script.attributes).forEach(function(attr) {
|
|
25985
26184
|
freshScript.setAttribute(attr.name, attr.value);
|