我应该将外部库的TypeScript定义文件检查为git吗?

时间:2015-09-24 10:13:46

标签: git typescript

我正在使用TSD来管理我正在开发的Web应用程序的TypeScript定义文件。

除了tsd.json文件之外,我应该检查我正在使用的外部库(通过Bower管理)的TypeScript定义文件到git中吗?

对于Bower和NPM依赖关系存在类似的讨论,其中NPM documentation表示否,并且afaik Bower不再提供建议(过去说yes)。

定义文件非常轻量级,所以我倾向于检查它们。任何意见?

2 个答案:

答案 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中继续保持同步,然后..检查... 我可以简单地添加另一个定义文件,选择任意放置位置并引用其他定义文件编译,但更复杂的工作和结果是相同的,但只有一个文件来保持参考链的工作。