conventional-changelog-beemo
Advanced tools
Comparing version 2.1.0 to 3.0.0
@@ -1,14 +0,28 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const constants_1 = require("./constants"); | ||
'use strict'; | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const constants = require('./constants.js'); | ||
function checkCommitFormat(commit) { | ||
const match = commit.match(constants_1.COMMIT_FORMAT_PREFIX); | ||
if (!match) { | ||
return null; | ||
} | ||
return { | ||
scope: match[2] || '', | ||
type: match[1], | ||
}; | ||
const match = commit.match(constants.COMMIT_FORMAT_PREFIX); | ||
if (!match) { | ||
return null; | ||
} | ||
return { | ||
scope: match[2] || '', | ||
type: match[1] | ||
}; | ||
} | ||
exports.default = checkCommitFormat; | ||
exports.checkCommitFormat = checkCommitFormat; | ||
//# sourceMappingURL=checkCommitFormat.js.map |
@@ -1,83 +0,79 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.GROUPS = exports.COMMIT_FORMAT_PREFIX = void 0; | ||
// eslint-disable-next-line security/detect-unsafe-regex | ||
exports.COMMIT_FORMAT_PREFIX = /^(break|breaking|build|ci|cd|deps|docs|feature|fix|internal|misc|new|patch|perf|release|revert|security|style|styles|test|tests|type|types|update)(?:\(([a-zA-Z0-9\-., ]+)\))?:/u; | ||
exports.GROUPS = [ | ||
{ | ||
bump: 'major', | ||
emoji: '💥', | ||
label: 'Breaking', | ||
types: ['break', 'breaking'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '📦', | ||
label: 'Dependencies', | ||
types: ['deps'], | ||
}, | ||
{ | ||
emoji: '📘', | ||
label: 'Docs', | ||
types: ['docs'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '🐞', | ||
label: 'Fixes', | ||
types: ['fix', 'patch'], | ||
}, | ||
{ | ||
emoji: '🛠', | ||
label: 'Internals', | ||
types: ['ci', 'cd', 'build', 'test', 'tests', 'internal'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '📋', | ||
label: 'Misc', | ||
types: ['misc'], | ||
}, | ||
{ | ||
bump: 'major', | ||
emoji: '🎉', | ||
label: 'Release', | ||
types: ['release'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '↩️', | ||
label: 'Reverts', | ||
types: ['revert'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '🔑', | ||
label: 'Security', | ||
types: ['security'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '🎨', | ||
label: 'Styles', | ||
types: ['style', 'styles'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '⚡️', | ||
label: 'Performance', | ||
types: ['perf'], | ||
}, | ||
{ | ||
bump: 'patch', | ||
emoji: '⚙️', | ||
label: 'Types', | ||
types: ['type', 'types'], | ||
}, | ||
{ | ||
bump: 'minor', | ||
emoji: '🚀', | ||
label: 'Updates', | ||
types: ['new', 'update', 'feature'], | ||
}, | ||
]; | ||
'use strict'; | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const COMMIT_FORMAT_PREFIX = // eslint-disable-next-line unicorn/no-unsafe-regex | ||
/^(break|breaking|build|chore|ci|cd|deps|docs|feature|fix|internal|misc|new|patch|perf|release|revert|security|style|styles|test|tests|type|types|update)(?:\(([a-zA-Z0-9\-., ]+)\))?:/u; | ||
const GROUPS = [{ | ||
bump: 'major', | ||
emoji: '💥', | ||
label: 'Breaking', | ||
types: ['break', 'breaking'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '📦', | ||
label: 'Dependencies', | ||
types: ['deps'] | ||
}, { | ||
emoji: '📘', | ||
label: 'Docs', | ||
types: ['docs'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '🐞', | ||
label: 'Fixes', | ||
types: ['fix', 'patch'] | ||
}, { | ||
emoji: '🛠', | ||
label: 'Internals', | ||
types: ['ci', 'cd', 'build', 'test', 'tests', 'internal'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '📋', | ||
label: 'Misc', | ||
types: ['chore', 'misc'] | ||
}, { | ||
bump: 'major', | ||
emoji: '🎉', | ||
label: 'Release', | ||
types: ['release'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '↩️', | ||
label: 'Reverts', | ||
types: ['revert'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '🔑', | ||
label: 'Security', | ||
types: ['security'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '🎨', | ||
label: 'Styles', | ||
types: ['style', 'styles'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '⚡️', | ||
label: 'Performance', | ||
types: ['perf'] | ||
}, { | ||
bump: 'patch', | ||
emoji: '⚙️', | ||
label: 'Types', | ||
types: ['type', 'types'] | ||
}, { | ||
bump: 'minor', | ||
emoji: '🚀', | ||
label: 'Updates', | ||
types: ['new', 'update', 'feature'] | ||
}]; | ||
exports.COMMIT_FORMAT_PREFIX = COMMIT_FORMAT_PREFIX; | ||
exports.GROUPS = GROUPS; | ||
//# sourceMappingURL=constants.js.map |
@@ -1,8 +0,21 @@ | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
'use strict'; | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const parserOpts = require('./parserOpts.js'); | ||
const writerOpts = require('./writerOpts.js'); | ||
const conventionalChangelog = { | ||
parserOpts: parserOpts.parserOpts, | ||
writerOpts: writerOpts.writerOpts | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const parserOpts_1 = __importDefault(require("./parserOpts")); | ||
const writerOpts_1 = __importDefault(require("./writerOpts")); | ||
exports.default = { parserOpts: parserOpts_1.default, writerOpts: writerOpts_1.default }; | ||
exports.conventionalChangelog = conventionalChangelog; | ||
//# sourceMappingURL=conventionalChangelog.js.map |
@@ -1,11 +0,25 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const constants_1 = require("./constants"); | ||
'use strict'; | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const constants = require('./constants.js'); | ||
function getTypeGroup(type) { | ||
const group = constants_1.GROUPS.find((g) => g.types.includes(type)); | ||
if (!group) { | ||
throw new Error(`Cannot find group for type "${type}".`); | ||
} | ||
return group; | ||
const group = constants.GROUPS.find(g => g.types.includes(type)); | ||
if (!group) { | ||
throw new Error(`Cannot find group for type "${type}".`); | ||
} | ||
return group; | ||
} | ||
exports.default = getTypeGroup; | ||
exports.getTypeGroup = getTypeGroup; | ||
//# sourceMappingURL=getTypeGroup.js.map |
@@ -1,2 +0,27 @@ | ||
"use strict"; | ||
'use strict'; | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const checkCommitFormat = require('./checkCommitFormat.js'); | ||
const conventionalChangelog = require('./conventionalChangelog.js'); | ||
const getTypeGroup = require('./getTypeGroup.js'); | ||
const parserOpts = require('./parserOpts.js'); | ||
const recommendedBumpOpts = require('./recommendedBumpOpts.js'); | ||
const writerOpts = require('./writerOpts.js'); | ||
const constants = require('./constants.js'); | ||
require('./types.js'); | ||
/** | ||
@@ -6,32 +31,15 @@ * @copyright 2019, Miles Johnson | ||
*/ | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.config = exports.getTypeGroup = exports.checkCommitFormat = void 0; | ||
const checkCommitFormat_1 = __importDefault(require("./checkCommitFormat")); | ||
exports.checkCommitFormat = checkCommitFormat_1.default; | ||
const conventionalChangelog_1 = __importDefault(require("./conventionalChangelog")); | ||
const getTypeGroup_1 = __importDefault(require("./getTypeGroup")); | ||
exports.getTypeGroup = getTypeGroup_1.default; | ||
const parserOpts_1 = __importDefault(require("./parserOpts")); | ||
const recommendedBumpOpts_1 = __importDefault(require("./recommendedBumpOpts")); | ||
const writerOpts_1 = __importDefault(require("./writerOpts")); | ||
__exportStar(require("./constants"), exports); | ||
__exportStar(require("./types"), exports); | ||
exports.config = Promise.resolve({ | ||
conventionalChangelog: conventionalChangelog_1.default, | ||
parserOpts: parserOpts_1.default, | ||
recommendedBumpOpts: recommendedBumpOpts_1.default, | ||
writerOpts: writerOpts_1.default, | ||
const config = Promise.resolve({ | ||
conventionalChangelog: conventionalChangelog.conventionalChangelog, | ||
parserOpts: parserOpts.parserOpts, | ||
recommendedBumpOpts: recommendedBumpOpts.recommendedBumpOpts, | ||
writerOpts: writerOpts.writerOpts | ||
}); | ||
exports.checkCommitFormat = checkCommitFormat.checkCommitFormat; | ||
exports.getTypeGroup = getTypeGroup.getTypeGroup; | ||
exports.COMMIT_FORMAT_PREFIX = constants.COMMIT_FORMAT_PREFIX; | ||
exports.GROUPS = constants.GROUPS; | ||
exports.config = config; | ||
//# sourceMappingURL=index.js.map |
@@ -1,15 +0,25 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const constants_1 = require("./constants"); | ||
const options = { | ||
headerCorrespondence: ['type', 'scope', 'message'], | ||
// Keep in sync with checkCommitFormat | ||
// eslint-disable-next-line security/detect-non-literal-regexp | ||
headerPattern: new RegExp(`^${constants_1.COMMIT_FORMAT_PREFIX.source} (.*)$`, 'u'), | ||
mergeCorrespondence: ['pr', 'source'], | ||
mergePattern: /^Merged? pull request #(\d+) from (.*)/u, | ||
noteKeywords: 'Note', | ||
revertCorrespondence: [], | ||
revertPattern: /^Revert/u, | ||
'use strict'; | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const constants = require('./constants.js'); | ||
const parserOpts = { | ||
headerCorrespondence: ['type', 'scope', 'message'], | ||
// Keep in sync with checkCommitFormat | ||
headerPattern: new RegExp(`^${constants.COMMIT_FORMAT_PREFIX.source} (.*)$`, 'u'), | ||
mergeCorrespondence: ['pr', 'source'], | ||
mergePattern: /^Merged? pull request #(\d+) from (.*)/u, | ||
noteKeywords: 'Note', | ||
revertCorrespondence: [], | ||
revertPattern: /^Revert/u | ||
}; | ||
exports.default = options; | ||
exports.parserOpts = parserOpts; | ||
//# sourceMappingURL=parserOpts.js.map |
@@ -1,44 +0,72 @@ | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const getTypeGroup_1 = __importDefault(require("./getTypeGroup")); | ||
const parserOpts_1 = __importDefault(require("./parserOpts")); | ||
const options = { | ||
parserOpts: parserOpts_1.default, | ||
whatBump(commits) { | ||
let level = null; | ||
let breakings = 0; | ||
let features = 0; | ||
commits.forEach((commit) => { | ||
let group; | ||
try { | ||
group = getTypeGroup_1.default(commit.type); | ||
'use strict'; | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const getTypeGroup = require('./getTypeGroup.js'); | ||
const parserOpts = require('./parserOpts.js'); | ||
const recommendedBumpOpts = { | ||
parserOpts: parserOpts.parserOpts, | ||
whatBump(commits) { | ||
let level = null; | ||
let breakings = 0; | ||
let features = 0; | ||
commits.forEach(commit => { | ||
let group; | ||
try { | ||
group = getTypeGroup.getTypeGroup(commit.type); | ||
} catch { | ||
return; | ||
} | ||
switch (group.bump) { | ||
case 'major': | ||
{ | ||
breakings += 1; | ||
level = 0; | ||
break; | ||
} | ||
case 'minor': | ||
{ | ||
features += 1; | ||
if (level === null || level === 2) { | ||
level = 1; | ||
} | ||
catch (_a) { | ||
return; | ||
break; | ||
} | ||
case 'patch': | ||
{ | ||
if (level === null) { | ||
level = 2; | ||
} | ||
if (group.bump === 'major') { | ||
breakings += 1; | ||
level = 0; | ||
} | ||
else if (group.bump === 'minor') { | ||
features += 1; | ||
if (level === null || level === 2) { | ||
level = 1; | ||
} | ||
} | ||
else if (group.bump === 'patch') { | ||
if (level === null) { | ||
level = 2; | ||
} | ||
} | ||
}); | ||
return { | ||
level, | ||
reason: `There are ${breakings} breaking changes and ${features} new features`, | ||
}; | ||
}, | ||
break; | ||
} | ||
default: | ||
break; | ||
} | ||
}); | ||
return { | ||
level, | ||
reason: `There are ${breakings} breaking changes and ${features} new features` | ||
}; | ||
} | ||
}; | ||
exports.default = options; | ||
exports.recommendedBumpOpts = recommendedBumpOpts; | ||
//# sourceMappingURL=recommendedBumpOpts.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
'use strict'; | ||
//# sourceMappingURL=types.js.map |
@@ -1,139 +0,185 @@ | ||
"use strict"; | ||
/* eslint-disable sort-keys, no-param-reassign */ | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
'use strict'; | ||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } | ||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | ||
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
Object.defineProperties(exports, { | ||
__esModule: { | ||
value: true | ||
}, | ||
[Symbol.toStringTag]: { | ||
value: 'Module' | ||
} | ||
}); | ||
const fs = require('fs'); | ||
const path = require('path'); | ||
const constants = require('./constants.js'); | ||
const getTypeGroup = require('./getTypeGroup.js'); | ||
const _interopDefault = e => e && e.__esModule ? e : { | ||
default: e | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const fs_1 = __importDefault(require("fs")); | ||
const path_1 = __importDefault(require("path")); | ||
const constants_1 = require("./constants"); | ||
const getTypeGroup_1 = __importDefault(require("./getTypeGroup")); | ||
const groupEmojis = constants_1.GROUPS.reduce((data, group) => ({ | ||
...data, | ||
[group.label]: group.emoji, | ||
}), {}); | ||
const fs__default = /*#__PURE__*/_interopDefault(fs); | ||
const path__default = /*#__PURE__*/_interopDefault(path); | ||
/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */ | ||
const groupEmojis = Object.fromEntries(constants.GROUPS.map(group => [group.label, group.emoji])); | ||
const sortWeights = { | ||
Release: 4, | ||
Breaking: 3, | ||
Updates: 2, | ||
Fixes: 1, | ||
Security: 0, | ||
Performance: -1, | ||
Styles: -1, | ||
Types: -2, | ||
Dependencies: -3, | ||
Docs: -4, | ||
Misc: -4, | ||
Reverts: -4, | ||
Internals: -5, | ||
Release: 4, | ||
Breaking: 3, | ||
Updates: 2, | ||
Fixes: 1, | ||
Security: 0, | ||
Performance: -1, | ||
Styles: -1, | ||
Types: -2, | ||
Dependencies: -3, | ||
Docs: -4, | ||
Misc: -4, | ||
Reverts: -4, | ||
Internals: -5 | ||
}; | ||
function createLink(paths, context, reference = {}) { | ||
const owner = reference.owner || context.owner; | ||
const repository = reference.repository || context.repository; | ||
const url = []; | ||
if (repository) { | ||
if (context.host) { | ||
url.push(context.host); | ||
} | ||
if (owner) { | ||
url.push(owner); | ||
} | ||
url.push(repository); | ||
const owner = reference.owner || context.owner; | ||
const repository = reference.repository || context.repository; | ||
const url = []; | ||
if (repository) { | ||
if (context.host) { | ||
url.push(context.host); | ||
} | ||
else { | ||
url.push(context.repoUrl); | ||
if (owner) { | ||
url.push(owner); | ||
} | ||
let base = url.join('/'); | ||
// If deep linking to a sub-folder (monorepo project, etc), | ||
// extract the base URL if possible. | ||
[ | ||
// github, gitlab | ||
'tree', | ||
'blob', | ||
// bitbucket | ||
'src', | ||
].forEach((browsePart) => { | ||
if (base.includes(`/${browsePart}/`)) { | ||
[base] = base.split(`/${browsePart}/`); | ||
} | ||
}); | ||
return [base, ...paths].join('/'); | ||
url.push(repository); | ||
} else { | ||
url.push(context.repoUrl); | ||
} | ||
let base = url.join('/'); // If deep linking to a sub-folder (monorepo project, etc), | ||
// extract the base URL if possible. | ||
[// github, gitlab | ||
'tree', 'blob', // bitbucket | ||
'src'].forEach(browsePart => { | ||
if (base.includes(`/${browsePart}/`)) { | ||
var _base$split = base.split(`/${browsePart}/`); | ||
var _base$split2 = _slicedToArray(_base$split, 1); | ||
base = _base$split2[0]; | ||
} | ||
}); | ||
return [base, ...paths].join('/'); | ||
} | ||
const options = { | ||
mainTemplate: fs_1.default.readFileSync(path_1.default.join(__dirname, '../templates/template.hbs'), 'utf-8'), | ||
commitPartial: fs_1.default.readFileSync(path_1.default.join(__dirname, '../templates/commit.hbs'), 'utf-8'), | ||
headerPartial: fs_1.default.readFileSync(path_1.default.join(__dirname, '../templates/header.hbs'), 'utf-8'), | ||
footerPartial: fs_1.default.readFileSync(path_1.default.join(__dirname, '../templates/footer.hbs'), 'utf-8'), | ||
// Commits | ||
groupBy: 'label', | ||
commitsSort: ['scope', 'message'], | ||
commitGroupsSort(groupA, groupB) { | ||
const aWeight = sortWeights[groupA.title] || 0; | ||
const bWeight = sortWeights[groupB.title] || 0; | ||
if (aWeight === 0 && bWeight === 0) { | ||
return groupA.title.localeCompare(groupB.title); | ||
const writerOpts = { | ||
mainTemplate: fs__default.default.readFileSync(path__default.default.join(__dirname, '../templates/template.hbs'), 'utf8'), | ||
commitPartial: fs__default.default.readFileSync(path__default.default.join(__dirname, '../templates/commit.hbs'), 'utf8'), | ||
headerPartial: fs__default.default.readFileSync(path__default.default.join(__dirname, '../templates/header.hbs'), 'utf8'), | ||
footerPartial: fs__default.default.readFileSync(path__default.default.join(__dirname, '../templates/footer.hbs'), 'utf8'), | ||
// Commits | ||
groupBy: 'label', | ||
commitsSort: ['scope', 'message'], | ||
commitGroupsSort(groupA, groupB) { | ||
const aWeight = sortWeights[groupA.title] || 0; | ||
const bWeight = sortWeights[groupB.title] || 0; | ||
if (aWeight === 0 && bWeight === 0) { | ||
return groupA.title.localeCompare(groupB.title); | ||
} | ||
return bWeight - aWeight; | ||
}, | ||
// Notes | ||
noteGroupsSort: 'title', | ||
// Add metadata | ||
transform(commit, context) { | ||
context.groupEmojis = groupEmojis; | ||
if (!commit.type) { | ||
return undefined; | ||
} // Use consistent values for snapshots | ||
if (process.env.NODE_ENV === 'test') { | ||
commit.hash = 'a1b2c3d'; | ||
context.date = '2019-02-26'; | ||
} // Override type for specific scenarios | ||
if (commit.revert) { | ||
commit.type = 'revert'; | ||
} else if (commit.merge) { | ||
commit.type = 'misc'; | ||
} // Define metadata based on type | ||
const group = getTypeGroup.getTypeGroup(commit.type); | ||
commit.label = group.label; | ||
if (group.bump === 'major') { | ||
context.isMajor = true; | ||
} else if (group.bump === 'minor') { | ||
context.isMinor = true; | ||
} // Use shorthand hashes | ||
if (typeof commit.hash === 'string') { | ||
// eslint-disable-next-line no-magic-numbers | ||
commit.hash = commit.hash.slice(0, 7); | ||
} // Pre-generate links instead of doing it in handlebars | ||
commit.hashLink = createLink([context.commit, commit.hash], context); | ||
commit.references.forEach(reference => { | ||
reference.issueLink = createLink([context.issue, reference.issue], context, reference); | ||
let source = `${reference.repository || ''}#${reference.issue}`; | ||
if (reference.owner) { | ||
source = `${reference.owner}/${source}`; | ||
} | ||
reference.source = source; | ||
}); // Link users | ||
if (context.host) { | ||
commit.message = commit.message.replace( // eslint-disable-next-line unicorn/no-unsafe-regex | ||
/\B@([a-z0-9](?:-?[a-z0-9/]){0,38})/gu, (match, username, index) => { | ||
if (String(username).includes('/') || // Avoid when wrapped in backticks (inline code) | ||
commit.message.charAt(index - 1) === '`' || commit.message.charAt(Number(index) + match.length + 1) === '`') { | ||
return match; | ||
} | ||
return bWeight - aWeight; | ||
}, | ||
// Notes | ||
noteGroupsSort: 'title', | ||
// Add metadata | ||
transform(commit, context) { | ||
context.groupEmojis = groupEmojis; | ||
if (!commit.type) { | ||
return undefined; | ||
} | ||
// Use consistent values for snapshots | ||
if (process.env.NODE_ENV === 'test') { | ||
commit.hash = 'a1b2c3d'; | ||
context.date = '2019-02-26'; | ||
} | ||
// Override type for specific scenarios | ||
if (commit.revert) { | ||
commit.type = 'revert'; | ||
} | ||
else if (commit.merge) { | ||
commit.type = 'misc'; | ||
} | ||
// Define metadata based on type | ||
const group = getTypeGroup_1.default(commit.type); | ||
commit.label = group.label; | ||
if (group.bump === 'major') { | ||
context.isMajor = true; | ||
} | ||
else if (group.bump === 'minor') { | ||
context.isMinor = true; | ||
} | ||
// Use shorthand hashes | ||
if (typeof commit.hash === 'string') { | ||
// eslint-disable-next-line no-magic-numbers | ||
commit.hash = commit.hash.slice(0, 7); | ||
} | ||
// Pre-generate links instead of doing it in handlebars | ||
commit.hashLink = createLink([context.commit, commit.hash], context); | ||
commit.references.forEach((reference) => { | ||
reference.issueLink = createLink([context.issue, reference.issue], context, reference); | ||
let source = `${reference.repository || ''}#${reference.issue}`; | ||
if (reference.owner) { | ||
source = `${reference.owner}/${source}`; | ||
} | ||
reference.source = source; | ||
}); | ||
// Link users | ||
if (context.host) { | ||
commit.message = commit.message.replace( | ||
// eslint-disable-next-line security/detect-unsafe-regex | ||
/\B@([a-z0-9](?:-?[a-z0-9/]){0,38})/gu, (match, username, index) => { | ||
if (username.includes('/') || | ||
// Avoid when wrapped in backticks (inline code) | ||
commit.message.charAt(index - 1) === '`' || | ||
commit.message.charAt(index + match.length + 1) === '`') { | ||
return match; | ||
} | ||
return `[@${username}](${context.host}/${username})`; | ||
}); | ||
} | ||
return commit; | ||
}, | ||
return `[@${username}](${context.host}/${username})`; | ||
}); | ||
} | ||
return commit; | ||
} | ||
}; | ||
exports.default = options; | ||
exports.writerOpts = writerOpts; | ||
//# sourceMappingURL=writerOpts.js.map |
{ | ||
"name": "conventional-changelog-beemo", | ||
"version": "2.1.0", | ||
"version": "3.0.0", | ||
"description": "Conventional changelog preset for Beemo and associated projects.", | ||
@@ -10,6 +10,7 @@ "keywords": [ | ||
], | ||
"main": "./index.js", | ||
"types": "./lib/index.d.ts", | ||
"main": "./lib/index.js", | ||
"types": "./dts/index.d.ts", | ||
"engines": { | ||
"node": ">=10.10.0" | ||
"node": ">=12.17.0", | ||
"npm": ">=6.13.0" | ||
}, | ||
@@ -19,18 +20,25 @@ "repository": "https://github.com/beemojs/conventional-changelog-beemo", | ||
"license": "MIT", | ||
"files": [ | ||
"dts/**/*.d.ts", | ||
"index.js", | ||
"lib/**/*.{js,map}", | ||
"src/**/*.{ts,tsx,json}", | ||
"templates/**/*" | ||
], | ||
"scripts": { | ||
"prepare": "beemo create-config --silent", | ||
"build": "beemo typescript", | ||
"prepare": "beemo create-config", | ||
"build": "packemon build --addEngines", | ||
"pack": "NODE_ENV=production packemon pack --addEngines --declaration standard --declarationConfig tsconfig.build.json", | ||
"check": "yarn run type && yarn run test && yarn run lint", | ||
"coverage": "yarn run jest --coverage", | ||
"lint": "beemo eslint", | ||
"jest": "beemo jest -i", | ||
"test": "beemo jest -i", | ||
"format": "beemo prettier", | ||
"release": "npx np --yolo", | ||
"type": "beemo typescript --noEmit", | ||
"prerelease": "yarn test && yarn run build", | ||
"pretest": "yarn run type", | ||
"test": "yarn run jest", | ||
"posttest": "yarn run lint" | ||
"release": "yarn run pack && yarn run check && npx np --yolo --no-yarn", | ||
"type": "beemo typescript --noEmit" | ||
}, | ||
"devDependencies": { | ||
"@milesj/build-tools": "^2.17.0", | ||
"@beemo/cli": "^2.0.6", | ||
"@beemo/core": "^2.1.4", | ||
"@beemo/dev": "^1.7.8", | ||
"@types/node": "^14.14.25", | ||
@@ -40,21 +48,14 @@ "@types/shelljs": "^0.8.8", | ||
"conventional-recommended-bump": "^6.1.0", | ||
"packemon": "^1.14.0", | ||
"shelljs": "^0.8.4" | ||
}, | ||
"beemo": { | ||
"module": "@milesj/build-tools", | ||
"drivers": [ | ||
"babel", | ||
"eslint", | ||
"jest", | ||
"prettier", | ||
"typescript" | ||
], | ||
"settings": { | ||
"node": true | ||
} | ||
}, | ||
"funding": { | ||
"type": "ko-fi", | ||
"url": "https://ko-fi.com/milesjohnson" | ||
} | ||
}, | ||
"packemon": { | ||
"format": "lib", | ||
"platform": "node" | ||
}, | ||
"packageManager": "yarn@3.2.0" | ||
} |
@@ -47,3 +47,3 @@ # conventional-changelog-beemo | ||
- `type`, `types` - Updates type system related syntax (TS/Flow). | ||
- `misc` - Catch all for commits that don't align with other types. | ||
- `chore`, `misc` - Catch all for commits that don't align with other types. | ||
@@ -50,0 +50,0 @@ #### Skip |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
47401
44
1012
9
1