@farm.js/core 0.1.0-beta.60 → 0.1.0-beta.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/api/route-manager.cjs.map +1 -1
  2. package/dist/api/route-manager.mjs +3 -3
  3. package/dist/api/runtime.cjs.map +1 -1
  4. package/dist/api/runtime.mjs +2 -2
  5. package/dist/api.cjs.map +1 -1
  6. package/dist/api.mjs +4 -4
  7. package/dist/{chunk-AZ7YUVNR.mjs → chunk-5NEFU3S3.mjs} +2 -2
  8. package/dist/{chunk-HRIVGIZJ.mjs → chunk-6HUGGEFE.mjs} +2 -2
  9. package/dist/{chunk-G6OZHT7C.mjs → chunk-BYBYZSQ4.mjs} +3 -3
  10. package/dist/{chunk-IZ3MFWMA.mjs → chunk-H3W5RDTS.mjs} +2 -2
  11. package/dist/{chunk-IZ3MFWMA.mjs.map → chunk-H3W5RDTS.mjs.map} +1 -1
  12. package/dist/{chunk-P7QDS5AT.mjs → chunk-HUATZB2U.mjs} +2 -2
  13. package/dist/{chunk-I7O53NAU.mjs → chunk-IIHDYOPJ.mjs} +2 -2
  14. package/dist/{chunk-IWR7S3AN.mjs → chunk-ITSBK56Q.mjs} +2 -2
  15. package/dist/{chunk-4IVNW5QD.mjs → chunk-M5PSI4YG.mjs} +7 -6
  16. package/dist/chunk-M5PSI4YG.mjs.map +1 -0
  17. package/dist/{chunk-F3HQMJEF.mjs → chunk-O7JLZXUV.mjs} +2 -2
  18. package/dist/{chunk-ILT7MCIM.mjs → chunk-SDCCR55N.mjs} +2 -2
  19. package/dist/{chunk-26MEOJQB.mjs → chunk-STAPBBAB.mjs} +3 -3
  20. package/dist/{chunk-HX6EW6KA.mjs → chunk-VGOJAATN.mjs} +2 -2
  21. package/dist/{chunk-RHIFZZUI.mjs → chunk-X6WJFY7U.mjs} +7 -2
  22. package/dist/{chunk-RHIFZZUI.mjs.map → chunk-X6WJFY7U.mjs.map} +1 -1
  23. package/dist/{chunk-P5SUT2TG.mjs → chunk-XN5ECVA5.mjs} +7 -7
  24. package/dist/client/lifecycle.mjs +2 -2
  25. package/dist/client-plugins.cjs +1 -1
  26. package/dist/client-plugins.cjs.map +1 -1
  27. package/dist/client-plugins.mjs +2 -2
  28. package/dist/client.cjs +1 -1
  29. package/dist/client.cjs.map +1 -1
  30. package/dist/client.mjs +2 -2
  31. package/dist/headers.cjs.map +1 -1
  32. package/dist/headers.mjs +2 -2
  33. package/dist/index.cjs +9 -4
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.mjs +14 -14
  36. package/dist/internal/build-runtime.cjs +8 -13
  37. package/dist/internal/build-runtime.cjs.map +1 -1
  38. package/dist/internal/build-runtime.mjs +9 -9
  39. package/dist/internal/client-runtime.cjs +1 -1
  40. package/dist/internal/client-runtime.cjs.map +1 -1
  41. package/dist/internal/client-runtime.mjs +2 -2
  42. package/dist/internal/production-runtime.cjs +8 -3
  43. package/dist/internal/production-runtime.cjs.map +1 -1
  44. package/dist/internal/production-runtime.mjs +4 -4
  45. package/dist/middleware.cjs.map +1 -1
  46. package/dist/middleware.mjs +5 -5
  47. package/dist/plugin.cjs +8 -13
  48. package/dist/plugin.cjs.map +1 -1
  49. package/dist/plugin.mjs +8 -8
  50. package/dist/request.cjs.map +1 -1
  51. package/dist/request.mjs +1 -1
  52. package/dist/server.cjs +9 -4
  53. package/dist/server.cjs.map +1 -1
  54. package/dist/server.mjs +8 -8
  55. package/dist/testing.cjs.map +1 -1
  56. package/dist/testing.mjs +3 -3
  57. package/dist/theme/server.cjs +7 -12
  58. package/dist/theme/server.cjs.map +1 -1
  59. package/dist/theme/server.d.mts +2 -2
  60. package/dist/theme/server.d.ts +2 -2
  61. package/dist/theme/server.mjs +2 -2
  62. package/dist/version.cjs +1 -1
  63. package/dist/version.cjs.map +1 -1
  64. package/dist/version.mjs +1 -1
  65. package/dist/vite.cjs +8 -13
  66. package/dist/vite.cjs.map +1 -1
  67. package/dist/vite.mjs +8 -8
  68. package/package.json +1 -1
  69. package/dist/chunk-4IVNW5QD.mjs.map +0 -1
  70. /package/dist/{chunk-AZ7YUVNR.mjs.map → chunk-5NEFU3S3.mjs.map} +0 -0
  71. /package/dist/{chunk-HRIVGIZJ.mjs.map → chunk-6HUGGEFE.mjs.map} +0 -0
  72. /package/dist/{chunk-G6OZHT7C.mjs.map → chunk-BYBYZSQ4.mjs.map} +0 -0
  73. /package/dist/{chunk-P7QDS5AT.mjs.map → chunk-HUATZB2U.mjs.map} +0 -0
  74. /package/dist/{chunk-I7O53NAU.mjs.map → chunk-IIHDYOPJ.mjs.map} +0 -0
  75. /package/dist/{chunk-IWR7S3AN.mjs.map → chunk-ITSBK56Q.mjs.map} +0 -0
  76. /package/dist/{chunk-F3HQMJEF.mjs.map → chunk-O7JLZXUV.mjs.map} +0 -0
  77. /package/dist/{chunk-ILT7MCIM.mjs.map → chunk-SDCCR55N.mjs.map} +0 -0
  78. /package/dist/{chunk-26MEOJQB.mjs.map → chunk-STAPBBAB.mjs.map} +0 -0
  79. /package/dist/{chunk-HX6EW6KA.mjs.map → chunk-VGOJAATN.mjs.map} +0 -0
  80. /package/dist/{chunk-P5SUT2TG.mjs.map → chunk-XN5ECVA5.mjs.map} +0 -0
