alchemy 0.62.2 → 0.63.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 (611) hide show
  1. package/bin/alchemy.js +1518 -1204
  2. package/bin/commands/deploy.ts +2 -0
  3. package/bin/commands/dev.ts +2 -0
  4. package/bin/services/execute-alchemy.ts +11 -0
  5. package/bin/services/template-manager.ts +2 -0
  6. package/bin/types.ts +2 -1
  7. package/lib/alchemy.d.ts +6 -22
  8. package/lib/alchemy.d.ts.map +1 -1
  9. package/lib/alchemy.js +65 -169
  10. package/lib/alchemy.js.map +1 -1
  11. package/lib/apply.d.ts +0 -2
  12. package/lib/apply.d.ts.map +1 -1
  13. package/lib/apply.js +2 -16
  14. package/lib/apply.js.map +1 -1
  15. package/lib/aws/account-id.d.ts.map +1 -1
  16. package/lib/aws/account-id.js +3 -2
  17. package/lib/aws/account-id.js.map +1 -1
  18. package/lib/aws/bucket.d.ts +8 -2
  19. package/lib/aws/bucket.d.ts.map +1 -1
  20. package/lib/aws/bucket.js +21 -14
  21. package/lib/aws/bucket.js.map +1 -1
  22. package/lib/aws/ec2/security-group.d.ts +8 -2
  23. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  24. package/lib/aws/ec2/security-group.js +7 -2
  25. package/lib/aws/ec2/security-group.js.map +1 -1
  26. package/lib/aws/function.d.ts +9 -3
  27. package/lib/aws/function.d.ts.map +1 -1
  28. package/lib/aws/function.js +35 -26
  29. package/lib/aws/function.js.map +1 -1
  30. package/lib/aws/policy-attachment.d.ts.map +1 -1
  31. package/lib/aws/policy-attachment.js +2 -1
  32. package/lib/aws/policy-attachment.js.map +1 -1
  33. package/lib/aws/policy.d.ts +8 -2
  34. package/lib/aws/policy.d.ts.map +1 -1
  35. package/lib/aws/policy.js +13 -4
  36. package/lib/aws/policy.js.map +1 -1
  37. package/lib/aws/queue.d.ts +8 -2
  38. package/lib/aws/queue.d.ts.map +1 -1
  39. package/lib/aws/queue.js +22 -14
  40. package/lib/aws/queue.js.map +1 -1
  41. package/lib/aws/role.d.ts +8 -2
  42. package/lib/aws/role.d.ts.map +1 -1
  43. package/lib/aws/role.js +10 -3
  44. package/lib/aws/role.js.map +1 -1
  45. package/lib/aws/ses.d.ts +1 -1
  46. package/lib/aws/ses.d.ts.map +1 -1
  47. package/lib/aws/ses.js +2 -1
  48. package/lib/aws/ses.js.map +1 -1
  49. package/lib/aws/ssm-parameter.d.ts +8 -2
  50. package/lib/aws/ssm-parameter.d.ts.map +1 -1
  51. package/lib/aws/ssm-parameter.js +15 -10
  52. package/lib/aws/ssm-parameter.js.map +1 -1
  53. package/lib/aws/table.d.ts +8 -2
  54. package/lib/aws/table.d.ts.map +1 -1
  55. package/lib/aws/table.js +17 -9
  56. package/lib/aws/table.js.map +1 -1
  57. package/lib/cloudflare/account-api-token.d.ts +2 -2
  58. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  59. package/lib/cloudflare/account-api-token.js +7 -6
  60. package/lib/cloudflare/account-api-token.js.map +1 -1
  61. package/lib/cloudflare/ai-gateway.d.ts +9 -4
  62. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  63. package/lib/cloudflare/ai-gateway.js +20 -24
  64. package/lib/cloudflare/ai-gateway.js.map +1 -1
  65. package/lib/cloudflare/api-schema.d.ts +2 -2
  66. package/lib/cloudflare/api-schema.d.ts.map +1 -1
  67. package/lib/cloudflare/api-schema.js +6 -2
  68. package/lib/cloudflare/api-schema.js.map +1 -1
  69. package/lib/cloudflare/api-shield.d.ts +5 -1
  70. package/lib/cloudflare/api-shield.d.ts.map +1 -1
  71. package/lib/cloudflare/api-shield.js +6 -1
  72. package/lib/cloudflare/api-shield.js.map +1 -1
  73. package/lib/cloudflare/assets.d.ts +1 -1
  74. package/lib/cloudflare/assets.d.ts.map +1 -1
  75. package/lib/cloudflare/astro/astro.d.ts.map +1 -1
  76. package/lib/cloudflare/astro/astro.js +3 -1
  77. package/lib/cloudflare/astro/astro.js.map +1 -1
  78. package/lib/cloudflare/astro/plugin.d.ts +2 -1
  79. package/lib/cloudflare/astro/plugin.d.ts.map +1 -1
  80. package/lib/cloudflare/astro/plugin.js.map +1 -1
  81. package/lib/cloudflare/bindings.d.ts +2 -2
  82. package/lib/cloudflare/bindings.d.ts.map +1 -1
  83. package/lib/cloudflare/bound.d.ts +1 -1
  84. package/lib/cloudflare/bound.d.ts.map +1 -1
  85. package/lib/cloudflare/bucket.d.ts +120 -1
  86. package/lib/cloudflare/bucket.d.ts.map +1 -1
  87. package/lib/cloudflare/bucket.js +80 -2
  88. package/lib/cloudflare/bucket.js.map +1 -1
  89. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  90. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  91. package/lib/cloudflare/container.d.ts +10 -4
  92. package/lib/cloudflare/container.d.ts.map +1 -1
  93. package/lib/cloudflare/container.js +12 -9
  94. package/lib/cloudflare/container.js.map +1 -1
  95. package/lib/cloudflare/custom-domain.js +2 -1
  96. package/lib/cloudflare/custom-domain.js.map +1 -1
  97. package/lib/cloudflare/d1-database.d.ts +1 -1
  98. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  99. package/lib/cloudflare/d1-database.js +7 -3
  100. package/lib/cloudflare/d1-database.js.map +1 -1
  101. package/lib/cloudflare/dispatch-namespace.d.ts +2 -0
  102. package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
  103. package/lib/cloudflare/dispatch-namespace.js +7 -5
  104. package/lib/cloudflare/dispatch-namespace.js.map +1 -1
  105. package/lib/cloudflare/hyperdrive.d.ts +7 -1
  106. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  107. package/lib/cloudflare/hyperdrive.js +2 -1
  108. package/lib/cloudflare/hyperdrive.js.map +1 -1
  109. package/lib/cloudflare/kv-namespace.d.ts +3 -0
  110. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  111. package/lib/cloudflare/kv-namespace.js +11 -2
  112. package/lib/cloudflare/kv-namespace.js.map +1 -1
  113. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +3 -1
  114. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  115. package/lib/cloudflare/miniflare/paths.d.ts +4 -0
  116. package/lib/cloudflare/miniflare/paths.d.ts.map +1 -1
  117. package/lib/cloudflare/miniflare/paths.js +11 -0
  118. package/lib/cloudflare/miniflare/paths.js.map +1 -1
  119. package/lib/cloudflare/pipeline.d.ts +14 -3
  120. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  121. package/lib/cloudflare/pipeline.js +31 -2
  122. package/lib/cloudflare/pipeline.js.map +1 -1
  123. package/lib/cloudflare/queue-consumer.js +1 -1
  124. package/lib/cloudflare/queue-consumer.js.map +1 -1
  125. package/lib/cloudflare/queue.d.ts +6 -4
  126. package/lib/cloudflare/queue.d.ts.map +1 -1
  127. package/lib/cloudflare/queue.js +13 -9
  128. package/lib/cloudflare/queue.js.map +1 -1
  129. package/lib/cloudflare/react-router/plugin.d.ts +1 -1
  130. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
  131. package/lib/cloudflare/react-router/react-router.d.ts.map +1 -1
  132. package/lib/cloudflare/react-router/react-router.js +32 -2
  133. package/lib/cloudflare/react-router/react-router.js.map +1 -1
  134. package/lib/cloudflare/redwood/plugin.d.ts +2 -1
  135. package/lib/cloudflare/redwood/plugin.d.ts.map +1 -1
  136. package/lib/cloudflare/redwood/plugin.js.map +1 -1
  137. package/lib/cloudflare/route.js +1 -1
  138. package/lib/cloudflare/route.js.map +1 -1
  139. package/lib/cloudflare/ruleset.d.ts +3 -1
  140. package/lib/cloudflare/ruleset.d.ts.map +1 -1
  141. package/lib/cloudflare/ruleset.js +3 -2
  142. package/lib/cloudflare/ruleset.js.map +1 -1
  143. package/lib/cloudflare/secret.d.ts +6 -23
  144. package/lib/cloudflare/secret.d.ts.map +1 -1
  145. package/lib/cloudflare/secret.js +8 -4
  146. package/lib/cloudflare/secret.js.map +1 -1
  147. package/lib/cloudflare/secrets-store.d.ts +1 -1
  148. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  149. package/lib/cloudflare/secrets-store.js +5 -2
  150. package/lib/cloudflare/secrets-store.js.map +1 -1
  151. package/lib/cloudflare/tunnel.d.ts +5 -1
  152. package/lib/cloudflare/tunnel.d.ts.map +1 -1
  153. package/lib/cloudflare/tunnel.js +5 -1
  154. package/lib/cloudflare/tunnel.js.map +1 -1
  155. package/lib/cloudflare/vectorize-index.d.ts +7 -1
  156. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  157. package/lib/cloudflare/vectorize-index.js +5 -2
  158. package/lib/cloudflare/vectorize-index.js.map +1 -1
  159. package/lib/cloudflare/vite/plugin.d.ts +2 -1
  160. package/lib/cloudflare/vite/plugin.d.ts.map +1 -1
  161. package/lib/cloudflare/vite/plugin.js.map +1 -1
  162. package/lib/cloudflare/vite/vite.d.ts +1 -1
  163. package/lib/cloudflare/vite/vite.d.ts.map +1 -1
  164. package/lib/cloudflare/vite/vite.js +1 -1
  165. package/lib/cloudflare/vite/vite.js.map +1 -1
  166. package/lib/cloudflare/website.js +1 -1
  167. package/lib/cloudflare/website.js.map +1 -1
  168. package/lib/cloudflare/worker.d.ts +1 -1
  169. package/lib/cloudflare/worker.d.ts.map +1 -1
  170. package/lib/cloudflare/worker.js +12 -7
  171. package/lib/cloudflare/worker.js.map +1 -1
  172. package/lib/cloudflare/wrangler.json.d.ts +1 -1
  173. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  174. package/lib/cloudflare/wrangler.json.js +5 -3
  175. package/lib/cloudflare/wrangler.json.js.map +1 -1
  176. package/lib/docker/container.d.ts +6 -0
  177. package/lib/docker/container.d.ts.map +1 -1
  178. package/lib/docker/container.js +5 -1
  179. package/lib/docker/container.js.map +1 -1
  180. package/lib/docker/network.d.ts +8 -2
  181. package/lib/docker/network.d.ts.map +1 -1
  182. package/lib/docker/network.js +7 -2
  183. package/lib/docker/network.js.map +1 -1
  184. package/lib/docker/volume.d.ts +8 -2
  185. package/lib/docker/volume.d.ts.map +1 -1
  186. package/lib/docker/volume.js +6 -4
  187. package/lib/docker/volume.js.map +1 -1
  188. package/lib/esbuild/bundle.d.ts +1 -1
  189. package/lib/fs/index.d.ts +0 -8
  190. package/lib/fs/index.d.ts.map +1 -1
  191. package/lib/fs/index.js +0 -8
  192. package/lib/fs/index.js.map +1 -1
  193. package/lib/github/client.d.ts +1 -1
  194. package/lib/github/client.d.ts.map +1 -1
  195. package/lib/github/client.js +2 -1
  196. package/lib/github/client.js.map +1 -1
  197. package/lib/github/repository-environment.d.ts +8 -2
  198. package/lib/github/repository-environment.d.ts.map +1 -1
  199. package/lib/github/repository-environment.js +16 -12
  200. package/lib/github/repository-environment.js.map +1 -1
  201. package/lib/neon/project.d.ts +7 -1
  202. package/lib/neon/project.d.ts.map +1 -1
  203. package/lib/neon/project.js +10 -6
  204. package/lib/neon/project.js.map +1 -1
  205. package/lib/planetscale/branch.d.ts +4 -2
  206. package/lib/planetscale/branch.d.ts.map +1 -1
  207. package/lib/planetscale/branch.js +18 -12
  208. package/lib/planetscale/branch.js.map +1 -1
  209. package/lib/planetscale/database.d.ts +8 -2
  210. package/lib/planetscale/database.d.ts.map +1 -1
  211. package/lib/planetscale/database.js +24 -16
  212. package/lib/planetscale/database.js.map +1 -1
  213. package/lib/planetscale/password.d.ts +8 -2
  214. package/lib/planetscale/password.d.ts.map +1 -1
  215. package/lib/planetscale/password.js +2 -2
  216. package/lib/planetscale/password.js.map +1 -1
  217. package/lib/resource.d.ts +0 -2
  218. package/lib/resource.d.ts.map +1 -1
  219. package/lib/resource.js +1 -9
  220. package/lib/resource.js.map +1 -1
  221. package/lib/scope.d.ts +9 -3
  222. package/lib/scope.d.ts.map +1 -1
  223. package/lib/scope.js +21 -34
  224. package/lib/scope.js.map +1 -1
  225. package/lib/sentry/client-key.d.ts +7 -1
  226. package/lib/sentry/client-key.d.ts.map +1 -1
  227. package/lib/sentry/client-key.js +45 -6
  228. package/lib/sentry/client-key.js.map +1 -1
  229. package/lib/sentry/project.d.ts +8 -2
  230. package/lib/sentry/project.d.ts.map +1 -1
  231. package/lib/sentry/project.js +35 -5
  232. package/lib/sentry/project.js.map +1 -1
  233. package/lib/sentry/team.d.ts +8 -2
  234. package/lib/sentry/team.d.ts.map +1 -1
  235. package/lib/sentry/team.js +36 -6
  236. package/lib/sentry/team.js.map +1 -1
  237. package/lib/serde.d.ts +0 -5
  238. package/lib/serde.d.ts.map +1 -1
  239. package/lib/serde.js +0 -28
  240. package/lib/serde.js.map +1 -1
  241. package/lib/state/d1-state-store.d.ts +1 -1
  242. package/lib/state/d1-state-store.d.ts.map +1 -1
  243. package/lib/state/d1-state-store.js +5 -5
  244. package/lib/state/d1-state-store.js.map +1 -1
  245. package/lib/state/sqlite-state-store.d.ts.map +1 -1
  246. package/lib/state/sqlite-state-store.js +7 -11
  247. package/lib/state/sqlite-state-store.js.map +1 -1
  248. package/lib/stripe/card.d.ts.map +1 -1
  249. package/lib/stripe/card.js +3 -2
  250. package/lib/stripe/card.js.map +1 -1
  251. package/lib/stripe/client.d.ts +2 -2
  252. package/lib/stripe/client.d.ts.map +1 -1
  253. package/lib/stripe/client.js +4 -3
  254. package/lib/stripe/client.js.map +1 -1
  255. package/lib/stripe/coupon.d.ts.map +1 -1
  256. package/lib/stripe/coupon.js +4 -3
  257. package/lib/stripe/coupon.js.map +1 -1
  258. package/lib/stripe/customer.js +2 -2
  259. package/lib/stripe/customer.js.map +1 -1
  260. package/lib/stripe/entitlements-feature.d.ts.map +1 -1
  261. package/lib/stripe/entitlements-feature.js +3 -2
  262. package/lib/stripe/entitlements-feature.js.map +1 -1
  263. package/lib/stripe/file.d.ts.map +1 -1
  264. package/lib/stripe/file.js +3 -2
  265. package/lib/stripe/file.js.map +1 -1
  266. package/lib/stripe/meter.js +2 -2
  267. package/lib/stripe/meter.js.map +1 -1
  268. package/lib/stripe/portal-configuration.d.ts.map +1 -1
  269. package/lib/stripe/portal-configuration.js +3 -2
  270. package/lib/stripe/portal-configuration.js.map +1 -1
  271. package/lib/stripe/price.d.ts.map +1 -1
  272. package/lib/stripe/price.js +3 -2
  273. package/lib/stripe/price.js.map +1 -1
  274. package/lib/stripe/product-feature.d.ts.map +1 -1
  275. package/lib/stripe/product-feature.js +3 -2
  276. package/lib/stripe/product-feature.js.map +1 -1
  277. package/lib/stripe/product.d.ts.map +1 -1
  278. package/lib/stripe/product.js +3 -2
  279. package/lib/stripe/product.js.map +1 -1
  280. package/lib/stripe/promotion-code.d.ts.map +1 -1
  281. package/lib/stripe/promotion-code.js +3 -2
  282. package/lib/stripe/promotion-code.js.map +1 -1
  283. package/lib/stripe/shipping-rate.d.ts.map +1 -1
  284. package/lib/stripe/shipping-rate.js +4 -3
  285. package/lib/stripe/shipping-rate.js.map +1 -1
  286. package/lib/stripe/tax-rate.d.ts.map +1 -1
  287. package/lib/stripe/tax-rate.js +3 -2
  288. package/lib/stripe/tax-rate.js.map +1 -1
  289. package/lib/stripe/webhook.d.ts.map +1 -1
  290. package/lib/stripe/webhook.js +4 -3
  291. package/lib/stripe/webhook.js.map +1 -1
  292. package/lib/test/vitest.d.ts.map +1 -1
  293. package/lib/test/vitest.js +1 -0
  294. package/lib/test/vitest.js.map +1 -1
  295. package/lib/upstash/redis.d.ts +8 -2
  296. package/lib/upstash/redis.d.ts.map +1 -1
  297. package/lib/upstash/redis.js +5 -4
  298. package/lib/upstash/redis.js.map +1 -1
  299. package/lib/util/ignore-matcher.d.ts.map +1 -1
  300. package/lib/util/ignore-matcher.js +3 -1
  301. package/lib/util/ignore-matcher.js.map +1 -1
  302. package/lib/util/peer.d.ts +10 -0
  303. package/lib/util/peer.d.ts.map +1 -0
  304. package/lib/util/peer.js +42 -0
  305. package/lib/util/peer.js.map +1 -0
  306. package/lib/util/telemetry/constants.d.ts.map +1 -1
  307. package/lib/util/telemetry/constants.js +2 -2
  308. package/lib/util/telemetry/constants.js.map +1 -1
  309. package/lib/vercel/project.d.ts +7 -1
  310. package/lib/vercel/project.d.ts.map +1 -1
  311. package/lib/vercel/project.js +28 -0
  312. package/lib/vercel/project.js.map +1 -1
  313. package/package.json +88 -74
  314. package/src/alchemy.ts +76 -222
  315. package/src/apply.ts +6 -19
  316. package/src/aws/account-id.ts +6 -3
  317. package/src/aws/bucket.ts +43 -32
  318. package/src/aws/ec2/security-group.ts +15 -3
  319. package/src/aws/function.ts +65 -39
  320. package/src/aws/policy-attachment.ts +10 -6
  321. package/src/aws/policy.ts +33 -15
  322. package/src/aws/queue.ts +50 -29
  323. package/src/aws/role.ts +37 -20
  324. package/src/aws/ses.ts +24 -20
  325. package/src/aws/ssm-parameter.ts +40 -20
  326. package/src/aws/table.ts +35 -17
  327. package/src/cloudflare/account-api-token.ts +9 -7
  328. package/src/cloudflare/ai-gateway.ts +37 -34
  329. package/src/cloudflare/api-schema.ts +33 -26
  330. package/src/cloudflare/api-shield.ts +15 -2
  331. package/src/cloudflare/astro/astro.ts +5 -1
  332. package/src/cloudflare/astro/plugin.ts +2 -1
  333. package/src/cloudflare/bindings.ts +2 -2
  334. package/src/cloudflare/bound.ts +1 -1
  335. package/src/cloudflare/bucket.ts +242 -3
  336. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  337. package/src/cloudflare/container.ts +23 -12
  338. package/src/cloudflare/custom-domain.ts +2 -2
  339. package/src/cloudflare/d1-database.ts +11 -4
  340. package/src/cloudflare/dispatch-namespace.ts +10 -7
  341. package/src/cloudflare/hyperdrive.ts +13 -3
  342. package/src/cloudflare/kv-namespace.ts +25 -2
  343. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +3 -1
  344. package/src/cloudflare/miniflare/paths.ts +13 -0
  345. package/src/cloudflare/pipeline.ts +76 -28
  346. package/src/cloudflare/queue-consumer.ts +1 -1
  347. package/src/cloudflare/queue.ts +65 -54
  348. package/src/cloudflare/react-router/react-router.ts +28 -2
  349. package/src/cloudflare/redwood/plugin.ts +3 -2
  350. package/src/cloudflare/route.ts +1 -1
  351. package/src/cloudflare/ruleset.ts +7 -2
  352. package/src/cloudflare/secret.ts +20 -31
  353. package/src/cloudflare/secrets-store.ts +7 -3
  354. package/src/cloudflare/tunnel.ts +13 -2
  355. package/src/cloudflare/vectorize-index.ts +14 -3
  356. package/src/cloudflare/vite/plugin.ts +3 -2
  357. package/src/cloudflare/vite/vite.ts +2 -3
  358. package/src/cloudflare/website.ts +1 -1
  359. package/src/cloudflare/worker.ts +35 -23
  360. package/src/cloudflare/wrangler.json.ts +7 -4
  361. package/src/docker/container.ts +13 -1
  362. package/src/docker/network.ts +18 -3
  363. package/src/docker/volume.ts +17 -6
  364. package/src/fs/index.ts +0 -8
  365. package/src/github/client.ts +6 -2
  366. package/src/github/repository-environment.ts +27 -13
  367. package/src/neon/project.ts +20 -6
  368. package/src/planetscale/branch.ts +24 -13
  369. package/src/planetscale/database.ts +38 -17
  370. package/src/planetscale/password.ts +10 -3
  371. package/src/resource.ts +1 -10
  372. package/src/scope.ts +29 -38
  373. package/src/sentry/client-key.ts +74 -6
  374. package/src/sentry/project.ts +59 -6
  375. package/src/sentry/team.ts +55 -7
  376. package/src/serde.ts +0 -44
  377. package/src/state/d1-state-store.ts +13 -6
  378. package/src/state/sqlite-state-store.ts +16 -17
  379. package/src/stripe/card.ts +5 -2
  380. package/src/stripe/client.ts +10 -3
  381. package/src/stripe/coupon.ts +4 -3
  382. package/src/stripe/customer.ts +2 -2
  383. package/src/stripe/entitlements-feature.ts +5 -2
  384. package/src/stripe/file.ts +3 -2
  385. package/src/stripe/meter.ts +2 -2
  386. package/src/stripe/portal-configuration.ts +5 -2
  387. package/src/stripe/price.ts +3 -2
  388. package/src/stripe/product-feature.ts +5 -2
  389. package/src/stripe/product.ts +3 -2
  390. package/src/stripe/promotion-code.ts +3 -2
  391. package/src/stripe/shipping-rate.ts +4 -3
  392. package/src/stripe/tax-rate.ts +3 -2
  393. package/src/stripe/webhook.ts +4 -3
  394. package/src/test/vitest.ts +1 -0
  395. package/src/upstash/redis.ts +15 -5
  396. package/src/util/ignore-matcher.ts +3 -1
  397. package/src/util/peer.ts +53 -0
  398. package/src/util/telemetry/constants.ts +2 -2
  399. package/src/vercel/project.ts +46 -1
  400. package/templates/astro/_gitignore +2 -1
  401. package/templates/hono/README.md +19 -0
  402. package/templates/hono/_env +1 -0
  403. package/templates/hono/_env.example +1 -0
  404. package/templates/hono/_gitignore +34 -0
  405. package/templates/hono/alchemy.run.ts +22 -0
  406. package/templates/hono/package.json +18 -0
  407. package/templates/hono/src/index.ts +17 -0
  408. package/templates/hono/tsconfig.json +13 -0
  409. package/templates/hono/types/env.d.ts +16 -0
  410. package/templates/nuxt/_gitignore +2 -1
  411. package/templates/react-router/_gitignore +1 -0
  412. package/templates/react-router/vite.config.ts +5 -3
  413. package/templates/rwsdk/_gitignore +2 -3
  414. package/templates/sveltekit/_gitignore +2 -1
  415. package/templates/tanstack-start/_gitignore +2 -1
  416. package/templates/typescript/_gitignore +2 -1
  417. package/templates/vite/_gitignore +2 -1
  418. package/workers/cloudflare-state-store.js +69 -74
  419. package/workers/dofs-state-store.js +1 -1
  420. package/bin/bootstrap-s3.ts +0 -255
  421. package/lib/ai/ark.d.ts +0 -12
  422. package/lib/ai/ark.d.ts.map +0 -1
  423. package/lib/ai/ark.js +0 -87
  424. package/lib/ai/ark.js.map +0 -1
  425. package/lib/ai/astro-file.d.ts +0 -138
  426. package/lib/ai/astro-file.d.ts.map +0 -1
  427. package/lib/ai/astro-file.js +0 -158
  428. package/lib/ai/astro-file.js.map +0 -1
  429. package/lib/ai/client.d.ts +0 -51
  430. package/lib/ai/client.d.ts.map +0 -1
  431. package/lib/ai/client.js +0 -58
  432. package/lib/ai/client.js.map +0 -1
  433. package/lib/ai/css-file.d.ts +0 -132
  434. package/lib/ai/css-file.d.ts.map +0 -1
  435. package/lib/ai/css-file.js +0 -142
  436. package/lib/ai/css-file.js.map +0 -1
  437. package/lib/ai/data.d.ts +0 -152
  438. package/lib/ai/data.d.ts.map +0 -1
  439. package/lib/ai/data.js +0 -120
  440. package/lib/ai/data.js.map +0 -1
  441. package/lib/ai/document.d.ts +0 -208
  442. package/lib/ai/document.d.ts.map +0 -1
  443. package/lib/ai/document.js +0 -206
  444. package/lib/ai/document.js.map +0 -1
  445. package/lib/ai/html-file.d.ts +0 -129
  446. package/lib/ai/html-file.d.ts.map +0 -1
  447. package/lib/ai/html-file.js +0 -139
  448. package/lib/ai/html-file.js.map +0 -1
  449. package/lib/ai/index.d.ts +0 -11
  450. package/lib/ai/index.d.ts.map +0 -1
  451. package/lib/ai/index.js +0 -11
  452. package/lib/ai/index.js.map +0 -1
  453. package/lib/ai/json-file.d.ts +0 -161
  454. package/lib/ai/json-file.d.ts.map +0 -1
  455. package/lib/ai/json-file.js +0 -188
  456. package/lib/ai/json-file.js.map +0 -1
  457. package/lib/ai/typescript-file.d.ts +0 -140
  458. package/lib/ai/typescript-file.d.ts.map +0 -1
  459. package/lib/ai/typescript-file.js +0 -146
  460. package/lib/ai/typescript-file.js.map +0 -1
  461. package/lib/ai/vue-file.d.ts +0 -127
  462. package/lib/ai/vue-file.d.ts.map +0 -1
  463. package/lib/ai/vue-file.js +0 -137
  464. package/lib/ai/vue-file.js.map +0 -1
  465. package/lib/ai/yaml-file.d.ts +0 -170
  466. package/lib/ai/yaml-file.d.ts.map +0 -1
  467. package/lib/ai/yaml-file.js +0 -201
  468. package/lib/ai/yaml-file.js.map +0 -1
  469. package/lib/fs/static-astro-file.d.ts +0 -35
  470. package/lib/fs/static-astro-file.d.ts.map +0 -1
  471. package/lib/fs/static-astro-file.js +0 -40
  472. package/lib/fs/static-astro-file.js.map +0 -1
  473. package/lib/fs/static-css-file.d.ts +0 -25
  474. package/lib/fs/static-css-file.d.ts.map +0 -1
  475. package/lib/fs/static-css-file.js +0 -30
  476. package/lib/fs/static-css-file.js.map +0 -1
  477. package/lib/fs/static-html-file.d.ts +0 -32
  478. package/lib/fs/static-html-file.d.ts.map +0 -1
  479. package/lib/fs/static-html-file.js +0 -37
  480. package/lib/fs/static-html-file.js.map +0 -1
  481. package/lib/fs/static-json-file.d.ts +0 -18
  482. package/lib/fs/static-json-file.d.ts.map +0 -1
  483. package/lib/fs/static-json-file.js +0 -19
  484. package/lib/fs/static-json-file.js.map +0 -1
  485. package/lib/fs/static-text-file.d.ts +0 -13
  486. package/lib/fs/static-text-file.d.ts.map +0 -1
  487. package/lib/fs/static-text-file.js +0 -9
  488. package/lib/fs/static-text-file.js.map +0 -1
  489. package/lib/fs/static-typescript-file.d.ts +0 -20
  490. package/lib/fs/static-typescript-file.d.ts.map +0 -1
  491. package/lib/fs/static-typescript-file.js +0 -16
  492. package/lib/fs/static-typescript-file.js.map +0 -1
  493. package/lib/fs/static-vue-file.d.ts +0 -29
  494. package/lib/fs/static-vue-file.d.ts.map +0 -1
  495. package/lib/fs/static-vue-file.js +0 -34
  496. package/lib/fs/static-vue-file.js.map +0 -1
  497. package/lib/fs/static-yaml-file.d.ts +0 -23
  498. package/lib/fs/static-yaml-file.d.ts.map +0 -1
  499. package/lib/fs/static-yaml-file.js +0 -10
  500. package/lib/fs/static-yaml-file.js.map +0 -1
  501. package/lib/internal/docs/providers.d.ts +0 -34
  502. package/lib/internal/docs/providers.d.ts.map +0 -1
  503. package/lib/internal/docs/providers.js +0 -200
  504. package/lib/internal/docs/providers.js.map +0 -1
  505. package/lib/runtime/bind.d.ts +0 -25
  506. package/lib/runtime/bind.d.ts.map +0 -1
  507. package/lib/runtime/bind.js +0 -76
  508. package/lib/runtime/bind.js.map +0 -1
  509. package/lib/runtime/global.d.ts +0 -8
  510. package/lib/runtime/global.d.ts.map +0 -1
  511. package/lib/runtime/global.js +0 -3
  512. package/lib/runtime/global.js.map +0 -1
  513. package/lib/runtime/plugin.d.ts +0 -35
  514. package/lib/runtime/plugin.d.ts.map +0 -1
  515. package/lib/runtime/plugin.js +0 -134
  516. package/lib/runtime/plugin.js.map +0 -1
  517. package/lib/runtime/shims.d.ts +0 -6
  518. package/lib/runtime/shims.d.ts.map +0 -1
  519. package/lib/runtime/shims.js +0 -27
  520. package/lib/runtime/shims.js.map +0 -1
  521. package/lib/runtime/state.d.ts +0 -5
  522. package/lib/runtime/state.d.ts.map +0 -1
  523. package/lib/runtime/state.js +0 -4
  524. package/lib/runtime/state.js.map +0 -1
  525. package/lib/web/astro.d.ts +0 -148
  526. package/lib/web/astro.d.ts.map +0 -1
  527. package/lib/web/astro.js +0 -419
  528. package/lib/web/astro.js.map +0 -1
  529. package/lib/web/shadcn-component.d.ts +0 -30
  530. package/lib/web/shadcn-component.d.ts.map +0 -1
  531. package/lib/web/shadcn-component.js +0 -25
  532. package/lib/web/shadcn-component.js.map +0 -1
  533. package/lib/web/shadcn.d.ts +0 -98
  534. package/lib/web/shadcn.d.ts.map +0 -1
  535. package/lib/web/shadcn.js +0 -102
  536. package/lib/web/shadcn.js.map +0 -1
  537. package/lib/web/tailwind.d.ts +0 -65
  538. package/lib/web/tailwind.d.ts.map +0 -1
  539. package/lib/web/tailwind.js +0 -98
  540. package/lib/web/tailwind.js.map +0 -1
  541. package/lib/web/vite.d.ts +0 -96
  542. package/lib/web/vite.d.ts.map +0 -1
  543. package/lib/web/vite.js +0 -232
  544. package/lib/web/vite.js.map +0 -1
  545. package/lib/web/vitepress/config.d.ts +0 -12
  546. package/lib/web/vitepress/config.d.ts.map +0 -1
  547. package/lib/web/vitepress/config.js +0 -33
  548. package/lib/web/vitepress/config.js.map +0 -1
  549. package/lib/web/vitepress/custom-theme.d.ts +0 -174
  550. package/lib/web/vitepress/custom-theme.d.ts.map +0 -1
  551. package/lib/web/vitepress/custom-theme.js +0 -337
  552. package/lib/web/vitepress/custom-theme.js.map +0 -1
  553. package/lib/web/vitepress/dependencies.d.ts +0 -13
  554. package/lib/web/vitepress/dependencies.d.ts.map +0 -1
  555. package/lib/web/vitepress/dependencies.js +0 -37
  556. package/lib/web/vitepress/dependencies.js.map +0 -1
  557. package/lib/web/vitepress/home-page.d.ts +0 -247
  558. package/lib/web/vitepress/home-page.d.ts.map +0 -1
  559. package/lib/web/vitepress/home-page.js +0 -146
  560. package/lib/web/vitepress/home-page.js.map +0 -1
  561. package/lib/web/vitepress/index.d.ts +0 -6
  562. package/lib/web/vitepress/index.d.ts.map +0 -1
  563. package/lib/web/vitepress/index.js +0 -6
  564. package/lib/web/vitepress/index.js.map +0 -1
  565. package/lib/web/vitepress/process-front-matter-files.d.ts +0 -19
  566. package/lib/web/vitepress/process-front-matter-files.d.ts.map +0 -1
  567. package/lib/web/vitepress/process-front-matter-files.js +0 -73
  568. package/lib/web/vitepress/process-front-matter-files.js.map +0 -1
  569. package/lib/web/vitepress/vitepress.d.ts +0 -75
  570. package/lib/web/vitepress/vitepress.d.ts.map +0 -1
  571. package/lib/web/vitepress/vitepress.js +0 -254
  572. package/lib/web/vitepress/vitepress.js.map +0 -1
  573. package/src/ai/ark.ts +0 -118
  574. package/src/ai/astro-file.ts +0 -270
  575. package/src/ai/client.ts +0 -117
  576. package/src/ai/css-file.ts +0 -247
  577. package/src/ai/data.ts +0 -221
  578. package/src/ai/document.ts +0 -367
  579. package/src/ai/html-file.ts +0 -244
  580. package/src/ai/index.ts +0 -10
  581. package/src/ai/json-file.ts +0 -325
  582. package/src/ai/typescript-file.ts +0 -259
  583. package/src/ai/vue-file.ts +0 -242
  584. package/src/ai/yaml-file.ts +0 -328
  585. package/src/fs/static-astro-file.ts +0 -45
  586. package/src/fs/static-css-file.ts +0 -35
  587. package/src/fs/static-html-file.ts +0 -42
  588. package/src/fs/static-json-file.ts +0 -38
  589. package/src/fs/static-text-file.ts +0 -23
  590. package/src/fs/static-typescript-file.ts +0 -37
  591. package/src/fs/static-vue-file.ts +0 -39
  592. package/src/fs/static-yaml-file.ts +0 -33
  593. package/src/internal/docs/providers.ts +0 -286
  594. package/src/runtime/bind.ts +0 -95
  595. package/src/runtime/global.ts +0 -10
  596. package/src/runtime/plugin.ts +0 -163
  597. package/src/runtime/shims.js +0 -34
  598. package/src/runtime/state.ts +0 -9
  599. package/src/web/astro.ts +0 -643
  600. package/src/web/shadcn-component.ts +0 -72
  601. package/src/web/shadcn.ts +0 -221
  602. package/src/web/tailwind.ts +0 -167
  603. package/src/web/vite.ts +0 -407
  604. package/src/web/vitepress/config.ts +0 -50
  605. package/src/web/vitepress/custom-theme.ts +0 -514
  606. package/src/web/vitepress/dependencies.ts +0 -69
  607. package/src/web/vitepress/home-page.ts +0 -378
  608. package/src/web/vitepress/index.ts +0 -5
  609. package/src/web/vitepress/process-front-matter-files.ts +0 -107
  610. package/src/web/vitepress/vitepress.ts +0 -372
  611. package/templates/sveltekit/bun.lock +0 -1099
