Skip to content

Commit 242ac99

Browse files
committed
coercing semantic package version while searching lockfile entries in yarn.lock
1 parent 5c2c92b commit 242ac99

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/coerceSemVer.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import semver from "semver"
2+
3+
export function coerceSemVer(version: string): string | null {
4+
return semver.coerce(version)?.version || null
5+
}

src/getPackageResolution.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { readFileSync, existsSync } from "fs-extra"
55
import { parse as parseYarnLockFile } from "@yarnpkg/lockfile"
66
import findWorkspaceRoot from "find-yarn-workspace-root"
77
import { getPackageVersion } from "./getPackageVersion"
8+
import { coerceSemVer } from "./coerceSemVer"
89

910
export function getPackageResolution({
1011
packageDetails,
@@ -39,7 +40,7 @@ export function getPackageResolution({
3940
const entries = Object.entries(appLockFile.object).filter(
4041
([k, v]) =>
4142
k.startsWith(packageDetails.name + "@") &&
42-
v.version === installedVersion,
43+
coerceSemVer(v.version) === coerceSemVer(installedVersion),
4344
)
4445

4546
const resolutions = entries.map(([_, v]) => {
@@ -100,7 +101,6 @@ if (require.main === module) {
100101
if (!packageDetails) {
101102
console.error(`Can't find package ${process.argv[2]}`)
102103
process.exit(1)
103-
throw new Error()
104104
}
105105
console.log(
106106
getPackageResolution({

0 commit comments

Comments
 (0)