alchemy 2.0.0-beta.22 → 2.0.0-beta.24

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 (186) hide show
  1. package/bin/alchemy.js +12590 -2452
  2. package/bin/alchemy.js.map +1 -1
  3. package/bin/alchemy.ts +2 -0
  4. package/bin/cli.js +18 -0
  5. package/bin/commands/bootstrap.ts +88 -4
  6. package/bin/commands/deploy.ts +54 -20
  7. package/bin/commands/dev.ts +45 -0
  8. package/bin/commands/logs.ts +1 -1
  9. package/bin/commands/tail.ts +1 -1
  10. package/bin/exec.ts +22 -0
  11. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  12. package/lib/AWS/Lambda/Function.js +25 -21
  13. package/lib/AWS/Lambda/Function.js.map +1 -1
  14. package/lib/AWS/Lambda/HttpServer.d.ts.map +1 -1
  15. package/lib/AWS/Lambda/HttpServer.js +3 -1
  16. package/lib/AWS/Lambda/HttpServer.js.map +1 -1
  17. package/lib/AdoptPolicy.d.ts +2 -2
  18. package/lib/AdoptPolicy.d.ts.map +1 -1
  19. package/lib/AdoptPolicy.js.map +1 -1
  20. package/lib/AlchemyContext.d.ts +1 -0
  21. package/lib/AlchemyContext.d.ts.map +1 -1
  22. package/lib/AlchemyContext.js +1 -0
  23. package/lib/AlchemyContext.js.map +1 -1
  24. package/lib/Build/Command.d.ts.map +1 -1
  25. package/lib/Build/Command.js +8 -1
  26. package/lib/Build/Command.js.map +1 -1
  27. package/lib/Bundle/Bundle.d.ts +21 -9
  28. package/lib/Bundle/Bundle.d.ts.map +1 -1
  29. package/lib/Bundle/Bundle.js +29 -15
  30. package/lib/Bundle/Bundle.js.map +1 -1
  31. package/lib/Cloudflare/Container/Container.d.ts +55 -2
  32. package/lib/Cloudflare/Container/Container.d.ts.map +1 -1
  33. package/lib/Cloudflare/Container/Container.js +55 -2
  34. package/lib/Cloudflare/Container/Container.js.map +1 -1
  35. package/lib/Cloudflare/D1/D1Export.d.ts.map +1 -1
  36. package/lib/Cloudflare/D1/D1Export.js.map +1 -1
  37. package/lib/Cloudflare/D1/D1SqlFile.d.ts.map +1 -1
  38. package/lib/Cloudflare/D1/D1SqlFile.js.map +1 -1
  39. package/lib/Cloudflare/Local/Sidecar.d.ts +27 -0
  40. package/lib/Cloudflare/Local/Sidecar.d.ts.map +1 -0
  41. package/lib/Cloudflare/Local/Sidecar.js +24 -0
  42. package/lib/Cloudflare/Local/Sidecar.js.map +1 -0
  43. package/lib/Cloudflare/Local/SidecarHandlers.d.ts +5 -0
  44. package/lib/Cloudflare/Local/SidecarHandlers.d.ts.map +1 -0
  45. package/lib/Cloudflare/Local/SidecarHandlers.js +119 -0
  46. package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -0
  47. package/lib/Cloudflare/Local/SidecarServer.d.ts +2 -0
  48. package/lib/Cloudflare/Local/SidecarServer.d.ts.map +1 -0
  49. package/lib/Cloudflare/Local/SidecarServer.js +27 -0
  50. package/lib/Cloudflare/Local/SidecarServer.js.map +1 -0
  51. package/lib/Cloudflare/Queue/Queue.d.ts +34 -4
  52. package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -1
  53. package/lib/Cloudflare/Queue/Queue.js +34 -4
  54. package/lib/Cloudflare/Queue/Queue.js.map +1 -1
  55. package/lib/Cloudflare/Queue/QueueBinding.d.ts +33 -0
  56. package/lib/Cloudflare/Queue/QueueBinding.d.ts.map +1 -1
  57. package/lib/Cloudflare/Queue/QueueBinding.js +33 -0
  58. package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
  59. package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
  60. package/lib/Cloudflare/SecretsStore/Secret.js +55 -7
  61. package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
  62. package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts.map +1 -1
  63. package/lib/Cloudflare/SecretsStore/SecretsStore.js +35 -11
  64. package/lib/Cloudflare/SecretsStore/SecretsStore.js.map +1 -1
  65. package/lib/Cloudflare/StateStore/State.d.ts +35 -0
  66. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  67. package/lib/Cloudflare/StateStore/State.js +187 -45
  68. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  69. package/lib/Cloudflare/StateStore/index.d.ts +1 -1
  70. package/lib/Cloudflare/StateStore/index.d.ts.map +1 -1
  71. package/lib/Cloudflare/StateStore/index.js +1 -1
  72. package/lib/Cloudflare/StateStore/index.js.map +1 -1
  73. package/lib/Cloudflare/Workers/Assets.d.ts +1 -1
  74. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  75. package/lib/Cloudflare/Workers/Assets.js +6 -1
  76. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  77. package/lib/Cloudflare/Workers/Compatibility.d.ts +6 -0
  78. package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -0
  79. package/lib/Cloudflare/Workers/Compatibility.js +10 -0
  80. package/lib/Cloudflare/Workers/Compatibility.js.map +1 -0
  81. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts +103 -6
  82. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts.map +1 -1
  83. package/lib/Cloudflare/Workers/DurableObjectNamespace.js +103 -6
  84. package/lib/Cloudflare/Workers/DurableObjectNamespace.js.map +1 -1
  85. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +7 -0
  86. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -0
  87. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +81 -0
  88. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -0
  89. package/lib/Cloudflare/Workers/Worker.d.ts +3 -1
  90. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  91. package/lib/Cloudflare/Workers/Worker.js +54 -7
  92. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  93. package/lib/Cloudflare/Workers/WorkerBundle.d.ts +31 -0
  94. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -0
  95. package/lib/Cloudflare/Workers/WorkerBundle.js +174 -0
  96. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -0
  97. package/lib/Cloudflare/Workers/WorkerName.d.ts +3 -0
  98. package/lib/Cloudflare/Workers/WorkerName.d.ts.map +1 -0
  99. package/lib/Cloudflare/Workers/WorkerName.js +9 -0
  100. package/lib/Cloudflare/Workers/WorkerName.js.map +1 -0
  101. package/lib/Cloudflare/Workers/Workflow.d.ts +94 -0
  102. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  103. package/lib/Cloudflare/Workers/Workflow.js +94 -0
  104. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  105. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  106. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  107. package/lib/Cloudflare/Workers/index.js +1 -0
  108. package/lib/Cloudflare/Workers/index.js.map +1 -1
  109. package/lib/Platform.d.ts +1 -1
  110. package/lib/Platform.d.ts.map +1 -1
  111. package/lib/Platform.js +1 -1
  112. package/lib/Platform.js.map +1 -1
  113. package/lib/Sidecar/Lock.d.ts +24 -0
  114. package/lib/Sidecar/Lock.d.ts.map +1 -0
  115. package/lib/Sidecar/Lock.js +102 -0
  116. package/lib/Sidecar/Lock.js.map +1 -0
  117. package/lib/Sidecar/RpcClient.d.ts +15 -0
  118. package/lib/Sidecar/RpcClient.d.ts.map +1 -0
  119. package/lib/Sidecar/RpcClient.js +75 -0
  120. package/lib/Sidecar/RpcClient.js.map +1 -0
  121. package/lib/Sidecar/RpcHandler.d.ts +48 -0
  122. package/lib/Sidecar/RpcHandler.d.ts.map +1 -0
  123. package/lib/Sidecar/RpcHandler.js +64 -0
  124. package/lib/Sidecar/RpcHandler.js.map +1 -0
  125. package/lib/Sidecar/RpcPaths.d.ts +14 -0
  126. package/lib/Sidecar/RpcPaths.d.ts.map +1 -0
  127. package/lib/Sidecar/RpcPaths.js +22 -0
  128. package/lib/Sidecar/RpcPaths.js.map +1 -0
  129. package/lib/Sidecar/RpcServer.d.ts +10 -0
  130. package/lib/Sidecar/RpcServer.d.ts.map +1 -0
  131. package/lib/Sidecar/RpcServer.js +50 -0
  132. package/lib/Sidecar/RpcServer.js.map +1 -0
  133. package/lib/Sidecar/RpcTransport.d.ts +22 -0
  134. package/lib/Sidecar/RpcTransport.d.ts.map +1 -0
  135. package/lib/Sidecar/RpcTransport.js +81 -0
  136. package/lib/Sidecar/RpcTransport.js.map +1 -0
  137. package/lib/Telemetry/Metrics.d.ts +15 -0
  138. package/lib/Telemetry/Metrics.d.ts.map +1 -1
  139. package/lib/Telemetry/Metrics.js +20 -0
  140. package/lib/Telemetry/Metrics.js.map +1 -1
  141. package/lib/Util/PlatformServices.d.ts +3 -0
  142. package/lib/Util/PlatformServices.d.ts.map +1 -1
  143. package/lib/Util/PlatformServices.js +13 -0
  144. package/lib/Util/PlatformServices.js.map +1 -1
  145. package/lib/Util/layer-scoped.d.ts +16 -0
  146. package/lib/Util/layer-scoped.d.ts.map +1 -0
  147. package/lib/Util/layer-scoped.js +14 -0
  148. package/lib/Util/layer-scoped.js.map +1 -0
  149. package/package.json +4 -2
  150. package/src/AWS/Lambda/Function.ts +30 -24
  151. package/src/AWS/Lambda/HttpServer.ts +3 -1
  152. package/src/AdoptPolicy.ts +9 -9
  153. package/src/AlchemyContext.ts +2 -0
  154. package/src/Build/Command.ts +8 -1
  155. package/src/Bundle/Bundle.ts +65 -25
  156. package/src/Cloudflare/Container/Container.ts +55 -2
  157. package/src/Cloudflare/D1/D1Export.ts +1 -5
  158. package/src/Cloudflare/D1/D1SqlFile.ts +1 -3
  159. package/src/Cloudflare/Local/Sidecar.ts +44 -0
  160. package/src/Cloudflare/Local/SidecarHandlers.ts +182 -0
  161. package/src/Cloudflare/Local/SidecarServer.ts +57 -0
  162. package/src/Cloudflare/Queue/Queue.ts +34 -4
  163. package/src/Cloudflare/Queue/QueueBinding.ts +33 -0
  164. package/src/Cloudflare/SecretsStore/Secret.ts +78 -7
  165. package/src/Cloudflare/SecretsStore/SecretsStore.ts +47 -12
  166. package/src/Cloudflare/StateStore/State.ts +281 -64
  167. package/src/Cloudflare/StateStore/index.ts +1 -1
  168. package/src/Cloudflare/Workers/Assets.ts +10 -1
  169. package/src/Cloudflare/Workers/Compatibility.ts +12 -0
  170. package/src/Cloudflare/Workers/DurableObjectNamespace.ts +103 -6
  171. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +93 -0
  172. package/src/Cloudflare/Workers/Worker.ts +102 -19
  173. package/src/Cloudflare/Workers/WorkerBundle.ts +234 -0
  174. package/src/Cloudflare/Workers/WorkerName.ts +10 -0
  175. package/src/Cloudflare/Workers/Workflow.ts +94 -0
  176. package/src/Cloudflare/Workers/index.ts +1 -0
  177. package/src/Platform.ts +2 -2
  178. package/src/Sidecar/Lock.ts +190 -0
  179. package/src/Sidecar/RpcClient.ts +141 -0
  180. package/src/Sidecar/RpcHandler.ts +169 -0
  181. package/src/Sidecar/RpcPaths.ts +29 -0
  182. package/src/Sidecar/RpcServer.ts +80 -0
  183. package/src/Sidecar/RpcTransport.ts +85 -0
  184. package/src/Telemetry/Metrics.ts +38 -0
  185. package/src/Util/PlatformServices.ts +19 -0
  186. package/src/Util/layer-scoped.ts +25 -0
