alchemy 0.55.3 → 0.57.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 (293) hide show
  1. package/bin/alchemy.js +14245 -14406
  2. package/bin/commands/create.ts +7 -7
  3. package/bin/commands/deploy.ts +2 -2
  4. package/bin/commands/destroy.ts +2 -2
  5. package/bin/commands/dev.ts +2 -2
  6. package/bin/commands/init.ts +6 -6
  7. package/bin/commands/login.ts +3 -3
  8. package/bin/commands/run.ts +2 -2
  9. package/bin/services/execute-alchemy.ts +3 -3
  10. package/bin/trpc.ts +49 -0
  11. package/lib/alchemy.d.ts.map +1 -1
  12. package/lib/alchemy.js +7 -0
  13. package/lib/alchemy.js.map +1 -1
  14. package/lib/apply.d.ts.map +1 -1
  15. package/lib/apply.js +3 -4
  16. package/lib/apply.js.map +1 -1
  17. package/lib/cloudflare/{astro.d.ts → astro/astro.d.ts} +6 -5
  18. package/lib/cloudflare/astro/astro.d.ts.map +1 -0
  19. package/lib/cloudflare/astro/astro.js +91 -0
  20. package/lib/cloudflare/astro/astro.js.map +1 -0
  21. package/lib/cloudflare/astro/plugin.d.ts +4 -0
  22. package/lib/cloudflare/astro/plugin.d.ts.map +1 -0
  23. package/lib/cloudflare/astro/plugin.js +10 -0
  24. package/lib/cloudflare/astro/plugin.js.map +1 -0
  25. package/lib/cloudflare/bundle/plugin-hot-reload.d.ts +1 -3
  26. package/lib/cloudflare/bundle/plugin-hot-reload.d.ts.map +1 -1
  27. package/lib/cloudflare/bundle/plugin-hot-reload.js +4 -1
  28. package/lib/cloudflare/bundle/plugin-hot-reload.js.map +1 -1
  29. package/lib/cloudflare/cloudflare-env-proxy.d.ts +4 -0
  30. package/lib/cloudflare/cloudflare-env-proxy.d.ts.map +1 -0
  31. package/lib/cloudflare/cloudflare-env-proxy.js +34 -0
  32. package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -0
  33. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  34. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  35. package/lib/cloudflare/compatibility-presets.d.ts +1 -1
  36. package/lib/cloudflare/compatibility-presets.js +1 -1
  37. package/lib/cloudflare/compatibility-presets.js.map +1 -1
  38. package/lib/cloudflare/d1-local-migrations.js +1 -1
  39. package/lib/cloudflare/d1-local-migrations.js.map +1 -1
  40. package/lib/cloudflare/index.d.ts +8 -8
  41. package/lib/cloudflare/index.d.ts.map +1 -1
  42. package/lib/cloudflare/index.js +8 -8
  43. package/lib/cloudflare/index.js.map +1 -1
  44. package/lib/cloudflare/miniflare/build-worker-options.d.ts +22 -0
  45. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -0
  46. package/lib/cloudflare/miniflare/build-worker-options.js +394 -0
  47. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -0
  48. package/lib/cloudflare/miniflare/miniflare-controller.d.ts +23 -0
  49. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -0
  50. package/lib/cloudflare/miniflare/miniflare-controller.js +111 -0
  51. package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -0
  52. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  53. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +5 -15
  54. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  55. package/lib/cloudflare/miniflare/paths.d.ts +5 -0
  56. package/lib/cloudflare/miniflare/paths.d.ts.map +1 -0
  57. package/lib/cloudflare/miniflare/paths.js +35 -0
  58. package/lib/cloudflare/miniflare/paths.js.map +1 -0
  59. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts +1 -5
  60. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  61. package/lib/cloudflare/miniflare/remote-binding-proxy.js +17 -22
  62. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  63. package/lib/cloudflare/{nuxt.d.ts → nuxt/nuxt.d.ts} +4 -4
  64. package/lib/cloudflare/nuxt/nuxt.d.ts.map +1 -0
  65. package/lib/cloudflare/{nuxt.js → nuxt/nuxt.js} +8 -13
  66. package/lib/cloudflare/nuxt/nuxt.js.map +1 -0
  67. package/lib/cloudflare/nuxt/plugin.d.ts +4 -0
  68. package/lib/cloudflare/nuxt/plugin.d.ts.map +1 -0
  69. package/lib/cloudflare/nuxt/plugin.js +14 -0
  70. package/lib/cloudflare/nuxt/plugin.js.map +1 -0
  71. package/lib/cloudflare/oauth.js +2 -2
  72. package/lib/cloudflare/oauth.js.map +1 -1
  73. package/lib/cloudflare/orange.d.ts +3 -3
  74. package/lib/cloudflare/orange.d.ts.map +1 -1
  75. package/lib/cloudflare/orange.js +11 -21
  76. package/lib/cloudflare/orange.js.map +1 -1
  77. package/lib/cloudflare/react-router/plugin.d.ts +4 -0
  78. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -0
  79. package/lib/cloudflare/react-router/plugin.js +11 -0
  80. package/lib/cloudflare/react-router/plugin.js.map +1 -0
  81. package/lib/cloudflare/react-router/react-router.d.ts +17 -0
  82. package/lib/cloudflare/react-router/react-router.d.ts.map +1 -0
  83. package/lib/cloudflare/react-router/react-router.js +21 -0
  84. package/lib/cloudflare/react-router/react-router.js.map +1 -0
  85. package/lib/cloudflare/redwood/plugin.d.ts +4 -0
  86. package/lib/cloudflare/redwood/plugin.d.ts.map +1 -0
  87. package/lib/cloudflare/redwood/plugin.js +19 -0
  88. package/lib/cloudflare/redwood/plugin.js.map +1 -0
  89. package/lib/cloudflare/{redwood.d.ts → redwood/redwood.d.ts} +5 -5
  90. package/lib/cloudflare/redwood/redwood.d.ts.map +1 -0
  91. package/lib/cloudflare/{redwood.js → redwood/redwood.js} +12 -13
  92. package/lib/cloudflare/redwood/redwood.js.map +1 -0
  93. package/lib/cloudflare/sveltekit/plugin.d.ts +4 -0
  94. package/lib/cloudflare/sveltekit/plugin.d.ts.map +1 -0
  95. package/lib/cloudflare/sveltekit/plugin.js +11 -0
  96. package/lib/cloudflare/sveltekit/plugin.js.map +1 -0
  97. package/lib/cloudflare/{sveltekit.d.ts → sveltekit/sveltekit.d.ts} +5 -5
  98. package/lib/cloudflare/sveltekit/sveltekit.d.ts.map +1 -0
  99. package/lib/cloudflare/{sveltekit.js → sveltekit/sveltekit.js} +4 -4
  100. package/lib/cloudflare/sveltekit/sveltekit.js.map +1 -0
  101. package/lib/cloudflare/tanstack-start/plugin.d.ts +16 -0
  102. package/lib/cloudflare/tanstack-start/plugin.d.ts.map +1 -0
  103. package/lib/cloudflare/tanstack-start/plugin.js +28 -0
  104. package/lib/cloudflare/tanstack-start/plugin.js.map +1 -0
  105. package/lib/cloudflare/{tanstack-start.d.ts → tanstack-start/tanstack-start.d.ts} +5 -5
  106. package/lib/cloudflare/tanstack-start/tanstack-start.d.ts.map +1 -0
  107. package/lib/cloudflare/tanstack-start/tanstack-start.js +11 -0
  108. package/lib/cloudflare/tanstack-start/tanstack-start.js.map +1 -0
  109. package/lib/cloudflare/vite/plugin.d.ts +4 -0
  110. package/lib/cloudflare/vite/plugin.d.ts.map +1 -0
  111. package/lib/cloudflare/vite/plugin.js +23 -0
  112. package/lib/cloudflare/vite/plugin.js.map +1 -0
  113. package/lib/cloudflare/{vite.d.ts → vite/vite.d.ts} +4 -4
  114. package/lib/cloudflare/vite/vite.d.ts.map +1 -0
  115. package/lib/cloudflare/vite/vite.js +19 -0
  116. package/lib/cloudflare/vite/vite.js.map +1 -0
  117. package/lib/cloudflare/website.d.ts +92 -70
  118. package/lib/cloudflare/website.d.ts.map +1 -1
  119. package/lib/cloudflare/website.js +225 -94
  120. package/lib/cloudflare/website.js.map +1 -1
  121. package/lib/cloudflare/worker-bundle.d.ts +3 -1
  122. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  123. package/lib/cloudflare/worker-bundle.js +42 -16
  124. package/lib/cloudflare/worker-bundle.js.map +1 -1
  125. package/lib/cloudflare/worker-stub.d.ts.map +1 -1
  126. package/lib/cloudflare/worker-stub.js +3 -6
  127. package/lib/cloudflare/worker-stub.js.map +1 -1
  128. package/lib/cloudflare/worker.d.ts +2 -7
  129. package/lib/cloudflare/worker.d.ts.map +1 -1
  130. package/lib/cloudflare/worker.js +17 -157
  131. package/lib/cloudflare/worker.js.map +1 -1
  132. package/lib/cloudflare/wrangler.json.d.ts +6 -0
  133. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  134. package/lib/cloudflare/wrangler.json.js +23 -6
  135. package/lib/cloudflare/wrangler.json.js.map +1 -1
  136. package/lib/context.d.ts +11 -0
  137. package/lib/context.d.ts.map +1 -1
  138. package/lib/context.js +8 -0
  139. package/lib/context.js.map +1 -1
  140. package/lib/env.d.ts +2 -2
  141. package/lib/env.d.ts.map +1 -1
  142. package/lib/env.js +5 -6
  143. package/lib/env.js.map +1 -1
  144. package/lib/random/index.d.ts +2 -0
  145. package/lib/random/index.d.ts.map +1 -0
  146. package/lib/random/index.js +2 -0
  147. package/lib/random/index.js.map +1 -0
  148. package/lib/random/random-string.d.ts +87 -0
  149. package/lib/random/random-string.d.ts.map +1 -0
  150. package/lib/random/random-string.js +72 -0
  151. package/lib/random/random-string.js.map +1 -0
  152. package/lib/runtime/bind.d.ts +1 -1
  153. package/lib/runtime/bind.d.ts.map +1 -1
  154. package/lib/runtime/bind.js.map +1 -1
  155. package/lib/scope.d.ts +11 -0
  156. package/lib/scope.d.ts.map +1 -1
  157. package/lib/scope.js +24 -0
  158. package/lib/scope.js.map +1 -1
  159. package/lib/secret.d.ts +2 -2
  160. package/lib/secret.d.ts.map +1 -1
  161. package/lib/secret.js +2 -2
  162. package/lib/secret.js.map +1 -1
  163. package/lib/state/cloudflare-state-store.js +1 -1
  164. package/lib/state/cloudflare-state-store.js.map +1 -1
  165. package/lib/state/dofs-state-store/index.js +1 -1
  166. package/lib/state/dofs-state-store/index.js.map +1 -1
  167. package/lib/util/detect-package-manager.d.ts +1 -0
  168. package/lib/util/detect-package-manager.d.ts.map +1 -1
  169. package/lib/util/detect-package-manager.js +10 -0
  170. package/lib/util/detect-package-manager.js.map +1 -1
  171. package/lib/util/telemetry/client.d.ts +1 -1
  172. package/lib/util/telemetry/client.d.ts.map +1 -1
  173. package/lib/util/telemetry/client.js +22 -1
  174. package/lib/util/telemetry/client.js.map +1 -1
  175. package/lib/util/telemetry/constants.d.ts.map +1 -1
  176. package/lib/util/telemetry/constants.js +2 -3
  177. package/lib/util/telemetry/constants.js.map +1 -1
  178. package/lib/util/telemetry/context.d.ts +1 -1
  179. package/lib/util/telemetry/context.d.ts.map +1 -1
  180. package/lib/util/telemetry/types.d.ts +7 -3
  181. package/lib/util/telemetry/types.d.ts.map +1 -1
  182. package/lib/vercel/api.d.ts.map +1 -1
  183. package/lib/vercel/api.js +1 -1
  184. package/lib/vercel/api.js.map +1 -1
  185. package/package.json +43 -4
  186. package/src/alchemy.ts +7 -0
  187. package/src/apply.ts +3 -7
  188. package/src/cloudflare/{astro.ts → astro/astro.ts} +46 -29
  189. package/src/cloudflare/astro/plugin.ts +11 -0
  190. package/src/cloudflare/bundle/plugin-hot-reload.ts +4 -3
  191. package/src/cloudflare/cloudflare-env-proxy.ts +50 -0
  192. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  193. package/src/cloudflare/compatibility-presets.ts +1 -1
  194. package/src/cloudflare/d1-local-migrations.ts +1 -1
  195. package/src/cloudflare/index.ts +8 -8
  196. package/src/cloudflare/miniflare/build-worker-options.ts +454 -0
  197. package/src/cloudflare/miniflare/miniflare-controller.ts +129 -0
  198. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +6 -15
  199. package/src/cloudflare/miniflare/paths.ts +52 -0
  200. package/src/cloudflare/miniflare/remote-binding-proxy.ts +18 -23
  201. package/src/cloudflare/{nuxt.ts → nuxt/nuxt.ts} +11 -16
  202. package/src/cloudflare/nuxt/plugin.ts +18 -0
  203. package/src/cloudflare/oauth.ts +2 -2
  204. package/src/cloudflare/orange.ts +13 -23
  205. package/src/cloudflare/react-router/plugin.ts +13 -0
  206. package/src/cloudflare/react-router/react-router.ts +41 -0
  207. package/src/cloudflare/redwood/plugin.ts +20 -0
  208. package/src/cloudflare/{redwood.ts → redwood/redwood.ts} +16 -19
  209. package/src/cloudflare/sveltekit/plugin.ts +12 -0
  210. package/src/cloudflare/{sveltekit.ts → sveltekit/sveltekit.ts} +9 -8
  211. package/src/cloudflare/tanstack-start/plugin.ts +30 -0
  212. package/src/cloudflare/tanstack-start/tanstack-start.ts +24 -0
  213. package/src/cloudflare/vite/plugin.ts +30 -0
  214. package/src/cloudflare/vite/vite.ts +34 -0
  215. package/src/cloudflare/website.ts +379 -204
  216. package/src/cloudflare/worker-bundle.ts +55 -16
  217. package/src/cloudflare/worker-stub.ts +11 -14
  218. package/src/cloudflare/worker.ts +23 -205
  219. package/src/cloudflare/wrangler.json.ts +32 -4
  220. package/src/context.ts +19 -0
  221. package/src/env.ts +8 -9
  222. package/src/random/index.ts +1 -0
  223. package/src/random/random-string.ts +126 -0
  224. package/src/runtime/bind.ts +2 -2
  225. package/src/scope.ts +25 -0
  226. package/src/secret.ts +4 -8
  227. package/src/state/cloudflare-state-store.ts +2 -2
  228. package/src/state/dofs-state-store/index.ts +1 -1
  229. package/src/util/detect-package-manager.ts +11 -0
  230. package/src/util/telemetry/client.ts +25 -2
  231. package/src/util/telemetry/constants.ts +2 -4
  232. package/src/util/telemetry/context.ts +1 -1
  233. package/src/util/telemetry/types.ts +8 -2
  234. package/src/vercel/api.ts +2 -4
  235. package/templates/astro/alchemy.run.ts +1 -3
  236. package/templates/astro/astro.config.mjs +2 -2
  237. package/templates/nuxt/alchemy.run.ts +1 -3
  238. package/templates/nuxt/nuxt.config.ts +4 -5
  239. package/templates/nuxt/package.json +0 -1
  240. package/templates/react-router/alchemy.run.ts +1 -4
  241. package/templates/react-router/vite.config.ts +2 -2
  242. package/templates/rwsdk/alchemy.run.ts +0 -1
  243. package/templates/rwsdk/package.json +0 -2
  244. package/templates/rwsdk/vite.config.mts +2 -2
  245. package/templates/sveltekit/alchemy.run.ts +1 -3
  246. package/templates/sveltekit/svelte.config.js +2 -2
  247. package/templates/tanstack-start/vite.config.ts +2 -2
  248. package/templates/vite/alchemy.run.ts +1 -1
  249. package/templates/vite/vite.config.ts +4 -5
  250. package/workers/cloudflare-state-store.js +12 -14
  251. package/lib/cloudflare/astro.d.ts.map +0 -1
  252. package/lib/cloudflare/astro.js +0 -69
  253. package/lib/cloudflare/astro.js.map +0 -1
  254. package/lib/cloudflare/local-dev-cloudflare-shim.d.ts +0 -13
  255. package/lib/cloudflare/local-dev-cloudflare-shim.d.ts.map +0 -1
  256. package/lib/cloudflare/local-dev-cloudflare-shim.js +0 -26
  257. package/lib/cloudflare/local-dev-cloudflare-shim.js.map +0 -1
  258. package/lib/cloudflare/miniflare/miniflare-worker-options.d.ts +0 -14
  259. package/lib/cloudflare/miniflare/miniflare-worker-options.d.ts.map +0 -1
  260. package/lib/cloudflare/miniflare/miniflare-worker-options.js +0 -468
  261. package/lib/cloudflare/miniflare/miniflare-worker-options.js.map +0 -1
  262. package/lib/cloudflare/miniflare/miniflare.d.ts +0 -40
  263. package/lib/cloudflare/miniflare/miniflare.d.ts.map +0 -1
  264. package/lib/cloudflare/miniflare/miniflare.js +0 -142
  265. package/lib/cloudflare/miniflare/miniflare.js.map +0 -1
  266. package/lib/cloudflare/nuxt.d.ts.map +0 -1
  267. package/lib/cloudflare/nuxt.js.map +0 -1
  268. package/lib/cloudflare/react-router.d.ts +0 -17
  269. package/lib/cloudflare/react-router.d.ts.map +0 -1
  270. package/lib/cloudflare/react-router.js +0 -35
  271. package/lib/cloudflare/react-router.js.map +0 -1
  272. package/lib/cloudflare/redwood.d.ts.map +0 -1
  273. package/lib/cloudflare/redwood.js.map +0 -1
  274. package/lib/cloudflare/sveltekit.d.ts.map +0 -1
  275. package/lib/cloudflare/sveltekit.js.map +0 -1
  276. package/lib/cloudflare/tanstack-start.d.ts.map +0 -1
  277. package/lib/cloudflare/tanstack-start.js +0 -21
  278. package/lib/cloudflare/tanstack-start.js.map +0 -1
  279. package/lib/cloudflare/vite.d.ts.map +0 -1
  280. package/lib/cloudflare/vite.js +0 -20
  281. package/lib/cloudflare/vite.js.map +0 -1
  282. package/src/cloudflare/local-dev-cloudflare-shim.ts +0 -25
  283. package/src/cloudflare/miniflare/miniflare-worker-options.ts +0 -599
  284. package/src/cloudflare/miniflare/miniflare.ts +0 -183
  285. package/src/cloudflare/react-router.ts +0 -56
  286. package/src/cloudflare/tanstack-start.ts +0 -35
  287. package/src/cloudflare/vite.ts +0 -35
  288. package/templates/react-router/wrangler.jsonc +0 -6
  289. package/templates/rwsdk/wrangler.jsonc +0 -31
  290. package/templates/sveltekit/wrangler.jsonc +0 -7
  291. package/templates/tanstack-start/wrangler.jsonc +0 -7
  292. package/templates/typescript/index.ts +0 -1
  293. package/templates/vite/wrangler.jsonc +0 -6
