UNPKG

@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
"use strict"; 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=