refactor: Cleanup in generateChangelog

releases/v3
Tycho Bokdam 2020-06-28 20:20:56 +02:00
parent 3eab2417f9
commit 4d8a290748
No known key found for this signature in database
GPG Key ID: A0FAE77C8CDF33C7
1 changed files with 45 additions and 22 deletions

View File

@ -1,17 +1,39 @@
const fs = require('fs') const fs = require('fs')
const conventionalChangelog = require('conventional-changelog') const conventionalChangelog = require('conventional-changelog')
module.exports.generateStringChangelog = (tagPrefix, preset, jsonPackage, releaseCount) => new Promise((resolve, reject) => { /**
const changelogStream = conventionalChangelog({ * Generates a changelog stream with the given arguments
preset, *
releaseCount: parseInt(releaseCount, 10), * @param tagPrefix
tagPrefix, * @param preset
}, * @param version
{ * @param releaseCount
version: jsonPackage.version, * @returns {*}
currentTag: `${tagPrefix}${jsonPackage.version}`, */
}, const getChangelogStream = (tagPrefix, preset, version, releaseCount) => conventionalChangelog({
) preset,
releaseCount: parseInt(releaseCount, 10),
tagPrefix,
},
{
version,
currentTag: `${tagPrefix}${version}`,
},
)
module.exports = getChangelogStream
/**
* Generates a string changelog
*
* @param tagPrefix
* @param preset
* @param version
* @param releaseCount
* @returns {Promise<string>}
*/
module.exports.generateStringChangelog = (tagPrefix, preset, version, releaseCount) => new Promise((resolve, reject) => {
const changelogStream = getChangelogStream(tagPrefix, preset, version, releaseCount)
let changelog = '' let changelog = ''
@ -22,17 +44,18 @@ module.exports.generateStringChangelog = (tagPrefix, preset, jsonPackage, releas
.on('end', () => resolve(changelog)) .on('end', () => resolve(changelog))
}) })
module.exports.generateFileChangelog = (tagPrefix, preset, jsonPackage, fileName, releaseCount) => new Promise((resolve) => { /**
const changelogStream = conventionalChangelog({ * Generates a file changelog
preset, *
releaseCount: parseInt(releaseCount, 10), * @param tagPrefix
tagPrefix, * @param preset
}, * @param version
{ * @param fileName
version: jsonPackage.version, * @param releaseCount
currentTag: `${tagPrefix}${jsonPackage.version}`, * @returns {Promise<>}
}, */
) module.exports.generateFileChangelog = (tagPrefix, preset, version, fileName, releaseCount) => new Promise((resolve) => {
const changelogStream = getChangelogStream(tagPrefix, preset, version, releaseCount)
changelogStream changelogStream
.pipe(fs.createWriteStream(fileName)) .pipe(fs.createWriteStream(fileName))