Skip to content

Commit 8e2d47d

Browse files
committed
Sort using semver
1 parent ed29b14 commit 8e2d47d

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

update

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
const fs = require('fs')
66
const path = require('path')
7+
const semver = require('semver')
78

89
// This script updates the index files list.js and list.txt in the bin directory,
910
// as well as the soljson-latest.js files.
@@ -13,10 +14,25 @@ fs.readdir(path.join(__dirname, '/bin'), function (err, files) {
1314
throw err
1415
}
1516

17+
function buildVersion (build) {
18+
var version = build.version;
19+
if (build.prerelease && build.prerelease.length > 0) {
20+
version += '-' + build.prerelease;
21+
}
22+
if (build.build && build.build.length > 0) {
23+
version += '+' + build.build;
24+
}
25+
return version;
26+
}
27+
1628
const parsedList = files
1729
.map(function (file) { return file.match(/^soljson-v([0-9.]*)(-([^+]*))?(\+(.*))?.js$/) })
1830
.filter(function (version) { return version })
1931
.map(function (pars) { return { path: pars[0], version: pars[1], prerelease: pars[3], build: pars[5] } })
32+
.sort(function (a, b) {
33+
// NOTE: a vs. b (the order is important), because we want oldest first in the list
34+
return semver.compare(buildVersion(a), buildVersion(b))
35+
})
2036

2137
const releases = parsedList
2238
.reverse()

0 commit comments

Comments
 (0)