Skip to content

Commit

Permalink
Fixed the semver stuff in #17 and took into account beta releases as …
Browse files Browse the repository at this point in the history
…per #15
  • Loading branch information
KanoYugoro committed Jul 15, 2015
1 parent ba681f7 commit f72fe0e
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 12 deletions.
77 changes: 69 additions & 8 deletions bin/versionbumper.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,90 @@
exports = module.exports = {}

exports.bumpPatch = function(version){
exports.bumpPatch = function(version)
{
var stringarray = version.split(".");
var patchnumber = Number(stringarray[2]);
var patchnumber = parseInt(stringarray[2]);
patchnumber = patchnumber+1;

var result = (stringarray[0]+"."+stringarray[1]+"."+patchnumber);
return result;
}

exports.bumpMinor = function(version){
exports.bumpMinor = function(version)
{
var stringarray = version.split(".");
var patchnumber = Number(stringarray[1]);
var patchnumber = parseInt(stringarray[1]);
patchnumber = patchnumber+1;

var result = (stringarray[0]+"."+patchnumber+"."+stringarray[2]);
var result = (stringarray[0]+"."+patchnumber+".0");
return result;
}

exports.bumpMajor = function(version){
exports.bumpMajor = function(version)
{
var stringarray = version.split(".");
var patchnumber = Number(stringarray[0]);
var patchnumber = parseInt(stringarray[0]);
patchnumber = patchnumber+1;

var result = (patchnumber+"."+stringarray[1]+"."+stringarray[2]);
var result = (patchnumber+".0.0");
return result;
}

exports.bumpAlpha = function(version)
{
if (version.indexOf("beta") > -1)
{
return version;
}
else
if (version.indexOf("alpha") > -1)
{
var stringarray = version.split(".");
var patchnumber;
if (stringarray.length > 3)
{
patchnumber = parseInt(stringarray[3]);
patchnumber = patchnumber + 1;
}
else
{
patchnumber = 1;
}
return stringarray[0]+"."+stringarray[1]+"."+stringarray[2]+"."+patchnumber;
}
else
{
return version+"-alpha.1";
}
}

exports.bumpBeta = function(version)
{
var testVersion = version;

if (testVersion.indexOf("alpha") > -1)
{
var tempArray = testVersion.split(".");
testVersion = parseInt(tempArray[0])+"."+parseInt(tempArray[1])+"."+parseInt(tempArray[2]);
}

if (testVersion.indexOf("beta") > -1)
{
var stringarray = testVersion.split(".");
var patchnumber;
if (stringarray.length > 3)
{
patchnumber = parseInt(stringarray[3]);
patchnumber = patchnumber + 1;
}
else
{
patchnumber = 1;
}
return stringarray[0]+"."+stringarray[1]+"."+stringarray[2]+"."+patchnumber;
}
else
{
return testVersion+"-beta.1";
}
}
16 changes: 14 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ versionIO.readVersion('package.json',function(version) {

program
.version('0.0.1')
.option('-a , --alpha', 'Bump alpha')
.option('-b , --beta', 'Bump beta')
.option('-M , --major', 'Bump major')
.option('-m , --minor', 'Bump minor')
.option('-p , --patch', 'Bump patch')
Expand All @@ -22,16 +24,26 @@ if (program.major)
{
packageversion = versionbumper.bumpMajor(packageversion);
}

else
if (program.minor)
{
packageversion = versionbumper.bumpMinor(packageversion);
}

else
if (program.patch)
{
packageversion = versionbumper.bumpPatch(packageversion);
}
else
if (program.beta)
{
packageversion = versionbumper.bumpBeta(packageversion);
}
else
if (program.alpha)
{
packageversion = versionbumper.bumpAlpha(packageversion);
}

if (program.major || program.minor || program.patch)
{
Expand Down
28 changes: 26 additions & 2 deletions test/versionbumpertests.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,42 @@ describe("versionbumper", function(){
});
describe("#bumpMinor()", function(){
it("should bump up the second value in the string passed in.", function(){
var arg = "1.0.0";
var arg = "1.0.1";
var result = versionbumper.bumpMinor(arg);

expect(result).to.equal("1.1.0");
});
});
describe("#bumpMajor()", function(){
it("should bump up the first value in the string passed in.", function(){
var arg = "1.0.0";
var arg = "1.2.3";
var result = versionbumper.bumpMajor(arg);

expect(result).to.equal("2.0.0");
});
});
describe("#bumpAlpha()", function(){
it("should bump up the alpha value in the string passed in.", function(){
var arg = "2.0.0";
var result = versionbumper.bumpAlpha(arg);

expect(result).to.equal("2.0.0-alpha.1");

var result2 = versionbumper.bumpAlpha(result);

expect(result2).to.equal("2.0.0-alpha.2");
});
});
describe("#bumpBeta()", function(){
it("should bump up the alpha value in the string passed in.", function(){
var arg = "2.0.0-alpha.1";
var result = versionbumper.bumpBeta(arg);

expect(result).to.equal("2.0.0-beta.1");

var result2 = versionbumper.bumpBeta(result);

expect(result2).to.equal("2.0.0-beta.2");
});
});
});

0 comments on commit f72fe0e

Please sign in to comment.