Skip to content

Commit 967d377

Browse files
committed
deps: semver@7.8.4
1 parent cdaac1b commit 967d377

5 files changed

Lines changed: 37 additions & 11 deletions

File tree

node_modules/semver/classes/range.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,11 @@ const parseComparator = (comp, options) => {
277277

278278
const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
279279

280+
const invalidXRangeOrder = (M, m, p) => (
281+
(isX(M) && !isX(m)) ||
282+
(isX(m) && p && !isX(p))
283+
)
284+
280285
// ~, ~> --> * (any, kinda silly)
281286
// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
282287
// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
@@ -373,10 +378,10 @@ const replaceCaret = (comp, options) => {
373378
if (M === '0') {
374379
if (m === '0') {
375380
ret = `>=${M}.${m}.${p
376-
}${z} <${M}.${m}.${+p + 1}-0`
381+
} <${M}.${m}.${+p + 1}-0`
377382
} else {
378383
ret = `>=${M}.${m}.${p
379-
}${z} <${M}.${+m + 1}.0-0`
384+
} <${M}.${+m + 1}.0-0`
380385
}
381386
} else {
382387
ret = `>=${M}.${m}.${p
@@ -402,6 +407,10 @@ const replaceXRange = (comp, options) => {
402407
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
403408
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
404409
debug('xRange', comp, ret, gtlt, M, m, p, pr)
410+
if (invalidXRangeOrder(M, m, p)) {
411+
return comp
412+
}
413+
405414
const xM = isX(M)
406415
const xm = xM || isX(m)
407416
const xp = xm || isX(p)

node_modules/semver/classes/semver.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ const { safeRe: re, t } = require('../internal/re')
66

77
const parseOptions = require('../internal/parse-options')
88
const { compareIdentifiers } = require('../internal/identifiers')
9+
10+
const isPrereleaseIdentifier = (prerelease, identifier) => {
11+
const identifiers = identifier.split('.')
12+
if (identifiers.length > prerelease.length) {
13+
return false
14+
}
15+
16+
for (let i = 0; i < identifiers.length; i++) {
17+
if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) {
18+
return false
19+
}
20+
}
21+
22+
return true
23+
}
24+
925
class SemVer {
1026
constructor (version, options) {
1127
options = parseOptions(options)
@@ -309,8 +325,9 @@ class SemVer {
309325
if (identifierBase === false) {
310326
prerelease = [identifier]
311327
}
312-
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
313-
if (isNaN(this.prerelease[1])) {
328+
if (isPrereleaseIdentifier(this.prerelease, identifier)) {
329+
const prereleaseBase = this.prerelease[identifier.split('.').length]
330+
if (isNaN(prereleaseBase)) {
314331
this.prerelease = prerelease
315332
}
316333
} else {

node_modules/semver/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "semver",
3-
"version": "7.8.1",
3+
"version": "7.8.4",
44
"description": "The semantic version parser used by npm.",
55
"main": "index.js",
66
"scripts": {
@@ -14,7 +14,7 @@
1414
"eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
1515
},
1616
"devDependencies": {
17-
"@npmcli/eslint-config": "^6.0.0",
17+
"@npmcli/eslint-config": "^7.0.0",
1818
"@npmcli/template-oss": "5.0.0",
1919
"benchmark": "^2.1.4",
2020
"tap": "^16.0.0"

package-lock.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@
138138
"proc-log": "^6.1.0",
139139
"qrcode-terminal": "^0.12.0",
140140
"read": "^5.0.1",
141-
"semver": "^7.8.1",
141+
"semver": "^7.8.4",
142142
"spdx-expression-parse": "^4.0.0",
143143
"ssri": "^13.0.1",
144144
"supports-color": "^10.2.2",
@@ -10606,9 +10606,9 @@
1060610606
}
1060710607
},
1060810608
"node_modules/semver": {
10609-
"version": "7.8.1",
10610-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
10611-
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
10609+
"version": "7.8.4",
10610+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz",
10611+
"integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==",
1061210612
"inBundle": true,
1061310613
"license": "ISC",
1061410614
"bin": {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
"proc-log": "^6.1.0",
107107
"qrcode-terminal": "^0.12.0",
108108
"read": "^5.0.1",
109-
"semver": "^7.8.1",
109+
"semver": "^7.8.4",
110110
"spdx-expression-parse": "^4.0.0",
111111
"ssri": "^13.0.1",
112112
"supports-color": "^10.2.2",

0 commit comments

Comments
 (0)