UNPKG

@flxbl-io/sfp

Version:

sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model

84 lines 7.76 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const TransitiveDependencyResolver_1 = __importDefault(require("../../core/package/dependencies/TransitiveDependencyResolver")); const sfp_logger_1 = require("@flxbl-io/sfp-logger"); const sfp_logger_2 = __importStar(require("@flxbl-io/sfp-logger")); const lodash_1 = __importDefault(require("lodash")); const Table = require('cli-table'); const UserDefinedExternalDependency_1 = __importDefault(require("../../core/project/UserDefinedExternalDependency")); class ShrinkImpl { constructor(connToDevHub, logger) { this.connToDevHub = connToDevHub; this.logger = logger; } async shrinkDependencies(sfdxProjectConfig) { sfp_logger_2.default.log('Shrinking Project Dependencies...', sfp_logger_2.LoggerLevel.INFO, this.logger); this.updatedprojectConfig = lodash_1.default.cloneDeep(sfdxProjectConfig); const transitiveDependencyResolver = new TransitiveDependencyResolver_1.default(sfdxProjectConfig); this.dependencyMap = await transitiveDependencyResolver.resolveTransitiveDependencies(); await this.resolveAndShrinkDependencies(this.dependencyMap); this.updatedprojectConfig = new UserDefinedExternalDependency_1.default().addDependencyEntries(this.updatedprojectConfig, this.connToDevHub); return this.updatedprojectConfig; } async resolveAndShrinkDependencies(dependencyMap) { let pkgs = [...dependencyMap.keys()]; for (let pkg of pkgs) { sfp_logger_2.default.log((0, sfp_logger_1.COLOR_HEADER)(`cleaning up dependencies for package:`) + (0, sfp_logger_1.COLOR_KEY_MESSAGE)(pkg), sfp_logger_2.LoggerLevel.TRACE, this.logger); let dependenencies = dependencyMap.get(pkg); let updatedDependencies = lodash_1.default.cloneDeep(dependenencies); for (let dependency of dependencyMap.get(pkg)) { if (dependencyMap.get(dependency.package)) { sfp_logger_2.default.log(`Shrinking ${dependencyMap.get(dependency.package).length} dependencies from package ${dependency.package}`, sfp_logger_2.LoggerLevel.TRACE, this.logger); for (let temp of dependencyMap.get(dependency.package)) { for (let i = 0; i < updatedDependencies.length; i++) { if (updatedDependencies[i].package == temp.package) { updatedDependencies.splice(i, 1); break; } } } } else { sfp_logger_2.default.log(`no dependency found for ${dependency.package} in the map`, sfp_logger_2.LoggerLevel.TRACE, this.logger); } } //Update project config await this.updateProjectConfig(pkg, updatedDependencies); } } async updateProjectConfig(packageName, fixedDependencies) { this.updatedprojectConfig.packageDirectories.map((pkg) => { if (pkg.package == packageName) { return Object.assign(pkg, { dependencies: fixedDependencies }); } }); } } exports.default = ShrinkImpl; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hyaW5rSW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL2RlcGVuZGVuY3kvU2hyaW5rSW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0lBQXdHO0FBQ3hHLHFEQUFtRztBQUNuRyxtRUFBc0U7QUFDdEUsb0RBQXVCO0FBRXZCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNuQyxxSEFBNkY7QUFFN0YsTUFBcUIsVUFBVTtJQUszQixZQUFvQixZQUF1QixFQUFVLE1BQWU7UUFBaEQsaUJBQVksR0FBWixZQUFZLENBQVc7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztJQUNqRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsaUJBQXNCO1FBQ2xELG9CQUFTLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxFQUFFLHdCQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUzRCxNQUFNLDRCQUE0QixHQUFHLElBQUksc0NBQTRCLENBQ2pFLGlCQUFpQixDQUNwQixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLDRCQUE0QixDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDeEYsTUFBTSxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLHVDQUE2QixFQUFFLENBQUMsb0JBQW9CLENBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVySSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRU8sS0FB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