[dsh-settings] settingsNamespace export removed in 0.1.2-alpha.x without migration cue — misleading 'does not provide an export' crash #5771
Replies: 1 comment
|
0.1.3-alpha.1(当前 master)上确认: 想确认到底跑的是哪份,在插件目录执行一句即可: node -e "console.log(import.meta.resolve('@deepseek-ai/dsh-settings'))" 打印出的绝对路径会立刻说明是不是沿目录爬上了 CLI 内置那份。你的「本地实体缺失后向上爬」判断在 DSH 插件模型里基本是常态:插件跑在宿主进程内,import 走的是宿主的模块图,不服从插件自己 package.json 写的区间。还有个细节佐证这确实是漂移而非正常解析—— 三个建议我基本都认,只是排序不同:stub re-export + console.warn 是最便宜的止血,有真实消费者时尤其该做——把「启动即崩」降级成一条带替换指引的 warn,最好连替换一并给出(这次其实就是换成 需要的话我可以把 0.1.1-rc.2 → 0.1.2-alpha.3 之间 dsh-settings 的导出差异整理成一份迁移清单。 |
Uh oh!
There was an error while loading. Please reload this page.
现象(真实事故,2026-09-06)
@deepseek-ai/dsh-settings的settingsNamespace导出在 0.1.2-alpha.3 被移除(改为 SettingsProvider 等)。旧 API 消费者(如@morlay/session-rdb@0.0.11,peer 声明^0.1.1-rc.2)在解析到新版时启动即崩:为什么特别难排查
dsh-settings@0.1.2-alpha.3(而非声明兼容的 0.1.1-rc.2);建议
^0.1.2-rc.1的新段),让区间解析直接失败而非静默漂移;环境
All reactions