UNPKG

@jwpkg/gitversion

Version:

Gitversion is a complete customizable git-based release management system

80 lines 5.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GithubPlugin = void 0; class GithubPlugin { git; projectName; repoName; name = 'Github platform plugin'; get gitPlatform() { return this; } constructor(git, projectName, repoName) { this.git = git; this.projectName = projectName; this.repoName = repoName; } /** * Git url has the format: https://github.com/jwpkg/gitversion.git or git@github.com:cp-utils/gitversion.git */ static parseUrl(url) { const result = /^(https:\/\/|git@)github.com(\/|:)(.+)\/(.+?)(\.git)?$/.exec(url); if (result) { return { projectName: result[3], repoName: result[4], }; } return null; } static async initialize(initialize) { const gitUrl = await initialize.git.remoteUrl(); if (gitUrl) { const result = this.parseUrl(gitUrl); if (result) { initialize.git.addConfiguration('user.name', 'Gitversion release'); initialize.git.addConfiguration('user.email', '153614361+github-actions[bot]@users.noreply.github.com'); return new GithubPlugin(initialize.git, result.projectName, result.repoName); } } return null; } async currentBranch() { if (process.env.GITHUB_REF) { if (process.env.GITHUB_REF.startsWith('refs/heads/')) { return process.env.GITHUB_REF.replace('refs/heads/', ''); } else { return null; } } return this.git.currentBranch(); } async currentRef() { if (process.env.GITHUB_REF) { return process.env.GITHUB_REF; } return this.git.currentBranch(); } stripMergeMessage(commit) { if (commit.message.startsWith('Merge pull request ')) { const lines = commit.message.split('\n'); lines.splice(0, 2); return { ...commit, message: lines.join('\n').trim(), }; } else { return commit; } } renderCompareUrl(from, to) { return `https://github.com/${this.gitPlatform.projectName}/${this.gitPlatform.repoName}/compare/v${from.version}...v${to.version}`; } renderCommitUrl(commit) { return `https://github.com/${this.gitPlatform.projectName}/${this.gitPlatform.repoName}/commit/${commit}`; } } exports.GithubPlugin = GithubPlugin; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvZW1iZWRkZWQvZ2l0L2dpdGh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxNQUFhLFlBQVk7SUFPSDtJQUFrQjtJQUE2QjtJQU5uRSxJQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFaEMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBb0IsR0FBUSxFQUFVLFdBQW1CLEVBQVUsUUFBZ0I7UUFBL0QsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUFJLENBQUM7SUFFeEY7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVc7UUFDekIsTUFBTSxNQUFNLEdBQUcsd0RBQXdELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxGLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPO2dCQUNMLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNwQixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQTZCO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVyQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQUM7Z0JBQ25FLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLHdEQUF3RCxDQUFDLENBQUM7Z0JBRXhHLE9BQU8sSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRSxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBaUI7UUFDakMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7WUFDckQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkIsT0FBTztnQkFDTCxHQUFHLE1BQU07Z0JBQ1QsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO2FBQ2pDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBa0IsRUFBRSxFQUFnQjtRQUNuRCxPQUFPLHNCQUFzQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsYUFBYSxJQUFJLENBQUMsT0FBTyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNySSxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWM7UUFDNUIsT0FBTyxzQkFBc0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLFdBQVcsTUFBTSxFQUFFLENBQUM7SUFDNUcsQ0FBQztDQUNGO0FBaEZELG9DQWdGQyJ9