@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
66 lines • 5.19 kB
JavaScript
;
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;
};
Object.defineProperty(exports, "__esModule", { value: true });
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
class WorkItemUpdater {
constructor(latestRelease, workItemFilters, logger) {
this.latestRelease = latestRelease;
this.workItemFilters = workItemFilters;
this.logger = logger;
}
/**
* Generate work items in latest release
*/
update() {
for (const workItemFilter of this.workItemFilters) {
let workItemFilterRegex = RegExp(workItemFilter, 'gi');
sfp_logger_1.default.log(`Matching...${workItemFilterRegex}`, sfp_logger_1.LoggerLevel.INFO, this.logger);
for (let artifact of this.latestRelease['artifacts']) {
for (let commit of artifact['commits']) {
let commitMessage = commit['message'] + '\n' + commit['body'];
let workItems = commitMessage.match(workItemFilterRegex);
if (workItems) {
for (let item of workItems) {
if (this.latestRelease['workItems'][item] == null) {
this.latestRelease['workItems'][item] = new Set();
this.latestRelease['workItems'][item].add(commit['commitId'].slice(0, 8));
}
else {
this.latestRelease['workItems'][item].add(commit['commitId'].slice(0, 8));
}
}
}
}
}
}
// Convert each work item Set to Array
// Enables JSON stringification of work item
for (let key in this.latestRelease['workItems']) {
this.latestRelease.workItems[key] = Array.from(this.latestRelease.workItems[key]);
}
}
}
exports.default = WorkItemUpdater;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV29ya0l0ZW1VcGRhdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltcGwvY2hhbmdlbG9nL1dvcmtJdGVtVXBkYXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUVBQXNFO0FBSXRFLE1BQXFCLGVBQWU7SUFDaEMsWUFBb0IsYUFBc0IsRUFBVSxlQUF5QixFQUFTLE1BQWM7UUFBaEYsa0JBQWEsR0FBYixhQUFhLENBQVM7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXhHOztPQUVHO0lBQ0gsTUFBTTtRQUNGLEtBQUssTUFBTSxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXBELElBQUksbUJBQW1CLEdBQVcsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMvRCxvQkFBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLG1CQUFtQixFQUFFLEVBQUMsd0JBQVcsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWhGLEtBQUssSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxLQUFLLElBQUksTUFBTSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUNyQyxJQUFJLGFBQWEsR0FBVyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEUsSUFBSSxTQUFTLEdBQXFCLGFBQWEsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztvQkFDM0UsSUFBSSxTQUFTLEVBQUUsQ0FBQzt3QkFDWixLQUFLLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDOzRCQUN6QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0NBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztnQ0FDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDOUUsQ0FBQztpQ0FBTSxDQUFDO2dDQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQzlFLENBQUM7d0JBQ0wsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1FBQ0YsQ0FBQztRQUVBLHNDQUFzQztRQUN0Qyw0Q0FBNEM7UUFDNUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFwQ0Qsa0NBb0NDIn0=