keycloakify 10.0.0-rc.109 → 10.0.0-rc.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PUBLIC_URL.js +2 -2
- package/PUBLIC_URL.js.map +1 -1
- package/account/KcContext/kcContextMocks.js +3 -3
- package/account/i18n/i18n.js +4 -4
- package/account/i18n/i18n.js.map +1 -1
- package/account/i18n/useI18n.d.ts +1 -1
- package/account/i18n/useI18n.js +2 -2
- package/account/i18n/useI18n.js.map +1 -1
- package/bin/193.index.js +4 -4
- package/bin/31.index.js +31 -31
- package/bin/440.index.js +59 -59
- package/bin/453.index.js +3 -3
- package/bin/526.index.js +5 -5
- package/bin/622.index.js +1 -1
- package/bin/97.index.js +3 -3
- package/bin/shared/buildContext.js.map +1 -1
- package/bin/shared/constants.d.ts +17 -17
- package/bin/shared/constants.js +14 -14
- package/bin/shared/constants.js.map +1 -1
- package/bin/shared/copyKeycloakResourcesToPublic.js.map +1 -1
- package/bin/shared/downloadKeycloakDefaultTheme.js.map +1 -1
- package/login/KcContext/kcContextMocks.js +3 -3
- package/login/i18n/i18n.js +4 -4
- package/login/i18n/i18n.js.map +1 -1
- package/login/i18n/useI18n.d.ts +1 -1
- package/login/i18n/useI18n.js +2 -11
- package/login/i18n/useI18n.js.map +1 -1
- package/package.json +1 -1
- package/src/PUBLIC_URL.ts +2 -2
- package/src/account/KcContext/kcContextMocks.ts +3 -3
- package/src/account/i18n/i18n.tsx +4 -4
- package/src/account/i18n/useI18n.tsx +2 -2
- package/src/bin/add-story.ts +6 -6
- package/src/bin/eject-page.ts +6 -6
- package/src/bin/keycloakify/buildJars/buildJar.ts +23 -22
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +15 -19
- package/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl +386 -375
- package/src/bin/keycloakify/generateResources/bringInAccountV1.ts +7 -7
- package/src/bin/keycloakify/generateResources/generateMessageProperties.ts +2 -2
- package/src/bin/keycloakify/generateResources/generateResourcesForMainTheme.ts +17 -19
- package/src/bin/keycloakify/generateResources/generateResourcesForThemeVariant.ts +2 -2
- package/src/bin/keycloakify/generateResources/readExtraPageNames.ts +4 -4
- package/src/bin/keycloakify/keycloakify.ts +7 -5
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +3 -4
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +6 -6
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +4 -4
- package/src/bin/shared/buildContext.ts +9 -8
- package/src/bin/shared/constants.ts +17 -17
- package/src/bin/shared/copyKeycloakResourcesToPublic.ts +6 -6
- package/src/bin/shared/downloadKeycloakDefaultTheme.ts +2 -2
- package/src/bin/shared/downloadKeycloakStaticResources.ts +2 -2
- package/src/bin/start-keycloak/keycloakifyBuild.ts +2 -2
- package/src/bin/start-keycloak/start-keycloak.ts +5 -5
- package/src/login/KcContext/kcContextMocks.ts +4 -4
- package/src/login/i18n/i18n.tsx +4 -4
- package/src/login/i18n/useI18n.tsx +2 -11
- package/src/vite-plugin/vite-plugin.ts +8 -8
- package/vite-plugin/index.js +42 -42
package/bin/shared/constants.js
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
export const
|
2
|
-
export const
|
3
|
-
export const
|
4
|
-
export const
|
5
|
-
export const
|
6
|
-
export const
|
7
|
-
export const
|
8
|
-
|
9
|
-
|
1
|
+
export const KEYCLOAK_RESOURCES = "keycloak-resources";
|
2
|
+
export const RESOURCES_COMMON = "resources-common";
|
3
|
+
export const LAST_KEYCLOAK_VERSION_WITH_ACCOUNT_V1 = "21.1.2";
|
4
|
+
export const BASENAME_OF_KEYCLOAKIFY_RESOURCES_DIR = "dist";
|
5
|
+
export const THEME_TYPES = ["login", "account"];
|
6
|
+
export const ACCOUNT_V1_THEME_NAME = "account-v1";
|
7
|
+
export const VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES = {
|
8
|
+
RUN_POST_BUILD_SCRIPT: "KEYCLOAKIFY_RUN_POST_BUILD_SCRIPT",
|
9
|
+
RESOLVE_VITE_CONFIG: "KEYCLOAKIFY_RESOLVE_VITE_CONFIG"
|
10
10
|
};
|
11
|
-
export const
|
12
|
-
export const
|
11
|
+
export const BUILD_FOR_KEYCLOAK_MAJOR_VERSION_ENV_NAME = "KEYCLOAKIFY_BUILD_FOR_KEYCLOAK_MAJOR_VERSION";
|
12
|
+
export const LOGIN_THEME_PAGE_IDS = [
|
13
13
|
"login.ftl",
|
14
14
|
"login-username.ftl",
|
15
15
|
"login-password.ftl",
|
@@ -45,7 +45,7 @@ export const loginThemePageIds = [
|
|
45
45
|
"login-x509-info.ftl",
|
46
46
|
"webauthn-error.ftl"
|
47
47
|
];
|
48
|
-
export const
|
48
|
+
export const ACCOUNT_THEME_PAGE_IDS = [
|
49
49
|
"password.ftl",
|
50
50
|
"account.ftl",
|
51
51
|
"sessions.ftl",
|
@@ -54,6 +54,6 @@ export const accountThemePageIds = [
|
|
54
54
|
"log.ftl",
|
55
55
|
"federatedIdentity.ftl"
|
56
56
|
];
|
57
|
-
export const
|
58
|
-
export const
|
57
|
+
export const CONTAINER_NAME = "keycloak-keycloakify";
|
58
|
+
export const FALLBACK_LANGUAGE_TAG = "en";
|
59
59
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bin/shared/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bin/shared/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,qCAAqC,GAAG,QAAQ,CAAC;AAC9D,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,SAAS,CAAU,CAAC;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAIlD,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC7C,qBAAqB,EAAE,mCAAmC;IAC1D,mBAAmB,EAAE,iCAAiC;CAChD,CAAC;AAEX,MAAM,CAAC,MAAM,yCAAyC,GAClD,8CAA8C,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,uBAAuB;IACvB,cAAc;IACd,UAAU;IACV,WAAW;IACX,0BAA0B;IAC1B,wBAAwB;IACxB,WAAW;IACX,0CAA0C;IAC1C,uBAAuB;IACvB,eAAe;IACf,0BAA0B;IAC1B,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,6BAA6B;IAC7B,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;IACpB,uBAAuB;IACvB,UAAU;IACV,4BAA4B;IAC5B,yBAAyB;IACzB,sCAAsC;IACtC,qCAAqC;IACrC,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,cAAc;IACd,aAAa;IACb,cAAc;IACd,UAAU;IACV,kBAAkB;IAClB,SAAS;IACT,uBAAuB;CACjB,CAAC;AAKX,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"copyKeycloakResourcesToPublic.js","sourceRoot":"","sources":["../../src/bin/shared/copyKeycloakResourcesToPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAElC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EACH,
|
1
|
+
{"version":3,"file":"copyKeycloakResourcesToPublic.js","sourceRoot":"","sources":["../../src/bin/shared/copyKeycloakResourcesToPublic.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAElC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,qCAAqC,EACxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQ5C,MAAM,EAAwD,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,MAEnD;IACG,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAE7E,MAAM,4BAA4B,GAAG,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;IAEpF,MAAM,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAC1C;QACI,WAAW;QACX,kBAAkB,EAAE,yBAAyB,EAAE;QAC/C,YAAY,EAAE;YACV,sCAAsC,EAAE,yBAAyB,EAAE;YACnE,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC;YAClE,YAAY,EAAE,YAAY,CAAC,YAAY;SAC1C;KACJ,EACD,IAAI,EACJ,CAAC,CACJ,CAAC;IAEF,oBAAoB,EAAE;QAClB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE;YAC9C,MAAM,oBAAoB,CAAC;SAC9B;QAED,MAAM,mCAAmC,GAAG,EAAE;aACzC,YAAY,CAAC,4BAA4B,CAAC;aAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEtB,IAAI,mCAAmC,KAAK,uBAAuB,EAAE;YACjE,MAAM,oBAAoB,CAAC;SAC9B;QAED,OAAO;KACV;IAED,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhF,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;QACjC,MAAM,+BAA+B,CAAC;YAClC,eAAe,EAAE,CAAC,GAAG,EAAE;gBACnB,QAAQ,SAAS,EAAE;oBACf,KAAK,OAAO;wBACR,OAAO,YAAY,CAAC,sCAAsC,CAAC;oBAC/D,KAAK,SAAS;wBACV,OAAO,qCAAqC,CAAC;iBACpD;YACL,CAAC,CAAC,EAAE;YACJ,SAAS;YACT,YAAY,EAAE,WAAW;YACzB,YAAY;SACf,CAAC,CAAC;KACN;IAED,EAAE,CAAC,aAAa,CACZ,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,EACnC,MAAM,CAAC,IAAI;IACP,kBAAkB;IAClB;QACI,+CAA+C;QAC/C,0EAA0E;QAC1E,qEAAqE;KACxE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CACJ,CAAC;IAEF,EAAE,CAAC,aAAa,CACZ,4BAA4B,EAC5B,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAC/C,CAAC;AACN,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"downloadKeycloakDefaultTheme.js","sourceRoot":"","sources":["../../src/bin/shared/downloadKeycloakDefaultTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"downloadKeycloakDefaultTheme.js","sourceRoot":"","sources":["../../src/bin/shared/downloadKeycloakDefaultTheme.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import "../../tools/Object.fromEntries";
|
2
|
-
import {
|
2
|
+
import { RESOURCES_COMMON, KEYCLOAK_RESOURCES } from "../../bin/shared/constants";
|
3
3
|
import { id } from "tsafe/id";
|
4
4
|
import { assert } from "tsafe/assert";
|
5
5
|
import { BASE_URL } from "../../lib/BASE_URL";
|
@@ -67,7 +67,7 @@ const attributesByName = Object.fromEntries(id([
|
|
67
67
|
name: "lastName"
|
68
68
|
}
|
69
69
|
]).map(attribute => [attribute.name, attribute]));
|
70
|
-
const resourcesPath = `${BASE_URL}${
|
70
|
+
const resourcesPath = `${BASE_URL}${KEYCLOAK_RESOURCES}/login/resources`;
|
71
71
|
export const kcContextCommonMock = {
|
72
72
|
themeVersion: "0.0.0",
|
73
73
|
keycloakifyVersion: "0.0.0",
|
@@ -76,7 +76,7 @@ export const kcContextCommonMock = {
|
|
76
76
|
url: {
|
77
77
|
loginAction: "#",
|
78
78
|
resourcesPath,
|
79
|
-
resourcesCommonPath: `${resourcesPath}/${
|
79
|
+
resourcesCommonPath: `${resourcesPath}/${RESOURCES_COMMON}`,
|
80
80
|
loginRestartFlowUrl: "#",
|
81
81
|
loginUrl: "#",
|
82
82
|
ssoLoginInOtherTabsUrl: "#"
|
package/login/i18n/i18n.js
CHANGED
@@ -2,7 +2,7 @@ import "../../tools/Object.fromEntries";
|
|
2
2
|
import { assert } from "tsafe/assert";
|
3
3
|
import messages_defaultSet_fallbackLanguage from "./messages_defaultSet/en";
|
4
4
|
import { fetchMessages_defaultSet } from "./messages_defaultSet";
|
5
|
-
import {
|
5
|
+
import { FALLBACK_LANGUAGE_TAG } from "../../bin/shared/constants";
|
6
6
|
import { id } from "tsafe/id";
|
7
7
|
assert();
|
8
8
|
export function createGetI18n(messagesByLanguageTag_themeDefined) {
|
@@ -18,7 +18,7 @@ export function createGetI18n(messagesByLanguageTag_themeDefined) {
|
|
18
18
|
return cachedResult;
|
19
19
|
}
|
20
20
|
const partialI18n = {
|
21
|
-
currentLanguageTag: (_b = (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.currentLanguageTag) !== null && _b !== void 0 ? _b :
|
21
|
+
currentLanguageTag: (_b = (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.currentLanguageTag) !== null && _b !== void 0 ? _b : FALLBACK_LANGUAGE_TAG,
|
22
22
|
getChangeLocaleUrl: newLanguageTag => {
|
23
23
|
const { locale } = kcContext;
|
24
24
|
assert(locale !== undefined, "Internationalization not enabled");
|
@@ -29,7 +29,7 @@ export function createGetI18n(messagesByLanguageTag_themeDefined) {
|
|
29
29
|
labelBySupportedLanguageTag: Object.fromEntries(((_d = (_c = kcContext.locale) === null || _c === void 0 ? void 0 : _c.supported) !== null && _d !== void 0 ? _d : []).map(({ languageTag, label }) => [languageTag, label]))
|
30
30
|
};
|
31
31
|
const { createI18nTranslationFunctions } = createI18nTranslationFunctionsFactory({
|
32
|
-
messages_themeDefined: (_f = (_e = messagesByLanguageTag_themeDefined[partialI18n.currentLanguageTag]) !== null && _e !== void 0 ? _e : messagesByLanguageTag_themeDefined[
|
32
|
+
messages_themeDefined: (_f = (_e = messagesByLanguageTag_themeDefined[partialI18n.currentLanguageTag]) !== null && _e !== void 0 ? _e : messagesByLanguageTag_themeDefined[FALLBACK_LANGUAGE_TAG]) !== null && _f !== void 0 ? _f : (() => {
|
33
33
|
const firstLanguageTag = Object.keys(messagesByLanguageTag_themeDefined)[0];
|
34
34
|
if (firstLanguageTag === undefined) {
|
35
35
|
return undefined;
|
@@ -38,7 +38,7 @@ export function createGetI18n(messagesByLanguageTag_themeDefined) {
|
|
38
38
|
})(),
|
39
39
|
messages_fromKcServer: kcContext["x-keycloakify"].messages
|
40
40
|
});
|
41
|
-
const isCurrentLanguageFallbackLanguage = partialI18n.currentLanguageTag ===
|
41
|
+
const isCurrentLanguageFallbackLanguage = partialI18n.currentLanguageTag === FALLBACK_LANGUAGE_TAG;
|
42
42
|
const result = {
|
43
43
|
i18n: Object.assign(Object.assign(Object.assign({}, partialI18n), createI18nTranslationFunctions({
|
44
44
|
messages_defaultSet_currentLanguage: isCurrentLanguageFallbackLanguage ? messages_defaultSet_fallbackLanguage : undefined
|
package/login/i18n/i18n.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/login/i18n/i18n.tsx"],"names":[],"mappings":"AAAA,OAAO,sCAAsC,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,oCAAoC,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/login/i18n/i18n.tsx"],"names":[],"mappings":"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"}
|
package/login/i18n/useI18n.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { type KcContextLike } from "./i18n";
|
2
2
|
import { GenericI18n } from "./GenericI18n";
|
3
|
-
export declare function createUseI18n<MessageKey_themeDefined extends string = never>(
|
3
|
+
export declare function createUseI18n<MessageKey_themeDefined extends string = never>(messagesByLanguageTag: {
|
4
4
|
[languageTag: string]: {
|
5
5
|
[key in MessageKey_themeDefined]: string;
|
6
6
|
};
|
package/login/i18n/useI18n.js
CHANGED
@@ -2,22 +2,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from "react";
|
3
3
|
import { createGetI18n } from "./i18n";
|
4
4
|
import { Reflect } from "tsafe/Reflect";
|
5
|
-
export function createUseI18n(
|
5
|
+
export function createUseI18n(messagesByLanguageTag) {
|
6
6
|
const { withJsx } = (() => {
|
7
7
|
const cache = new WeakMap();
|
8
8
|
function renderHtmlString(htmlString) {
|
9
9
|
return (_jsx("div", { style: { display: "inline-block" }, dangerouslySetInnerHTML: {
|
10
10
|
__html: htmlString
|
11
11
|
} }));
|
12
|
-
/*
|
13
|
-
return (
|
14
|
-
<span
|
15
|
-
dangerouslySetInnerHTML={{
|
16
|
-
"__html": htmlString
|
17
|
-
}}
|
18
|
-
/>
|
19
|
-
);
|
20
|
-
*/
|
21
12
|
}
|
22
13
|
function withJsx(i18n_noJsx) {
|
23
14
|
use_cache: {
|
@@ -33,7 +24,7 @@ export function createUseI18n(messageBundle) {
|
|
33
24
|
}
|
34
25
|
return { withJsx };
|
35
26
|
})();
|
36
|
-
const { getI18n } = createGetI18n(
|
27
|
+
const { getI18n } = createGetI18n(messagesByLanguageTag);
|
37
28
|
function useI18n(params) {
|
38
29
|
const { kcContext } = params;
|
39
30
|
const { i18n, prI18n_currentLanguage } = getI18n({ kcContext });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useI18n.js","sourceRoot":"","sources":["../../src/login/i18n/useI18n.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA0E,MAAM,QAAQ,CAAC;AAE/G,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,aAAa,CAAiD,
|
1
|
+
{"version":3,"file":"useI18n.js","sourceRoot":"","sources":["../../src/login/i18n/useI18n.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA0E,MAAM,QAAQ,CAAC;AAE/G,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,aAAa,CAAiD,qBAE7E;IAKG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,IAAI,OAAO,EAA0D,CAAC;QAEpF,SAAS,gBAAgB,CAAC,UAAkB;YACxC,OAAO,CACH,cACI,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAClC,uBAAuB,EAAE;oBACrB,MAAM,EAAE,UAAU;iBACrB,GACH,CACL,CAAC;QACN,CAAC;QAED,SAAS,OAAO,CAAC,UAAyC;YACtD,SAAS,EAAE;gBACP,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAEnC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACpB,MAAM,SAAS,CAAC;iBACnB;gBAED,OAAO,IAAI,CAAC;aACf;YAED,MAAM,IAAI,mCACH,UAAU,KACb,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAC9D,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,GACjF,CAAC;YAEF,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAE5B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAEzD,SAAS,OAAO,CAAC,MAAoC;QACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAEhE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,SAAS,CAAC,GAAG,EAAE;YACX,IAAI,QAAQ,GAAG,IAAI,CAAC;YAEpB,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,CAAC,QAAQ,EAAE;oBACX,OAAO;iBACV;gBAED,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,EAAE;gBACR,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC,CAAC;QACN,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAQ,EAAE,CAAC;AACpD,CAAC"}
|
package/package.json
CHANGED
package/src/PUBLIC_URL.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { BASENAME_OF_KEYCLOAKIFY_RESOURCES_DIR } from "keycloakify/bin/shared/constants";
|
2
2
|
import { assert } from "tsafe/assert";
|
3
3
|
|
4
4
|
/**
|
@@ -17,5 +17,5 @@ export const PUBLIC_URL = (() => {
|
|
17
17
|
return process.env.PUBLIC_URL;
|
18
18
|
}
|
19
19
|
|
20
|
-
return `${kcContext.url.resourcesPath}/${
|
20
|
+
return `${kcContext.url.resourcesPath}/${BASENAME_OF_KEYCLOAKIFY_RESOURCES_DIR}`;
|
21
21
|
})();
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import "keycloakify/tools/Object.fromEntries";
|
2
|
-
import {
|
2
|
+
import { RESOURCES_COMMON, KEYCLOAK_RESOURCES } from "keycloakify/bin/shared/constants";
|
3
3
|
import { id } from "tsafe/id";
|
4
4
|
import type { KcContext } from "./KcContext";
|
5
5
|
import { BASE_URL } from "keycloakify/lib/BASE_URL";
|
6
6
|
|
7
|
-
const resourcesPath = `${BASE_URL}${
|
7
|
+
const resourcesPath = `${BASE_URL}${KEYCLOAK_RESOURCES}/account/resources`;
|
8
8
|
|
9
9
|
export const kcContextCommonMock: KcContext.Common = {
|
10
10
|
themeVersion: "0.0.0",
|
@@ -13,7 +13,7 @@ export const kcContextCommonMock: KcContext.Common = {
|
|
13
13
|
themeName: "my-theme-name",
|
14
14
|
url: {
|
15
15
|
resourcesPath,
|
16
|
-
resourcesCommonPath: `${resourcesPath}/${
|
16
|
+
resourcesCommonPath: `${resourcesPath}/${RESOURCES_COMMON}`,
|
17
17
|
resourceUrl: "#",
|
18
18
|
accountUrl: "#",
|
19
19
|
applicationsUrl: "#",
|
@@ -3,7 +3,7 @@ import { assert } from "tsafe/assert";
|
|
3
3
|
import messages_defaultSet_fallbackLanguage from "./messages_defaultSet/en";
|
4
4
|
import { fetchMessages_defaultSet } from "./messages_defaultSet";
|
5
5
|
import type { KcContext } from "../KcContext";
|
6
|
-
import {
|
6
|
+
import { FALLBACK_LANGUAGE_TAG } from "keycloakify/bin/shared/constants";
|
7
7
|
import { id } from "tsafe/id";
|
8
8
|
|
9
9
|
export type KcContextLike = {
|
@@ -104,7 +104,7 @@ export function createGetI18n<MessageKey_themeDefined extends string = never>(me
|
|
104
104
|
}
|
105
105
|
|
106
106
|
const partialI18n: Pick<I18n, "currentLanguageTag" | "getChangeLocaleUrl" | "labelBySupportedLanguageTag"> = {
|
107
|
-
currentLanguageTag: kcContext.locale?.currentLanguageTag ??
|
107
|
+
currentLanguageTag: kcContext.locale?.currentLanguageTag ?? FALLBACK_LANGUAGE_TAG,
|
108
108
|
getChangeLocaleUrl: newLanguageTag => {
|
109
109
|
const { locale } = kcContext;
|
110
110
|
|
@@ -122,7 +122,7 @@ export function createGetI18n<MessageKey_themeDefined extends string = never>(me
|
|
122
122
|
const { createI18nTranslationFunctions } = createI18nTranslationFunctionsFactory<MessageKey_themeDefined>({
|
123
123
|
messages_themeDefined:
|
124
124
|
messagesByLanguageTag_themeDefined[partialI18n.currentLanguageTag] ??
|
125
|
-
messagesByLanguageTag_themeDefined[
|
125
|
+
messagesByLanguageTag_themeDefined[FALLBACK_LANGUAGE_TAG] ??
|
126
126
|
(() => {
|
127
127
|
const firstLanguageTag = Object.keys(messagesByLanguageTag_themeDefined)[0];
|
128
128
|
if (firstLanguageTag === undefined) {
|
@@ -133,7 +133,7 @@ export function createGetI18n<MessageKey_themeDefined extends string = never>(me
|
|
133
133
|
messages_fromKcServer: kcContext["x-keycloakify"].messages
|
134
134
|
});
|
135
135
|
|
136
|
-
const isCurrentLanguageFallbackLanguage = partialI18n.currentLanguageTag ===
|
136
|
+
const isCurrentLanguageFallbackLanguage = partialI18n.currentLanguageTag === FALLBACK_LANGUAGE_TAG;
|
137
137
|
|
138
138
|
const result: Result = {
|
139
139
|
i18n: {
|
@@ -3,7 +3,7 @@ import { createGetI18n, type GenericI18n_noJsx, type KcContextLike, type Message
|
|
3
3
|
import { GenericI18n } from "./GenericI18n";
|
4
4
|
import { Reflect } from "tsafe/Reflect";
|
5
5
|
|
6
|
-
export function createUseI18n<MessageKey_themeDefined extends string = never>(
|
6
|
+
export function createUseI18n<MessageKey_themeDefined extends string = never>(messagesByLanguageTag: {
|
7
7
|
[languageTag: string]: { [key in MessageKey_themeDefined]: string };
|
8
8
|
}) {
|
9
9
|
type MessageKey = MessageKey_defaultSet | MessageKey_themeDefined;
|
@@ -49,7 +49,7 @@ export function createUseI18n<MessageKey_themeDefined extends string = never>(me
|
|
49
49
|
return { withJsx };
|
50
50
|
})();
|
51
51
|
|
52
|
-
const { getI18n } = createGetI18n(
|
52
|
+
const { getI18n } = createGetI18n(messagesByLanguageTag);
|
53
53
|
|
54
54
|
function useI18n(params: { kcContext: KcContextLike }): { i18n: I18n } {
|
55
55
|
const { kcContext } = params;
|
package/src/bin/add-story.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import { getThisCodebaseRootDirPath } from "./tools/getThisCodebaseRootDirPath";
|
2
2
|
import cliSelect from "cli-select";
|
3
3
|
import {
|
4
|
-
|
5
|
-
|
4
|
+
LOGIN_THEME_PAGE_IDS,
|
5
|
+
ACCOUNT_THEME_PAGE_IDS,
|
6
6
|
type LoginThemePageId,
|
7
7
|
type AccountThemePageId,
|
8
|
-
|
8
|
+
THEME_TYPES,
|
9
9
|
type ThemeType
|
10
10
|
} from "./shared/constants";
|
11
11
|
import { capitalize } from "tsafe/capitalize";
|
@@ -27,7 +27,7 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
|
|
27
27
|
console.log(chalk.cyan("Theme type:"));
|
28
28
|
|
29
29
|
const { value: themeType } = await cliSelect<ThemeType>({
|
30
|
-
values: [...
|
30
|
+
values: [...THEME_TYPES]
|
31
31
|
}).catch(() => {
|
32
32
|
process.exit(-1);
|
33
33
|
});
|
@@ -40,9 +40,9 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
|
|
40
40
|
values: (() => {
|
41
41
|
switch (themeType) {
|
42
42
|
case "login":
|
43
|
-
return [...
|
43
|
+
return [...LOGIN_THEME_PAGE_IDS];
|
44
44
|
case "account":
|
45
|
-
return [...
|
45
|
+
return [...ACCOUNT_THEME_PAGE_IDS];
|
46
46
|
}
|
47
47
|
assert<Equals<typeof themeType, never>>(false);
|
48
48
|
})()
|
package/src/bin/eject-page.ts
CHANGED
@@ -3,11 +3,11 @@
|
|
3
3
|
import { getThisCodebaseRootDirPath } from "./tools/getThisCodebaseRootDirPath";
|
4
4
|
import cliSelect from "cli-select";
|
5
5
|
import {
|
6
|
-
|
7
|
-
|
6
|
+
LOGIN_THEME_PAGE_IDS,
|
7
|
+
ACCOUNT_THEME_PAGE_IDS,
|
8
8
|
type LoginThemePageId,
|
9
9
|
type AccountThemePageId,
|
10
|
-
|
10
|
+
THEME_TYPES,
|
11
11
|
type ThemeType
|
12
12
|
} from "./shared/constants";
|
13
13
|
import { capitalize } from "tsafe/capitalize";
|
@@ -29,7 +29,7 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
|
|
29
29
|
console.log(chalk.cyan("Theme type:"));
|
30
30
|
|
31
31
|
const { value: themeType } = await cliSelect<ThemeType>({
|
32
|
-
values: [...
|
32
|
+
values: [...THEME_TYPES]
|
33
33
|
}).catch(() => {
|
34
34
|
process.exit(-1);
|
35
35
|
});
|
@@ -54,10 +54,10 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
|
|
54
54
|
return [
|
55
55
|
templateValue,
|
56
56
|
userProfileFormFieldsValue,
|
57
|
-
...
|
57
|
+
...LOGIN_THEME_PAGE_IDS
|
58
58
|
];
|
59
59
|
case "account":
|
60
|
-
return [templateValue, ...
|
60
|
+
return [templateValue, ...ACCOUNT_THEME_PAGE_IDS];
|
61
61
|
}
|
62
62
|
assert<Equals<typeof themeType, never>>(false);
|
63
63
|
})()
|
@@ -7,7 +7,7 @@ import { join as pathJoin, dirname as pathDirname } from "path";
|
|
7
7
|
import { transformCodebase } from "../../tools/transformCodebase";
|
8
8
|
import type { BuildContext } from "../../shared/buildContext";
|
9
9
|
import * as fs from "fs/promises";
|
10
|
-
import {
|
10
|
+
import { ACCOUNT_V1_THEME_NAME } from "../../shared/constants";
|
11
11
|
import {
|
12
12
|
generatePom,
|
13
13
|
BuildContextLike as BuildContextLike_generatePom
|
@@ -24,6 +24,7 @@ export type BuildContextLike = BuildContextLike_generatePom & {
|
|
24
24
|
artifactId: string;
|
25
25
|
themeVersion: string;
|
26
26
|
cacheDirPath: string;
|
27
|
+
recordIsImplementedByThemeType: BuildContext["recordIsImplementedByThemeType"];
|
27
28
|
};
|
28
29
|
|
29
30
|
assert<BuildContext extends BuildContextLike ? true : false>();
|
@@ -45,20 +46,21 @@ export async function buildJar(params: {
|
|
45
46
|
buildContext
|
46
47
|
} = params;
|
47
48
|
|
48
|
-
const
|
49
|
+
const keycloakifyBuildCacheDirPath = pathJoin(
|
49
50
|
buildContext.cacheDirPath,
|
51
|
+
"maven",
|
50
52
|
jarFileBasename.replace(".jar", "")
|
51
53
|
);
|
52
54
|
|
53
|
-
rmSync(keycloakifyBuildTmpDirPath, { recursive: true, force: true });
|
54
|
-
|
55
55
|
const tmpResourcesDirPath = pathJoin(
|
56
|
-
|
56
|
+
keycloakifyBuildCacheDirPath,
|
57
57
|
"src",
|
58
58
|
"main",
|
59
59
|
"resources"
|
60
60
|
);
|
61
61
|
|
62
|
+
rmSync(tmpResourcesDirPath, { recursive: true, force: true });
|
63
|
+
|
62
64
|
transformCodebase({
|
63
65
|
srcDirPath: resourcesDirPath,
|
64
66
|
destDirPath: tmpResourcesDirPath,
|
@@ -73,7 +75,7 @@ export async function buildJar(params: {
|
|
73
75
|
|
74
76
|
if (
|
75
77
|
isInside({
|
76
|
-
dirPath: pathJoin("theme",
|
78
|
+
dirPath: pathJoin("theme", ACCOUNT_V1_THEME_NAME),
|
77
79
|
filePath: fileRelativePath
|
78
80
|
})
|
79
81
|
) {
|
@@ -89,7 +91,7 @@ export async function buildJar(params: {
|
|
89
91
|
sourceCode
|
90
92
|
.toString("utf8")
|
91
93
|
.replace(
|
92
|
-
`parent=${
|
94
|
+
`parent=${ACCOUNT_V1_THEME_NAME}`,
|
93
95
|
"parent=keycloak"
|
94
96
|
),
|
95
97
|
"utf8"
|
@@ -124,7 +126,7 @@ export async function buildJar(params: {
|
|
124
126
|
assert(metaInfKeycloakTheme !== undefined);
|
125
127
|
|
126
128
|
metaInfKeycloakTheme.themes = metaInfKeycloakTheme.themes.filter(
|
127
|
-
({ name }) => name !==
|
129
|
+
({ name }) => name !== ACCOUNT_V1_THEME_NAME
|
128
130
|
);
|
129
131
|
|
130
132
|
return metaInfKeycloakTheme;
|
@@ -133,6 +135,10 @@ export async function buildJar(params: {
|
|
133
135
|
}
|
134
136
|
|
135
137
|
route_legacy_pages: {
|
138
|
+
if (!buildContext.recordIsImplementedByThemeType.login) {
|
139
|
+
break route_legacy_pages;
|
140
|
+
}
|
141
|
+
|
136
142
|
// NOTE: If there's no account theme there is no special target for keycloak 24 and up so we create
|
137
143
|
// the pages anyway. If there is an account pages, since we know that account-v1 is only support keycloak
|
138
144
|
// 24 in version 0.4 and up, we can safely break the route for legacy pages.
|
@@ -155,10 +161,7 @@ export async function buildJar(params: {
|
|
155
161
|
(["register.ftl", "login-update-profile.ftl"] as const).forEach(pageId =>
|
156
162
|
buildContext.themeNames.map(themeName => {
|
157
163
|
const ftlFilePath = pathJoin(
|
158
|
-
|
159
|
-
"src",
|
160
|
-
"main",
|
161
|
-
"resources",
|
164
|
+
tmpResourcesDirPath,
|
162
165
|
"theme",
|
163
166
|
themeName,
|
164
167
|
"login",
|
@@ -167,7 +170,7 @@ export async function buildJar(params: {
|
|
167
170
|
|
168
171
|
const ftlFileContent = readFileSync(ftlFilePath).toString("utf8");
|
169
172
|
|
170
|
-
const
|
173
|
+
const ftlFileBasename = (() => {
|
171
174
|
switch (pageId) {
|
172
175
|
case "register.ftl":
|
173
176
|
return "register-user-profile.ftl";
|
@@ -178,14 +181,14 @@ export async function buildJar(params: {
|
|
178
181
|
})();
|
179
182
|
|
180
183
|
const modifiedFtlFileContent = ftlFileContent.replace(
|
181
|
-
`
|
182
|
-
`
|
184
|
+
`"ftlTemplateFileName": "${pageId}"`,
|
185
|
+
`"ftlTemplateFileName": "${ftlFileBasename}"`
|
183
186
|
);
|
184
187
|
|
185
188
|
assert(modifiedFtlFileContent !== ftlFileContent);
|
186
189
|
|
187
190
|
fs.writeFile(
|
188
|
-
pathJoin(pathDirname(ftlFilePath),
|
191
|
+
pathJoin(pathDirname(ftlFilePath), ftlFileBasename),
|
189
192
|
Buffer.from(modifiedFtlFileContent, "utf8")
|
190
193
|
);
|
191
194
|
})
|
@@ -200,15 +203,15 @@ export async function buildJar(params: {
|
|
200
203
|
});
|
201
204
|
|
202
205
|
await fs.writeFile(
|
203
|
-
pathJoin(
|
206
|
+
pathJoin(keycloakifyBuildCacheDirPath, "pom.xml"),
|
204
207
|
Buffer.from(pomFileCode, "utf8")
|
205
208
|
);
|
206
209
|
}
|
207
210
|
|
208
211
|
await new Promise<void>((resolve, reject) =>
|
209
212
|
child_process.exec(
|
210
|
-
`mvn
|
211
|
-
{ cwd:
|
213
|
+
`mvn install -Dmaven.repo.local="${pathJoin(keycloakifyBuildCacheDirPath, ".m2")}"`,
|
214
|
+
{ cwd: keycloakifyBuildCacheDirPath },
|
212
215
|
error => {
|
213
216
|
if (error !== null) {
|
214
217
|
console.error(
|
@@ -233,12 +236,10 @@ export async function buildJar(params: {
|
|
233
236
|
|
234
237
|
await fs.rename(
|
235
238
|
pathJoin(
|
236
|
-
|
239
|
+
keycloakifyBuildCacheDirPath,
|
237
240
|
"target",
|
238
241
|
`${buildContext.artifactId}-${buildContext.themeVersion}.jar`
|
239
242
|
),
|
240
243
|
pathJoin(buildContext.keycloakifyBuildDirPath, jarFileBasename)
|
241
244
|
);
|
242
|
-
|
243
|
-
rmSync(keycloakifyBuildTmpDirPath, { recursive: true });
|
244
245
|
}
|
@@ -13,8 +13,8 @@ import type { BuildContext } from "../../shared/buildContext";
|
|
13
13
|
import { assert } from "tsafe/assert";
|
14
14
|
import {
|
15
15
|
type ThemeType,
|
16
|
-
|
17
|
-
|
16
|
+
BASENAME_OF_KEYCLOAKIFY_RESOURCES_DIR,
|
17
|
+
RESOURCES_COMMON
|
18
18
|
} from "../../shared/constants";
|
19
19
|
import { getThisCodebaseRootDirPath } from "../../tools/getThisCodebaseRootDirPath";
|
20
20
|
|
@@ -34,7 +34,6 @@ export function generateFtlFilesCodeFactory(params: {
|
|
34
34
|
keycloakifyVersion: string;
|
35
35
|
themeType: ThemeType;
|
36
36
|
fieldNames: string[];
|
37
|
-
isAccountV3: boolean;
|
38
37
|
}) {
|
39
38
|
const {
|
40
39
|
themeName,
|
@@ -42,8 +41,7 @@ export function generateFtlFilesCodeFactory(params: {
|
|
42
41
|
buildContext,
|
43
42
|
keycloakifyVersion,
|
44
43
|
themeType,
|
45
|
-
fieldNames
|
46
|
-
isAccountV3
|
44
|
+
fieldNames
|
47
45
|
} = params;
|
48
46
|
|
49
47
|
const $ = cheerio.load(indexHtmlCode);
|
@@ -70,8 +68,7 @@ export function generateFtlFilesCodeFactory(params: {
|
|
70
68
|
const { fixedCssCode } = replaceImportsInCssCode({
|
71
69
|
cssCode,
|
72
70
|
cssFileRelativeDirPath: undefined,
|
73
|
-
buildContext
|
74
|
-
isAccountV3
|
71
|
+
buildContext
|
75
72
|
});
|
76
73
|
|
77
74
|
$(element).text(fixedCssCode);
|
@@ -96,7 +93,7 @@ export function generateFtlFilesCodeFactory(params: {
|
|
96
93
|
new RegExp(
|
97
94
|
`^${(buildContext.urlPathname ?? "/").replace(/\//g, "\\/")}`
|
98
95
|
),
|
99
|
-
`\${
|
96
|
+
`\${xKeycloakify.resourcesPath}/${BASENAME_OF_KEYCLOAKIFY_RESOURCES_DIR}/`
|
100
97
|
)
|
101
98
|
);
|
102
99
|
})
|
@@ -116,19 +113,17 @@ export function generateFtlFilesCodeFactory(params: {
|
|
116
113
|
)
|
117
114
|
)
|
118
115
|
.toString("utf8")
|
116
|
+
.replace("{{themeType}}", themeType)
|
117
|
+
.replace("{{themeName}}", themeName)
|
118
|
+
.replace("{{keycloakifyVersion}}", keycloakifyVersion)
|
119
|
+
.replace("{{themeVersion}}", buildContext.themeVersion)
|
120
|
+
.replace("{{fieldNames}}", fieldNames.map(name => `"${name}"`).join(", "))
|
121
|
+
.replace("{{RESOURCES_COMMON}}", RESOURCES_COMMON)
|
119
122
|
.replace(
|
120
|
-
"
|
121
|
-
fieldNames.map(name => `"${name}"`).join(", ")
|
122
|
-
)
|
123
|
-
.replace("KEYCLOAKIFY_VERSION_xEdKd3xEdr", keycloakifyVersion)
|
124
|
-
.replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildContext.themeVersion)
|
125
|
-
.replace("KEYCLOAKIFY_THEME_TYPE_dExKd3xEdr", themeType)
|
126
|
-
.replace("KEYCLOAKIFY_THEME_NAME_cXxKd3xEer", themeName)
|
127
|
-
.replace("RESOURCES_COMMON_cLsLsMrtDkpVv", resources_common)
|
128
|
-
.replace(
|
129
|
-
"USER_DEFINED_EXCLUSIONS_eKsaY4ZsZ4eMr2",
|
123
|
+
"{{userDefinedExclusions}}",
|
130
124
|
buildContext.kcContextExclusionsFtlCode ?? ""
|
131
125
|
);
|
126
|
+
|
132
127
|
const ftlObjectToJsCodeDeclaringAnObjectPlaceholder =
|
133
128
|
'{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }';
|
134
129
|
|
@@ -173,7 +168,8 @@ export function generateFtlFilesCodeFactory(params: {
|
|
173
168
|
Object.entries({
|
174
169
|
[ftlObjectToJsCodeDeclaringAnObjectPlaceholder]:
|
175
170
|
kcContextDeclarationTemplateFtl,
|
176
|
-
|
171
|
+
"{{pageId}}": pageId,
|
172
|
+
"{{ftlTemplateFileName}}": pageId
|
177
173
|
}).map(
|
178
174
|
([searchValue, replaceValue]) =>
|
179
175
|
(ftlCode = ftlCode.replace(searchValue, replaceValue))
|