假设我有一个mainFolder和3个子文件夹(subFolderA,subfolderB,subfolderC)。
这些子文件夹都包含一个带有依赖项和devDependencies的package.json。 (mainFolder / subFolderA /的package.json)
我想将它们合并到mainFolder(mainFolder / package.json)中的单个package.json中
是否存在一个现有的gulp包(或Gulp之外的任何其他解决方案)来组合和合并package.json依赖项和devDependencies?
(我们假设没有版本冲突。如果有解决方案也涵盖了这种情况,那就太好了!)
您可以发布一个示例gulpfile.js或解释其他方法/工具。
谢谢
答案 0 :(得分:7)
您可以尝试使用此节点包来合并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));
答案 1 :(得分:2)
以下是两个选项:
json-merge package.json --parse="dependencies" package2.json --parse="devDependencies"
npm-deps扫描子目录中嵌套的package.json文件,并将所有依赖项合并到一个输出到stdout的package.json文件中。
通过标准输入传递的基本模板用于生成根package.json文件。这允许版本控制系统忽略package.json,这与自动生成的文件冲突。基本包属性(如名称和版本)可以存储在单独的文件中,例如package-base.json,并保存在版本控制中。
$ cd my_cool_project
$ npm-deps < package-base.json > package.json
答案 2 :(得分:2)
您可以尝试package-json-merge
npm模块。要安装它,请使用以下命令-
npm install -g package-json-merge
然后只需使用以下命令将多个package.json合并为一个-
package-json-merge package1.json package2.json .... packageN.json > package.json