keycloakify 9.3.0 → 9.4.0-rc.0

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.
Files changed (182) hide show
  1. package/README.md +5 -0
  2. package/account/kcContext/getKcContextFromWindow.js +2 -2
  3. package/account/kcContext/getKcContextFromWindow.js.map +1 -1
  4. package/bin/constants.d.ts +4 -1
  5. package/bin/constants.js +5 -2
  6. package/bin/constants.js.map +1 -1
  7. package/bin/copy-keycloak-resources-to-public.js +3 -4
  8. package/bin/copy-keycloak-resources-to-public.js.map +1 -1
  9. package/bin/download-builtin-keycloak-theme.js +98 -31
  10. package/bin/download-builtin-keycloak-theme.js.map +1 -1
  11. package/bin/eject-keycloak-page.js +2 -2
  12. package/bin/eject-keycloak-page.js.map +1 -1
  13. package/bin/{getSrcDirPath.js → getThemeSrcDirPath.js} +1 -1
  14. package/bin/getThemeSrcDirPath.js.map +1 -0
  15. package/bin/initialize-email-theme.js +6 -5
  16. package/bin/initialize-email-theme.js.map +1 -1
  17. package/bin/keycloakify/{BuildOptions.d.ts → buildOptions/buildOptions.d.ts} +2 -1
  18. package/bin/keycloakify/buildOptions/buildOptions.js +136 -0
  19. package/bin/keycloakify/buildOptions/buildOptions.js.map +1 -0
  20. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts +7 -0
  21. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js +27 -0
  22. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map +1 -0
  23. package/bin/keycloakify/buildOptions/index.d.ts +1 -0
  24. package/bin/keycloakify/{generateJavaStackFiles → buildOptions}/index.js +1 -1
  25. package/bin/keycloakify/buildOptions/index.js.map +1 -0
  26. package/bin/keycloakify/buildOptions/parsedPackageJson.d.ts +19 -0
  27. package/bin/keycloakify/{parsedPackageJson.js → buildOptions/parsedPackageJson.js} +6 -7
  28. package/bin/keycloakify/buildOptions/parsedPackageJson.js.map +1 -0
  29. package/bin/keycloakify/buildOptions/resolvedViteConfig.d.ts +12 -0
  30. package/bin/keycloakify/buildOptions/resolvedViteConfig.js +82 -0
  31. package/bin/keycloakify/buildOptions/resolvedViteConfig.js.map +1 -0
  32. package/bin/keycloakify/generateFtl/generateFtl.d.ts +4 -1
  33. package/bin/keycloakify/generateFtl/generateFtl.js +5 -5
  34. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  35. package/bin/keycloakify/generatePom.d.ts +12 -0
  36. package/bin/keycloakify/generatePom.js +59 -0
  37. package/bin/keycloakify/generatePom.js.map +1 -0
  38. package/bin/keycloakify/{generateJavaStackFiles → generateTheme}/bringInAccountV1.d.ts +2 -1
  39. package/bin/keycloakify/{generateJavaStackFiles → generateTheme}/bringInAccountV1.js +21 -67
  40. package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +1 -0
  41. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +0 -3
  42. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +5 -34
  43. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
  44. package/bin/keycloakify/generateTheme/generateTheme.d.ts +4 -1
  45. package/bin/keycloakify/generateTheme/generateTheme.js +123 -70
  46. package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
  47. package/bin/keycloakify/keycloakify.js +13 -72
  48. package/bin/keycloakify/keycloakify.js.map +1 -1
  49. package/bin/keycloakify/replacers/replaceImportsInCssCode.js +2 -1
  50. package/bin/keycloakify/replacers/replaceImportsInCssCode.js.map +1 -1
  51. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js +2 -1
  52. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map +1 -1
  53. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.d.ts +1 -0
  54. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js +18 -0
  55. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js.map +1 -0
  56. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.d.ts +12 -0
  57. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js +70 -0
  58. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js.map +1 -0
  59. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.d.ts +13 -0
  60. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js +95 -0
  61. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js.map +1 -0
  62. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.d.ts +12 -0
  63. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js +108 -0
  64. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js.map +1 -0
  65. package/bin/promptKeycloakVersion.js +0 -1
  66. package/bin/promptKeycloakVersion.js.map +1 -1
  67. package/bin/tools/OptionalIfCanBeUndefined.d.ts +14 -0
  68. package/bin/tools/OptionalIfCanBeUndefined.js +3 -0
  69. package/bin/tools/OptionalIfCanBeUndefined.js.map +1 -0
  70. package/bin/tools/SemVer.d.ts +26 -0
  71. package/bin/tools/{NpmModuleVersion.js → SemVer.js} +39 -23
  72. package/bin/tools/SemVer.js.map +1 -0
  73. package/bin/tools/String.prototype.replaceAll.d.ts +1 -0
  74. package/bin/tools/String.prototype.replaceAll.js +29 -0
  75. package/bin/tools/String.prototype.replaceAll.js.map +1 -0
  76. package/bin/tools/crawl.js +9 -9
  77. package/bin/tools/crawl.js.map +1 -1
  78. package/bin/tools/downloadAndUnzip.js +30 -19
  79. package/bin/tools/downloadAndUnzip.js.map +1 -1
  80. package/bin/tools/fs.rm.d.ts +8 -0
  81. package/bin/tools/fs.rm.js +151 -0
  82. package/bin/tools/fs.rm.js.map +1 -0
  83. package/bin/tools/fs.rmSync.d.ts +8 -0
  84. package/bin/tools/fs.rmSync.js +58 -0
  85. package/bin/tools/fs.rmSync.js.map +1 -0
  86. package/bin/tools/getAbsoluteAndInOsFormatPath.js +1 -0
  87. package/bin/tools/getAbsoluteAndInOsFormatPath.js.map +1 -1
  88. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +2 -3
  89. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js +6 -6
  90. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js.map +1 -1
  91. package/bin/tools/transformCodebase.d.ts +5 -1
  92. package/bin/tools/transformCodebase.js +31 -13
  93. package/bin/tools/transformCodebase.js.map +1 -1
  94. package/login/kcContext/getKcContextFromWindow.js +2 -2
  95. package/login/kcContext/getKcContextFromWindow.js.map +1 -1
  96. package/login/lib/useGetClassName.js +1 -1
  97. package/login/lib/useGetClassName.js.map +1 -1
  98. package/login/pages/LoginOtp.js +5 -43
  99. package/login/pages/LoginOtp.js.map +1 -1
  100. package/package.json +104 -53
  101. package/src/account/kcContext/getKcContextFromWindow.ts +2 -2
  102. package/src/bin/constants.ts +4 -1
  103. package/src/bin/copy-keycloak-resources-to-public.ts +2 -3
  104. package/src/bin/download-builtin-keycloak-theme.ts +96 -48
  105. package/src/bin/eject-keycloak-page.ts +1 -1
  106. package/src/bin/initialize-email-theme.ts +4 -3
  107. package/src/bin/keycloakify/buildOptions/buildOptions.ts +185 -0
  108. package/src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts +33 -0
  109. package/src/bin/keycloakify/buildOptions/index.ts +1 -0
  110. package/src/bin/keycloakify/{parsedPackageJson.ts → buildOptions/parsedPackageJson.ts} +4 -6
  111. package/src/bin/keycloakify/buildOptions/resolvedViteConfig.ts +85 -0
  112. package/src/bin/keycloakify/generateFtl/generateFtl.ts +12 -8
  113. package/src/bin/keycloakify/generatePom.ts +70 -0
  114. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +1 -1
  115. package/src/bin/keycloakify/generateTheme/bringInAccountV1.ts +83 -0
  116. package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +11 -52
  117. package/src/bin/keycloakify/generateTheme/generateTheme.ts +141 -51
  118. package/src/bin/keycloakify/keycloakify.ts +11 -58
  119. package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +3 -2
  120. package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +3 -2
  121. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/index.ts +1 -0
  122. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +66 -0
  123. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +85 -0
  124. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +90 -0
  125. package/src/bin/promptKeycloakVersion.ts +0 -1
  126. package/src/bin/tools/OptionalIfCanBeUndefined.ts +12 -0
  127. package/src/bin/tools/SemVer.ts +99 -0
  128. package/src/bin/tools/String.prototype.replaceAll.ts +30 -0
  129. package/src/bin/tools/crawl.ts +8 -8
  130. package/src/bin/tools/downloadAndUnzip.ts +11 -4
  131. package/src/bin/tools/fs.rm.ts +43 -0
  132. package/src/bin/tools/fs.rmSync.ts +34 -0
  133. package/src/bin/tools/getAbsoluteAndInOsFormatPath.ts +2 -0
  134. package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +9 -9
  135. package/src/bin/tools/transformCodebase.ts +35 -14
  136. package/src/login/kcContext/getKcContextFromWindow.ts +2 -2
  137. package/src/login/lib/useGetClassName.ts +1 -1
  138. package/src/login/pages/LoginOtp.tsx +64 -94
  139. package/src/tsconfig.json +1 -1
  140. package/src/vite-plugin/config.json +232 -0
  141. package/src/vite-plugin/index.ts +1 -0
  142. package/src/vite-plugin/tsconfig.json +18 -0
  143. package/src/vite-plugin/vite-plugin.ts +128 -0
  144. package/vite-plugin/index.d.ts +1 -0
  145. package/vite-plugin/index.js +18 -0
  146. package/vite-plugin/index.js.map +1 -0
  147. package/vite-plugin/tsconfig.tsbuildinfo +1 -0
  148. package/vite-plugin/vite-plugin.d.ts +2 -0
  149. package/vite-plugin/vite-plugin.js +118 -0
  150. package/vite-plugin/vite-plugin.js.map +1 -0
  151. package/bin/getSrcDirPath.js.map +0 -1
  152. package/bin/keycloakify/BuildOptions.js +0 -113
  153. package/bin/keycloakify/BuildOptions.js.map +0 -1
  154. package/bin/keycloakify/ftlValuesGlobalName.d.ts +0 -1
  155. package/bin/keycloakify/ftlValuesGlobalName.js +0 -5
  156. package/bin/keycloakify/ftlValuesGlobalName.js.map +0 -1
  157. package/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js.map +0 -1
  158. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.d.ts +0 -16
  159. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js +0 -205
  160. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map +0 -1
  161. package/bin/keycloakify/generateJavaStackFiles/index.d.ts +0 -1
  162. package/bin/keycloakify/generateJavaStackFiles/index.js.map +0 -1
  163. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts +0 -15
  164. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js +0 -158
  165. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map +0 -1
  166. package/bin/keycloakify/parsedPackageJson.d.ts +0 -108
  167. package/bin/keycloakify/parsedPackageJson.js.map +0 -1
  168. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts +0 -5
  169. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js +0 -74
  170. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map +0 -1
  171. package/bin/tools/NpmModuleVersion.d.ts +0 -22
  172. package/bin/tools/NpmModuleVersion.js.map +0 -1
  173. package/src/bin/keycloakify/BuildOptions.ts +0 -157
  174. package/src/bin/keycloakify/ftlValuesGlobalName.ts +0 -1
  175. package/src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts +0 -101
  176. package/src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts +0 -141
  177. package/src/bin/keycloakify/generateJavaStackFiles/index.ts +0 -1
  178. package/src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts +0 -76
  179. package/src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts +0 -51
  180. package/src/bin/tools/NpmModuleVersion.ts +0 -73
  181. /package/bin/{getSrcDirPath.d.ts → getThemeSrcDirPath.d.ts} +0 -0
  182. /package/src/bin/{getSrcDirPath.ts → getThemeSrcDirPath.ts} +0 -0
