alchemy 0.20.1 → 0.22.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 (323) hide show
  1. package/lib/ai/astro-file.d.ts +4 -4
  2. package/lib/ai/client.d.ts +1 -1
  3. package/lib/ai/css-file.d.ts +4 -4
  4. package/lib/ai/data.d.ts +4 -4
  5. package/lib/ai/document.d.ts +5 -5
  6. package/lib/ai/html-file.d.ts +4 -4
  7. package/lib/ai/index.d.ts +10 -10
  8. package/lib/ai/json-file.d.ts +4 -4
  9. package/lib/ai/typescript-file.d.ts +4 -4
  10. package/lib/ai/vue-file.d.ts +4 -4
  11. package/lib/ai/yaml-file.d.ts +4 -4
  12. package/lib/alchemy.d.ts +5 -5
  13. package/lib/apply.d.ts +2 -2
  14. package/lib/aws/bucket.d.ts +2 -2
  15. package/lib/aws/control/error.d.ts +1 -1
  16. package/lib/aws/control/index.d.ts +4 -4
  17. package/lib/aws/control/resource.d.ts +2 -2
  18. package/lib/aws/credentials.d.ts +1 -1
  19. package/lib/aws/function.d.ts +3 -3
  20. package/lib/aws/index.d.ts +9 -9
  21. package/lib/aws/oidc/github-oidc-provider.d.ts +1 -1
  22. package/lib/aws/oidc/index.d.ts +2 -2
  23. package/lib/aws/oidc/oidc-provider.d.ts +2 -2
  24. package/lib/aws/policy-attachment.d.ts +2 -2
  25. package/lib/aws/policy.d.ts +2 -2
  26. package/lib/aws/queue.d.ts +2 -2
  27. package/lib/aws/role.d.ts +3 -3
  28. package/lib/aws/ses.d.ts +2 -2
  29. package/lib/aws/table.d.ts +2 -2
  30. package/lib/cloudflare/account-api-token.d.ts +5 -5
  31. package/lib/cloudflare/account-id.d.ts +1 -1
  32. package/lib/cloudflare/ai-gateway.d.ts +3 -3
  33. package/lib/cloudflare/api.d.ts +2 -2
  34. package/lib/cloudflare/assets.d.ts +2 -2
  35. package/lib/cloudflare/auth.d.ts +1 -1
  36. package/lib/cloudflare/bindings.d.ts +18 -18
  37. package/lib/cloudflare/bound.d.ts +19 -16
  38. package/lib/cloudflare/bound.d.ts.map +1 -1
  39. package/lib/cloudflare/bucket.d.ts +4 -4
  40. package/lib/cloudflare/bundle/bundle-worker.d.ts +2 -2
  41. package/lib/cloudflare/custom-domain.d.ts +3 -3
  42. package/lib/cloudflare/custom-domain.js.map +1 -1
  43. package/lib/cloudflare/d1-clone.d.ts +3 -3
  44. package/lib/cloudflare/d1-database.d.ts +3 -3
  45. package/lib/cloudflare/d1-export.d.ts +1 -1
  46. package/lib/cloudflare/d1-import.d.ts +1 -1
  47. package/lib/cloudflare/d1-migrations.d.ts +1 -1
  48. package/lib/cloudflare/dns-records.d.ts +4 -4
  49. package/lib/cloudflare/durable-object-namespace.d.ts +1 -1
  50. package/lib/cloudflare/event-source.d.ts +2 -2
  51. package/lib/cloudflare/hyperdrive.d.ts +4 -4
  52. package/lib/cloudflare/index.d.ts +40 -39
  53. package/lib/cloudflare/index.d.ts.map +1 -1
  54. package/lib/cloudflare/index.js +1 -0
  55. package/lib/cloudflare/index.js.map +1 -1
  56. package/lib/cloudflare/kv-namespace.d.ts +3 -3
  57. package/lib/cloudflare/nuxt.d.ts +4 -4
  58. package/lib/cloudflare/nuxt.d.ts.map +1 -1
  59. package/lib/cloudflare/nuxt.js +2 -1
  60. package/lib/cloudflare/nuxt.js.map +1 -1
  61. package/lib/cloudflare/permission-groups.d.ts +3 -3
  62. package/lib/cloudflare/pipeline.d.ts +4 -4
  63. package/lib/cloudflare/queue-consumer.d.ts +4 -4
  64. package/lib/cloudflare/queue.d.ts +3 -3
  65. package/lib/cloudflare/r2-rest-state-store.d.ts +3 -3
  66. package/lib/cloudflare/react-router.d.ts +13 -0
  67. package/lib/cloudflare/react-router.d.ts.map +1 -0
  68. package/lib/cloudflare/react-router.js +29 -0
  69. package/lib/cloudflare/react-router.js.map +1 -0
  70. package/lib/cloudflare/redwood.d.ts +4 -4
  71. package/lib/cloudflare/route.d.ts +4 -4
  72. package/lib/cloudflare/tanstack-start.d.ts +4 -4
  73. package/lib/cloudflare/user.d.ts +2 -2
  74. package/lib/cloudflare/vectorize-index.d.ts +3 -3
  75. package/lib/cloudflare/vectorize-metadata-index.d.ts +4 -4
  76. package/lib/cloudflare/vite.d.ts +4 -4
  77. package/lib/cloudflare/website.d.ts +3 -3
  78. package/lib/cloudflare/website.d.ts.map +1 -1
  79. package/lib/cloudflare/website.js +30 -35
  80. package/lib/cloudflare/website.js.map +1 -1
  81. package/lib/cloudflare/worker-assets.d.ts +3 -3
  82. package/lib/cloudflare/worker-metadata.d.ts +6 -6
  83. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  84. package/lib/cloudflare/worker-metadata.js +110 -26
  85. package/lib/cloudflare/worker-metadata.js.map +1 -1
  86. package/lib/cloudflare/worker-stub.d.ts +3 -3
  87. package/lib/cloudflare/worker.d.ts +26 -17
  88. package/lib/cloudflare/worker.d.ts.map +1 -1
  89. package/lib/cloudflare/worker.js +21 -16
  90. package/lib/cloudflare/worker.js.map +1 -1
  91. package/lib/cloudflare/workflow.d.ts +3 -1
  92. package/lib/cloudflare/workflow.d.ts.map +1 -1
  93. package/lib/cloudflare/workflow.js +3 -0
  94. package/lib/cloudflare/workflow.js.map +1 -1
  95. package/lib/cloudflare/wrangler.json.d.ts +13 -2
  96. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  97. package/lib/cloudflare/wrangler.json.js +5 -0
  98. package/lib/cloudflare/wrangler.json.js.map +1 -1
  99. package/lib/cloudflare/zone.d.ts +4 -4
  100. package/lib/context.d.ts +3 -3
  101. package/lib/destroy.d.ts +2 -2
  102. package/lib/dns/import-dns.d.ts +3 -3
  103. package/lib/dns/index.d.ts +2 -2
  104. package/lib/esbuild/bundle.d.ts +2 -2
  105. package/lib/esbuild/index.d.ts +1 -1
  106. package/lib/fs/copy-file.d.ts +2 -2
  107. package/lib/fs/file-system-state-store.d.ts +2 -2
  108. package/lib/fs/file.d.ts +5 -5
  109. package/lib/fs/folder.d.ts +2 -2
  110. package/lib/fs/index.d.ts +14 -14
  111. package/lib/fs/static-astro-file.d.ts +1 -1
  112. package/lib/fs/static-css-file.d.ts +1 -1
  113. package/lib/fs/static-html-file.d.ts +1 -1
  114. package/lib/fs/static-json-file.d.ts +1 -1
  115. package/lib/fs/static-text-file.d.ts +1 -1
  116. package/lib/fs/static-typescript-file.d.ts +1 -1
  117. package/lib/fs/static-vue-file.d.ts +1 -1
  118. package/lib/fs/static-yaml-file.d.ts +1 -1
  119. package/lib/github/index.d.ts +2 -2
  120. package/lib/github/repository-environment.d.ts +2 -2
  121. package/lib/github/secret.d.ts +3 -3
  122. package/lib/index.d.ts +10 -9
  123. package/lib/index.d.ts.map +1 -1
  124. package/lib/index.js +1 -0
  125. package/lib/index.js.map +1 -1
  126. package/lib/internal/docs/providers.d.ts +2 -2
  127. package/lib/neon/api.d.ts +1 -1
  128. package/lib/neon/index.d.ts +3 -3
  129. package/lib/neon/project.d.ts +4 -4
  130. package/lib/os/exec.d.ts +2 -2
  131. package/lib/os/index.d.ts +1 -1
  132. package/lib/resource.d.ts +2 -2
  133. package/lib/runtime/bind.d.ts +3 -3
  134. package/lib/runtime/global.d.ts +1 -1
  135. package/lib/runtime/state.d.ts +1 -1
  136. package/lib/scope.d.ts +3 -3
  137. package/lib/sentry/api.d.ts +1 -1
  138. package/lib/sentry/client-key.d.ts +3 -3
  139. package/lib/sentry/index.d.ts +4 -4
  140. package/lib/sentry/project.d.ts +3 -3
  141. package/lib/sentry/team.d.ts +3 -3
  142. package/lib/serde.d.ts +3 -3
  143. package/lib/state.d.ts +2 -2
  144. package/lib/stripe/index.d.ts +4 -4
  145. package/lib/stripe/index.d.ts.map +1 -1
  146. package/lib/stripe/index.js +1 -1
  147. package/lib/stripe/index.js.map +1 -1
  148. package/lib/stripe/meter.d.ts +2 -2
  149. package/lib/stripe/price.d.ts +2 -2
  150. package/lib/stripe/product.d.ts +2 -2
  151. package/lib/stripe/webhook.d.ts +2 -2
  152. package/lib/test/bun.d.ts +3 -3
  153. package/lib/type.d.ts +6 -0
  154. package/lib/type.d.ts.map +1 -0
  155. package/lib/type.js +7 -0
  156. package/lib/type.js.map +1 -0
  157. package/lib/upstash/api.d.ts +1 -1
  158. package/lib/upstash/index.d.ts +3 -3
  159. package/lib/upstash/redis.d.ts +4 -4
  160. package/lib/vercel/api.d.ts +1 -1
  161. package/lib/vercel/index.d.ts +3 -3
  162. package/lib/vercel/project-domain.d.ts +3 -3
  163. package/lib/vercel/project.d.ts +4 -4
  164. package/lib/web/astro.d.ts +2 -2
  165. package/lib/web/shadcn-component.d.ts +2 -2
  166. package/lib/web/shadcn.d.ts +3 -3
  167. package/lib/web/tailwind.d.ts +2 -2
  168. package/lib/web/vite.d.ts +2 -2
  169. package/lib/web/vitepress/config.d.ts +1 -1
  170. package/lib/web/vitepress/custom-theme.d.ts +4 -4
  171. package/lib/web/vitepress/dependencies.d.ts +2 -2
  172. package/lib/web/vitepress/home-page.d.ts +3 -3
  173. package/lib/web/vitepress/index.d.ts +5 -5
  174. package/lib/web/vitepress/vitepress.d.ts +2 -2
  175. package/package.json +7 -7
  176. package/src/ai/astro-file.ts +5 -5
  177. package/src/ai/client.ts +1 -1
  178. package/src/ai/css-file.ts +5 -5
  179. package/src/ai/data.ts +5 -5
  180. package/src/ai/document.ts +5 -5
  181. package/src/ai/html-file.ts +5 -5
  182. package/src/ai/index.ts +10 -10
  183. package/src/ai/json-file.ts +6 -6
  184. package/src/ai/typescript-file.ts +5 -5
  185. package/src/ai/vue-file.ts +5 -5
  186. package/src/ai/yaml-file.ts +6 -6
  187. package/src/alchemy.ts +9 -9
  188. package/src/apply.ts +6 -6
  189. package/src/aws/bucket.ts +3 -3
  190. package/src/aws/control/client.ts +1 -1
  191. package/src/aws/control/error.ts +1 -1
  192. package/src/aws/control/index.ts +4 -4
  193. package/src/aws/control/proxy.ts +1 -1
  194. package/src/aws/control/resource.ts +5 -5
  195. package/src/aws/credentials.ts +1 -1
  196. package/src/aws/function.ts +4 -4
  197. package/src/aws/index.ts +9 -9
  198. package/src/aws/oidc/github-oidc-provider.ts +1 -1
  199. package/src/aws/oidc/index.ts +2 -2
  200. package/src/aws/oidc/oidc-provider.ts +3 -3
  201. package/src/aws/policy-attachment.ts +3 -3
  202. package/src/aws/policy.ts +2 -2
  203. package/src/aws/queue.ts +2 -2
  204. package/src/aws/role.ts +4 -4
  205. package/src/aws/ses.ts +3 -3
  206. package/src/aws/table.ts +4 -4
  207. package/src/cloudflare/account-api-token.ts +7 -7
  208. package/src/cloudflare/account-id.ts +1 -1
  209. package/src/cloudflare/ai-gateway.ts +6 -6
  210. package/src/cloudflare/api.ts +5 -5
  211. package/src/cloudflare/assets.ts +3 -3
  212. package/src/cloudflare/auth.ts +1 -1
  213. package/src/cloudflare/bindings.ts +18 -18
  214. package/src/cloudflare/bound.ts +60 -50
  215. package/src/cloudflare/bucket.ts +7 -7
  216. package/src/cloudflare/bundle/bundle-worker.ts +8 -8
  217. package/src/cloudflare/bundle/local-dev-cloudflare-shim.ts +1 -1
  218. package/src/cloudflare/bundle/nodejs-compat.ts +1 -1
  219. package/src/cloudflare/custom-domain.ts +5 -5
  220. package/src/cloudflare/d1-clone.ts +3 -3
  221. package/src/cloudflare/d1-database.ts +7 -7
  222. package/src/cloudflare/d1-export.ts +1 -1
  223. package/src/cloudflare/d1-import.ts +1 -1
  224. package/src/cloudflare/d1-migrations.ts +2 -2
  225. package/src/cloudflare/dns-records.ts +5 -5
  226. package/src/cloudflare/durable-object-namespace.ts +1 -1
  227. package/src/cloudflare/event-source.ts +2 -2
  228. package/src/cloudflare/hyperdrive.ts +7 -7
  229. package/src/cloudflare/index.ts +40 -39
  230. package/src/cloudflare/kv-namespace.ts +7 -7
  231. package/src/cloudflare/nuxt.ts +6 -5
  232. package/src/cloudflare/permission-groups.ts +3 -3
  233. package/src/cloudflare/pipeline.ts +7 -7
  234. package/src/cloudflare/queue-consumer.ts +5 -5
  235. package/src/cloudflare/queue.ts +6 -6
  236. package/src/cloudflare/r2-rest-state-store.ts +8 -8
  237. package/src/cloudflare/react-router.ts +45 -0
  238. package/src/cloudflare/redwood.ts +4 -4
  239. package/src/cloudflare/route.ts +5 -5
  240. package/src/cloudflare/tanstack-start.ts +4 -4
  241. package/src/cloudflare/user.ts +3 -3
  242. package/src/cloudflare/vectorize-index.ts +6 -6
  243. package/src/cloudflare/vectorize-metadata-index.ts +5 -5
  244. package/src/cloudflare/vite.ts +4 -4
  245. package/src/cloudflare/website.ts +42 -48
  246. package/src/cloudflare/worker-assets.ts +4 -4
  247. package/src/cloudflare/worker-metadata.ts +134 -43
  248. package/src/cloudflare/worker-stub.ts +4 -4
  249. package/src/cloudflare/worker.ts +169 -124
  250. package/src/cloudflare/workflow.ts +7 -2
  251. package/src/cloudflare/wrangler.json.ts +21 -2
  252. package/src/cloudflare/zone.ts +5 -5
  253. package/src/context.ts +4 -4
  254. package/src/destroy.ts +4 -4
  255. package/src/dns/import-dns.ts +3 -3
  256. package/src/dns/index.ts +2 -2
  257. package/src/esbuild/bundle.ts +2 -2
  258. package/src/esbuild/index.ts +1 -1
  259. package/src/fs/copy-file.ts +3 -3
  260. package/src/fs/file-system-state-store.ts +5 -5
  261. package/src/fs/file.ts +7 -7
  262. package/src/fs/folder.ts +3 -3
  263. package/src/fs/index.ts +14 -14
  264. package/src/fs/static-astro-file.ts +1 -1
  265. package/src/fs/static-css-file.ts +1 -1
  266. package/src/fs/static-html-file.ts +1 -1
  267. package/src/fs/static-json-file.ts +1 -1
  268. package/src/fs/static-text-file.ts +1 -1
  269. package/src/fs/static-typescript-file.ts +1 -1
  270. package/src/fs/static-vue-file.ts +1 -1
  271. package/src/fs/static-yaml-file.ts +1 -1
  272. package/src/github/index.ts +2 -2
  273. package/src/github/repository-environment.ts +3 -3
  274. package/src/github/secret.ts +4 -4
  275. package/src/index.ts +10 -9
  276. package/src/internal/docs/providers.ts +4 -4
  277. package/src/neon/api.ts +2 -2
  278. package/src/neon/index.ts +3 -3
  279. package/src/neon/project.ts +6 -6
  280. package/src/os/exec.ts +2 -2
  281. package/src/os/index.ts +1 -1
  282. package/src/resource.ts +3 -3
  283. package/src/runtime/bind.ts +7 -7
  284. package/src/runtime/global.ts +1 -1
  285. package/src/runtime/state.ts +1 -1
  286. package/src/scope.ts +5 -5
  287. package/src/secret.ts +1 -1
  288. package/src/sentry/api.ts +2 -2
  289. package/src/sentry/client-key.ts +4 -4
  290. package/src/sentry/index.ts +4 -4
  291. package/src/sentry/project.ts +4 -4
  292. package/src/sentry/team.ts +4 -4
  293. package/src/serde.ts +4 -4
  294. package/src/state.ts +3 -3
  295. package/src/stripe/index.ts +4 -4
  296. package/src/stripe/meter.ts +2 -2
  297. package/src/stripe/price.ts +2 -2
  298. package/src/stripe/product.ts +2 -2
  299. package/src/stripe/webhook.ts +2 -2
  300. package/src/test/bun.ts +5 -5
  301. package/src/type.ts +9 -0
  302. package/src/upstash/api.ts +1 -1
  303. package/src/upstash/index.ts +3 -3
  304. package/src/upstash/redis.ts +6 -6
  305. package/src/vercel/api.ts +2 -2
  306. package/src/vercel/index.ts +3 -3
  307. package/src/vercel/project-domain.ts +4 -4
  308. package/src/vercel/project.ts +4 -4
  309. package/src/web/astro.ts +7 -7
  310. package/src/web/shadcn-component.ts +3 -3
  311. package/src/web/shadcn.ts +6 -6
  312. package/src/web/tailwind.ts +4 -4
  313. package/src/web/vite.ts +8 -8
  314. package/src/web/vitepress/config.ts +1 -1
  315. package/src/web/vitepress/custom-theme.ts +10 -10
  316. package/src/web/vitepress/dependencies.ts +2 -2
  317. package/src/web/vitepress/home-page.ts +4 -4
  318. package/src/web/vitepress/index.ts +5 -5
  319. package/src/web/vitepress/vitepress.ts +7 -7
  320. package/lib/runtime/shims.d.ts +0 -6
  321. package/lib/runtime/shims.d.ts.map +0 -1
  322. package/lib/runtime/shims.js +0 -27
  323. package/lib/runtime/shims.js.map +0 -1
