jazz-run 0.17.6 → 0.17.8

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,4 +1,4 @@
1
1
 
2
- > jazz-run@0.17.6 build /home/runner/_work/jazz/jazz/packages/jazz-run
2
+ > jazz-run@0.17.8 build /home/runner/_work/jazz/jazz/packages/jazz-run
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist && chmod +x ./dist/index.js
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # jazz-run
2
2
 
3
+ ## 0.17.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [ac3e694]
8
+ - Updated dependencies [6dbb053]
9
+ - Updated dependencies [1a182f0]
10
+ - jazz-tools@0.17.8
11
+ - cojson@0.17.8
12
+ - cojson-storage-sqlite@0.17.8
13
+ - cojson-transport-ws@0.17.8
14
+
15
+ ## 0.17.7
16
+
17
+ ### Patch Changes
18
+
19
+ - feaa69e: Add host option to the jazz-run sync command
20
+ - cojson@0.17.7
21
+ - cojson-storage-sqlite@0.17.7
22
+ - cojson-transport-ws@0.17.7
23
+ - jazz-tools@0.17.7
24
+
3
25
  ## 0.17.6
4
26
 
5
27
  ### Patch Changes
@@ -0,0 +1,7 @@
1
+ export declare const serverDefaults: {
2
+ host: string;
3
+ port: number;
4
+ inMemory: boolean;
5
+ db: string;
6
+ };
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;CAK1B,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,7 @@
1
+ export const serverDefaults = {
2
+ host: "127.0.0.1",
3
+ port: 4200,
4
+ inMemory: false,
5
+ db: "sync-db/storage.db",
6
+ };
7
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,KAAK;IACf,EAAE,EAAE,oBAAoB;CACzB,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import { NodeContext, NodeRuntime } from "@effect/platform-node";
5
5
  import { Console, Effect } from "effect";
6
6
  import { createWorkerAccount } from "./createWorkerAccount.js";
7
7
  import { startSyncServer } from "./startSyncServer.js";
8
+ import { serverDefaults } from "./config.js";
8
9
  const jazzTools = Command.make("jazz-tools");
9
10
  const nameOption = Options.text("name").pipe(Options.withAlias("n"));
10
11
  const jsonOption = Options.boolean("json");
@@ -26,18 +27,34 @@ JAZZ_WORKER_SECRET=${agentSecret}
26
27
  });
27
28
  });
28
29
  const accountCommand = Command.make("account").pipe(Command.withSubcommands([createAccountCommand]));
30
+ const hostOption = Options.text("host")
31
+ .pipe(Options.withAlias("h"))
32
+ .pipe(Options.withDescription(`The host to listen on. Default is ${serverDefaults.host}`))
33
+ .pipe(Options.withDefault(serverDefaults.host));
29
34
  const portOption = Options.text("port")
30
35
  .pipe(Options.withAlias("p"))
31
- .pipe(Options.withDescription("Select a different port for the WebSocket server. Default is 4200"))
32
- .pipe(Options.withDefault("4200"));
33
- const inMemoryOption = Options.boolean("in-memory").pipe(Options.withDescription("Use an in-memory storage instead of file-based"));
36
+ .pipe(Options.withDescription(`Select a different port for the WebSocket server. Default is ${serverDefaults.port}`))
37
+ .pipe(Options.withDefault(serverDefaults.port.toString()));
38
+ const inMemoryOption = Options.boolean("in-memory").pipe(Options.withDescription("Use an in-memory storage instead of file-based."));
34
39
  const dbOption = Options.file("db")
