【发布时间】:2018-12-07 07:19:35
【问题描述】:
考虑以下场景:
- 有一个代码库。该库是用 TypeScript 编写的,并且 typescript 代码发布在 GitHub 上。
package.json文件有一个构建脚本,它基于 TypeScript 代码创建 JavaScript 文件和一个发布脚本,然后将生成的 JS 文件放在 npm 上。 - 我创建了 GitHub 存储库的一个分支,对 typescript 文件进行了一些修改,并将这些更改推送到 GitHub。 (我也打开了原始 GitHub 存储库的 PR,但在合并这些更改之前存在时间延迟。)
- 我希望在下游 NPM 包中使用这些代码更改,因此在下游包中我将修改后的包的引用(在下游的
package.json文件中)更改为我 fork 的 GitHub URL 并执行npm install.
这不起作用,因为:
- 修改包的package.json文件没有列出
dist字段中的typescript文件,只列出了自动生成的js文件,所以npm install时不会拉取TypeScript文件。 - 编译的 JS 文件不存在,因为它们没有签入到 GitHub。
我该如何解决这个问题?有没有办法我可以修改npm install 的行为,以便它获取repo 中不在dist 中的文件,然后在安装期间运行构建脚本?
【问题讨论】:
-
我只能考虑维护一个单独的
build分支(与文件夹同名的分支有时会混淆Git,所以避免dist)。
标签: typescript github npm npm-install