@@ -7,7 +7,7 @@ import type { DurableObjectNamespace } from "./durable-object-namespace.js";
7
7
  import type { EventSource } from "./event-source.js";
8
8
  import { isQueueEventSource } from "./event-source.js";
9
9
  import { isQueue } from "./queue.js";
10
- import type { Worker } from "./worker.js";
10
+ import type { Worker, WorkerProps } from "./worker.js";
11
11
 
12
12
  /**
13
13
  * Properties for wrangler.json configuration file
@@ -17,7 +17,11 @@ export interface WranglerJsonProps {
17
17
  /**
18
18
  * The worker to generate the wrangler.json file for
19
19
  */
20
- worker: Worker;
20
+ worker:
21
+ | Worker
22
+ | (WorkerProps<any> & {
23
+ name: string;
24
+ });
21
25
  /**
22
26
  * Path to write the wrangler.json file to
23
27
  *
@@ -31,6 +35,16 @@ export interface WranglerJsonProps {
31
35
  * @default worker.entrypoint
32
36
  */
33
37
  main?: string;
38
+
39
+ /**
40
+ * Path to the assets directory
41
+ *
42
+ * @default inferred from the worker's Asset bindings
43
+ */
44
+ assets?: {
45
+ binding: string;
46
+ directory: string;
47
+ };
34
48
  }
