如何将多个(npm)package.json文件合并为一个Gulp?

让我们假设我有一个mainFolder和3个子文件夹(subFolderA,subfolderB,subfolderC)。

而这些子文件夹都包含一个package.json,具有依赖关系和devDependencies。 (mainFolder / subFolderA /的package.json)

我想在mainFolder(mainFolder / package.json)中将它们合并成一个package.json

是否有现成的gulp包(或者Gulp之外的任何其他解决scheme)来合并和合并package.json依赖和devDependencies?

(让我们假设没有版本冲突,如果有解决scheme也包括这种情况,那太棒了!)

你可以发布一个例子gulpfile.js或解释其他方式/工具。

谢谢

       

网上收集的解决方案 "如何将多个(npm)package.json文件合并为一个Gulp?"

你可以尝试使用这个节点包来合并package.json文件: https : //www.npmjs.com/package/package-merge

通过@dur编辑以下评论

例:

var merge = require('package-merge') var fs = require('fs'); var dst = fs.readFileSync('package.a.json'); var src = fs.readFileSync('package.b.json'); fs.writeFile("/tmp/package.merged.json", merge(dst,src)); 

这里有两个选项:

JSON合并

json-merge package.json --parse="dependencies" package2.json --parse="devDependencies"

npm-deps扫描嵌套的package.json文件的子目录,并将所有依赖关系合并到一个输出到stdout的package.json文件中。

通过标准input传递的基本模板用于生成根package.json文件。 这允许package.json被版本控制系统忽略,这与自动生成的文件相冲突。 基本包的属性,如名称和版本,可以存储在一个单独的文件,如package-base.json中,并保存在版本控制中。

$ cd my_cool_project $ npm-deps < package-base.json > package.json