package/dist/client.mjs CHANGED
@@ -62,7 +62,7 @@ import {
62
62
  createClientPluginManager,
63
63
  installChunkErrorRecovery,
64
64
  isChunkLoadError
65
- } from "./chunk-I7O53NAU.mjs";
65
+ } from "./chunk-IIHDYOPJ.mjs";
66
66
  import "./chunk-GQVQESLY.mjs";
67
67
  import {
68
68
  api,
@@ -80,7 +80,7 @@ import "./chunk-RBRLLZL5.mjs";
80
80
  import "./chunk-WZ5QFROO.mjs";
81
81
  import "./chunk-7ZMKVETU.mjs";
82
82
  import "./chunk-FXG2PS27.mjs";
83
- import "./chunk-IZ3MFWMA.mjs";
83
+ import "./chunk-H3W5RDTS.mjs";
84
84
  import "./chunk-CGILA3WO.mjs";
85
85
  export {
86
86
  APIClientError,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/headers.ts","../src/server/request.ts","../src/server/request-bridge.ts"],"sourcesContent":["import { getCurrentRequest } from \"./server/request\";\n\nexport interface RequestCookie {\n name: string;\n value: string;\n}\n\nexport interface ReadonlyHeaders extends Iterable<[string, string]> {\n get(name: string): string | null;\n has(name: string): boolean;\n forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n entries(): IterableIterator<[string, string]>;\n keys(): IterableIterator<string>;\n values(): IterableIterator<string>;\n}\n\nexport interface ReadonlyRequestCookies extends Iterable<RequestCookie> {\n get(name: string): RequestCookie | undefined;\n getAll(name?: string): RequestCookie[];\n has(name: string): boolean;\n toString(): string;\n}\n\nexport function headers(): ReadonlyHeaders {\n return new Headers(getCurrentRequest().headers) as ReadonlyHeaders;\n}\n\nexport function cookies(): ReadonlyRequestCookies {\n const cookieHeader = getCurrentRequest().headers.get(\"cookie\") || \"\";\n const parsed = parseCookieHeader(cookieHeader);\n\n return {\n get(name) {\n return parsed.find((cookie) => cookie.name === name);\n },\n getAll(name) {\n return name ? parsed.filter((cookie) => cookie.name === name) : [...parsed];\n },\n has(name) {\n return parsed.some((cookie) => cookie.name === name);\n },\n toString() {\n return cookieHeader;\n },\n [Symbol.iterator]() {\n return parsed[Symbol.iterator]();\n },\n };\n}\n\nfunction parseCookieHeader(header: string): RequestCookie[] {\n if (!header.trim()) return [];\n\n return header\n .split(\";\")\n .map((part) => part.trim())\n .filter(Boolean)\n .map((part) => {\n const separatorIndex = part.indexOf(\"=\");\n if (separatorIndex === -1) {\n return {\n name: decodeCookiePart(part),\n value: \"\",\n };\n }\n\n return {\n name: decodeCookiePart(part.slice(0, separatorIndex).trim()),\n value: decodeCookiePart(part.slice(separatorIndex + 1).trim()),\n };\n })\n .filter((cookie) => cookie.name.length > 0);\n}\n\nfunction decodeCookiePart(value: string) {\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n}\n","import { AsyncLocalStorage } from \"node:async_hooks\";\nimport type { FarmRequest } from \"../types\";\nimport { _setCurrentRequestResolver } from \"./request-bridge\";\n\nconst REQUEST_STORAGE_KEY = Symbol.for(\"@farm.js/core/request-storage\");\n\nfunction getRequestStore(): AsyncLocalStorage<Request> {\n const runtime = globalThis as typeof globalThis & Record<PropertyKey, unknown>;\n const existing = runtime[REQUEST_STORAGE_KEY];\n if (existing instanceof AsyncLocalStorage) {\n return existing as AsyncLocalStorage<Request>;\n }\n\n const storage = new AsyncLocalStorage<Request>();\n runtime[REQUEST_STORAGE_KEY] = storage;\n return storage;\n}\n\nconst requestStore = getRequestStore();\n\n_setCurrentRequestResolver(() => requestStore.getStore());\n\nexport function createWebRequestFromFarmRequest(req: FarmRequest): Request {\n const forwardedHost = req.headers[\"x-forwarded-host\"];\n const host = Array.isArray(forwardedHost)\n ? forwardedHost[0]\n : forwardedHost || req.headers.host || \"localhost\";\n const forwardedProto = req.headers[\"x-forwarded-proto\"];\n const proto = Array.isArray(forwardedProto) ? forwardedProto[0] : forwardedProto || \"http\";\n const fullUrl = new URL(req.url || \"/\", `${proto}://${host}`).toString();\n\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (value == null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n headers.append(key, item);\n }\n continue;\n }\n\n headers.set(key, value);\n }\n\n return new Request(fullUrl, {\n method: req.method,\n headers,\n });\n}\n\nexport async function _runWithCurrentRequest<T>(\n request: Request,\n fn: () => Promise<T> | T,\n): Promise<T> {\n return requestStore.run(request, fn);\n}\n\nexport function getCurrentRequest(): Request {\n const request = requestStore.getStore();\n if (!request) {\n throw new Error(\n \"No current request is available. getCurrentRequest() can only be used during server rendering.\",\n );\n }\n\n return request;\n}\n","type CurrentRequestResolver = () => Request | undefined;\n\nconst CURRENT_REQUEST_RESOLVER_KEY = Symbol.for(\"farm.currentRequestResolver\");\n\ntype GlobalWithCurrentRequestResolver = typeof globalThis & {\n [CURRENT_REQUEST_RESOLVER_KEY]?: CurrentRequestResolver;\n};\n\nfunction getGlobalState(): GlobalWithCurrentRequestResolver {\n return globalThis as GlobalWithCurrentRequestResolver;\n}\n\nexport function _setCurrentRequestResolver(resolver: CurrentRequestResolver | undefined): void {\n getGlobalState()[CURRENT_REQUEST_RESOLVER_KEY] = resolver;\n}\n\nexport function _resolveCurrentRequest(): Request | undefined {\n return getGlobalState()[CURRENT_REQUEST_RESOLVER_KEY]?.();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,8BAAkC;;;ACElC,IAAM,+BAA+B,uBAAO,IAAI,6BAA6B;AAM7E,SAAS,iBAAmD;AAC1D,SAAO;AACT;AAFS;AAIF,SAAS,2BAA2B,UAAoD;AAC7F,iBAAe,EAAE,4BAA4B,IAAI;AACnD;AAFgB;;;ADRhB,IAAM,sBAAsB,uBAAO,IAAI,+BAA+B;AAEtE,SAAS,kBAA8C;AACrD,QAAM,UAAU;AAChB,QAAM,WAAW,QAAQ,mBAAmB;AAC5C,MAAI,oBAAoB,2CAAmB;AACzC,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,IAAI,0CAA2B;AAC/C,UAAQ,mBAAmB,IAAI;AAC/B,SAAO;AACT;AAVS;AAYT,IAAM,eAAe,gBAAgB;AAErC,2BAA2B,MAAM,aAAa,SAAS,CAAC;AAwCjD,SAAS,oBAA6B;AAC3C,QAAM,UAAU,aAAa,SAAS;AACtC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AATgB;;;ADrCT,SAAS,UAA2B;AACzC,SAAO,IAAI,QAAQ,kBAAkB,EAAE,OAAO;AAChD;AAFgB;AAIT,SAAS,UAAkC;AAChD,QAAM,eAAe,kBAAkB,EAAE,QAAQ,IAAI,QAAQ,KAAK;AAClE,QAAM,SAAS,kBAAkB,YAAY;AAE7C,SAAO;AAAA,IACL,IAAI,MAAM;AACR,aAAO,OAAO,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI;AAAA,IACrD;AAAA,IACA,OAAO,MAAM;AACX,aAAO,OAAO,OAAO,OAAO,CAAC,WAAW,OAAO,SAAS,IAAI,IAAI,CAAC,GAAG,MAAM;AAAA,IAC5E;AAAA,IACA,IAAI,MAAM;AACR,aAAO,OAAO,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI;AAAA,IACrD;AAAA,IACA,WAAW;AACT,aAAO;AAAA,IACT;AAAA,IACA,CAAC,OAAO,QAAQ,IAAI;AAClB,aAAO,OAAO,OAAO,QAAQ,EAAE;AAAA,IACjC;AAAA,EACF;AACF;AArBgB;AAuBhB,SAAS,kBAAkB,QAAiC;AAC1D,MAAI,CAAC,OAAO,KAAK,EAAG,QAAO,CAAC;AAE5B,SAAO,OACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,OAAO,EACd,IAAI,CAAC,SAAS;AACb,UAAM,iBAAiB,KAAK,QAAQ,GAAG;AACvC,QAAI,mBAAmB,IAAI;AACzB,aAAO;AAAA,QACL,MAAM,iBAAiB,IAAI;AAAA,QAC3B,OAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,MACL,MAAM,iBAAiB,KAAK,MAAM,GAAG,cAAc,EAAE,KAAK,CAAC;AAAA,MAC3D,OAAO,iBAAiB,KAAK,MAAM,iBAAiB,CAAC,EAAE,KAAK,CAAC;AAAA,IAC/D;AAAA,EACF,CAAC,EACA,OAAO,CAAC,WAAW,OAAO,KAAK,SAAS,CAAC;AAC9C;AAtBS;AAwBT,SAAS,iBAAiB,OAAe;AACvC,MAAI;AACF,WAAO,mBAAmB,KAAK;AAAA,EACjC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AANS;","names":[]}
1
+ {"version":3,"sources":["../src/headers.ts","../src/server/request.ts","../src/server/request-bridge.ts"],"sourcesContent":["import { getCurrentRequest } from \"./server/request\";\n\nexport interface RequestCookie {\n name: string;\n value: string;\n}\n\nexport interface ReadonlyHeaders extends Iterable<[string, string]> {\n get(name: string): string | null;\n has(name: string): boolean;\n forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n entries(): IterableIterator<[string, string]>;\n keys(): IterableIterator<string>;\n values(): IterableIterator<string>;\n}\n\nexport interface ReadonlyRequestCookies extends Iterable<RequestCookie> {\n get(name: string): RequestCookie | undefined;\n getAll(name?: string): RequestCookie[];\n has(name: string): boolean;\n toString(): string;\n}\n\nexport function headers(): ReadonlyHeaders {\n return new Headers(getCurrentRequest().headers) as ReadonlyHeaders;\n}\n\nexport function cookies(): ReadonlyRequestCookies {\n const cookieHeader = getCurrentRequest().headers.get(\"cookie\") || \"\";\n const parsed = parseCookieHeader(cookieHeader);\n\n return {\n get(name) {\n return parsed.find((cookie) => cookie.name === name);\n },\n getAll(name) {\n return name ? parsed.filter((cookie) => cookie.name === name) : [...parsed];\n },\n has(name) {\n return parsed.some((cookie) => cookie.name === name);\n },\n toString() {\n return cookieHeader;\n },\n [Symbol.iterator]() {\n return parsed[Symbol.iterator]();\n },\n };\n}\n\nfunction parseCookieHeader(header: string): RequestCookie[] {\n if (!header.trim()) return [];\n\n return header\n .split(\";\")\n .map((part) => part.trim())\n .filter(Boolean)\n .map((part) => {\n const separatorIndex = part.indexOf(\"=\");\n if (separatorIndex === -1) {\n return {\n name: decodeCookiePart(part),\n value: \"\",\n };\n }\n\n return {\n name: decodeCookiePart(part.slice(0, separatorIndex).trim()),\n value: decodeCookiePart(part.slice(separatorIndex + 1).trim()),\n };\n })\n .filter((cookie) => cookie.name.length > 0);\n}\n\nfunction decodeCookiePart(value: string) {\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n}\n","import { AsyncLocalStorage } from \"node:async_hooks\";\nimport type { FarmRequest } from \"../types\";\nimport { _setCurrentRequestResolver } from \"./request-bridge\";\n\nconst REQUEST_STORAGE_KEY = Symbol.for(\"@farm.js/core/request-storage\");\n\nfunction getRequestStore(): AsyncLocalStorage<Request> {\n const runtime = globalThis as typeof globalThis & Record<PropertyKey, unknown>;\n const existing = runtime[REQUEST_STORAGE_KEY];\n if (existing instanceof AsyncLocalStorage) {\n return existing as AsyncLocalStorage<Request>;\n }\n\n const storage = new AsyncLocalStorage<Request>();\n runtime[REQUEST_STORAGE_KEY] = storage;\n return storage;\n}\n\nconst requestStore = getRequestStore();\n\n_setCurrentRequestResolver(() => requestStore.getStore());\n\nexport function createWebRequestFromFarmRequest(req: FarmRequest): Request {\n const forwardedHost = req.headers[\"x-forwarded-host\"];\n const host = Array.isArray(forwardedHost)\n ? forwardedHost[0]\n : forwardedHost || req.headers.host || \"localhost\";\n const forwardedProto = req.headers[\"x-forwarded-proto\"];\n const proto = Array.isArray(forwardedProto) ? forwardedProto[0] : forwardedProto || \"http\";\n const fullUrl = new URL(req.url || \"/\", `${proto}://${host}`).toString();\n\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (value == null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n headers.append(key, item);\n }\n continue;\n }\n\n headers.set(key, value);\n }\n\n return new Request(fullUrl, {\n method: req.method,\n headers,\n });\n}\n\nexport async function _runWithCurrentRequest<T>(\n request: Request,\n fn: () => Promise<T> | T,\n): Promise<T> {\n return requestStore.run(request, fn);\n}\n\nexport function getCurrentRequest(): Request {\n const request = requestStore.getStore();\n if (!request) {\n throw new Error(\n \"No current request is available. getCurrentRequest() can only be used during server rendering.\",\n );\n }\n\n return request;\n}\n\n// Some runtimes (StackBlitz WebContainers among them) lose AsyncLocalStorage\n// context across async boundaries mid-render. Callers whose feature can\n// degrade gracefully should use this instead of getCurrentRequest() so a\n// missing store never turns into a 500.\nexport function getCurrentRequestOrNull(): Request | null {\n return requestStore.getStore() ?? null;\n}\n","type CurrentRequestResolver = () => Request | undefined;\n\nconst CURRENT_REQUEST_RESOLVER_KEY = Symbol.for(\"farm.currentRequestResolver\");\n\ntype GlobalWithCurrentRequestResolver = typeof globalThis & {\n [CURRENT_REQUEST_RESOLVER_KEY]?: CurrentRequestResolver;\n};\n\nfunction getGlobalState(): GlobalWithCurrentRequestResolver {\n return globalThis as GlobalWithCurrentRequestResolver;\n}\n\nexport function _setCurrentRequestResolver(resolver: CurrentRequestResolver | undefined): void {\n getGlobalState()[CURRENT_REQUEST_RESOLVER_KEY] = resolver;\n}\n\nexport function _resolveCurrentRequest(): Request | undefined {\n return getGlobalState()[CURRENT_REQUEST_RESOLVER_KEY]?.();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,8BAAkC;;;ACElC,IAAM,+BAA+B,uBAAO,IAAI,6BAA6B;AAM7E,SAAS,iBAAmD;AAC1D,SAAO;AACT;AAFS;AAIF,SAAS,2BAA2B,UAAoD;AAC7F,iBAAe,EAAE,4BAA4B,IAAI;AACnD;AAFgB;;;ADRhB,IAAM,sBAAsB,uBAAO,IAAI,+BAA+B;AAEtE,SAAS,kBAA8C;AACrD,QAAM,UAAU;AAChB,QAAM,WAAW,QAAQ,mBAAmB;AAC5C,MAAI,oBAAoB,2CAAmB;AACzC,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,IAAI,0CAA2B;AAC/C,UAAQ,mBAAmB,IAAI;AAC/B,SAAO;AACT;AAVS;AAYT,IAAM,eAAe,gBAAgB;AAErC,2BAA2B,MAAM,aAAa,SAAS,CAAC;AAwCjD,SAAS,oBAA6B;AAC3C,QAAM,UAAU,aAAa,SAAS;AACtC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AATgB;;;ADrCT,SAAS,UAA2B;AACzC,SAAO,IAAI,QAAQ,kBAAkB,EAAE,OAAO;AAChD;AAFgB;AAIT,SAAS,UAAkC;AAChD,QAAM,eAAe,kBAAkB,EAAE,QAAQ,IAAI,QAAQ,KAAK;AAClE,QAAM,SAAS,kBAAkB,YAAY;AAE7C,SAAO;AAAA,IACL,IAAI,MAAM;AACR,aAAO,OAAO,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI;AAAA,IACrD;AAAA,IACA,OAAO,MAAM;AACX,aAAO,OAAO,OAAO,OAAO,CAAC,WAAW,OAAO,SAAS,IAAI,IAAI,CAAC,GAAG,MAAM;AAAA,IAC5E;AAAA,IACA,IAAI,MAAM;AACR,aAAO,OAAO,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI;AAAA,IACrD;AAAA,IACA,WAAW;AACT,aAAO;AAAA,IACT;AAAA,IACA,CAAC,OAAO,QAAQ,IAAI;AAClB,aAAO,OAAO,OAAO,QAAQ,EAAE;AAAA,IACjC;AAAA,EACF;AACF;AArBgB;AAuBhB,SAAS,kBAAkB,QAAiC;AAC1D,MAAI,CAAC,OAAO,KAAK,EAAG,QAAO,CAAC;AAE5B,SAAO,OACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,OAAO,EACd,IAAI,CAAC,SAAS;AACb,UAAM,iBAAiB,KAAK,QAAQ,GAAG;AACvC,QAAI,mBAAmB,IAAI;AACzB,aAAO;AAAA,QACL,MAAM,iBAAiB,IAAI;AAAA,QAC3B,OAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,MACL,MAAM,iBAAiB,KAAK,MAAM,GAAG,cAAc,EAAE,KAAK,CAAC;AAAA,MAC3D,OAAO,iBAAiB,KAAK,MAAM,iBAAiB,CAAC,EAAE,KAAK,CAAC;AAAA,IAC/D;AAAA,EACF,CAAC,EACA,OAAO,CAAC,WAAW,OAAO,KAAK,SAAS,CAAC;AAC9C;AAtBS;AAwBT,SAAS,iBAAiB,OAAe;AACvC,MAAI;AACF,WAAO,mBAAmB,KAAK;AAAA,EACjC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AANS;","names":[]}
package/dist/headers.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  cookies,
3
3
  headers
4
- } from "./chunk-AZ7YUVNR.mjs";
5
- import "./chunk-RHIFZZUI.mjs";
4
+ } from "./chunk-5NEFU3S3.mjs";
5
+ import "./chunk-X6WJFY7U.mjs";
6
6
  import "./chunk-LM2YNO4U.mjs";
