conventional-changelog
Version:
Generate a changelog from git metadata.
64 lines • 5 kB
JavaScript
import {} from 'conventional-changelog-writer';
import { hostsOptions } from './hosts/index.js';
export function getHostOptions(repository, context) {
const host = context?.host;
let type;
if (!host || host === repository?.host) {
type = repository?.type;
}
else {
const match = host.match(/github|bitbucket|gitlab/i);
type = match?.[0]?.toLowerCase();
}
if (type && (type in hostsOptions)) {
return hostsOptions[type];
}
return null;
}
export function guessNextTag(previousTag, version = '') {
if (previousTag) {
if (previousTag.startsWith('v') && !version.startsWith('v')) {
return `v${version}`;
}
if (!previousTag.startsWith('v') && version.startsWith('v')) {
return version.replace(/^v/, '');
}
return version;
}
if (!version.startsWith('v')) {
return `v${version}`;
}
return version;
}
export function isUnreleasedVersion(semverTags, version) {
const [lastTag] = semverTags;
return lastTag && version
&& (lastTag === version || lastTag === `v${version}`);
}
export const versionTagRegex = /tag:\s*(.*)[,)]/i;
export const defaultVersionRegex = /tag:\s*[v=]?(.*)[,)]/i;
export function defaultCommitTransform(commit, params) {
const { tags, options: { formatDate } } = params;
const prefix = tags?.prefix;
const versionRegex = prefix
? new RegExp(`tag:\\s*[v=]?${prefix}(.*)[,)]`, 'i')
: defaultVersionRegex;
const { committerDate, gitTags } = commit;
const patch = {
committerDate: committerDate
? formatDate(committerDate)
: committerDate
};
if (typeof gitTags === 'string') {
const matches = gitTags.match(versionRegex);
if (matches) {
// eslint-disable-next-line prefer-destructuring
patch.version = matches[1];
}
}
return patch;
}
export function bindLogNamespace(namespace, log) {
return (messages) => log(namespace, messages);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixNQUFNLCtCQUErQixDQUFBO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVEvQyxNQUFNLFVBQVUsY0FBYyxDQUM1QixVQUFxRCxFQUNyRCxPQUFtQztJQUVuQyxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFBO0lBQzFCLElBQUksSUFBSSxDQUFBO0lBRVIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFLElBQUksRUFBRTtRQUN0QyxJQUFJLEdBQUcsVUFBVSxFQUFFLElBQUksQ0FBQTtLQUN4QjtTQUFNO1FBQ0wsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBRXBELElBQUksR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQTtLQUNqQztJQUVELElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxFQUFFO1FBQ2xDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQzFCO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FDMUIsV0FBbUIsRUFDbkIsT0FBTyxHQUFHLEVBQUU7SUFFWixJQUFJLFdBQVcsRUFBRTtRQUNmLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDM0QsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFBO1NBQ3JCO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1NBQ2pDO1FBRUQsT0FBTyxPQUFPLENBQUE7S0FDZjtJQUVELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzVCLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQTtLQUNyQjtJQUVELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLFVBQW9CLEVBQ3BCLE9BQTJCO0lBRTNCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUE7SUFFNUIsT0FBTyxPQUFPLElBQUksT0FBTztXQUNwQixDQUFDLE9BQU8sS0FBSyxPQUFPLElBQUksT0FBTyxLQUFLLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFBO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHVCQUF1QixDQUFBO0FBRTFELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUNuRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFBO0lBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxNQUFNLENBQUE7SUFDM0IsTUFBTSxZQUFZLEdBQUcsTUFBTTtRQUN6QixDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLE1BQU0sVUFBVSxFQUFFLEdBQUcsQ0FBQztRQUNuRCxDQUFDLENBQUMsbUJBQW1CLENBQUE7SUFDdkIsTUFBTSxFQUNKLGFBQWEsRUFDYixPQUFPLEVBQ1IsR0FBRyxNQUFNLENBQUE7SUFDVixNQUFNLEtBQUssR0FBb0I7UUFDN0IsYUFBYSxFQUFFLGFBQWE7WUFDMUIsQ0FBQyxDQUFDLFVBQVcsQ0FBQyxhQUFhLENBQUM7WUFDNUIsQ0FBQyxDQUFDLGFBQWE7S0FDbEIsQ0FBQTtJQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQy9CLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFM0MsSUFBSSxPQUFPLEVBQUU7WUFDWCxnREFBZ0Q7WUFDaEQsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDM0I7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsU0FBaUIsRUFDakIsR0FBVztJQUVYLE9BQU8sQ0FBQyxRQUEyQixFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0FBQ2xFLENBQUMifQ==