UNPKG

@flxbl-io/sfp

Version:

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

94 lines 6.5 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; }; 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("../project/ProjectConfig")); const simple_git_1 = __importDefault(require("simple-git")); const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger")); /** * A class for generating a changelog between two commits * for a single package */ class GeneratePackageChangelog { constructor(sfdx_package, revFrom, revTo, project_directory) { this.sfdx_package = sfdx_package; this.revFrom = revFrom; this.revTo = revTo; this.project_directory = project_directory; } async exec() { let git; if (this.project_directory != null) { git = (0, simple_git_1.default)(this.project_directory); } else { git = (0, simple_git_1.default)(); } let packageDescriptor; try { packageDescriptor = ProjectConfig_1.default.getSFDXPackageDescriptor(this.project_directory, this.sfdx_package); } catch (err) { sfp_logger_1.default.log(`Unable to find descriptor for package ${this.sfdx_package}`, sfp_logger_1.LoggerLevel.WARN); sfp_logger_1.default.log(err.message, sfp_logger_1.LoggerLevel.WARN); } let revFrom; if (this.revFrom) { revFrom = await git.revparse(['--short', `${this.revFrom}^{}`]); } let revTo = await git.revparse(['--short', `${this.revTo}^{}`]); let options = { file: packageDescriptor ? `${packageDescriptor['path']}*` : packageDescriptor, }; if (revFrom) { options.from = revFrom; options.to = revTo; } const gitLogResult = await git.log(options); let changelog = { name: undefined, from: undefined, to: undefined, commits: [], }; changelog['name'] = this.sfdx_package; changelog['from'] = revFrom; changelog['to'] = revTo; for (let commit of gitLogResult.all) { changelog['commits'].push({ commitId: commit.hash.slice(0, 8), date: commit.date, author: commit.author_name, message: commit.message, body: commit.body, }); } return changelog; } } exports.default = GeneratePackageChangelog; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJhdGVQYWNrYWdlQ2hhbmdlbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvY2hhbmdlbG9nL0dlbmVyYXRlUGFja2FnZUNoYW5nZWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkVBQXFEO0FBQ3JELDREQUE4RDtBQUU5RCxtRUFBOEQ7QUFFOUQ7OztHQUdHO0FBQ0gsTUFBcUIsd0JBQXdCO0lBQ3pDLFlBQ3FCLFlBQW9CLEVBQ3BCLE9BQWUsRUFDZixLQUFhLEVBQ2IsaUJBQXlCO1FBSHpCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO0lBQzNDLENBQUM7SUFFRyxLQUFLLENBQUMsSUFBSTtRQUNiLElBQUksR0FBYyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pDLEdBQUcsR0FBRyxJQUFBLG9CQUFTLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDSixHQUFHLEdBQUcsSUFBQSxvQkFBUyxHQUFFLENBQUM7UUFDdEIsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUM7UUFDdEIsSUFBSSxDQUFDO1lBQ0QsaUJBQWlCLEdBQUcsdUJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFHLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsb0JBQVMsQ0FBQyxHQUFHLENBQUMseUNBQXlDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSx3QkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlGLG9CQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsd0JBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixPQUFPLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBR0QsSUFBSSxLQUFLLEdBQVcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4RSxJQUFJLE9BQU8sR0FBZTtZQUN0QixJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1NBQ2hGLENBQUM7UUFDRixJQUFHLE9BQU8sRUFDVixDQUFDO1lBQ0csT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7WUFDdkIsT0FBTyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1QyxJQUFJLFNBQVMsR0FBYztZQUN2QixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxTQUFTO1lBQ2YsRUFBRSxFQUFFLFNBQVM7WUFDYixPQUFPLEVBQUUsRUFBRTtTQUNkLENBQUM7UUFFRixTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFeEIsS0FBSyxJQUFJLE1BQU0sSUFBSSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbEMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDdEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxXQUFXO2dCQUMxQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ3ZCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTthQUNwQixDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKO0FBbEVELDJDQWtFQyJ9