@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
47 lines • 4.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class CommitUpdater {
constructor(latestRelease, artifactsToLatestCommitId, packagesToChangelogFilePaths, readPackageChangelog) {
this.latestRelease = latestRelease;
this.artifactsToLatestCommitId = artifactsToLatestCommitId;
this.packagesToChangelogFilePaths = packagesToChangelogFilePaths;
this.readPackageChangelog = readPackageChangelog;
}
/**
* Generate commits in latest release, for each artifact
* Also sets new latestCommitId for artifacts
* @returns
*/
update() {
for (let artifact of this.latestRelease['artifacts']) {
let packageChangelog = this.readPackageChangelog(this.packagesToChangelogFilePaths[artifact.name]);
// Set new latestCommitId
artifact['latestCommitId'] = packageChangelog['commits'][0]['commitId'];
let indexOfLatestCommitId;
if (this.artifactsToLatestCommitId?.[artifact.name]) {
indexOfLatestCommitId = packageChangelog['commits'].findIndex((commit) => commit['commitId'] === this.artifactsToLatestCommitId[artifact.name]);
if (indexOfLatestCommitId === -1) {
console.log(`Cannot find commit Id ${this.artifactsToLatestCommitId[artifact.name]} in ${artifact.name} changelog`);
console.log('Assuming that there are no changes...');
artifact['commits'] = [];
continue;
}
}
if (indexOfLatestCommitId > 0) {
artifact['commits'] = packageChangelog['commits'].slice(0, indexOfLatestCommitId);
}
else if (indexOfLatestCommitId === 0) {
// Artifact verison has not changed
artifact['commits'] = [];
// Skip to next artifact
continue;
}
else if (indexOfLatestCommitId === undefined) {
// Artifact was not in previous release
artifact['commits'] = packageChangelog['commits'];
}
}
}
}
exports.default = CommitUpdater;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWl0VXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL2NoYW5nZWxvZy9Db21taXRVcGRhdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsTUFBcUIsYUFBYTtJQUM5QixZQUNZLGFBQXNCLEVBQ3RCLHlCQUFrRCxFQUNsRCw0QkFBcUQsRUFDckQsb0JBQTBDO1FBSDFDLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBeUI7UUFDbEQsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUF5QjtRQUNyRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ25ELENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsTUFBTTtRQUNGLEtBQUssSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksZ0JBQWdCLEdBQXFCLElBQUksQ0FBQyxvQkFBb0IsQ0FDOUQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDbkQsQ0FBQztZQUVGLHlCQUF5QjtZQUN6QixRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV4RSxJQUFJLHFCQUFxQixDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELHFCQUFxQixHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FDekQsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNuRixDQUFDO2dCQUNGLElBQUkscUJBQXFCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FDUCx5QkFBeUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FDbEUsUUFBUSxDQUFDLElBQ2IsWUFBWSxDQUNmLENBQUM7b0JBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO29CQUNyRCxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUN6QixTQUFTO2dCQUNiLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxxQkFBcUIsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUMsQ0FBQztZQUN0RixDQUFDO2lCQUFNLElBQUkscUJBQXFCLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLG1DQUFtQztnQkFDbkMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDekIsd0JBQXdCO2dCQUN4QixTQUFTO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM3Qyx1Q0FBdUM7Z0JBQ3ZDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQXBERCxnQ0FvREMifQ==