35
- .pipe(Options.withDescription("The path to the file where to store the data. Default is 'sync-db/storage.db'"))
36
- .pipe(Options.withDefault("sync-db/storage.db"));
37
- const startSyncServerCommand = Command.make("sync", { port: portOption, inMemory: inMemoryOption, db: dbOption }, ({ port, inMemory, db }) => {
40
+ .pipe(Options.withDescription(`The path to the file where to store the data. Default is '${serverDefaults.db}'`))
41
+ .pipe(Options.withDefault(serverDefaults.db));
42
+ const startSyncServerCommand = Command.make("sync", {
43
+ host: hostOption,
44
+ port: portOption,
45
+ inMemory: inMemoryOption,
46
+ db: dbOption,
47
+ }, ({ host, port, inMemory, db }) => {
38
48
  return Effect.gen(function* () {
39
- yield* Effect.promise(() => startSyncServer({ port, inMemory, db }));
40
- yield* Console.log(`COJSON sync server listening on ws://127.0.0.1:${port}`);
49
+ const server = yield* Effect.promise(() => startSyncServer({ host, port, inMemory, db }));
50
+ const serverAddress = server.address();
51
+ if (!serverAddress) {
52
+ return yield* Effect.fail(new Error("Failed to start sync server."));
53
+ }
54
+ const socketAddress = typeof serverAddress === "object"
55
+ ? `${serverAddress.address}:${serverAddress.port}`
56
+ : serverAddress;
57
+ yield* Console.log(`COJSON sync server listening on ws://${socketAddress}`);
41
58
  // Keep the server up
42
59
  yield* Effect.never;
43
60
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,uCAAuC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAE7C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;KACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC5B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAEvD,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CACvC,QAAQ,EACR,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EACxD,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IACvB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAC5D,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CACpC,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI;sBAC5C,SAAS;qBACV,WAAW;CAC/B,CAAC,CAAC;QACG,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACjD,OAAO,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAChD,CAAC;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;KACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC5B,IAAI,CACH,OAAO,CAAC,eAAe,CACrB,mEAAmE,CACpE,CACF;KACA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAErC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CACtD,OAAO,CAAC,eAAe,CAAC,gDAAgD,CAAC,CAC1E,CAAC;AAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAChC,IAAI,CACH,OAAO,CAAC,eAAe,CACrB,+EAA+E,CAChF,CACF;KACA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEnD,MAAM,sBAAsB,GAAG,OAAO,CAAC,IAAI,CACzC,MAAM,EACN,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAC5D,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE;IACzB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAErE,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAChB,kDAAkD,IAAI,EAAE,CACzD,CAAC;QAEF,qBAAqB;QACrB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC5B,OAAO,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC,CAClE,CAAC;AAEF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;IAC/B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAC1C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EACjC,WAAW,CAAC,OAAO,CACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import { type Server } from "node:http";
2
- import { LocalNode } from "cojson";
3
- export declare const startSyncServer: ({ port, inMemory, db, }: {
1
+ import { type SyncServer } from "./types.js";
2
+ export declare const startSyncServer: ({ host, port, inMemory, db, }: {
3
+ host: string | undefined;
4
4
  port: string | undefined;
5
5
  inMemory: boolean;
6
6
  db: string;
7
- }) => Promise<Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> & {
8
- localNode: LocalNode;
9
- }>;
7
+ }) => Promise<SyncServer>;
10
8
  //# sourceMappingURL=startSyncServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"startSyncServer.d.ts","sourceRoot":"","sources":["../src/startSyncServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMnC,eAAO,MAAM,eAAe,4BAIzB;IACD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;eA2FwC,SAAS;EACjD,CAAC"}
1
+ {"version":3,"file":"startSyncServer.d.ts","sourceRoot":"","sources":["../src/startSyncServer.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,eAAe,kCAKzB;IACD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ,KAAG,OAAO,CAAC,UAAU,CAgGrB,CAAC"}
@@ -6,7 +6,7 @@ import { getBetterSqliteStorage } from "cojson-storage-sqlite";
6
6
  import { createWebSocketPeer } from "cojson-transport-ws";
7
7
  import { WasmCrypto } from "cojson/crypto/WasmCrypto";
8
8
  import { WebSocketServer } from "ws";
9
- export const startSyncServer = async ({ port, inMemory, db, }) => {
9
+ export const startSyncServer = async ({ host, port, inMemory, db, }) => {
10
10
  const crypto = await WasmCrypto.create();
11
11
  const server = createServer((req, res) => {
12
12
  if (req.url === "/health") {
@@ -60,13 +60,17 @@ export const startSyncServer = async ({ port, inMemory, db, }) => {
60
60
  server.on("close", () => {
61
61
  localNode.gracefulShutdown();
62
62
  });
63
- server.listen(port ? parseInt(port) : undefined);
64
63
  const _close = server.close;
65
64
  server.close = () => {
66
65
  localNode.gracefulShutdown();
67
66
  return _close.call(server);
68
67
  };
69
68
  Object.defineProperty(server, "localNode", { value: localNode });
70
- return server;
69
+ server.listen(port ? parseInt(port) : undefined, host);
70
+ return new Promise((resolve) => {
71
+ server.once("listening", () => {
72
+ resolve(server);
73
+ });
74
+ });
71
75
  };
72
76
  //# sourceMappingURL=startSyncServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startSyncServer.js","sourceRoot":"","sources":["../src/startSyncServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startSyncServer.js","sourceRoot":"","sources":["../src/startSyncServer.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,12 @@ import { describe, expect, it, onTestFinished } from "vitest";
5
5
  import { WebSocket } from "ws";
6
6
  import { createWorkerAccount } from "../createWorkerAccount.js";
7
7
  import { startSyncServer } from "../startSyncServer.js";
8
+ import { serverDefaults } from "../config.js";
8
9
  describe("createWorkerAccount - integration tests", () => {
9
10
  it("should create a worker account using the local sync server", async () => {
10
11
  // Pass port: undefined to let the server choose a random port
11
12
  const server = await startSyncServer({
13
+ host: serverDefaults.host,
12
14
  port: undefined,
13
15
  inMemory: true,
14
16
  db: "",
@@ -1 +1 @@
1
- {"version":3,"file":"createWorkerAccount.test.js","sourceRoot":"","sources":["../../src/tests/createWorkerAccount.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createWorkerAccount.test.js","sourceRoot":"","sources":["../../src/tests/createWorkerAccount.test.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,23 @@ import { tmpdir } from "os";
3
3
  import { join } from "path";
4
4
  import { co, z } from "jazz-tools";
5
5
  import { startWorker } from "jazz-tools/worker";
6
- import { describe, expect, test } from "vitest";
6
+ import { describe, expect, test, afterAll } from "vitest";
7
7
  import { createWorkerAccount } from "../createWorkerAccount.js";
8
8
  import { startSyncServer } from "../startSyncServer.js";
9
+ import { serverDefaults } from "../config.js";
10
+ import { unlinkSync } from "node:fs";
9
11
  const TestMap = co.map({
10
12
  value: z.string(),
11
13
  });
14
+ const dbPath = join(tmpdir(), `test-${randomUUID()}.db`);
15
+ afterAll(() => {
16
+ unlinkSync(dbPath);
17
+ });
12
18
  describe("startSyncServer", () => {
13
19
  test("persists values in storage and loads them after restart", async () => {
14
- // Create a temporary database file
15
- const dbPath = join(tmpdir(), `test-${randomUUID()}.db`);
16
20
  // Start first server instance
17
21
  const server1 = await startSyncServer({
22
+ host: serverDefaults.host,
18
23
  port: "0", // Random available port
19
24
  inMemory: false,
20
25
  db: dbPath,
@@ -38,6 +43,7 @@ describe("startSyncServer", () => {
38
43
  server1.close();
39
44
  // Start second server instance with same DB
40
45
  const server2 = await startSyncServer({
46
+ host: serverDefaults.host,
41
47
  port: "0",
42
48
  inMemory: false,
43
49
  db: dbPath,
@@ -59,5 +65,19 @@ describe("startSyncServer", () => {
59
65
  await worker2.done();
60
66
  server2.close();
61
67
  });
68
+ test("starts a sync server with a specific host and port", async () => {
69
+ const server = await startSyncServer({
70
+ host: "0.0.0.0",
71
+ port: "4900",
72
+ inMemory: false,
73
+ db: dbPath,
74
+ });
75
+ expect(server.address()).toEqual({
76
+ address: "0.0.0.0",
77
+ port: 4900,
78
+ family: "IPv4",
79
+ });
80
+ server.close();
81
+ });
62
82
  });
63
83
  //# sourceMappingURL=startSyncServer.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startSyncServer.test.js","sourceRoot":"","sources":["../../src/tests/startSyncServer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,mCAAmC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,UAAU,EAAE,KAAK,CAAC,CAAC;QAEzD,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;YACpC,IAAI,EAAE,GAAG,EAAE,wBAAwB;YACnC,QAAQ,EAAE,KAAK;YACf,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QAEH,MAAM,IAAI,GAAI,OAAO,CAAC,OAAO,EAAU,CAAC,IAAI,CAAC;QAC7C,MAAM,UAAU,GAAG,kBAAkB,IAAI,EAAE,CAAC;QAE5C,+CAA+C;QAC/C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,mBAAmB,CAAC;YAC3D,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;YAChC,SAAS;YACT,aAAa,EAAE,WAAW;YAC1B,UAAU;SACX,CAAC,CAAC;QAEH,4BAA4B;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAEnD,qBAAqB;QACrB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;YACpC,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;YACf,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QAEH,MAAM,KAAK,GAAI,OAAO,CAAC,OAAO,EAAU,CAAC,IAAI,CAAC;QAC9C,MAAM,WAAW,GAAG,kBAAkB,KAAK,EAAE,CAAC;QAE9C,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;YAChC,SAAS;YACT,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjD,4BAA4B;QAC5B,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE3C,UAAU;QACV,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"startSyncServer.test.js","sourceRoot":"","sources":["../../src/tests/startSyncServer.test.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,14 @@ import { afterAll, describe, expect, onTestFinished, test } from "vitest";
8
8
  import { createWorkerAccount } from "../createWorkerAccount.js";
9
9
  import { startSyncServer } from "../startSyncServer.js";
10
10
  import { waitFor } from "./utils.js";
11
+ import { serverDefaults } from "../config.js";
11
12
  const dbPath = join(tmpdir(), `test-${randomUUID()}.db`);
12
13
  afterAll(() => {
13
14
  unlinkSync(dbPath);
14
15
  });
15
16
  async function setup(AccountSchema) {
16
- const { server, port } = await setupSyncServer();
17
- const syncServer = `ws://localhost:${port}`;
17
+ const { server, port, host } = await setupSyncServer();
18
+ const syncServer = `ws://${host}:${port}`;
18
19
  const { worker, done, waitForConnection, subscribeToConnectionChange } = await setupWorker(syncServer, AccountSchema);
19
20
  return {
20
21
  worker,
@@ -22,12 +23,14 @@ async function setup(AccountSchema) {
22
23
  syncServer,
23
24
  server,
24
25
  port,
26
+ host,
25
27
  waitForConnection,
26
28
  subscribeToConnectionChange,
27
29
  };
28
30
  }
29
- async function setupSyncServer(defaultPort = "0") {
31
+ async function setupSyncServer(defaultHost = serverDefaults.host, defaultPort = "0") {
30
32
  const server = await startSyncServer({
33
+ host: defaultHost,
31
34
  port: defaultPort,
32
35
  inMemory: false,
33
36
  db: dbPath,
@@ -36,7 +39,7 @@ async function setupSyncServer(defaultPort = "0") {
36
39
  onTestFinished(() => {
37
40
  server.close();
38
41
  });
39
- return { server, port };
42
+ return { server, port, host: defaultHost };
40
43
  }
41
44
  async function setupWorker(syncServer, AccountSchema) {
42
45
  const { accountID, agentSecret } = await createWorkerAccount({
@@ -157,6 +160,7 @@ describe("startWorker integration", () => {
157
160
  map.value = "updated while offline";
158
161
  // Start a new sync server on the same port
159
162
  const newServer = await startSyncServer({
163
+ host: worker1.host,
160
164
  port: worker1.port,
161
165
  inMemory: true,
162
166
  db: "",
@@ -181,6 +185,7 @@ describe("startWorker integration", () => {
181
185
  worker1.server.close();
182
186
  // Start a new sync server on the same port
183
187
  const newServer = await startSyncServer({
188
+ host: worker1.host,
184
189
  port: worker1.port,
185
190
  inMemory: true,
186
191
  db: "",
@@ -208,6 +213,7 @@ describe("startWorker integration", () => {
208
213
  });
209
214
  // Start a new sync server on the same port
210
215
  const newServer = await startSyncServer({
216
+ host: worker1.host,
211
217
  port: worker1.port,
212
218
  inMemory: true,
213
219
  db: "",
@@ -1 +1 @@
1
- {"version":3,"file":"startWorker.test.js","sourceRoot":"","sources":["../../src/tests/startWorker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startWorker.test.js","sourceRoot":"","sources":["../../src/tests/startWorker.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type Server } from "node:http";
2
+ import { type LocalNode } from "cojson";
3
+ export type SyncServer = Server & {
4
+ localNode: LocalNode;
5
+ };
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bin": "./dist/index.js",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
- "version": "0.17.6",
6
+ "version": "0.17.8",
7
7
  "exports": {
8
8
  "./startSyncServer": {
9
9
  "types": "./dist/startSyncServer.d.ts",
@@ -21,11 +21,11 @@
21
21
  "@effect/printer-ansi": "^0.34.5",
22
22
  "@effect/schema": "^0.71.1",
23
23
  "@effect/typeclass": "^0.25.5",
24
- "cojson": "0.17.6",
25
- "cojson-storage-sqlite": "0.17.6",
26
- "cojson-transport-ws": "0.17.6",
24
+ "cojson": "0.17.8",
25
+ "cojson-storage-sqlite": "0.17.8",
26
+ "cojson-transport-ws": "0.17.8",
27
27
  "effect": "^3.6.5",
28
- "jazz-tools": "0.17.6",
28
+ "jazz-tools": "0.17.8",
29
29
  "ws": "^8.14.2"
30
30
  },
31
31
  "devDependencies": {
package/src/config.ts ADDED
@@ -0,0 +1,6 @@
1
+ export const serverDefaults = {
2
+ host: "127.0.0.1",
3
+ port: 4200,
4
+ inMemory: false,
5
+ db: "sync-db/storage.db",
6
+ };
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@ import { NodeContext, NodeRuntime } from "@effect/platform-node";
5
5
  import { Console, Effect } from "effect";
6
6
  import { createWorkerAccount } from "./createWorkerAccount.js";
7
7
  import { startSyncServer } from "./startSyncServer.js";
8
+ import { serverDefaults } from "./config.js";
8
9
 
9
10
  const jazzTools = Command.make("jazz-tools");
10
11
 
@@ -39,36 +40,63 @@ const accountCommand = Command.make("account").pipe(
39
40
  Command.withSubcommands([createAccountCommand]),
40
41
  );
41
42
 
43
+ const hostOption = Options.text("host")
44
+ .pipe(Options.withAlias("h"))
45
+ .pipe(
46
+ Options.withDescription(
47
+ `The host to listen on. Default is ${serverDefaults.host}`,
48
+ ),
49
+ )
50
+ .pipe(Options.withDefault(serverDefaults.host));
51
+
42
52
  const portOption = Options.text("port")
43
53
  .pipe(Options.withAlias("p"))
44
54
  .pipe(
45
55
  Options.withDescription(
46
- "Select a different port for the WebSocket server. Default is 4200",
56
+ `Select a different port for the WebSocket server. Default is ${serverDefaults.port}`,
47
57
  ),
48
58
  )
49
- .pipe(Options.withDefault("4200"));
59
+ .pipe(Options.withDefault(serverDefaults.port.toString()));
50
60
 
51
61
  const inMemoryOption = Options.boolean("in-memory").pipe(
52
- Options.withDescription("Use an in-memory storage instead of file-based"),
62
+ Options.withDescription("Use an in-memory storage instead of file-based."),
53
63
  );
54
64
 
55
65
  const dbOption = Options.file("db")
56
66
  .pipe(
57
67
  Options.withDescription(
58
- "The path to the file where to store the data. Default is 'sync-db/storage.db'",
68
+ `The path to the file where to store the data. Default is '${serverDefaults.db}'`,
59
69
  ),
60
70
  )
61
- .pipe(Options.withDefault("sync-db/storage.db"));
71
+ .pipe(Options.withDefault(serverDefaults.db));
62
72
 
63
73
  const startSyncServerCommand = Command.make(
64
74
  "sync",
65
- { port: portOption, inMemory: inMemoryOption, db: dbOption },
66
- ({ port, inMemory, db }) => {
75
+ {
76
+ host: hostOption,
77
+ port: portOption,
78
+ inMemory: inMemoryOption,
79
+ db: dbOption,
80
+ },
81
+ ({ host, port, inMemory, db }) => {
67
82
  return Effect.gen(function* () {
68
- yield* Effect.promise(() => startSyncServer({ port, inMemory, db }));
83
+ const server = yield* Effect.promise(() =>
84
+ startSyncServer({ host, port, inMemory, db }),
85
+ );
86
+
87
+ const serverAddress = server.address();
88
+
89
+ if (!serverAddress) {
90
+ return yield* Effect.fail(new Error("Failed to start sync server."));
91
+ }
92
+
93
+ const socketAddress =
94
+ typeof serverAddress === "object"
95
+ ? `${serverAddress.address}:${serverAddress.port}`
96
+ : serverAddress;
69
97
 
70
98
  yield* Console.log(
71
- `COJSON sync server listening on ws://127.0.0.1:${port}`,
99
+ `COJSON sync server listening on ws://${socketAddress}`,
72
100
  );
73
101
 
74
102
  // Keep the server up
@@ -1,4 +1,4 @@
1
- import { createServer, type Server } from "node:http";
1
+ import { createServer } from "node:http";
2
2
  import { mkdir } from "node:fs/promises";
3
3
  import { dirname } from "node:path";
4
4
  import { LocalNode } from "cojson";
@@ -6,16 +6,19 @@ import { getBetterSqliteStorage } from "cojson-storage-sqlite";
6
6
  import { createWebSocketPeer } from "cojson-transport-ws";
7
7
  import { WasmCrypto } from "cojson/crypto/WasmCrypto";
8
8
  import { WebSocketServer } from "ws";
9
+ import { type SyncServer } from "./types.js";
9
10
 
10
11
  export const startSyncServer = async ({
12
+ host,
11
13
  port,
12
14
  inMemory,
13
15
  db,
14
16
  }: {
17
+ host: string | undefined;
15
18
  port: string | undefined;
16
19
  inMemory: boolean;
17
20
  db: string;
18
- }) => {
21
+ }): Promise<SyncServer> => {
19
22
  const crypto = await WasmCrypto.create();
20
23
 
21
24
  const server = createServer((req, res) => {
@@ -94,8 +97,6 @@ export const startSyncServer = async ({
94
97
  localNode.gracefulShutdown();
95
98
  });
96
99
 
97
- server.listen(port ? parseInt(port) : undefined);
98
-
99
100
  const _close = server.close;
100
101
 
101
102
  server.close = () => {
@@ -106,5 +107,11 @@ export const startSyncServer = async ({
106
107
 
107
108
  Object.defineProperty(server, "localNode", { value: localNode });
108
109
 
109
- return server as Server & { localNode: LocalNode };
110
+ server.listen(port ? parseInt(port) : undefined, host);
111
+
112
+ return new Promise((resolve) => {
113
+ server.once("listening", () => {
114
+ resolve(server as SyncServer);
115
+ });
116
+ });
110
117
  };
@@ -5,11 +5,13 @@ import { describe, expect, it, onTestFinished } from "vitest";
5
5
  import { WebSocket } from "ws";
6
6
  import { createWorkerAccount } from "../createWorkerAccount.js";
7
7
  import { startSyncServer } from "../startSyncServer.js";
8
+ import { serverDefaults } from "../config.js";
8
9
 
9
10
  describe("createWorkerAccount - integration tests", () => {
10
11
  it("should create a worker account using the local sync server", async () => {
11
12
  // Pass port: undefined to let the server choose a random port
12
13
  const server = await startSyncServer({
14
+ host: serverDefaults.host,
13
15
  port: undefined,
14
16
  inMemory: true,
15
17
  db: "",
@@ -1,24 +1,29 @@
1
1
  import { randomUUID } from "crypto";
2
2
  import { tmpdir } from "os";
3
3
  import { join } from "path";
4
- import { LocalNode } from "cojson";
5
4
  import { co, z } from "jazz-tools";
6
5
  import { startWorker } from "jazz-tools/worker";
7
- import { describe, expect, test } from "vitest";
6
+ import { describe, expect, test, afterAll } from "vitest";
8
7
  import { createWorkerAccount } from "../createWorkerAccount.js";
9
8
  import { startSyncServer } from "../startSyncServer.js";
9
+ import { serverDefaults } from "../config.js";
10
+ import { unlinkSync } from "node:fs";
10
11
 
11
12
  const TestMap = co.map({
12
13
  value: z.string(),
13
14
  });
14
15
 
16
+ const dbPath = join(tmpdir(), `test-${randomUUID()}.db`);
17
+
18
+ afterAll(() => {
19
+ unlinkSync(dbPath);
20
+ });
21
+
15
22
  describe("startSyncServer", () => {
16
23
  test("persists values in storage and loads them after restart", async () => {
17
- // Create a temporary database file
18
- const dbPath = join(tmpdir(), `test-${randomUUID()}.db`);
19
-
20
24
  // Start first server instance
21
25
  const server1 = await startSyncServer({
26
+ host: serverDefaults.host,
22
27
  port: "0", // Random available port
23
28
  inMemory: false,
24
29
  db: dbPath,
@@ -48,6 +53,7 @@ describe("startSyncServer", () => {
48
53
 
49
54
  // Start second server instance with same DB
50
55
  const server2 = await startSyncServer({
56
+ host: serverDefaults.host,
51
57
  port: "0",
52
58
  inMemory: false,
53
59
  db: dbPath,
@@ -74,4 +80,21 @@ describe("startSyncServer", () => {
74
80
  await worker2.done();
75
81
  server2.close();
76
82
  });
83
+
84
+ test("starts a sync server with a specific host and port", async () => {
85
+ const server = await startSyncServer({
86
+ host: "0.0.0.0",
87
+ port: "4900",
88
+ inMemory: false,
89
+ db: dbPath,
90
+ });
91
+
92
+ expect(server.address()).toEqual({
93
+ address: "0.0.0.0",
94
+ port: 4900,
95
+ family: "IPv4",
96
+ });
97
+
98
+ server.close();
99
+ });
77
100
  });
@@ -18,6 +18,7 @@ import { afterAll, describe, expect, onTestFinished, test } from "vitest";
18
18
  import { createWorkerAccount } from "../createWorkerAccount.js";
19
19
  import { startSyncServer } from "../startSyncServer.js";
20
20
  import { waitFor } from "./utils.js";
21
+ import { serverDefaults } from "../config.js";
21
22
 
22
23
  const dbPath = join(tmpdir(), `test-${randomUUID()}.db`);
23
24
 
@@ -30,9 +31,9 @@ async function setup<
30
31
  | (AccountClass<Account> & CoValueFromRaw<Account>)
31
32
  | AnyAccountSchema,
32
33
  >(AccountSchema?: S) {
33
- const { server, port } = await setupSyncServer();
34
+ const { server, port, host } = await setupSyncServer();
34
35
 
35
- const syncServer = `ws://localhost:${port}`;
36
+ const syncServer = `ws://${host}:${port}`;
36
37
 
37
38
  const { worker, done, waitForConnection, subscribeToConnectionChange } =
38
39
  await setupWorker(syncServer, AccountSchema);
@@ -43,13 +44,18 @@ async function setup<
43
44
  syncServer,
44
45
  server,
45
46
  port,
47
+ host,
46
48
  waitForConnection,
47
49
  subscribeToConnectionChange,
48
50
  };
49
51
  }
50
52
 
51
- async function setupSyncServer(defaultPort = "0") {
53
+ async function setupSyncServer(
54
+ defaultHost = serverDefaults.host,
55
+ defaultPort = "0",
56
+ ) {
52
57
  const server = await startSyncServer({
58
+ host: defaultHost,
53
59
  port: defaultPort,
54
60
  inMemory: false,
55
61
  db: dbPath,
@@ -61,7 +67,7 @@ async function setupSyncServer(defaultPort = "0") {
61
67
  server.close();
62
68
  });
63
69
 
64
- return { server, port };
70
+ return { server, port, host: defaultHost };
65
71
  }
66
72
 
67
73
  async function setupWorker<
@@ -258,6 +264,7 @@ describe("startWorker integration", () => {
258
264
 
259
265
  // Start a new sync server on the same port
260
266
  const newServer = await startSyncServer({
267
+ host: worker1.host,
261
268
  port: worker1.port,
262
269
  inMemory: true,
263
270
  db: "",
@@ -290,6 +297,7 @@ describe("startWorker integration", () => {
290
297
 
291
298
  // Start a new sync server on the same port
292
299
  const newServer = await startSyncServer({
300
+ host: worker1.host,
293
301
  port: worker1.port,
294
302
  inMemory: true,
295
303
  db: "",
@@ -326,6 +334,7 @@ describe("startWorker integration", () => {
326
334
 
327
335
  // Start a new sync server on the same port
328
336
  const newServer = await startSyncServer({
337
+ host: worker1.host,
329
338
  port: worker1.port,
330
339
  inMemory: true,
331
340
  db: "",
package/src/types.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { type Server } from "node:http";
2
+ import { type LocalNode } from "cojson";
3
+
4
+ export type SyncServer = Server & { localNode: LocalNode };