From f0ead136fedb75b9b507083e493efd392349faf3 Mon Sep 17 00:00:00 2001 From: Tianpao Date: Tue, 8 Jul 2025 21:57:55 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8Dmodrinth=20json?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.ts | 1 + src/utils/utils.ts | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) 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()); + } }); }); });