Skip to content

[Bug] B196 裸名 peer 修复漏三处:根 package.json(git/market 分发清单)、脚手架模板、自测模板 —— 生成的插件全部复刻「装了不激活」 #123

Open

Description

@nanami-0713

现象

B196 裸名 peer 修复系列(d2ac231 → 1952733,9-18/19)把 injector/package.json 与 injector/src/index.ts 的 import 都改成了 scoped @deepseek-ai/cordis / @deepseek-ai/schemastery,但按同一诊断(「裸名 → 装了不激活」)还有 三处漏网,基于 HEAD 1952733 核实:

1. 根 package.json:66-67 —— git/market 分发清单本身仍是裸名

"peerDependencies": {
  "@deepseek-ai/dsh-tools": ">=0.0.1-rc <2",
  "cordis": ">=4.0.0-rc <5",
  "schemastery": "^3.18.0"
}

根清单是 @dsh-external/dsh-super-injector 的分发入口(prepare 构建、main 指向 injector/lib),且 files 只打包 injector/lib、injector/scripts 等——injector/package.json 根本不在打包清单里,宿主/市场在 git 安装路径上读到的 peer 声明只有这份根清单。也就是说 npm 发布面(injector/package.json)修好了,但 git/market 安装面(根清单)还带着 B196 原样。

2. injector/src/index.ts:444 —— 脚手架模板给所有生成插件写裸名 cordis peer

const peerDeps: Record<string, string> = {
  '@deepseek-ai/dsh-llm': '>=0.0.1-rc <2',
  '@deepseek-ai/dsh-tools': '>=0.0.1-rc <2',
  'cordis': '>=4.0.0-rc <5',                      // ← 裸名
  '@deepseek-ai/schemastery': '^3.18.2',          // ← 同一对象里这行已经 scoped
}

同文件所有形态的 src 模板(156/213/320/3049 行)import 的都是 @deepseek-ai/cordis,peer 却声明裸 cordis——脚手架生成的每一个插件都自带「import scoped、peer 裸名」的矛盾,在宿主上复刻 B196「装了不激活」。schemastery 键在同一对象里已被 B196 系列改成 scoped,唯独 cordis 漏了这一处(e1e710c 改的 5 处不含这行)。

3. injector/src/index.ts:3044 —— 自测插件模板同样裸名

peerDependencies: { '@deepseek-ai/dsh-tools': '>=0.0.1-rc <2', 'cordis': '>=4.0.0-rc <5' },

自测 src(3049 行)import 的也是 @deepseek-ai/cordis。自测在合成 checkout 里只跑 tsc 所以不炸,但模板与真实宿主行为不一致。

修复

四处一行改动:根清单两键改 @deepseek-ai/cordis / @deepseek-ai/schemastery(范围对齐 injector/package.json 的 >=4.0.0-rc <5 / ^3.18.2),模板 444 与 3044 两处 'cordis' 改 '@deepseek-ai/cordis'。全仓库已无其他裸名引用(grep 核实仅此四处)。我可以直接提 PR。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions