From 9c7de5ef2a8f992bc119a321a84960b55effc8ba Mon Sep 17 00:00:00 2001 From: DuckySoLucky Date: Tue, 26 Nov 2024 12:17:03 +0100 Subject: [PATCH] maybe fix tests --- .../NotEnoughUpdates/parseNEURepository.ts | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/lib/server/helper/NotEnoughUpdates/parseNEURepository.ts b/src/lib/server/helper/NotEnoughUpdates/parseNEURepository.ts index 0a4e84e74..64137ca80 100644 --- a/src/lib/server/helper/NotEnoughUpdates/parseNEURepository.ts +++ b/src/lib/server/helper/NotEnoughUpdates/parseNEURepository.ts @@ -1,24 +1,33 @@ import type { NEUItem } from "$types/processed/NotEnoughUpdates/NotEnoughUpdates"; import fs from "node:fs"; -import { formatBestiaryConstants } from "./parsers/bestiary"; import { NBTParser } from "./NBTParser"; +import { formatBestiaryConstants } from "./parsers/bestiary"; export const NEU_ITEMS = new Map(); export const NEU_CONSTANTS = new Map(); export async function parseNEURepository() { const timeNow = performance.now(); - if (!fs.existsSync("src/lib/server/constants/NotEnoughUpdates-REPO/items")) { - throw new Error("Couldn't find the NEU items directory (src/lib/server/constants/NotEnoughUpdates-REPO/items). Make sure you have the NEU repository cloned in the correct location."); + const itemsPath = "src/lib/server/constants/NotEnoughUpdates-REPO/items"; + + if (!fs.existsSync(itemsPath)) { + throw new Error(`Couldn't find the NEU items directory (${itemsPath}). Make sure you have the NEU repository cloned in the correct location.`); } - const items = fs.readdirSync("src/lib/server/constants/NotEnoughUpdates-REPO/items"); + const items = fs.readdirSync(itemsPath); for (const item of items) { - const itemData = JSON.parse(fs.readFileSync(`src/lib/server/constants/NotEnoughUpdates-REPO/items/${item}`, "utf8")); - - itemData.nbttag = NBTParser.parse(itemData.nbttag); + const itemPath = `${itemsPath}/${item}`; + if (!fs.statSync(itemPath).isFile()) { + continue; + } - NEU_ITEMS.set(itemData.internalname, itemData); + try { + const itemData = JSON.parse(fs.readFileSync(itemPath, "utf8")); + itemData.nbttag = NBTParser.parse(itemData.nbttag); + NEU_ITEMS.set(itemData.internalname, itemData); + } catch (error) { + console.error(`Error processing item ${item}:`, error); + } } const constants = fs.readdirSync("src/lib/server/constants/NotEnoughUpdates-REPO/constants");