alchemy 0.56.0 → 0.57.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 (256) hide show
  1. package/bin/alchemy.js +14223 -14180
  2. package/bin/commands/create.ts +15 -17
  3. package/bin/commands/deploy.ts +3 -3
  4. package/bin/commands/destroy.ts +3 -3
  5. package/bin/commands/dev.ts +3 -4
  6. package/bin/commands/init.ts +9 -9
  7. package/bin/commands/login.ts +6 -6
  8. package/bin/commands/run.ts +3 -4
  9. package/bin/constants.ts +1 -1
  10. package/bin/services/execute-alchemy.ts +4 -6
  11. package/bin/trpc.ts +49 -0
  12. package/lib/apply.d.ts.map +1 -1
  13. package/lib/apply.js +3 -4
  14. package/lib/apply.js.map +1 -1
  15. package/lib/cloudflare/assets.js +5 -4
  16. package/lib/cloudflare/assets.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/cloudflare-env-proxy.d.ts +4 -0
  26. package/lib/cloudflare/cloudflare-env-proxy.d.ts.map +1 -0
  27. package/lib/cloudflare/cloudflare-env-proxy.js +34 -0
  28. package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -0
  29. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  30. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  31. package/lib/cloudflare/d1-local-migrations.js +1 -1
  32. package/lib/cloudflare/d1-local-migrations.js.map +1 -1
  33. package/lib/cloudflare/index.d.ts +8 -8
  34. package/lib/cloudflare/index.d.ts.map +1 -1
  35. package/lib/cloudflare/index.js +8 -8
  36. package/lib/cloudflare/index.js.map +1 -1
  37. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
  38. package/lib/cloudflare/miniflare/miniflare-controller.js +2 -1
  39. package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -1
  40. package/lib/cloudflare/miniflare/paths.d.ts +5 -0
  41. package/lib/cloudflare/miniflare/paths.d.ts.map +1 -0
  42. package/lib/cloudflare/miniflare/paths.js +35 -0
  43. package/lib/cloudflare/miniflare/paths.js.map +1 -0
  44. package/lib/cloudflare/{nuxt.d.ts → nuxt/nuxt.d.ts} +4 -4
  45. package/lib/cloudflare/nuxt/nuxt.d.ts.map +1 -0
  46. package/lib/cloudflare/{nuxt.js → nuxt/nuxt.js} +8 -13
  47. package/lib/cloudflare/nuxt/nuxt.js.map +1 -0
  48. package/lib/cloudflare/nuxt/plugin.d.ts +4 -0
  49. package/lib/cloudflare/nuxt/plugin.d.ts.map +1 -0
  50. package/lib/cloudflare/nuxt/plugin.js +14 -0
  51. package/lib/cloudflare/nuxt/plugin.js.map +1 -0
  52. package/lib/cloudflare/oauth.js +2 -2
  53. package/lib/cloudflare/oauth.js.map +1 -1
  54. package/lib/cloudflare/orange.d.ts +3 -3
  55. package/lib/cloudflare/orange.d.ts.map +1 -1
  56. package/lib/cloudflare/orange.js +11 -21
  57. package/lib/cloudflare/orange.js.map +1 -1
  58. package/lib/cloudflare/react-router/plugin.d.ts +4 -0
  59. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -0
  60. package/lib/cloudflare/react-router/plugin.js +11 -0
  61. package/lib/cloudflare/react-router/plugin.js.map +1 -0
  62. package/lib/cloudflare/react-router/react-router.d.ts +17 -0
  63. package/lib/cloudflare/react-router/react-router.d.ts.map +1 -0
  64. package/lib/cloudflare/react-router/react-router.js +21 -0
  65. package/lib/cloudflare/react-router/react-router.js.map +1 -0
  66. package/lib/cloudflare/redwood/plugin.d.ts +4 -0
  67. package/lib/cloudflare/redwood/plugin.d.ts.map +1 -0
  68. package/lib/cloudflare/redwood/plugin.js +19 -0
  69. package/lib/cloudflare/redwood/plugin.js.map +1 -0
  70. package/lib/cloudflare/{redwood.d.ts → redwood/redwood.d.ts} +5 -5
  71. package/lib/cloudflare/redwood/redwood.d.ts.map +1 -0
  72. package/lib/cloudflare/{redwood.js → redwood/redwood.js} +12 -13
  73. package/lib/cloudflare/redwood/redwood.js.map +1 -0
  74. package/lib/cloudflare/sveltekit/plugin.d.ts +4 -0
  75. package/lib/cloudflare/sveltekit/plugin.d.ts.map +1 -0
  76. package/lib/cloudflare/sveltekit/plugin.js +11 -0
  77. package/lib/cloudflare/sveltekit/plugin.js.map +1 -0
  78. package/lib/cloudflare/{sveltekit.d.ts → sveltekit/sveltekit.d.ts} +5 -5
  79. package/lib/cloudflare/sveltekit/sveltekit.d.ts.map +1 -0
  80. package/lib/cloudflare/{sveltekit.js → sveltekit/sveltekit.js} +4 -4
  81. package/lib/cloudflare/sveltekit/sveltekit.js.map +1 -0
  82. package/lib/cloudflare/{local-dev-cloudflare-shim.d.ts → tanstack-start/plugin.d.ts} +3 -2
  83. package/lib/cloudflare/tanstack-start/plugin.d.ts.map +1 -0
  84. package/lib/cloudflare/{local-dev-cloudflare-shim.js → tanstack-start/plugin.js} +6 -9
  85. package/lib/cloudflare/tanstack-start/plugin.js.map +1 -0
  86. package/lib/cloudflare/{tanstack-start.d.ts → tanstack-start/tanstack-start.d.ts} +5 -5
  87. package/lib/cloudflare/tanstack-start/tanstack-start.d.ts.map +1 -0
  88. package/lib/cloudflare/tanstack-start/tanstack-start.js +11 -0
  89. package/lib/cloudflare/tanstack-start/tanstack-start.js.map +1 -0
  90. package/lib/cloudflare/vite/plugin.d.ts +4 -0
  91. package/lib/cloudflare/vite/plugin.d.ts.map +1 -0
  92. package/lib/cloudflare/vite/plugin.js +23 -0
  93. package/lib/cloudflare/vite/plugin.js.map +1 -0
  94. package/lib/cloudflare/{vite.d.ts → vite/vite.d.ts} +4 -4
  95. package/lib/cloudflare/vite/vite.d.ts.map +1 -0
  96. package/lib/cloudflare/vite/vite.js +19 -0
  97. package/lib/cloudflare/vite/vite.js.map +1 -0
  98. package/lib/cloudflare/website.d.ts +92 -70
  99. package/lib/cloudflare/website.d.ts.map +1 -1
  100. package/lib/cloudflare/website.js +225 -94
  101. package/lib/cloudflare/website.js.map +1 -1
  102. package/lib/cloudflare/worker-bundle.d.ts +1 -1
  103. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  104. package/lib/cloudflare/worker-bundle.js +23 -13
  105. package/lib/cloudflare/worker-bundle.js.map +1 -1
  106. package/lib/cloudflare/worker-stub.d.ts.map +1 -1
  107. package/lib/cloudflare/worker-stub.js +3 -6
  108. package/lib/cloudflare/worker-stub.js.map +1 -1
  109. package/lib/cloudflare/worker.d.ts +2 -7
  110. package/lib/cloudflare/worker.d.ts.map +1 -1
  111. package/lib/cloudflare/worker.js +5 -124
  112. package/lib/cloudflare/worker.js.map +1 -1
  113. package/lib/cloudflare/wrangler.json.d.ts +6 -0
  114. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  115. package/lib/cloudflare/wrangler.json.js +23 -6
  116. package/lib/cloudflare/wrangler.json.js.map +1 -1
  117. package/lib/env.d.ts +2 -2
  118. package/lib/env.d.ts.map +1 -1
  119. package/lib/env.js +5 -6
  120. package/lib/env.js.map +1 -1
  121. package/lib/random/index.d.ts +2 -0
  122. package/lib/random/index.d.ts.map +1 -0
  123. package/lib/random/index.js +2 -0
  124. package/lib/random/index.js.map +1 -0
  125. package/lib/random/random-string.d.ts +87 -0
  126. package/lib/random/random-string.d.ts.map +1 -0
  127. package/lib/random/random-string.js +72 -0
  128. package/lib/random/random-string.js.map +1 -0
  129. package/lib/runtime/bind.d.ts +1 -1
  130. package/lib/runtime/bind.d.ts.map +1 -1
  131. package/lib/runtime/bind.js.map +1 -1
  132. package/lib/scope.d.ts +0 -1
  133. package/lib/scope.d.ts.map +1 -1
  134. package/lib/scope.js +1 -2
  135. package/lib/scope.js.map +1 -1
  136. package/lib/secret.d.ts +2 -2
  137. package/lib/secret.d.ts.map +1 -1
  138. package/lib/secret.js +2 -2
  139. package/lib/secret.js.map +1 -1
  140. package/lib/state/cloudflare-state-store.js +1 -1
  141. package/lib/state/cloudflare-state-store.js.map +1 -1
  142. package/lib/state/dofs-state-store/index.js +1 -1
  143. package/lib/state/dofs-state-store/index.js.map +1 -1
  144. package/lib/util/detect-package-manager.d.ts +1 -0
  145. package/lib/util/detect-package-manager.d.ts.map +1 -1
  146. package/lib/util/detect-package-manager.js +10 -0
  147. package/lib/util/detect-package-manager.js.map +1 -1
  148. package/lib/util/telemetry/client.d.ts +1 -1
  149. package/lib/util/telemetry/client.d.ts.map +1 -1
  150. package/lib/util/telemetry/client.js +22 -1
  151. package/lib/util/telemetry/client.js.map +1 -1
  152. package/lib/util/telemetry/constants.d.ts.map +1 -1
  153. package/lib/util/telemetry/constants.js +2 -3
  154. package/lib/util/telemetry/constants.js.map +1 -1
  155. package/lib/util/telemetry/context.d.ts +1 -1
  156. package/lib/util/telemetry/context.d.ts.map +1 -1
  157. package/lib/util/telemetry/types.d.ts +7 -3
  158. package/lib/util/telemetry/types.d.ts.map +1 -1
  159. package/lib/vercel/api.d.ts.map +1 -1
  160. package/lib/vercel/api.js +1 -1
  161. package/lib/vercel/api.js.map +1 -1
  162. package/package.json +44 -6
  163. package/src/apply.ts +3 -7
  164. package/src/cloudflare/assets.ts +7 -4
  165. package/src/cloudflare/{astro.ts → astro/astro.ts} +46 -29
  166. package/src/cloudflare/astro/plugin.ts +11 -0
  167. package/src/cloudflare/cloudflare-env-proxy.ts +50 -0
  168. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  169. package/src/cloudflare/d1-local-migrations.ts +1 -1
  170. package/src/cloudflare/index.ts +8 -8
  171. package/src/cloudflare/miniflare/miniflare-controller.ts +2 -1
  172. package/src/cloudflare/miniflare/paths.ts +52 -0
  173. package/src/cloudflare/{nuxt.ts → nuxt/nuxt.ts} +11 -16
  174. package/src/cloudflare/nuxt/plugin.ts +18 -0
  175. package/src/cloudflare/oauth.ts +2 -2
  176. package/src/cloudflare/orange.ts +13 -23
  177. package/src/cloudflare/react-router/plugin.ts +13 -0
  178. package/src/cloudflare/react-router/react-router.ts +41 -0
  179. package/src/cloudflare/redwood/plugin.ts +20 -0
  180. package/src/cloudflare/{redwood.ts → redwood/redwood.ts} +16 -19
  181. package/src/cloudflare/sveltekit/plugin.ts +12 -0
  182. package/src/cloudflare/{sveltekit.ts → sveltekit/sveltekit.ts} +9 -8
  183. package/src/cloudflare/{local-dev-cloudflare-shim.ts → tanstack-start/plugin.ts} +8 -9
  184. package/src/cloudflare/tanstack-start/tanstack-start.ts +24 -0
  185. package/src/cloudflare/vite/plugin.ts +30 -0
  186. package/src/cloudflare/vite/vite.ts +34 -0
  187. package/src/cloudflare/website.ts +379 -204
  188. package/src/cloudflare/worker-bundle.ts +27 -13
  189. package/src/cloudflare/worker-stub.ts +11 -14
  190. package/src/cloudflare/worker.ts +8 -155
  191. package/src/cloudflare/wrangler.json.ts +32 -4
  192. package/src/env.ts +8 -9
  193. package/src/random/index.ts +1 -0
  194. package/src/random/random-string.ts +126 -0
  195. package/src/runtime/bind.ts +2 -2
  196. package/src/scope.ts +1 -3
  197. package/src/secret.ts +4 -8
  198. package/src/state/cloudflare-state-store.ts +2 -2
  199. package/src/state/dofs-state-store/index.ts +1 -1
  200. package/src/util/detect-package-manager.ts +11 -0
  201. package/src/util/telemetry/client.ts +25 -2
  202. package/src/util/telemetry/constants.ts +2 -4
  203. package/src/util/telemetry/context.ts +1 -1
  204. package/src/util/telemetry/types.ts +8 -2
  205. package/src/vercel/api.ts +2 -4
  206. package/templates/astro/alchemy.run.ts +1 -3
  207. package/templates/astro/astro.config.mjs +2 -2
  208. package/templates/astro/package.json +1 -1
  209. package/templates/nuxt/alchemy.run.ts +1 -3
  210. package/templates/nuxt/nuxt.config.ts +4 -5
  211. package/templates/nuxt/package.json +1 -2
  212. package/templates/react-router/alchemy.run.ts +1 -4
  213. package/templates/react-router/vite.config.ts +2 -2
  214. package/templates/rwsdk/alchemy.run.ts +0 -1
  215. package/templates/rwsdk/package.json +1 -3
  216. package/templates/rwsdk/vite.config.mts +2 -2
  217. package/templates/sveltekit/alchemy.run.ts +1 -3
  218. package/templates/sveltekit/package.json +1 -1
  219. package/templates/sveltekit/svelte.config.js +2 -2
  220. package/templates/tanstack-start/package.json +1 -1
  221. package/templates/tanstack-start/vite.config.ts +2 -2
  222. package/templates/typescript/package.json +1 -1
  223. package/templates/vite/alchemy.run.ts +1 -1
  224. package/templates/vite/package.json +1 -1
  225. package/templates/vite/vite.config.ts +4 -5
  226. package/workers/cloudflare-state-store.js +12 -14
  227. package/lib/cloudflare/astro.d.ts.map +0 -1
  228. package/lib/cloudflare/astro.js +0 -69
  229. package/lib/cloudflare/astro.js.map +0 -1
  230. package/lib/cloudflare/local-dev-cloudflare-shim.d.ts.map +0 -1
  231. package/lib/cloudflare/local-dev-cloudflare-shim.js.map +0 -1
  232. package/lib/cloudflare/nuxt.d.ts.map +0 -1
  233. package/lib/cloudflare/nuxt.js.map +0 -1
  234. package/lib/cloudflare/react-router.d.ts +0 -17
  235. package/lib/cloudflare/react-router.d.ts.map +0 -1
  236. package/lib/cloudflare/react-router.js +0 -35
  237. package/lib/cloudflare/react-router.js.map +0 -1
  238. package/lib/cloudflare/redwood.d.ts.map +0 -1
  239. package/lib/cloudflare/redwood.js.map +0 -1
  240. package/lib/cloudflare/sveltekit.d.ts.map +0 -1
  241. package/lib/cloudflare/sveltekit.js.map +0 -1
  242. package/lib/cloudflare/tanstack-start.d.ts.map +0 -1
  243. package/lib/cloudflare/tanstack-start.js +0 -21
  244. package/lib/cloudflare/tanstack-start.js.map +0 -1
  245. package/lib/cloudflare/vite.d.ts.map +0 -1
  246. package/lib/cloudflare/vite.js +0 -20
  247. package/lib/cloudflare/vite.js.map +0 -1
  248. package/src/cloudflare/react-router.ts +0 -56
  249. package/src/cloudflare/tanstack-start.ts +0 -35
  250. package/src/cloudflare/vite.ts +0 -35
  251. package/templates/react-router/wrangler.jsonc +0 -6
  252. package/templates/rwsdk/wrangler.jsonc +0 -31
  253. package/templates/sveltekit/wrangler.jsonc +0 -7
  254. package/templates/tanstack-start/wrangler.jsonc +0 -7
  255. package/templates/typescript/index.ts +0 -1
  256. package/templates/vite/wrangler.jsonc +0 -6
