mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 22:02:55 +01:00
Sorts version numbers
This commit is contained in:
parent
73b47d4592
commit
21db3aebf0
1 changed files with 29 additions and 0 deletions
|
|
@ -59,9 +59,38 @@ async function _getNpmVersions(): Promise<string[]> {
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const validVersions = versions.filter((v) => !brokenVersions.has(v));
|
const validVersions = versions.filter((v) => !brokenVersions.has(v));
|
||||||
|
|
||||||
|
validVersions.sort((v1, v2) => -compareSemanticVersions(v1, v2));
|
||||||
|
|
||||||
return validVersions;
|
return validVersions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function compareSemanticVersions(version1: string, version2: string): number {
|
||||||
|
const v1 = version1.split(/[.]/);
|
||||||
|
const v2 = version2.split(/[.]/);
|
||||||
|
for (let i = 0; i < Math.min(v1.length, v2.length); i++) {
|
||||||
|
const isNumber = /^\d+$/.test(v1[i]) && /^\d+$/.test(v2[i]);
|
||||||
|
|
||||||
|
if (isNumber) {
|
||||||
|
const n1 = parseInt(v1[i]);
|
||||||
|
const n2 = parseInt(v2[i]);
|
||||||
|
if (n1 < n2) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (n1 > n2) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const compare = v1[i].localeCompare(v2[i]);
|
||||||
|
if (compare !== 0) {
|
||||||
|
return compare;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return v1.length - v2.length;
|
||||||
|
}
|
||||||
|
|
||||||
export async function getVsCodeCommitId(
|
export async function getVsCodeCommitId(
|
||||||
monacoEditorVersion: string
|
monacoEditorVersion: string
|
||||||
): Promise<string | undefined> {
|
): Promise<string | undefined> {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue