Skip to content

Commit 4d2d334

Browse files
committed
docs: update readme
1 parent 679ab72 commit 4d2d334

File tree

6 files changed

+37
-38
lines changed

6 files changed

+37
-38
lines changed

README.md

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,8 @@ pnpm -r build
3333

3434
2. 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

5540
3. Connect a client and sync a Loro document

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
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",

packages/loro-adaptors/package.json

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,20 @@
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",
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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+
});

packages/loro-websocket/src/server/index.test.ts

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1 @@
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-
111
export { SimpleServer, type SimpleServerConfig } from "./simple-server";

0 commit comments

Comments
 (0)