@@ -21,7 +21,7 @@ import { addGitHubWorkflowToAlchemy } from "../services/github-workflow.ts";
21
21
  import { installDependencies } from "../services/package-manager.ts";
22
22
  import { copyTemplate } from "../services/template-manager.ts";
23
23
  import { ensureVibeRulesPostinstall } from "../services/vibe-rules.ts";
24
- import { t } from "../trpc.ts";
24
+ import { ExitSignal, loggedProcedure } from "../trpc.ts";
25
25
  import type {
26
26
  CreateInput,
27
27
  EditorType,
@@ -38,9 +38,9 @@ import {
38
38
 
39
39
  const isTest = process.env.NODE_ENV === "test";
40
40
 
41
- export const create = t.procedure
41
+ export const create = loggedProcedure
42
42
  .meta({
43
- description: "Create a new Alchemy project",
43
+ description: "create a new alchemy project",
44
44
  negateBooleans: true,
45
45
  })
46
46
  .input(
@@ -48,26 +48,24 @@ export const create = t.procedure
48
48
  ProjectNameSchema.optional(),
49
49
  z.object({
50
50
  template: TemplateSchema.optional(),
51
- yes: z.boolean().optional().describe("Skip prompts and use defaults"),
51
+ yes: z.boolean().optional().describe("skip prompts and use defaults"),
52
52
  overwrite: z
53
53
  .boolean()
54
54
  .optional()
55
- .describe("Overwrite existing directory"),
55
+ .describe("overwrite existing directory"),
56
56
  install: z
57
57
  .boolean()
58
58
  .optional()
59
- .describe("Install dependencies after scaffolding"),
60
- pm: PackageManagerSchema.optional().describe(
61
- "Package manager to use (bun, npm, pnpm, yarn)",
62
- ),
59
+ .describe("install dependencies after scaffolding"),
60
+ pm: PackageManagerSchema.optional().describe("package manager to use"),
63
61
  vibeRules: EditorSchema.optional().describe(
64
- "Setup vibe-rules for the specified editor (cursor, windsurf, vscode, zed, claude-code, gemini, codex, amp, clinerules, roo, unified)",
62
+ "setup vibe-rules for the specified editor",
65
63
  ),
66
64
  githubActions: z
67
65
  .boolean()
68
66
  .optional()
69
- .describe("Setup GitHub Actions for PR previews"),
70
- git: z.boolean().optional().describe("Initialise a git repository"),
67
+ .describe("setup github actions for PR previews"),
68
+ git: z.boolean().optional().describe("initialise a git repository"),
71
69
  }),
72
70
  ]),
73
71
  )