@@ -1,6 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect } from "react";
3
- import { headInsert } from "../../tools/headInsert";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
2
  import { clsx } from "../../tools/clsx";
5
3
  import { useGetClassName } from "../../login/lib/useGetClassName";
6
4
  export default function LoginOtp(props) {
@@ -11,45 +9,9 @@ export default function LoginOtp(props) {
11
9
  });
12
10
  const { otpLogin, url } = kcContext;
13
11
  const { msg, msgStr } = i18n;
14
- useEffect(() => {
15
- let isCleanedUp = false;
16
- const { prLoaded, remove } = headInsert({
17
- "type": "javascript",
18
- "src": `${kcContext.url.resourcesCommonPath}/node_modules/jquery/dist/jquery.min.js`
19
- });
20
- (async () => {
21
- await prLoaded;
22
- if (isCleanedUp) {
23
- return;
24
- }
25
- evaluateInlineScript();
26
- })();
27
- return () => {
28
- isCleanedUp = true;
29
- remove();
30
- };
31
- }, []);
32
- return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("doLogIn") }, { children: _jsxs("form", Object.assign({ id: "kc-otp-login-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [otpLogin.userOtpCredentials.length > 1 && (_jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: otpLogin.userOtpCredentials.map(otpCredential => (_jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListClass") }, { children: [_jsx("input", { type: "hidden", value: "${otpCredential.id}" }), _jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListItemClass") }, { children: [_jsx("span", { className: getClassName("kcAuthenticatorOtpCircleClass") }), _jsx("h2", Object.assign({ className: getClassName("kcSelectOTPItemHeadingClass") }, { children: otpCredential.userLabel }))] }))] }), otpCredential.id))) })) }))), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "otp", className: getClassName("kcLabelClass") }, { children: msg("loginOtpOneTime") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { id: "otp", name: "otp", autoComplete: "off", type: "text", className: getClassName("kcInputClass"), autoFocus: true }) }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))] })) })));
33
- }
34
- function evaluateInlineScript() {
35
- $(document).ready(function () {
36
- // Card Single Select
37
- $(".card-pf-view-single-select").click(function () {
38
- if ($(this).hasClass("active")) {
39
- $(this).removeClass("active");
40
- $(this).children().removeAttr("name");
41
- }
42
- else {
43
- $(".card-pf-view-single-select").removeClass("active");
44
- $(".card-pf-view-single-select").children().removeAttr("name");
45
- $(this).addClass("active");
46
- $(this).children().attr("name", "selectedCredentialId");
47
- }
48
- });
49
- var defaultCred = $(".card-pf-view-single-select")[0];
50
- if (defaultCred) {
51
- defaultCred.click();
52
- }
53
- });
12
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: `
13
+ input[type="radio"]:checked~label.kcSelectOTPListClass{
14
+ border: 2px solid #39a5dc;
15
+ }` }), _jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("doLogIn") }, { children: _jsxs("form", Object.assign({ id: "kc-otp-login-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [otpLogin.userOtpCredentials.length > 1 && (_jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: otpLogin.userOtpCredentials.map((otpCredential, index) => (_jsxs("div", { children: [_jsx("input", { id: `kc-otp-credential-${index}`, name: "selectedCredentialId", type: "radio", value: otpCredential.id, style: { display: "none" } }), _jsx("label", Object.assign({ htmlFor: `kc-otp-credential-${index}`, className: getClassName("kcSelectOTPListClass") }, { children: _jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListItemClass") }, { children: [_jsx("span", { className: getClassName("kcAuthenticatorOtpCircleClass") }), _jsx("h2", Object.assign({ className: getClassName("kcSelectOTPItemHeadingClass") }, { children: otpCredential.userLabel }))] })) }), otpCredential.id)] }, otpCredential.id))) })) }))), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "otp", className: getClassName("kcLabelClass") }, { children: msg("loginOtpOneTime") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { id: "otp", name: "otp", autoComplete: "off", type: "text", className: getClassName("kcInputClass"), autoFocus: true }) }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))] })) }))] }));
54
16
  }
