void 0.9.2 → 0.10.1

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 (124) hide show
  1. package/README.md +1 -0
  2. package/dist/{auth-cmd-CPkWrQR9.mjs → auth-cmd-DBnbrX9Y.mjs} +2 -2
  3. package/dist/{better-auth-shared-ChVbrq52.mjs → better-auth-shared-D0Mbmx5V.mjs} +1 -1
  4. package/dist/{better-auth-shared-CmEQZs1T.d.mts → better-auth-shared-a7H3wk9J.d.mts} +2 -2
  5. package/dist/{cache-1SVxZ7BK.mjs → cache-DNX0hLsO.mjs} +1 -1
  6. package/dist/{cancel-deploy-JaFClLr7.mjs → cancel-deploy-CDzkVaYZ.mjs} +1 -1
  7. package/dist/cli/cli.mjs +205 -36
  8. package/dist/{client-DIfOFf1W.mjs → client-D4awzTnj.mjs} +149 -45
  9. package/dist/{config-BVEC0lti.mjs → config-8dLIngKW.mjs} +1 -1
  10. package/dist/{create-project-DCUrFJxa.mjs → create-project-CGodxfzH.mjs} +1 -1
  11. package/dist/{db-DiddQC2v.mjs → db-ERzz4oly.mjs} +16 -16
  12. package/dist/{delete-CYknzwXU.mjs → delete-CJZGDLBR.mjs} +1 -1
  13. package/dist/{deploy-CRU9fGjE.mjs → deploy-Cwa5sooV.mjs} +97 -108
  14. package/dist/{domain-B7RntQ1r.mjs → domain-WvoAHE6w.mjs} +1 -1
  15. package/dist/{drizzle-2fs1qTgy.mjs → drizzle-DqstQTGq.mjs} +1 -1
  16. package/dist/{env-Bvw0wMTI.mjs → env-Cx4czPsR.mjs} +3 -3
  17. package/dist/{env-helpers-Bd2wVdxz.d.mts → env-helpers-ZatKyjen.d.mts} +1 -1
  18. package/dist/{env-types-D6qI1ThV.mjs → env-types-CaJaIRXU.mjs} +1 -1
  19. package/dist/{env-validation-DBJsxZLz.mjs → env-validation-LH6eoyW-.mjs} +3 -3
  20. package/dist/{gen-CZdNWIaA.mjs → gen-Dgi4D7GC.mjs} +3 -3
  21. package/dist/git-metadata-Ce0AtSZL.mjs +82 -0
  22. package/dist/github-cmd-CUB041gj.mjs +308 -0
  23. package/dist/{handler-xflsMwWM.d.mts → handler-DczZlaXR.d.mts} +24 -4
  24. package/dist/{headers-Y0jshugF.mjs → headers-BNWymgnH.mjs} +2 -2
  25. package/dist/index.d.mts +4 -4
  26. package/dist/index.mjs +60 -55
  27. package/dist/{init-BHupO7Fm.mjs → init-DvaRDMIc.mjs} +125 -80
  28. package/dist/{link-7MoXUMaI.mjs → link-CpbWJY3P.mjs} +2 -2
  29. package/dist/{list-N2mCHv8q.mjs → list-BkwE5vH4.mjs} +1 -1
  30. package/dist/{login-tt1OmNVg.mjs → login-Ca6mhQVI.mjs} +1 -1
  31. package/dist/{logs-Cl7q2CjZ.mjs → logs-ArQzZquo.mjs} +1 -1
  32. package/dist/{mcp-BXD35N2J.mjs → mcp-Cc2MMXdQ.mjs} +1 -1
  33. package/dist/{node-CHWVVjO6.mjs → node-B07cZs0d.mjs} +4 -4
  34. package/dist/pages/client.d.mts +1 -1
  35. package/dist/pages/client.mjs +1 -0
  36. package/dist/pages/head-client.d.mts +1 -1
  37. package/dist/pages/head.d.mts +1 -1
  38. package/dist/pages/index.d.mts +8 -6
  39. package/dist/pages/index.mjs +3 -3
  40. package/dist/pages/islands-plugin.d.mts +1 -1
  41. package/dist/pages/islands-plugin.mjs +1 -1
  42. package/dist/pages/protocol.d.mts +2 -2
  43. package/dist/pages/protocol.mjs +30 -12
  44. package/dist/{plugin-inference-BUBhHt_1.mjs → plugin-inference-C3fLzFvP.mjs} +3 -1
  45. package/dist/{prepare-CrlAVbWS.mjs → prepare-DH2WnEpD.mjs} +14 -19
  46. package/dist/{preset-CIJG2O7a.mjs → preset-B7ZQZn0u.mjs} +2 -2
  47. package/dist/{project-cmd-CLrqSbqj.mjs → project-cmd-CWZeawuN.mjs} +8 -8
  48. package/dist/{project-tsconfig-HAGjfY6w.mjs → project-tsconfig-BTNuNoJ0.mjs} +18 -4
  49. package/dist/{protocol-DYca39yJ.d.mts → protocol-63PHtCHS.d.mts} +8 -5
  50. package/dist/{rollback-CEbAwbHK.mjs → rollback-BJ60ktsW.mjs} +1 -1
  51. package/dist/{route-types-jxRfWuCb.mjs → route-types-D03ryMXz.mjs} +3 -2
  52. package/dist/{runner-DLZ9E_cX.mjs → runner-BQyKUqAL.mjs} +1 -1
  53. package/dist/runtime/ai.mjs +1 -1
  54. package/dist/runtime/auth.d.mts +1 -1
  55. package/dist/runtime/better-auth-pg.d.mts +1 -1
  56. package/dist/runtime/better-auth-pg.mjs +3 -3
  57. package/dist/runtime/better-auth.d.mts +1 -1
  58. package/dist/runtime/better-auth.mjs +2 -2
  59. package/dist/runtime/client-react.d.mts +2 -2
  60. package/dist/runtime/client-react.mjs +1 -1
  61. package/dist/runtime/client-solid.d.mts +2 -2
  62. package/dist/runtime/client-solid.mjs +1 -1
  63. package/dist/runtime/client-svelte.d.mts +2 -2
  64. package/dist/runtime/client-svelte.mjs +1 -1
  65. package/dist/runtime/client-vue.d.mts +2 -2
  66. package/dist/runtime/client-vue.mjs +1 -1
  67. package/dist/runtime/client.d.mts +2 -2
  68. package/dist/runtime/client.mjs +1 -1
  69. package/dist/runtime/env-helpers.d.mts +1 -1
  70. package/dist/runtime/env-public-client.d.mts +1 -1
  71. package/dist/runtime/env-public.d.mts +2 -2
  72. package/dist/runtime/env-public.mjs +1 -1
  73. package/dist/runtime/env.mjs +1 -1
  74. package/dist/runtime/fetch-stream.d.mts +1 -1
  75. package/dist/runtime/fetch-stream.mjs +1 -1
  76. package/dist/runtime/fetch.d.mts +1 -1
  77. package/dist/runtime/fetch.mjs +1 -1
  78. package/dist/runtime/handler.d.mts +2 -2
  79. package/dist/runtime/handler.mjs +68 -2
  80. package/dist/runtime/isr.mjs +1 -1
  81. package/dist/runtime/live.d.mts +2 -2
  82. package/dist/runtime/live.mjs +1 -1
  83. package/dist/runtime/migration-handler-pg.mjs +1 -1
  84. package/dist/runtime/sandbox.mjs +1 -1
  85. package/dist/runtime/validator.d.mts +1 -1
  86. package/dist/runtime/ws-server.d.mts +2 -2
  87. package/dist/runtime/ws.d.mts +3 -3
  88. package/dist/{scan-BNC_1OsY.mjs → scan-DGEp1-1Q.mjs} +19 -11
  89. package/dist/{scan-2YmJkYAf.mjs → scan-VCAM1oh3.mjs} +55 -29
  90. package/dist/{secret-C_uTY7xx.mjs → secret-BRbXyu7E.mjs} +1 -1
  91. package/dist/{types-Dm9kep2X.d.mts → types-BnHMXezo.d.mts} +12 -3
  92. package/package.json +2 -2
  93. package/schema.json +3 -3
  94. package/skills/void/docs/guide/deployment.md +37 -11
  95. package/skills/void/docs/guide/edge/headers.md +10 -3
  96. package/skills/void/docs/guide/edge/rewrites.md +5 -5
  97. package/skills/void/docs/guide/pages-routing/layouts.md +8 -7
  98. package/skills/void/docs/guide/pages-routing/loaders.md +1 -1
  99. package/skills/void/docs/guide/pages-routing/overview.md +32 -5
  100. package/skills/void/docs/guide/server-routing.md +28 -0
  101. package/skills/void/docs/node_modules/void/AGENTS.md +15 -14
  102. package/skills/void/docs/node_modules/void/README.md +1 -0
  103. package/skills/void/docs/reference/api.md +44 -1
  104. package/skills/void/docs/reference/cli.md +65 -2
  105. package/skills/void/docs/reference/config.md +1 -1
  106. /package/dist/{auth-migrations-CuQkjjWE.mjs → auth-migrations-BP-hMzYl.mjs} +0 -0
  107. /package/dist/{auth-CDeb2XAl.d.mts → auth-nEUVHuFI.d.mts} +0 -0
  108. /package/dist/{defer-CouVukrf.mjs → defer-C-bdSM_b.mjs} +0 -0
  109. /package/dist/{dist-DR9sIMbM.mjs → dist-5cGIJHQQ.mjs} +0 -0
  110. /package/dist/{dotenv-Bkoqyq9r.mjs → dotenv-lS94ymhM.mjs} +0 -0
  111. /package/dist/{env-raw-RDkMnSTC.mjs → env-raw-Dtj1UAoK.mjs} +0 -0
  112. /package/dist/{fetch-error-CimrygMq.d.mts → fetch-error-BQMdPvge.d.mts} +0 -0
  113. /package/dist/{fetch-error-BFIoojjf.mjs → fetch-error-C6qffTl2.mjs} +0 -0
  114. /package/dist/{head-BsSTGnIe.d.mts → head-JAH2l3fg.d.mts} +0 -0
  115. /package/dist/{log-CWWZV4V1.mjs → log-BdD_Fpms.mjs} +0 -0
  116. /package/dist/{package-json-B2TD0JLu.mjs → package-json-Bg_GJdJB.mjs} +0 -0
  117. /package/dist/{pg-CMZ_5wsC.mjs → pg-CempqvEJ.mjs} +0 -0
  118. /package/dist/{providers-3Kkv63Ha.d.mts → providers-BkiAlEad.d.mts} +0 -0
  119. /package/dist/{providers-uC0PJg1c.mjs → providers-BwPbdHdi.mjs} +0 -0
  120. /package/dist/{runner-pg-Cv9V7ydr.mjs → runner-pg-BAheiT6v.mjs} +0 -0
  121. /package/dist/{skills-BRKc--As.mjs → skills--OMgLmXW.mjs} +0 -0
  122. /package/dist/{standard-schema-Dnsh2vnl.d.mts → standard-schema-BCBv-QaP.d.mts} +0 -0
  123. /package/dist/{subcommand-prompt-OD-x_Tsm.mjs → subcommand-prompt-ClwpLlKD.mjs} +0 -0
  124. /package/dist/{yarn-pnp-0SwYgQxx.mjs → yarn-pnp-DhCHHLAz.mjs} +0 -0
