alchemy 0.55.2 → 0.56.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 (87) hide show
  1. package/bin/alchemy.js +13920 -6724
  2. package/lib/alchemy.d.ts.map +1 -1
  3. package/lib/alchemy.js +7 -0
  4. package/lib/alchemy.js.map +1 -1
  5. package/lib/cloudflare/bundle/plugin-alias.d.ts +3 -0
  6. package/lib/cloudflare/bundle/plugin-alias.d.ts.map +1 -0
  7. package/lib/cloudflare/bundle/plugin-alias.js +40 -0
  8. package/lib/cloudflare/bundle/plugin-alias.js.map +1 -0
  9. package/lib/cloudflare/bundle/plugin-hot-reload.d.ts +1 -3
  10. package/lib/cloudflare/bundle/plugin-hot-reload.d.ts.map +1 -1
  11. package/lib/cloudflare/bundle/plugin-hot-reload.js +4 -1
  12. package/lib/cloudflare/bundle/plugin-hot-reload.js.map +1 -1
  13. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  14. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  15. package/lib/cloudflare/compatibility-presets.d.ts +1 -1
  16. package/lib/cloudflare/compatibility-presets.js +1 -1
  17. package/lib/cloudflare/compatibility-presets.js.map +1 -1
  18. package/lib/cloudflare/local-dev-cloudflare-shim.d.ts +3 -1
  19. package/lib/cloudflare/local-dev-cloudflare-shim.d.ts.map +1 -1
  20. package/lib/cloudflare/local-dev-cloudflare-shim.js +10 -5
  21. package/lib/cloudflare/local-dev-cloudflare-shim.js.map +1 -1
  22. package/lib/cloudflare/miniflare/build-worker-options.d.ts +22 -0
  23. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -0
  24. package/lib/cloudflare/miniflare/build-worker-options.js +394 -0
  25. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -0
  26. package/lib/cloudflare/miniflare/miniflare-controller.d.ts +23 -0
  27. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -0
  28. package/lib/cloudflare/miniflare/miniflare-controller.js +110 -0
  29. package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -0
  30. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  31. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +5 -15
  32. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  33. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts +1 -5
  34. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  35. package/lib/cloudflare/miniflare/remote-binding-proxy.js +17 -22
  36. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  37. package/lib/cloudflare/website.js +4 -4
  38. package/lib/cloudflare/website.js.map +1 -1
  39. package/lib/cloudflare/worker-bundle.d.ts +2 -0
  40. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  41. package/lib/cloudflare/worker-bundle.js +21 -4
  42. package/lib/cloudflare/worker-bundle.js.map +1 -1
  43. package/lib/cloudflare/worker.d.ts.map +1 -1
  44. package/lib/cloudflare/worker.js +76 -97
  45. package/lib/cloudflare/worker.js.map +1 -1
  46. package/lib/context.d.ts +11 -0
  47. package/lib/context.d.ts.map +1 -1
  48. package/lib/context.js +8 -0
  49. package/lib/context.js.map +1 -1
  50. package/lib/scope.d.ts +12 -0
  51. package/lib/scope.d.ts.map +1 -1
  52. package/lib/scope.js +25 -0
  53. package/lib/scope.js.map +1 -1
  54. package/lib/util/telemetry/client.d.ts +3 -4
  55. package/lib/util/telemetry/client.d.ts.map +1 -1
  56. package/lib/util/telemetry/client.js +19 -25
  57. package/lib/util/telemetry/client.js.map +1 -1
  58. package/lib/util/telemetry/types.d.ts +1 -1
  59. package/lib/util/telemetry/types.d.ts.map +1 -1
  60. package/package.json +3 -2
  61. package/src/alchemy.ts +7 -0
  62. package/src/cloudflare/bundle/plugin-alias.ts +49 -0
  63. package/src/cloudflare/bundle/plugin-hot-reload.ts +4 -3
  64. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  65. package/src/cloudflare/compatibility-presets.ts +1 -1
  66. package/src/cloudflare/local-dev-cloudflare-shim.ts +11 -5
  67. package/src/cloudflare/miniflare/build-worker-options.ts +454 -0
  68. package/src/cloudflare/miniflare/miniflare-controller.ts +128 -0
  69. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +6 -15
  70. package/src/cloudflare/miniflare/remote-binding-proxy.ts +18 -23
  71. package/src/cloudflare/website.ts +4 -4
  72. package/src/cloudflare/worker-bundle.ts +30 -4
  73. package/src/cloudflare/worker.ts +90 -125
  74. package/src/context.ts +19 -0
  75. package/src/scope.ts +27 -0
  76. package/src/util/telemetry/client.ts +23 -33
  77. package/src/util/telemetry/types.ts +3 -3
  78. package/lib/cloudflare/miniflare/miniflare-worker-options.d.ts +0 -14
  79. package/lib/cloudflare/miniflare/miniflare-worker-options.d.ts.map +0 -1
  80. package/lib/cloudflare/miniflare/miniflare-worker-options.js +0 -468
  81. package/lib/cloudflare/miniflare/miniflare-worker-options.js.map +0 -1
  82. package/lib/cloudflare/miniflare/miniflare.d.ts +0 -40
  83. package/lib/cloudflare/miniflare/miniflare.d.ts.map +0 -1
  84. package/lib/cloudflare/miniflare/miniflare.js +0 -142
  85. package/lib/cloudflare/miniflare/miniflare.js.map +0 -1
  86. package/src/cloudflare/miniflare/miniflare-worker-options.ts +0 -599
  87. package/src/cloudflare/miniflare/miniflare.ts +0 -183
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/cloudflare/worker.ts"],"names":[],"mappings":"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"}
package/lib/context.d.ts CHANGED
@@ -44,6 +44,17 @@ export interface BaseContext<Out extends Resource> {
44
44
  * "return undefined" so that `await MyResource()` always returns a value.
45
45
  */
46
46
  destroy(): never;
47
+ /**
48
+ * Register a cleanup function that will be called when the process exits.
49
+ *
50
+ * @example
51
+ * const proc = spawn('my-command', ['arg1', 'arg2']);
52
+ * this.onCleanup(async () => {
53
+ * proc.kill();
54
+ * await waitForExit(proc);
55
+ * });
56
+ */
57
+ onCleanup(fn: () => void | Promise<void>): void;
47
58
  /**
48
59
  * Create the Resource envelope (with Alchemy + User properties)
49
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/lib/context.js CHANGED
@@ -35,6 +35,14 @@ export function context({ scope, phase, kind, id, fqn, seq, state, replace, prop
35
35
  destroy: () => {
36
36
  throw new DestroyedSignal();
37
37
  },
38
+ onCleanup: (fn) => {
39
+ // make the function idempotent so repeated calls don't cause the process to hang
40
+ let promise;
41
+ scope.root.onCleanup(async () => {
42
+ promise ??= Promise.resolve(fn());
43
+ await promise;
44
+ });
45
+ },
38
46
  create,
39
47
  });
40
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GAGZ,MAAM,eAAe,CAAC;AAuEvB,MAAM,UAAU,OAAO,CAIrB,EACA,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,EACF,GAAG,EACH,GAAG,EACH,KAAK,EACL,OAAO,EACP,KAAK,EACL,aAAa,GAAG,KAAK,GAYtB;IASC,SAAS,MAAM,CACb,GAAG,IAEgD;QAEnD,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,OAAO;YACL,GAAG,KAAK;YACR,CAAC,YAAY,CAAC,EAAE,IAAI;YACpB,CAAC,UAAU,CAAC,EAAE,EAAE;YAChB,CAAC,WAAW,CAAC,EAAE,GAAG;YAClB,CAAC,aAAa,CAAC,EAAE,KAAK;YACtB,CAAC,WAAW,CAAC,EAAE,GAAG;SACZ,CAAC;IACX,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK;QACL,EAAE,EAAE,EAAE;QACN,GAAG,EAAE,GAAG;QACR,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK;QACL,OAAO;QACP,aAAa;QACb,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACrC,GAAG,EAAE,KAAK,EAAE,GAAW,EAAE,KAAU,EAAE,EAAE;YACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM;KACP,CAA4B,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GAGZ,MAAM,eAAe,CAAC;AAkFvB,MAAM,UAAU,OAAO,CAIrB,EACA,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,EACF,GAAG,EACH,GAAG,EACH,KAAK,EACL,OAAO,EACP,KAAK,EACL,aAAa,GAAG,KAAK,GAYtB;IASC,SAAS,MAAM,CACb,GAAG,IAEgD;QAEnD,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,OAAO;YACL,GAAG,KAAK;YACR,CAAC,YAAY,CAAC,EAAE,IAAI;YACpB,CAAC,UAAU,CAAC,EAAE,EAAE;YAChB,CAAC,WAAW,CAAC,EAAE,GAAG;YAClB,CAAC,aAAa,CAAC,EAAE,KAAK;YACtB,CAAC,WAAW,CAAC,EAAE,GAAG;SACZ,CAAC;IACX,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK;QACL,EAAE,EAAE,EAAE;QACN,GAAG,EAAE,GAAG;QACR,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK;QACL,OAAO;QACP,aAAa;QACb,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACrC,GAAG,EAAE,KAAK,EAAE,GAAW,EAAE,KAAU,EAAE,EAAE;YACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QACD,SAAS,EAAE,CAAC,EAA8B,EAAE,EAAE;YAC5C,iFAAiF;YACjF,IAAI,OAAkC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;gBAC9B,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,MAAM,OAAO,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM;KACP,CAA4B,CAAC;AAChC,CAAC"}
package/lib/scope.d.ts CHANGED
@@ -61,6 +61,7 @@ export declare class Scope {
61
61
  static readonly KIND: "alchemy::Scope";
62
62
  static storage: AsyncLocalStorage<Scope>;
63
63
  static globals: Scope[];
64
+ private static exitHandlerInstalled;
64
65
  static getScope(): Scope | undefined;
65
66
  static get root(): Scope;
66
67
  static get current(): Scope;
@@ -87,6 +88,7 @@ export declare class Scope {
87
88
  private finalized;
88
89
  private startedAt;
89
90
  private deferred;
91
+ private cleanups;
90
92
  get appName(): string;
91
93
  constructor(options: ScopeOptions);
92
94
  /**
@@ -129,6 +131,16 @@ export declare class Scope {
129
131
  * Defers execution of a function until the Alchemy application finalizes.
130
132
  */
131
133
  defer<T>(fn: () => Promise<T>): Promise<T>;
134
+ /**
135
+ * Run all cleanup functions registered with `onCleanup`.
136
+ * This should only be called on the root scope.
137
+ */
138
+ cleanup(): Promise<void>;
139
+ /**
140
+ * Register a cleanup function that will be called when the process exits.
141
+ * This should only be called on the root scope.
142
+ */
143
+ onCleanup(fn: () => Promise<void>): void;
132
144
  /**
133
145
  * Returns a string representation of the scope.
134
146
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
package/lib/scope.js CHANGED
@@ -1,3 +1,4 @@
1
+ import kleur from "kleur";
1
2
  import { AsyncLocalStorage } from "node:async_hooks";
2
3
  import util from "node:util";
3
4
  import { destroy, destroyAll, DestroyStrategy } from "./destroy.js";
@@ -28,6 +29,7 @@ export class Scope {
28
29
  static storage = (globalThis.__ALCHEMY_STORAGE__ ??=
29
30
  new AsyncLocalStorage());
30
31
  static globals = (globalThis.__ALCHEMY_GLOBALS__ ??= []);
32
+ static exitHandlerInstalled = false;
31
33
  static getScope() {
32
34
  const scope = Scope.storage.getStore();
33
35
  if (!scope) {
@@ -70,6 +72,7 @@ export class Scope {
70
72
  finalized = false;
71
73
  startedAt = performance.now();
72
74
  deferred = [];
75
+ cleanups = [];
73
76
  get appName() {
74
77
  if (this.parent) {
75
78
  return this.parent.appName;
@@ -319,6 +322,7 @@ export class Scope {
319
322
  this.logger.warn("Telemetry finalization failed:", error);
320
323
  });
321
324
  if (!this.parent && process.env.ALCHEMY_TEST_KILL_ON_FINALIZE) {
325
+ await this.cleanup();
322
326
  process.exit(0);
323
327
  }
324
328
  }
@@ -375,6 +379,27 @@ export class Scope {
375
379
  });
376
380
  return promise;
377
381
  }
382
+ /**
383
+ * Run all cleanup functions registered with `onCleanup`.
384
+ * This should only be called on the root scope.
385
+ */
386
+ async cleanup() {
387
+ if (this.parent)
388
+ return;
389
+ this.logger.log(kleur.gray("Exiting..."));
390
+ await Promise.allSettled(this.cleanups.map((cleanup) => cleanup()));
391
+ }
392
+ /**
393
+ * Register a cleanup function that will be called when the process exits.
394
+ * This should only be called on the root scope.
395
+ */
396
+ onCleanup(fn) {
397
+ if (this.parent) {
398
+ this.root.onCleanup(fn);
399
+ return;
400
+ }
401
+ this.cleanups.push(fn);
402
+ }
378
403
  /**
379
404
  * Returns a string representation of the scope.
380
405
  */
package/lib/scope.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export interface TelemetryClientOptions {
7
7
  quiet: boolean;
8
8
  }
9
9
  export interface ITelemetryClient {
10
- ready: Promise<void>;
10
+ ready: Promise<unknown>;
11
11
  record(event: Telemetry.EventInput): void;
12
12
  finalize(): Promise<void>;
13
13
  }
@@ -18,11 +18,10 @@ export declare class NoopTelemetryClient implements ITelemetryClient {
18
18
  }
19
19
  export declare class TelemetryClient implements ITelemetryClient {
20
20
  readonly options: TelemetryClientOptions;
21
- ready: Promise<void>;
21
+ private context;
22
22
  private events;
23
- private context?;
24
23
  constructor(options: TelemetryClientOptions);
25
- private init;
24
+ get ready(): Promise<Telemetry.Context>;
26
25
  record(event: Telemetry.EventInput, timestamp?: number): void;
27
26
  private serializeError;
28
27
  finalize(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/util/telemetry/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAO9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,KAAK,gBAAqB;IAC1B,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU;IAC9B,QAAQ;CAGT;AAED,qBAAa,eAAgB,YAAW,gBAAgB;IAM1C,QAAQ,CAAC,OAAO,EAAE,sBAAsB;IALpD,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAErB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAoB;gBAEf,OAAO,EAAE,sBAAsB;YAItC,IAAI;IAclB,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,SAAa;IAS1D,OAAO,CAAC,cAAc;IAkBhB,QAAQ;YAQA,IAAI;IAkClB,MAAM,CAAC,MAAM,CAAC,EACZ,KAAK,EACL,OAAO,EACP,KAAK,GACN,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAAG,gBAAgB;CAchE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/util/telemetry/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAO9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,KAAK,gBAAqB;IAC1B,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU;IAC9B,QAAQ;CAGT;AAED,qBAAa,eAAgB,YAAW,gBAAgB;IAI1C,QAAQ,CAAC,OAAO,EAAE,sBAAsB;IAHpD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAyB;gBAElB,OAAO,EAAE,sBAAsB;IAUpD,IAAI,KAAK,+BAER;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,SAAa;IAS1D,OAAO,CAAC,cAAc;IAiBhB,QAAQ;YAQA,IAAI;IA+BlB,MAAM,CAAC,MAAM,CAAC,EACZ,KAAK,EACL,OAAO,EACP,KAAK,GACN,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAAG,gBAAgB;CAchE"}
@@ -10,22 +10,20 @@ export class NoopTelemetryClient {
10
10
  }
11
11
  export class TelemetryClient {
12
12
  options;
13
- ready;
14
- events = [];
15
13
  context;
14
+ events = [];
16
15
  constructor(options) {
17
16
  this.options = options;
18
- this.ready = this.init();
19
- }
20
- async init() {
21
- const now = Date.now();
22
- this.context = await context({
17
+ this.context = context({
23
18
  sessionId: this.options.sessionId,
24
19
  phase: this.options.phase,
25
20
  });
26
21
  this.record({
27
22
  event: "app.start",
28
- }, now);
23
+ });
24
+ }
25
+ get ready() {
26
+ return this.context;
29
27
  }
30
28
  record(event, timestamp = Date.now()) {
31
29
  const payload = {
@@ -43,9 +41,8 @@ export class TelemetryClient {
43
41
  return {
44
42
  ...error, // include additional properties from error object
45
43
  name: error.name,
46
- message: error.message,
47
- // TODO: maybe redact more of the stack trace?
48
- stack: error.stack?.replaceAll(os.homedir(), "~"), // redact home directory
44
+ message: error.message?.replaceAll(os.homedir(), "~"), // redact home directory
45
+ stack: error.stack?.replaceAll(os.homedir(), "~"),
49
46
  };
50
47
  }
51
48
  return error;
@@ -58,10 +55,10 @@ export class TelemetryClient {
58
55
  });
59
56
  }
60
57
  async send(events) {
61
- if (events.length === 0 || this.context) {
58
+ if (events.length === 0) {
62
59
  return;
63
60
  }
64
- const { userId, ...data } = this.context;
61
+ const { userId, ...context } = await this.context;
65
62
  const response = await fetch(`${POSTHOG_CLIENT_API_HOST}/batch`, {
66
63
  method: "POST",
67
64
  headers: {
@@ -70,18 +67,15 @@ export class TelemetryClient {
70
67
  body: JSON.stringify({
71
68
  api_key: POSTHOG_PROJECT_ID,
72
69
  historical_migration: false,
73
- batch: events.map((e) => {
74
- const { event, ...eventData } = e;
75
- return {
76
- event: event,
77
- properties: {
78
- distinct_id: userId,
79
- ...data,
80
- ...eventData,
81
- },
82
- timestamp: new Date(e.timestamp).toISOString(),
83
- };
84
- }),
70
+ batch: events.map(({ event, timestamp, ...properties }) => ({
71
+ event,
72
+ properties: {
73
+ distinct_id: userId,
74
+ ...context,
75
+ ...properties,
76
+ },
77
+ timestamp: new Date(timestamp).toISOString(),
78
+ })),
85
79
  }),
86
80
  });
87
81
  if (!response.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/util/telemetry/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/util/telemetry/client.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ export declare namespace Telemetry {
57
57
  error?: SerializedError;
58
58
  }
59
59
  type Event = AppEvent | ResourceEvent | StateStoreEvent;
60
- type EventInput = (Omit<AppEvent, "context" | "timestamp" | "error"> | Omit<ResourceEvent, "context" | "timestamp" | "error"> | Omit<StateStoreEvent, "context" | "timestamp" | "error">) & {
60
+ type EventInput = (Omit<AppEvent, "timestamp" | "error"> | Omit<ResourceEvent, "timestamp" | "error"> | Omit<StateStoreEvent, "timestamp" | "error">) & {
61
61
  error?: ErrorInput;
62
62
  };
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/util/telemetry/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,yBAAiB,SAAS,CAAC;IACzB,UAAiB,OAAO;QACtB,yJAAyJ;QACzJ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,kGAAkG;QAClG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,+CAA+C;QAC/C,SAAS,EAAE,MAAM,CAAC;QAElB,MAAM,EAAE;YACN,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QAEF,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;SACxB,CAAC;QAEF,WAAW,EAAE;YACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,IAAI,EAAE,OAAO,CAAC;SACf,CAAC;QAEF,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC;SACd,CAAC;KACH;IAED,UAAiB,SAAS;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB;IAED,UAAiB,eAAe;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAED,KAAY,UAAU,GAAG,KAAK,GAAG,eAAe,CAAC;IAEjD,UAAiB,QAAS,SAAQ,SAAS;QACzC,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;QACjD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,eAAe,CAAC;KACzB;IAED,UAAiB,aAAc,SAAQ,SAAS;QAC9C,KAAK,EACD,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,eAAe,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EACH,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,eAAe,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,eAAgB,SAAQ,SAAS;QAChD,KAAK,EACD,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,GACrB,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,eAAe,CAAC;KACzB;IAED,KAAY,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;IAC/D,KAAY,UAAU,GAAG,CACrB,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,GACjD,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,GACtD,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAC3D,GAAG;QACF,KAAK,CAAC,EAAE,UAAU,CAAC;KACpB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/util/telemetry/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,yBAAiB,SAAS,CAAC;IACzB,UAAiB,OAAO;QACtB,yJAAyJ;QACzJ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,kGAAkG;QAClG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,+CAA+C;QAC/C,SAAS,EAAE,MAAM,CAAC;QAElB,MAAM,EAAE;YACN,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QAEF,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;SACxB,CAAC;QAEF,WAAW,EAAE;YACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,IAAI,EAAE,OAAO,CAAC;SACf,CAAC;QAEF,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC;SACd,CAAC;KACH;IAED,UAAiB,SAAS;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB;IAED,UAAiB,eAAe;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAED,KAAY,UAAU,GAAG,KAAK,GAAG,eAAe,CAAC;IAEjD,UAAiB,QAAS,SAAQ,SAAS;QACzC,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;QACjD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,eAAe,CAAC;KACzB;IAED,UAAiB,aAAc,SAAQ,SAAS;QAC9C,KAAK,EACD,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,eAAe,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EACH,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,eAAe,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,eAAgB,SAAQ,SAAS;QAChD,KAAK,EACD,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,GACrB,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,eAAe,CAAC;KACzB;IAED,KAAY,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;IAC/D,KAAY,UAAU,GAAG,CACrB,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,GACrC,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,GAC1C,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,CAAC,CAC/C,GAAG;QACF,KAAK,CAAC,EAAE,UAAU,CAAC;KACpB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemy",
3
- "version": "0.55.2",
3
+ "version": "0.56.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Sam Goodwin <sam@alchemy.run>",
6
6
  "homepage": "https://alchemy.run",
@@ -144,6 +144,7 @@
144
144
  "aws4fetch": "^1.0.20",
145
145
  "diff": "^8.0.2",
146
146
  "esbuild": "^0.25.1",
147
+ "execa": "^9.6.0",
147
148
  "fast-json-patch": "^3.1.1",
148
149
  "fast-xml-parser": "^5.2.5",
149
150
  "glob": "^10.0.0",
@@ -155,6 +156,7 @@
155
156
  "open": "^10.1.2",
156
157
  "openapi-types": "^12.1.3",
157
158
  "pathe": "^2.0.3",
159
+ "signal-exit": "^4.1.0",
158
160
  "turndown": "^7.0.0",
159
161
  "unenv": "2.0.0-rc.15",
160
162
  "ws": "^8.18.3",
@@ -181,7 +183,6 @@
181
183
  "arktype": "^2.0.0",
182
184
  "cloudflare": "^4.0.0",
183
185
  "drizzle-orm": "^0.44.2",
184
- "execa": "^9.6.0",
185
186
  "hono": "^4.0.0",
186
187
  "prettier": "^3.0.0",
187
188
  "stripe": "^17.0.0"
package/src/alchemy.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
 
4
+ import { onExit } from "signal-exit";
4
5
  import { ReplacedSignal } from "./apply.ts";
5
6
  import { DestroyStrategy, DestroyedSignal, destroy } from "./destroy.ts";
6
7
  import { env } from "./env.ts";
@@ -172,6 +173,12 @@ async function _alchemy(
172
173
  password: mergedOptions?.password ?? process.env.ALCHEMY_PASSWORD,
173
174
  telemetryClient,
174
175
  });
176
+ onExit((code) => {
177
+ root.cleanup().then(() => {
178
+ process.exit(code);
179
+ });
180
+ return true;
181
+ });
175
182
  const stageName = mergedOptions?.stage ?? DEFAULT_STAGE;
176
183
  const stage = new Scope({
177
184
  ...mergedOptions,
@@ -0,0 +1,49 @@
1
+ import type esbuild from "esbuild";
2
+
3
+ // esbuild's `alias` option is applied after each plugin's onResolve hook,
4
+ // whereas we would like these user-defined aliases to take precedence over
5
+ // the unenv polyfill aliases, so we reimplement the aliasing as a plugin
6
+ // to be applied before that plugin (earlier in the array of plugins)
7
+ export const esbuildPluginAlias = (
8
+ alias: Record<string, string>,
9
+ projectRoot: string,
10
+ ): esbuild.Plugin => ({
11
+ name: "alias",
12
+ setup(build) {
13
+ if (!alias) {
14
+ return;
15
+ }
16
+
17
+ // filter the hook calls to only those that match the alias keys
18
+ // this should avoid slowing down builds which don't use aliasing
19
+ const filter = new RegExp(
20
+ Object.keys(alias)
21
+ .map((key) => escapeRegex(key))
22
+ .join("|"),
23
+ );
24
+
25
+ // reimplement module aliasing as an esbuild plugin onResolve hook
26
+ build.onResolve({ filter }, (args) => {
27
+ const aliasPath = alias[args.path];
28
+ if (aliasPath) {
29
+ return {
30
+ // resolve with node resolution
31
+ path: require.resolve(aliasPath, {
32
+ // From the esbuild alias docs: "Note that when an import path is substituted using an alias, the resulting import path is resolved in the working directory instead of in the directory containing the source file with the import path."
33
+ // https://esbuild.github.io/api/#alias:~:text=Note%20that%20when%20an%20import%20path%20is%20substituted%20using%20an%20alias%2C%20the%20resulting%20import%20path%20is%20resolved%20in%20the%20working%20directory%20instead%20of%20in%20the%20directory%20containing%20the%20source%20file%20with%20the%20import%20path.
34
+ paths: [projectRoot],
35
+ }),
36
+ };
37
+ }
38
+ });
39
+ },
40
+ });
41
+
42
+ // Taken from https://stackoverflow.com/a/3561711
43
+ // which is everything from the tc39 proposal, plus the following two characters: ^/
44
+ // It's also everything included in the URLPattern escape (https://wicg.github.io/urlpattern/#escape-a-regexp-string), plus the following: -
45
+ // As the answer says, there's no downside to escaping these extra characters, so better safe than sorry
46
+ const ESCAPE_REGEX_CHARACTERS = /[-/\\^$*+?.()|[\]{}]/g;
47
+ const escapeRegex = (str: string) => {
48
+ return str.replace(ESCAPE_REGEX_CHARACTERS, "\\$&");
49
+ };