55
17
  //# sourceMappingURL=LoginOtp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "9.3.0",
3
+ "version": "9.4.0-rc.0",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,37 +75,44 @@
75
75
  "src/bin/copy-keycloak-resources-to-public.ts",
76
76
  "src/bin/download-builtin-keycloak-theme.ts",
77
77
  "src/bin/eject-keycloak-page.ts",
78
- "src/bin/getSrcDirPath.ts",
78
+ "src/bin/getThemeSrcDirPath.ts",
79
79
  "src/bin/initialize-email-theme.ts",
80
- "src/bin/keycloakify/BuildOptions.ts",
81
- "src/bin/keycloakify/ftlValuesGlobalName.ts",
80
+ "src/bin/keycloakify/buildOptions/buildOptions.ts",
81
+ "src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts",
82
+ "src/bin/keycloakify/buildOptions/index.ts",
83
+ "src/bin/keycloakify/buildOptions/parsedPackageJson.ts",
84
+ "src/bin/keycloakify/buildOptions/resolvedViteConfig.ts",
82
85
  "src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
83
86
  "src/bin/keycloakify/generateFtl/generateFtl.ts",
84
87
  "src/bin/keycloakify/generateFtl/index.ts",
85
88
  "src/bin/keycloakify/generateFtl/pageId.ts",
