2016-06-09 27 views
7

Pozwala założyć, że mam główny folder i 3 podfoldery (podfolderA, podfolder B, podfolderC).Jak scalić wiele (npm) plików package.json w jeden z Gulp?

Wszystkie te podfoldery zawierają pakiet package.json z zależnościami i zależnościami. (Główny/subFolderA/package.json)

chcę połączyć je w jeden package.json w Folder główny (główny/package.json)

tam jest istniejący pakiet łyk (lub jakiekolwiek inne rozwiązanie poza Gulp) do łączenia i łączenia zależności package.json i devDependencies?

(Załóżmy, że nie będzie konfliktu wersji. Jeśli istnieje rozwiązanie obejmuje również tej sprawy, to jest wielki!)

można zakładać Przykładem gulpfile.js lub wyjaśnić inne sposoby/narzędzia.

Dziękuję

Odpowiedz

3

Można spróbować użyć tego pakietu węzła scalić package.json pliki: https://www.npmjs.com/package/package-merge

Edit następujący komentarz @dur

Przykład:

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

Tutaj Są dwie opcje:

json-merge

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

npm-deps skanuje podkatalogi dla zagnieżdżonych plików package.json i scala wszystkie zależności razem w jednym pliku package.json który jest wysyłany na standardowe wyjście.

Szablon podstawowy przekazany przez standardowe wejście służy do utworzenia głównego pliku package.json. Pozwala to na ignorowanie package.json przez systemy kontroli wersji, które kolidują z automatycznie generowanymi plikami. Podstawowe atrybuty pakietu, takie jak nazwa i wersja, mogą być przechowywane w oddzielnym pliku, takim jak package-base.json i przechowywane w kontroli wersji.

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