UNPKG

@artilleryio/platform-fargate

Version:
1 lines 1.06 kB
const cmp=require("semver-compare");function versionCompare(a,b){var aNoPre,bNoPre;return a.indexOf("-")<0&&b.indexOf("-")<0?cmp(a,b):(aNoPre=a.split("-")[0],bNoPre=b.split("-")[0],0===(aNoPre=cmp(aNoPre,bNoPre))?Number(a.split("-")[1])&&Number(b.split("-")[1])?Number(a.split("-")[1])-Number(b.split("-")[1]):a.split("-")[1]?!b.split("-")[1]||(bNoPre=a.split("-")[1],a=b.split("-")[1],isNaN(parseInt(bNoPre))&&!isNaN(parseInt(a)))?-1:!isNaN(parseInt(bNoPre))&&isNaN(parseInt(a))||(b=parseInt(bNoPre.replace(/[A-Za-z-]/g,"")),(bNoPre=parseInt(a.replace(/[A-Za-z-]/g,"")))<b)?1:b<bNoPre?-1:0:1:aNoPre)}if(require.main===module){const cases=[["2.0.0","1.7.7",1],["2.0.0","2.0.0",0],["2.0.0-dev10","2.0.0-dev7",1],["2.0.0","3.0.0-dev1",-1],["2.0.0-dev20","2.0.0",-1],["2.0.0-1","2.0.0-2",-1],["3.0.0-dev3","1.9.2",1],["2.0.0-0","2.0.0-dev10",1],["2.0.0-dev0","2.0.0-0",-1],["2.0.0-1","2.0.0-dev7",1]];for(const t of cases){const cmp=versionCompare(t[0],t[1]);cmp!==t[2]&&console.error("fail:",t,"-- expected: ",t[2],"got: ",cmp)}}module.exports=versionCompare;