86
- "src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts",
87
- "src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts",
88
- "src/bin/keycloakify/generateJavaStackFiles/index.ts",
89
+ "src/bin/keycloakify/generatePom.ts",
89
90
  "src/bin/keycloakify/generateStartKeycloakTestingContainer.ts",
91
+ "src/bin/keycloakify/generateTheme/bringInAccountV1.ts",
90
92
  "src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
91
93
  "src/bin/keycloakify/generateTheme/generateMessageProperties.ts",
92
94
  "src/bin/keycloakify/generateTheme/generateTheme.ts",
93
95
  "src/bin/keycloakify/generateTheme/index.ts",
94
96
  "src/bin/keycloakify/generateTheme/readExtraPageNames.ts",
95
97
  "src/bin/keycloakify/generateTheme/readFieldNameUsage.ts",
96
- "src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts",
97
98
  "src/bin/keycloakify/index.ts",
98
99
  "src/bin/keycloakify/keycloakify.ts",
99
- "src/bin/keycloakify/parsedPackageJson.ts",
100
- "src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts",
101
100
  "src/bin/keycloakify/replacers/replaceImportsInCssCode.ts",
102
101
  "src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts",
102
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/index.ts",
103
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts",
104
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts",
105
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts",
103
106
  "src/bin/promptKeycloakVersion.ts",
104
- "src/bin/tools/NpmModuleVersion.ts",
107
+ "src/bin/tools/OptionalIfCanBeUndefined.ts",
108
+ "src/bin/tools/SemVer.ts",
109
+ "src/bin/tools/String.prototype.replaceAll.ts",
105
110
  "src/bin/tools/crawl.ts",
106
111
  "src/bin/tools/crc32.ts",
107
112
  "src/bin/tools/deflate.ts",
108
113
  "src/bin/tools/downloadAndUnzip.ts",
114
+ "src/bin/tools/fs.rm.ts",
115
+ "src/bin/tools/fs.rmSync.ts",
109
116
  "src/bin/tools/getAbsoluteAndInOsFormatPath.ts",
110
117
  "src/bin/tools/getProjectRoot.ts",
111
118
  "src/bin/tools/grant-exec-perms.ts",
@@ -212,6 +219,10 @@
212
219
  "src/tools/useConst.ts",
213
220
  "src/tools/useConstCallback.ts",
214
221
  "src/tsconfig.json",
222
+ "src/vite-plugin/config.json",
223
+ "src/vite-plugin/index.ts",
224
+ "src/vite-plugin/tsconfig.json",
225
+ "src/vite-plugin/vite-plugin.ts",
215
226
  "account/Fallback.d.ts",
216
227
  "account/Fallback.js",
217
228
  "account/Fallback.js.map",
@@ -353,18 +364,27 @@
353
364
  "bin/eject-keycloak-page.d.ts",
354
365
  "bin/eject-keycloak-page.js",
355
366
  "bin/eject-keycloak-page.js.map",
356
- "bin/getSrcDirPath.d.ts",
357
- "bin/getSrcDirPath.js",
358
- "bin/getSrcDirPath.js.map",
367
+ "bin/getThemeSrcDirPath.d.ts",
368
+ "bin/getThemeSrcDirPath.js",
369
+ "bin/getThemeSrcDirPath.js.map",
359
370
  "bin/initialize-email-theme.d.ts",
360
371
  "bin/initialize-email-theme.js",
361
372
  "bin/initialize-email-theme.js.map",
362
- "bin/keycloakify/BuildOptions.d.ts",
363
- "bin/keycloakify/BuildOptions.js",
364
- "bin/keycloakify/BuildOptions.js.map",
365
- "bin/keycloakify/ftlValuesGlobalName.d.ts",
366
- "bin/keycloakify/ftlValuesGlobalName.js",
367
- "bin/keycloakify/ftlValuesGlobalName.js.map",
373
+ "bin/keycloakify/buildOptions/buildOptions.d.ts",
374
+ "bin/keycloakify/buildOptions/buildOptions.js",
375
+ "bin/keycloakify/buildOptions/buildOptions.js.map",
376
+ "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts",
377
+ "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js",
378
+ "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map",
379
+ "bin/keycloakify/buildOptions/index.d.ts",
380
+ "bin/keycloakify/buildOptions/index.js",
381
+ "bin/keycloakify/buildOptions/index.js.map",
382
+ "bin/keycloakify/buildOptions/parsedPackageJson.d.ts",
383
+ "bin/keycloakify/buildOptions/parsedPackageJson.js",
384
+ "bin/keycloakify/buildOptions/parsedPackageJson.js.map",
385
+ "bin/keycloakify/buildOptions/resolvedViteConfig.d.ts",
386
+ "bin/keycloakify/buildOptions/resolvedViteConfig.js",
387
+ "bin/keycloakify/buildOptions/resolvedViteConfig.js.map",
368
388
  "bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
369
389
  "bin/keycloakify/generateFtl/generateFtl.d.ts",
370
390
  "bin/keycloakify/generateFtl/generateFtl.js",
@@ -375,18 +395,15 @@
375
395
  "bin/keycloakify/generateFtl/pageId.d.ts",
376
396
  "bin/keycloakify/generateFtl/pageId.js",
377
397
  "bin/keycloakify/generateFtl/pageId.js.map",