@@ -150,7 +148,7 @@ async function getProjectName(options: CreateInput): Promise<string> {
150
148
 
151
149
  if (isCancel(nameResult)) {
152
150
  cancel(pc.red("Operation cancelled."));
153
- process.exit(0);
151
+ throw new ExitSignal(0);
154
152
  }
155
153
 
156
154
  return nameResult;
@@ -177,7 +175,7 @@ async function getSelectedTemplate(
177
175
 
178
176
  if (isCancel(templateResult)) {
179
177
  cancel(pc.red("Operation cancelled."));
180
- process.exit(0);
178
+ throw new ExitSignal(0);
181
179
  }
182
180
 
183
181
  return templateResult;
@@ -202,7 +200,7 @@ async function getInstallPreference(
202
200
 
203
201
  if (isCancel(installResult)) {
204
202
  cancel(pc.red("Operation cancelled."));
205
- process.exit(0);
203
+ throw new ExitSignal(0);
206
204
  }
207
205
 
208
206
  return installResult;
@@ -219,7 +217,7 @@ async function handleDirectoryOverwrite(
219
217
 
220
218
  if (!shouldOverwrite) {
221
219
  cancel(pc.red("Operation cancelled."));
222
- process.exit(0);
220
+ throw new ExitSignal(0);
223
221
  }
224
222
 
225
223
  await removeExistingDirectory(context);
@@ -240,7 +238,7 @@ async function getShouldOverwrite(context: ProjectContext): Promise<boolean> {
240
238
 
241
239
  if (isCancel(overwriteResult)) {
242
240
  cancel(pc.red("Operation cancelled."));
243
- process.exit(0);
241
+ throw new ExitSignal(0);
244
242
  }
245
243
 
246
244
  return overwriteResult;
@@ -6,11 +6,11 @@ import {
6
6
  force,
7
7
  watch,
8
8
  } from "../services/execute-alchemy.ts";
9
- import { t } from "../trpc.ts";
9
+ import { loggedProcedure } from "../trpc.ts";
10
10
 
11
- export const deploy = t.procedure
11
+ export const deploy = loggedProcedure
12
12
  .meta({
13
- description: "Deploy an Alchemy project",
13
+ description: "deploy an alchemy project",
14
14
  })
15
15
  .input(
16
16
  z.tuple([
@@ -4,11 +4,11 @@ import {
4
4
  execAlchemy,
5
5
  execArgs,
6
6
  } from "../services/execute-alchemy.ts";
7
- import { t } from "../trpc.ts";
7
+ import { loggedProcedure } from "../trpc.ts";
8
8
 
9
- export const destroy = t.procedure
9
+ export const destroy = loggedProcedure
10
10
  .meta({
11
- description: "Deploy an Alchemy project",
11
+ description: "deploy an alchemy project",
12
12
  })
13
13
  .input(z.tuple([entrypoint, z.object(execArgs)]))
14
14
  .mutation(async ({ input: [main, options] }) =>
@@ -5,12 +5,11 @@ import {
5
5
  execArgs,
6
6
  force,
7
7
  } from "../services/execute-alchemy.ts";
8
- import { t } from "../trpc.ts";
8
+ import { loggedProcedure } from "../trpc.ts";
9
9
 
10
- export const dev = t.procedure
10
+ export const dev = loggedProcedure
11
11
  .meta({
12
- description:
13
- "Run an Alchemy program in dev-mode (local simulation & hot reloading)",
12
+ description: "run alchemy in dev mode",
14
13
  })
15
14
  .input(
16
15
  z.tuple([
@@ -18,24 +18,24 @@ import { detectPackageManager } from "../../src/util/detect-package-manager.ts";
18
18
  import type { DependencyVersionMap } from "../constants.ts";
19
19
  import { throwWithContext } from "../errors.ts";
20
20
  import { addPackageDependencies } from "../services/dependencies.ts";
21
- import { t } from "../trpc.ts";
21
+ import { loggedProcedure, ExitSignal } from "../trpc.ts";
22
22
  import {
23
23
  TemplateSchema,
24
24
  type InitContext,
25
25
  type TemplateType,
26
26
  } from "../types.ts";
27
27
 
28
- export const init = t.procedure
28
+ export const init = loggedProcedure
29
29
  .meta({
30
- description: "Initialize Alchemy in an existing project",
30
+ description: "initialize alchemy in an existing project",
31
31
  })
32
32
  .input(
33
33
  z.tuple([
34
34
  z.object({
35
35
  framework: TemplateSchema.optional().describe(
36
- "Force a specific framework instead of auto-detection",
36
+ "force a specific framework instead of auto-detection",
37
37
  ),
38
- yes: z.boolean().optional().describe("Skip prompts and use defaults"),
38
+ yes: z.boolean().optional().describe("skip prompts and use defaults"),
39
39
  }),
40
40
  ]),
41
41
  )
@@ -49,7 +49,7 @@ export const init = t.procedure
49
49
  log.warn(
50
50
  "No package.json found. Please run in a project with package.json.",
51
51
  );
52
- process.exit(1);
52
+ throw new ExitSignal(1);
53
53
  }
54
54
 
55
55
  await checkExistingAlchemyFiles(context);
@@ -63,7 +63,7 @@ export const init = t.procedure
63
63
  displaySuccessMessage(context);
64
64
  } catch (_error) {
65
65
  console.error("Failed to initialize Alchemy:", _error);
66
- process.exit(1);
66
+ throw new ExitSignal(1);
67
67
  }
68
68
  });
69
69
 
@@ -184,7 +184,7 @@ async function detectFramework(
184
184
 
185
185
  if (isCancel(frameworkResult)) {
186
186
  cancel(pc.red("Operation cancelled."));
187
- process.exit(0);
187
+ throw new ExitSignal(0);
188
188
  }
189
189
 
190
190
  return frameworkResult as TemplateType;
@@ -227,7 +227,7 @@ async function checkExistingAlchemyFiles(context: InitContext): Promise<void> {
227
227
 
228
228
  if (isCancel(overwriteResult) || !overwriteResult) {
229
229
  cancel(pc.red("Operation cancelled."));
230
- process.exit(0);
230
+ throw new ExitSignal(0);
231
231
  }
232
232
  }
233
233
  }
@@ -3,11 +3,11 @@ import pc from "picocolors";
3
3
  import { zod as z } from "trpc-cli";
4
4
  import { DEFAULT_SCOPES, wranglerLogin } from "../../src/cloudflare/oauth.ts";
5
5
  import { throwWithContext } from "../errors.ts";
6
- import { t } from "../trpc.ts";
6
+ import { loggedProcedure, ExitSignal } from "../trpc.ts";
7
7
 
8
- export const login = t.procedure
8
+ export const login = loggedProcedure
9
9
  .meta({
10
- description: "Login to Cloudflare",
10
+ description: "login to Cloudflare",
11
11
  })
12
12
  .input(
13
13
  z.tuple([
@@ -16,13 +16,13 @@ export const login = t.procedure
16
16
  .array(z.string())
17
17
  .optional()
18
18
  .default([])
19
- .describe("Cloudflare OAuth scopes to authorize"),
19
+ .describe("cloudflare OAuth scopes to authorize"),
20
20
  defaultScopes: z
21
21
  .boolean()
22
22
  .optional()
23
23
  .default(true)
24
24
  .describe(
25
- "Whether to include the default Wrangler scopes when authenticating",
25
+ "whether to include the default Wrangler scopes when authenticating",
26
26
  ),
27
27
  }),
28
28
  ]),
@@ -58,6 +58,6 @@ export const login = t.procedure
58
58
  } else {
59
59
  log.error(pc.red(String(error)));
60
60
  }
61
- process.exit(1);
61
+ throw new ExitSignal(1);
62
62
  }
63
63
  });
@@ -5,12 +5,11 @@ import {
5
5
  execArgs,
6
6
  watch,
7
7
  } from "../services/execute-alchemy.ts";
8
- import { t } from "../trpc.ts";
8
+ import { loggedProcedure } from "../trpc.ts";
9
9
 
10
- export const run = t.procedure
10
+ export const run = loggedProcedure
11
11
  .meta({
12
- description:
13
- "Run an Alchemy program with read-only access to your infrastructure (no changes will be applied)",
12
+ description: "run alchemy in read-only mode",
14
13
  })
15
14
  .input(
16
15
  z.tuple([
package/bin/constants.ts CHANGED
@@ -15,7 +15,7 @@ export const dependencyVersionMap = {
15
15
  miniflare: "^4.20250617.3",
16
16
 
17
17
  // all vite templates
18
- "@cloudflare/workers-types": "^4.20250620.0",
18
+ "@cloudflare/workers-types": "^4.20250805.0",
19
19
  wrangler: "^4.20.5",
20
20
 
21
21
  // astro
@@ -6,13 +6,12 @@ import z from "zod";
6
6
  import { detectRuntime } from "../../src/util/detect-node-runtime.ts";
7
7
  import { detectPackageManager } from "../../src/util/detect-package-manager.ts";
8
8
  import { exists } from "../../src/util/exists.ts";
9
+ import { ExitSignal } from "../trpc.ts";
9
10
 
10
11
  export const entrypoint = z
11
12
  .string()
12
13
  .optional()
13
- .describe(
14
- "Path to the entrypoint file. Defaults to ./alchemy.run.ts > ./alchemy.run.js",
15
- );
14
+ .describe("Path to the entrypoint file");
16
15
 
17
16
  export const watch = z
18
17
  .boolean()
@@ -103,7 +102,7 @@ export async function execAlchemy(
103
102
  ),
104
103
  );
105
104
  log.info("Create an alchemy.run.ts file to define your infrastructure.");
106
- process.exit(1);
105
+ throw new ExitSignal(1);
107
106
  }
108
107
 
109
108
  // Detect package manager
@@ -160,7 +159,6 @@ export async function execAlchemy(
160
159
  FORCE_COLOR: "1",
161
160
  },
162
161
  });
163
- process.exit(0);
164
162
  } catch (error: any) {
165
163
  log.error(pc.red(`Deploy failed: ${error.message}`));
166
164
  if (error.stdout) {
@@ -169,6 +167,6 @@ export async function execAlchemy(
169
167
  if (error.stderr) {
170
168
  console.error(error.stderr);
171
169
  }
172
- process.exit(1);
170
+ throw error;
173
171
  }
174
172
  }
package/bin/trpc.ts CHANGED
@@ -1,3 +1,52 @@
1
1
  import { trpcServer } from "trpc-cli";
2
+ import { TelemetryClient } from "../src/util/telemetry/client.ts";
2
3
 
3
4
  export const t = trpcServer.initTRPC.create();
5
+
6
+ export class ExitSignal extends Error {
7
+ constructor(public code: 0 | 1 = 0) {
8
+ super(`Process exit with code ${code}`);
9
+ this.name = "ExitSignal";
10
+ }
11
+ }
12
+
13
+ const loggingMiddleware = t.middleware(async ({ path, next }) => {
14
+ const telemetry = TelemetryClient.create({
15
+ enabled: true,
16
+ quiet: true,
17
+ });
18
+ telemetry.record({
19
+ event: "cli.start",
20
+ command: path,
21
+ });
22
+ let exitCode = 0;
23
+
24
+ try {
25
+ const result = await next();
26
+ telemetry.record({
27
+ event: "cli.success",
28
+ command: path,
29
+ });
30
+ return result;
31
+ } catch (error) {
32
+ telemetry.record({
33
+ event:
34
+ error instanceof ExitSignal && error.code === 0
35
+ ? "cli.success"
36
+ : "cli.error",
37
+ command: path,
38
+ });
39
+ if (error instanceof ExitSignal) {
40
+ exitCode = error.code;
41
+ } else {
42
+ throw error;
43
+ }
44
+ } finally {
45
+ await telemetry.finalize();
46
+ //* this is a node issue https://github.com/nodejs/node/issues/56645
47
+ await new Promise((resolve) => setTimeout(resolve, 100));
48
+ process.exit(exitCode);
49
+ }
50
+ });
51
+
52
+ export const loggedProcedure = t.procedure.use(loggingMiddleware);
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAC;AAO1D,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,KAAK,CAAC,GAAG,SAAS,QAAQ,EACxC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,EAC9B,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAEvB;AAED,qBAAa,cAAe,SAAQ,KAAK;IAChC,KAAK,EAAE,OAAO,CAAC;gBAEV,KAAK,CAAC,EAAE,OAAO;CAI5B"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAC;AAM1D,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,KAAK,CAAC,GAAG,SAAS,QAAQ,EACxC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,EAC9B,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAEvB;AAED,qBAAa,cAAe,SAAQ,KAAK;IAChC,KAAK,EAAE,OAAO,CAAC;gBAEV,KAAK,CAAC,EAAE,OAAO;CAI5B"}
package/lib/apply.js CHANGED
@@ -22,7 +22,7 @@ async function _apply(resource, props, options) {
22
22
  try {
23
23
  const quiet = props?.quiet ?? scope.quiet;
24
24
  await scope.init();
25
- let state = (await scope.state.get(resource[ResourceID]));
25
+ let state = await scope.state.get(resource[ResourceID]);
26
26
  const provider = PROVIDERS.get(resource[ResourceKind]);
27
27
  if (provider === undefined) {
28
28
  throw new Error(`Provider "${resource[ResourceKind]}" not found`);
@@ -208,17 +208,16 @@ async function _apply(resource, props, options) {
208
208
  elapsed: performance.now() - start,
209
209
  replaced: isReplaced,
210
210
  });
211
- state = (await scope.state.get(resource[ResourceID]));
211
+ state = await scope.state.get(resource[ResourceID]);
212
212
  await scope.state.set(resource[ResourceID], {
213
213
  kind: resource[ResourceKind],
214
214
  id: resource[ResourceID],
215
215
  fqn: resource[ResourceFQN],
216
216
  seq: resource[ResourceSeq],
217
- data: state.data,
217
+ data: state?.data ?? {}, // TODO: this used to be force-unwrapped but that was crashing for me - is this change ok?
218
218
  status,
219
219
  output,
220
220
  props,
221
- // deps: [...deps],
222
221
  });
223
222
  return output;
224
223
  }
package/lib/apply.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
@@ -80,15 +80,16 @@ async function getFilesRecursively(dir, ignoreMatcher) {
80
80
  const files = await fs.readdir(dir, { withFileTypes: true });
81
81
  const result = [];
82
82
  await Promise.all(files.map(async (file) => {
83
- const path = `${dir}/${file.name}`;
83
+ const filePath = path.join(dir, file.name);
84
84
  if (ignoreMatcher.ignores(file.name)) {
85
85
  return;
86
86
  }
87
- if (file.isDirectory()) {
88
- result.push(...(await getFilesRecursively(path, ignoreMatcher)));
87
+ if (file.isDirectory() ||
88
+ (file.isSymbolicLink() && (await fs.stat(filePath)).isDirectory())) {
89
+ result.push(...(await getFilesRecursively(filePath, ignoreMatcher)));
89
90
  }
90
91
  else {
91
- result.push(path);
92
+ result.push(filePath);
92
93
  }
93
94
  }));
94
95
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/cloudflare/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/cloudflare/assets.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import type { Assets } from "./assets.ts";
2
- import type { Bindings } from "./bindings.ts";
3
- import type { WebsiteProps } from "./website.ts";
4
- import type { Worker } from "./worker.ts";
1
+ import type { Assets } from "../assets.ts";
2
+ import type { Bindings } from "../bindings.ts";
3
+ import { type WebsiteProps } from "../website.ts";
4
+ import type { Worker } from "../worker.ts";
5
5
  /**
6
6
  * Properties for creating an Astro resource.
7
7
  * Extends WebsiteProps, allowing customization of the underlying Website.
8
8
  */
9
- export interface AstroProps<B extends Bindings> extends WebsiteProps<B> {
9
+ export interface AstroProps<B extends Bindings> extends Omit<WebsiteProps<B>, "spa"> {
10
+ output?: "server" | "static";
10
11
  }
11
12
  /**
12
13
  * Represents the output of an Astro resource deployment.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astro.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/astro/astro.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ,CAC5C,SAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC7D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,KAAK,CAAC,CAAC,SAAS,QAAQ,EAC5C,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,UAAU,CAAC,CAAC,CAAM,GACxB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAcnB"}
@@ -0,0 +1,91 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import { join, resolve } from "node:path";
10
+ import { getPackageManagerRunner } from "../../util/detect-package-manager.js";
11
+ import { Website } from "../website.js";
12
+ /**
13
+ * Creates and deploys an Astro application using the Cloudflare adapter.
14
+ *
15
+ * This resource simplifies deploying Astro applications by providing sensible
16
+ * defaults for the build command, main entrypoint, and assets directory
17
+ * based on the `@astrojs/cloudflare` adapter output.
18
+ *
19
+ * It wraps the underlying `Website` resource.
20
+ *
21
+ * @param id A unique identifier for the resource.
22
+ * @param props Configuration options for the Astro deployment, overriding defaults.
23
+ * @returns A promise that resolves to the deployed Cloudflare Worker details.
24
+ *
25
+ * @example
26
+ * ## Deploy a basic Astro site with default settings
27
+ *
28
+ * Deploy an Astro application with minimal configuration using default build settings.
29
+ *
30
+ * ```ts
31
+ * import { Astro } from "alchemy/cloudflare";
32
+ *
33
+ * const astroSite = await Astro("my-astro-app");
34
+ * ```
35
+ *
36
+ * @example
37
+ * ## Deploy with custom bindings and build command
38
+ *
39
+ * Deploy an Astro application with custom Cloudflare bindings and build configuration.
40
+ *
41
+ * ```ts
42
+ * import { Astro, D1Database } from "alchemy/cloudflare";
43
+ *
44
+ * const db = await D1Database("my-db");
45
+ * const astroSiteWithDb = await Astro("my-astro-app-with-db", {
46
+ * command: "npm run build", // Specify a custom build command
47
+ * bindings: {
48
+ * DB: db, // Add custom bindings
49
+ * },
50
+ * });
51
+ * ```
52
+ */
53
+ export async function Astro(id, props = {}) {
54
+ const cwd = resolve(props.cwd ?? process.cwd());
55
+ const output = props.output ?? (await resolveOutputType(cwd));
56
+ const runner = await getPackageManagerRunner();
57
+ return await Website(id, {
58
+ ...props,
59
+ noBundle: props.noBundle ?? true,
60
+ build: props.build ?? `${runner} astro build`,
61
+ dev: props.dev ?? `${runner} astro dev`,
62
+ entrypoint: props.entrypoint ??
63
+ (output === "server" ? "dist/_worker.js/index.js" : undefined),
64
+ assets: props.assets ?? "dist",
65
+ });
66
+ }
67
+ async function resolveOutputType(cwd) {
68
+ const candidates = [
69
+ "astro.config.mjs",
70
+ "astro.config.js",
71
+ "astro.config.ts",
72
+ "astro.config.mts",
73
+ ];
74
+ for (const candidate of candidates) {
75
+ try {
76
+ const config = await import(__rewriteRelativeImportExtension(join(cwd, candidate)));
77
+ if (typeof config.default === "object" &&
78
+ config.default &&
79
+ "output" in config.default &&
80
+ typeof config.default.output === "string") {
81
+ return config.default.output;
82
+ }
83
+ return "static";
84
+ }
85
+ catch {
86
+ // ignore
87
+ }
88
+ }
89
+ return "static";
90
+ }
91
+ //# sourceMappingURL=astro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astro.js","sourceRoot":"","sources":["../../../src/cloudflare/astro/astro.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,OAAO,EAAqB,MAAM,eAAe,CAAC;AAqB3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,EAAU,EACV,QAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC/C,OAAO,MAAM,OAAO,CAAC,EAAE,EAAE;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,cAAc;QAC7C,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,YAAY;QACvC,UAAU,EACR,KAAK,CAAC,UAAU;YAChB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,UAAU,GAAG;QACjB,kBAAkB;QAClB,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;KACnB,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,kCAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAC,CAAC;YAClD,IACE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAClC,MAAM,CAAC,OAAO;gBACd,QAAQ,IAAI,MAAM,CAAC,OAAO;gBAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EACzC,CAAC;gBACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type Options } from "@astrojs/cloudflare";
2
+ declare const alchemy: (options?: Options) => import("astro").AstroIntegration;
3
+ export default alchemy;
4
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/astro/plugin.ts"],"names":[],"mappings":"AAAA,OAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG/D,QAAA,MAAM,OAAO,GAAI,UAAU,OAAO,qCAKjC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,10 @@
1
+ import cloudflare, {} from "@astrojs/cloudflare";
2
+ import { getPlatformProxyOptions } from "../cloudflare-env-proxy.js";
3
+ const alchemy = (options) => {
4
+ return cloudflare({
5
+ platformProxy: getPlatformProxyOptions(options?.platformProxy),
6
+ ...options,
7
+ });
8
+ };
9
+ export default alchemy;
10
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cloudflare/astro/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAgB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE;IACpC,OAAO,UAAU,CAAC;QAChB,aAAa,EAAE,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9D,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { GetPlatformProxyOptions } from "wrangler";
2
+ export declare const getCloudflareEnvProxy: <E>(options?: GetPlatformProxyOptions) => Promise<E>;
3
+ export declare const getPlatformProxyOptions: (input?: GetPlatformProxyOptions) => GetPlatformProxyOptions;
4
+ //# sourceMappingURL=cloudflare-env-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-env-proxy.d.ts","sourceRoot":"","sources":["../../src/cloudflare/cloudflare-env-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAQxD,eAAO,MAAM,qBAAqB,GAAU,CAAC,EAC3C,UAAS,uBAA4B,eAMtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAO,uBAA4B,KAClC,uBA4BF,CAAC"}