diff --git a/.gitignore b/.gitignore index 687df547..163c614e 100644 --- a/.gitignore +++ b/.gitignore @@ -49,7 +49,7 @@ jspm_packages .idea /src/login/i18n/messages_defaultSet/ -/src/account/i18n/messages_defaultSet/ +/src/account/i18n/ # VS Code devcontainers .devcontainer diff --git a/scripts/generate-i18n-messages.ts b/scripts/generate-i18n-messages.ts index 38d5d020..4a38408a 100644 --- a/scripts/generate-i18n-messages.ts +++ b/scripts/generate-i18n-messages.ts @@ -23,6 +23,17 @@ if (require.main === module) { async function generateI18nMessages() { const thisCodebaseRootDirPath = getThisCodebaseRootDirPath(); + const accountI18nDirPath = pathJoin( + thisCodebaseRootDirPath, + "src", + "account", + "i18n" + ); + + if (fs.existsSync(accountI18nDirPath)) { + fs.rmSync(accountI18nDirPath, { recursive: true }); + } + type Dictionary = { [idiomId: string]: string }; const record: { [themeType: string]: { [language: string]: Dictionary } } = {}; @@ -140,6 +151,10 @@ async function generateI18nMessages() { "messages_defaultSet" ); + if (!fs.existsSync(messagesDirPath)) { + fs.mkdirSync(messagesDirPath, { recursive: true }); + } + fs.writeFileSync( pathJoin(messagesDirPath, "types.ts"), Buffer.from( @@ -219,6 +234,18 @@ async function generateI18nMessages() { ) ); } + + transformCodebase({ + srcDirPath: pathJoin(thisCodebaseRootDirPath, "src", "login", "i18n"), + destDirPath: accountI18nDirPath, + transformSourceCode: ({ fileRelativePath, sourceCode }) => { + if (fileRelativePath.startsWith("messages_defaultSet")) { + return undefined; + } + + return { modifiedSourceCode: sourceCode }; + } + }); } const keycloakifyExtraMessages_login: Record< diff --git a/src/login/i18n/noJsx/i18nInitializer.ts b/src/login/i18n/noJsx/i18nInitializer.ts index 3c0f4a19..89b58f12 100644 --- a/src/login/i18n/noJsx/i18nInitializer.ts +++ b/src/login/i18n/noJsx/i18nInitializer.ts @@ -1,7 +1,7 @@ import type { LanguageTag as LanguageTag_defaultSet, MessageKey as MessageKey_defaultSet -} from "keycloakify/login/i18n/messages_defaultSet/types"; +} from "../messages_defaultSet/types"; import { type ReturnTypeOfCreateGetI18n, createGetI18n } from "./getI18n"; export type I18nInitializer<