使用NPM打包分支Git存储库的BUILT版本的正确方法是什么?

时间:2016-03-22 15:32:30

标签: git github npm package.json git-fork

我最近分叉了一个GitHub存储库来修复问题,并创建了一个pull请求。当我等待拉取请求被接受时,我已将我的本地package.json指向我的分叉仓库,如下所示:

devDependencies: {
    "karma-mocha": "maloric/karma-mocha"
}

然而事实证明,karma-mocha需要执行构建步骤来生成lib/adapter.js - 这是程序包的重要部分。此文件列在.gitignore中,因此存储库中不存在。构建步骤是一个繁琐的任务,通常在包发布到npm时执行,因此下载的npm模块中存在adapter.js

我的问题是:打包存储库的分叉构建版本的正确方法是什么,以便我可以将其用作依赖项?据我所知,我有以下选择:

  1. 在本地构建存储库,使用构建的文件创建.tgz文件,然后将其托管在某处并将package.json指向该文件。
  2. 在本地构建存储库,将.gitignore改为允许adapter.js,然后推送到Github上的分支并使用该分支作为我的依赖。
  3. 这些都可以,但我觉得我错过了一些东西。 npm是否有分叉包的概念?并不是每个git存储库都可以用作依赖,而不需要某种构建/ dist步骤,那么做这种事情的可接受方式是什么?

1 个答案:

答案 0 :(得分:9)

这似乎与karma-runner/karma-jasmine issue 38相似,不是完全相同的库,但是相同的想法,以及adapter.js的问题:

  

正如您所指出的那样,adapter.js生成了grunt build   当我们运行adpater.js时,grunt release仅放置在npm存储库中。

     

如果您想使用karma-jasmine版本,则可以从lib/adapter.js删除.gitignore

所以选项2。