378
- "bin/keycloakify/generateJavaStackFiles/bringInAccountV1.d.ts",
379
- "bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js",
380
- "bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js.map",
381
- "bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.d.ts",
382
- "bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js",
383
- "bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map",
384
- "bin/keycloakify/generateJavaStackFiles/index.d.ts",
385
- "bin/keycloakify/generateJavaStackFiles/index.js",
386
- "bin/keycloakify/generateJavaStackFiles/index.js.map",
398
+ "bin/keycloakify/generatePom.d.ts",
399
+ "bin/keycloakify/generatePom.js",
400
+ "bin/keycloakify/generatePom.js.map",
387
401
  "bin/keycloakify/generateStartKeycloakTestingContainer.d.ts",
388
402
  "bin/keycloakify/generateStartKeycloakTestingContainer.js",
389
403
  "bin/keycloakify/generateStartKeycloakTestingContainer.js.map",
404
+ "bin/keycloakify/generateTheme/bringInAccountV1.d.ts",
405
+ "bin/keycloakify/generateTheme/bringInAccountV1.js",
406
+ "bin/keycloakify/generateTheme/bringInAccountV1.js.map",
390
407
  "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts",
391
408
  "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js",
392
409
  "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map",
@@ -405,33 +422,42 @@
405
422
  "bin/keycloakify/generateTheme/readFieldNameUsage.d.ts",
406
423
  "bin/keycloakify/generateTheme/readFieldNameUsage.js",
407
424
  "bin/keycloakify/generateTheme/readFieldNameUsage.js.map",
408
- "bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts",
409
- "bin/keycloakify/generateTheme/readStaticResourcesUsage.js",
410
- "bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map",
411
425
  "bin/keycloakify/index.d.ts",
412
426
  "bin/keycloakify/index.js",
413
427
  "bin/keycloakify/index.js.map",
414
428
  "bin/keycloakify/keycloakify.d.ts",
415
429
  "bin/keycloakify/keycloakify.js",
416
430
  "bin/keycloakify/keycloakify.js.map",
417
- "bin/keycloakify/parsedPackageJson.d.ts",
418
- "bin/keycloakify/parsedPackageJson.js",
419
- "bin/keycloakify/parsedPackageJson.js.map",
420
- "bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts",
421
- "bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js",
422
- "bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map",
423
431
  "bin/keycloakify/replacers/replaceImportsInCssCode.d.ts",
424
432
  "bin/keycloakify/replacers/replaceImportsInCssCode.js",
425
433
  "bin/keycloakify/replacers/replaceImportsInCssCode.js.map",
426
434
  "bin/keycloakify/replacers/replaceImportsInInlineCssCode.d.ts",
427
435
  "bin/keycloakify/replacers/replaceImportsInInlineCssCode.js",
428
436
  "bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map",
437
+ "bin/keycloakify/replacers/replaceImportsInJsCode/index.d.ts",
438
+ "bin/keycloakify/replacers/replaceImportsInJsCode/index.js",
439
+ "bin/keycloakify/replacers/replaceImportsInJsCode/index.js.map",
440
+ "bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.d.ts",
441
+ "bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js",
442
+ "bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js.map",
443
+ "bin/keycloakify/replacers/replaceImportsInJsCode/vite.d.ts",
444
+ "bin/keycloakify/replacers/replaceImportsInJsCode/vite.js",
445
+ "bin/keycloakify/replacers/replaceImportsInJsCode/vite.js.map",
446
+ "bin/keycloakify/replacers/replaceImportsInJsCode/webpack.d.ts",
447
+ "bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js",
448
+ "bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js.map",
429
449
  "bin/promptKeycloakVersion.d.ts",
430
450
  "bin/promptKeycloakVersion.js",
431
451
  "bin/promptKeycloakVersion.js.map",
432
- "bin/tools/NpmModuleVersion.d.ts",
433
- "bin/tools/NpmModuleVersion.js",
434
- "bin/tools/NpmModuleVersion.js.map",
452
+ "bin/tools/OptionalIfCanBeUndefined.d.ts",
453
+ "bin/tools/OptionalIfCanBeUndefined.js",
454
+ "bin/tools/OptionalIfCanBeUndefined.js.map",
455
+ "bin/tools/SemVer.d.ts",
456
+ "bin/tools/SemVer.js",
457
+ "bin/tools/SemVer.js.map",
458
+ "bin/tools/String.prototype.replaceAll.d.ts",
459
+ "bin/tools/String.prototype.replaceAll.js",
460
+ "bin/tools/String.prototype.replaceAll.js.map",
435
461
  "bin/tools/crawl.d.ts",
436
462
  "bin/tools/crawl.js",
437
463
  "bin/tools/crawl.js.map",
@@ -444,6 +470,12 @@
444
470
  "bin/tools/downloadAndUnzip.d.ts",
445
471
  "bin/tools/downloadAndUnzip.js",
446
472
  "bin/tools/downloadAndUnzip.js.map",
473
+ "bin/tools/fs.rm.d.ts",
474
+ "bin/tools/fs.rm.js",
475
+ "bin/tools/fs.rm.js.map",
476
+ "bin/tools/fs.rmSync.d.ts",
477
+ "bin/tools/fs.rmSync.js",
478
+ "bin/tools/fs.rmSync.js.map",
447
479
  "bin/tools/getAbsoluteAndInOsFormatPath.d.ts",
448
480
  "bin/tools/getAbsoluteAndInOsFormatPath.js",
449
481
  "bin/tools/getAbsoluteAndInOsFormatPath.js.map",
@@ -755,37 +787,44 @@
755
787
  "src/bin/copy-keycloak-resources-to-public.ts",
756
788
  "src/bin/download-builtin-keycloak-theme.ts",
757
789
  "src/bin/eject-keycloak-page.ts",
758
- "src/bin/getSrcDirPath.ts",
790
+ "src/bin/getThemeSrcDirPath.ts",
759
791
  "src/bin/initialize-email-theme.ts",
