File tree Expand file tree Collapse file tree 6 files changed +37
-38
lines changed
loro-websocket/src/server Expand file tree Collapse file tree 6 files changed +37
-38
lines changed Original file line number Diff line number Diff line change @@ -33,23 +33,8 @@ pnpm -r build
3333
34342 . Start a SimpleServer (Node.js)
3535
36- Create ` examples/simple-server.ts ` :
37-
38- ``` ts
39- import { SimpleServer } from " loro-websocket/server" ;
40-
41- const server = new SimpleServer ({ port: 8787 });
42- server .start ().then (() => {
43- // eslint-disable-next-line no-console
44- console .log (" SimpleServer listening on ws://localhost:8787" );
45- });
46- ```
47-
48- Run it (Node 18+):
49-
5036``` bash
51- node --loader ts-node/esm examples/simple-server.ts
52- # or compile to JS first with your preferred setup
37+ pnpm dev-simple-server
5338```
5439
55403 . Connect a client and sync a Loro document
Original file line number Diff line number Diff line change 1111 "typecheck" : " pnpm -r typecheck" ,
1212 "clean" : " pnpm -r clean" ,
1313 "format" : " prettier --write ." ,
14- "format:check" : " prettier --check ."
14+ "format:check" : " prettier --check ." ,
15+ "dev-simple-server" : " pnpm --filter loro-websocket exec tsx src/server/bin.ts"
1516 },
1617 "devDependencies" : {
1718 "@rslint/core" : " ^0.1.11" ,
Original file line number Diff line number Diff line change 1515 "loro-protocol" : " workspace:*"
1616 },
1717 "peerDependencies" : {
18+ "@loro-dev/flock" : " ^1.0.0" ,
1819 "loro-crdt" : " ^1.8.5" ,
19- "@loro-dev/flock" : " ^1.0.0"
20+ "yjs" : " *"
21+ },
22+ "peerDependenciesMeta" : {
23+ "@loro-dev/flock" : {
24+ "optional" : true
25+ },
26+ "loro-crdt" : {
27+ "optional" : true
28+ },
29+ "yjs" : {
30+ "optional" : true
31+ }
2032 },
2133 "devDependencies" : {
2234 "@types/node" : " ^20.0.0" ,
Original file line number Diff line number Diff line change 1+ import { SimpleServer } from "./simple-server" ;
2+
3+ const DEFAULT_PORT = 8787 ;
4+ const rawPort = process . argv [ 2 ] ;
5+ const port =
6+ rawPort !== undefined ? Number . parseInt ( rawPort , 10 ) : DEFAULT_PORT ;
7+
8+ if ( ! Number . isSafeInteger ( port ) || port <= 0 || port > 65_535 ) {
9+ const invalidValue = rawPort ?? "" ;
10+ // eslint-disable-next-line no-console
11+ console . error (
12+ `Invalid port: "${ invalidValue } ". Provide a number between 1 and 65535.`
13+ ) ;
14+ process . exit ( 1 ) ;
15+ }
16+
17+ const server = new SimpleServer ( { port } ) ;
18+ server . start ( ) . then ( ( ) => {
19+ // eslint-disable-next-line no-console
20+ console . log ( `SimpleServer listening on ws://localhost:${ port } ` ) ;
21+ } ) ;
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1- export class LoroWebsocketServer {
2- started = false ;
3-
4- start ( port : number ) : string {
5- // Placeholder implementation for basic setup
6- this . started = true ;
7- return `listening:${ port } ` ;
8- }
9- }
10-
111export { SimpleServer , type SimpleServerConfig } from "./simple-server" ;
You can’t perform that action at this time.
0 commit comments