ngm-cli
Version:
Simple way to manage angular submodules in one repository
26 lines • 2.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
//todo: add setting of cross-dependencies versions
//todo: add readme field
const _ = require('lodash');
const fieldsToCopy = 'main version description main module typings browser keywords author license repository'.split(' ');
// read dependencies from main package.json
// if dependencies duplicated they will be overwritten by each other
const constants_1 = require("./constants");
function mergePackageJson(data) {
const { base, module, localDependencies } = data;
// read only needed fields from main package.json
const filteredBasePkg = _.pick(base, fieldsToCopy);
let dependenciesHash = _(base)
.pick(constants_1.dependencyKeys)
.reduce((memo, v) => Object.assign(memo, v), {});
dependenciesHash = Object.assign(dependenciesHash, localDependencies);
// update sub module package.json dependencies versions
const newModulePkg = Object.assign(filteredBasePkg, module);
_.each(constants_1.dependencyKeys, (section) => {
newModulePkg[section] = _.mapValues(newModulePkg[section], (version, dependency) => dependenciesHash[dependency]);
});
return newModulePkg;
}
exports.mergePackageJson = mergePackageJson;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtcGFja2FnZS1qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL21lcmdlLXBhY2thZ2UtanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtEQUFrRDtBQUNsRCx3QkFBd0I7QUFDeEIsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRTVCLE1BQU0sWUFBWSxHQUFHLHlGQUF5RixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxSCwyQ0FBMkM7QUFDM0Msb0VBQW9FO0FBQ3BFLDJDQUE0QztBQUU1QywwQkFBaUMsSUFBSTtJQUNuQyxNQUFNLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxHQUFHLElBQUksQ0FBQztJQUMvQyxpREFBaUQ7SUFDakQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbkQsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzNCLElBQUksQ0FBQywwQkFBYyxDQUFDO1NBQ3BCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUV0RSx1REFBdUQ7SUFDdkQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBYyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDakMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwSCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQWpCRCw0Q0FpQkMifQ==