1
0
mirror of https://gitcode.com/gh_mirrors/re/react-native-pushy.git synced 2025-10-29 20:43:09 +08:00
Code Issues Packages Projects Releases Wiki Activity GitHub Gitee

fix patchfromppk

This commit is contained in:
sunnylqm
2025-10-27 10:00:37 +08:00
parent 366b2a6618
commit e46d01714a

View File

@@ -262,7 +262,6 @@ export class DownloadTask {
let foundDiff = false; let foundDiff = false;
let foundBundlePatch = false; let foundBundlePatch = false;
const copyList: Map<string, Array<any>> = new Map();
await zlib.decompressFile(params.targetFile, params.unzipDirectory); await zlib.decompressFile(params.targetFile, params.unzipDirectory);
const zipFile = await this.processUnzippedFiles(params.unzipDirectory); const zipFile = await this.processUnzippedFiles(params.unzipDirectory);
for (const entry of zipFile.entries) { for (const entry of zipFile.entries) {
@@ -270,6 +269,13 @@ export class DownloadTask {
if (fn === '__diff.json') { if (fn === '__diff.json') {
foundDiff = true; foundDiff = true;
await fileIo
.copyDir(params.originDirectory + '/', params.unzipDirectory + '/')
.catch(error => {
console.error('copy error:', error);
});
let jsonContent = ''; let jsonContent = '';
const bufferArray = new Uint8Array(entry.content); const bufferArray = new Uint8Array(entry.content);
for (let i = 0; i < bufferArray.length; i++) { for (let i = 0; i < bufferArray.length; i++) {
@@ -277,22 +283,23 @@ export class DownloadTask {
} }
const obj = JSON.parse(jsonContent); const obj = JSON.parse(jsonContent);
const copies = obj.copies; const { copies, deletes } = obj;
for (const to in copies) { for (const [to, from] of Object.entries(copies)) {
let from = copies[to]; await fileIo
if (from === '') { .copyFile(
from = to; `${params.originDirectory}/${from}`,
} `${params.unzipDirectory}/${to}`,
)
if (!copyList.has(from)) { .catch(error => {
copyList.set(from, []); console.error('copy error:', error);
} });
const target = copyList.get(from);
if (target) {
const toFile = `${params.unzipDirectory}/${to}`;
target.push(toFile);
} }
for (const fileToDelete of Object.keys(deletes)) {
await fileIo
.unlink(`${params.unzipDirectory}/${fileToDelete}`)
.catch(error => {
console.error('delete error:', error);
});
} }
continue; continue;
} }