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

@ -1,10 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.readAsarJson = exports.readAsar = exports.readAsarHeader = exports.AsarFilesystem = exports.Node = void 0;
exports.AsarFilesystem = exports.Node = void 0;
exports.readAsarHeader = readAsarHeader;
exports.readAsar = readAsar;
exports.readAsarJson = readAsarJson;
const chromium_pickle_js_1 = require("chromium-pickle-js");
const fs_extra_1 = require("fs-extra");
const path = require("path");
/** @internal */
class Node {
}
exports.Node = Node;
@ -15,20 +17,23 @@ class AsarFilesystem {
this.headerSize = headerSize;
this.offset = 0;
if (this.header.files == null) {
this.header.files = {};
this.header.files = this.newNode();
}
}
searchNodeFromDirectory(p, isCreate) {
let node = this.header;
for (const dir of p.split(path.sep)) {
if (dir !== ".") {
if (node == null) {
throw new Error(`Cannot find node for path: ${p} (node is null at ${dir})`);
}
let child = node.files[dir];
if (child == null) {
if (!isCreate) {
return null;
}
child = new Node();
child.files = {};
child.files = this.newNode();
node.files[dir] = child;
}
node = child;
@ -42,8 +47,11 @@ class AsarFilesystem {
}
const name = path.basename(p);
const dirNode = this.searchNodeFromDirectory(path.dirname(p), true);
if (dirNode == null) {
throw new Error(`Cannot find node for path: ${p} (node is null at ${path.dirname(p)})`);
}
if (dirNode.files == null) {
dirNode.files = {};
dirNode.files = this.newNode();
}
let result = dirNode.files[name];
if (result == null) {
@ -74,7 +82,7 @@ class AsarFilesystem {
}
let children = dirNode.files;
if (children == null) {
children = {};
children = this.newNode();
dirNode.files = children;
}
children[path.basename(file)] = node;
@ -82,6 +90,9 @@ class AsarFilesystem {
}
getNode(p) {
const node = this.searchNodeFromDirectory(path.dirname(p), false);
if (node == null) {
throw new Error(`Cannot find node for path: ${p} (node is null at ${path.dirname(p)})`);
}
return node.files[path.basename(p)];
}
getFile(p, followLinks = true) {
@ -95,41 +106,41 @@ class AsarFilesystem {
readFile(file) {
return readFileFromAsar(this, file, this.getFile(file));
}
newNode() {
return Object.create(null);
}
}
exports.AsarFilesystem = AsarFilesystem;
async function readAsarHeader(archive) {
const fd = await fs_extra_1.open(archive, "r");
const fd = await (0, fs_extra_1.open)(archive, "r");
let size;
let headerBuf;
try {
const sizeBuf = Buffer.allocUnsafe(8);
if ((await fs_extra_1.read(fd, sizeBuf, 0, 8, null)).bytesRead !== 8) {
if ((await (0, fs_extra_1.read)(fd, sizeBuf, 0, 8, null)).bytesRead !== 8) {
throw new Error("Unable to read header size");
}
const sizePickle = chromium_pickle_js_1.createFromBuffer(sizeBuf);
const sizePickle = (0, chromium_pickle_js_1.createFromBuffer)(sizeBuf);
size = sizePickle.createIterator().readUInt32();
headerBuf = Buffer.allocUnsafe(size);
if ((await fs_extra_1.read(fd, headerBuf, 0, size, null)).bytesRead !== size) {
if ((await (0, fs_extra_1.read)(fd, headerBuf, 0, size, null)).bytesRead !== size) {
throw new Error("Unable to read header");
}
}
finally {
await fs_extra_1.close(fd);
await (0, fs_extra_1.close)(fd);
}
const headerPickle = chromium_pickle_js_1.createFromBuffer(headerBuf);
const headerPickle = (0, chromium_pickle_js_1.createFromBuffer)(headerBuf);
return { header: headerPickle.createIterator().readString(), size };
}
exports.readAsarHeader = readAsarHeader;
async function readAsar(archive) {
const { header, size } = await readAsarHeader(archive);
return new AsarFilesystem(archive, JSON.parse(header), size);
}
exports.readAsar = readAsar;
async function readAsarJson(archive, file) {
const fs = await readAsar(archive);
return await fs.readJson(file);
}
exports.readAsarJson = readAsarJson;
async function readFileFromAsar(filesystem, filename, info) {
const size = info.size;
const buffer = Buffer.allocUnsafe(size);
@ -137,15 +148,15 @@ async function readFileFromAsar(filesystem, filename, info) {
return buffer;
}
if (info.unpacked) {
return await fs_extra_1.readFile(path.join(`${filesystem.src}.unpacked`, filename));
return await (0, fs_extra_1.readFile)(path.join(`${filesystem.src}.unpacked`, filename));
}
const fd = await fs_extra_1.open(filesystem.src, "r");
const fd = await (0, fs_extra_1.open)(filesystem.src, "r");
try {
const offset = 8 + filesystem.headerSize + parseInt(info.offset, 10);
await fs_extra_1.read(fd, buffer, 0, size, offset);
await (0, fs_extra_1.read)(fd, buffer, 0, size, offset);
}
finally {
await fs_extra_1.close(fd);
await (0, fs_extra_1.close)(fd);
}
return buffer;
}