void 1.2.1 → 1.3.0

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 (166) hide show
  1. package/dist/{account-cmd-CdUll_35.mjs → account-cmd-B4i71m7k.mjs} +3 -3
  2. package/dist/{application-analysis-fEqoSeMp.mjs → application-analysis-DYdVoMAY.mjs} +8 -6
  3. package/dist/{application-routing-DAhNP4u3.mjs → application-routing-C8EqRDfv.mjs} +3 -1
  4. package/dist/{auth-link-C87vGXM-.mjs → auth-link-BKwHPbdv.mjs} +3 -3
  5. package/dist/{auth-router-6I81r-ix.mjs → auth-router-DqLx8E0F.mjs} +2 -2
  6. package/dist/{better-auth-shared-D-6z0q0f.mjs → better-auth-shared-7FM3Uk2N.mjs} +48 -2
  7. package/dist/{build-cmd-ex1g-j_e.mjs → build-cmd-Dy4psnt1.mjs} +1 -1
  8. package/dist/{cache-oHzrnY3z.mjs → cache-DV37S6dl.mjs} +1 -1
  9. package/dist/{cancel-deploy-viAMD0Q_.mjs → cancel-deploy-DMPyu1Vt.mjs} +1 -1
  10. package/dist/{cf-build-output-BhVxldCw.mjs → cf-build-output-Bapzc_8Z.mjs} +102 -1
  11. package/dist/cf-build-output-DlBkWdNU.mjs +1 -0
  12. package/dist/cli/cli.mjs +41 -32
  13. package/dist/cli/cloudflare-operation-process.mjs +27 -6
  14. package/dist/cli/env-schema-probe.mjs +2 -2
  15. package/dist/{client-BEkdj1kx.mjs → client-BEMtySaV.mjs} +8 -1
  16. package/dist/client-DyxPQnF_.mjs +1 -0
  17. package/dist/{cloudflare-cmd-DMzCv12s.mjs → cloudflare-cmd-BaqIigwI.mjs} +1 -1
  18. package/dist/{cloudflare-connect-CCRTVg-I.mjs → cloudflare-connect-pNLQmr_e.mjs} +1 -1
  19. package/dist/{cloudflare-operations-DsSaw2BT.mjs → cloudflare-operations-PCM4wucv.mjs} +1 -1
  20. package/dist/{cloudflare-operations-Dh9dEHJj.mjs → cloudflare-operations-vP3b5CQf.mjs} +3 -3
  21. package/dist/config-BTu1o3Dc.mjs +49 -0
  22. package/dist/{config-DQfHOKh9.d.mts → config-Du88-7Y8.d.mts} +2 -1
  23. package/dist/config-entry.d.mts +1 -1
  24. package/dist/{connect-k7R2rPVA.mjs → connect-DwVsBvVh.mjs} +4 -4
  25. package/dist/{create-project-DTuy-l0z.mjs → create-project-CgrnvzyA.mjs} +1 -1
  26. package/dist/{create-project-DV71ol5d.mjs → create-project-CjzbBlTv.mjs} +1 -1
  27. package/dist/{db-DVOkLH5X.mjs → db-rvo64snS.mjs} +13 -13
  28. package/dist/{delete-BbP5eopu.mjs → delete-DWX6dP4M.mjs} +1 -1
  29. package/dist/deploy-CtHE2A3R.mjs +2 -0
  30. package/dist/{deploy-7H32EnUs.mjs → deploy-hRPvw8ci.mjs} +229 -69
  31. package/dist/{deploy-managed-static-DlvcvnQT.mjs → deploy-managed-static-CDYA2p3L.mjs} +30 -14
  32. package/dist/{deploy-transport-BzGEj0Ge.mjs → deploy-transport-JCxw7QDi.mjs} +3 -3
  33. package/dist/deploy.mjs +4 -3
  34. package/dist/{dispatch-DoUnxTNo.mjs → dispatch-OVLeWW8K.mjs} +71 -2
  35. package/dist/{domain-CA2wBgra.mjs → domain-CH5iBD9Y.mjs} +2 -2
  36. package/dist/{email-DXpCc77w.mjs → email-CbTO1l78.mjs} +58 -9
  37. package/dist/{email-cloudflare-D03g2TkS.mjs → email-cloudflare-B8-pq_-W.mjs} +106 -5
  38. package/dist/{env-DgOQ9_8S.mjs → env-BBdw236G.mjs} +3 -3
  39. package/dist/{env-BJjULvL0.mjs → env-BaMz0j7H.mjs} +6 -1
  40. package/dist/{env-validation-BmsdCZEk.mjs → env-validation-BfBVvBNe.mjs} +1 -1
  41. package/dist/{env-validation-Dwq3PJzK.mjs → env-validation-XcukUlFM.mjs} +1 -1
  42. package/dist/{gen-BfmcIi2g.mjs → gen-CCx3t2Ju.mjs} +1 -1
  43. package/dist/gen-TgXy93Rr.mjs +1 -0
  44. package/dist/{github-cmd-CY9LUqLh.mjs → github-cmd-BzkRLkbg.mjs} +1 -1
  45. package/dist/{handler-BbkSPzGF.d.mts → handler-CQv5YDS0.d.mts} +1 -1
  46. package/dist/{help-CxSlPpzJ.mjs → help-CKbrhZha.mjs} +16 -1
  47. package/dist/help-qOZr3wng.mjs +1 -0
  48. package/dist/index.d.mts +2 -4
  49. package/dist/index.mjs +317 -122
  50. package/dist/{info-7VDlhtyy.mjs → info-oBm8yK8J.mjs} +2 -2
  51. package/dist/{init-DxYyOs4-.mjs → init-CBp_uMve.mjs} +217 -197
  52. package/dist/{link-Ddmod1dZ.mjs → link-Dt_QXmM4.mjs} +2 -2
  53. package/dist/{list-MogaugiO.mjs → list-DF6asTdt.mjs} +2 -2
  54. package/dist/{live-Bt8Y_0bg.d.mts → live-CXJ9yC98.d.mts} +1 -1
  55. package/dist/{local-d1-BHBnKWRb.mjs → local-d1-CUhH3qtj.mjs} +1 -1
  56. package/dist/{login-Cttnagmm.mjs → login-BjSyhXlT.mjs} +2 -2
  57. package/dist/login-Cdo8Aco1.mjs +1 -0
  58. package/dist/{logs-CAszUWZI.mjs → logs-DmvBl6xA.mjs} +2 -2
  59. package/dist/{migrate-DyT2jJ8y.mjs → migrate-BXRHpYwR.mjs} +1 -1
  60. package/dist/migrate-COPncCGx.mjs +1 -0
  61. package/dist/nitro.mjs +2 -2
  62. package/dist/{node-WB7c2N4L.mjs → node-DtD7ZiPf.mjs} +4 -4
  63. package/dist/{operator-args-UnE8Y2eK.mjs → operator-args-BsJIYXaT.mjs} +8 -1
  64. package/dist/operator-cmd-DDiX7Y3f.mjs +1 -0
  65. package/dist/{operator-cmd-skshjMGl.mjs → operator-cmd-DjZKGGgN.mjs} +4 -3
  66. package/dist/pages/client.d.mts +17 -4
  67. package/dist/pages/client.mjs +161 -29
  68. package/dist/pages/index.d.mts +18 -2
  69. package/dist/pages/index.mjs +2 -52
  70. package/dist/pages/islands-plugin.d.mts +1 -1
  71. package/dist/pages/islands-plugin.mjs +9 -3
  72. package/dist/pages/protocol.d.mts +2 -2
  73. package/dist/platform-args-BC8_hsDj.mjs +1 -0
  74. package/dist/{platform-args-DVbVClZl.mjs → platform-args-BMD2gjc_.mjs} +1 -1
  75. package/dist/{platform-auth-config-C-pm5Qzx.mjs → platform-auth-config-BgnuMbml.mjs} +3 -3
  76. package/dist/{platform-auth-protection-SHhvim1L.mjs → platform-auth-protection-NjRejttU.mjs} +2 -2
  77. package/dist/{platform-auth-recovery-DXVWs-wA.mjs → platform-auth-recovery-Ug12d9W5.mjs} +2 -2
  78. package/dist/{platform-cmd-PiNRkopU.mjs → platform-cmd-BYKLMPCn.mjs} +1 -1
  79. package/dist/{platform-cmd-D5I1beUX.mjs → platform-cmd-HByuZAO7.mjs} +4 -4
  80. package/dist/{platform-domain-jpmBfZeb.mjs → platform-domain-DLSQ8GF8.mjs} +2 -2
  81. package/dist/{platform-lifecycle-DyKmuNY6.mjs → platform-lifecycle-3dwFJmnq.mjs} +102 -40
  82. package/dist/{platform-lifecycle-DH3Yr1qQ.mjs → platform-lifecycle-BRqcxerG.mjs} +1 -1
  83. package/dist/{platform-management-7m-PLaPJ.mjs → platform-management-ZK6XcbCo.mjs} +1 -1
  84. package/dist/{platform-management--vDwSn35.mjs → platform-management-ZZ6bQM5j.mjs} +1 -1
  85. package/dist/{platform-recovery-BiNpZZab.mjs → platform-recovery-8vNE5dNN.mjs} +2 -2
  86. package/dist/{plugin-inference-DUjCd55H.mjs → plugin-inference-CeiB6BG5.mjs} +53 -18
  87. package/dist/{prepare-BcAE5Sdj.mjs → prepare-5BR7Splm.mjs} +1 -1
  88. package/dist/prepare-B3VrSF1Z.mjs +1 -0
  89. package/dist/{prepare-DA-17DhO.mjs → prepare-Dseww74N.mjs} +4 -4
  90. package/dist/{prerender-render-Cijv7UFo.mjs → prerender-render-CaShbHJ3.mjs} +13 -1
  91. package/dist/prerender-render.d.mts +1 -0
  92. package/dist/prerender-render.mjs +1 -1
  93. package/dist/{project-cmd-DA4K5faU.mjs → project-cmd-CjLNNxwe.mjs} +15 -15
  94. package/dist/{project-team-CQBNveX3.mjs → project-team-DE5drjcl.mjs} +1 -1
  95. package/dist/{project-token-CCalFyQf.mjs → project-token-XEYEXfiJ.mjs} +1 -1
  96. package/dist/{project-zero-trust-DPnkiEuT.mjs → project-zero-trust-6VPU8zmV.mjs} +1 -1
  97. package/dist/{protocol-BBDpJz3G.d.mts → protocol-BekmFxCI.d.mts} +2 -2
  98. package/dist/{provision-DtROpNNI.mjs → provision-B7UFrBH7.mjs} +1 -1
  99. package/dist/{provision-BFLCrnUp.mjs → provision-Chq0NRAV.mjs} +1 -1
  100. package/dist/{requests-BpH0kImL.mjs → requests-CG-Pj8ze.mjs} +1 -1
  101. package/dist/{rollback-CXS1tAa-.mjs → rollback-CIrm2txZ.mjs} +2 -2
  102. package/dist/{route-types-BZi26DVS.mjs → route-types--PAOzHlH.mjs} +49 -28
  103. package/dist/routes-stub.d.mts +22 -13
  104. package/dist/runtime/better-auth-mysql.mjs +1 -1
  105. package/dist/runtime/better-auth-pg.mjs +1 -1
  106. package/dist/runtime/better-auth.mjs +1 -1
  107. package/dist/runtime/handler.d.mts +1 -1
  108. package/dist/runtime/live-client.d.mts +1 -1
  109. package/dist/runtime/live.d.mts +1 -1
  110. package/dist/runtime/log.mjs +19 -1
  111. package/dist/runtime/routing.d.mts +2 -2
  112. package/dist/runtime/routing.mjs +4 -3
  113. package/dist/runtime/validator.d.mts +1 -1
  114. package/dist/runtime/ws-server.d.mts +1 -1
  115. package/dist/runtime/ws.d.mts +1 -1
  116. package/dist/{scan-8IzYXiU_.mjs → scan-N9WzdcAl.mjs} +302 -23
  117. package/dist/{secret-BbXHfLAt.mjs → secret-BL6g7mF5.mjs} +3 -3
  118. package/dist/static-asset-marker-Btf-6oCD.mjs +32 -0
  119. package/dist/{types-7AIz0OZu.d.mts → types-w72dljaA.d.mts} +6 -1
  120. package/dist/{version-metadata-tS39iW09.mjs → version-metadata-DmaZNTYW.mjs} +1 -1
  121. package/dist/worker-conditions-AWFRcFxR.mjs +11 -0
  122. package/dist/{wrangler-F96NnLyb.mjs → wrangler-CDiEBCdS.mjs} +2 -1
  123. package/dist/wrangler-DOPr4jyI.mjs +1 -0
  124. package/dist/{wrapper-D3sZyh2C.mjs → wrapper-CEiDeCqD.mjs} +6 -10
  125. package/dist/{ws-BH-im_tX.d.mts → ws-D1zWiB_P.d.mts} +1 -1
  126. package/docs/guide/auth.md +3 -1
  127. package/docs/guide/edge/static-assets.md +10 -0
  128. package/docs/guide/email/domains.md +1 -1
  129. package/docs/guide/email/receiving.md +2 -0
  130. package/docs/guide/email/sending.md +1 -1
  131. package/docs/guide/pages-routing/actions-and-forms.md +19 -13
  132. package/docs/guide/pages-routing/markdown.md +2 -0
  133. package/docs/guide/pages-routing/overview.md +33 -2
  134. package/docs/guide/platform/administration/email.md +18 -0
  135. package/docs/guide/platform/installation/prerequisites.md +9 -4
  136. package/docs/guide/platform/installation/uninstall.md +2 -0
  137. package/docs/guide/queues.md +13 -1
  138. package/docs/guide/server-routing.md +38 -2
  139. package/docs/guide/type-safety.md +7 -7
  140. package/docs/guide/websockets.md +4 -2
  141. package/docs/reference/api/pages.md +4 -4
  142. package/docs/reference/cli/email.md +13 -0
  143. package/docs/reference/cli/platform-email.md +2 -2
  144. package/docs/reference/cli.md +1 -0
  145. package/docs/reference/structure.md +3 -1
  146. package/package.json +8 -7
  147. package/templates/assets/icons.svg +49 -0
  148. package/templates/assets/react.svg +1 -0
  149. package/templates/assets/solid.svg +1 -0
  150. package/templates/assets/stack.svg +35 -0
  151. package/templates/assets/svelte.svg +1 -0
  152. package/templates/assets/void.svg +5 -0
  153. package/templates/assets/vue.svg +1 -0
  154. package/dist/cf-build-output-BJHuSsVN.mjs +0 -1
  155. package/dist/client-BiRDZTSd.mjs +0 -1
  156. package/dist/config-CyUJzi3q.mjs +0 -32
  157. package/dist/deploy-CE0Ev0Ob.mjs +0 -2
  158. package/dist/gen-NrOlWZaG.mjs +0 -1
  159. package/dist/help-BeAFFE5C.mjs +0 -1
  160. package/dist/login-DgDwlKc_.mjs +0 -1
  161. package/dist/migrate-n49ZeS1X.mjs +0 -1
  162. package/dist/operator-cmd-d2MvJOrl.mjs +0 -1
  163. package/dist/parse-filename-DioPHiR9.mjs +0 -77
  164. package/dist/platform-args-kQrgxScY.mjs +0 -1
  165. package/dist/prepare-C4I0f--h.mjs +0 -1
  166. package/dist/wrangler-BLb3_luP.mjs +0 -1
