* feat(rpc,network): 新增 RPC 库并迁移网络模块 ## @esengine/rpc (新增) - 新增类型安全的 RPC 库,支持 WebSocket 通信 - 新增 RpcClient 类:connect/disconnect, call/send/on/off/once 方法 - 新增 RpcServer 类:Node.js WebSocket 服务端 - 新增编解码系统:支持 JSON 和 MessagePack - 新增 TextEncoder/TextDecoder polyfill,兼容微信小游戏平台 - 新增 WebSocketAdapter 接口,支持跨平台 WebSocket 抽象 ## @esengine/network (重构) - 重构 NetworkService:拆分为 RpcService 基类和 GameNetworkService - 新增 gameProtocol:类型安全的 API 和消息定义 - 新增类型安全便捷方法:sendInput(), onSync(), onSpawn(), onDespawn() - 更新 NetworkPlugin 使用新的服务架构 - 移除 TSRPC 依赖,改用 @esengine/rpc ## 文档 - 新增 RPC 模块文档(中英文) - 更新 Network 模块文档(中英文) - 更新侧边栏导航 * fix(network,cli): 修复 CI 构建和更新 CLI 适配器 ## 修复 - 在 tsconfig.build.json 添加 rpc 引用,修复类型声明生成 ## CLI 更新 - 更新 nodejs 适配器使用新的 @esengine/rpc - 生成的服务器代码使用 RpcServer 替代旧的 GameServer - 添加 ws 和 @types/ws 依赖 - 更新 README 模板中的客户端连接示例 * chore: 添加 CLI changeset * fix(ci): add @esengine/rpc to build and check scripts - Add rpc package to CI build step (must build before network) - Add rpc to type-check:framework, lint:framework, test:ci:framework * fix(rpc,network): fix tsconfig for declaration generation - Remove composite mode from rpc (not needed, causes CI issues) - Remove rpc from network project references (resolves via node_modules) - Remove unused references from network tsconfig.build.json
2.1 KiB
2.1 KiB
@esengine/rpc, @esengine/network, @esengine/cli
| @esengine/rpc | @esengine/network | @esengine/cli |
|---|---|---|
| minor | minor | minor |
@esengine/rpc
新增 | Added
- 新增类型安全的 RPC 库,支持 WebSocket 通信
- 新增
RpcClient类:connect/disconnect, call/send/on/off/once 方法 - 新增
RpcServer类:Node.js WebSocket 服务端 - 新增编解码系统:支持 JSON 和 MessagePack
- 新增 TextEncoder/TextDecoder polyfill,兼容微信小游戏平台
- 新增 WebSocketAdapter 接口,支持跨平台 WebSocket 抽象
- Add type-safe RPC library with WebSocket support
- Add
RpcClientclass with connect/disconnect, call/send/on/off/once methods - Add
RpcServerclass for Node.js WebSocket server - Add codec system with JSON and MessagePack support
- Add TextEncoder/TextDecoder polyfill for WeChat platform compatibility
- Add WebSocketAdapter interface for cross-platform WebSocket abstraction
@esengine/network
变更 | Changed
- 重构 NetworkService:拆分为
RpcService<P>基类和GameNetworkService游戏服务类 - 新增
gameProtocol:类型安全的 API (join/leave) 和消息 (input/sync/spawn/despawn) - 新增类型安全的便捷方法:sendInput(), onSync(), onSpawn(), onDespawn()
- 更新 NetworkPlugin 使用新的服务架构
- 移除 TSRPC 依赖,改用 @esengine/rpc
- Refactor NetworkService into
RpcService<P>base class andGameNetworkService - Add
gameProtocolwith type-safe API (join/leave) and messages (input/sync/spawn/despawn) - Add type-safe convenience methods: sendInput(), onSync(), onSpawn(), onDespawn()
- Update NetworkPlugin to use new service architecture
- Remove TSRPC dependency, migrate to @esengine/rpc
@esengine/cli
变更 | Changed
- 更新 Node.js 适配器使用
@esengine/rpc和@esengine/network - 生成的服务器代码改用
RpcServer+gameProtocol - 添加
ws和@types/ws依赖 - 更新 README 模板中的客户端连接示例
- Update Node.js adapter to use
@esengine/rpcand@esengine/network - Generated server code now uses
RpcServer+gameProtocol - Add
wsand@types/wsdependencies - Update client connection example in README template