update electron to v43

This commit is contained in:
olcxja 2026-07-09 22:38:33 +02:00
commit fb6c8b6ee9
5385 changed files with 513060 additions and 123058 deletions

View file

@ -98,6 +98,9 @@ class Range {
}
parseRange (range) {
// strip build metadata so it can't bleed into the version
range = range.replace(BUILDSTRIPRE, '')
// memoize range parsing for performance.
// this is a very hot path, and fully deterministic.
const memoOpts =
@ -223,6 +226,7 @@ const debug = require('../internal/debug')
const SemVer = require('./semver')
const {
safeRe: re,
src,
t,
comparatorTrimReplace,
tildeTrimReplace,
@ -230,6 +234,9 @@ const {
} = require('../internal/re')
const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')
// unbounded global build-metadata stripper used by parseRange
const BUILDSTRIPRE = new RegExp(src[t.BUILD], 'g')
const isNullSet = c => c.value === '<0.0.0-0'
const isAny = c => c.value === ''
@ -270,6 +277,11 @@ const parseComparator = (comp, options) => {
const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
const invalidXRangeOrder = (M, m, p) => (
(isX(M) && !isX(m)) ||
(isX(m) && p && !isX(p))
)
// ~, ~> --> * (any, kinda silly)
// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
@ -287,6 +299,10 @@ const replaceTildes = (comp, options) => {
const replaceTilde = (comp, options) => {
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
// if we're including prereleases in the match, then the lower bound is
// -0, the lowest possible prerelease value, just like x-ranges and carets.
// this keeps `~1.2` equivalent to the `1.2.x` x-range it's documented as.
const z = options.includePrerelease ? '-0' : ''
return comp.replace(r, (_, M, m, p, pr) => {
debug('tilde', comp, _, M, m, p, pr)
let ret
@ -294,10 +310,10 @@ const replaceTilde = (comp, options) => {
if (isX(M)) {
ret = ''
} else if (isX(m)) {
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`
} else if (isX(p)) {
// ~1.2 == >=1.2.0 <1.3.0-0
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`
} else if (pr) {
debug('replaceTilde pr', pr)
ret = `>=${M}.${m}.${p}-${pr
@ -366,10 +382,10 @@ const replaceCaret = (comp, options) => {
if (M === '0') {
if (m === '0') {
ret = `>=${M}.${m}.${p
}${z} <${M}.${m}.${+p + 1}-0`
} <${M}.${m}.${+p + 1}-0`
} else {
ret = `>=${M}.${m}.${p
}${z} <${M}.${+m + 1}.0-0`
} <${M}.${+m + 1}.0-0`
}
} else {
ret = `>=${M}.${m}.${p
@ -395,6 +411,10 @@ const replaceXRange = (comp, options) => {
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
debug('xRange', comp, ret, gtlt, M, m, p, pr)
if (invalidXRangeOrder(M, m, p)) {
return comp
}
const xM = isX(M)
const xm = xM || isX(m)
const xp = xm || isX(p)

View file

@ -6,6 +6,22 @@ const { safeRe: re, t } = require('../internal/re')
const parseOptions = require('../internal/parse-options')
const { compareIdentifiers } = require('../internal/identifiers')
const isPrereleaseIdentifier = (prerelease, identifier) => {
const identifiers = identifier.split('.')
if (identifiers.length > prerelease.length) {
return false
}
for (let i = 0; i < identifiers.length; i++) {
if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) {
return false
}
}
return true
}
class SemVer {
constructor (version, options) {
options = parseOptions(options)
@ -309,8 +325,9 @@ class SemVer {
if (identifierBase === false) {
prerelease = [identifier]
}
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
if (isNaN(this.prerelease[1])) {
if (isPrereleaseIdentifier(this.prerelease, identifier)) {
const prereleaseBase = this.prerelease[identifier.split('.').length]
if (isNaN(prereleaseBase)) {
this.prerelease = prerelease
}
} else {