keycloakify 10.0.0-rc.110 → 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 +52 -51
- 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 +13 -8
- 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
@@ -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>();
|
@@ -74,7 +75,7 @@ export async function buildJar(params: {
|
|
74
75
|
|
75
76
|
if (
|
76
77
|
isInside({
|
77
|
-
dirPath: pathJoin("theme",
|
78
|
+
dirPath: pathJoin("theme", ACCOUNT_V1_THEME_NAME),
|
78
79
|
filePath: fileRelativePath
|
79
80
|
})
|
80
81
|
) {
|
@@ -90,7 +91,7 @@ export async function buildJar(params: {
|
|
90
91
|
sourceCode
|
91
92
|
.toString("utf8")
|
92
93
|
.replace(
|
93
|
-
`parent=${
|
94
|
+
`parent=${ACCOUNT_V1_THEME_NAME}`,
|
94
95
|
"parent=keycloak"
|
95
96
|
),
|
96
97
|
"utf8"
|
@@ -125,7 +126,7 @@ export async function buildJar(params: {
|
|
125
126
|
assert(metaInfKeycloakTheme !== undefined);
|
126
127
|
|
127
128
|
metaInfKeycloakTheme.themes = metaInfKeycloakTheme.themes.filter(
|
128
|
-
({ name }) => name !==
|
129
|
+
({ name }) => name !== ACCOUNT_V1_THEME_NAME
|
129
130
|
);
|
130
131
|
|
131
132
|
return metaInfKeycloakTheme;
|
@@ -134,6 +135,10 @@ export async function buildJar(params: {
|
|
134
135
|
}
|
135
136
|
|
136
137
|
route_legacy_pages: {
|
138
|
+
if (!buildContext.recordIsImplementedByThemeType.login) {
|
139
|
+
break route_legacy_pages;
|
140
|
+
}
|
141
|
+
|
137
142
|
// NOTE: If there's no account theme there is no special target for keycloak 24 and up so we create
|
138
143
|
// the pages anyway. If there is an account pages, since we know that account-v1 is only support keycloak
|
139
144
|
// 24 in version 0.4 and up, we can safely break the route for legacy pages.
|
@@ -165,7 +170,7 @@ export async function buildJar(params: {
|
|
165
170
|
|
166
171
|
const ftlFileContent = readFileSync(ftlFilePath).toString("utf8");
|
167
172
|
|
168
|
-
const
|
173
|
+
const ftlFileBasename = (() => {
|
169
174
|
switch (pageId) {
|
170
175
|
case "register.ftl":
|
171
176
|
return "register-user-profile.ftl";
|
@@ -176,14 +181,14 @@ export async function buildJar(params: {
|
|
176
181
|
})();
|
177
182
|
|
178
183
|
const modifiedFtlFileContent = ftlFileContent.replace(
|
179
|
-
`
|
180
|
-
`
|
184
|
+
`"ftlTemplateFileName": "${pageId}"`,
|
185
|
+
`"ftlTemplateFileName": "${ftlFileBasename}"`
|
181
186
|
);
|
182
187
|
|
183
188
|
assert(modifiedFtlFileContent !== ftlFileContent);
|
184
189
|
|
185
190
|
fs.writeFile(
|
186
|
-
pathJoin(pathDirname(ftlFilePath),
|
191
|
+
pathJoin(pathDirname(ftlFilePath), ftlFileBasename),
|
187
192
|
Buffer.from(modifiedFtlFileContent, "utf8")
|
188
193
|
);
|
189
194
|
})
|
@@ -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))
|