fix: #10229, package merging should deep merge nested objects

+ tests
This commit is contained in:
Julian Lam
2022-02-04 14:30:57 -05:00
parent a0a3870611
commit 689c125cd3
2 changed files with 89 additions and 23 deletions

View File

@@ -3,6 +3,7 @@
const path = require('path');
const fs = require('fs');
const cproc = require('child_process');
const _ = require('lodash');
const { paths, pluginNamePattern } = require('../constants');
@@ -40,7 +41,7 @@ pkgInstall.updatePackageFile = () => {
// Sort dependencies alphabetically
dependencies = sortDependencies({ ...dependencies, ...defaultPackageContents.dependencies });
const packageContents = { ...oldPackageContents, ...defaultPackageContents, dependencies: dependencies };
const packageContents = _.merge(oldPackageContents, defaultPackageContents, { dependencies });
fs.writeFileSync(paths.currentPackage, JSON.stringify(packageContents, null, 2));
};