35
49
 
36
50
  /**
@@ -92,6 +106,7 @@ export const WranglerJson = Resource(
92
106
  // see: https://developers.cloudflare.com/workers/configuration/compatibility-dates/
93
107
  compatibility_date: worker.compatibilityDate,
94
108
  compatibility_flags: props.worker.compatibilityFlags,
109
+ assets: props.assets,
95
110
  };
96
111
 
97
112
  // Process bindings if they exist
@@ -393,6 +408,10 @@ function processBindings(
393
408
  }
394
409
  // Process each binding
395
410
  for (const [bindingName, binding] of Object.entries(bindings)) {
411
+ if (typeof binding === "function") {
412
+ // this is only reachable in the
413
+ throw new Error(`Invalid binding ${bindingName} is a function`);
414
+ }
396
415
  if (typeof binding === "string") {
397
416
  // Plain text binding - add to vars
398
417
  if (!spec.vars) {
@@ -1,7 +1,7 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import { handleApiError } from "./api-error.js";
4
- import { createCloudflareApi, type CloudflareApiOptions } from "./api.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import { handleApiError } from "./api-error.ts";
4
+ import { createCloudflareApi, type CloudflareApiOptions } from "./api.ts";
5
5
  import type {
6
6
  AlwaysUseHTTPSValue,
7
7
  AutomaticHTTPSRewritesValue,
@@ -20,7 +20,7 @@ import type {
20
20
  UpdateZoneSettingParams,
21
21
  WebSocketsValue,
22
22
  ZeroRTTValue,
23
- } from "./zone-settings.js";
23
+ } from "./zone-settings.ts";
24
24
 
25
25
  /**
26
26
  * Properties for creating or updating a Zone
package/src/context.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DestroyedSignal } from "./destroy.js";
1
+ import { DestroyedSignal } from "./destroy.ts";
2
2
  import {
3
3
  ResourceFQN,
4
4
  ResourceID,
@@ -7,9 +7,9 @@ import {
7
7
  ResourceSeq,
8
8
  type Resource,
9
9
  type ResourceProps,
10
- } from "./resource.js";
11
- import type { Scope } from "./scope.js";
12
- import type { State } from "./state.js";
10
+ } from "./resource.ts";
11
+ import type { Scope } from "./scope.ts";
12
+ import type { State } from "./state.ts";
13
13
 
14
14
  export type Context<
15
15
  Out extends Resource,
package/src/destroy.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { alchemy } from "./alchemy.js";
2
- import { context } from "./context.js";
1
+ import { alchemy } from "./alchemy.ts";
2
+ import { context } from "./context.ts";
3
3
  import {
4
4
  resolveDeletionHandler,
5
5
  type Resource,
@@ -8,8 +8,8 @@ import {
8
8
  ResourceKind,
9
9
  ResourceScope,
10
10
  ResourceSeq,
11
- } from "./resource.js";
12
- import { Scope } from "./scope.js";
11
+ } from "./resource.ts";
12
+ import { Scope } from "./scope.ts";
13
13
 
14
14
  export class DestroyedSignal extends Error {}
15
15
 
@@ -1,6 +1,6 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import { DEFAULT_RECORD_TYPES, type DnsRecordType } from "./record.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import { DEFAULT_RECORD_TYPES, type DnsRecordType } from "./record.ts";
4
4
 
5
5
  /**
6
6
  * DNS record response structure from Cloudflare DNS API
package/src/dns/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./import-dns.js";
2
- export * from "./record.js";
1
+ export * from "./import-dns.ts";
2
+ export * from "./record.ts";
@@ -2,8 +2,8 @@ import type esbuild from "esbuild";
2
2
  import crypto from "node:crypto";
3
3
  import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
- import type { Context } from "../context.js";
6
- import { Resource } from "../resource.js";
5
+ import type { Context } from "../context.ts";
6
+ import { Resource } from "../resource.ts";
7
7
 
8
8
  /**
9
9
  * Properties for creating or updating an esbuild bundle
@@ -1 +1 @@
1
- export * from "./bundle.js";
1
+ export * from "./bundle.ts";
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import { ignore } from "../util/ignore.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import { ignore } from "../util/ignore.ts";
5
5
 
6
6
  /**
7
7
  * Properties for creating a CopyFile resource
@@ -1,10 +1,10 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { ResourceScope } from "../resource.js";
4
- import type { Scope } from "../scope.js";
5
- import { serialize } from "../serde.js";
6
- import { deserializeState, type State, type StateStore } from "../state.js";
7
- import { ignore } from "../util/ignore.js";
3
+ import { ResourceScope } from "../resource.ts";
4
+ import type { Scope } from "../scope.ts";
5
+ import { serialize } from "../serde.ts";
6
+ import { deserializeState, type State, type StateStore } from "../state.ts";
7
+ import { ignore } from "../util/ignore.ts";
8
8
 
9
9
  const stateRootDir = path.join(process.cwd(), ".alchemy");
10
10
 
package/src/fs/file.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import type { Context } from "../context.js";
4
- import { Resource } from "../resource.js";
5
- import { ignore } from "../util/ignore.js";
3
+ import type { Context } from "../context.ts";
4
+ import { Resource } from "../resource.ts";
5
+ import { ignore } from "../util/ignore.ts";
6
6
 
7
- import { alchemy } from "../alchemy.js";
8
- import type { FileCollection } from "./file-collection.js";
9
- import type { FileRef } from "./file-ref.js";
7
+ import { alchemy } from "../alchemy.ts";
8
+ import type { FileCollection } from "./file-collection.ts";
9
+ import type { FileRef } from "./file-ref.ts";
10
10
 
11
- declare module "../alchemy.js" {
11
+ declare module "../alchemy.ts" {
12
12
  interface Alchemy {
13
13
  /**
14
14
  * Creates a reference to a file in the filesystem.
package/src/fs/folder.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import { ignore } from "../util/ignore.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import { ignore } from "../util/ignore.ts";
5
5
 
6
6
  export interface FolderProps {
7
7
  /**
package/src/fs/index.ts CHANGED
@@ -1,14 +1,14 @@
1
- export * from "./copy-file.js";
2
- export * from "./file-collection.js";
3
- export * from "./file-ref.js";
4
- export * from "./file-system-state-store.js";
5
- export * from "./file.js";
6
- export * from "./folder.js";
7
- export * from "./static-astro-file.js";
8
- export * from "./static-css-file.js";
9
- export * from "./static-html-file.js";
10
- export * from "./static-json-file.js";
11
- export * from "./static-text-file.js";
12
- export * from "./static-typescript-file.js";
13
- export * from "./static-vue-file.js";
14
- export * from "./static-yaml-file.js";
1
+ export * from "./copy-file.ts";
2
+ export * from "./file-collection.ts";
3
+ export * from "./file-ref.ts";
4
+ export * from "./file-system-state-store.ts";
5
+ export * from "./file.ts";
6
+ export * from "./folder.ts";
7
+ export * from "./static-astro-file.ts";
8
+ export * from "./static-css-file.ts";
9
+ export * from "./static-html-file.ts";
10
+ export * from "./static-json-file.ts";
11
+ export * from "./static-text-file.ts";
12
+ export * from "./static-typescript-file.ts";
13
+ export * from "./static-vue-file.ts";
14
+ export * from "./static-yaml-file.ts";
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticAstroFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticCSSFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticHTMLFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  /**
4
4
  * Creates a JSON file with formatted content
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  /**
4
4
  * Creates a plain text file
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  /**
4
4
  * Creates a TypeScript file with formatted content using prettier
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
 
3
3
  export type StaticVueFile = File;
4
4
 
@@ -1,4 +1,4 @@
1
- import { File } from "./file.js";
1
+ import { File } from "./file.ts";
2
2
  /**
3
3
  * Creates a YAML file with formatted content
4
4
  *
@@ -1,2 +1,2 @@
1
- export * from "./repository-environment.js";
2
- export * from "./secret.js";
1
+ export * from "./repository-environment.ts";
2
+ export * from "./secret.ts";
@@ -1,6 +1,6 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import { createGitHubClient, verifyGitHubAuth } from "./client.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import { createGitHubClient, verifyGitHubAuth } from "./client.ts";
4
4
 
5
5
  /**
6
6
  * Properties for creating or updating a GitHub Repository Environment
@@ -1,8 +1,8 @@
1
1
  import sodium from "libsodium-wrappers";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import type { Secret } from "../secret.js";
5
- import { createGitHubClient, verifyGitHubAuth } from "./client.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import type { Secret } from "../secret.ts";
5
+ import { createGitHubClient, verifyGitHubAuth } from "./client.ts";
6
6
  /**
7
7
  * Properties for creating or updating a GitHub Secret
8
8
  */
