alchemy 0.55.3 → 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 (74) hide show
  1. package/bin/alchemy.js +46 -246
  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-hot-reload.d.ts +1 -3
  6. package/lib/cloudflare/bundle/plugin-hot-reload.d.ts.map +1 -1
  7. package/lib/cloudflare/bundle/plugin-hot-reload.js +4 -1
  8. package/lib/cloudflare/bundle/plugin-hot-reload.js.map +1 -1
  9. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  10. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  11. package/lib/cloudflare/compatibility-presets.d.ts +1 -1
  12. package/lib/cloudflare/compatibility-presets.js +1 -1
  13. package/lib/cloudflare/compatibility-presets.js.map +1 -1
  14. package/lib/cloudflare/local-dev-cloudflare-shim.d.ts +3 -1
  15. package/lib/cloudflare/local-dev-cloudflare-shim.d.ts.map +1 -1
  16. package/lib/cloudflare/local-dev-cloudflare-shim.js +10 -5
  17. package/lib/cloudflare/local-dev-cloudflare-shim.js.map +1 -1
  18. package/lib/cloudflare/miniflare/build-worker-options.d.ts +22 -0
  19. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -0
  20. package/lib/cloudflare/miniflare/build-worker-options.js +394 -0
  21. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -0
  22. package/lib/cloudflare/miniflare/miniflare-controller.d.ts +23 -0
  23. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -0
  24. package/lib/cloudflare/miniflare/miniflare-controller.js +110 -0
  25. package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -0
  26. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  27. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +5 -15
  28. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  29. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts +1 -5
  30. package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
  31. package/lib/cloudflare/miniflare/remote-binding-proxy.js +17 -22
  32. package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
  33. package/lib/cloudflare/website.js +4 -4
  34. package/lib/cloudflare/website.js.map +1 -1
  35. package/lib/cloudflare/worker-bundle.d.ts +2 -0
  36. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  37. package/lib/cloudflare/worker-bundle.js +19 -3
  38. package/lib/cloudflare/worker-bundle.js.map +1 -1
  39. package/lib/cloudflare/worker.d.ts.map +1 -1
  40. package/lib/cloudflare/worker.js +76 -97
  41. package/lib/cloudflare/worker.js.map +1 -1
  42. package/lib/context.d.ts +11 -0
  43. package/lib/context.d.ts.map +1 -1
  44. package/lib/context.js +8 -0
  45. package/lib/context.js.map +1 -1
  46. package/lib/scope.d.ts +12 -0
  47. package/lib/scope.d.ts.map +1 -1
  48. package/lib/scope.js +25 -0
  49. package/lib/scope.js.map +1 -1
  50. package/package.json +3 -2
  51. package/src/alchemy.ts +7 -0
  52. package/src/cloudflare/bundle/plugin-hot-reload.ts +4 -3
  53. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  54. package/src/cloudflare/compatibility-presets.ts +1 -1
  55. package/src/cloudflare/local-dev-cloudflare-shim.ts +11 -5
  56. package/src/cloudflare/miniflare/build-worker-options.ts +454 -0
  57. package/src/cloudflare/miniflare/miniflare-controller.ts +128 -0
  58. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +6 -15
  59. package/src/cloudflare/miniflare/remote-binding-proxy.ts +18 -23
  60. package/src/cloudflare/website.ts +4 -4
  61. package/src/cloudflare/worker-bundle.ts +28 -3
  62. package/src/cloudflare/worker.ts +90 -125
  63. package/src/context.ts +19 -0
  64. package/src/scope.ts +27 -0
  65. package/lib/cloudflare/miniflare/miniflare-worker-options.d.ts +0 -14
  66. package/lib/cloudflare/miniflare/miniflare-worker-options.d.ts.map +0 -1
  67. package/lib/cloudflare/miniflare/miniflare-worker-options.js +0 -468
  68. package/lib/cloudflare/miniflare/miniflare-worker-options.js.map +0 -1
  69. package/lib/cloudflare/miniflare/miniflare.d.ts +0 -40
  70. package/lib/cloudflare/miniflare/miniflare.d.ts.map +0 -1
  71. package/lib/cloudflare/miniflare/miniflare.js +0 -142
  72. package/lib/cloudflare/miniflare/miniflare.js.map +0 -1
  73. package/src/cloudflare/miniflare/miniflare-worker-options.ts +0 -599
  74. package/src/cloudflare/miniflare/miniflare.ts +0 -183
package/bin/alchemy.js CHANGED
@@ -19,6 +19,7 @@ import os, { constants as constants$1 } from "node:os";
19
19
  import { serialize } from "node:v8";
