cojson-transport-ws 0.8.0 → 0.8.3

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,8 +1,8 @@
1
1
 
2
- > cojson-transport-ws@0.7.35-guest-auth.5 build /Users/anselm/jazz/jazz/packages/cojson-transport-ws
2
+ > cojson-transport-ws@0.8.0 build /Users/anselm/jazz/jazz/packages/cojson-transport-ws
3
3
  > npm run lint && rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
5
5
 
6
- > cojson-transport-ws@0.7.35-guest-auth.5 lint
6
+ > cojson-transport-ws@0.8.0 lint
7
7
  > eslint . --ext ts,tsx
8
8
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # cojson-transport-nodejs-ws
2
2
 
3
+ ## 0.8.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - cojson@0.8.3
9
+
3
10
  ## 0.8.0
4
11
 
5
12
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  import { describe, test, expect, vi } from "vitest";
2
- import { BUFFER_LIMIT, BUFFER_LIMIT_POLLING_INTERVAL, createWebSocketPeer } from "./index.js";
2
+ import { BUFFER_LIMIT, BUFFER_LIMIT_POLLING_INTERVAL, createWebSocketPeer, } from "../index.js";
3
3
  const g = globalThis;
4
4
  function setup() {
5
5
  const listeners = new Map();
@@ -29,8 +29,14 @@ describe("createWebSocketPeer", () => {
29
29
  });
30
30
  test("should handle ping messages", async () => {
31
31
  const { listeners } = setup();
32
- const pingMessage = { type: "ping", time: Date.now(), dc: "test-dc" };
33
- const messageEvent = new MessageEvent("message", { data: JSON.stringify(pingMessage) });
32
+ const pingMessage = {
33
+ type: "ping",
34
+ time: Date.now(),
35
+ dc: "test-dc",
36
+ };
37
+ const messageEvent = new MessageEvent("message", {
38
+ data: JSON.stringify(pingMessage),
39
+ });
34
40
  const messageHandler = listeners.get("message");
35
41
  messageHandler?.(messageEvent);
36
42
  // Check if the ping was recorded in the global jazzPings array
@@ -62,7 +68,12 @@ describe("createWebSocketPeer", () => {
62
68
  });
63
69
  test("should send outgoing messages", async () => {
64
70
  const { peer, mockWebSocket } = setup();
65
- const testMessage = { action: "known", id: "co_ztest", header: false, sessions: {} };
71
+ const testMessage = {
72
+ action: "known",
73
+ id: "co_ztest",
74
+ header: false,
75
+ sessions: {},
76
+ };
66
77
  const promise = peer.outgoing.push(testMessage);
67
78
  await new Promise(queueMicrotask);
68
79
  expect(mockWebSocket.send).toHaveBeenCalledWith(JSON.stringify(testMessage));
@@ -73,8 +84,18 @@ describe("createWebSocketPeer", () => {
73
84
  mockWebSocket.send.mockImplementation(() => {
74
85
  mockWebSocket.readyState = 0;
75
86
  });
76
- const message1 = { action: "known", id: "co_ztest", header: false, sessions: {} };
77
- const message2 = { action: "content", id: "co_zlow", new: {}, priority: 1 };
87
+ const message1 = {
88
+ action: "known",
89
+ id: "co_ztest",
90
+ header: false,
91
+ sessions: {},
92
+ };
93
+ const message2 = {
94
+ action: "content",
95
+ id: "co_zlow",
96
+ new: {},
97
+ priority: 1,
98
+ };
78
99
  void peer.outgoing.push(message1);
79
100
  void peer.outgoing.push(message2);
80
101
  await new Promise(queueMicrotask);
@@ -87,8 +108,18 @@ describe("createWebSocketPeer", () => {
87
108
  mockWebSocket.send.mockImplementation(() => {
88
109
  mockWebSocket.bufferedAmount = BUFFER_LIMIT + 1;
89
110
  });
90
- const message1 = { action: "known", id: "co_ztest", header: false, sessions: {} };
91
- const message2 = { action: "content", id: "co_zlow", new: {}, priority: 1 };
111
+ const message1 = {
112
+ action: "known",
113
+ id: "co_ztest",
114
+ header: false,
115
+ sessions: {},
116
+ };
117
+ const message2 = {
118
+ action: "content",
119
+ id: "co_zlow",
120
+ new: {},
121
+ priority: 1,
122
+ };
92
123
  void peer.outgoing.push(message1);
93
124
  void peer.outgoing.push(message2);
94
125
  await new Promise(queueMicrotask);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWebSocketPeer.test.js","sourceRoot":"","sources":["../../src/tests/createWebSocketPeer.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "cojson-transport-ws",
3
3
  "type": "module",
4
- "version": "0.8.0",
4
+ "version": "0.8.3",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.ts",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "cojson": "0.8.0",
9
+ "cojson": "0.8.3",
10
10
  "typescript": "^5.3.3"
11
11
  },
12
12
  "devDependencies": {
@@ -18,6 +18,8 @@
18
18
  },
19
19
  "scripts": {
20
20
  "dev": "tsc --watch --sourceMap --outDir dist",
21
+ "test": "vitest --run --root ../../ --project cojson-transport-ws",
22
+ "test:watch": "vitest --watch --root ../../ --project cojson-transport-ws",
21
23
  "lint": "eslint . --ext ts,tsx",
22
24
  "format": "prettier --write './src/**/*.{ts,tsx}'",
23
25
  "build": "npm run lint && rm -rf ./dist && tsc --sourceMap --outDir dist"
@@ -1,8 +1,12 @@
1
1
  import { describe, test, expect, vi, Mocked } from "vitest";
2
- import { BUFFER_LIMIT, BUFFER_LIMIT_POLLING_INTERVAL, createWebSocketPeer } from "./index.js";
3
- import { AnyWebSocket, PingMsg } from "./types.js";
2
+ import {
3
+ BUFFER_LIMIT,
4
+ BUFFER_LIMIT_POLLING_INTERVAL,
5
+ createWebSocketPeer,
6
+ } from "../index.js";
7
+ import { AnyWebSocket, PingMsg } from "../types.js";
4
8
  import { SyncMessage } from "cojson";
5
- import { Channel } from "cojson/src/streamUtils";
9
+ import { Channel } from "cojson/src/streamUtils.ts";
6
10
 
7
11
  const g: typeof globalThis & {
8
12
  jazzPings?: {
@@ -47,8 +51,14 @@ describe("createWebSocketPeer", () => {
47
51
  test("should handle ping messages", async () => {
48
52
  const { listeners } = setup();
49
53
 
50
- const pingMessage: PingMsg = { type: "ping", time: Date.now(), dc: "test-dc" };
51
- const messageEvent = new MessageEvent("message", { data: JSON.stringify(pingMessage) });
54
+ const pingMessage: PingMsg = {
55
+ type: "ping",
56
+ time: Date.now(),
57
+ dc: "test-dc",
58
+ };
59
+ const messageEvent = new MessageEvent("message", {
60
+ data: JSON.stringify(pingMessage),
61
+ });
52
62
 
53
63
  const messageHandler = listeners.get("message");
54
64
 
@@ -67,7 +77,9 @@ describe("createWebSocketPeer", () => {
67
77
 
68
78
  const { listeners, peer } = setup();
69
79
 
70
- const incoming = peer.incoming as Channel<SyncMessage | "Disconnected" | "PingTimeout">;
80
+ const incoming = peer.incoming as Channel<
81
+ SyncMessage | "Disconnected" | "PingTimeout"
82
+ >;
71
83
  const pushSpy = vi.spyOn(incoming, "push");
72
84
 
73
85
  const closeHandler = listeners.get("close");
@@ -81,7 +93,9 @@ describe("createWebSocketPeer", () => {
81
93
  vi.useFakeTimers();
82
94
  const { listeners, peer } = setup();
83
95
 
84
- const incoming = peer.incoming as Channel<SyncMessage | "Disconnected" | "PingTimeout">;
96
+ const incoming = peer.incoming as Channel<
97
+ SyncMessage | "Disconnected" | "PingTimeout"
98
+ >;
85
99
  const pushSpy = vi.spyOn(incoming, "push");
86
100
 
87
101
  const messageHandler = listeners.get("message");
@@ -98,17 +112,22 @@ describe("createWebSocketPeer", () => {
98
112
  test("should send outgoing messages", async () => {
99
113
  const { peer, mockWebSocket } = setup();
100
114
 
101
- const testMessage: SyncMessage = { action: "known", id: "co_ztest", header: false, sessions: {} };
115
+ const testMessage: SyncMessage = {
116
+ action: "known",
117
+ id: "co_ztest",
118
+ header: false,
119
+ sessions: {},
120
+ };
102
121
  const promise = peer.outgoing.push(testMessage);
103
122
 
104
123
  await new Promise<void>(queueMicrotask);
105
124
 
106
- expect(mockWebSocket.send).toHaveBeenCalledWith(JSON.stringify(testMessage));
125
+ expect(mockWebSocket.send).toHaveBeenCalledWith(
126
+ JSON.stringify(testMessage),
127
+ );
107
128
  await expect(promise).resolves.toBeUndefined();
108
129
  });
109
130
 
110
-
111
-
112
131
  test("should stop sending messages when the websocket is closed", async () => {
113
132
  const { peer, mockWebSocket } = setup();
114
133
 
@@ -116,16 +135,32 @@ describe("createWebSocketPeer", () => {
116
135
  mockWebSocket.readyState = 0;
117
136
  });
118
137
 
119
- const message1: SyncMessage = { action: "known", id: "co_ztest", header: false, sessions: {} };
120
- const message2: SyncMessage = { action: "content", id: "co_zlow", new: {}, priority: 1 };
121
-
138
+ const message1: SyncMessage = {
139
+ action: "known",
140
+ id: "co_ztest",
141
+ header: false,
142
+ sessions: {},
143
+ };
144
+ const message2: SyncMessage = {
145
+ action: "content",
146
+ id: "co_zlow",
147
+ new: {},
148
+ priority: 1,
149
+ };
150
+
122
151
  void peer.outgoing.push(message1);
123
152
  void peer.outgoing.push(message2);
124
153
 
125
154
  await new Promise<void>(queueMicrotask);
126
155
 
127
- expect(mockWebSocket.send).toHaveBeenNthCalledWith(1, JSON.stringify(message1));
128
- expect(mockWebSocket.send).not.toHaveBeenNthCalledWith(2, JSON.stringify(message2));
156
+ expect(mockWebSocket.send).toHaveBeenNthCalledWith(
157
+ 1,
158
+ JSON.stringify(message1),
159
+ );
160
+ expect(mockWebSocket.send).not.toHaveBeenNthCalledWith(
161
+ 2,
162
+ JSON.stringify(message2),
163
+ );
129
164
  });
130
165
 
131
166
  test("should wait for the buffer to be under BUFFER_LIMIT before sending more messages", async () => {
@@ -136,22 +171,41 @@ describe("createWebSocketPeer", () => {
136
171
  mockWebSocket.bufferedAmount = BUFFER_LIMIT + 1;
137
172
  });
138
173
 
139
- const message1: SyncMessage = { action: "known", id: "co_ztest", header: false, sessions: {} };
140
- const message2: SyncMessage = { action: "content", id: "co_zlow", new: {}, priority: 1 };
141
-
174
+ const message1: SyncMessage = {
175
+ action: "known",
176
+ id: "co_ztest",
177
+ header: false,
178
+ sessions: {},
179
+ };
180
+ const message2: SyncMessage = {
181
+ action: "content",
182
+ id: "co_zlow",
183
+ new: {},
184
+ priority: 1,
185
+ };
186
+
142
187
  void peer.outgoing.push(message1);
143
188
  void peer.outgoing.push(message2);
144
189
 
145
190
  await new Promise<void>(queueMicrotask);
146
191
 
147
- expect(mockWebSocket.send).toHaveBeenNthCalledWith(1, JSON.stringify(message1));
148
- expect(mockWebSocket.send).not.toHaveBeenNthCalledWith(2, JSON.stringify(message2));
192
+ expect(mockWebSocket.send).toHaveBeenNthCalledWith(
193
+ 1,
194
+ JSON.stringify(message1),
195
+ );
196
+ expect(mockWebSocket.send).not.toHaveBeenNthCalledWith(
197
+ 2,
198
+ JSON.stringify(message2),
199
+ );
149
200
 
150
201
  mockWebSocket.bufferedAmount = 0;
151
202
 
152
203
  await vi.advanceTimersByTimeAsync(BUFFER_LIMIT_POLLING_INTERVAL + 1);
153
204
 
154
- expect(mockWebSocket.send).toHaveBeenNthCalledWith(2, JSON.stringify(message2));
205
+ expect(mockWebSocket.send).toHaveBeenNthCalledWith(
206
+ 2,
207
+ JSON.stringify(message2),
208
+ );
155
209
 
156
210
  vi.useRealTimers();
157
211
  });
@@ -163,4 +217,4 @@ describe("createWebSocketPeer", () => {
163
217
 
164
218
  expect(mockWebSocket.close).toHaveBeenCalled();
165
219
  });
166
- });
220
+ });
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWebSocketPeer.test.js","sourceRoot":"","sources":["../src/createWebSocketPeer.test.ts"],"names":[],"mappings":"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"}