@automerge/automerge-repo-network-websocket 1.0.0-alpha.0 → 1.0.0-alpha.2

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,3 @@
1
- /// <reference types="node" />
2
1
  /// <reference types="ws" />
3
2
  import { ChannelId, NetworkAdapter, PeerId } from "@automerge/automerge-repo";
4
3
  import WebSocket from "isomorphic-ws";
@@ -6,7 +5,7 @@ declare abstract class WebSocketNetworkAdapter extends NetworkAdapter {
6
5
  socket?: WebSocket;
7
6
  }
8
7
  export declare class BrowserWebSocketClientAdapter extends WebSocketNetworkAdapter {
9
- timerId?: NodeJS.Timer;
8
+ timerId?: ReturnType<typeof setTimeout>;
10
9
  url: string;
11
10
  constructor(url: string);
12
11
  connect(peerId: PeerId): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWebSocketClientAdapter.d.ts","sourceRoot":"","sources":["../src/BrowserWebSocketClientAdapter.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,SAAS,EAET,cAAc,EACd,MAAM,EACP,MAAM,2BAA2B,CAAA;AAElC,OAAO,SAAS,MAAM,eAAe,CAAA;AAOrC,uBAAe,uBAAwB,SAAQ,cAAc;IAC3D,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,qBAAa,6BAA8B,SAAQ,uBAAuB;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;gBAEC,GAAG,EAAE,MAAM;IAKvB,OAAO,CAAC,MAAM,EAAE,MAAM;IA8BtB,IAAI;IAwBJ,KAAK;IAOL,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,OAAO;IAgCpB,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAUjC,cAAc,CAAC,OAAO,EAAE,UAAU;CAsCnC"}
1
+ {"version":3,"file":"BrowserWebSocketClientAdapter.d.ts","sourceRoot":"","sources":["../src/BrowserWebSocketClientAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EAET,cAAc,EACd,MAAM,EACP,MAAM,2BAA2B,CAAA;AAElC,OAAO,SAAS,MAAM,eAAe,CAAA;AAOrC,uBAAe,uBAAwB,SAAQ,cAAc;IAC3D,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,qBAAa,6BAA8B,SAAQ,uBAAuB;IAGxE,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA;IACvC,GAAG,EAAE,MAAM,CAAA;gBAEC,GAAG,EAAE,MAAM;IAKvB,OAAO,CAAC,MAAM,EAAE,MAAM;IA8BtB,IAAI;IAwBJ,KAAK;IAOL,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,OAAO;IAgCpB,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAUjC,cAAc,CAAC,OAAO,EAAE,UAAU;CAsCnC"}
@@ -2,12 +2,14 @@ import { NetworkAdapter, } from "@automerge/automerge-repo";
2
2
  import * as CBOR from "cbor-x";
3
3
  import WebSocket from "isomorphic-ws";
4
4
  import debug from "debug";
5
- import { ProtocolV1 } from "./protocolVersion";
5
+ import { ProtocolV1 } from "./protocolVersion.js";
6
6
  const log = debug("WebsocketClient");
7
7
  class WebSocketNetworkAdapter extends NetworkAdapter {
8
8
  socket;
9
9
  }
10
10
  export class BrowserWebSocketClientAdapter extends WebSocketNetworkAdapter {
11
+ // Type trickery required for platform independence,
12
+ // see https://stackoverflow.com/questions/45802988/typescript-use-correct-version-of-settimeout-node-vs-window
11
13
  timerId;
12
14
  url;
13
15
  constructor(url) {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWSServerAdapter.d.ts","sourceRoot":"","sources":["../src/NodeWSServerAdapter.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAK/D,OAAO,EACL,SAAS,EAET,cAAc,EACd,MAAM,EACP,MAAM,2BAA2B,CAAA;AAIlC,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAK;gBAEjC,MAAM,EAAE,eAAe;IAKnC,OAAO,CAAC,MAAM,EAAE,MAAM;IAmBtB,IAAI;IAIJ,KAAK;IAIL,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,OAAO;IAsCpB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS;CAoEtD"}
1
+ {"version":3,"file":"NodeWSServerAdapter.d.ts","sourceRoot":"","sources":["../src/NodeWSServerAdapter.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAK/D,OAAO,EACL,SAAS,EAET,cAAc,EACd,MAAM,EACP,MAAM,2BAA2B,CAAA;AAIlC,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAK;gBAEjC,MAAM,EAAE,eAAe;IAKnC,OAAO,CAAC,MAAM,EAAE,MAAM;IAmBtB,IAAI;IAIJ,KAAK;IAIL,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,OAAO;IAsCpB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS;CA2EtD"}
@@ -2,7 +2,7 @@ import * as CBOR from "cbor-x";
2
2
  import debug from "debug";
3
3
  const log = debug("WebsocketServer");
4
4
  import { NetworkAdapter, } from "@automerge/automerge-repo";
5
- import { ProtocolV1 } from "./protocolVersion";
5
+ import { ProtocolV1 } from "./protocolVersion.js";
6
6
  export class NodeWSServerAdapter extends NetworkAdapter {
7
7
  server;
8
8
  sockets = {};
@@ -75,7 +75,10 @@ export class NodeWSServerAdapter extends NetworkAdapter {
75
75
  // (and we pretend to be joined to every channel)
76
76
  const selectedProtocolVersion = selectProtocol(supportedProtocolVersions);
77
77
  if (selectedProtocolVersion === null) {
78
- socket.send(CBOR.encode({ type: "error", errorMessage: "unsupported protocol version" }));
78
+ socket.send(CBOR.encode({
79
+ type: "error",
80
+ errorMessage: "unsupported protocol version",
81
+ }));
79
82
  this.sockets[senderId].close();
80
83
  delete this.sockets[senderId];
81
84
  }
package/dist/message.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type InboundMessagePayload } from "@automerge/automerge-repo";
2
- import { ProtocolVersion } from "./protocolVersion";
2
+ import { ProtocolVersion } from "./protocolVersion.js";
3
3
  export interface InboundWebSocketMessage extends InboundMessagePayload {
4
4
  supportedProtocolVersions?: ProtocolVersion[];
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,qBAAqB,EAAC,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AAEjD,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,yBAAyB,CAAC,EAAE,eAAe,EAAE,CAAA;CAC9C;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,yBAAyB,CAAC,EAAE,eAAe,EAAE,CAAA;CAC9C;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@automerge/automerge-repo-network-websocket",
3
- "version": "1.0.0-alpha.0",
3
+ "version": "1.0.0-alpha.2",
4
4
  "description": "isomorphic node/browser Websocket network adapter for Automerge Repo",
5
5
  "peerDependencies": {
6
- "@automerge/automerge": "^2.1.0-alpha.9"
6
+ "@automerge/automerge": "^2.1.0-alpha.10"
7
7
  },
8
8
  "repository": "https://github.com/automerge/automerge-repo",
9
9
  "author": "Peter van Hardenberg <pvh@pvh.ca>",
@@ -17,7 +17,7 @@
17
17
  "test": "mocha --no-warnings --experimental-specifier-resolution=node --exit"
18
18
  },
19
19
  "dependencies": {
20
- "@automerge/automerge-repo": "^1.0.0-alpha.0",
20
+ "@automerge/automerge-repo": "^1.0.0-alpha.2",
21
21
  "cbor-x": "^1.3.0",
22
22
  "eventemitter3": "^4.0.7",
23
23
  "isomorphic-ws": "^5.0.0",
@@ -34,5 +34,5 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "38c0c32796ddca5f86a2e55ab0f1202a2ce107c8"
37
+ "gitHead": "b5830dde8f135b694809698aaad2a9fdc79a9898"
38
38
  }
@@ -8,8 +8,8 @@ import * as CBOR from "cbor-x"
8
8
  import WebSocket from "isomorphic-ws"
9
9
 
10
10
  import debug from "debug"
11
- import {ProtocolV1} from "./protocolVersion"
12
- import {InboundWebSocketMessage, OutboundWebSocketMessage} from "./message"
11
+ import {ProtocolV1} from "./protocolVersion.js"
12
+ import {InboundWebSocketMessage, OutboundWebSocketMessage} from "./message.js"
13
13
  const log = debug("WebsocketClient")
14
14
 
15
15
  abstract class WebSocketNetworkAdapter extends NetworkAdapter {
@@ -17,7 +17,9 @@ abstract class WebSocketNetworkAdapter extends NetworkAdapter {
17
17
  }
18
18
 
19
19
  export class BrowserWebSocketClientAdapter extends WebSocketNetworkAdapter {
20
- timerId?: NodeJS.Timer
20
+ // Type trickery required for platform independence,
21
+ // see https://stackoverflow.com/questions/45802988/typescript-use-correct-version-of-settimeout-node-vs-window
22
+ timerId?: ReturnType<typeof setTimeout>
21
23
  url: string
22
24
 
23
25
  constructor(url: string) {
@@ -10,8 +10,8 @@ import {
10
10
  NetworkAdapter,
11
11
  PeerId,
12
12
  } from "@automerge/automerge-repo"
13
- import {ProtocolV1, ProtocolVersion} from "./protocolVersion"
14
- import {InboundWebSocketMessage} from "./message"
13
+ import { ProtocolV1, ProtocolVersion } from "./protocolVersion.js"
14
+ import { InboundWebSocketMessage } from "./message.js"
15
15
 
16
16
  export class NodeWSServerAdapter extends NetworkAdapter {
17
17
  server: WebSocketServer
@@ -119,9 +119,16 @@ export class NodeWSServerAdapter extends NetworkAdapter {
119
119
 
120
120
  // In this client-server connection, there's only ever one peer: us!
121
121
  // (and we pretend to be joined to every channel)
122
- const selectedProtocolVersion = selectProtocol(supportedProtocolVersions)
122
+ const selectedProtocolVersion = selectProtocol(
123
+ supportedProtocolVersions
124
+ )
123
125
  if (selectedProtocolVersion === null) {
124
- socket.send(CBOR.encode({ type: "error", errorMessage: "unsupported protocol version"}))
126
+ socket.send(
127
+ CBOR.encode({
128
+ type: "error",
129
+ errorMessage: "unsupported protocol version",
130
+ })
131
+ )
125
132
  this.sockets[senderId].close()
126
133
  delete this.sockets[senderId]
127
134
  } else {
package/src/message.ts CHANGED
@@ -1,5 +1,5 @@
1
- import {type InboundMessagePayload} from "@automerge/automerge-repo"
2
- import {ProtocolVersion} from "./protocolVersion"
1
+ import { type InboundMessagePayload } from "@automerge/automerge-repo"
2
+ import { ProtocolVersion } from "./protocolVersion.js"
3
3
 
4
4
  export interface InboundWebSocketMessage extends InboundMessagePayload {
5
5
  supportedProtocolVersions?: ProtocolVersion[]