Skip to content

Commit 739c753

Browse files
committed
Fix engines.node range is not supported error
1 parent 0a4bd97 commit 739c753

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/utils/package-manager-detector.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,10 @@ export async function detect({
181181
}
182182
const nodeRange = getOwn(pkgJson['engines'], 'node')
183183
if (isNonEmptyString(nodeRange)) {
184-
node = MAINTAINED_NODE_VERSIONS.some(v => semver.satisfies(v, nodeRange))
184+
node = MAINTAINED_NODE_VERSIONS.some(v => {
185+
const coerced = semver.coerce(nodeRange)
186+
coerced && semver.satisfies(coerced, `^${v}`)
187+
})
185188
}
186189
const browserslistQuery = getOwn(pkgJson, 'browserslist')
187190
if (Array.isArray(browserslistQuery)) {
@@ -193,8 +196,11 @@ export async function detect({
193196
browser = browserslistTargets.length !== browserslistNodeTargets.length
194197
}
195198
if (node === undefined && browserslistNodeTargets.length) {
196-
node = MAINTAINED_NODE_VERSIONS.some(r =>
197-
browserslistNodeTargets.some(v => semver.satisfies(v, `^${r}`))
199+
node = MAINTAINED_NODE_VERSIONS.some(v =>
200+
browserslistNodeTargets.some(t => {
201+
const coerced = semver.coerce(t)
202+
return coerced && semver.satisfies(coerced, `^${v}`)
203+
})
198204
)
199205
}
200206
}

0 commit comments

Comments
 (0)