760
- "src/bin/keycloakify/BuildOptions.ts",
761
- "src/bin/keycloakify/ftlValuesGlobalName.ts",
792
+ "src/bin/keycloakify/buildOptions/buildOptions.ts",
793
+ "src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts",
794
+ "src/bin/keycloakify/buildOptions/index.ts",
795
+ "src/bin/keycloakify/buildOptions/parsedPackageJson.ts",
796
+ "src/bin/keycloakify/buildOptions/resolvedViteConfig.ts",
762
797
  "src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
763
798
  "src/bin/keycloakify/generateFtl/generateFtl.ts",
764
799
  "src/bin/keycloakify/generateFtl/index.ts",
765
800
  "src/bin/keycloakify/generateFtl/pageId.ts",
766
- "src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts",
767
- "src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts",
768
- "src/bin/keycloakify/generateJavaStackFiles/index.ts",
801
+ "src/bin/keycloakify/generatePom.ts",
769
802
  "src/bin/keycloakify/generateStartKeycloakTestingContainer.ts",
803
+ "src/bin/keycloakify/generateTheme/bringInAccountV1.ts",
770
804
  "src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
771
805
  "src/bin/keycloakify/generateTheme/generateMessageProperties.ts",
772
806
  "src/bin/keycloakify/generateTheme/generateTheme.ts",
773
807
  "src/bin/keycloakify/generateTheme/index.ts",
774
808
  "src/bin/keycloakify/generateTheme/readExtraPageNames.ts",
775
809
  "src/bin/keycloakify/generateTheme/readFieldNameUsage.ts",
776
- "src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts",
777
810
  "src/bin/keycloakify/index.ts",
778
811
  "src/bin/keycloakify/keycloakify.ts",
779
- "src/bin/keycloakify/parsedPackageJson.ts",
780
- "src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts",
781
812
  "src/bin/keycloakify/replacers/replaceImportsInCssCode.ts",
782
813
  "src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts",
814
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/index.ts",
815
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts",
816
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts",
817
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts",
783
818
  "src/bin/promptKeycloakVersion.ts",
784
- "src/bin/tools/NpmModuleVersion.ts",
819
+ "src/bin/tools/OptionalIfCanBeUndefined.ts",
820
+ "src/bin/tools/SemVer.ts",
821
+ "src/bin/tools/String.prototype.replaceAll.ts",
785
822
  "src/bin/tools/crawl.ts",
786
823
  "src/bin/tools/crc32.ts",
787
824
  "src/bin/tools/deflate.ts",
788
825
  "src/bin/tools/downloadAndUnzip.ts",
826
+ "src/bin/tools/fs.rm.ts",
827
+ "src/bin/tools/fs.rmSync.ts",
789
828
  "src/bin/tools/getAbsoluteAndInOsFormatPath.ts",
790
829
  "src/bin/tools/getProjectRoot.ts",
791
830
  "src/bin/tools/grant-exec-perms.ts",
@@ -892,6 +931,10 @@
892
931
  "src/tools/useConst.ts",
893
932
  "src/tools/useConstCallback.ts",
894
933
  "src/tsconfig.json",
934
+ "src/vite-plugin/config.json",
935
+ "src/vite-plugin/index.ts",
936
+ "src/vite-plugin/tsconfig.json",
937
+ "src/vite-plugin/vite-plugin.ts",
895
938
  "tools/AndByDiscriminatingKey.d.ts",
896
939
  "tools/AndByDiscriminatingKey.js",
897
940
  "tools/AndByDiscriminatingKey.js.map",
@@ -939,7 +982,14 @@
939
982
  "tools/useConst.js.map",
940
983
  "tools/useConstCallback.d.ts",
941
984
  "tools/useConstCallback.js",
942
- "tools/useConstCallback.js.map"
985
+ "tools/useConstCallback.js.map",
986
+ "vite-plugin/index.d.ts",
987
+ "vite-plugin/index.js",
988
+ "vite-plugin/index.js.map",
989
+ "vite-plugin/tsconfig.tsbuildinfo",
990
+ "vite-plugin/vite-plugin.d.ts",
991
+ "vite-plugin/vite-plugin.js",
992
+ "vite-plugin/vite-plugin.js.map"
943
993
  ],
944
994
  "keywords": [
945
995
  "bluehats",
@@ -993,7 +1043,8 @@
993
1043
  "tss-react": "^4.8.2",
994
1044
  "typescript": "^4.9.1-beta",
995
1045
  "vitest": "^0.29.8",
996
- "zod-to-json-schema": "^3.20.4"
1046
+ "zod-to-json-schema": "^3.20.4",
1047
+ "vite": "^5.0.12"
997
1048
  },
