From ba94ce50d5d887c2d8036446b5296b58c3efee37 Mon Sep 17 00:00:00 2001 From: Matt Westrik Date: Fri, 29 Mar 2024 16:09:27 -0700 Subject: [PATCH] chore: simplify --- index.js | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/index.js b/index.js index edaa961..660b16f 100755 --- a/index.js +++ b/index.js @@ -57,31 +57,23 @@ const sortGitHooks = sortObjectBy(gitHooks) const sortObjectBySemver = sortObjectBy((a, b) => { const parseNameAndVersionRange = (specifier) => { - const [nameAndVersion, childName] = specifier.split('>') + // Ignore anything after > & rely on fallback alphanumeric sorting for that + const [nameAndVersion] = specifier.split('>') const atMatches = [...nameAndVersion.matchAll('@')] if ( !atMatches.length || (atMatches.length === 1 && atMatches[0].index === 0) ) { - return { name: specifier, childName } + return { name: specifier } } const splitIndex = atMatches.pop().index return { name: nameAndVersion.substring(0, splitIndex), range: nameAndVersion.substring(splitIndex + 1), - childName, } } - const { - name: aName, - range: aRange, - childDep: aChildDep, - } = parseNameAndVersionRange(a) - const { - name: bName, - range: bRange, - childDep: bChildDep, - } = parseNameAndVersionRange(b) + const { name: aName, range: aRange } = parseNameAndVersionRange(a) + const { name: bName, range: bRange } = parseNameAndVersionRange(b) if (aName !== bName) { return aName.localeCompare(bName) @@ -92,13 +84,6 @@ const sortObjectBySemver = sortObjectBy((a, b) => { if (!bRange) { return 1 } - if (aRange === bRange && (aChildDep || bChildDep)) { - if (aChildDep) { - return aChildDep.localeCompare(bChildDep) - } else { - return -1 - } - } return semver.compare(semver.minVersion(aRange), semver.minVersion(bRange)) })