@@ -95,7 +95,7 @@ function readCliVersion() {
95
95
  }
96
96
  const VOID_CLI_VERSION = readCliVersion();
97
97
  /** The oldest Void platform release this CLI supports. */
98
- const MIN_PLATFORM_VERSION = "1.2.0";
98
+ const MIN_PLATFORM_VERSION = "1.3.0";
99
99
  const RELEASE_VERSION = /^(\d+)\.(\d+)\.(\d+)(-[0-9A-Za-z.-]+)?(\+[0-9A-Za-z.-]+)?$/;
100
100
  /**
101
101
  * Discovery probes keyed by platform base URL. Every outcome (pass,
@@ -1013,6 +1013,13 @@ var PlatformClient = class {
1013
1013
  async getEmailSettings(projectId) {
1014
1014
  return this.json(`${this.baseUrl}/projects/${projectId}/email/settings`, "Failed to read email settings", { permission: "read" });
1015
1015
  }
1016
+ async setEmailAlias(projectId, alias) {
1017
+ return this.json(`${this.baseUrl}/projects/${projectId}/email/alias`, "Failed to set the email alias", {
1018
+ method: "PUT",
1019
+ body: { alias },
1020
+ permission: "settings"
1021
+ });
1022
+ }
1016
1023
  async listEmailDomains(projectId) {
1017
1024
  return this.json(`${this.baseUrl}/projects/${projectId}/email/domains`, "Failed to list email domains", { permission: "read" });
1018
1025
  }
@@ -0,0 +1 @@
1
+ export { r as PlatformClient } from "./client-BEMtySaV.mjs";
@@ -1,5 +1,5 @@
1
1
  import { t as basename } from "./dist-ipQi0Q8y.mjs";
2
- import { b as readRootWranglerConfig } from "./wrangler-F96NnLyb.mjs";
2
+ import { b as readRootWranglerConfig } from "./wrangler-CDiEBCdS.mjs";
3
3
  import { L as log } from "./dist-Cor9XGoz.mjs";
4
4
  import { m as printSuccess } from "./output-BpgYODYx.mjs";
5
5
  import { i as isCleanCloudflareExit } from "./cloudflare-process-8jEYIeim.mjs";
@@ -1,5 +1,5 @@
1
1
  import { a as join, t as basename } from "./dist-ipQi0Q8y.mjs";
2
- import { M as writeProvisionedWranglerConfig, b as readRootWranglerConfig, i as LATEST_KNOWN_COMPAT_DATE } from "./wrangler-F96NnLyb.mjs";
2
+ import { M as writeProvisionedWranglerConfig, b as readRootWranglerConfig, i as LATEST_KNOWN_COMPAT_DATE } from "./wrangler-CDiEBCdS.mjs";
3
3
  import { K as select, L as log, tt as isCancel } from "./dist-Cor9XGoz.mjs";
4
4
  import { i as ensureCloudflareAuthentication, r as createBundledCloudflareAuthRunner } from "./cloudflare-auth-Byo_0_N9.mjs";
5
5
  import { existsSync } from "node:fs";
@@ -1 +1 @@
1
- export { t as activateCloudflareExistingVersion, n as applyCloudflareD1Migrations, r as changeCloudflareDomain, o as deleteCloudflareSecret, s as executeCloudflareD1Sql, c as listCloudflareDomains, l as listCloudflareSecrets, m as putCloudflareSecret, h as readCloudflareD1Migrations, g as readCloudflareWorkerStatus, _ as resolveCloudflareD1Context, v as resolveCloudflareOperationContext, y as restoreCloudflareD1Database, b as syncCloudflareSecrets, x as tailCloudflareWorker } from "./cloudflare-operations-Dh9dEHJj.mjs";
1
+ export { t as activateCloudflareExistingVersion, n as applyCloudflareD1Migrations, r as changeCloudflareDomain, o as deleteCloudflareSecret, s as executeCloudflareD1Sql, c as listCloudflareDomains, l as listCloudflareSecrets, m as putCloudflareSecret, h as readCloudflareD1Migrations, g as readCloudflareWorkerStatus, _ as resolveCloudflareD1Context, v as resolveCloudflareOperationContext, y as restoreCloudflareD1Database, b as syncCloudflareSecrets, x as tailCloudflareWorker } from "./cloudflare-operations-vP3b5CQf.mjs";
@@ -1,10 +1,10 @@
1
1
  import { a as join } from "./dist-ipQi0Q8y.mjs";
2
2
  import { i as persistCloudflareConfig, r as materializeCloudflareConfig } from "./cloudflare-config-DchHxPTo.mjs";
3
- import { N as writeWranglerPublishedTrafficSnapshot, S as readWranglerCustomDomains, j as updateWranglerCustomDomain, w as readWranglerPublishedTrafficSnapshot } from "./wrangler-F96NnLyb.mjs";
3
+ import { N as writeWranglerPublishedTrafficSnapshot, S as readWranglerCustomDomains, j as updateWranglerCustomDomain, w as readWranglerPublishedTrafficSnapshot } from "./wrangler-CDiEBCdS.mjs";
4
4
  import { u as getErrorMessage } from "./output-BpgYODYx.mjs";
5
5
  import { t as createCloudflareProcessRunner } from "./cloudflare-process-8jEYIeim.mjs";
6
- import { _ as provisionEnv, r as assertNoTransportRedirectInProjectDotenv, s as deleteEnvVarCaseAware, v as resolvePinnedApiBaseUrl } from "./provision-DtROpNNI.mjs";
7
- import { a as findWranglerCiOverrideDotenvFile, i as findAmbientConfigOverride } from "./deploy-transport-BzGEj0Ge.mjs";
6
+ import { _ as provisionEnv, r as assertNoTransportRedirectInProjectDotenv, s as deleteEnvVarCaseAware, v as resolvePinnedApiBaseUrl } from "./provision-B7UFrBH7.mjs";
7
+ import { a as findWranglerCiOverrideDotenvFile, i as findAmbientConfigOverride } from "./deploy-transport-JCxw7QDi.mjs";
8
8
  import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
9
9
  import { tmpdir } from "node:os";
10
10
  import { deployCloudflareVersionTraffic, encodeCloudflareVersionMessage, parseCloudflareVersionMessage, parseRootWranglerConfig, readBindingFieldPresence, readCloudflareTriggerConfig, readWranglerTopLevelString, resolveD1MigrateTarget, stabilizeCloudflareVersionTriggers } from "@void/deploy-cloudflare";
@@ -0,0 +1,49 @@
1
+ import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
2
+ import { existsSync, readFileSync } from "node:fs";
3
+ import { pathToFileURL } from "node:url";
4
+ import { isRunnableDevEnvironment, parseSync } from "vite";
5
+ //#region src/auth/config.ts
6
+ function isVoidAuthConfigSource(code, filename) {
7
+ if (!code.includes("void/auth")) return false;
8
+ let program;
9
+ try {
10
+ program = parseSync(filename, code).program;
11
+ } catch {
12
+ return false;
13
+ }
14
+ return (program.body ?? []).some((node) => {
15
+ if (node.type !== "ImportDeclaration" && node.type !== "ExportNamedDeclaration" && node.type !== "ExportAllDeclaration") return false;
16
+ return node.source?.value === "void/auth";
17
+ });
18
+ }
19
+ function findVoidAuthConfig(root, paths = readProjectPaths(root)) {
20
+ for (const absPath of paths.authConfigCandidates) {
21
+ if (!existsSync(absPath)) continue;
22
+ if (isVoidAuthConfigSource(readFileSync(absPath, "utf-8"), absPath)) return absPath;
23
+ }
24
+ return null;
25
+ }
26
+ /**
27
+ * The dev server evaluates the auth config in this Node environment. A native
28
+ * `import()` would keep the first evaluation for the life of the process; the
29
+ * module runner reads the config again once its files are invalidated, and the
30
+ * module graph lists the local files the config imports.
31
+ */
32
+ const AUTH_CONFIG_ENVIRONMENT = "void_auth_config";
33
+ /** The dev server's importer for the auth config, when it has the environment. */
34
+ function devAuthConfigImporter(server) {
35
+ const environment = server.environments[AUTH_CONFIG_ENVIRONMENT];
36
+ return environment && isRunnableDevEnvironment(environment) ? (path) => environment.runner.import(path) : void 0;
37
+ }
38
+ /**
39
+ * Evaluate the auth config. A native `import()` keeps its first evaluation for
40
+ * the life of the process, which suits one-off commands; the dev server passes
41
+ * its module runner.
42
+ */
43
+ async function loadVoidAuthConfig(configPath, importModule = (path) => import(pathToFileURL(path).href)) {
44
+ if (!configPath) return;
45
+ const mod = await importModule(configPath);
46
+ return mod.default ?? mod.auth ?? mod.config;
47
+ }
48
+ //#endregion
49
+ export { loadVoidAuthConfig as i, devAuthConfigImporter as n, findVoidAuthConfig as r, AUTH_CONFIG_ENVIRONMENT as t };
@@ -1,7 +1,7 @@
1
1
  import "./types-CKWnYgfy.mjs";