998
1049
  "dependencies": {
999
1050
  "@babel/generator": "^7.22.9",
@@ -1,5 +1,5 @@
1
1
  import type { AndByDiscriminatingKey } from "keycloakify/tools/AndByDiscriminatingKey";
2
- import { ftlValuesGlobalName } from "keycloakify/bin/keycloakify/ftlValuesGlobalName";
2
+ import { nameOfTheGlobal } from "keycloakify/bin/constants";
3
3
  import type { KcContext } from "./KcContext";
4
4
 
5
5
  export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [KcContextExtension] extends [never]
@@ -7,5 +7,5 @@ export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [Kc
7
7
  : AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>;
8
8
 
9
9
  export function getKcContextFromWindow<KcContextExtension extends { pageId: string } = never>(): ExtendKcContext<KcContextExtension> | undefined {
10
- return typeof window === "undefined" ? undefined : (window as any)[ftlValuesGlobalName];
10
+ return typeof window === "undefined" ? undefined : (window as any)[nameOfTheGlobal];
11
11
  }
@@ -1,9 +1,12 @@
1
+ export const nameOfTheGlobal = "kcContext";
1
2
  export const keycloak_resources = "keycloak-resources";
2
3
  export const resources_common = "resources-common";
3
4
  export const lastKeycloakVersionWithAccountV1 = "21.1.2";
5
+ export const resolvedViteConfigJsonBasename = ".keycloakifyViteConfig.json";
6
+ export const basenameOfTheKeycloakifyResourcesDir = "build";
4
7
 
5
8
  export const themeTypes = ["login", "account"] as const;
6
9
  export const retrocompatPostfix = "_retrocompat";
7
- export const accountV1 = "account-v1";
10
+ export const accountV1ThemeName = "account-v1";
8
11
 
9
12
  export type ThemeType = (typeof themeTypes)[number];
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { downloadKeycloakStaticResources } from "./keycloakify/generateTheme/downloadKeycloakStaticResources";
4
4
  import { join as pathJoin, relative as pathRelative } from "path";
5
- import { readBuildOptions } from "./keycloakify/BuildOptions";
5
+ import { readBuildOptions } from "./keycloakify/buildOptions";
6
6
  import { themeTypes, keycloak_resources, lastKeycloakVersionWithAccountV1 } from "./constants";
7
7
  import * as fs from "fs";
8
8
 
@@ -28,7 +28,6 @@ import * as fs from "fs";
28
28
  })(),
29
29
  themeType,
30
30
  "themeDirPath": reservedDirPath,
31
- "usedResources": undefined,
32
31
  buildOptions
33
32
  });
34
33
  }
@@ -44,7 +43,7 @@ import * as fs from "fs";
44
43
  )
45
44
  );
46
45
 
47
- fs.writeFileSync(pathJoin(buildOptions.publicDirPath, "keycloak-resources", ".gitignore"), Buffer.from("*", "utf8"));
46
+ fs.writeFileSync(pathJoin(buildOptions.publicDirPath, keycloak_resources, ".gitignore"), Buffer.from("*", "utf8"));
48
47
 
49
48
  console.log(`${pathRelative(reactAppRootDirPath, reservedDirPath)} directory created.`);
50
49
  })();
@@ -3,11 +3,13 @@ import { join as pathJoin } from "path";
3
3
  import { downloadAndUnzip } from "./tools/downloadAndUnzip";
4
4
  import { promptKeycloakVersion } from "./promptKeycloakVersion";
5
5
  import { getLogger } from "./tools/logger";
6
- import { readBuildOptions } from "./keycloakify/BuildOptions";
6
+ import { readBuildOptions, type BuildOptions } from "./keycloakify/buildOptions";
7
7
  import { assert } from "tsafe/assert";
8
- import type { BuildOptions } from "./keycloakify/BuildOptions";
9
8
  import * as child_process from "child_process";
10
9
  import * as fs from "fs";
10
+ import { rmSync } from "./tools/fs.rmSync";
11
+ import { lastKeycloakVersionWithAccountV1 } from "./constants";
12
+ import { transformCodebase } from "./tools/transformCodebase";
11
13
 
