Files
shrimp-server/package.json
T
wc24 8e4d5620b7 feat!: 拆分 core / server 入口,peer deps 全部 optional
让只用 Shrimp 核心(RPC + 模块声明 + 内存 CRUD)的项目不必装
express / mongoose / bcrypt / jsonwebtoken,显著降低 install 时间。

- src/core.ts:0 重依赖入口(Shrimp / MemoryShrimpCrud / 类型)
- src/server.ts:在 core 之上再导出 ShrimpServer + MongoShrimpCrud
- package.json:加 exports 字段 + peerDependenciesMeta.optional
- Shrimp.ts:bcrypt 改 lazy import,只有走 Password 字段才触发
- MemoryShrimpCrud.populateItems:接 crudRegistry 参数(对齐 Mongo)
- ShrimpTableModule 构造时自动登记 crudRegistry,业务无需手动 wire
- 新增 test/crudRegistry.test.ts 验证自动登记 + relation 自动 populate

BREAKING: import { ShrimpServer } from 'shrimp-server' 不再可用,
请改为 'shrimp-server/server'。
2026-05-23 16:47:18 +08:00

55 lines
1.5 KiB
JSON

{
"name": "shrimp-server",
"version": "0.2.0",
"private": true,
"description": "Shrimp 框架后端 — 声明式字段驱动的 Node.js 管理后台框架(Express + Mongoose + JWT)",
"main": "src/index.ts",
"types": "src/index.ts",
"exports": {
".": {
"types": "./src/core.ts",
"default": "./src/core.ts"
},
"./server": {
"types": "./src/server.ts",
"default": "./src/server.ts"
},
"./package.json": "./package.json"
},
"files": [
"src",
"README.md"
],
"scripts": {
"test": "vitest run",
"test:watch": "vitest",
"typecheck": "tsc --noEmit",
"demo": "tsx examples/basic-admin/index.ts"
},
"peerDependencies": {
"express": "^4 || ^5",
"mongoose": "^6 || ^7 || ^8",
"jsonwebtoken": "^8 || ^9",
"bcrypt": "^5 || ^6"
},
"peerDependenciesMeta": {
"express": { "optional": true },
"mongoose": { "optional": true },
"jsonwebtoken": { "optional": true },
"bcrypt": { "optional": true }
},
"devDependencies": {
"@types/express": "^4.17.21",
"@types/jsonwebtoken": "^9.0.0",
"@types/bcrypt": "^5.0.0",
"@types/node": "^20.0.0",
"bcrypt": "^5.1.1",
"express": "^4.19.0",
"jsonwebtoken": "^9.0.2",
"mongoose": "^8.0.0",
"tsx": "^4.7.0",
"typescript": "^5.3.0",
"vitest": "^1.4.0"
}
}