20
20
  import { finished } from "node:stream/promises";
21
21
  import { Buffer as Buffer$1 } from "node:buffer";
22
+ import { onExit } from "signal-exit";
22
23
  import kleur from "kleur";
23
24
  import { ResultAsync, err, ok, okAsync } from "neverthrow";
24
25
  import assert from "node:assert";
@@ -177,10 +178,10 @@ var require_utils_BhNVZA_c = __commonJS$1({ "../node_modules/@trpc/server/dist/u
177
178
  * Ponyfill for
178
179
  * [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).
179
180
  */
180
- function abortSignalsAnyPonyfill(signals$1) {
181
- if (typeof AbortSignal.any === "function") return AbortSignal.any(signals$1);
181
+ function abortSignalsAnyPonyfill(signals) {
182
+ if (typeof AbortSignal.any === "function") return AbortSignal.any(signals);
182
183
  const ac = new AbortController();
183
- for (const signal of signals$1) {
184
+ for (const signal of signals) {
184
185
  if (signal.aborted) {
185
186
  trigger();
186
187
  break;
@@ -190,7 +191,7 @@ var require_utils_BhNVZA_c = __commonJS$1({ "../node_modules/@trpc/server/dist/u
190
191
  return ac.signal;
191
192
  function trigger() {
192
193
  ac.abort();
193
- for (const signal of signals$1) signal.removeEventListener("abort", trigger);
194
+ for (const signal of signals) signal.removeEventListener("abort", trigger);
194
195
  }
195
196
  }
196
197
  Object.defineProperty(exports, "TRPC_ERROR_CODES_BY_KEY", {
@@ -2508,7 +2509,7 @@ var require_command = __commonJS$1({ "../node_modules/trpc-cli/node_modules/comm
2508
2509
  const childProcess$1 = __require("node:child_process");
2509
2510
  const path$35 = __require("node:path");
2510
2511
  const fs$35 = __require("node:fs");
2511
- const process$2 = __require("node:process");
2512
+ const process$1 = __require("node:process");
2512
2513
  const { Argument: Argument$1, humanReadableArgName } = require_argument();
2513
2514
  const { CommanderError: CommanderError$1 } = require_error$1();
2514
2515
  const { Help: Help$1, stripColor } = require_help();
@@ -2560,13 +2561,13 @@ var require_command = __commonJS$1({ "../node_modules/trpc-cli/node_modules/comm
2560
2561
  this._showSuggestionAfterError = true;
2561
2562
  this._savedState = null;
2562
2563
  this._outputConfiguration = {
2563
- writeOut: (str) => process$2.stdout.write(str),
2564
- writeErr: (str) => process$2.stderr.write(str),
2564
+ writeOut: (str) => process$1.stdout.write(str),
2565
+ writeErr: (str) => process$1.stderr.write(str),
2565
2566
  outputError: (str, write) => write(str),
2566
- getOutHelpWidth: () => process$2.stdout.isTTY ? process$2.stdout.columns : void 0,
2567
- getErrHelpWidth: () => process$2.stderr.isTTY ? process$2.stderr.columns : void 0,
2568
- getOutHasColors: () => useColor() ?? (process$2.stdout.isTTY && process$2.stdout.hasColors?.()),
2569
- getErrHasColors: () => useColor() ?? (process$2.stderr.isTTY && process$2.stderr.hasColors?.()),
2567
+ getOutHelpWidth: () => process$1.stdout.isTTY ? process$1.stdout.columns : void 0,
2568
+ getErrHelpWidth: () => process$1.stderr.isTTY ? process$1.stderr.columns : void 0,
2569
+ getOutHasColors: () => useColor() ?? (process$1.stdout.isTTY && process$1.stdout.hasColors?.()),
2570
+ getErrHasColors: () => useColor() ?? (process$1.stderr.isTTY && process$1.stderr.hasColors?.()),
2570
2571
  stripColor: (str) => stripColor(str)
2571
2572
  };
2572
2573
  this._hidden = false;
@@ -2934,7 +2935,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
2934
2935
  */
2935
2936
  _exit(exitCode, code, message) {
2936
2937
  if (this._exitCallback) this._exitCallback(new CommanderError$1(exitCode, code, message));
2937
- process$2.exit(exitCode);
2938
+ process$1.exit(exitCode);
2938
2939
  }
2939
2940
  /**
2940
2941
  * Register callback `fn` for the command.
@@ -3277,11 +3278,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
3277
3278
  if (argv$1 !== void 0 && !Array.isArray(argv$1)) throw new Error("first parameter to parse must be array or undefined");
3278
3279
  parseOptions = parseOptions || {};
3279
3280
  if (argv$1 === void 0 && parseOptions.from === void 0) {
3280
- if (process$2.versions?.electron) parseOptions.from = "electron";
3281
- const execArgv$1 = process$2.execArgv ?? [];
3281
+ if (process$1.versions?.electron) parseOptions.from = "electron";
3282
+ const execArgv$1 = process$1.execArgv ?? [];
3282
3283
  if (execArgv$1.includes("-e") || execArgv$1.includes("--eval") || execArgv$1.includes("-p") || execArgv$1.includes("--print")) parseOptions.from = "eval";
3283
3284
  }
3284
- if (argv$1 === void 0) argv$1 = process$2.argv;
3285
+ if (argv$1 === void 0) argv$1 = process$1.argv;
3285
3286
  this.rawArgs = argv$1.slice();
3286
3287
  let userArgs;
3287
3288
  switch (parseOptions.from) {
@@ -3291,7 +3292,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
3291
3292
  userArgs = argv$1.slice(2);
3292
3293
  break;
3293
3294
  case "electron":
3294
- if (process$2.defaultApp) {
3295
+ if (process$1.defaultApp) {
3295
3296
  this._scriptPath = argv$1[1];
3296
3297
  userArgs = argv$1.slice(2);
3297
3298
  } else userArgs = argv$1.slice(1);
@@ -3458,27 +3459,27 @@ Expecting one of '${allowedValues.join("', '")}'`);
3458
3459
  }
3459
3460
  launchWithNode = sourceExt.includes(path$35.extname(executableFile));
3460
3461
  let proc;
3461
- if (process$2.platform !== "win32") if (launchWithNode) {
3462
+ if (process$1.platform !== "win32") if (launchWithNode) {
3462
3463
  args.unshift(executableFile);
3463
- args = incrementNodeInspectorPort(process$2.execArgv).concat(args);
3464
- proc = childProcess$1.spawn(process$2.argv[0], args, { stdio: "inherit" });
3464
+ args = incrementNodeInspectorPort(process$1.execArgv).concat(args);
3465
+ proc = childProcess$1.spawn(process$1.argv[0], args, { stdio: "inherit" });
3465
3466
  } else proc = childProcess$1.spawn(executableFile, args, { stdio: "inherit" });
3466
3467
  else {
3467
3468
  this._checkForMissingExecutable(executableFile, executableDir, subcommand._name);
3468
3469
  args.unshift(executableFile);
3469
- args = incrementNodeInspectorPort(process$2.execArgv).concat(args);
3470
- proc = childProcess$1.spawn(process$2.execPath, args, { stdio: "inherit" });
3470
+ args = incrementNodeInspectorPort(process$1.execArgv).concat(args);
3471
+ proc = childProcess$1.spawn(process$1.execPath, args, { stdio: "inherit" });
3471
3472
  }
3472
3473
  if (!proc.killed) {
3473
- const signals$1 = [
3474
+ const signals = [
3474
3475
  "SIGUSR1",
3475
3476
  "SIGUSR2",
3476
3477
  "SIGTERM",
3477
3478
  "SIGINT",
3478
3479
  "SIGHUP"
3479
3480
  ];
3480
- signals$1.forEach((signal) => {
3481
- process$2.on(signal, () => {
3481
+ signals.forEach((signal) => {
3482
+ process$1.on(signal, () => {
3482
3483
  if (proc.killed === false && proc.exitCode === null) proc.kill(signal);
3483
3484
  });
3484
3485
  });
@@ -3486,13 +3487,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
3486
3487
  const exitCallback = this._exitCallback;
3487
3488
  proc.on("close", (code) => {
3488
3489
  code = code ?? 1;
3489
- if (!exitCallback) process$2.exit(code);
3490
+ if (!exitCallback) process$1.exit(code);
3490
3491
  else exitCallback(new CommanderError$1(code, "commander.executeSubCommandAsync", "(close)"));
3491
3492
  });
3492
3493
  proc.on("error", (err$1) => {
3493
3494
  if (err$1.code === "ENOENT") this._checkForMissingExecutable(executableFile, executableDir, subcommand._name);
3494
3495
  else if (err$1.code === "EACCES") throw new Error(`'${executableFile}' not executable`);
3495
- if (!exitCallback) process$2.exit(1);
3496
+ if (!exitCallback) process$1.exit(1);
3496
3497
  else {
3497
3498
  const wrappedError = new CommanderError$1(1, "commander.executeSubCommandAsync", "(error)");
3498
3499
  wrappedError.nestedError = err$1;
@@ -3906,13 +3907,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
3906
3907
  */
3907
3908
  _parseOptionsEnv() {
3908
3909
  this.options.forEach((option) => {
3909
- if (option.envVar && option.envVar in process$2.env) {
3910
+ if (option.envVar && option.envVar in process$1.env) {
3910
3911
  const optionKey = option.attributeName();
3911
3912
  if (this.getOptionValue(optionKey) === void 0 || [
3912
3913
  "default",
3913
3914
  "config",
3914
3915
  "env"
3915
- ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$2.env[option.envVar]);
3916
+ ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$1.env[option.envVar]);
3916
3917
  else this.emit(`optionEnv:${option.name()}`);
3917
3918
  }
3918
3919
  });
@@ -4393,7 +4394,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
4393
4394
  */
4394
4395
  help(contextOptions) {
4395
4396
  this.outputHelp(contextOptions);
4396
- let exitCode = Number(process$2.exitCode ?? 0);
4397
+ let exitCode = Number(process$1.exitCode ?? 0);
4397
4398
  if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) exitCode = 1;
4398
4399
  this._exit(exitCode, "commander.help", "(outputHelp)");
4399
4400
  }
@@ -4484,8 +4485,8 @@ Expecting one of '${allowedValues.join("', '")}'`);
4484
4485
  * @package
4485
4486
  */
4486
4487
  function useColor() {
4487
- if (process$2.env.NO_COLOR || process$2.env.FORCE_COLOR === "0" || process$2.env.FORCE_COLOR === "false") return false;
4488
- if (process$2.env.FORCE_COLOR || process$2.env.CLICOLOR_FORCE !== void 0) return true;
4488
+ if (process$1.env.NO_COLOR || process$1.env.FORCE_COLOR === "0" || process$1.env.FORCE_COLOR === "false") return false;
4489
+ if (process$1.env.FORCE_COLOR || process$1.env.CLICOLOR_FORCE !== void 0) return true;
4489
4490
  return void 0;
4490
4491
  }
4491
4492
  exports.Command = Command$2;
@@ -39590,8 +39591,8 @@ const SIGNALS = [
39590
39591
  //#region ../node_modules/human-signals/build/src/signals.js
39591
39592
  const getSignals = () => {
39592
39593
  const realtimeSignals = getRealtimeSignals();
39593
- const signals$1 = [...SIGNALS, ...realtimeSignals].map(normalizeSignal$1);
39594
- return signals$1;
39594
+ const signals = [...SIGNALS, ...realtimeSignals].map(normalizeSignal$1);
39595
+ return signals;
39595
39596
  };
39596
39597
  const normalizeSignal$1 = ({ name, number: defaultNumber, description, action, forced = false, standard }) => {
39597
39598
  const { signals: { [name]: constantSignal } } = constants$1;
@@ -39611,8 +39612,8 @@ const normalizeSignal$1 = ({ name, number: defaultNumber, description, action, f
39611
39612
  //#endregion
39612
39613
  //#region ../node_modules/human-signals/build/src/main.js
39613
39614
  const getSignalsByName = () => {
39614
- const signals$1 = getSignals();
39615
- return Object.fromEntries(signals$1.map(getSignalByName));
39615
+ const signals = getSignals();
39616
+ return Object.fromEntries(signals.map(getSignalByName));
39616
39617
  };
39617
39618
  const getSignalByName = ({ name, number: number$5, description, supported, action, forced, standard }) => [name, {
39618
39619
  name,
@@ -39625,13 +39626,13 @@ const getSignalByName = ({ name, number: number$5, description, supported, actio
39625
39626
  }];
39626
39627
  const signalsByName = getSignalsByName();
39627
39628
  const getSignalsByNumber = () => {
39628
- const signals$1 = getSignals();
39629
+ const signals = getSignals();
39629
39630
  const length = SIGRTMAX + 1;
39630
- const signalsA = Array.from({ length }, (value, number$5) => getSignalByNumber(number$5, signals$1));
39631
+ const signalsA = Array.from({ length }, (value, number$5) => getSignalByNumber(number$5, signals));
39631
39632
  return Object.assign({}, ...signalsA);
39632
39633
  };
39633
- const getSignalByNumber = (number$5, signals$1) => {
39634
- const signal = findSignalByNumber(number$5, signals$1);
39634
+ const getSignalByNumber = (number$5, signals) => {
39635
+ const signal = findSignalByNumber(number$5, signals);
39635
39636
  if (signal === void 0) return {};
39636
39637
  const { name, description, supported, action, forced, standard } = signal;
39637
39638
  return { [number$5]: {
@@ -39644,10 +39645,10 @@ const getSignalByNumber = (number$5, signals$1) => {
39644
39645
  standard
39645
39646
  } };
39646
39647
  };
39647
- const findSignalByNumber = (number$5, signals$1) => {
39648
- const signal = signals$1.find(({ name }) => constants$1.signals[name] === number$5);
39648
+ const findSignalByNumber = (number$5, signals) => {
39649
+ const signal = signals.find(({ name }) => constants$1.signals[name] === number$5);
39649
39650
  if (signal !== void 0) return signal;
39650
- return signals$1.find((signalA) => signalA.number === number$5);
39651
+ return signals.find((signalA) => signalA.number === number$5);
39651
39652
  };
39652
39653
  const signalsByNumber = getSignalsByNumber();
39653
39654
 
@@ -42961,207 +42962,6 @@ const setStandardStreamMaxListeners = (stream$1, { signal }) => {
42961
42962
  };
42962
42963
  const MAX_LISTENERS_INCREMENT = 2;
42963
42964
 
42964
- //#endregion
42965
- //#region ../node_modules/signal-exit/dist/mjs/signals.js
42966
- /**
42967
- * This is not the set of all possible signals.
42968
- *
42969
- * It IS, however, the set of all signals that trigger
42970
- * an exit on either Linux or BSD systems. Linux is a
42971
- * superset of the signal names supported on BSD, and
42972
- * the unknown signals just fail to register, so we can
42973
- * catch that easily enough.
42974
- *
42975
- * Windows signals are a different set, since there are
42976
- * signals that terminate Windows processes, but don't
42977
- * terminate (or don't even exist) on Posix systems.
42978
- *
42979
- * Don't bother with SIGKILL. It's uncatchable, which
42980
- * means that we can't fire any callbacks anyway.
42981
- *
42982
- * If a user does happen to register a handler on a non-
42983
- * fatal signal like SIGWINCH or something, and then
42984
- * exit, it'll end up firing `process.emit('exit')`, so
42985
- * the handler will be fired anyway.
42986
- *
42987
- * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised
42988
- * artificially, inherently leave the process in a
42989
- * state from which it is not safe to try and enter JS
42990
- * listeners.
42991
- */
42992
- const signals = [];
42993
- signals.push("SIGHUP", "SIGINT", "SIGTERM");
42994
- if (process.platform !== "win32") signals.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
42995
- if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
42996
-
42997
- //#endregion
42998
- //#region ../node_modules/signal-exit/dist/mjs/index.js
42999
- const processOk = (process$3) => !!process$3 && typeof process$3 === "object" && typeof process$3.removeListener === "function" && typeof process$3.emit === "function" && typeof process$3.reallyExit === "function" && typeof process$3.listeners === "function" && typeof process$3.kill === "function" && typeof process$3.pid === "number" && typeof process$3.on === "function";
43000
- const kExitEmitter = Symbol.for("signal-exit emitter");
43001
- const global$1 = globalThis;
43002
- const ObjectDefineProperty = Object.defineProperty.bind(Object);
43003
- var Emitter = class {
43004
- emitted = {
43005
- afterExit: false,
43006
- exit: false
43007
- };
43008
- listeners = {
43009
- afterExit: [],
43010
- exit: []
43011
- };
43012
- count = 0;
43013
- id = Math.random();
43014
- constructor() {
43015
- if (global$1[kExitEmitter]) return global$1[kExitEmitter];
43016
- ObjectDefineProperty(global$1, kExitEmitter, {
43017
- value: this,
43018
- writable: false,
43019
- enumerable: false,
43020
- configurable: false
43021
- });
43022
- }
43023
- on(ev, fn) {
43024
- this.listeners[ev].push(fn);
43025
- }
43026
- removeListener(ev, fn) {
43027
- const list = this.listeners[ev];
43028
- const i$1 = list.indexOf(fn);
43029
- /* c8 ignore start */
43030
- if (i$1 === -1) return;
43031
- /* c8 ignore stop */
43032
- if (i$1 === 0 && list.length === 1) list.length = 0;
43033
- else list.splice(i$1, 1);
43034
- }
43035
- emit(ev, code, signal) {
43036
- if (this.emitted[ev]) return false;
43037
- this.emitted[ev] = true;
43038
- let ret = false;
43039
- for (const fn of this.listeners[ev]) ret = fn(code, signal) === true || ret;
43040
- if (ev === "exit") ret = this.emit("afterExit", code, signal) || ret;
43041
- return ret;
43042
- }
43043
- };
43044
- var SignalExitBase = class {};
43045
- const signalExitWrap = (handler) => {
43046
- return {
43047
- onExit(cb, opts) {
43048
- return handler.onExit(cb, opts);
43049
- },
43050
- load() {
43051
- return handler.load();
43052
- },
43053
- unload() {
43054
- return handler.unload();
43055
- }
43056
- };
43057
- };
43058
- var SignalExitFallback = class extends SignalExitBase {
43059
- onExit() {
43060
- return () => {};
43061
- }
43062
- load() {}
43063
- unload() {}
43064
- };
43065
- var SignalExit = class extends SignalExitBase {
43066
- /* c8 ignore start */
43067
- #hupSig = process$1.platform === "win32" ? "SIGINT" : "SIGHUP";
43068
- /* c8 ignore stop */
43069
- #emitter = new Emitter();
43070
- #process;
43071
- #originalProcessEmit;
43072
- #originalProcessReallyExit;
43073
- #sigListeners = {};
43074
- #loaded = false;
43075
- constructor(process$3) {
43076
- super();
43077
- this.#process = process$3;
43078
- this.#sigListeners = {};
43079
- for (const sig of signals) this.#sigListeners[sig] = () => {
43080
- const listeners = this.#process.listeners(sig);
43081
- let { count: count$1 } = this.#emitter;
43082
- /* c8 ignore start */
43083
- const p$2 = process$3;
43084
- if (typeof p$2.__signal_exit_emitter__ === "object" && typeof p$2.__signal_exit_emitter__.count === "number") count$1 += p$2.__signal_exit_emitter__.count;
43085
- /* c8 ignore stop */
43086
- if (listeners.length === count$1) {
43087
- this.unload();
43088
- const ret = this.#emitter.emit("exit", null, sig);
43089
- /* c8 ignore start */
43090
- const s = sig === "SIGHUP" ? this.#hupSig : sig;
43091
- if (!ret) process$3.kill(process$3.pid, s);
43092
- }
43093
- };
43094
- this.#originalProcessReallyExit = process$3.reallyExit;
43095
- this.#originalProcessEmit = process$3.emit;
43096
- }
43097
- onExit(cb, opts) {
43098
- /* c8 ignore start */
43099
- if (!processOk(this.#process)) return () => {};
43100
- /* c8 ignore stop */
43101
- if (this.#loaded === false) this.load();
43102
- const ev = opts?.alwaysLast ? "afterExit" : "exit";
43103
- this.#emitter.on(ev, cb);
43104
- return () => {
43105
- this.#emitter.removeListener(ev, cb);
43106
- if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) this.unload();
43107
- };
43108
- }
43109
- load() {
43110
- if (this.#loaded) return;
43111
- this.#loaded = true;
43112
- this.#emitter.count += 1;
43113
- for (const sig of signals) try {
43114
- const fn = this.#sigListeners[sig];
43115
- if (fn) this.#process.on(sig, fn);
43116
- } catch (_$3) {}
43117
- this.#process.emit = (ev, ...a$1) => {
43118
- return this.#processEmit(ev, ...a$1);
43119
- };
43120
- this.#process.reallyExit = (code) => {
43121
- return this.#processReallyExit(code);
43122
- };
43123
- }
43124
- unload() {
43125
- if (!this.#loaded) return;
43126
- this.#loaded = false;
43127
- signals.forEach((sig) => {
43128
- const listener = this.#sigListeners[sig];
43129
- /* c8 ignore start */
43130
- if (!listener) throw new Error("Listener not defined for signal: " + sig);
43131
- /* c8 ignore stop */
43132
- try {
43133
- this.#process.removeListener(sig, listener);
43134
- } catch (_$3) {}
43135
- /* c8 ignore stop */
43136
- });
43137
- this.#process.emit = this.#originalProcessEmit;
43138
- this.#process.reallyExit = this.#originalProcessReallyExit;
43139
- this.#emitter.count -= 1;
43140
- }
43141
- #processReallyExit(code) {
43142
- /* c8 ignore start */
43143
- if (!processOk(this.#process)) return 0;
43144
- this.#process.exitCode = code || 0;
43145
- /* c8 ignore stop */
43146
- this.#emitter.emit("exit", this.#process.exitCode, null);
43147
- return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
43148
- }
43149
- #processEmit(ev, ...args) {
43150
- const og = this.#originalProcessEmit;
43151
- if (ev === "exit" && processOk(this.#process)) {
43152
- if (typeof args[0] === "number") this.#process.exitCode = args[0];
43153
- /* c8 ignore start */
43154
- const ret = og.call(this.#process, ev, ...args);
43155
- /* c8 ignore start */
43156
- this.#emitter.emit("exit", this.#process.exitCode, null);
43157
- /* c8 ignore stop */
43158
- return ret;
43159
- } else return og.call(this.#process, ev, ...args);
43160
- }
43161
- };
43162
- const process$1 = globalThis.process;
43163
- const { onExit, load, unload } = signalExitWrap(processOk(process$1) ? new SignalExit(process$1) : new SignalExitFallback());
43164
-
43165
42965
  //#endregion
43166
42966
  //#region ../node_modules/execa/lib/terminate/cleanup.js
43167
42967
  const cleanupOnExit = (subprocess, { cleanup, detached: detached$1 }, { signal }) => {
@@ -207755,12 +207555,12 @@ var require_ts_morph_common = __commonJS$1({ "../node_modules/@ts-morph/common/d
207755
207555
  else patterns = patterns.map((p$2) => FileUtils.toAbsoluteGlob(p$2, cwd$1));
207756
207556
  const result = [];
207757
207557
  for (const path$36 of paths) for (let pattern$1 of patterns) {
207758
- let process$3 = addArray;
207558
+ let process$2 = addArray;
207759
207559
  if (FileUtils.isNegatedGlob(pattern$1)) {
207760
- process$3 = removeArray;
207560
+ process$2 = removeArray;
207761
207561
  pattern$1 = pattern$1.slice(1);
207762
207562
  }
207763
- if (runtime.getPathMatchesPattern(path$36, pattern$1)) process$3(result, path$36);
207563
+ if (runtime.getPathMatchesPattern(path$36, pattern$1)) process$2(result, path$36);
207764
207564
  }
207765
207565
  return result;
207766
207566
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alchemy.d.ts","sourceRoot":"","sources":["../src/alchemy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alchemy.d.ts","sourceRoot":"","sources":["../src/alchemy.ts"],"names":[],"mappings":"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"}
package/lib/alchemy.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { onExit } from "signal-exit";
3
4
  import { ReplacedSignal } from "./apply.js";
4
5
  import { DestroyStrategy, DestroyedSignal, destroy } from "./destroy.js";
5
6
  import { env } from "./env.js";
@@ -61,6 +62,12 @@ async function _alchemy(...args) {
61
62
  password: mergedOptions?.password ?? process.env.ALCHEMY_PASSWORD,
62
63
  telemetryClient,
63
64
  });
65
+ onExit((code) => {
66
+ root.cleanup().then(() => {
67
+ process.exit(code);
68
+ });
69
+ return true;
70
+ });
64
71
  const stageName = mergedOptions?.stage ?? DEFAULT_STAGE;
65
72
  const stage = new Scope({
66
73
  ...mergedOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"alchemy.js","sourceRoot":"","sources":["../src/alchemy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alchemy.js","sourceRoot":"","sources":["../src/alchemy.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import type esbuild from "esbuild";
2
2
  export interface HotReloadPluginProps {
3
3
  onBuildStart?: () => void | Promise<void>;
4
- onBuildEnd?: (result: esbuild.BuildResult) => void | Promise<void>;
5
- onBuildError?: (errors: esbuild.Message[]) => void | Promise<void>;
6
4
  }
7
- export declare function createHotReloadPlugin(): {
5
+ export declare function createHotReloadPlugin(props?: HotReloadPluginProps): {
8
6
  plugin: esbuild.Plugin;
9
7
  iterator: AsyncIterable<esbuild.BuildResult>;
10
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-hot-reload.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-hot-reload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,wBAAgB,qBAAqB,IAAI;IACvC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9C,CAkCA"}
1
+ {"version":3,"file":"plugin-hot-reload.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-hot-reload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG;IACnE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9C,CAqCA"}
@@ -1,5 +1,5 @@
1
1
  import assert from "node:assert";
2
- export function createHotReloadPlugin() {
2
+ export function createHotReloadPlugin(props) {
3
3
  let _controller;
4
4
  const stream = new ReadableStream({
5
5
  start: (controller) => {
@@ -9,6 +9,9 @@ export function createHotReloadPlugin() {
9
9
  const plugin = {
10
10
  name: "alchemy-hot-reload",
11
11
  setup(build) {
12
+ if (props?.onBuildStart) {
13
+ build.onStart(props.onBuildStart);
14
+ }
12
15
  build.onEnd(async (result) => {
13
16
  assert(_controller);
14
17
  _controller.enqueue(result);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-hot-reload.js","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-hot-reload.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AAQjC,MAAM,UAAU,qBAAqB;IAInC,IAAI,WAES,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,cAAc,CAAsB;QACrD,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;YACpB,WAAW,GAAG,UAAU,CAAC;QAC3B,CAAC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,oBAAoB;QAC1B,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC3B,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;gBACnB,WAAW,EAAE,KAAK,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IACF,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM;gBACR,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,EAAE;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin-hot-reload.js","sourceRoot":"","sources":["../../../src/cloudflare/bundle/plugin-hot-reload.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AAMjC,MAAM,UAAU,qBAAqB,CAAC,KAA4B;IAIhE,IAAI,WAES,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,cAAc,CAAsB;QACrD,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;YACpB,WAAW,GAAG,UAAU,CAAC;QAC3B,CAAC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,oBAAoB;QAC1B,KAAK,CAAC,KAAK;YACT,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;gBACxB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC3B,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;gBACnB,WAAW,EAAE,KAAK,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IACF,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM;gBACR,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,EAAE;KACL,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
3
3
  */
4
- export declare const DEFAULT_COMPATIBILITY_DATE = "2025-07-26";
4
+ export declare const DEFAULT_COMPATIBILITY_DATE = "2025-08-02";
5
5
  //# sourceMappingURL=compatibility-date.gen.d.ts.map
@@ -3,5 +3,5 @@
3
3
  /**
4
4
  * The default Cloudflare Workers compatibility date, set based on the latest workerd release at the time of build.
5
5
  */
6
- export const DEFAULT_COMPATIBILITY_DATE = "2025-07-26";
6
+ export const DEFAULT_COMPATIBILITY_DATE = "2025-08-02";
7
7
  //# sourceMappingURL=compatibility-date.gen.js.map
@@ -12,7 +12,7 @@ export declare const COMPATIBILITY_PRESETS: {
12
12
  * Node.js compatibility preset
13
13
  * Enables Node.js APIs and runtime compatibility
14
14
  */
15
- readonly node: readonly ["nodejs_compat"];
15
+ readonly node: readonly ["nodejs_compat", "nodejs_compat_populate_process_env"];
16
16
  };
17
17
  export type CompatibilityPreset = keyof typeof COMPATIBILITY_PRESETS;
18
18
  /**
@@ -12,7 +12,7 @@ export const COMPATIBILITY_PRESETS = {
12
12
  * Node.js compatibility preset
13
13
  * Enables Node.js APIs and runtime compatibility
14
14
  */
15
- node: ["nodejs_compat"],
15
+ node: ["nodejs_compat", "nodejs_compat_populate_process_env"],
16
16
  };
17
17
  /**
18
18
  * Union preset compatibility flags with user-provided flags
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility-presets.js","sourceRoot":"","sources":["../../src/cloudflare/compatibility-presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;;;OAGG;IACH,IAAI,EAAE,CAAC,eAAe,CAAC;CACf,CAAC;AAIX;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAuC,EACvC,YAAsB,EAAE;IAExB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"compatibility-presets.js","sourceRoot":"","sources":["../../src/cloudflare/compatibility-presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;;;OAGG;IACH,IAAI,EAAE,CAAC,eAAe,EAAE,oCAAoC,CAAC;CACrD,CAAC;AAIX;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAuC,EACvC,YAAsB,EAAE;IAExB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * TanStackStart server functions and middleware run in Node.js intead of Miniflare when using `vite dev`.
3
3
  *
4
- * This plugin polyfills the cloudflare:workers module during the dev server phase.
4
+ * This plugin polyfills the cloudflare:workers module & includes `process.env` during the dev server phase.
5
+ *
6
+ * @see https://developers.cloudflare.com/workers/framework-guides/web-apps/tanstack/#using-cloudflare-bindings
5
7
  */
6
8
  export declare function cloudflareWorkersDevEnvironmentShim(): {
7
9
  readonly name: "cloudflare-workers-dev-shim";
@@ -1 +1 @@
1
- {"version":3,"file":"local-dev-cloudflare-shim.d.ts","sourceRoot":"","sources":["../../src/cloudflare/local-dev-cloudflare-shim.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,mCAAmC;;;;6BAKjC,MAAM;wBAGX,MAAM;EASlB"}
1
+ {"version":3,"file":"local-dev-cloudflare-shim.d.ts","sourceRoot":"","sources":["../../src/cloudflare/local-dev-cloudflare-shim.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,mCAAmC;;;;6BAKjC,MAAM;wBAGX,MAAM;EAalB"}