**描述你的问题(Describe you question here)** 我们需要对接企业内部仓库,官方的 Gitlab 用不了,因为内部的 Gitlab 只支持 V4 版本的 API,因此需要自定义 [gitlab.service.ts](https://github.com/opensumi/codeblitz/blob/755b8e14c2351d1e770e565193554e8408533d4e/packages/code-api/src/gitlab/gitlab.service.ts) 文件。 我尝试直接 Copy 整个 [code-api](https://github.com/opensumi/codeblitz/tree/755b8e14c2351d1e770e565193554e8408533d4e/packages/code-api) 模块,但是感觉这样做太重了,而且依赖安装和构建也有问题。 请问官方是否有更加轻量的新增自定义代码仓库类型的方式?
Activity
Pines-Cheng commentedon Mar 28, 2025
解决方案:
code-api/src/common/types.ts下有:这里的 ICodeAPIProvider 和
@codeblitzjs/ide-code-api里的ICodeAPIProvider不是同一个 ID,倒是找不到注入的 CodeAPIProvider。解决办法:
将 code-api 中所有的 ICodeAPIProvider 引入改为
也就是保证 ICodeAPIProvider 的 ID 唯一性。
当然,我理解正常 IoC 库都是可以重复注入并覆盖的,但是官方的 DI 库文档太少,这次时间紧急,就不研究了。