2
2
  import { t as VoidAuthProvider } from "./providers-BNKRacMr.mjs";
3
3
  import { t as HeadConfig } from "./head-C8K_iGe6.mjs";
4
- import "@void/deploy-core";
4
+ import { AssetConfig } from "@void/deploy-core";
5
5
  import { RewriteDestination } from "void/routes";
6
6
  //#region src/sandbox/config.d.ts
7
7
  type SandboxInstanceType = "lite" | "standard-1" | "standard-2" | "standard-3" | "standard-4";
@@ -166,6 +166,7 @@ type CloudflareConfig = Record<string, unknown> & {
166
166
  directory?: string;
167
167
  binding?: string;
168
168
  not_found_handling?: NotFoundHandling;
169
+ html_handling?: AssetConfig["html_handling"];
169
170
  run_worker_first?: boolean | Array<string>;
170
171
  }>;
171
172
  triggers?: CloudflareField<{
@@ -1,4 +1,4 @@
1
- import { t as VoidConfig } from "./config-DQfHOKh9.mjs";
1
+ import { t as VoidConfig } from "./config-Du88-7Y8.mjs";
2
2
  //#region src/config-entry.d.ts
3
3
  /** Define a typed Void project configuration without loading the Vite plugin. */
4
4
  export declare function defineConfig<const T extends VoidConfig>(config: T): T;
@@ -2,11 +2,11 @@ import { c as normalizePlatformApiUrl, s as listPlatformConnections } from "./pl
2
2
  import { c as writeDeploymentPlatform, l as writePlatformSelection, n as readDeploymentPlatform } from "./project-rqDnVsJN.mjs";
3
3
  import { d as readPlatformToken } from "./auth-B6iOCjKI.mjs";
4
4
  import { K as select, L as log, tt as isCancel } from "./dist-Cor9XGoz.mjs";
5
- import { a as isExpiredTokenError, r as PlatformClient } from "./client-BEkdj1kx.mjs";
5
+ import { a as isExpiredTokenError, r as PlatformClient } from "./client-BEMtySaV.mjs";
6
6
  import { m as printSuccess } from "./output-BpgYODYx.mjs";
7
- import { t as promptForLoginToken } from "./login-Cttnagmm.mjs";
8
- import { i as saveDiscoveredPlatform, n as promptPlatformUrl, t as discoverPlatform } from "./platform-cmd-D5I1beUX.mjs";
9
- import { t as connectCloudflare } from "./cloudflare-connect-CCRTVg-I.mjs";
7
+ import { t as promptForLoginToken } from "./login-BjSyhXlT.mjs";
8
+ import { i as saveDiscoveredPlatform, n as promptPlatformUrl, t as discoverPlatform } from "./platform-cmd-HByuZAO7.mjs";
9
+ import { t as connectCloudflare } from "./cloudflare-connect-pNLQmr_e.mjs";
10
10
  //#region src/cli/connect.ts
11
11
  async function selectVoidPlatform(interactive) {
12
12
  if (!interactive) throw new Error("connect: Supply a Void platform URL in non-interactive mode.");
@@ -1 +1 @@
1
- export { t as createProjectWithSlugRetry } from "./create-project-DV71ol5d.mjs";
1
+ export { t as createProjectWithSlugRetry } from "./create-project-CjzbBlTv.mjs";
@@ -1,7 +1,7 @@
1
1
  import { t as attachSelectedPlatform, u as writeProjectConfig } from "./project-rqDnVsJN.mjs";
2
2
  import { s as getSiteDomain } from "./auth-B6iOCjKI.mjs";
3
3
  import { A as confirm, K as select, L as log, O as cancel, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
4
- import { n as PlatformApiError } from "./client-BEkdj1kx.mjs";
4
+ import { n as PlatformApiError } from "./client-BEMtySaV.mjs";
5
5
  import { f as import_picocolors, h as sanitizeTerminalText } from "./output-BpgYODYx.mjs";
6
6
  import { t as validateProjectSlug } from "./project-slug-23TpquG4.mjs";
7
7
  import { n as inferDefaultSlug } from "./resolve-project-Xoi6eTWY.mjs";
@@ -1,20 +1,20 @@
1
1
  import { a as join, c as resolve, n as dirname, r as extname, s as relative, t as basename } from "./dist-ipQi0Q8y.mjs";
2
- import { r as detectFramework } from "./plugin-inference-DUjCd55H.mjs";
2
+ import { r as detectFramework } from "./plugin-inference-CeiB6BG5.mjs";
3
3
  import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
4
4
  import { c as getDatabaseCasing, l as getDatabaseDialect, m as resolveBindingNames, p as readConfig } from "./config-DHgSEWT7.mjs";
5
5
  import { i as writeJournal, n as readJournal, r as stripSqlExt, t as collectMigrations } from "./collect-Dew86qce.mjs";
6
6
  import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
7
- import { t as resolveLocalD1Target } from "./local-d1-BHBnKWRb.mjs";
7
+ import { t as resolveLocalD1Target } from "./local-d1-CUhH3qtj.mjs";
8
8
  import { t as cfAccessHeaders } from "./cf-access-BM9G0lhO.mjs";
9
9
  import { n as ensurePlatformProxyAccess, r as isCloudflareAccessChallenge, t as ensurePlatformAccessToken } from "./cf-access-CWP4avfP.mjs";
10
10
  import { c as getToken, o as getProxyUrl } from "./auth-B6iOCjKI.mjs";
11
- import { o as loadLocalEnv } from "./env-BJjULvL0.mjs";
11
+ import { s as loadLocalEnv } from "./env-BaMz0j7H.mjs";
12
12
  import { i as validateMigrations, t as assertJournalCoherence } from "./validate-CnZPMq4q.mjs";
13
13
  import { A as confirm, H as outro, L as log, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
14
- import { n as PlatformApiError, r as PlatformClient } from "./client-BEkdj1kx.mjs";
14
+ import { n as PlatformApiError, r as PlatformClient } from "./client-BEMtySaV.mjs";
15
15
  import { f as import_picocolors, i as dim, l as formatUrl, m as printSuccess, o as formatCount, u as getErrorMessage } from "./output-BpgYODYx.mjs";
16
16
  import { n as drizzleKitBin } from "./yarn-pnp-DLbEFMT0.mjs";
17
- import { n as formatTimestamp } from "./gen-BfmcIi2g.mjs";
17
+ import { n as formatTimestamp } from "./gen-CCx3t2Ju.mjs";
18
18
  import { createRequire } from "node:module";
19
19
  import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
20
20
  import { pathToFileURL } from "node:url";
@@ -328,7 +328,7 @@ async function runPush(root, dialect) {
328
328
  printSuccess("Database schema pushed.");
329
329
  }
330
330
  async function runGenerate(root, dialect) {
331
- const { prepareProject } = await import("./prepare-C4I0f--h.mjs");
331
+ const { prepareProject } = await import("./prepare-B3VrSF1Z.mjs");
332
332
  const { PLACEHOLDER_DB_URL, writeDrizzleConfig } = await import("./config-BU6hMu1W.mjs");
333
333
  await prepareProject(root);
334
334
  const authSchemaPath = join(root, ".void", "better-auth-schema.ts");
@@ -399,7 +399,7 @@ async function runStatus(root, dialect) {
399
399
  applied_at: ""
400
400
  }));
401
401
  } else {
402
- const { readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-DsSaw2BT.mjs");
402
+ const { readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-PCM4wucv.mjs");
403
403
  remoteApplied = (await readCloudflareD1Migrations(resolveCloudflareD1Context(root, configuredD1Binding(root)))).map((name) => ({
404
404
  name,
405
405
  applied_at: ""
@@ -711,7 +711,7 @@ async function runExecute(root, command, file, dialect, remote) {
711
711
  process.exit(0);
712
712
  }
713
713
  if (dialect === "sqlite") {
714
- const { executeCloudflareD1Sql, resolveCloudflareD1Context } = await import("./cloudflare-operations-DsSaw2BT.mjs");
714
+ const { executeCloudflareD1Sql, resolveCloudflareD1Context } = await import("./cloudflare-operations-PCM4wucv.mjs");
715
715
  const rows = await executeCloudflareD1Sql(resolveCloudflareD1Context(root, configuredD1Binding(root)), sql);
716
716
  if (rows.length > 0) printTable(rows);
717
717
  } else {
@@ -905,7 +905,7 @@ async function runMigrate(root, dialect, remote) {
905
905
  log.info(`No migration files found in ${paths.sourceRelative("db/migrations")}/`);
906
906
  return;
907
907
  }
908
- const { applyCloudflareD1Migrations, readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-DsSaw2BT.mjs");
908
+ const { applyCloudflareD1Migrations, readCloudflareD1Migrations, resolveCloudflareD1Context } = await import("./cloudflare-operations-PCM4wucv.mjs");
909
909
  const binding = configuredD1Binding(root);
910
910
  const context = resolveCloudflareD1Context(root, binding);
911
911
  const remoteBefore = new Set(await readCloudflareD1Migrations(context));
@@ -925,7 +925,7 @@ async function runMigrate(root, dialect, remote) {
925
925
  log.error(`db: D1 binding ${binding} has no "migrations_dir", so Cloudflare would apply ./migrations instead of ${dir}/. Add "migrations_dir": "./${dir}" to that D1 binding in your Cloudflare config, then run the command again.`);
926
926
  process.exit(1);
927
927
  }
928
- const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-CE0Ev0Ob.mjs");
928
+ const { checkWranglerMigrationApplySet, parseRootWranglerConfig } = await import("./deploy-CtHE2A3R.mjs");
929
929
  const applySet = await checkWranglerMigrationApplySet(context.operation.configPath, parseRootWranglerConfig(context.operation.configPath), binding, context.migrationsDir, rawMigrations, paths.sourceRelative("db/migrations"));
930
930
  if (!applySet.ok) {
931
931
  log.error(applySet.reason);
@@ -1052,7 +1052,7 @@ async function runRestore(root, dialect, { target, platform: explicitPlatform, y
1052
1052
  log.error("db: `void db restore` restores the D1 database of a direct Cloudflare deploy. After a one-off `void deploy --platform cloudflare`, run it with `--platform cloudflare`.");
1053
1053
  process.exit(1);
1054
1054
  }
1055
- const { readCloudflareD1Migrations, resolveCloudflareD1Context, restoreCloudflareD1Database } = await import("./cloudflare-operations-DsSaw2BT.mjs");
1055
+ const { readCloudflareD1Migrations, resolveCloudflareD1Context, restoreCloudflareD1Database } = await import("./cloudflare-operations-PCM4wucv.mjs");
1056
1056
  const binding = configuredD1Binding(root);
1057
1057
  const context = resolveCloudflareD1Context(root, binding);
1058
1058
  const database = `D1 database ${context.migrateToken} (${binding})`;
@@ -1146,8 +1146,8 @@ async function runStudio(root, dialect, remote) {
1146
1146
  }
1147
1147
  /** A direct Cloudflare deploy records its D1 or Hyperdrive id in the checked-in Cloudflare config. */
1148
1148
  async function hasDeployedCloudflareDatabase(root) {
1149
- const { readRootWranglerConfig } = await import("./wrangler-BLb3_luP.mjs");
1150
- const { isRealD1Id, isRealHyperdriveId } = await import("./provision-BFLCrnUp.mjs");
1149
+ const { readRootWranglerConfig } = await import("./wrangler-DOPr4jyI.mjs");
1150
+ const { isRealD1Id, isRealHyperdriveId } = await import("./provision-Chq0NRAV.mjs");
1151
1151
  const config = readRootWranglerConfig(root)?.config;
1152
1152
  const entries = (key) => {
1153
1153
  const value = config?.[key];
@@ -1,7 +1,7 @@
1
1
  import { o as removeProjectConfig, r as readProjectConfig } from "./project-rqDnVsJN.mjs";
2
2
  import { c as getToken } from "./auth-B6iOCjKI.mjs";
3
3
  import { L as log, O as cancel, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
4
- import { r as PlatformClient } from "./client-BEkdj1kx.mjs";
4
+ import { r as PlatformClient } from "./client-BEMtySaV.mjs";
5
5
  import { m as printSuccess, p as note, r as createSpinner } from "./output-BpgYODYx.mjs";
6
6
  import { a as resolveProjectBySlug } from "./resolve-project-Xoi6eTWY.mjs";
7
7
  //#region src/cli/delete.ts
@@ -0,0 +1,2 @@
1
+ import "./deploy-transport-JCxw7QDi.mjs";
2
+ export { i as checkWranglerMigrationApplySet, t as parseRootWranglerConfig, r as runDeploy } from "./deploy-hRPvw8ci.mjs";