@@ -1,9 +1,9 @@
1
1
  import { a as join } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
2
  import { n as loadVoidAuthConfig, t as findVoidAuthConfig } from "./config-hhMYPVRT.mjs";
3
- import { f as readConfig } from "./config-BVEC0lti.mjs";
4
- import { r as resolveVoidAuthMigrationSchema } from "./drizzle-2fs1qTgy.mjs";
5
- import { n as applySqliteAuthMigrations, t as applyPgAuthMigrations } from "./auth-migrations-CuQkjjWE.mjs";
6
- import { getMiniflareDatabasePath } from "./runner-DLZ9E_cX.mjs";
3
+ import { f as readConfig } from "./config-8dLIngKW.mjs";
4
+ import { r as resolveVoidAuthMigrationSchema } from "./drizzle-DqstQTGq.mjs";
5
+ import { n as applySqliteAuthMigrations, t as applyPgAuthMigrations } from "./auth-migrations-BP-hMzYl.mjs";
6
+ import { getMiniflareDatabasePath } from "./runner-BQyKUqAL.mjs";
7
7
  import { loadEnv } from "vite";
8
8
  //#region src/auth/node.ts
9
9
  async function runLocalVoidAuthMigrations(root, dialect, persistRoot = join(root, ".void"), databaseId = "local", configPath = findVoidAuthConfig(root)) {
@@ -1,4 +1,4 @@
1
- import { t as PageObject } from "../protocol-DYca39yJ.mjs";
1
+ import { t as PageObject } from "../protocol-63PHtCHS.mjs";
2
2
  import { CacheForInput, CacheForResult } from "./prefetch.mjs";
3
3
 
4
4
  //#region src/pages/action-result.d.ts
@@ -390,6 +390,7 @@ async function createPageNavigationEngine(config) {
390
390
  return r.json();
391
391
  });
392
392
  });
393
+ _prefetchCache.flush(fetchUrl, method);
393
394
  _prefetchCache.set(fetchUrl, method, bgFetch, PREFETCH_DEFAULT_CACHE_FOR);
394
395
  }
