fix: harden update pipeline and restore a clean production build
- update-Nitrov3.sh: build CMS into .next-staging and swap atomically so a failed build never takes the live site down; auto-merge new variables from .env.example; validate env for duplicates/broken lines; restart the emulator/CMS only when rebuilt or unhealthy; fix step renumbering - next.config.ts: support NEXT_DIST_DIR for staged production builds - fix all TS errors (unused imports, missing tryDownloadCandidates helper) so tsc and the production build pass clean - add Dockerfile/.dockerignore and switch docker-compose to a CMS container - include prevailing UI/refactor changes (SurfaceCard, ticketing, tsconfig)
This commit is contained in:
1 parent
750fcb2e5c
commit
944e8ff1d8
26 files changed
+427
-876
No files matched your search
@@ -271,7 +271,6 @@ import type {
|
||||
import {
|
||||
finalizeLangFile,
|
||||
finalizePatch,
|
||||
lookupTranslation,
|
||||
prepareLangFile,
|
||||
preparePatch,
|
||||
} from "./furni-data-i18n-core";
|
||||
@@ -283,10 +282,7 @@ export type {
|
||||
PreparedPatch,
|
||||
Translation,
|
||||
} from "./furni-data-i18n-core";
|
||||
export {
|
||||
lookupTranslation,
|
||||
officialIsRealTranslation,
|
||||
} from "./furni-data-i18n-core";
|
||||
export { lookupTranslation } from "./furni-data-i18n-core";
|
||||
|
||||
export async function fetchTranslationsForHotel(
|
||||
hotel: HabboGamedataHotel,
|
||||
@@ -643,31 +639,3 @@ export async function patchLocalizedFurniDataEntries(
|
||||
}
|
||||
|
||||
/** Visible for tests — apply translations to a furnidata clone in place. */
|
||||
export function applyTranslationsForTest(
|
||||
data: Record<string, { furnitype: Array<Record<string, unknown>> }>,
|
||||
translations: Map<string, Translation>,
|
||||
): { translatedRoom: number; translatedWall: number } {
|
||||
let translatedRoom = 0;
|
||||
let translatedWall = 0;
|
||||
for (const section of ["roomitemtypes", "wallitemtypes"] as const) {
|
||||
for (const entry of data[section]?.furnitype ?? []) {
|
||||
const cn = typeof entry.classname === "string" ? entry.classname : "";
|
||||
const t = lookupTranslation(translations, cn);
|
||||
if (!t) continue;
|
||||
let did = false;
|
||||
if (t.name) {
|
||||
entry.name = t.name;
|
||||
did = true;
|
||||
}
|
||||
if (t.description) {
|
||||
entry.description = t.description;
|
||||
did = true;
|
||||
}
|
||||
if (did) {
|
||||
if (section === "roomitemtypes") translatedRoom++;
|
||||
else translatedWall++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return { translatedRoom, translatedWall };
|
||||
}
|
||||
Reference in new issue
Block a user