【发布时间】:2019-02-25 20:46:34
【问题描述】:
我有一个 Typescript 库,我将其打包为 npm 模块。我在开发前端应用程序期间使用yarn link 轻松集成了这个库。
现在是设置 GitLab CI 并让其他开发人员在前端应用程序上工作的时候了。我目前遇到了分发这个包的问题。
我已经确定的选项和遇到的问题:
-
yarn add <git-url>
这会添加源代码,但因为它是打字稿,所以这是未编译的。我无法使用相同的tsconfig.json 编译这个库。只编译一个文件。
此解决方案还有一个问题,即端口 :22 在开发人员的机器上被阻塞。这将阻止他们使用git+ssh。我不知道 CI 将如何检索这个也适用于开发人员的包。
yarn add tar-ball
我尝试使用 tarball,但没有明显的方法来存储此 tarball。 GitLab 不会将构建产生的工件暴露给其他 CI 管道。
- 供应包
接下来,我决定尝试将节点模块添加到 git repo。但是我发现没有办法阻止纱线自动删除这个包。如果我将库添加到 node_modules,那么它会在运行 yarn 时被删除。
当然,我可以切换到使用私有 npm 模块。但在我看来,如果您已经拥有完美的 GitLab 环境,应该有简单的替代方案来分发内部包。
如何在没有 NPM 私有注册表的情况下私下分发 Typescript 包?
【问题讨论】:
标签: git typescript npm gitlab-ci yarnpkg