diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 81ae50540..45c155d4a 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.9.6", + "version": "3.9.7", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/handler/import.ts b/packages/hydrooj/src/handler/import.ts index ff6704134..428b394ec 100644 --- a/packages/hydrooj/src/handler/import.ts +++ b/packages/hydrooj/src/handler/import.ts @@ -18,7 +18,12 @@ function findOverrideContent(dir: string) { if (!files.length) return null; for (const file of files) { const lang = file.slice(8, -3); - languages[lang] = fs.readFileSync(path.join(dir, file), 'utf8'); + let content: string | any[] = fs.readFileSync(path.join(dir, file), 'utf8'); + try { + content = JSON.parse(content); + if (!(content instanceof Array)) content = JSON.stringify(content); + } catch (e) { } + languages[lang] = content; } return JSON.stringify(languages); }