refactor(server): 拆分 ShrimpServer → buildShrimpRouter + tokenAuth + accessor
ShrimpServer 之前一锅端 Express routes / JWT / Mongoose / 用户字段访问。
现在拆成独立部件,消费方可以单独换掉任何一块:
- src/server/types.ts: ITokenAuth, IUserAccessor, IShrimpRouterDeps
- src/server/jwtAuth.ts: createJwtTokenAuth(secret | options) 默认 JWT 适配器
- src/server/buildShrimpRouter.ts: 纯函数,不直接 import jsonwebtoken/mongoose
- src/server/ShrimpServer.ts: 装配体,protected create* factory 保留,
子类化扩展不破坏(hand-server-2 的 AdminApi extends ShrimpServer 仍能用)
- src/server/index.ts: 'shrimp-server/server' entry,额外暴露低阶 API
test/buildShrimpRouter.test.ts: 用 MemoryShrimpCrud + 假 ITokenAuth 拼出
独立 Router,跑通 /config /login /me 全流程 — 保证 buildShrimpRouter 不
偷偷耦合回 ShrimpServer。
v0.3.0
This commit is contained in:
+3
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "shrimp-server",
|
||||
"version": "0.2.0",
|
||||
"version": "0.3.0",
|
||||
"private": true,
|
||||
"description": "Shrimp 框架后端 — 声明式字段驱动的 Node.js 管理后台框架(Express + Mongoose + JWT)",
|
||||
"main": "src/index.ts",
|
||||
@@ -11,8 +11,8 @@
|
||||
"default": "./src/core.ts"
|
||||
},
|
||||
"./server": {
|
||||
"types": "./src/server.ts",
|
||||
"default": "./src/server.ts"
|
||||
"types": "./src/server/index.ts",
|
||||
"default": "./src/server/index.ts"
|
||||
},
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user