@@ -1 +0,0 @@
1
- {"version":3,"file":"shims.js","sourceRoot":"","sources":["../../src/runtime/shims.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,MAAM,CAAC,IAAI,4BAA4B,GAAG,IAAI,CAAC,KAAK,CAClD,GAAG,CAAC,4BAA4B,CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,CAAC,GAAG,CAAC,EAAE;QACV,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,YAAY,GAAG,+CAA+C,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACtH,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE;YAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/D,OAAO;wBACL,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;qBAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AACF,kCAAkC"}
@@ -1,5 +0,0 @@
1
- import type { Resource } from "../resource.ts";
2
- export interface RuntimeState {
3
- get(id: string): Resource;
4
- }
5
- //# sourceMappingURL=state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/runtime/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B"}
@@ -1,4 +0,0 @@
1
- // /**
2
- // * Runtime state injected into the environment.
3
- // */
4
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/runtime/state.ts"],"names":[],"mappings":"AAMA,MAAM;AACN,kDAAkD;AAClD,MAAM"}
@@ -1,148 +0,0 @@
1
- import type { Context } from "../context.ts";
2
- import { Resource } from "../resource.ts";
3
- /**
4
- * Type of integrations that can be added to an Astro project
5
- */
6
- export type AstroIntegration = "react" | "preact" | "vue" | "svelte" | "solid" | "lit" | "tailwind" | "mdx" | "sitemap" | "partytown" | "markdoc";
7
- /**
8
- * Properties for creating an Astro project
9
- */
10
- export interface AstroProjectProps {
11
- /**
12
- * The name/path of the project
13
- */
14
- name: string;
15
- /**
16
- * The title of the site
17
- * @default "Astro Site"
18
- */
19
- title?: string;
20
- /**
21
- * The description of the site
22
- * @default "Welcome to my Astro site"
23
- */
24
- description?: string;
25
- /**
26
- * The directory to initialize the project in.
27
- * @default {@link name}
28
- */
29
- dir?: string;
30
- /**
31
- * The integrations to add to the project
32
- * @default []
33
- */
34
- integrations?: AstroIntegration[];
35
- /**
36
- * The TypeScript configuration
37
- */
38
- tsconfig?: {
39
- /**
40
- * Extends from this TypeScript configuration
41
- */
42
- extends?: string;
43
- /**
44
- * References to add to the tsconfig
45
- */
46
- references?: string[];
47
- /**
48
- * Compiler options to add to the tsconfig
49
- */
50
- compilerOptions?: Record<string, any>;
51
- };
52
- /**
53
- * Whether to delete the project folder during the delete phase
54
- * @default true
55
- */
56
- delete?: boolean;
57
- /**
58
- * Add Shadcn UI to the project
59
- * @default false
60
- */
61
- shadcn?: {
62
- /**
63
- * The base color to use
64
- * @default "neutral"
65
- */
66
- baseColor?: "neutral" | "gray" | "zinc" | "stone" | "slate";
67
- /**
68
- * Use default configuration
69
- * @default false
70
- */
71
- defaults?: boolean;
72
- /**
73
- * Force overwrite of existing configuration
74
- * @default false
75
- */
76
- force?: boolean;
77
- /**
78
- * Mute output
79
- * @default false
80
- */
81
- silent?: boolean;
82
- /**
83
- * Use the src directory when creating a new project
84
- * @default true
85
- */
86
- srcDir?: boolean;
87
- /**
88
- * Use css variables for theming
89
- * @default true
90
- */
91
- cssVariables?: boolean;
92
- /**
93
- * The components to add
94
- */
95
- components?: string[];
96
- };
97
- /**
98
- * The dependencies to install
99
- */
100
- dependencies?: Record<string, string>;
101
- /**
102
- * The dev dependencies to install
103
- */
104
- devDependencies?: Record<string, string>;
105
- /**
106
- * Additional scripts to add to package.json
107
- */
108
- scripts?: Record<string, string>;
109
- }
110
- /**
111
- * Astro project resource
112
- */
113
- export interface AstroProject extends AstroProjectProps, Resource {
114
- /**
115
- * The name/path of the project
116
- */
117
- name: string;
118
- }
119
- /**
120
- * Creates a new Astro project
121
- *
122
- * @example
123
- * // Create a basic Astro project
124
- * const basicProject = await AstroProject("my-astro-app", {
125
- * title: "My Astro Site",
126
- * description: "Built with Alchemy"
127
- * });
128
- *
129
- * @example
130
- * // Create an Astro project with React and Tailwind
131
- * const reactProject = await AstroProject("astro-react", {
132
- * title: "Astro + React",
133
- * integrations: ["react", "tailwind"]
134
- * });
135
- *
136
- * @example
137
- * // Create an Astro project with Shadcn UI
138
- * const shadcnProject = await AstroProject("astro-shadcn", {
139
- * title: "Astro with Shadcn UI",
140
- * integrations: ["react", "tailwind"],
141
- * shadcn: {
142
- * baseColor: "zinc",
143
- * components: ["button", "card", "input"]
144
- * }
145
- * });
146
- */
147
- export declare const AstroProject: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<AstroProject>, id: string, props: AstroProjectProps) => Promise<AstroProject>);
148
- //# sourceMappingURL=astro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"astro.d.ts","sourceRoot":"","sources":["../../src/web/astro.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,OAAO,GACP,KAAK,GACL,UAAU,GACV,KAAK,GACL,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAEtB;;WAEG;QACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,CAAC;IAEF;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP;;;WAGG;QACH,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;QAE5D;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;;WAGG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;QAEhB;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QAEjB;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QAEjB;;;WAGG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,iBAAiB,EAAE,QAAQ;IAC/D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,YAAY,yFAMf,OAAO,CAAC,YAAY,CAAC,MACvB,MAAM,SACH,iBAAiB,KACvB,OAAO,CAAC,YAAY,CAAC,CA0bzB,CAAC"}
package/lib/web/astro.js DELETED
@@ -1,419 +0,0 @@
1
- import { exec } from "node:child_process";
2
- import fs from "node:fs/promises";
3
- import path from "node:path";
4
- import { promisify } from "node:util";
5
- import { Folder } from "../fs/folder.js";
6
- import { StaticJsonFile } from "../fs/static-json-file.js";
7
- import { StaticTextFile } from "../fs/static-text-file.js";
8
- import { StaticTypeScriptFile } from "../fs/static-typescript-file.js";
9
- import { Resource } from "../resource.js";
10
- import { logger } from "../util/logger.js";
11
- import { ShadcnUI } from "./shadcn.js";
12
- const execAsync = promisify(exec);
13
- /**
14
- * Creates a new Astro project
15
- *
16
- * @example
17
- * // Create a basic Astro project
18
- * const basicProject = await AstroProject("my-astro-app", {
19
- * title: "My Astro Site",
20
- * description: "Built with Alchemy"
21
- * });
22
- *
23
- * @example
24
- * // Create an Astro project with React and Tailwind
25
- * const reactProject = await AstroProject("astro-react", {
26
- * title: "Astro + React",
27
- * integrations: ["react", "tailwind"]
28
- * });
29
- *
30
- * @example
31
- * // Create an Astro project with Shadcn UI
32
- * const shadcnProject = await AstroProject("astro-shadcn", {
33
- * title: "Astro with Shadcn UI",
34
- * integrations: ["react", "tailwind"],
35
- * shadcn: {
36
- * baseColor: "zinc",
37
- * components: ["button", "card", "input"]
38
- * }
39
- * });
40
- */
41
- export const AstroProject = Resource("project::AstroProject", {
42
- alwaysUpdate: true,
43
- }, async function (id, props) {
44
- const dir = props.dir ?? props.name;
45
- if (this.phase === "delete") {
46
- try {
47
- if (props.delete !== false) {
48
- if (await fs.stat(dir).catch(() => null)) {
49
- await execAsync(`rm -rf ${dir}`);
50
- }
51
- }
52
- }
53
- catch (error) {
54
- logger.error(`Error deleting project ${id}:`, error);
55
- }
56
- return this.destroy();
57
- }
58
- const cwd = path.resolve(process.cwd(), dir);
59
- // Create the project directory
60
- await Folder("project-dir", {
61
- path: dir,
62
- delete: true,
63
- });
64
- await Folder(".astro", {
65
- path: dir,
66
- delete: true,
67
- clean: true,
68
- });
69
- await setupProject(props);
70
- return this(props);
71
- /**
72
- * Set up the Astro project structure and configuration
73
- */
74
- async function setupProject(props) {
75
- // Create project structure
76
- await ProjectStructure();
77
- // Set up package.json
78
- await StaticJsonFile(path.join(dir, "package.json"), {
79
- name: props.name,
80
- type: "module",
81
- version: "0.0.1",
82
- scripts: {
83
- dev: "astro dev",
84
- start: "astro dev",
85
- build: "astro build",
86
- preview: "astro preview",
87
- astro: "astro",
88
- ...props.scripts,
89
- },
90
- dependencies: props.dependencies || {},
91
- devDependencies: props.devDependencies || {},
92
- });
93
- // Set up tsconfig.json
94
- await StaticJsonFile(path.join(dir, "tsconfig.json"), {
95
- extends: props.tsconfig?.extends || "astro/tsconfigs/strict",
96
- compilerOptions: {
97
- baseUrl: ".",
98
- paths: {
99
- "@/*": ["./src/*"],
100
- },
101
- jsx: "react-jsx",
102
- jsxImportSource: "react",
103
- ...props.tsconfig?.compilerOptions,
104
- },
105
- include: ["src/**/*.ts", "src/**/*.tsx", "src/**/*.astro"],
106
- references: props.tsconfig?.references?.map((path) => ({ path })),
107
- });
108
- // Set up astro.config.mjs
109
- await AstroConfig();
110
- // Set up initial files
111
- await InitialFiles();
112
- // Install integrations
113
- if (props.integrations && props.integrations.length > 0) {
114
- await InstallIntegrations();
115
- }
116
- // Install dependencies
117
- await InstallDependencies();
118
- // Set up Shadcn if requested
119
- if (props.shadcn) {
120
- await ShadcnUI(id, {
121
- ...props.shadcn,
122
- cwd: dir,
123
- });
124
- }
125
- }
126
- /**
127
- * Create the basic project structure
128
- */
129
- async function ProjectStructure() {
130
- const folderPaths = [
131
- "src",
132
- "src/components",
133
- "src/layouts",
134
- "src/pages",
135
- "public",
136
- ];
137
- for (const folderPath of folderPaths) {
138
- await Folder(`${dir}-${folderPath}`, {
139
- path: path.join(dir, folderPath),
140
- });
141
- }
142
- }
143
- /**
144
- * Set up astro.config.mjs
145
- */
146
- async function AstroConfig() {
147
- const integrations = [];
148
- const vitePlugins = [];
149
- // Add imports and integrations
150
- const configImports = ['import { defineConfig } from "astro/config";'];
151
- if (props.integrations?.includes("react")) {
152
- configImports.push('import react from "@astrojs/react";');
153
- integrations.push("react()");
154
- }
155
- if (props.integrations?.includes("preact")) {
156
- configImports.push('import preact from "@astrojs/preact";');
157
- integrations.push("preact()");
158
- }
159
- if (props.integrations?.includes("vue")) {
160
- configImports.push('import vue from "@astrojs/vue";');
161
- integrations.push("vue()");
162
- }
163
- if (props.integrations?.includes("svelte")) {
164
- configImports.push('import svelte from "@astrojs/svelte";');
165
- integrations.push("svelte()");
166
- }
167
- if (props.integrations?.includes("solid")) {
168
- configImports.push('import solid from "@astrojs/solid-js";');
169
- integrations.push("solid()");
170
- }
171
- if (props.integrations?.includes("lit")) {
172
- configImports.push('import lit from "@astrojs/lit";');
173
- integrations.push("lit()");
174
- }
175
- if (props.integrations?.includes("tailwind")) {
176
- configImports.push('import tailwindcss from "@tailwindcss/vite";');
177
- vitePlugins.push("tailwindcss()");
178
- }
179
- if (props.integrations?.includes("mdx")) {
180
- configImports.push('import mdx from "@astrojs/mdx";');
181
- integrations.push("mdx()");
182
- }
183
- if (props.integrations?.includes("sitemap")) {
184
- configImports.push('import sitemap from "@astrojs/sitemap";');
185
- integrations.push("sitemap()");
186
- }
187
- if (props.integrations?.includes("partytown")) {
188
- configImports.push('import partytown from "@astrojs/partytown";');
189
- integrations.push("partytown()");
190
- }
191
- if (props.integrations?.includes("markdoc")) {
192
- configImports.push('import markdoc from "@astrojs/markdoc";');
193
- integrations.push("markdoc()");
194
- }
195
- const integrationsStr = integrations.length
196
- ? `\n integrations: [${integrations.join(", ")}],`
197
- : "";
198
- const vitePluginsStr = vitePlugins.length
199
- ? `\n vite: {\n plugins: [${vitePlugins.join(", ")}]\n },`
200
- : "";
201
- return StaticTypeScriptFile(path.join(dir, "astro.config.ts"), `${configImports.join("\n")}
202
-
203
- // https://astro.build/config
204
- export default defineConfig({${integrationsStr}${vitePluginsStr}
205
- site: "https://example.com",
206
- output: "static"
207
- });`);
208
- }
209
- /**
210
- * Create initial files for the project
211
- */
212
- async function InitialFiles() {
213
- // Create .gitignore
214
- await StaticTextFile(path.join(dir, ".gitignore"), `# build output
215
- dist/
216
- .output/
217
-
218
- # dependencies
219
- node_modules/
220
-
221
- # logs
222
- npm-debug.log*
223
- yarn-debug.log*
224
- yarn-error.log*
225
- pnpm-debug.log*
226
-
227
- # environment variables
228
- .env
229
- .env.production
230
-
231
- # macOS-specific files
232
- .DS_Store
233
- .astro/
234
- `);
235
- // Create .env.d.ts
236
- await StaticTextFile(path.join(dir, "src", "env.d.ts"), `/// <reference types="astro/client" />
237
- `);
238
- // Create a basic layout
239
- await StaticTextFile(path.join(dir, "src", "layouts", "Layout.astro"), `---
240
- interface Props {
241
- title: string;
242
- description?: string;
243
- }
244
-
245
- const { title, description = "Welcome to my Astro site" } = Astro.props;
246
- ---
247
-
248
- <!DOCTYPE html>
249
- <html lang="en">
250
- <head>
251
- <meta charset="UTF-8" />
252
- <meta name="viewport" content="width=device-width" />
253
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
254
- <meta name="generator" content={Astro.generator} />
255
- <meta name="description" content={description} />
256
- <title>{title}</title>
257
- </head>
258
- <body>
259
- <slot />
260
- </body>
261
- </html>
262
-
263
- <style is:global>
264
- :root {
265
- --accent: 124, 58, 237;
266
- --accent-gradient: linear-gradient(45deg, rgb(var(--accent)), #da62c4 30%, white 60%);
267
- }
268
- html {
269
- font-family: system-ui, sans-serif;
270
- background-color: #f6f6f6;
271
- }
272
- code {
273
- font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
274
- Bitstream Vera Sans Mono, Courier New, monospace;
275
- }
276
- </style>
277
- `);
278
- // Create a basic index page
279
- await StaticTextFile(path.join(dir, "src", "pages", "index.astro"), `---
280
- import Layout from '../layouts/Layout.astro';
281
- ---
282
-
283
- <Layout title="${props.title || "Astro Site"}" description="${props.description || "Welcome to my Astro site"}">
284
- <main>
285
- <h1><span class="text-gradient">Astro</span> Site</h1>
286
- <p class="instructions">
287
- To get started, edit <code>src/pages/index.astro</code> and save to see your changes.
288
- </p>
289
- </main>
290
- </Layout>
291
-
292
- <style>
293
- main {
294
- margin: auto;
295
- padding: 1.5rem;
296
- max-width: 60ch;
297
- }
298
- h1 {
299
- font-size: 3rem;
300
- font-weight: 800;
301
- margin: 0;
302
- }
303
- .text-gradient {
304
- background-image: var(--accent-gradient);
305
- -webkit-background-clip: text;
306
- -webkit-text-fill-color: transparent;
307
- background-size: 400%;
308
- background-position: 0%;
309
- }
310
- .instructions {
311
- line-height: 1.6;
312
- margin: 1rem 0;
313
- border: 1px solid rgba(var(--accent), 25%);
314
- background-color: white;
315
- padding: 1rem;
316
- border-radius: 0.4rem;
317
- }
318
- .instructions code {
319
- font-size: 0.875em;
320
- font-weight: bold;
321
- background: rgba(var(--accent), 12%);
322
- color: rgb(var(--accent));
323
- border-radius: 4px;
324
- padding: 0.3em 0.45em;
325
- }
326
- </style>
327
- `);
328
- // Create public/favicon.svg
329
- await StaticTextFile(path.join(dir, "public", "favicon.svg"), `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 36 36">
330
- <path fill="#000" d="M22.25 4h-8.5a1 1 0 0 0-.96.73l-5.54 19.4a.5.5 0 0 0 .62.62l5.05-1.44a2 2 0 0 0 1.38-1.4l3.22-11.66a.5.5 0 0 1 .96 0l3.22 11.67a2 2 0 0 0 1.38 1.39l5.05 1.44a.5.5 0 0 0 .62-.62l-5.54-19.4a1 1 0 0 0-.96-.73Z"/>
331
- <path fill="url(#gradient)" d="M18 28a7.63 7.63 0 0 1-5-2c-1.4 2.1-.35 4.35.6 5.55.14.17.41.07.47-.15.44-1.8 2.93-1.22 2.93.6 0 2.28.87 3.4 1.72 3.81.34.16.59-.2.49-.56-.31-1.05-.29-2.46 1.29-3.25 3-1.5 3.17-4.83 2.5-6-.67.67-2.6 2-5 2Z"/>
332
- <defs>
333
- <linearGradient id="gradient" x1="16" x2="16" y1="32" y2="24" gradientUnits="userSpaceOnUse">
334
- <stop stop-color="#FF1639"/>
335
- <stop offset="1" stop-color="#FF1639" stop-opacity="0"/>
336
- </linearGradient>
337
- </defs>
338
- </svg>
339
- `);
340
- }
341
- /**
342
- * Install Astro integrations
343
- */
344
- async function InstallIntegrations() {
345
- const exec = (command) => execAsync(command, { cwd });
346
- const integrationPackages = [];
347
- for (const integration of props.integrations) {
348
- switch (integration) {
349
- case "react":
350
- integrationPackages.push("@astrojs/react", "react", "react-dom");
351
- break;
352
- case "preact":
353
- integrationPackages.push("@astrojs/preact", "preact");
354
- break;
355
- case "vue":
356
- integrationPackages.push("@astrojs/vue", "vue");
357
- break;
358
- case "svelte":
359
- integrationPackages.push("@astrojs/svelte", "svelte");
360
- break;
361
- case "solid":
362
- integrationPackages.push("@astrojs/solid-js", "solid-js");
363
- break;
364
- case "lit":
365
- integrationPackages.push("@astrojs/lit", "lit");
366
- break;
367
- case "tailwind":
368
- integrationPackages.push("@tailwindcss/vite", "tailwindcss");
369
- // Create a base.css file with @tailwind directives
370
- await Folder(path.join(dir, "src", "styles"));
371
- await StaticTextFile(path.join(dir, "src", "styles", "global.css"), `@tailwind base;
372
- @tailwind components;
373
- @tailwind utilities;
374
- `);
375
- break;
376
- case "mdx":
377
- integrationPackages.push("@astrojs/mdx");
378
- break;
379
- case "sitemap":
380
- integrationPackages.push("@astrojs/sitemap");
381
- break;
382
- case "partytown":
383
- integrationPackages.push("@astrojs/partytown");
384
- break;
385
- case "markdoc":
386
- integrationPackages.push("@astrojs/markdoc");
387
- break;
388
- }
389
- }
390
- if (integrationPackages.length > 0) {
391
- await exec(`bun add astro ${integrationPackages.join(" ")}`);
392
- }
393
- }
394
- /**
395
- * Install dependencies
396
- */
397
- async function InstallDependencies() {
398
- const exec = (command) => execAsync(command, { cwd });
399
- // Install Astro and general dependencies
400
- await exec("bun add astro");
401
- // Install dev dependencies
402
- const devDepsEntries = Object.entries(props.devDependencies || {});
403
- if (devDepsEntries.length > 0) {
404
- const devDepsArg = devDepsEntries
405
- .map(([name, version]) => `${name}@${version}`)
406
- .join(" ");
407
- await exec(`bun add -D ${devDepsArg}`);
408
- }
409
- // Install regular dependencies
410
- const depsEntries = Object.entries(props.dependencies || {});
411
- if (depsEntries.length > 0) {
412
- const depsArg = depsEntries
413
- .map(([name, version]) => `${name}@${version}`)
414
- .join(" ");
415
- await exec(`bun add ${depsArg}`);
416
- }
417
- }
418
- });
419
- //# sourceMappingURL=astro.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"astro.js","sourceRoot":"","sources":["../../src/web/astro.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import type { Context } from "../context.ts";
2
- import { Resource } from "../resource.ts";
3
- export interface ShadcnComponentProps {
4
- /**
5
- * The name of the component to install
6
- */
7
- name: string;
8
- /**
9
- * The working directory where the component should be installed
10
- */
11
- cwd: string;
12
- /**
13
- * Force overwrite of existing component
14
- * @default false
15
- */
16
- force?: boolean;
17
- /**
18
- * Mute output
19
- * @default false
20
- */
21
- silent?: boolean;
22
- }
23
- export interface ShadcnComponent extends ShadcnComponentProps, Resource {
24
- /**
25
- * The name of the installed component
26
- */
27
- name: string;
28
- }
29
- export declare const ShadcnComponent: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<ShadcnComponent>, _id: string, props: ShadcnComponentProps) => Promise<ShadcnComponent>);
30
- //# sourceMappingURL=shadcn-component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shadcn-component.d.ts","sourceRoot":"","sources":["../../src/web/shadcn-component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB,EAAE,QAAQ;IACrE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,yFAGlB,OAAO,CAAC,eAAe,CAAC,OACzB,MAAM,SACJ,oBAAoB,KAC1B,OAAO,CAAC,eAAe,CAAC,CAwB5B,CAAC"}
@@ -1,25 +0,0 @@
1
- import { exec } from "node:child_process";
2
- import fs from "node:fs/promises";
3
- import path from "node:path";
4
- import { promisify } from "node:util";
5
- import { Resource } from "../resource.js";
6
- import { ignore } from "../util/ignore.js";
7
- const execAsync = promisify(exec);
8
- export const ShadcnComponent = Resource("project::ShadcnComponent", async function (_id, props) {
9
- if (this.phase === "delete") {
10
- await ignore("ENOENT", () => fs.unlink(path.join(props.cwd, "src", "components", "ui", `${props.name}.tsx`)));
11
- return this.destroy();
12
- }
13
- // Build the shadcn add command with options
14
- const addCommand = [
15
- "bunx --bun shadcn@latest add",
16
- props.name,
17
- props.silent && "-s",
18
- ]
19
- .filter(Boolean)
20
- .join(" ");
21
- // Execute the command in the specified directory
22
- await execAsync(addCommand, { cwd: props.cwd });
23
- return this(props);
24
- });
25
- //# sourceMappingURL=shadcn-component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shadcn-component.js","sourceRoot":"","sources":["../../src/web/shadcn-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAiClC,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CACrC,0BAA0B,EAC1B,KAAK,WAEH,GAAW,EACX,KAA2B;IAE3B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC1B,EAAE,CAAC,MAAM,CACP,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,CACrE,CACF,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG;QACjB,8BAA8B;QAC9B,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,MAAM,IAAI,IAAI;KACrB;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,iDAAiD;IACjD,MAAM,SAAS,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAEhD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC,CACF,CAAC"}