MainFolderと3つのサブフォルダー(subFolderA、subfolderB、subfolderC)があるとしましょう。
そして、これらのサブフォルダーにはすべて、依存関係とdevDependenciesを持つpackage.jsonが含まれています。 (mainFolder/subFolderA/package.json)
それらをmainFolderの単一のpackage.jsonに結合したい(mainFolder/package.json)
Package.jsonの依存関係とdevDependenciesを組み合わせてマージする既存のgulpパッケージ(またはGulp以外の他のソリューション)はありますか?
(バージョンの競合がないと仮定しましょう。解決策がそのケースもカバーしている場合、それは素晴らしいことです!)
Gulpfile.jsの例を投稿したり、他の方法やツールについて説明したりできますか。
ありがとうございました
このノードパッケージを使用して、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));
2つのオプションがあります。
json-merge package.json --parse="dependencies" package2.json --parse="devDependencies"
npm-deps は、ネストされたpackage.jsonファイルのサブディレクトリをスキャンし、すべての依存関係を1つのpackage.jsonファイルにマージして、stdoutに出力します。
標準入力を介して渡された基本テンプレートを使用して、ルートのpackage.jsonファイルが生成されます。これにより、自動生成されたファイルと競合するバージョン管理システムでpackage.jsonを無視できます。名前やバージョンなどの基本パッケージ属性は、package-base.jsonなどの別のファイルに保存して、バージョン管理に保持できます。
$ cd my_cool_project $ npm-deps < package-base.json > package.json
あなたが試すことができます - package-json-merge
npmモジュール。それをインストールするには、次のコマンドを使用します-
npm install -g package-json-merge
次に、以下のコマンドを使用して、複数のpackage.jsonを1つに結合します-
package-json-merge package1.json package2.json .... packageN.json > package.json