12
14
  export type BuildOptionsLike = {
13
15
  cacheDirPath: string;
@@ -27,51 +29,6 @@ export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: st
27
29
  "preCacheTransform": {
28
30
  "actionCacheId": "npm install and build",
29
31
  "action": async ({ destDirPath }) => {
30
- fix_account_css: {
31
- const accountCssFilePath = pathJoin(destDirPath, "keycloak", "account", "resources", "css", "account.css");
32
-
33
- if (!fs.existsSync(accountCssFilePath)) {
34
- break fix_account_css;
35
- }
36
-
37
- fs.writeFileSync(
38
- accountCssFilePath,
39
- Buffer.from(fs.readFileSync(accountCssFilePath).toString("utf8").replace("top: -34px;", "top: -34px !important;"), "utf8")
40
- );
41
- }
42
-
43
- fix_account_topt: {
44
- const totpFtlFilePath = pathJoin(destDirPath, "base", "account", "totp.ftl");
45
-
46
- if (!fs.existsSync(totpFtlFilePath)) {
47
- break fix_account_topt;
48
- }
49
-
50
- fs.writeFileSync(
51
- totpFtlFilePath,
52
- Buffer.from(
53
- fs
54
- .readFileSync(totpFtlFilePath)
55
- .toString("utf8")
56
- .replace(
57
- [
58
- " <#list totp.policy.supportedApplications as app>",
59
- " <li>${app}</li>",
60
- " </#list>"
61
- ].join("\n"),
62
- [
63
- " <#if totp.policy.supportedApplications?has_content>",
64
- " <#list totp.policy.supportedApplications as app>",
65
- " <li>${app}</li>",
66
- " </#list>",
67
- " </#if>"
68
- ].join("\n")
69
- ),
70
- "utf8"
71
- )
72
- );
73
- }
74
-
75
32
  install_common_node_modules: {
76
33
  const commonResourcesDirPath = pathJoin(destDirPath, "keycloak", "common", "resources");
77
34
 
@@ -129,7 +86,98 @@ export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: st
129
86
 
130
87
  fs.writeFileSync(packageJsonFilePath, packageJsonRaw);
131
88
 
132
- fs.rmSync(pathJoin(accountV2DirSrcDirPath, "node_modules"), { "recursive": true });
89
+ rmSync(pathJoin(accountV2DirSrcDirPath, "node_modules"), { "recursive": true });
90
+ }
91
+
92
+ last_account_v1_transformations: {
93
+ if (lastKeycloakVersionWithAccountV1 !== keycloakVersion) {
94
+ break last_account_v1_transformations;
95
+ }
96
+
97
+ {
98
+ const accountCssFilePath = pathJoin(destDirPath, "keycloak", "account", "resources", "css", "account.css");
99
+
100
+ fs.writeFileSync(
101
+ accountCssFilePath,
102
+ Buffer.from(fs.readFileSync(accountCssFilePath).toString("utf8").replace("top: -34px;", "top: -34px !important;"), "utf8")
103
+ );
104
+ }
105
+
106
+ {
107
+ const totpFtlFilePath = pathJoin(destDirPath, "base", "account", "totp.ftl");
108
+
109
+ fs.writeFileSync(
110
+ totpFtlFilePath,
111
+ Buffer.from(
112
+ fs
113
+ .readFileSync(totpFtlFilePath)
114
+ .toString("utf8")
115
+ .replace(
116
+ [
117
+ " <#list totp.policy.supportedApplications as app>",
118
+ " <li>${app}</li>",
119
+ " </#list>"
120
+ ].join("\n"),
121
+ [
122
+ " <#if totp.policy.supportedApplications?has_content>",
123
+ " <#list totp.policy.supportedApplications as app>",
124
+ " <li>${app}</li>",
125
+ " </#list>",
126
+ " </#if>"
127
+ ].join("\n")
128
+ ),
129
+ "utf8"
130
+ )
131
+ );
132
+ }
133
+
134
+ // Note, this is an optimization for reducing the size of the jar
135
+ {
136
+ const defaultThemeCommonResourcesDirPath = pathJoin(destDirPath, "keycloak", "common", "resources");
137
+
138
+ const usedCommonResourceRelativeFilePaths = [
139
+ ...["patternfly.min.css", "patternfly-additions.min.css", "patternfly-additions.min.css"].map(fileBasename =>
140
+ pathJoin("node_modules", "patternfly", "dist", "css", fileBasename)
141
+ ),
142
+ ...[
143
+ "OpenSans-Light-webfont.woff2",
144
+ "OpenSans-Regular-webfont.woff2",
145
+ "OpenSans-Bold-webfont.woff2",
146
+ "OpenSans-Semibold-webfont.woff2",
147
+ "OpenSans-Bold-webfont.woff",
148
+ "OpenSans-Light-webfont.woff",
149
+ "OpenSans-Regular-webfont.woff",
150
+ "OpenSans-Semibold-webfont.woff",
151
+ "OpenSans-Regular-webfont.ttf",
152
+ "OpenSans-Light-webfont.ttf",
153
+ "OpenSans-Semibold-webfont.ttf",
154
+ "OpenSans-Bold-webfont.ttf"
155
+ ].map(fileBasename => pathJoin("node_modules", "patternfly", "dist", "fonts", fileBasename))
156
+ ];
157
+
158
+ transformCodebase({
159
+ "srcDirPath": defaultThemeCommonResourcesDirPath,
160
+ "destDirPath": defaultThemeCommonResourcesDirPath,
161
+ "transformSourceCode": ({ sourceCode, fileRelativePath }) => {
162
+ if (!usedCommonResourceRelativeFilePaths.includes(fileRelativePath)) {
163
+ return undefined;
164
+ }
165
+
166
+ return { "modifiedSourceCode": sourceCode };
167
+ }
168
+ });
169
+ }
170
+
171
+ // Other optimization: Remove AngularJS
172
+ {
173
+ const nodeModuleDirPath = pathJoin(destDirPath, "keycloak", "common", "resources", "node_modules");
174
+
175
+ fs.readdirSync(nodeModuleDirPath)
176
+ .filter(basename => basename.startsWith("angular"))
177
+ .map(basename => pathJoin(nodeModuleDirPath, basename))
178
+ .filter(dirPath => fs.statSync(dirPath).isDirectory())
179
+ .forEach(dirPath => rmSync(dirPath, { "recursive": true }));
180
+ }
133
181
  }
134
182
  }
135
183
  }
@@ -9,7 +9,7 @@ import { existsSync } from "fs";
9
9
  import { join as pathJoin, relative as pathRelative } from "path";
10
10
  import { kebabCaseToCamelCase } from "./tools/kebabCaseToSnakeCase";
11
11
  import { assert, Equals } from "tsafe/assert";
12
- import { getThemeSrcDirPath } from "./getSrcDirPath";
12
+ import { getThemeSrcDirPath } from "./getThemeSrcDirPath";
13
13
  import { themeTypes, type ThemeType } from "./constants";
14
14
 
15
15
  (async () => {
@@ -4,10 +4,11 @@ import { downloadBuiltinKeycloakTheme } from "./download-builtin-keycloak-theme"
4
4
  import { join as pathJoin, relative as pathRelative } from "path";
5
5
  import { transformCodebase } from "./tools/transformCodebase";
6
6
  import { promptKeycloakVersion } from "./promptKeycloakVersion";
7
- import { readBuildOptions } from "./keycloakify/BuildOptions";
7
+ import { readBuildOptions } from "./keycloakify/buildOptions";
8
8
  import * as fs from "fs";
9
9
  import { getLogger } from "./tools/logger";
10
- import { getThemeSrcDirPath } from "./getSrcDirPath";
10
+ import { getThemeSrcDirPath } from "./getThemeSrcDirPath";
11
+ import { rmSync } from "./tools/fs.rmSync";
11
12
 
12
13
  export async function main() {
13
14
  const reactAppRootDirPath = process.cwd();
@@ -54,7 +55,7 @@ export async function main() {
54
55
 
55
56
  logger.log(`${pathRelative(process.cwd(), emailThemeSrcDirPath)} ready to be customized, feel free to remove every file you do not customize`);
56
57
 
57
- fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
58
+ rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
58
59
  }
59
60
 
60
61
  if (require.main === module) {