@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
JavaScript
;
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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