fix: use target platform path separators for asar integrity keys (#1781)

This commit is contained in:
Samuel Attard 2024-11-12 17:00:57 -05:00 коммит произвёл GitHub
Родитель 7024c67a22
Коммит 6270eeba52
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
2 изменённых файлов: 10 добавлений и 6 удалений

Просмотреть файл

@ -233,8 +233,8 @@ export class MacApp extends App implements Plists {
return [...plists, ...(optional as LoadPlistParams[]).filter(item => item)];
}
appRelativePath(p: string) {
return path.relative(this.contentsPath, p);
appRelativePlatformPath(p: string) {
return path.posix.relative(this.contentsPath, p);
}
async updatePlistFiles() {

Просмотреть файл

@ -138,7 +138,7 @@ export class App {
if (this.opts.prebuiltAsar) {
await this.copyPrebuiltAsar();
this.asarIntegrity = {
[this.appRelativePath(this.appAsarPath)]: this.getAsarIntegrity(this.appAsarPath),
[this.appRelativePlatformPath(this.appAsarPath)]: this.getAsarIntegrity(this.appAsarPath),
};
} else {
await this.buildApp();
@ -232,8 +232,12 @@ export class App {
await fs.copy(src, this.appAsarPath, { overwrite: false, errorOnExist: true });
}
appRelativePath(p: string) {
return path.relative(this.stagingPath, p);
appRelativePlatformPath(p: string) {
if (this.opts.platform === 'win32') {
return path.win32.relative(this.stagingPath, p);
}
return path.posix.relative(this.stagingPath, p);
}
async asarApp() {
@ -247,7 +251,7 @@ export class App {
await asar.createPackageWithOptions(this.originalResourcesAppDir, this.appAsarPath, this.asarOptions);
this.asarIntegrity = {
[this.appRelativePath(this.appAsarPath)]: this.getAsarIntegrity(this.appAsarPath),
[this.appRelativePlatformPath(this.appAsarPath)]: this.getAsarIntegrity(this.appAsarPath),
};
await fs.remove(this.originalResourcesAppDir);