From 9772563a22c4fd313eb8bbcdde948503ad1d3703 Mon Sep 17 00:00:00 2001 From: Pierre Vanduynslager Date: Fri, 13 Dec 2019 16:01:02 -0500 Subject: [PATCH] fix: look also for previous prerelease versions to determine the next one --- lib/get-next-version.js | 4 +++- test/get-next-version.test.js | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/get-next-version.js b/lib/get-next-version.js index e78b724a..05f91a11 100644 --- a/lib/get-next-version.js +++ b/lib/get-next-version.js @@ -14,7 +14,9 @@ module.exports = ({branch, nextRelease: {type, channel}, lastRelease, logger}) = ) { version = highest( semver.inc(lastRelease.version, 'prerelease'), - `${semver.inc(getLatestVersion(tagsToVersions(branch.tags)), type)}-${branch.prerelease}.${FIRSTPRERELEASE}` + `${semver.inc(getLatestVersion(tagsToVersions(branch.tags), {withPrerelease: true}), type)}-${ + branch.prerelease + }.${FIRSTPRERELEASE}` ); } else { version = `${semver.inc(`${major}.${minor}.${patch}`, type)}-${branch.prerelease}.${FIRSTPRERELEASE}`; diff --git a/test/get-next-version.test.js b/test/get-next-version.test.js index 8005d76c..2bd808d1 100644 --- a/test/get-next-version.test.js +++ b/test/get-next-version.test.js @@ -258,3 +258,20 @@ test('Increase version for release on prerelease branch based on highest commit '2.0.0-beta.1' ); }); + +test('Increase version for release on prerelease branch when there is no regular releases on other branches', t => { + t.is( + getNextVersion({ + branch: { + name: 'beta', + type: 'prerelease', + prerelease: 'beta', + tags: [{gitTag: 'v1.0.0-beta.1', version: '1.0.0-beta.1', channels: ['beta']}], + }, + nextRelease: {type: 'minor', channel: 'beta'}, + lastRelease: {version: 'v1.0.0-beta.1', channels: ['beta']}, + logger: t.context.logger, + }), + '1.0.0-beta.2' + ); +});