diff --git a/src/main.ts b/src/main.ts index e435f5e..384a1b9 100644 --- a/src/main.ts +++ b/src/main.ts @@ -69,6 +69,7 @@ async function main(modpack_path: string) { const name: string = entry.fileName; dud_files.push(name); if (name.endsWith(".json")) { + //console.log((await readzipentry(zipfile, entry))) pack_info = JSON.parse( (await readzipentry(zipfile, entry)).toString() ); diff --git a/src/utils/utils.ts b/src/utils/utils.ts index d9b2ec7..61c0dc3 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -8,14 +8,16 @@ import { MultiBar } from "cli-progress"; import {URL, fileURLToPath } from "node:url"; import { LOGGER } from "./logger.js"; -export async function readzipentry(zipfile: yauzl.ZipFile, entry: yauzl.Entry):Promise { +export async function readzipentry(zipfile: yauzl.ZipFile, entry: yauzl.Entry):Promise { const data: Buffer[] = []; return await new Promise((reslove, reject) => { zipfile.openReadStream(entry, (err, e) => { e.on("data", (chunk: Buffer) => { data.push(chunk); }).on("end", () => { - reslove(data.toString()); + if (data.length !== 0&&typeof data !== "string"){ + reslove(Buffer.concat(data).toString()); + } }); }); });