package/src/index.ts CHANGED
@@ -1,11 +1,12 @@
1
- export type { AlchemyOptions } from "./alchemy.js";
2
- export type * from "./context.js";
3
- export * from "./resource.js";
4
- export type * from "./scope.js";
5
- export * from "./secret.js";
6
- export * from "./serde.js";
7
- export * from "./state.js";
8
- export * from "./util/ignore.js";
1
+ export type { AlchemyOptions } from "./alchemy.ts";
2
+ export type * from "./context.ts";
3
+ export * from "./resource.ts";
4
+ export type * from "./scope.ts";
5
+ export * from "./secret.ts";
6
+ export * from "./serde.ts";
7
+ export * from "./state.ts";
8
+ export * from "./type.ts";
9
+ export * from "./util/ignore.ts";
9
10
 
10
- import { alchemy } from "./alchemy.js";
11
+ import { alchemy } from "./alchemy.ts";
11
12
  export default alchemy;
@@ -1,10 +1,10 @@
1
1
  import { type } from "arktype";
2
2
  import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
- import { Data } from "../../ai/data.js";
5
- import { Document } from "../../ai/document.js";
6
- import { alchemy } from "../../alchemy.js";
7
- import { Folder } from "../../fs/folder.js";
4
+ import { Data } from "../../ai/data.ts";
5
+ import { Document } from "../../ai/document.ts";
6
+ import { alchemy } from "../../alchemy.ts";
7
+ import { Folder } from "../../fs/folder.ts";
8
8
 
