UNPKG

@flxbl-io/sfp

Version:

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

66 lines 6.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sfp_logger_1 = __importDefault(require("@flxbl-io/sfp-logger")); const core_1 = require("@salesforce/core"); const lodash_1 = __importDefault(require("lodash")); const ExternalPackage2DependencyResolver_1 = __importDefault(require("../package/dependencies/ExternalPackage2DependencyResolver")); /** * Functions to deal with externalDependencyMap supplied by the user * to aid in resolving transitive dependencies */ class UserDefinedExternalDependencyMap { fetchDependencyEntries(projectConfig) { if (projectConfig.plugins?.sfp?.externalDependencyMap) { let externalDependencyMap = projectConfig.plugins.sfp.externalDependencyMap; sfp_logger_1.default.log(JSON.stringify(externalDependencyMap), core_1.LoggerLevel.DEBUG); return externalDependencyMap; } else return {}; } async addDependencyEntries(projectConfig, connToDevHub) { let externalDependencies = []; let updatedProjectConfig = await lodash_1.default.cloneDeep(projectConfig); let externalPackageResolver = new ExternalPackage2DependencyResolver_1.default(connToDevHub, projectConfig, null); let externalDependencyMap = this.fetchDependencyEntries(projectConfig); let externalPackage2s = await externalPackageResolver.resolveExternalPackage2DependenciesToVersions(); for (let externalPackage2 of externalPackage2s) { externalDependencies.push(externalPackage2.name); } for (let dependency of externalDependencies) { if (!Object.keys(externalDependencyMap).includes(dependency)) { externalDependencyMap[dependency] = [{ package: '', versionNumber: '' }]; } } if (updatedProjectConfig.plugins && updatedProjectConfig.plugins.sfp) { updatedProjectConfig.plugins.sfp.externalDependencyMap = externalDependencyMap; } else { updatedProjectConfig.plugins = updatedProjectConfig.plugins || {}; updatedProjectConfig.plugins.sfp = updatedProjectConfig.plugins.sfp || {}; updatedProjectConfig.plugins.sfp.externalDependencyMap = externalDependencyMap; } return updatedProjectConfig; } async cleanupEntries(projectConfig) { let updatedProjectConfig = await lodash_1.default.cloneDeep(projectConfig); if (updatedProjectConfig?.plugins?.sfp?.externalDependencyMap) { const externalDependencyMap = updatedProjectConfig.plugins.sfp.externalDependencyMap; for (let externalPackage of Object.keys(externalDependencyMap)) { if (externalDependencyMap[externalPackage][0].package == '') { delete externalDependencyMap[externalPackage]; } else if (externalDependencyMap[externalPackage][0].package != '' && externalDependencyMap[externalPackage][0].versionNumber == '') { delete externalDependencyMap[externalPackage][0].versionNumber; } } } return updatedProjectConfig; } } exports.default = UserDefinedExternalDependencyMap; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckRlZmluZWRFeHRlcm5hbERlcGVuZGVuY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9wcm9qZWN0L1VzZXJEZWZpbmVkRXh0ZXJuYWxEZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0VBQTZDO0FBQzdDLDJDQUEyRDtBQUMzRCxvREFBdUI7QUFDdkIsb0lBQTRHO0FBRTVHOzs7R0FHRztBQUNILE1BQXFCLGdDQUFnQztJQUd6QyxzQkFBc0IsQ0FBQyxhQUFrQjtRQUM3QyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDcEQsSUFBSSxxQkFBcUIsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztZQUM1RSxvQkFBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsa0JBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RSxPQUFPLHFCQUFxQixDQUFDO1FBQ2pDLENBQUM7O1lBRUEsT0FBTyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLGFBQWtCLEVBQUUsWUFBd0I7UUFDMUUsSUFBSSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxvQkFBb0IsR0FBRyxNQUFNLGdCQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVELElBQUksdUJBQXVCLEdBQUcsSUFBSSw0Q0FBa0MsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXhHLElBQUkscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXZFLElBQUksaUJBQWlCLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyw2Q0FBNkMsRUFBRSxDQUFDO1FBRXRHLEtBQUssSUFBSSxnQkFBZ0IsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQzdDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsS0FBSyxJQUFJLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzNELHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ25FLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDbkYsQ0FBQzthQUFNLENBQUM7WUFDSixvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNsRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1lBQzFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDbkYsQ0FBQztRQUNELE9BQU8sb0JBQW9CLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBa0I7UUFDMUMsSUFBSSxvQkFBb0IsR0FBRyxNQUFNLGdCQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVELElBQUksb0JBQW9CLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxDQUFDO1lBQzVELE1BQU0scUJBQXFCLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztZQUNyRixLQUFLLElBQUksZUFBZSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxJQUFJLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDMUQsT0FBTyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztxQkFBTSxJQUNILHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFO29CQUN2RCxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLElBQUksRUFBRSxFQUMvRCxDQUFDO29CQUNDLE9BQU8scUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUNuRSxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLG9CQUFvQixDQUFDO0lBQ2hDLENBQUM7Q0FDSjtBQTFERCxtREEwREMifQ==