diff --git a/src/utils/changelog.js b/src/utils/changelog.js index 6beaa5d..aebf173 100644 --- a/src/utils/changelog.js +++ b/src/utils/changelog.js @@ -23,7 +23,7 @@ export const generateReleased = (previousVersion, config) => if ( isUnreleased && - line === config.releaseFormat.replace('%version%', previousVersion) + line === config.releaseFormat.replace(/%version%/g, previousVersion) ) { isUnreleased = false @@ -47,7 +47,7 @@ export const generateChangelog = (version, groups, config) => { const release = getCommitDetails(group.release) const releaseVersion = (release && release.message) || version const title = releaseVersion - ? config.releaseFormat.replace('%version%', releaseVersion) + ? config.releaseFormat.replace(/%version%/g, releaseVersion) : config.unreleasedFormat let groupChangelog = title + '\n\n' @@ -84,6 +84,6 @@ export const generateChangelog = (version, groups, config) => { export const generateLine = ({ message, hash }, config) => config.lineFormat - .replace('%HASH%', hash) - .replace('%hash%', hash.slice(0, 8)) - .replace('%message%', message) + .replace(/%HASH%/g, hash) + .replace(/%hash%/g, hash.slice(0, 8)) + .replace(/%message%/g, message) diff --git a/src/utils/changelog.test.js b/src/utils/changelog.test.js index aae0d47..5620eea 100644 --- a/src/utils/changelog.test.js +++ b/src/utils/changelog.test.js @@ -249,12 +249,15 @@ describe('changelog', () => { }) it('should generate line with custom config', () => { - const config = { ...defaultConfig, lineFormat: '* %message%' } + const config = { + ...defaultConfig, + lineFormat: '* %message% %hash% %hash%' + } const mockedInput = { message: 'generate changelog', hash: 'b2f5901922505efbfb6dd684252e8df0cdffeeb2' } - const mockedOutput = '* generate changelog' + const mockedOutput = '* generate changelog b2f59019 b2f59019' const line = generateLine(mockedInput, config)