Files
shrimp-admin/package.json
T
wc24 603e33d17f 0.8.0: 契约副本刷齐并改为自动同步;未注册字段类型不再静默回落
契约副本(src/IShrimpType.ts)此前漂了一整代:停在旧的 json 类型,
缺 object / array / IFieldConfig.fields / IFieldConfig.item / parse / IPageResult.refs。
而本包自己的组件早就在读这些字段——FieldArray 读 field.item、FieldObject 读 fields、
FieldRelation 与 ShrimpTable 读 refs。等于组件在用、类型说没有。
接入方照这份副本理解 shrimp 能渲染什么,只会得出"结构化数据只有 json"的结论。

现在由 shrimp-server 的 postbuild 单向覆盖过来(它是契约真身),
本仓库另提供 npm run check:contract / sync:contract 手动比对与同步。
注释头不参与同步,它声明的是"我是副本",与契约正文是两回事。

VueAdmin.getFieldComponent:未注册类型仍回落成 string(类型词汇表是开放的,
消费侧放个 Field<X>.vue 就能扩,改成严格校验会当场打死 theseus 的 gesture/goodsList
和 hand 的 dropList/matterPointDropList),但按类型去重告警一次,
打印出现位置、已注册类型和两条修法。上面那个 json 就是这么静默活下来的。

resolveVue:内置组件表为空时报"本包没被 vite 正常转换、消费侧缺 optimizeDeps.exclude",
不再报"找不到 layout.vue"把人引去查文件路径。

README 重写成可照抄的接入模板 + 出错对照表 + "那几行为什么不能删"。
版本与 shrimp-server 归一到 0.8.0,删掉 @syncedFrom 这条手维护的版本标记。
2026-08-10 19:48:57 +08:00

44 lines
1.2 KiB
JSON

{
"name": "shrimp-admin",
"version": "0.8.0",
"private": true,
"description": "Shrimp 框架前端 — 消费 ShrimpServer + ShrimpTable 契约的经典 Vue3 + Element Plus 实现",
"main": "src/index.ts",
"types": "src/index.ts",
"exports": {
".": {
"types": "./src/index.ts",
"default": "./src/index.ts"
},
"./style": "./src/style/style.scss",
"./package.json": "./package.json"
},
"files": [
"src",
"README.md"
],
"scripts": {
"check:contract": "node scripts/check-contract.mjs",
"sync:contract": "node scripts/check-contract.mjs --fix"
},
"peerDependencies": {
"vue": "^3.3.0",
"vue-router": "^4.0.0",
"vue-i18n": "^9.0.0",
"axios": "^1.0.0",
"element-plus": "^2.0.0",
"@element-plus/icons-vue": "^2.0.0"
},
"devDependencies": {
"@types/node": "^20.0.0",
"typescript": "^5.3.0",
"vite": "^4.4.5",
"vue": "^3.3.4",
"vue-router": "^4.1.6",
"vue-i18n": "^9.1.9",
"axios": "^1.3.4",
"element-plus": "^2.10.4",
"@element-plus/icons-vue": "^2.1.0"
}
}