alchemy 0.41.0 → 0.41.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/worker/miniflare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAGT,aAAa,EACd,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5E,cAAM,eAAe;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,6BAAoC;IAC3C,OAAO,0BAAiC;IACxC,gBAAgB,8BAAqC;IAErD,MAAM;gBACI,sBAAsB;iBACrB,oBAAoB,CAAC,UAAU,CAAC;OAaxC;IACH,MAAM;gBAfI,sBAAsB;iBACrB,oBAAoB,CAAC,UAAU,CAAC;OAcV;IAE3B,IAAI,CAAC,MAAM,EAAE,sBAAsB;IASnC,KAAK;YAIG,GAAG;YA0CH,OAAO;YAaP,yBAAyB;IAuBvC,OAAO,CAAC,oBAAoB;YAuCd,gBAAgB;CAgB/B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,yBAAyB,EAAE,eAAe,GAAG,SAAS,CAAC;CAC5D;AAED,eAAO,MAAM,eAAe,iBAK1B,CAAC"}
1
+ {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/worker/miniflare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAGT,aAAa,EACd,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5E,cAAM,eAAe;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,6BAAoC;IAC3C,OAAO,0BAAiC;IACxC,gBAAgB,8BAAqC;IAErD,MAAM;gBACI,sBAAsB;iBACrB,oBAAoB,CAAC,UAAU,CAAC;OAaxC;IACH,MAAM;gBAfI,sBAAsB;iBACrB,oBAAoB,CAAC,UAAU,CAAC;OAcV;IAE3B,IAAI,CAAC,MAAM,EAAE,sBAAsB;IASnC,KAAK;YAIG,GAAG;YA0CH,OAAO;YAaP,yBAAyB;IAuBvC,OAAO,CAAC,oBAAoB;YAuCd,gBAAgB;CAgB/B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,yBAAyB,EAAE,eAAe,GAAG,SAAS,CAAC;CAC5D;AAED,eAAO,MAAM,eAAe,iBAK1B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import { findOpenPort } from "../../util/find-open-port.js";
2
3
  import { logger } from "../../util/logger.js";
3
4
  import { HTTPServer } from "./http-server.js";
4
5
  import { buildMiniflareWorkerOptions, buildRemoteBindings, } from "./miniflare-worker-options.js";
@@ -61,7 +62,7 @@ class MiniflareServer {
61
62
  return existing;
62
63
  }
63
64
  const server = new HTTPServer({
64
- port: worker.port,
65
+ port: worker.port ?? (await findOpenPort()),
65
66
  fetch: this.createRequestHandler(worker.name),
66
67
  });
67
68
  this.servers.set(worker.name, server);
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare.js","sourceRoot":"","sources":["../../../src/cloudflare/worker/miniflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniflare.js","sourceRoot":"","sources":["../../../src/cloudflare/worker/miniflare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function findOpenPort(min?: number, max?: number): Promise<number>;
2
+ //# sourceMappingURL=find-open-port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-open-port.d.ts","sourceRoot":"","sources":["../../src/util/find-open-port.ts"],"names":[],"mappings":"AAEA,wBAAsB,YAAY,CAAC,GAAG,SAAO,EAAE,GAAG,SAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAO3E"}
@@ -0,0 +1,24 @@
1
+ import net from "node:net";
2
+ export async function findOpenPort(min = 1337, max = 65535) {
3
+ for (let port = min; port <= max; port++) {
4
+ if (await isPortAvailable("0.0.0.0", port)) {
5
+ return port;
6
+ }
7
+ }
8
+ throw new Error(`No open port found between ${min} and ${max}`);
9
+ }
10
+ async function isPortAvailable(host, port) {
11
+ return new Promise((resolve) => {
12
+ const server = net.createServer();
13
+ server.unref();
14
+ server.on("error", () => {
15
+ // Port is in use
16
+ resolve(false);
17
+ });
18
+ server.listen(port, host, () => {
19
+ // Port is available
20
+ server.close(() => resolve(true));
21
+ });
22
+ });
23
+ }
24
+ //# sourceMappingURL=find-open-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-open-port.js","sourceRoot":"","sources":["../../src/util/find-open-port.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK;IACxD,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,iBAAiB;YACjB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,oBAAoB;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemy",
3
- "version": "0.41.0",
3
+ "version": "0.41.1",
4
4
  "type": "module",
5
5
  "module": "./lib/index.js",
6
6
  "license": "Apache-2.0",
@@ -5,6 +5,7 @@ import type {
5
5
  WorkerOptions,
6
6
  } from "miniflare";
7
7
  import path from "node:path";
8
+ import { findOpenPort } from "../../util/find-open-port.ts";
8
9
  import { logger } from "../../util/logger.ts";
9
10
  import { HTTPServer } from "./http-server.ts";
10
11
  import {
@@ -85,7 +86,7 @@ class MiniflareServer {
85
86
  return existing;
86
87
  }
87
88
  const server = new HTTPServer({
88
- port: worker.port,
89
+ port: worker.port ?? (await findOpenPort()),
89
90
  fetch: this.createRequestHandler(worker.name as string),
90
91
  });
91
92
  this.servers.set(worker.name, server);
@@ -0,0 +1,27 @@
1
+ import net from "node:net";
2
+
3
+ export async function findOpenPort(min = 1337, max = 65535): Promise<number> {
4
+ for (let port = min; port <= max; port++) {
5
+ if (await isPortAvailable("0.0.0.0", port)) {
6
+ return port;
7
+ }
8
+ }
9
+ throw new Error(`No open port found between ${min} and ${max}`);
10
+ }
11
+
12
+ async function isPortAvailable(host: string, port: number): Promise<boolean> {
13
+ return new Promise((resolve) => {
14
+ const server = net.createServer();
15
+ server.unref();
16
+
17
+ server.on("error", () => {
18
+ // Port is in use
19
+ resolve(false);
20
+ });
21
+
22
+ server.listen(port, host, () => {
23
+ // Port is available
24
+ server.close(() => resolve(true));
25
+ });
26
+ });
27
+ }