UNPKG

@flxbl-io/sfp

Version:

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

70 lines 6.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ProjectConfig_1 = __importDefault(require("../../core/project/ProjectConfig")); class DependencyHelper { static getParentsToBeFullFilled(packagesWithParents, packages) { for (let [pkgName, parents] of Object.entries(packagesWithParents)) { const fulfilledParents = parents.filter((pkg_name) => packages.includes(pkg_name)); packagesWithParents[pkgName] = fulfilledParents; } return packagesWithParents; } static getChildsOfAllPackages(projectDirectory, filterByPackages) { let projectConfig = ProjectConfig_1.default.getSFDXProjectConfig(projectDirectory); let dag = {}; for (const sfdx_package of projectConfig['packageDirectories']) { if (filterByPackages && !filterByPackages.includes(sfdx_package['package'])) { continue; } let dependents = []; for (const pkg of projectConfig['packageDirectories']) { if (pkg['dependencies'] != null) { for (const dependent of pkg['dependencies']) { if (dependent['package'] == sfdx_package['package'] && filterByPackages && filterByPackages.includes(pkg['package'])) { dependents.push(pkg['package']); } } } } dag[sfdx_package['package']] = dependents; } return dag; } static getParentsOfAllPackages(projectDirectory, filterByPackages) { let projectConfig = ProjectConfig_1.default.getSFDXProjectConfig(projectDirectory); let dag = {}; //Get The packages in the project directory let packagesInTheProjectDirectoryOnlyByNames = []; projectConfig['packageDirectories'].forEach((pkg) => { packagesInTheProjectDirectoryOnlyByNames.push(pkg['package']); }); for (const sfdx_package of projectConfig['packageDirectories']) { if (filterByPackages && !filterByPackages.includes(sfdx_package['package'])) { continue; } let parents = []; if (sfdx_package['dependencies'] != null) { for (const dependent of sfdx_package['dependencies']) { //See the dependents are a package in the project directory if (packagesInTheProjectDirectoryOnlyByNames.includes(dependent['package']) && !parents.includes(dependent['package']) && filterByPackages && filterByPackages.includes(dependent['package'])) parents.push(dependent['package']); } } dag[sfdx_package['package']] = parents; } return dag; } static getParentsOfAPackage(packageList, sfdx_package) { return packageList[sfdx_package]; } } exports.default = DependencyHelper; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeUhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL3BhcmFsbGVsQnVpbGRlci9EZXBlbmRlbmN5SGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUZBQTZEO0FBQzdELE1BQXFCLGdCQUFnQjtJQUNqQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsbUJBQWlDLEVBQUUsUUFBa0I7UUFDakYsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ25GLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1FBQ3BELENBQUM7UUFFRCxPQUFPLG1CQUFtQixDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsZ0JBQXdCLEVBQUUsZ0JBQTJCO1FBQ3RGLElBQUksYUFBYSxHQUFHLHVCQUFhLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RSxJQUFJLEdBQUcsR0FBaUIsRUFBRSxDQUFDO1FBRTNCLEtBQUssTUFBTSxZQUFZLElBQUksYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLGdCQUFnQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFFLFNBQVM7WUFDYixDQUFDO1lBQ0QsSUFBSSxVQUFVLEdBQWEsRUFBRSxDQUFDO1lBRTlCLEtBQUssTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVB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