Skip to content

Commit 3d0debb

Browse files
committed
Sanitize nightly version string which had leading zeroes
1 parent 6f8b14c commit 3d0debb

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

translate.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
const linker = require('./linker.js');
22

33
/// Translate old style version numbers to semver.
4-
/// Old style: 0.3.6-3fc68da5/Release-Emscripten/clang
4+
/// Old style: 0.4.1-nightly.2016.09.09+commit.79867f49.Emscripten.clang
5+
/// 0.3.6-3fc68da5/Release-Emscripten/clang
56
/// 0.3.5-371690f0/Release-Emscripten/clang/Interpreter
67
/// 0.3.5-0/Release-Emscripten/clang/Interpreter
78
/// 0.2.0-e7098958/.-Emscripten/clang/int linked to libethereum-1.1.1-bbb80ab0/.-Emscripten/clang/int
89
/// 0.1.3-0/.-/clang/int linked to libethereum-0.9.92-0/.-/clang/int
910
/// 0.1.2-5c3bfd4b*/.-/clang/int
1011
/// 0.1.1-6ff4cd6b/RelWithDebInfo-Emscripten/clang/int
1112
/// New style: 0.4.5+commit.b318366e.Emscripten.clang
13+
/// 0.8.1-nightly.2021.1.7+commit.d11cf15d.js
1214
function versionToSemver (version) {
15+
// This parses the old style with a commit hash. It ignores the details past the commit hash.
1316
// FIXME: parse more detail, but this is a good start
1417
const parsed = version.match(/^([0-9]+\.[0-9]+\.[0-9]+)-([0-9a-f]{8})[/*].*$/);
1518
if (parsed) {
@@ -21,6 +24,11 @@ function versionToSemver (version) {
2124
if (version.indexOf('0.3.5-0') !== -1) {
2225
return '0.3.5';
2326
}
27+
// This parses the obsolete nightly style where the date can have leading zeroes.
28+
var nightly_parsed = version.match(/^([0-9]+\.[0-9]+\.[0-9]+)-nightly\.([0-9]+)\.0([1-9])\.0([1-9])(.*)$/);
29+
if (nightly_parsed) {
30+
return parsed[1] + '-nightly.' + parsed[2] + '.' + parsed[3] + '.' + parsed[4] + parsed[5];
31+
}
2432
// assume it is already semver compatible
2533
return version;
2634
}

0 commit comments

Comments
 (0)