9
9
  function getArg(arg: string) {
10
10
  const idx = process.argv.findIndex((a) => a === arg);
package/src/neon/api.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { Secret } from "../secret.js";
2
- import { withExponentialBackoff } from "../util/retry.js";
1
+ import type { Secret } from "../secret.ts";
2
+ import { withExponentialBackoff } from "../util/retry.ts";
3
3
 
4
4
  /**
5
5
  * Options for Neon API requests
package/src/neon/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./api-error.js";
2
- export * from "./api.js";
3
- export * from "./project.js";
1
+ export * from "./api-error.ts";
2
+ export * from "./api.ts";
3
+ export * from "./project.ts";
@@ -1,9 +1,9 @@
1
- import { alchemy } from "../alchemy.js";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
4
- import type { Secret } from "../secret.js";
5
- import { handleApiError } from "./api-error.js";
6
- import { createNeonApi, type NeonApiOptions } from "./api.js";
1
+ import { alchemy } from "../alchemy.ts";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import type { Secret } from "../secret.ts";
5
+ import { handleApiError } from "./api-error.ts";
6
+ import { createNeonApi, type NeonApiOptions } from "./api.ts";
7
7
 
8
8
  /**
9
9
  * A Neon region where projects can be provisioned
package/src/os/exec.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { spawn, type SpawnOptions } from "node:child_process";
2
2
  import { createHash } from "node:crypto";
3
3
  import { join } from "node:path";
4
- import type { Context } from "../context.js";
5
- import { Resource } from "../resource.js";
4
+ import type { Context } from "../context.ts";
5
+ import { Resource } from "../resource.ts";
6
6
 
7
7
  /**
8
8
  * Properties for executing a shell command
package/src/os/index.ts CHANGED
@@ -1 +1 @@
1
- export * from "./exec.js";
1
+ export * from "./exec.ts";
package/src/resource.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { apply } from "./apply.js";
2
- import type { Context } from "./context.js";
3
- import { Scope as _Scope, type Scope } from "./scope.js";
1
+ import { apply } from "./apply.ts";
2
+ import type { Context } from "./context.ts";
3
+ import { Scope as _Scope, type Scope } from "./scope.ts";
4
4
 
5
5
  export const PROVIDERS: Map<ResourceKind, Provider<string, any>> = new Map<
6
6
  ResourceKind,
@@ -1,11 +1,11 @@
1
1
  import { isPromise } from "node:util/types";
2
- import type { Binding as CloudflareBinding } from "../cloudflare/bindings.js";
3
- import type { Bound as CloudflareBound } from "../cloudflare/bound.js";
4
- import { isWorkerStub } from "../cloudflare/worker-stub.js";
5
- import { isWorker } from "../cloudflare/worker.js";
6
- import { env } from "../env.js";
7
- import { ResourceFQN, ResourceScope, type Resource } from "../resource.js";
8
- import { isRuntime } from "./global.js";
2
+ import type { Binding as CloudflareBinding } from "../cloudflare/bindings.ts";
3
+ import type { Bound as CloudflareBound } from "../cloudflare/bound.ts";
4
+ import { isWorkerStub } from "../cloudflare/worker-stub.ts";
5
+ import { isWorker } from "../cloudflare/worker.ts";
6
+ import { env } from "../env.ts";
7
+ import { ResourceFQN, ResourceScope, type Resource } from "../resource.ts";
8
+ import { isRuntime } from "./global.ts";
9
9
 
10
10
  /**
11
11
  * Get a Resource's Binding from the Environment.
@@ -1,4 +1,4 @@
1
- import type { SerializedScope } from "../serde.js";
1
+ import type { SerializedScope } from "../serde.ts";
2
2
 
3
3
  declare global {
4
4
  const __ALCHEMY_WORKER_NAME__: string;
@@ -1,4 +1,4 @@
1
- import type { Resource } from "../resource.js";
1
+ import type { Resource } from "../resource.ts";
2
2
 
3
3
  export interface RuntimeState {
4
4
  get(id: string): Resource;
package/src/scope.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
- import type { Phase } from "./alchemy.js";
3
- import { destroyAll } from "./destroy.js";
4
- import { FileSystemStateStore } from "./fs/file-system-state-store.js";
5
- import { ResourceID, type PendingResource } from "./resource.js";
6
- import type { StateStore, StateStoreType } from "./state.js";
2
+ import type { Phase } from "./alchemy.ts";
3
+ import { destroyAll } from "./destroy.ts";
4
+ import { FileSystemStateStore } from "./fs/file-system-state-store.ts";
5
+ import { ResourceID, type PendingResource } from "./resource.ts";
6
+ import type { StateStore, StateStoreType } from "./state.ts";
7
7
 
8
8
  export type ScopeOptions = {
9
9
  appName?: string;
package/src/secret.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { alchemy } from "./alchemy.js";
1
+ import { alchemy } from "./alchemy.ts";
2
2
 
3
3
  // a global registry of all secrets that we will use when serializing an application
4
4
  const globalSecrets: {
package/src/sentry/api.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { alchemy } from "../alchemy.js";
2
- import type { Secret } from "../secret.js";
1
+ import { alchemy } from "../alchemy.ts";
2
+ import type { Secret } from "../secret.ts";
3
3
 
4
4
  /**
5
5
  * Options for Sentry API requests
@@ -1,7 +1,7 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import type { Secret } from "../secret.js";
4
- import { SentryApi } from "./api.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import type { Secret } from "../secret.ts";
4
+ import { SentryApi } from "./api.ts";
5
5
 
6
6
  /**
7
7
  * Properties for creating or updating a ClientKey
@@ -1,4 +1,4 @@
1
- export * from "./api.js";
2
- export * from "./client-key.js";
3
- export * from "./project.js";
4
- export * from "./team.js";
1
+ export * from "./api.ts";
2
+ export * from "./client-key.ts";
3
+ export * from "./project.ts";
4
+ export * from "./team.ts";
@@ -1,7 +1,7 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import type { Secret } from "../secret.js";
4
- import { SentryApi } from "./api.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import type { Secret } from "../secret.ts";
4
+ import { SentryApi } from "./api.ts";
5
5
 
6
6
  /**
7
7
  * Properties for creating or updating a Project
@@ -1,7 +1,7 @@
1
- import type { Context } from "../context.js";
2
- import { Resource } from "../resource.js";
3
- import type { Secret } from "../secret.js";
4
- import { SentryApi } from "./api.js";
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import type { Secret } from "../secret.ts";
4
+ import { SentryApi } from "./api.ts";
5
5
 
6
6
  /**
7
7
  * Properties for creating or updating a Team
package/src/serde.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { decryptWithKey, encrypt } from "./encrypt.js";
1
+ import { decryptWithKey, encrypt } from "./encrypt.ts";
2
2
  import {
3
3
  InnerResourceScope,
4
4
  ResourceFQN,
5
5
  ResourceKind,
6
6
  type Resource,
7
- } from "./resource.js";
8
- import { Scope } from "./scope.js";
9
- import { Secret } from "./secret.js";
7
+ } from "./resource.ts";
8
+ import { Scope } from "./scope.ts";
9
+ import { Secret } from "./secret.ts";
10
10
 
11
11
  import type { Type } from "arktype";
12
12
 
package/src/state.ts CHANGED
@@ -6,9 +6,9 @@ import {
6
6
  ResourceSeq,
7
7
  type Resource,
8
8
  type ResourceProps,
9
- } from "./resource.js";
10
- import { Scope } from "./scope.js";
11
- import { deserialize } from "./serde.js";
9
+ } from "./resource.ts";
10
+ import { Scope } from "./scope.ts";
11
+ import { deserialize } from "./serde.ts";
12
12
 
13
13
  export type State<
14
14
  Kind extends string = string,
@@ -1,4 +1,4 @@
1
- export * from "./price.js";
2
- export * from "./product.js";
3
- export * from "./webhook.js";
4
- export * from "./meter.js";
1
+ export * from "./meter.ts";
2
+ export * from "./price.ts";
3
+ export * from "./product.ts";
4
+ export * from "./webhook.ts";
@@ -1,6 +1,6 @@
1
1
  import Stripe from "stripe";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
4
 
5
5
  /**
6
6
  * Properties for creating or updating a Stripe Meter.
@@ -1,6 +1,6 @@
1
1
  import Stripe from "stripe";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
4
 
5
5
  /**
6
6
  * Properties for price recurring configuration
@@ -1,6 +1,6 @@
1
1
  import Stripe from "stripe";
2
- import type { Context } from "../context.js";
3
- import { Resource } from "../resource.js";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
4
 
5
5
  type ProductType = Stripe.Product.Type;
6
6