7
7
  import "./chunk-CGILA3WO.mjs";
8
8
  export {
package/dist/index.cjs CHANGED
@@ -11460,6 +11460,9 @@ function getCurrentRequest() {
11460
11460
  }
11461
11461
  return request;
11462
11462
  }
11463
+ function getCurrentRequestOrNull() {
11464
+ return requestStore.getStore() ?? null;
11465
+ }
11463
11466
  var import_node_async_hooks2, REQUEST_STORAGE_KEY, requestStore;
11464
11467
  var init_request = __esm({
11465
11468
  "src/server/request.ts"() {
@@ -11473,6 +11476,7 @@ var init_request = __esm({
11473
11476
  __name(createWebRequestFromFarmRequest, "createWebRequestFromFarmRequest");
11474
11477
  __name(_runWithCurrentRequest, "_runWithCurrentRequest");
11475
11478
  __name(getCurrentRequest, "getCurrentRequest");
11479
+ __name(getCurrentRequestOrNull, "getCurrentRequestOrNull");
11476
11480
  }
11477
11481
  });
11478
11482
 
@@ -15291,11 +15295,12 @@ var init_bridge2 = __esm({
15291
15295
  function _setDefaultFarmThemeConfig(config, basePath = "/") {
15292
15296
  defaultThemeConfig = resolveFarmThemeConfig(config, basePath);
15293
15297
  }
15294
- function getTheme(request = getCurrentRequest()) {
15298
+ function getTheme(request = getCurrentRequestOrNull()) {
15299
+ if (!request) return defaultThemeConfig.default;
15295
15300
  return readFarmThemePreference(request, defaultThemeConfig);
15296
15301
  }
15297
- function getThemeSnapshot(request = getCurrentRequest()) {
15298
- const theme = readFarmThemePreference(request, defaultThemeConfig);
15302
+ function getThemeSnapshot(request = getCurrentRequestOrNull()) {
15303
+ const theme = request ? readFarmThemePreference(request, defaultThemeConfig) : defaultThemeConfig.default;
15299
15304
  return {
15300
15305
  theme,
15301
15306
  resolvedTheme: theme === "system" ? void 0 : theme,
@@ -15362,7 +15367,7 @@ var init_server3 = __esm({
15362
15367
  var version;
15363
15368
  var init_package = __esm({
15364
15369
  "package.json"() {
15365
- version = "0.1.0-beta.60";
15370
+ version = "0.1.0-beta.61";
15366
15371
  }
15367
15372
  });
15368
15373