我正在使用TSD来管理我正在开发的Web应用程序的TypeScript定义文件。
除了tsd.json
文件之外,我应该检查我正在使用的外部库(通过Bower管理)的TypeScript定义文件到git中吗?
对于Bower和NPM依赖关系存在类似的讨论,其中NPM documentation表示否,并且afaik Bower不再提供建议(过去说yes)。
定义文件非常轻量级,所以我倾向于检查它们。任何意见?
答案 0 :(得分:6)
如果开发人员在检出您的回购后运行npm install
,为什么不自动运行tsd install
?可以轻松地将其添加到scripts
中的package.json
:
// package.json
"scripts": {
"postinstall": "tsd install"
}
不检入生成的文件和依赖项的论据不仅仅是减少存储库的权重。它还涉及信任脚本以使事物保持最新,而不是人为决定。当生成的文件发生微小变化时,它可以减少提交中的噪音。
可以提出相反的论点:如果您担心tsd
资源会丢失,将它们检入您的仓库将会防范这种情况。但偏执狂也应该检查npm模块。
答案 1 :(得分:1)
是的,
因为我包含" typings / tsd.d.ts"在tsconfig.json中它现在是构建过程的一部分, 而且我不会在" typings /"的子目录中维护.gitignore。 ,简单就是更好......
它更像是一个答案的投票:)
作为一个例子:我最近在npm包中添加了一个项目定义而不是明确键入的repo,但是我将它添加到typings / tsd.d.ts中,因为它是我在tsconfig.json中引用的唯一定义文件。 ..我已经无法继续在tsd中继续保持同步,然后..检查... 我可以简单地添加另一个定义文件,选择任意放置位置并引用其他定义文件编译,但更复杂的工作和结果是相同的,但只有一个文件来保持参考链的工作。