Set the terms to empty string when building

This commit is contained in:
Joseph Garrone 2024-06-21 02:13:31 +02:00
parent aa9b7cccc7
commit 638e4e6410
2 changed files with 24 additions and 26 deletions

View File

@ -9,6 +9,8 @@ import * as babelParser from "@babel/parser";
import babelGenerate from "@babel/generator"; import babelGenerate from "@babel/generator";
import * as babelTypes from "@babel/types"; import * as babelTypes from "@babel/types";
import { escapeStringForPropertiesFile } from "../../tools/escapeStringForPropertiesFile"; import { escapeStringForPropertiesFile } from "../../tools/escapeStringForPropertiesFile";
import { getThisCodebaseRootDirPath } from "../../tools/getThisCodebaseRootDirPath";
import * as fs from "fs";
export function generateMessageProperties(params: { export function generateMessageProperties(params: {
themeSrcDirPath: string; themeSrcDirPath: string;
@ -39,10 +41,6 @@ export function generateMessageProperties(params: {
readFileSync(file).toString("utf8").includes("createUseI18n") readFileSync(file).toString("utf8").includes("createUseI18n")
); );
if (files.length === 0) {
return [];
}
const extraMessages = files const extraMessages = files
.map(file => { .map(file => {
const root = recast.parse(readFileSync(file).toString("utf8"), { const root = recast.parse(readFileSync(file).toString("utf8"), {
@ -99,15 +97,28 @@ export function generateMessageProperties(params: {
return extraMessages; return extraMessages;
}); });
const languageTags = extraMessages const languageTags = [
.map(extraMessage => Object.keys(extraMessage)) ...extraMessages.map(extraMessage => Object.keys(extraMessage)).flat(),
.flat() ...fs
.reduce(...removeDuplicates<string>()); .readdirSync(
pathJoin(
getThisCodebaseRootDirPath(),
"src",
themeType,
"i18n",
"baseMessages"
)
)
.filter(baseName => baseName !== "index.ts")
.map(baseName => baseName.replace(/\.ts$/, ""))
].reduce(...removeDuplicates<string>());
const keyValueMapByLanguageTag: Record<string, Record<string, string>> = {}; const keyValueMapByLanguageTag: Record<string, Record<string, string>> = {};
for (const languageTag of languageTags) { for (const languageTag of languageTags) {
const keyValueMap: Record<string, string> = {}; const keyValueMap: Record<string, string> = {
termsText: ""
};
for (const extraMessage of extraMessages) { for (const extraMessage of extraMessages) {
const keyValueMap_i = extraMessage[languageTag]; const keyValueMap_i = extraMessage[languageTag];
@ -152,14 +163,9 @@ export function generateMessageProperties(params: {
out.push({ out.push({
languageTag, languageTag,
propertiesFileSource: [ propertiesFileSource: ["", "parent=base", "", propertiesFileSource, ""].join(
"# This file was generated by keycloakify", "\n"
"", )
"parent=base",
"",
propertiesFileSource,
""
].join("\n")
}); });
} }

View File

@ -205,15 +205,7 @@ function createI18nTranslationFunctionsFactory<MessageKey extends string, ExtraM
const messageOrUndefined = (messages_currentLanguage as any)[key] ?? (messages_fallbackLanguage as any)[key]; const messageOrUndefined = (messages_currentLanguage as any)[key] ?? (messages_fallbackLanguage as any)[key];
if (key === "termsText") { if (key === "termsText") {
if (params.messages_currentLanguage === undefined) { return realmMessageBundleTermsText;
return " ";
}
if (realmMessageBundleTermsText !== messageOrUndefined) {
return realmMessageBundleTermsText;
} else {
return "";
}
} }
return messageOrUndefined; return messageOrUndefined;