diff --git a/classes/semver.js b/classes/semver.js index 54381272..33480a0f 100644 --- a/classes/semver.js +++ b/classes/semver.js @@ -223,23 +223,14 @@ class SemVer { switch (release) { case 'premajor': - this.prerelease.length = 0 - this.patch = 0 - this.minor = 0 - this.major++ + this.inc('major', identifier, identifierBase) this.inc('pre', identifier, identifierBase) break case 'preminor': - this.prerelease.length = 0 - this.patch = 0 - this.minor++ + this.inc('minor', identifier, identifierBase) this.inc('pre', identifier, identifierBase) break case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0 this.inc('patch', identifier, identifierBase) this.inc('pre', identifier, identifierBase) break diff --git a/test/fixtures/increments.js b/test/fixtures/increments.js index 31ea6974..744db26f 100644 --- a/test/fixtures/increments.js +++ b/test/fixtures/increments.js @@ -39,7 +39,7 @@ module.exports = [ ['1.2.3-alpha.11.beta', 'prerelease', '1.2.3-alpha.12.beta'], ['1.0.0', 'prepatch', '1.0.1-alpha.1.1a.0', null, 'alpha.1.1a'], ['1.2.0', 'prepatch', '1.2.1-0'], - ['1.2.0-1', 'prepatch', '1.2.1-0'], + ['1.2.0-1', 'prepatch', '1.2.0-0'], ['1.2.0', 'preminor', '1.3.0-0'], ['1.2.3-1', 'preminor', '1.3.0-0'], ['1.2.0', 'premajor', '2.0.0-0'], @@ -88,7 +88,7 @@ module.exports = [ ['1.2.3-alpha.10.beta', 'prerelease', '1.2.3-alpha.11.beta', false, 'alpha'], ['1.2.3-alpha.11.beta', 'prerelease', '1.2.3-alpha.12.beta', false, 'alpha'], ['1.2.0', 'prepatch', '1.2.1-dev.0', false, 'dev'], - ['1.2.0-1', 'prepatch', '1.2.1-dev.0', false, 'dev'], + ['1.2.0-1', 'prepatch', '1.2.0-dev.0', false, 'dev'], ['1.2.0', 'preminor', '1.3.0-dev.0', false, 'dev'], ['1.2.3-1', 'preminor', '1.3.0-dev.0', false, 'dev'], ['1.2.0', 'premajor', '2.0.0-dev.0', false, 'dev'], @@ -110,7 +110,7 @@ module.exports = [ ['1.2.3', 'prerelease', '1.2.4-alpha.1', false, 'alpha', '1'], ['1.2.4', 'prerelease', '1.2.5-alpha.1', false, 'alpha', '1'], ['1.2.0', 'prepatch', '1.2.1-dev.1', false, 'dev', '1'], - ['1.2.0-1', 'prepatch', '1.2.1-dev.1', false, 'dev', '1'], + ['1.2.0-1', 'prepatch', '1.2.0-dev.1', false, 'dev', '1'], ['1.2.0', 'premajor', '2.0.0-dev.0', false, 'dev', '0'], ['1.2.3-1', 'premajor', '2.0.0-dev.0', false, 'dev', '0'], ['1.2.3-dev.bar', 'prerelease', '1.2.3-dev.0', false, 'dev', '0'], @@ -125,7 +125,7 @@ module.exports = [ ['1.2.1', 'prerelease', '1.2.2-alpha', false, 'alpha', false], ['1.2.2', 'prerelease', '1.2.3-alpha', false, 'alpha', false], ['1.2.0', 'prepatch', '1.2.1-dev', false, 'dev', false], - ['1.2.0-1', 'prepatch', '1.2.1-dev', false, 'dev', false], + ['1.2.0-1', 'prepatch', '1.2.0-dev', false, 'dev', false], ['1.2.0', 'premajor', '2.0.0-dev', false, 'dev', false], ['1.2.3-1', 'premajor', '2.0.0-dev', false, 'dev', false], ['1.2.3-dev.bar', 'prerelease', '1.2.3-dev', false, 'dev', false], @@ -134,8 +134,8 @@ module.exports = [ ['1.2.3-1', 'preminor', '1.3.0-dev', false, 'dev', false], ['1.2.3-dev', 'prerelease', null, false, 'dev', false], ['1.2.0-dev', 'premajor', '2.0.0-dev', false, 'dev', false], - ['1.2.0-dev', 'preminor', '1.3.0-beta', false, 'beta', false], - ['1.2.0-dev', 'prepatch', '1.2.1-dev', false, 'dev', false], + ['1.2.0-dev', 'preminor', '1.2.0-beta', false, 'beta', false], + ['1.2.0-dev', 'prepatch', '1.2.0-dev', false, 'dev', false], ['1.2.0', 'prerelease', null, false, '', false], ['1.0.0-rc.1+build.4', 'prerelease', '1.0.0-rc.2', 'rc', false], ['1.2.0', 'prerelease', null, false, 'invalid/preid'],