package/bin/alchemy.ts CHANGED
@@ -17,6 +17,7 @@ import {
17
17
  destroyCommand,
18
18
  planCommand,
19
19
  } from "./commands/deploy.ts";
20
+ import { devCommand } from "./commands/dev.ts";
20
21
  import { loginCommand } from "./commands/login.ts";
21
22
  import { logsCommand } from "./commands/logs.ts";
22
23
  import { profileCommand } from "./commands/profile.ts";
@@ -27,6 +28,7 @@ const root = Command.make("alchemy", {}).pipe(
27
28
  Command.withSubcommands([
28
29
  bootstrapCommand,
29
30
  deployCommand,
31
+ devCommand,
30
32
  destroyCommand,
31
33
  planCommand,
32
34
  tailCommand,
package/bin/cli.js CHANGED
@@ -60,4 +60,22 @@ if (runtime === "bun" && useTs) {
60
60
 
61
61
  args.push(useTs ? tsEntry : jsEntry, ...process.argv.slice(2));
62
62
 
63
+ process.on("uncaughtException", (error) => {
64
+ if (
65
+ error.message.includes(
66
+ "foreground-child watchdog process died unexpectedly!",
67
+ ) &&
68
+ typeof error.cause === "object" &&
69
+ error.cause !== null &&
70
+ "watchedProcess" in error.cause &&
71
+ error.cause.watchedProcess !== null &&
72
+ "cmd" in error.cause.watchedProcess &&
73
+ error.cause.signal === "SIGINT"
74
+ ) {
75
+ console.log("Interrupted.");
76
+ process.exit(0);
77
+ }
78
+ console.error(error);
79
+ });
80
+
63
81
  foregroundChild(runtime, args);
@@ -18,10 +18,16 @@ import {
18
18
  import * as AWSCredentials from "../../src/AWS/Credentials.ts";
19
19
  import * as AWSEnvironment from "../../src/AWS/Environment.ts";
20
20
  import * as AWSRegion from "../../src/AWS/Region.ts";
21
+ import { AuthProviders } from "../../src/Auth/AuthProvider.ts";
22
+ import { withProfileOverride } from "../../src/Auth/Profile.ts";
23
+ import { CloudflareAuth } from "../../src/Cloudflare/Auth/AuthProvider.ts";
24
+ import * as CloudflareCredentials from "../../src/Cloudflare/Credentials.ts";
25
+ import * as CloudflareEnvironment from "../../src/Cloudflare/CloudflareEnvironment.ts";
26
+ import { bootstrap as bootstrapCloudflare } from "../../src/Cloudflare/StateStore/State.ts";
21
27
  import { loadConfigProvider } from "../../src/Util/ConfigProvider.ts";
22
28
  import { fileLogger } from "../../src/Util/FileLogger.ts";
23
29
 
24
- import { envFile, instrumentCommand } from "./_shared.ts";
30
+ import { envFile, instrumentCommand, profile } from "./_shared.ts";
25
31
 
26
32
  const awsProfile = Flag.string("profile").pipe(
27
33
  Flag.withDescription("AWS profile to use for credentials"),
@@ -42,8 +48,8 @@ const bootstrapDestroy = Flag.boolean("destroy").pipe(
42
48
  Flag.withDefault(false),
43
49
  );
44
50
 
45
- export const bootstrapCommand = Command.make(
46
- "bootstrap",
51
+ const bootstrapAwsCommand = Command.make(
52
+ "aws",
47
53
  {
48
54
  envFile,
49
55
  profile: awsProfile,
@@ -51,7 +57,7 @@ export const bootstrapCommand = Command.make(
51
57
  destroy: bootstrapDestroy,
52
58
  },
53
59
  instrumentCommand(
54
- "bootstrap",
60
+ "bootstrap.aws",
55
61
  (a: { profile: string; region: string | undefined; destroy: boolean }) => ({
56
62
  "alchemy.profile": a.profile,
57
63
  "alchemy.region": a.region ?? "",
@@ -124,3 +130,81 @@ export const bootstrapCommand = Command.make(
124
130
  }),
125
131
  ),
126
132
  );
133
+
134
+ const cloudflareForce = Flag.boolean("force").pipe(
135
+ Flag.withDescription(
136
+ "Force a full redeploy even if the state-store worker already exists. " +
137
+ "Without this flag, an existing worker is adopted and only its credentials are refreshed.",
138
+ ),
139
+ Flag.withDefault(false),
140
+ );
141
+
142
+ const cloudflareWorkerName = Flag.string("worker-name").pipe(
143
+ Flag.withDescription(
144
+ "Override the default state-store worker name (advanced; only needed for multiple state stores per account).",
145
+ ),
146
+ Flag.optional,
147
+ Flag.map(Option.getOrUndefined),
148
+ );
149
+
150
+ const bootstrapCloudflareCommand = Command.make(
151
+ "cloudflare",
152
+ {
153
+ envFile,
154
+ profile,
155
+ force: cloudflareForce,
156
+ workerName: cloudflareWorkerName,
157
+ },
158
+ instrumentCommand(
159
+ "bootstrap.cloudflare",
160
+ (a: {
161
+ profile: string;
162
+ force: boolean;
163
+ workerName: string | undefined;
164
+ }) => ({
165
+ "alchemy.profile": a.profile,
166
+ "alchemy.force": a.force,
167
+ "alchemy.worker_name": a.workerName ?? "",
168
+ }),
169
+ )(
170
+ Effect.fnUntraced(function* ({ envFile, profile, force, workerName }) {
171
+ const logger = Logger.layer([fileLogger("bootstrap.txt")]);
172
+
173
+ // Wire up the same Cloudflare auth chain that
174
+ // `Cloudflare.state(...)` uses internally. CloudflareAuth is an
175
+ // `effectDiscard` layer that registers itself into the
176
+ // `AuthProviders` registry at build time, and downstream layers
177
+ // (`fromProfile`, `fromAuthProvider`) plus the deploy stack all
178
+ // look the registry back up through `getAuthProvider`. We need
179
+ // the registry to remain visible all the way through, so the
180
+ // composition uses `provideMerge` (provides + re-exports) rather
181
+ // than `provide` (provides + hides).
182
+ const authProviders: AuthProviders["Service"] = {};
183
+ const authRegistry = Layer.succeed(AuthProviders, authProviders);
184
+ const authLayer = Layer.provideMerge(CloudflareAuth, authRegistry);
185
+ const cloudflareLayers = Layer.provideMerge(
186
+ Layer.mergeAll(
187
+ CloudflareCredentials.fromAuthProvider(),
188
+ CloudflareEnvironment.fromProfile(),
189
+ ),
190
+ authLayer,
191
+ );
192
+
193
+ const services = Layer.mergeAll(
194
+ cloudflareLayers,
195
+ ConfigProvider.layer(
196
+ withProfileOverride(yield* loadConfigProvider(envFile), profile),
197
+ ),
198
+ logger,
199
+ );
200
+
201
+ yield* bootstrapCloudflare({ workerName, force }).pipe(
202
+ Effect.provide(services),
203
+ );
204
+ }),
205
+ ),
206
+ );
207
+
208
+ export const bootstrapCommand = Command.make("bootstrap", {}).pipe(
209
+ Command.withSubcommands([bootstrapAwsCommand, bootstrapCloudflareCommand]),
210
+ );
@@ -4,8 +4,12 @@ import * as Effect from "effect/Effect";
4
4
  import * as Layer from "effect/Layer";
5
5
  import * as Logger from "effect/Logger";
6
6
  import * as Option from "effect/Option";
7
+ import * as Schema from "effect/Schema";
7
8
  import * as Command from "effect/unstable/cli/Command";
9
+ import * as Flag from "effect/unstable/cli/Flag";
8
10
 
11
+ import { AdoptPolicy } from "../../src/AdoptPolicy.ts";
12
+ import { AlchemyContext } from "../../src/AlchemyContext.ts";
9
13
  import { apply } from "../../src/Apply.ts";
10
14
  import { ArtifactStore, createArtifactStore } from "../../src/Artifacts.ts";
11
15
  import { AuthProviders } from "../../src/Auth/AuthProvider.ts";
@@ -28,24 +32,40 @@ import {
28
32
  yes,
29
33
  } from "./_shared.ts";
30
34
 
31
- const stackSpanAttrs = (args: {
32
- main: string;
33
- stage: string;
34
- profile: string;
35
- dryRun?: boolean;
36
- force?: boolean;
37
- yes?: boolean;
38
- destroy?: boolean;
39
- }) => ({
35
+ export const ExecStackOptions = Schema.Struct({
36
+ main: Schema.String,
37
+ stage: Schema.String,
38
+ envFile: Schema.OptionFromOptional(Schema.String),
39
+ profile: Schema.optional(Schema.String),
40
+ dryRun: Schema.optional(Schema.Boolean),
41
+ force: Schema.optional(Schema.Boolean),
42
+ yes: Schema.optional(Schema.Boolean),
43
+ destroy: Schema.optional(Schema.Boolean),
44
+ dev: Schema.optional(Schema.Boolean),
45
+ adopt: Schema.optional(Schema.Boolean),
46
+ });
47
+ export type ExecStackOptions = typeof ExecStackOptions.Type;
48
+
49
+ const stackSpanAttrs = (args: ExecStackOptions) => ({
40
50
  "alchemy.stage": args.stage,
41
51
  "alchemy.profile": args.profile,
42
52
  "alchemy.main": args.main,
43
53
  "alchemy.dry_run": !!args.dryRun,
44
54
  "alchemy.force": !!args.force,
45
55
  "alchemy.destroy": !!args.destroy,
56
+ "alchemy.dev": !!args.dev,
57
+ "alchemy.adopt": !!args.adopt,
46
58
  });
47
59
 
48
- const execStack = Effect.fn(function* ({
60
+ const adopt = Flag.boolean("adopt").pipe(
61
+ Flag.withDescription(
62
+ "Adopt pre-existing cloud resources that conflict with this stack instead of failing. " +
63
+ "Useful for re-importing infrastructure into a fresh state store.",
64
+ ),
65
+ Flag.withDefault(false),
66
+ );
67
+
68
+ export const execStack = Effect.fn(function* ({
49
69
  main,
50
70
  stage,
51
71
  envFile,
@@ -54,19 +74,28 @@ const execStack = Effect.fn(function* ({
54
74
  force = false,
55
75
  yes = false,
56
76
  destroy = false,
57
- }: {
58
- main: string;
59
- stage: string;
60
- envFile: Option.Option<string>;
61
- profile: string;
62
- dryRun?: boolean;
63
- force?: boolean;
64
- yes?: boolean;
65
- destroy?: boolean;
66
- }) {
77
+ dev = false,
78
+ adopt = false,
79
+ }: ExecStackOptions) {
67
80
  const stackEffect = yield* importStack(main);
68
81
 
69
82
  const services = Layer.mergeAll(
83
+ Layer.effect(
84
+ AlchemyContext,
85
+ AlchemyContext.asEffect().pipe(
86
+ Effect.map((ctx) => ({
87
+ ...ctx,
88
+ dev,
89
+ })),
90
+ ),
91
+ ),
92
+ // `--adopt` opts the entire deploy in to adoption-on-conflict.
93
+ // Resource providers that wire `AdoptPolicy` (Worker domains,
94
+ // Cloudflare.SecretsStore, etc.) will reconcile against
95
+ // pre-existing cloud resources instead of failing on duplicates.
96
+ // Default is `false` so an unintentional collision still surfaces
97
+ // loudly.
98
+ Layer.succeed(AdoptPolicy, adopt),
70
99
  Layer.succeed(ArtifactStore, createArtifactStore()),
71
100
  Layer.succeed(
72
101
  AuthProviders,
@@ -120,6 +149,10 @@ const execStack = Effect.fn(function* ({
120
149
  if (outputs !== undefined) {
121
150
  yield* Console.log(outputs);
122
151
  }
152
+
153
+ if (dev) {
154
+ yield* Effect.never;
155
+ }
123
156
  }
124
157
  }).pipe(Effect.provide(stack.services));
125
158
  }).pipe(Effect.provide(services));
@@ -135,6 +168,7 @@ export const deployCommand = Command.make(
135
168
  stage,
136
169
  yes,
137
170
  profile,
171
+ adopt,
138
172
  },
139
173
  instrumentCommand("deploy", stackSpanAttrs)(execStack),
140
174
  );
@@ -0,0 +1,45 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Schema from "effect/Schema";
3
+ import * as Command from "effect/unstable/cli/Command";
4
+ import * as ChildProcess from "effect/unstable/process/ChildProcess";
5
+ import { fileURLToPath } from "node:url";
6
+ import { envFile, force, main, profile, stage } from "./_shared.ts";
7
+ import { ExecStackOptions } from "./deploy.ts";
8
+
9
+ export const devCommand = Command.make(
10
+ "dev",
11
+ {
12
+ force,
13
+ main,
14
+ envFile,
15
+ stage,
16
+ profile,
17
+ },
18
+ Effect.fn(function* (args) {
19
+ const options = yield* Schema.encodeEffect(ExecStackOptions)({
20
+ ...args,
21
+ yes: true,
22
+ dev: true,
23
+ });
24
+ const bin = typeof globalThis.Bun !== "undefined" ? "bun" : "node";
25
+ const child = yield* ChildProcess.make(
26
+ bin,
27
+ [
28
+ "run",
29
+ "--watch",
30
+ "--no-clear-screen",
31
+ fileURLToPath(import.meta.resolve("../exec.ts")),
32
+ ],
33
+ {
34
+ stdin: "inherit",
35
+ stdout: "inherit",
36
+ stderr: "inherit",
37
+ env: {
38
+ ALCHEMY_EXEC_OPTIONS: JSON.stringify(options),
39
+ },
40
+ extendEnv: true,
41
+ },
42
+ );
43
+ yield* child.exitCode;
44
+ }),
45
+ );
@@ -86,10 +86,10 @@ export const logsCommand = Command.make(
86
86
  const sinceDate = since ? parseSince(since) : undefined;
87
87
 
88
88
  yield* Effect.gen(function* () {
89
- const state = yield* State.State;
90
89
  const stack = yield* stackEffect;
91
90
 
92
91
  yield* Effect.gen(function* () {
92
+ const state = yield* State.State;
93
93
  const filterSet = parseResourceFilter(filter);
94
94
  const availableIds = [
95
95
  ...new Set(Object.values(stack.resources).map((r) => r.LogicalId)),
@@ -59,10 +59,10 @@ export const tailCommand = Command.make(
59
59
  );
60
60
 
61
61
  yield* Effect.gen(function* () {
62
- const state = yield* State.State;
63
62
  const stack = yield* stackEffect;
64
63
 
65
64
  yield* Effect.gen(function* () {
65
+ const state = yield* State.State;
66
66
  const filterSet = parseResourceFilter(filter);
67
67
  const availableIds = [
68
68
  ...new Set(Object.values(stack.resources).map((r) => r.LogicalId)),
package/bin/exec.ts ADDED
@@ -0,0 +1,22 @@
1
+ import * as ConfigProvider from "effect/ConfigProvider";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Schema from "effect/Schema";
5
+ import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
6
+ import { AlchemyContextLive } from "../src/AlchemyContext.ts";
7
+ import { inkCLI } from "../src/Cli/InkCLI.tsx";
8
+ import { PlatformServices, runMain } from "../src/Util/PlatformServices.ts";
9
+ import { execStack, ExecStackOptions } from "./commands/deploy.ts";
10
+
11
+ const services = Layer.mergeAll(
12
+ Layer.provideMerge(AlchemyContextLive, PlatformServices),
13
+ FetchHttpClient.layer,
14
+ ConfigProvider.layer(ConfigProvider.fromEnv()),
15
+ inkCLI(),
16
+ );
17
+
18
+ const options = Schema.decodeSync(ExecStackOptions)(
19
+ JSON.parse(process.env.ALCHEMY_EXEC_OPTIONS!),
20
+ );
21
+
22
+ execStack(options).pipe(Effect.provide(services), Effect.scoped, runMain);
@@ -1 +1 @@
1
- {"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/Function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/Function.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import { createPhysicalName } from "../../PhysicalName.js";
17
17
  import { Platform } from "../../Platform.js";
18
18
  import * as Provider from "../../Provider.js";
19
19
  import { Resource } from "../../Resource.js";
20
+ import { Self } from "../../Self.js";
20
21
  import * as Serverless from "../../Serverless/index.js";
21
22
  import { Stack } from "../../Stack.js";
22
23
  import { createInternalTags, createTagsList, hasTags } from "../../Tags.js";
@@ -429,7 +430,6 @@ export const FunctionProvider = () => Provider.effect(Function, Effect.gen(funct
429
430
  cwd,
430
431
  external: [
431
432
  /^@aws-sdk\//,
432
- /^@smithy\//,
433
433
  ...(props.build?.input?.external ?? []),
434
434
  ],
435
435
  platform: "node",
@@ -438,37 +438,42 @@ export const FunctionProvider = () => Provider.effect(Function, Effect.gen(funct
438
438
  ...props.build?.output,
439
439
  format: "esm",
440
440
  sourcemap: rolldownSourcemap,
441
- minify: props.build?.output?.minify ?? true,
441
+ minify: props.build?.output?.minify ?? false,
442
442
  entryFileNames: "index.js",
443
+ codeSplitting: props.build?.output?.codeSplitting ?? false,
443
444
  });
444
445
  });
445
446
  const bundleOutput = props.isExternal
446
447
  ? yield* buildBundle(realMain)
447
448
  : yield* buildBundle(realMain, virtualEntryPlugin((importPath) => `
448
- import { NodeServices } from "@effect/platform-node";
449
+ import { layer as nodeServicesLayer } from "@effect/platform-node/NodeServices";
449
450
  import { Stack } from "alchemy/Stack";
450
451
  import * as Config from "effect/Config";
451
452
  import * as ConfigProvider from "effect/ConfigProvider";
452
453
  import * as Credentials from "@distilled.cloud/aws/Credentials";
453
454
  import * as Effect from "effect/Effect";
454
- import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
455
+ import { layer as fetchHttpClientLayer } from "effect/unstable/http/FetchHttpClient";
455
456
  import * as Layer from "effect/Layer";
456
457
  import * as Logger from "effect/Logger";
457
458
  import * as Region from "@distilled.cloud/aws/Region";
458
459
  import * as Context from "effect/Context";
459
460
  import { MinimumLogLevel } from "effect/References";
460
461
 
461
- import { ${handler} as layer } from "${importPath}";
462
+ import entry from "${importPath}";
463
+
464
+ const tag = Context.Service("${Self.key}")
465
+ const layer =
466
+ typeof entry?.build === "function"
467
+ ? entry
468
+ : Layer.effect(tag, typeof entry?.asEffect === "function" ? entry.asEffect() : entry);
462
469
 
463
470
  const platform = Layer.mergeAll(
464
- NodeServices.layer,
465
- FetchHttpClient.layer,
471
+ nodeServicesLayer,
472
+ fetchHttpClientLayer,
466
473
  // TODO(sam): wire this up to telemetry more directly
467
474
  Logger.layer([Logger.consolePretty()]),
468
475
  );
469
476
 
470
- const tag = Context.Service("${FunctionTypeId}<${id}>")
471
-
472
477
  const stack = Layer.effect(
473
478
  Stack,
474
479
  Effect.all([
@@ -485,7 +490,8 @@ const stack = Layer.effect(
485
490
  );
486
491
 
487
492
  const handlerEffect = tag.asEffect().pipe(
488
- Effect.flatMap(func => func.ExecutionContext.exports.handler),
493
+ Effect.flatMap(func => func.ExecutionContext.exports),
494
+ Effect.flatMap(exports => exports.handler),
489
495
  Effect.provide(
490
496
  layer.pipe(
491
497
  Layer.provideMerge(stack),
@@ -515,17 +521,15 @@ export default await Effect.runPromise(handlerEffect)
515
521
  const code = typeof mainFile.content === "string"
516
522
  ? new TextEncoder().encode(mainFile.content)
517
523
  : mainFile.content;
518
- const sourceMapFile = uploadSourceMap && (sourcemap === true || sourcemap === "hidden")
519
- ? bundleOutput.files.find((f) => f.path.endsWith(".map"))
520
- : undefined;
521
- const archive = yield* zipCode(code, sourceMapFile
522
- ? [
523
- {
524
- path: sourceMapFile.path,
525
- content: sourceMapFile.content,
526
- },
527
- ]
528
- : undefined);
524
+ const includeSourceMaps = uploadSourceMap && (sourcemap === true || sourcemap === "hidden");
525
+ const extraFiles = bundleOutput.files
526
+ .slice(1)
527
+ .filter((f) => includeSourceMaps || !f.path.endsWith(".map"))
528
+ .map((f) => ({
529
+ path: f.path,
530
+ content: f.content,
531
+ }));
532
+ const archive = yield* zipCode(code, extraFiles.length > 0 ? extraFiles : undefined);
529
533
  return {
530
534
  archive,
531
535
  code,
@@ -1 +1 @@
1
- {"version":3,"file":"Function.js","sourceRoot":"","sources":["../../../src/AWS/Lambda/Function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Function.js","sourceRoot":"","sources":["../../../src/AWS/Lambda/Function.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/HttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAE5E,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,eAAO,MAAM,kBAAkB,GAC7B,OAAO,GAAG,KACT,KAAK,IAAI,sBAEX,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,GAAG,EAAE,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAEhE,OAAO,GAAG,yHAkBnB,CAAC"}
1
+ {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../../src/AWS/Lambda/HttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAE5E,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,eAAO,MAAM,kBAAkB,GAC7B,OAAO,GAAG,KACT,KAAK,IAAI,sBAEX,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,GAAG,EAAE,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAEhE,OAAO,GAAG,yHAoBnB,CAAC"}
@@ -10,7 +10,9 @@ export const makeFunctionHttpHandler = (handler) => {
10
10
  const safeHandler = Http.safeHttpEffect(handler);
11
11
  return (event) => {
12
12
  if (isFunctionURLEvent(event)) {
13
- const request = HttpServerRequest.fromWeb(toWebRequest(event)).modify({
13
+ const webRequest = toWebRequest(event);
14
+ const request = HttpServerRequest.fromWeb(webRequest).modify({
15
+ url: webRequest.url,
14
16
  remoteAddress: Option.some(event.requestContext.http.sourceIp),
15
17
  });
16
18
  return safeHandler.pipe(Effect.provideService(HttpServerRequest.HttpServerRequest, request), Effect.flatMap(toLambdaFunctionURLResult));