build: reject duplicate generated translations

This commit is contained in:
2026-07-30 00:40:25 +02:00
parent 9e6a6b5fdc
commit 0beb9ffea9
4 changed files with 112 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import path from "node:path";
import { fileURLToPath } from "node:url";
import vm from "node:vm";
import ts from "typescript";
import { findDuplicateTranslationKeys } from "./i18n-catalog-validation.mjs";
const scriptDir = path.dirname(fileURLToPath(import.meta.url));
const webuiDir = path.resolve(scriptDir, "..");
@@ -74,6 +75,8 @@ function scanStructuralSourcePositions(roots) {
function scanGeneratedCatalogs(files) {
const findings = [];
for (const file of files) {
const source = fs.readFileSync(file, "utf8");
findings.push(...findDuplicateTranslationKeys(source, file));
const translations = loadGeneratedTranslations(file);
for (const [language, dictionary] of Object.entries(translations)) {
for (const [key, value] of Object.entries(dictionary)) {