Skip to content

Commit 30c457f

Browse files
committed
feat: sort mismatching version output
1 parent f9983f4 commit 30c457f

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

lib/output.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import type { MismatchingDependencyVersions } from './dependency-versions.js';
2+
import { compareRanges } from './dependency-versions.js';
23

34
export function mismatchingVersionsToOutputLines(
45
mismatchingDependencyVersions: MismatchingDependencyVersions
56
): string[] {
67
return mismatchingDependencyVersions.map(
78
(obj) =>
89
`${obj.dependency} has more than one version: ${obj.versions
10+
.sort((a, b) => compareRanges(a.version, b.version))
911
.map(
1012
(versionObj) =>
1113
`${versionObj.version} (${versionObj.count} ${pluralizeUsage(

test/lib/output.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,23 @@ describe('Utils | output', function () {
1717
{
1818
dependency: 'bar',
1919
versions: [
20-
{ version: '1.4.0', count: 3 },
2120
{ version: '2.0.0', count: 4 },
21+
{ version: '1.4.0', count: 3 },
22+
],
23+
},
24+
{
25+
dependency: 'baz',
26+
versions: [
27+
{ version: '^2.0.0', count: 1 },
28+
{ version: '~2.0.0', count: 1 },
29+
{ version: '^1.0.0', count: 1 },
2230
],
2331
},
2432
]),
2533
[
2634
'foo has more than one version: 1.2.3 (1 usage), 4.5.6 (2 usages)',
2735
'bar has more than one version: 1.4.0 (3 usages), 2.0.0 (4 usages)',
36+
'baz has more than one version: ^1.0.0 (1 usage), ~2.0.0 (1 usage), ^2.0.0 (1 usage)',
2837
]
2938
);
3039
});

0 commit comments

Comments
 (0)