@@ -1,78 +1,71 @@
1
1
  import { Assets } from "./assets.ts";
2
2
  import type { Bindings } from "./bindings.ts";
3
- import { Worker, type AssetsConfig, type WorkerProps } from "./worker.ts";
3
+ import { type AssetsConfig, Worker, type WorkerProps } from "./worker.ts";
4
4
  import { type WranglerJsonSpec } from "./wrangler.json.ts";
5
- export interface WebsiteProps<B extends Bindings> extends Omit<WorkerProps<B>, "name" | "assets" | "entrypoint"> {
5
+ export interface WebsiteProps<B extends Bindings> extends Omit<WorkerProps<B>, "assets" | "dev"> {
6
6
  /**
7
- * The command to run to build the site
7
+ * Configuration for the build command
8
8
  *
9
- * If one is not provided, the build is assumed to have already happened.
9
+ * If not provided, the build is assumed to have already happened.
10
10
  */
11
- command?: string;
12
- /**
13
- * Additional environment variables to set when running the command
14
- */
15
- commandEnv?: Record<string, string>;
16
- /**
17
- * Whether to memoize the command (only re-run if the command changes)
18
- *
19
- * When set to `true`, the command will only be re-executed if the command string changes.
20
- *
21
- * When set to an object with `patterns`, the command will be re-executed if either:
22
- * 1. The command string changes, or
23
- * 2. The contents of any files matching the glob patterns change
24
- *
25
- * ⚠️ **Important Note**: When using memoization with build commands, the build outputs
26
- * will not be produced if the command is memoized. This is because the command is not
27
- * actually executed when memoized. Consider disabling memoization in CI environments:
28
- *
29
- * @example
30
- * // Disable memoization in CI to ensure build outputs are always produced
31
- * await Website("my-website", {
32
- * command: "vite build",
33
- * memoize: process.env.CI ? false : {
34
- * patterns: ["./src/**"]
35
- * }
36
- * });
37
- *
38
- * @default false
39
- */
40
- memoize?: boolean | {
41
- patterns: string[];
11
+ build?: string | {
12
+ /**
13
+ * The command to run to build the site
14
+ */
15
+ command: string;
16
+ /**
17
+ * Additional environment variables to set when running the build command
18
+ */
19
+ env?: Record<string, string>;
20
+ /**
21
+ * Whether to memoize the command (only re-run if the command changes)
22
+ *
23
+ * When set to `true`, the command will only be re-executed if the command string changes.
24
+ *
25
+ * When set to an object with `patterns`, the command will be re-executed if either:
26
+ * 1. The command string changes, or
27
+ * 2. The contents of any files matching the glob patterns change
28
+ *
29
+ * ⚠️ **Important Note**: When using memoization with build commands, the build outputs
30
+ * will not be produced if the command is memoized. This is because the command is not
31
+ * actually executed when memoized. Consider disabling memoization in CI environments:
32
+ *
33
+ * @example
34
+ * // Disable memoization in CI to ensure build outputs are always produced
35
+ * await Website("my-website", {
36
+ * command: "vite build",
37
+ * memoize: process.env.CI ? false : {
38
+ * patterns: ["./src/**"]
39
+ * }
40
+ * });
41
+ *
42
+ * @default false
43
+ */
44
+ memoize?: boolean | {
45
+ patterns: string[];
46
+ };
42
47
  };
43
48
  /**
44
- * The name of the worker
45
- *
46
- * @default id
49
+ * Configuration for the dev command
47
50
  */
48
- name?: string;
49
- /**
50
- * The entrypoint to your server
51
- *
52
- * @default - a simple server that serves static assets is generated
53
- */
54
- main?: string;
51
+ dev?: string | {
52
+ /**
53
+ * The command to run to start the dev server
54
+ */
55
+ command: string;
56
+ /**
57
+ * Additional environment variables to set when running the dev command
58
+ */
59
+ env?: Record<string, string>;
60
+ };
55
61
  /**
56
- * The directory containing your static assets
62
+ * The directory containing static assets
57
63
  *
58
- * @default "./dist"
64
+ * @default dist
59
65
  */
60
66
  assets?: string | ({
61
- dist?: string;
67
+ directory?: string;
62
68
  } & AssetsConfig);
63
- /**
64
- * @default process.cwd()
65
- */
66
- cwd?: string;
67
- /**
68
- * Write a wrangler.jsonc file
69
- *
70
- * @default - no wrangler.jsonc file is written
71
- */
72
- wrangler?: boolean | string | {
73
- path?: string;
74
- main?: string;
75
- };
76
69
  /**
77
70
  * Configures default routing to support client-side routing for Single Page Applications (SPA)
78
71
  *
@@ -80,15 +73,21 @@ export interface WebsiteProps<B extends Bindings> extends Omit<WorkerProps<B>, "
80
73
  */
81
74
  spa?: boolean;
82
75
  /**
83
- * Configure the command to use in development mode
76
+ * Configuration for the wrangler.json file
84
77
  */
85
- dev?: {
86
- command: string;
87
- };
88
- /**
89
- * Transform hooks to modify generated configuration files
90
- */
91
- transform?: {
78
+ wrangler?: {
79
+ /**
80
+ * Path to the wrangler.json file
81
+ *
82
+ * @default .alchemy/local/wrangler.jsonc
83
+ */
84
+ path?: string;
85
+ /**
86
+ * The main entry point for the worker
87
+ *
88
+ * @default worker.entrypoint
89
+ */
90
+ main?: string;
92
91
  /**
93
92
  * Hook to modify the wrangler.json object before it's written
94
93
  *
@@ -99,7 +98,30 @@ export interface WebsiteProps<B extends Bindings> extends Omit<WorkerProps<B>, "
99
98
  * @param spec - The generated wrangler.json specification
100
99
  * @returns The modified wrangler.json specification
101
100
  */
102
- wrangler?: (spec: WranglerJsonSpec) => WranglerJsonSpec | Promise<WranglerJsonSpec>;
101
+ transform?: (spec: WranglerJsonSpec) => WranglerJsonSpec | Promise<WranglerJsonSpec>;
102
+ /**
103
+ * Whether to include secrets in the wrangler.json file
104
+ *
105
+ * @default true if no path is specified, false otherwise
106
+ */
107
+ secrets?: boolean;
108
+ };
109
+ /**
110
+ * The command to run to build the site.
111
+ * @deprecated Use `build` or `build.command` instead
112
+ */
113
+ command?: string;
114
+ /**
115
+ * Additional environment variables to set when running the build command.
116
+ * @deprecated Use `build.env` instead
117
+ */
118
+ commandEnv?: Record<string, string>;
119
+ /**
120
+ * Whether to memoize the command (only re-run if the command changes)
121
+ * @deprecated Use `build.memoize` instead
122
+ */
123
+ memoize?: boolean | {
124
+ patterns: string[];
103
125
  };
104
126
  }
105
127
  export type Website<B extends Bindings> = B extends {
@@ -1 +1 @@
1
- {"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAC9C,SAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC9D;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAE3C;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EACH,MAAM,GACN,CAAC;QACC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,YAAY,CAAC,CAAC;IACtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,EACL,OAAO,GACP,MAAM,GACN;QACE,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEN;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,GAAG,CAAC,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;;;;;;;;WASG;QACH,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,gBAAgB,KACnB,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACnD,CAAC;CACH;AAWD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC/D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC,wBAAsB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CA4HrB"}
1
+ {"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAC9C,SAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC9C;;;;OAIG;IACH,KAAK,CAAC,EACF,MAAM,GACN;QACE;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B;;;;;;;;;;;;;;;;;;;;;;;WAuBG;QACH,OAAO,CAAC,EAAE,OAAO,GAAG;YAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAC5C,CAAC;IACN;;OAEG;IACH,GAAG,CAAC,EACA,MAAM,GACN;QACE;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B,CAAC;IACN;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,CAAC,CAAC;IAC1D;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;;;WAIG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;WAIG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;;;;;;WASG;QACH,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,gBAAgB,KACnB,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC/D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC,wBAAsB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,uBAgLvB"}
@@ -1,122 +1,253 @@
1
+ import assert from "node:assert";
2
+ import { spawn } from "node:child_process";
3
+ import { once } from "node:events";
4
+ import fs from "node:fs/promises";
1
5
  import path from "node:path";
2
6
  import { alchemy } from "../alchemy.js";
3
- import { Exec } from "../os/exec.js";
7
+ import { Exec } from "../os/index.js";
4
8
  import { Scope } from "../scope.js";
5
9
  import { isSecret } from "../secret.js";
6
- import { detectPackageManager } from "../util/detect-package-manager.js";
10
+ import { dedent } from "../util/dedent.js";
11
+ import { DeferredPromise } from "../util/deferred-promise.js";
12
+ import { exists } from "../util/exists.js";
13
+ import { logger } from "../util/logger.js";
7
14
  import { Assets } from "./assets.js";
8
15
  import { DEFAULT_COMPATIBILITY_DATE } from "./compatibility-date.gen.js";
16
+ import { DEFAULT_PERSIST_PATH } from "./miniflare/paths.js";
9
17
  import { Worker } from "./worker.js";
10
18
  import { WranglerJson } from "./wrangler.json.js";
11
- const packageManager = await detectPackageManager();
12
- const devCommand = {
13
- npm: "npx vite dev",
14
- bun: "bun vite dev",
15
- pnpm: "pnpm vite dev",
16
- yarn: "yarn vite dev",
17
- deno: "deno task dev",
18
- }[packageManager];
19
19
  export async function Website(id, props) {
20
- if (props.bindings?.ASSETS) {
21
- throw new Error("ASSETS binding is reserved for internal use");
20
+ const { name = id, build: buildProps, assets, dev, script, spa = true, command, commandEnv, memoize, ...workerProps } = props;
21
+ assert(!workerProps.bindings?.ASSETS, "ASSETS binding is reserved for internal use");
22
+ if (command) {
23
+ logger.warnOnce("[website] The `command` prop is deprecated. Use `build.command` instead.");
22
24
  }
23
- const wrangler = props.wrangler ?? true;
24
- return alchemy.run(id, {
25
- parent: Scope.current,
26
- }, async (scope) => {
27
- const cwd = path.resolve(props.cwd || process.cwd());
28
- function resolveAbsPath(f) {
29
- return (f ? (path.isAbsolute(f) ? f : path.resolve(cwd, f)) : undefined);
25
+ if (commandEnv) {
26
+ logger.warnOnce("[website] The `commandEnv` prop is deprecated. Use `build.env` instead.");
27
+ }
28
+ if (memoize) {
29
+ logger.warnOnce("[website] The `memoize` prop is deprecated. Use `build.memoize` instead.");
30
+ }
31
+ const build = (() => {
32
+ if (typeof buildProps === "string") {
33
+ return { command: buildProps, env: commandEnv, memoize };
34
+ }
35
+ if (buildProps) {
36
+ return buildProps;
37
+ }
38
+ if (command) {
39
+ return {
40
+ command,
41
+ env: commandEnv,
42
+ memoize,
43
+ };
44
+ }
45
+ return undefined;
46
+ })();
47
+ const paths = (() => {
48
+ const cwd = props.cwd ?? process.cwd();
49
+ return {
50
+ cwd,
51
+ assets: path.resolve(cwd, typeof assets === "string" ? assets : (assets?.directory ?? "dist")),
52
+ local: path.resolve(cwd, ".alchemy/local"),
53
+ entrypoint: path.resolve(cwd, props.entrypoint ?? ".alchemy/local/worker.js"),
54
+ get wrangler() {
55
+ return {
56
+ path: path.resolve(cwd, props.wrangler?.path ?? ".alchemy/local/wrangler.jsonc"),
57
+ main: props.wrangler?.main
58
+ ? path.resolve(cwd, props.wrangler.main)
59
+ : this.entrypoint,
60
+ };
61
+ },
62
+ };
63
+ })();
64
+ const secrets = props.wrangler?.secrets ?? !props.wrangler?.path;
65
+ const env = {
66
+ ...(process.env ?? {}),
67
+ ...(props.env ?? {}),
68
+ ...Object.fromEntries(Object.entries(props.bindings ?? {}).flatMap(([key, value]) => {
69
+ if (typeof value === "string" || (isSecret(value) && secrets)) {
70
+ return [[key, value]];
71
+ }
72
+ return [];
73
+ })),
74
+ };
75
+ const worker = {
76
+ ...workerProps,
77
+ name,
78
+ cwd: path.relative(process.cwd(), paths.cwd),
79
+ compatibilityDate: workerProps.compatibilityDate ?? DEFAULT_COMPATIBILITY_DATE,
80
+ assets: {
81
+ html_handling: "auto-trailing-slash",
82
+ not_found_handling: spa ? "single-page-application" : "none",
83
+ run_worker_first: false,
84
+ ...(typeof props.assets === "string" ? {} : props.assets),
85
+ },
86
+ entrypoint: path.relative(paths.cwd, paths.entrypoint),
87
+ };
88
+ return await alchemy.run(id, { parent: Scope.current }, async (scope) => {
89
+ if (!workerProps.entrypoint) {
90
+ await fs.mkdir(path.dirname(paths.entrypoint), { recursive: true });
91
+ const content = script ??
92
+ dedent `
93
+ export default {
94
+ async fetch(request, env) {
95
+ return new Response("Not Found", { status: 404 });
96
+ },
97
+ };`;
98
+ await fs.writeFile(paths.entrypoint, content);
30
99
  }
31
- const mainPath = resolveAbsPath(props.main);
32
- const assetsDirPath = resolveAbsPath(typeof props.assets === "string"
33
- ? props.assets
34
- : (props.assets?.dist ?? "dist"));
35
- const wranglerJsonPath = resolveAbsPath(typeof wrangler === "boolean"
36
- ? "wrangler.jsonc"
37
- : typeof wrangler === "string"
38
- ? wrangler
39
- : (wrangler?.path ?? "wrangler.jsonc"));
40
- const workerName = props.name ?? id;
41
- const workerProps = {
42
- ...props,
43
- compatibilityDate: props.compatibilityDate ?? DEFAULT_COMPATIBILITY_DATE,
44
- name: workerName,
45
- cwd: path.relative(process.cwd(), cwd),
46
- entrypoint: mainPath,
100
+ await writeMiniflareSymlink(paths.cwd);
101
+ await WranglerJson("wrangler.jsonc", {
102
+ path: path.relative(paths.cwd, paths.wrangler.path),
103
+ worker,
47
104
  assets: {
48
- html_handling: "auto-trailing-slash",
49
- not_found_handling: props.spa ? "single-page-application" : "none",
50
- run_worker_first: false,
51
- ...(typeof props.assets === "string" ? {} : props.assets),
105
+ binding: "ASSETS",
106
+ directory: path.relative(paths.cwd, paths.assets),
52
107
  },
53
- script: props.main
54
- ? undefined
55
- : `
56
- export default {
57
- async fetch(request, env) {
58
- return new Response("Not Found", { status: 404 });
59
- },
60
- };`,
61
- url: props.url ?? true,
62
- adopt: props.adopt ?? true,
63
- dev: {
64
- command: props.dev?.command ?? devCommand,
108
+ main: path.relative(paths.cwd, paths.wrangler.main),
109
+ secrets,
110
+ transform: {
111
+ wrangler: props.wrangler?.transform,
65
112
  },
66
- };
67
- if (wrangler) {
68
- const wranglerPath = path.relative(cwd, wranglerJsonPath);
69
- const wranglerDir = path.dirname(wranglerPath);
70
- await WranglerJson("wrangler.jsonc", {
71
- path: wranglerPath,
72
- worker: workerProps,
73
- // @ts-expect-error - props.wrangler can be string | object, this is fine
74
- main: props.wrangler?.main ?? props.main,
75
- // hard-code the assets directory because we haven't yet included the assets binding
76
- assets: {
77
- binding: "ASSETS",
78
- // path must be relative to the wrangler.jsonc file
79
- directory: path.relative(wranglerDir, assetsDirPath),
113
+ });
114
+ if (build && !scope.local) {
115
+ await Exec("build", {
116
+ cwd: path.relative(process.cwd(), paths.cwd),
117
+ command: build.command,
118
+ env: {
119
+ ...env,
120
+ ...(typeof build === "object" ? build.env : {}),
121
+ NODE_ENV: "production",
80
122
  },
81
- transform: props.transform,
123
+ memoize: typeof build === "object" ? build.memoize : undefined,
82
124
  });
83
125
  }
84
- const isDev = scope.local;
85
- if (props.command && !isDev) {
86
- await Exec("build", {
87
- cwd,
88
- command: props.command,
126
+ let url;
127
+ if (dev && scope.local) {
128
+ url = await runDevCommand(scope, {
129
+ id,
130
+ command: typeof dev === "string" ? dev : dev.command,
89
131
  env: {
90
- ...(process.env ?? {}),
91
- ...(props.env ?? {}),
92
- ...(props.commandEnv ?? {}),
93
- ...Object.fromEntries(Object.entries(props.bindings ?? {}).flatMap(([key, value]) => {
94
- if (isSecret(value)) {
95
- return [[key, value.unencrypted]];
96
- }
97
- else if (typeof value === "string") {
98
- return [[key, value]];
99
- }
100
- return [];
101
- })),
132
+ ...env,
133
+ ...(typeof dev === "object" ? dev.env : {}),
102
134
  },
103
- memoize: props.memoize,
135
+ cwd: paths.cwd,
104
136
  });
105
137
  }
106
138
  return (await Worker("worker", {
107
- ...workerProps,
139
+ ...worker,
108
140
  bindings: {
109
- ...workerProps.bindings,
110
- // we don't include the Assets binding until after build to make sure the asset manifest is correct
111
- // we generate the wrangler.json using all the bind
112
- ASSETS: isDev
113
- ? undefined
114
- : await Assets("assets", {
115
- // Assets are discovered from proces.cwd(), not Website.cwd or wrangler.jsonc
116
- path: path.relative(process.cwd(), assetsDirPath),
117
- }),
141
+ ...worker.bindings,
142
+ ...(!scope.local
143
+ ? {
144
+ ASSETS: await Assets("assets", {
145
+ path: path.relative(process.cwd(), paths.assets),
146
+ }),
147
+ }
148
+ : {}),
118
149
  },
150
+ dev: url ? { url } : undefined,
119
151
  }));
120
152
  });
121
153
  }
154
+ async function writeMiniflareSymlink(cwd) {
155
+ const target = path.resolve(DEFAULT_PERSIST_PATH);
156
+ await fs.mkdir(target, { recursive: true });
157
+ if (cwd === process.cwd()) {
158
+ return;
159
+ }
160
+ const persistPath = path.resolve(cwd, DEFAULT_PERSIST_PATH);
161
+ await fs.mkdir(path.dirname(persistPath), { recursive: true });
162
+ await fs.symlink(target, persistPath).catch((e) => {
163
+ if (e.code !== "EEXIST") {
164
+ throw e;
165
+ }
166
+ });
167
+ }
168
+ async function runDevCommand(scope, props) {
169
+ const persistFile = path.join(process.cwd(), ".alchemy", `${props.id}.pid`);
170
+ if (await exists(persistFile)) {
171
+ const pid = Number.parseInt(await fs.readFile(persistFile, "utf8"));
172
+ try {
173
+ // Actually kill the process if it's alive
174
+ process.kill(pid, "SIGTERM");
175
+ }
176
+ catch {
177
+ // ignore
178
+ }
179
+ try {
180
+ await fs.unlink(persistFile);
181
+ }
182
+ catch {
183
+ // ignore
184
+ }
185
+ }
186
+ const command = props.command.split(" ");
187
+ const [cmd, ...args] = command;
188
+ const childProcess = spawn(cmd, args, {
189
+ cwd: props.cwd,
190
+ shell: true,
191
+ env: {
192
+ FORCE_COLOR: "1",
193
+ ...process.env,
194
+ ...Object.fromEntries(Object.entries(props.env ?? {}).flatMap(([key, value]) => {
195
+ if (isSecret(value)) {
196
+ return [[key, value.unencrypted]];
197
+ }
198
+ if (typeof value === "string") {
199
+ return [[key, value]];
200
+ }
201
+ return [];
202
+ })),
203
+ },
204
+ stdio: "pipe",
205
+ });
206
+ await once(childProcess, "spawn");
207
+ scope.onCleanup(async () => {
208
+ if (childProcess.exitCode === null && !childProcess.killed) {
209
+ childProcess.kill("SIGTERM");
210
+ await Promise.any([
211
+ once(childProcess, "exit"),
212
+ new Promise((resolve) => setTimeout(resolve, 5000)),
213
+ ]);
214
+ if (!childProcess.killed) {
215
+ childProcess.kill("SIGKILL");
216
+ }
217
+ }
218
+ try {
219
+ await fs.unlink(persistFile);
220
+ }
221
+ catch {
222
+ // ignore
223
+ }
224
+ });
225
+ if (childProcess.pid) {
226
+ await fs.mkdir(path.dirname(persistFile), { recursive: true });
227
+ await fs.writeFile(persistFile, childProcess.pid.toString());
228
+ }
229
+ const URL_REGEX = /http:\/\/(?:(?:localhost|0\.0\.0\.0|127\.0\.0\.1)|(?:\d{1,3}\.){3}\d{1,3}):\d+(?:\/)?/;
230
+ const promise = new DeferredPromise();
231
+ childProcess.stdout.on("data", (data) => {
232
+ if (promise.status === "pending") {
233
+ const match = data
234
+ .toString()
235
+ .replace(/\x1B\[[0-9;]*[a-zA-Z]/g, "")
236
+ .match(URL_REGEX);
237
+ if (match) {
238
+ promise.resolve(match[0]);
239
+ }
240
+ }
241
+ process.stdout.write(data);
242
+ });
243
+ childProcess.stderr.on("data", (data) => {
244
+ process.stderr.write(data);
245
+ });
246
+ return await Promise.race([
247
+ promise.value,
248
+ once(childProcess, "exit").then(([code, signal]) => {
249
+ throw new Error(`Dev command "${props.command}" for "${props.id}" failed to start (code: ${code}, signal: ${signal})`);
250
+ }),
251
+ ]);
252
+ }
122
253
  //# sourceMappingURL=website.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/cloudflare/website.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface WorkerBundle {
6
6
  modules: WorkerBundle.Module[];
7
7
  }
8
8
  export declare function normalizeWorkerBundle(props: {
9
+ id: string;
9
10
  script: string | undefined;
10
11
  entrypoint: string | undefined;
11
12
  noBundle: boolean | undefined;
@@ -63,6 +64,7 @@ export declare namespace WorkerBundleSource {
63
64
  private readFiles;
64
65
  }
65
66
  interface ESBuildProps extends WorkerBundleSource.BaseProps, Omit<esbuild.BuildOptions, "entryPoints" | "format" | "absWorkingDir" | "outdir"> {
67
+ id: string;
66
68
  entrypoint: string;
67
69
  cwd: string;
68
70
  outdir: string;
@@ -74,7 +76,7 @@ export declare namespace WorkerBundleSource {
74
76
  watch(signal: AbortSignal): AsyncIterable<WorkerBundle>;
75
77
  delete(): Promise<void>;
76
78
  private buildOptions;
77
- private resolveBuildOutput;
79
+ private formatBuildOutput;
78
80
  }
79
81
  }
80
82
  //# sourceMappingURL=worker-bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-bundle.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-bundle.d.ts","sourceRoot":"","sources":["../../src/cloudflare/worker-bundle.ts"],"names":[],"mappings":"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"}