395
396
  } else {
@@ -1,4 +1,4 @@
1
- import { n as HeadDescriptor } from "../head-BsSTGnIe.mjs";
1
+ import { n as HeadDescriptor } from "../head-JAH2l3fg.mjs";
2
2
 
3
3
  //#region src/pages/head-client.d.ts
4
4
  /**
@@ -1,2 +1,2 @@
1
- import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-BsSTGnIe.mjs";
1
+ import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-JAH2l3fg.mjs";
2
2
  export { HeadConfig, HeadDescriptor, renderBodyAttrs, renderHeadToString, renderHtmlAttrs, resolveHead };
@@ -1,5 +1,5 @@
1
- import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-BsSTGnIe.mjs";
2
- import { a as PageScanResult, i as PageDefinition, n as LayoutDefinition, r as NamedLayoutDefinition } from "../types-Dm9kep2X.mjs";
1
+ import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-JAH2l3fg.mjs";
2
+ import { i as PageDefinition, n as LayoutDefinition, o as PageScanResult, r as NamedLayoutDefinition } from "../types-BnHMXezo.mjs";
3
3
  import { serializePageData } from "./serialize.mjs";
4
4
  import { RewriteDestination } from "void/routes";
5
5
 
@@ -27,21 +27,23 @@ declare function resolvePagesDir(root?: string): string;
27
27
  //#endregion
28
28
  //#region src/pages/layout-resolution.d.ts
29
29
  /** Resolve the layout chain for a component (innermost last) */
30
- declare function resolveLayoutChain(componentId: string, layouts: Array<LayoutDefinition>): Array<LayoutDefinition>;
30
+ declare function resolveLayoutChain(componentId: string, layouts: Array<LayoutDefinition>, componentPath?: string): Array<LayoutDefinition>;
31
31
  /** Walk up directory tree to find closest _layouts/<name> */
32
- declare function resolveNamedLayout(name: string, componentId: string, namedLayouts: Array<NamedLayoutDefinition>): NamedLayoutDefinition | null;
32
+ declare function resolveNamedLayout(name: string, componentId: string, namedLayouts: Array<NamedLayoutDefinition>, componentPath?: string): NamedLayoutDefinition | null;
33
33
  /** Resolve effective layout chain accounting for named layout selection */
34
34
  declare function resolveEffectiveLayoutChain(page: {
35
35
  componentId: string;
36
+ componentPath?: string;
36
37
  layout?: string | false;
37
38
  }, layouts: Array<LayoutDefinition>, namedLayouts: Array<NamedLayoutDefinition>): Array<LayoutDefinition | NamedLayoutDefinition>;
38
39
  //#endregion
39
40
  //#region src/pages/scan.d.ts
40
- declare function scanPages(root: string, options?: {
41
+ type PageScanOptions = {
41
42
  output?: "server" | "static";
42
43
  paths?: ProjectPaths;
43
44
  pagesDir?: string;
44
- }): Promise<PageScanResult>;
45
+ };
46
+ declare function scanPages(root: string, options?: PageScanOptions): Promise<PageScanResult>;
45
47
  //#endregion
46
48
  //#region src/pages/manifest.d.ts
47
49
  /**
@@ -1,8 +1,8 @@
1
1
  import { a as join } from "../pathe.M-eThtNZ-BrPhGF_K.mjs";
2
2
  import { r as resolvePagesDir } from "../project-paths-CCMrHYQm.mjs";
3
- import { f as readConfig } from "../config-BVEC0lti.mjs";
4
- import { a as resolveNamedLayout, i as resolveLayoutIds, n as resolveEffectiveLayoutChain, r as resolveLayoutChain, t as scanPages } from "../scan-2YmJkYAf.mjs";
5
- import { i as parseRedirectsFile } from "../headers-Y0jshugF.mjs";
3
+ import { f as readConfig } from "../config-8dLIngKW.mjs";
4
+ import { a as resolveNamedLayout, i as resolveLayoutIds, n as resolveEffectiveLayoutChain, r as resolveLayoutChain, t as scanPages } from "../scan-VCAM1oh3.mjs";
5
+ import { i as parseRedirectsFile } from "../headers-BNWymgnH.mjs";
6
6
  import { renderBodyAttrs, renderHeadToString, renderHtmlAttrs, resolveHead } from "./head.mjs";
7
7
  import { serializePageData } from "./serialize.mjs";
8
8
  //#region src/pages/manifest.ts
@@ -1,4 +1,4 @@
1
- import { a as PageScanResult } from "../types-Dm9kep2X.mjs";
1
+ import { o as PageScanResult } from "../types-BnHMXezo.mjs";
2
2
  import { ResolvedConfig, ViteDevServer } from "vite";
3
3
 
4
4
  //#region src/pages/islands-plugin.d.ts
@@ -1,5 +1,5 @@
1
1
  import { c as resolve, n as dirname } from "../pathe.M-eThtNZ-BrPhGF_K.mjs";
2
- import { n as resolveEffectiveLayoutChain, t as scanPages } from "../scan-2YmJkYAf.mjs";
2
+ import { n as resolveEffectiveLayoutChain, t as scanPages } from "../scan-VCAM1oh3.mjs";
3
3
  import { existsSync, readFileSync, readdirSync } from "node:fs";
4
4
  import { normalizePath } from "vite";
5
5
  //#region src/pages/islands-plugin.ts
@@ -1,3 +1,3 @@
1
- import { S as ValidationError } from "../handler-xflsMwWM.mjs";
2
- import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-DYca39yJ.mjs";
1
+ import { w as ValidationError } from "../handler-DczZlaXR.mjs";
2
+ import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-63PHtCHS.mjs";
3
3
  export { PageObject, PageRenderResult, ValidationError, flattenValidationErrors, handlePageGet, handlePageMutation, safeJsonStringify };
@@ -1,6 +1,7 @@
1
1
  import { isConvertedResponse } from "../runtime/response.mjs";
2
- import { i as ValidationError, r as separateDeferred, t as DEFERRED } from "../defer-CouVukrf.mjs";
3
- import { resolveHead } from "./head.mjs";
2
+ import { i as ValidationError, r as separateDeferred, t as DEFERRED } from "../defer-C-bdSM_b.mjs";
3
+ import { renderBodyAttrs, renderHeadToString, renderHtmlAttrs, resolveHead } from "./head.mjs";
4
+ import { serializePageData } from "./serialize.mjs";
4
5
  //#region src/pages/protocol.ts
5
6
  const POWERED_BY = { "X-Powered-By": "Void" };
6
7
  const RENDER_ERROR_ASSET_TAGS_KEY = "__voidPageAssetTags";
@@ -95,6 +96,21 @@ async function renderWithAssetTags(renderFn, pageObj, assetTags) {
95
96
  attachRenderErrorAssetTags(error, assetTags);
96
97
  }
97
98
  }
99
+ function renderClientOnlyPage(pageObj, assetTags, renderFn) {
100
+ const pageData = serializePageData(pageObj);
101
+ const headHtml = pageObj.head ? renderHeadToString(pageObj.head) : "";
102
+ const htmlAttrs = pageObj.head ? renderHtmlAttrs(pageObj.head) : "";
103
+ const bodyAttrs = pageObj.head ? renderBodyAttrs(pageObj.head) : "";
104
+ return `<!doctype html>
105
+ <html${htmlAttrs}>
106
+ <head>${headHtml}${typeof renderFn.preambleScript === "string" ? renderFn.preambleScript : ""}${assetTags.css}${assetTags.preloads}</head>
107
+ <body${bodyAttrs}>
108
+ <script id="__VOID_PAGE_DATA__" type="application/json">${pageData}<\/script>
109
+ <div id="app" data-void-ssr="false"></div>
110
+ ${assetTags.body}
111
+ </body>
112
+ </html>`;
113
+ }
98
114
  function pageJsonResponse(c, pageObj) {
99
115
  return Response.json(pageObj, { headers: pageResponseHeaders(c, {
100
116
  "X-VoidPages": "true",
@@ -170,7 +186,8 @@ function streamDeferredResponse(initialChunk, deferredMap, c, contentType, forma
170
186
  }), assetTags?.devCssNonce) });
171
187
  }
172
188
  /** Handle GET page request — run handler, return page object or SSR HTML */
173
- async function handlePageGet(handler, headFn, c, componentId, renderFn, getAssetTags, configHead, island) {
189
+ async function handlePageGet(handler, headFn, c, componentId, renderFn, getAssetTags, configHead, options) {
190
+ const renderMode = options?.renderMode ?? "server";
174
191
  const shared = c.get("shared") ?? {};
175
192
  let props = {};
176
193
  if (handler) {
@@ -200,7 +217,7 @@ async function handlePageGet(handler, headFn, c, componentId, renderFn, getAsset
200
217
  deferredKeys
201
218
  }
202
219
  };
203
- if (!island && isPagesRequest(c)) {
220
+ if (renderMode !== "island" && isPagesRequest(c)) {
204
221
  if (c.req.header("purpose") === "prefetch" && hasDeferred) {
205
222
  const resolvedProps = { ...immediateProps };
206
223
  await Promise.all(Object.entries(deferredMap).map(async ([, { resolver, keys }]) => {
@@ -231,12 +248,13 @@ async function handlePageGet(handler, headFn, c, componentId, renderFn, getAsset
231
248
  }) + "\n");
232
249
  }
233
250
  const assetTags = prepareAssetTags(await getAssetTags(c.req.raw, c.env, componentId));
234
- const html = await renderWithAssetTags(renderFn, pageObj, assetTags);
251
+ const html = renderMode === "client" ? renderClientOnlyPage(pageObj, assetTags, renderFn) : await renderWithAssetTags(renderFn, pageObj, assetTags);
235
252
  if (!hasDeferred) return renderedResponse(c, html, "text/html; charset=utf-8", assetTags);
236
253
  return streamDeferredResponse(html, deferredMap, c, "text/html; charset=utf-8", (group, data) => `\n<script>window.__resolveDeferred?window.__resolveDeferred(${safeJsonStringify(group)},${safeJsonStringify(data)}):(window.__deferredQueue??=[]).push([${safeJsonStringify(group)},${safeJsonStringify(data)}])<\/script>`, (group, error) => `\n<script>window.__rejectDeferred?window.__rejectDeferred(${safeJsonStringify(group)},${safeJsonStringify(error)}):(window.__deferredQueue??=[]).push([${safeJsonStringify(group)},0,${safeJsonStringify(error)}])<\/script>`, assetTags);
237
254
  }
238
255
  /** Handle POST/PUT/DELETE page request — run mutation, then re-run GET or redirect */
239
- async function handlePageMutation(mutationHandler, getHandler, headFn, c, componentId, renderFn, getAssetTags, configHead, island) {
256
+ async function handlePageMutation(mutationHandler, getHandler, headFn, c, componentId, renderFn, getAssetTags, configHead, options) {
257
+ const renderMode = options?.renderMode ?? "server";
240
258
  const shared = c.get("shared") ?? {};
241
259
  const middlewareHead = c.get("headDefaults");
242
260
  function buildMutationPageObj(props, errors) {
@@ -256,11 +274,11 @@ async function handlePageMutation(mutationHandler, getHandler, headFn, c, compon
256
274
  result = mutationHandler ? await mutationHandler(c) : void 0;
257
275
  } catch (e) {
258
276
  if (e instanceof ValidationError) {
259
- if (island) return Response.json({ errors: e.errors }, { status: 422 });
277
+ if (renderMode === "island") return Response.json({ errors: e.errors }, { status: 422 });
260
278
  const pageObj = buildMutationPageObj(stripDeferred(getHandler ? await extractProps(await getHandler(c)) : {}), e.errors);
261
279
  if (isPagesRequest(c)) return pageJsonResponse(c, pageObj);
262
280
  const assetTags = prepareAssetTags(await getAssetTags(c.req.raw, c.env, componentId));
263
- return renderedResponse(c, await renderWithAssetTags(renderFn, pageObj, assetTags), "text/html; charset=utf-8", assetTags);
281
+ return renderedResponse(c, renderMode === "client" ? renderClientOnlyPage(pageObj, assetTags, renderFn) : await renderWithAssetTags(renderFn, pageObj, assetTags), "text/html; charset=utf-8", assetTags);
264
282
  }
265
283
  throw e;
266
284
  }
@@ -269,19 +287,19 @@ async function handlePageMutation(mutationHandler, getHandler, headFn, c, compon
269
287
  if (status >= 300 && status < 400) return result;
270
288
  if (status === 400) {
271
289
  const errors = flattenValidationErrors(await result.json());
272
- if (island) return Response.json({ errors }, { status: 422 });
290
+ if (renderMode === "island") return Response.json({ errors }, { status: 422 });
273
291
  const pageObj = buildMutationPageObj(stripDeferred(getHandler ? await extractProps(await getHandler(c)) : {}), errors);
274
292
  if (isPagesRequest(c)) return pageJsonResponse(c, pageObj);
275
293
  const assetTags = prepareAssetTags(await getAssetTags(c.req.raw, c.env, componentId));
276
- return renderedResponse(c, await renderWithAssetTags(renderFn, pageObj, assetTags), "text/html; charset=utf-8", assetTags);
294
+ return renderedResponse(c, renderMode === "client" ? renderClientOnlyPage(pageObj, assetTags, renderFn) : await renderWithAssetTags(renderFn, pageObj, assetTags), "text/html; charset=utf-8", assetTags);
277
295
  }
278
296
  if (status !== 204) return result;
279
297
  }
280
- if (island) return Response.json({ success: true });
298
+ if (renderMode === "island") return Response.json({ success: true });
281
299
  const pageObj = buildMutationPageObj(stripDeferred(getHandler ? await extractProps(await getHandler(c)) : {}), null);
282
300
  if (isPagesRequest(c)) return pageJsonResponse(c, pageObj);
283
301
  const assetTags = prepareAssetTags(await getAssetTags(c.req.raw, c.env, componentId));
284
- return renderedResponse(c, await renderWithAssetTags(renderFn, pageObj, assetTags), "text/html; charset=utf-8", assetTags);
302
+ return renderedResponse(c, renderMode === "client" ? renderClientOnlyPage(pageObj, assetTags, renderFn) : await renderWithAssetTags(renderFn, pageObj, assetTags), "text/html; charset=utf-8", assetTags);
285
303
  }
286
304
  //#endregion
287
305
  export { ValidationError, flattenValidationErrors, handlePageGet, handlePageMutation, safeJsonStringify };
@@ -1,6 +1,6 @@
1
1
  import { a as join, s as relative } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-CCMrHYQm.mjs";
3
- import { n as globSync } from "./dist-DR9sIMbM.mjs";
3
+ import { n as globSync } from "./dist-5cGIJHQQ.mjs";
4
4
  import { existsSync, readFileSync } from "node:fs";
5
5
  import { parseSync } from "vite";
6
6
  import { parse } from "es-module-lexer/js";
@@ -398,6 +398,7 @@ function validateServerRenderExport(entry) {
398
398
  return false;
399
399
  }
400
400
  if (node.type !== "ExportNamedDeclaration") return false;
401
+ if (node.exportKind === "type") return false;
401
402
  const declaration = node.declaration;
402
403
  if (declaration?.type === "FunctionDeclaration") {
403
404
  const fn = declaration;
@@ -405,6 +406,7 @@ function validateServerRenderExport(entry) {
405
406
  }
406
407
  if (declaration?.type === "VariableDeclaration") return (declaration.declarations ?? []).some((decl) => isIdentifier(decl.id) && decl.id.name === "render");
407
408
  return (node.specifiers ?? []).some((specifier) => {
409
+ if (specifier.exportKind === "type") return false;
408
410
  const exported = specifier.exported;
409
411
  return isIdentifier(exported) && exported.name === "render";
410
412
  });
@@ -3,22 +3,21 @@ import { n as cliTitle } from "./output-DeiS4oEX.mjs";
3
3
  import { i as resolveProjectPaths } from "./project-paths-CCMrHYQm.mjs";
4
4
  import { n as loadVoidAuthConfig, t as findVoidAuthConfig } from "./config-hhMYPVRT.mjs";
5
5
  import { c as R, g as ge, u as Se, y as ye } from "./dist-abzUneor.mjs";
6
- import { c as getDatabaseDialect, f as readConfig } from "./config-BVEC0lti.mjs";
7
- import { r as scanRoutes } from "./scan-BNC_1OsY.mjs";
8
- import { i as inferProjectBindings, n as FRAMEWORK_SCAN_DIRS, r as detectFramework } from "./plugin-inference-BUBhHt_1.mjs";
9
- import { i as generateDbDts, n as generateQueueTypes, t as generateRouteTypes } from "./route-types-jxRfWuCb.mjs";
10
- import { n as ensureProjectTsconfig } from "./project-tsconfig-HAGjfY6w.mjs";
6
+ import { n as ensureProjectTsconfig, r as writeFileIfChanged } from "./project-tsconfig-BTNuNoJ0.mjs";
7
+ import { c as getDatabaseDialect, f as readConfig } from "./config-8dLIngKW.mjs";
8
+ import { r as scanRoutes } from "./scan-DGEp1-1Q.mjs";
9
+ import { i as inferProjectBindings, n as FRAMEWORK_SCAN_DIRS, r as detectFramework } from "./plugin-inference-C3fLzFvP.mjs";
10
+ import { i as generateDbDts, n as generateQueueTypes, t as generateRouteTypes } from "./route-types-D03ryMXz.mjs";
11
11
  import { t as discoverSchema } from "./discover-C8N1I4tK.mjs";
12
- import { r as generateEnvTypes, t as findEnvFile } from "./env-types-D6qI1ThV.mjs";
13
- import { n as generateVoidAuthDrizzleSchema, t as generateVoidAuthDatabaseModule } from "./drizzle-2fs1qTgy.mjs";
14
- import { existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
12
+ import { r as generateEnvTypes, t as findEnvFile } from "./env-types-CaJaIRXU.mjs";
13
+ import { n as generateVoidAuthDrizzleSchema, t as generateVoidAuthDatabaseModule } from "./drizzle-DqstQTGq.mjs";
14
+ import { existsSync, mkdirSync, rmSync } from "node:fs";
15
15
  import { fileURLToPath } from "node:url";
16
16
  import { loadEnv } from "vite";
17
17
  //#region src/codegen/prepare.ts
18
18
  function writeGeneratedFile(outDir, fileName, content, written) {
19
19
  mkdirSync(outDir, { recursive: true });
20
- writeFileSync(join(outDir, fileName), content);
21
- written.push(join(".void", fileName));
20
+ if (writeFileIfChanged(join(outDir, fileName), content)) written.push(join(".void", fileName));
22
21
  }
23
22
  function removeGeneratedFile(outDir, fileName, removed) {
24
23
  const filePath = join(outDir, fileName);
@@ -62,8 +61,7 @@ async function prepareProject(root) {
62
61
  const schema = discoverSchema(root, paths);
63
62
  const hasDbRuntime = schema != null || authEnabled;
64
63
  if (hasDbRuntime) {
65
- generateDbDts(outDir, schema, dialect);
66
- written.push(join(".void", "db.d.ts"));
64
+ if (generateDbDts(outDir, schema, dialect)) written.push(join(".void", "db.d.ts"));
67
65
  } else removeGeneratedFile(outDir, "db.d.ts", removed);
68
66
  if (authEnabled) {
69
67
  const authRuntime = {
@@ -75,20 +73,17 @@ async function prepareProject(root) {
75
73
  const schemaPath = join(outDir, "better-auth-schema.ts");
76
74
  const databasePath = join(outDir, "better-auth-db.ts");
77
75
  const drizzleAdapterPath = fileURLToPath(import.meta.resolve("better-auth/adapters/drizzle"));
78
- writeFileSync(schemaPath, generateVoidAuthDrizzleSchema(authRuntime, env));
79
- writeFileSync(databasePath, generateVoidAuthDatabaseModule({
76
+ if (writeFileIfChanged(schemaPath, generateVoidAuthDrizzleSchema(authRuntime, env))) written.push(join(".void", "better-auth-schema.ts"));
77
+ if (writeFileIfChanged(databasePath, generateVoidAuthDatabaseModule({
80
78
  dialect,
81
79
  schemaImportPath: schemaPath,
82
80
  drizzleAdapterPath
83
- }));
84
- written.push(join(".void", "better-auth-schema.ts"));
85
- written.push(join(".void", "better-auth-db.ts"));
81
+ }))) written.push(join(".void", "better-auth-db.ts"));
86
82
  } else {
87
83
  removeGeneratedFile(outDir, "better-auth-schema.ts", removed);
88
84
  removeGeneratedFile(outDir, "better-auth-db.ts", removed);
89
85
  }
90
- ensureProjectTsconfig(root, hasRouteTypes, hasDbRuntime, schema != null, { paths });
91
- written.push(join(".void", "tsconfig.json"));
86
+ if (ensureProjectTsconfig(root, hasRouteTypes, hasDbRuntime, schema != null, { paths })) written.push(join(".void", "tsconfig.json"));
92
87
  return {
93
88
  written,
94
89
  removed
@@ -1,7 +1,7 @@
1
1
  import { a as join, c as resolve } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-CCMrHYQm.mjs";
3
- import { s as hasSsrEntry } from "./plugin-inference-BUBhHt_1.mjs";
4
- import { i as readPackageJson, n as hasPackageDependency, t as getPackageDependencies } from "./package-json-B2TD0JLu.mjs";
3
+ import { s as hasSsrEntry } from "./plugin-inference-C3fLzFvP.mjs";
4
+ import { i as readPackageJson, n as hasPackageDependency, t as getPackageDependencies } from "./package-json-Bg_GJdJB.mjs";
5
5
  import { existsSync } from "node:fs";
6
6
  //#region src/cli/preset.ts
7
7
  /**
@@ -1,5 +1,5 @@
1
1
  import { i as dim, l as tablePrefix, n as cliTitle, s as import_picocolors } from "./output-DeiS4oEX.mjs";
2
- import { c as getToken, n as PlatformClient, s as getSiteDomain } from "./client-DIfOFf1W.mjs";
2
+ import { d as getToken, n as PlatformClient, u as getSiteDomain } from "./client-D4awzTnj.mjs";
3
3
  import { c as R, g as ge, y as ye } from "./dist-abzUneor.mjs";
4
4
  //#region src/cli/projects.ts
5
5
  async function runProjectsCommand(root) {
@@ -34,32 +34,32 @@ async function runProjectsCommand(root) {
34
34
  //#region src/cli/project-cmd.ts
35
35
  async function runProjectCommand(root, args) {
36
36
  if (args.subcommand === "status") {
37
- const { runListCommand } = await import("./list-N2mCHv8q.mjs");
37
+ const { runListCommand } = await import("./list-BkwE5vH4.mjs");
38
38
  return runListCommand(root, args.name || void 0);
39
39
  }
40
40
  if (args.subcommand === "link") {
41
- const { runLink } = await import("./link-7MoXUMaI.mjs");
41
+ const { runLink } = await import("./link-CpbWJY3P.mjs");
42
42
  return runLink(root, args.name || void 0);
43
43
  }
44
44
  if (args.subcommand === "list") return runProjectsCommand(root);
45
45
  if (args.subcommand === "logs") {
46
- const { runLogsCommand } = await import("./logs-Cl7q2CjZ.mjs");
46
+ const { runLogsCommand } = await import("./logs-ArQzZquo.mjs");
47
47
  return runLogsCommand(root, args.filter, args.range, args.deployment || void 0, args.level || void 0);
48
48
  }
49
49
  if (args.subcommand === "rollback") {
50
- const { runRollbackCommand } = await import("./rollback-CEbAwbHK.mjs");
50
+ const { runRollbackCommand } = await import("./rollback-BJ60ktsW.mjs");
51
51
  return runRollbackCommand(root, args.deployId || void 0);
52
52
  }
53
53
  if (args.subcommand === "cancel") {
54
- const { runCancelDeployCommand } = await import("./cancel-deploy-JaFClLr7.mjs");
54
+ const { runCancelDeployCommand } = await import("./cancel-deploy-CDzkVaYZ.mjs");
55
55
  return runCancelDeployCommand(root, args.deployId || void 0);
56
56
  }
57
57
  if (args.subcommand === "delete") {
58
- const { runDeleteCommand } = await import("./delete-CYknzwXU.mjs");
58
+ const { runDeleteCommand } = await import("./delete-CJZGDLBR.mjs");
59
59
  return runDeleteCommand(root, args.name || void 0, { force: args.force });
60
60
  }
61
61
  if (args.subcommand === "purge-cache") {
62
- const { runPurgeCacheCommand } = await import("./cache-1SVxZ7BK.mjs");
62
+ const { runPurgeCacheCommand } = await import("./cache-DNX0hLsO.mjs");
63
63
  return runPurgeCacheCommand(root, args.projectSlug || void 0);
64
64
  }
65
65
  }
@@ -1,6 +1,20 @@
1
- import { a as join, s as relative } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
1
+ import { a as join, n as dirname, s as relative } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-CCMrHYQm.mjs";
3
- import { existsSync, mkdirSync, writeFileSync } from "node:fs";
3
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
4
+ //#region src/codegen/write-if-changed.ts
5
+ function writeFileIfChanged(path, content) {
6
+ let existing = null;
7
+ try {
8
+ existing = readFileSync(path, "utf8");
9
+ } catch (err) {
10
+ if (err.code !== "ENOENT") throw err;
11
+ }
12
+ if (existing === content) return false;
13
+ mkdirSync(dirname(path), { recursive: true });
14
+ writeFileSync(path, content);
15
+ return true;
16
+ }
17
+ //#endregion
4
18
  //#region src/codegen/project-tsconfig.ts
5
19
  /**
6
20
  * Build the generated .void/tsconfig.json contents. Lists the generated
@@ -62,7 +76,7 @@ function ensureProjectTsconfig(root, hasRouteTypes, hasDb, hasSchema, options =
62
76
  const outDir = join(root, ".void");
63
77
  mkdirSync(outDir, { recursive: true });
64
78
  const tsconfig = createProjectTsconfig(root, hasRouteTypes, hasDb, hasSchema, options);
65
- writeFileSync(join(outDir, "tsconfig.json"), JSON.stringify(tsconfig, null, 2) + "\n");
79
+ return writeFileIfChanged(join(outDir, "tsconfig.json"), JSON.stringify(tsconfig, null, 2) + "\n");
66
80
  }
67
81
  //#endregion
68
- export { ensureProjectTsconfig as n, createProjectTsconfig as t };
82
+ export { ensureProjectTsconfig as n, writeFileIfChanged as r, createProjectTsconfig as t };
@@ -1,6 +1,6 @@
1
- import { n as HeadDescriptor, t as HeadConfig } from "./head-BsSTGnIe.mjs";
2
- import { n as CloudContext, t as CloudBindings } from "./handler-xflsMwWM.mjs";
3
- import { t as DevCssAsset } from "./types-Dm9kep2X.mjs";
1
+ import { n as HeadDescriptor, t as HeadConfig } from "./head-JAH2l3fg.mjs";
2
+ import { n as CloudBindings, r as CloudContext } from "./handler-DczZlaXR.mjs";
3
+ import { a as PageRenderMode, t as DevCssAsset } from "./types-BnHMXezo.mjs";
4
4
 
5
5
  //#region src/pages/protocol.d.ts
6
6
  /** Escape characters that are unsafe inside inline <script> tags to prevent XSS. */
@@ -19,6 +19,9 @@ type PageObject = {
19
19
  type PageRenderResult = string | ReadableStream<Uint8Array>;
20
20
  type PageHandler = ((c: CloudContext) => unknown | Promise<unknown>) | undefined;
21
21
  type PageHeadHandler = ((c: CloudContext, props: Record<string, unknown>) => HeadDescriptor | undefined) | undefined;
22
+ type PageRenderOptions = {
23
+ renderMode?: PageRenderMode;
24
+ };
22
25
  type AssetTags = {
23
26
  css: string;
24
27
  preloads: string;
@@ -31,8 +34,8 @@ type GetAssetTags = (req: Request, env: CloudBindings, componentId: string) => P
31
34
  /** Flatten withValidator's { issues: [{ slot, issues: [{ message, path }] }] } into { field: message } */
32
35
  declare function flattenValidationErrors(body: unknown): Record<string, string>;
33
36
  /** Handle GET page request — run handler, return page object or SSR HTML */
34
- declare function handlePageGet(handler: PageHandler, headFn: PageHeadHandler, c: CloudContext, componentId: string, renderFn: RenderPage, getAssetTags: GetAssetTags, configHead?: HeadConfig, island?: boolean): Promise<Response>;
37
+ declare function handlePageGet(handler: PageHandler, headFn: PageHeadHandler, c: CloudContext, componentId: string, renderFn: RenderPage, getAssetTags: GetAssetTags, configHead?: HeadConfig, options?: PageRenderOptions): Promise<Response>;
35
38
  /** Handle POST/PUT/DELETE page request — run mutation, then re-run GET or redirect */
36
- declare function handlePageMutation(mutationHandler: PageHandler, getHandler: PageHandler, headFn: PageHeadHandler, c: CloudContext, componentId: string, renderFn: RenderPage, getAssetTags: GetAssetTags, configHead?: HeadConfig, island?: boolean): Promise<Response>;
39
+ declare function handlePageMutation(mutationHandler: PageHandler, getHandler: PageHandler, headFn: PageHeadHandler, c: CloudContext, componentId: string, renderFn: RenderPage, getAssetTags: GetAssetTags, configHead?: HeadConfig, options?: PageRenderOptions): Promise<Response>;
37
40
  //#endregion
38
41
  export { handlePageMutation as a, handlePageGet as i, PageRenderResult as n, safeJsonStringify as o, flattenValidationErrors as r, PageObject as t };
@@ -1,5 +1,5 @@
1
1
  import { a as ensureUtc, i as dim, n as cliTitle, r as createSpinner, s as import_picocolors } from "./output-DeiS4oEX.mjs";
2
- import { c as getToken, n as PlatformClient } from "./client-DIfOFf1W.mjs";
2
+ import { d as getToken, n as PlatformClient } from "./client-D4awzTnj.mjs";
3
3
  import { _ as me, c as R, g as ge, i as Ee, v as ue, x as q, y as ye } from "./dist-abzUneor.mjs";
4
4
  import { r as readProjectConfig } from "./project-CH9pdo16.mjs";
5
5
  //#region src/cli/rollback.ts
@@ -1,5 +1,6 @@
1
1
  import { a as join, s as relative } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
- import { mkdirSync, writeFileSync } from "node:fs";
2
+ import { r as writeFileIfChanged } from "./project-tsconfig-BTNuNoJ0.mjs";
3
+ import { mkdirSync } from "node:fs";
3
4
  //#region src/codegen/db-types.ts
4
5
  const DRIZZLE_OPERATORS = "sql, eq, ne, gt, gte, lt, lte, and, or, not, desc, asc, like, ilike, notLike, inArray, notInArray, isNull, isNotNull, between, notBetween, exists, notExists, count, sum, avg, min, max";
5
6
  /**
@@ -53,7 +54,7 @@ function generateDbDts(outDir, schema, dialect) {
53
54
  "export type { DrizzleD1Database } from \"void/_db\";",
54
55
  ""
55
56
  ];
56
- writeFileSync(join(outDir, "db.d.ts"), lines.join("\n"));
57
+ return writeFileIfChanged(join(outDir, "db.d.ts"), lines.join("\n"));
57
58
  }
58
59
  //#endregion
59
60
  //#region src/codegen/queue-types.ts
@@ -1,7 +1,7 @@
1
1
  import { a as join, n as dirname } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
2
  import { t as collectMigrations } from "./collect-9rO3JFNM.mjs";
3
3
  import { r as classifyMigration } from "./plan-aD3wRDqF.mjs";
4
- import { n as hasPackageDependency, r as readNearestPackageJson } from "./package-json-B2TD0JLu.mjs";
4
+ import { n as hasPackageDependency, r as readNearestPackageJson } from "./package-json-Bg_GJdJB.mjs";
5
5
  import { existsSync, mkdirSync } from "node:fs";
6
6
  import { createHash, createHmac } from "node:crypto";
7
7
  //#region src/migrations/runner.ts
@@ -1,5 +1,5 @@
1
1
  import { t as cfAccessHeaders } from "../cf-access-DKDsgwOU.mjs";
2
- import { i as getRawRuntimeEnv } from "../env-raw-RDkMnSTC.mjs";
2
+ import { i as getRawRuntimeEnv } from "../env-raw-Dtj1UAoK.mjs";
3
3
  //#region src/runtime/ai-types.ts
4
4
  /** Maps provider prefix to expected env var name for the API key */
5
5
  const PROVIDER_KEY_MAP = {
@@ -1,2 +1,2 @@
1
- import { a as VoidAuthConfigContext, c as getSession, i as VoidAuthConfig, l as getUser, n as AuthState, o as authContext, r as AuthUser, s as defineAuth, t as AuthSession, u as requireAuth } from "../auth-CDeb2XAl.mjs";
1
+ import { a as VoidAuthConfigContext, c as getSession, i as VoidAuthConfig, l as getUser, n as AuthState, o as authContext, r as AuthUser, s as defineAuth, t as AuthSession, u as requireAuth } from "../auth-nEUVHuFI.mjs";
2
2
  export { AuthSession, AuthState, AuthUser, VoidAuthConfig, VoidAuthConfigContext, authContext, defineAuth, getSession, getUser, requireAuth };
@@ -1,4 +1,4 @@
1
- import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-CmEQZs1T.mjs";
1
+ import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-a7H3wk9J.mjs";
2
2
 
3
3
  //#region src/runtime/better-auth-pg.d.ts
4
4
  declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
@@ -1,6 +1,6 @@
1
- import { t as applyPgAuthMigrations } from "../auth-migrations-CuQkjjWE.mjs";
2
- import { t as createVoidAuthRuntime } from "../better-auth-shared-ChVbrq52.mjs";
3
- import { t as disablePgPassFallback } from "../pg-CMZ_5wsC.mjs";
1
+ import { t as applyPgAuthMigrations } from "../auth-migrations-BP-hMzYl.mjs";
2
+ import { t as createVoidAuthRuntime } from "../better-auth-shared-D0Mbmx5V.mjs";
3
+ import { t as disablePgPassFallback } from "../pg-CempqvEJ.mjs";
4
4
  //#region src/runtime/better-auth-pg.ts
5
5
  function resolveConnectionString(env) {
6
6
  const connectionString = typeof env.DATABASE_URL === "string" && env.DATABASE_URL.length > 0 ? env.DATABASE_URL : typeof env.HYPERDRIVE?.connectionString === "string" && env.HYPERDRIVE.connectionString.length > 0 ? env.HYPERDRIVE.connectionString : void 0;
@@ -1,4 +1,4 @@
1
- import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-CmEQZs1T.mjs";
1
+ import { i as VoidAuthRuntimeOptions, n as VoidAuthEnv, r as VoidAuthRuntimeApi, t as VoidAuthDialect } from "../better-auth-shared-a7H3wk9J.mjs";
2
2
 
3
3
  //#region src/runtime/better-auth.d.ts
4
4
  declare const resolveVoidAuthOptions: VoidAuthRuntimeApi["resolveVoidAuthOptions"];
@@ -1,5 +1,5 @@
1
- import { n as applySqliteAuthMigrations } from "../auth-migrations-CuQkjjWE.mjs";
2
- import { t as createVoidAuthRuntime } from "../better-auth-shared-ChVbrq52.mjs";
1
+ import { n as applySqliteAuthMigrations } from "../auth-migrations-BP-hMzYl.mjs";
2
+ import { t as createVoidAuthRuntime } from "../better-auth-shared-D0Mbmx5V.mjs";
3
3
  //#region src/runtime/better-auth.ts
4
4
  async function resolveDatabase(env) {
5
5
  if (!env.DB) throw new Error("auth: Better Auth requires the \"DB\" D1 binding for sqlite apps.");
@@ -1,6 +1,6 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-CDeb2XAl.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-nEUVHuFI.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-react.mjs";
3
- import { t as FetchError } from "../fetch-error-CimrygMq.mjs";
3
+ import { t as FetchError } from "../fetch-error-BQMdPvge.mjs";
4
4
  import { fetch } from "./fetch.mjs";
5
5
  import { fetchStream } from "./fetch-stream.mjs";
6
6
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,4 +1,4 @@
1
- import { t as FetchError } from "../fetch-error-BFIoojjf.mjs";
1
+ import { t as FetchError } from "../fetch-error-C6qffTl2.mjs";
2
2
  import { fetch } from "./fetch.mjs";
3
3
  import { fetchStream } from "./fetch-stream.mjs";
4
4
  import { auth, createAuthClient } from "./auth-client-react.mjs";
@@ -1,6 +1,6 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-CDeb2XAl.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-nEUVHuFI.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-solid.mjs";
3
- import { t as FetchError } from "../fetch-error-CimrygMq.mjs";
3
+ import { t as FetchError } from "../fetch-error-BQMdPvge.mjs";
4
4
  import { fetch } from "./fetch.mjs";
5
5
  import { fetchStream } from "./fetch-stream.mjs";
6
6
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,4 +1,4 @@
1
- import { t as FetchError } from "../fetch-error-BFIoojjf.mjs";
1
+ import { t as FetchError } from "../fetch-error-C6qffTl2.mjs";
2
2
  import { fetch } from "./fetch.mjs";
3
3
  import { fetchStream } from "./fetch-stream.mjs";
4
4
  import { auth, createAuthClient } from "./auth-client-solid.mjs";
@@ -1,6 +1,6 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-CDeb2XAl.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-nEUVHuFI.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-svelte.mjs";
3
- import { t as FetchError } from "../fetch-error-CimrygMq.mjs";
3
+ import { t as FetchError } from "../fetch-error-BQMdPvge.mjs";
4
4
  import { fetch } from "./fetch.mjs";
5
5
  import { fetchStream } from "./fetch-stream.mjs";
6
6
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,4 +1,4 @@
1
- import { t as FetchError } from "../fetch-error-BFIoojjf.mjs";
1
+ import { t as FetchError } from "../fetch-error-C6qffTl2.mjs";
2
2
  import { fetch } from "./fetch.mjs";
3
3
  import { fetchStream } from "./fetch-stream.mjs";
4
4
  import { auth, createAuthClient } from "./auth-client-svelte.mjs";
@@ -1,6 +1,6 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-CDeb2XAl.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-nEUVHuFI.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client-vue.mjs";
3
- import { t as FetchError } from "../fetch-error-CimrygMq.mjs";
3
+ import { t as FetchError } from "../fetch-error-BQMdPvge.mjs";
4
4
  import { fetch } from "./fetch.mjs";
5
5
  import { fetchStream } from "./fetch-stream.mjs";
6
6
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };
@@ -1,4 +1,4 @@
1
- import { t as FetchError } from "../fetch-error-BFIoojjf.mjs";
1
+ import { t as FetchError } from "../fetch-error-C6qffTl2.mjs";
2
2
  import { fetch } from "./fetch.mjs";
3
3
  import { fetchStream } from "./fetch-stream.mjs";
4
4
  import { auth, createAuthClient } from "./auth-client-vue.mjs";
@@ -1,6 +1,6 @@
1
- import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-CDeb2XAl.mjs";
1
+ import { n as AuthState, r as AuthUser, t as AuthSession } from "../auth-nEUVHuFI.mjs";
2
2
  import { auth, createAuthClient } from "./auth-client.mjs";
3
- import { t as FetchError } from "../fetch-error-CimrygMq.mjs";
3
+ import { t as FetchError } from "../fetch-error-BQMdPvge.mjs";
4
4
  import { fetch } from "./fetch.mjs";
5
5
  import { fetchStream } from "./fetch-stream.mjs";
6
6
  export { type AuthSession, type AuthState, type AuthUser, FetchError, FetchError as StreamError, auth, createAuthClient, fetch, fetchStream };