@kerebron/extension-server-hono 0.3.2 → 0.4.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.
- package/README.md +26 -11
- package/esm/HonoYjsMemAdapter.d.ts +1 -1
- package/esm/HonoYjsMemAdapter.d.ts.map +1 -1
- package/esm/HonoYjsMemAdapter.js +14 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,11 +26,20 @@ number of output npm modules.
|
|
|
26
26
|
|
|
27
27
|
**Work in progress**
|
|
28
28
|
|
|
29
|
+
|
|
30
|
+
## Build
|
|
31
|
+
|
|
32
|
+
### Build static examples and `.wasm` files
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
deno task build
|
|
36
|
+
```
|
|
37
|
+
|
|
29
38
|
## Development
|
|
30
39
|
|
|
31
40
|
To start example server:
|
|
32
41
|
|
|
33
|
-
```
|
|
42
|
+
```sh
|
|
34
43
|
deno task -f server-deno-hono start
|
|
35
44
|
```
|
|
36
45
|
|
|
@@ -38,14 +47,6 @@ deno task -f server-deno-hono start
|
|
|
38
47
|
|
|
39
48
|
TODO
|
|
40
49
|
|
|
41
|
-
## Build
|
|
42
|
-
|
|
43
|
-
### Build static examples
|
|
44
|
-
|
|
45
|
-
```shell
|
|
46
|
-
deno task -r build
|
|
47
|
-
```
|
|
48
|
-
|
|
49
50
|
### NPM packages are generated using DNT
|
|
50
51
|
|
|
51
52
|
- https://deno.com/blog/publish-esm-cjs-module-dnt - the easiest way to publish
|
|
@@ -55,13 +56,27 @@ deno task -r build
|
|
|
55
56
|
|
|
56
57
|
To generate npm packages
|
|
57
58
|
|
|
58
|
-
```
|
|
59
|
+
```sh
|
|
59
60
|
deno -A ./build/build_npm.ts
|
|
60
61
|
```
|
|
61
62
|
|
|
62
63
|
## Run through docker
|
|
63
64
|
|
|
64
|
-
```
|
|
65
|
+
```sh
|
|
65
66
|
docker build . -t editor-test
|
|
66
67
|
docker run -it -p 8000:8000 -v $PWD:/usr/src/app editor-test
|
|
67
68
|
```
|
|
69
|
+
|
|
70
|
+
## Prerequisites
|
|
71
|
+
|
|
72
|
+
Install deno
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
npm install -g deno
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Install rust
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
82
|
+
```
|
|
@@ -33,7 +33,7 @@ export declare class HonoYjsMemAdapter implements HonoWsAdapter {
|
|
|
33
33
|
readonly sockets: Map<WebSocket, SocketContext>;
|
|
34
34
|
readonly rooms: Map<string, Room>;
|
|
35
35
|
constructor();
|
|
36
|
-
getRoomNames():
|
|
36
|
+
getRoomNames(): string[];
|
|
37
37
|
upgradeWebSocket(roomName: string): WSEvents<WebSocket>;
|
|
38
38
|
send(conn: WebSocket, m: Uint8Array): void;
|
|
39
39
|
receiveMessage(messageBytes: Uint8Array, conn: WebSocket): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonoYjsMemAdapter.d.ts","sourceRoot":"","sources":["../src/HonoYjsMemAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAa,CAAC;AAIlD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,YAAS,KAAG,CAAC,CAAC,GAWtD,CAAC;AAEF,qBAAa,aAAa;aAGI,IAAI,EAAE,IAAI;aAAkB,MAAM,EAAE,SAAS;IAFzE,SAAgB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAE3B,IAAI,EAAE,IAAI,EAAkB,MAAM,EAAE,SAAS;CAE1E;AAED,qBAAa,IAAI;aAIa,QAAQ,EAAE,MAAM;aAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;IAHxE,SAAgB,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC1E,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC;gBAEX,QAAQ,EAAE,MAAM,EAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;CAuDzE;AAID,qBAAa,iBAAkB,YAAW,aAAa;;IACrD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC5D,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"HonoYjsMemAdapter.d.ts","sourceRoot":"","sources":["../src/HonoYjsMemAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAa,CAAC;AAIlD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,YAAS,KAAG,CAAC,CAAC,GAWtD,CAAC;AAEF,qBAAa,aAAa;aAGI,IAAI,EAAE,IAAI;aAAkB,MAAM,EAAE,SAAS;IAFzE,SAAgB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAE3B,IAAI,EAAE,IAAI,EAAkB,MAAM,EAAE,SAAS;CAE1E;AAED,qBAAa,IAAI;aAIa,QAAQ,EAAE,MAAM;aAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;IAHxE,SAAgB,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC1E,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC;gBAEX,QAAQ,EAAE,MAAM,EAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;CAuDzE;AAID,qBAAa,iBAAkB,YAAW,aAAa;;IACrD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC5D,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;;IAMlC,YAAY;IAIZ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;IAsEvD,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU;IAUnC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS;CA8DzD"}
|
package/esm/HonoYjsMemAdapter.js
CHANGED
|
@@ -135,7 +135,7 @@ export class HonoYjsMemAdapter {
|
|
|
135
135
|
});
|
|
136
136
|
this.rooms = rooms;
|
|
137
137
|
}
|
|
138
|
-
|
|
138
|
+
getRoomNames() {
|
|
139
139
|
return Array.from(rooms.keys());
|
|
140
140
|
}
|
|
141
141
|
upgradeWebSocket(roomName) {
|
|
@@ -165,8 +165,18 @@ export class HonoYjsMemAdapter {
|
|
|
165
165
|
}
|
|
166
166
|
// this.#forceReady();
|
|
167
167
|
},
|
|
168
|
-
onError: (
|
|
169
|
-
|
|
168
|
+
onError: (evt, wsContext) => {
|
|
169
|
+
if (evt instanceof ErrorEvent) {
|
|
170
|
+
if (evt.message.indexOf('Connection reset by peer') > -1) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (evt.message.indexOf('No response from ping frame.') > -1) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
console.warn(new Error('HonoYjsMemAdapter.onError: ' + evt.message, {
|
|
177
|
+
cause: evt.error,
|
|
178
|
+
}));
|
|
179
|
+
}
|
|
170
180
|
},
|
|
171
181
|
onMessage: (message, wsContext) => {
|
|
172
182
|
if (!wsContext.raw) {
|
|
@@ -218,8 +228,7 @@ export class HonoYjsMemAdapter {
|
|
|
218
228
|
}
|
|
219
229
|
catch (err) {
|
|
220
230
|
console.error(err);
|
|
221
|
-
//
|
|
222
|
-
doc.emit('error', [err]);
|
|
231
|
+
// room.doc.emit('error', [err]);
|
|
223
232
|
}
|
|
224
233
|
}
|
|
225
234
|
}
|