keycloakify 10.0.0-rc.37 → 10.0.0-rc.39

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 (307) hide show
  1. package/account/Fallback.d.ts +1 -2
  2. package/account/Fallback.js.map +1 -1
  3. package/account/KcContext/KcContext.d.ts +6 -6
  4. package/account/KcContext/getKcContextMock.d.ts +9 -9
  5. package/account/KcContext/getKcContextMock.js +3 -3
  6. package/account/KcContext/getKcContextMock.js.map +1 -1
  7. package/account/Template.d.ts +1 -2
  8. package/account/Template.js +7 -6
  9. package/account/Template.js.map +1 -1
  10. package/account/TemplateProps.d.ts +1 -3
  11. package/account/i18n/i18n.d.ts +9 -4
  12. package/account/i18n/i18n.js +132 -87
  13. package/account/i18n/i18n.js.map +1 -1
  14. package/account/i18n/index.d.ts +9 -2
  15. package/account/i18n/index.js +5 -1
  16. package/account/i18n/index.js.map +1 -1
  17. package/account/lib/kcClsx.d.ts +9 -0
  18. package/account/lib/{useGetClassName.js → kcClsx.js} +3 -3
  19. package/account/lib/kcClsx.js.map +1 -0
  20. package/account/pages/Account.d.ts +1 -2
  21. package/account/pages/Account.js +9 -7
  22. package/account/pages/Account.js.map +1 -1
  23. package/account/pages/Applications.d.ts +1 -2
  24. package/account/pages/Applications.js +7 -7
  25. package/account/pages/Applications.js.map +1 -1
  26. package/account/pages/FederatedIdentity.d.ts +1 -2
  27. package/account/pages/FederatedIdentity.js +4 -3
  28. package/account/pages/FederatedIdentity.js.map +1 -1
  29. package/account/pages/Log.d.ts +1 -2
  30. package/account/pages/Log.js +6 -5
  31. package/account/pages/Log.js.map +1 -1
  32. package/account/pages/PageProps.d.ts +2 -4
  33. package/account/pages/Password.d.ts +1 -2
  34. package/account/pages/Password.js +10 -9
  35. package/account/pages/Password.js.map +1 -1
  36. package/account/pages/Sessions.d.ts +1 -2
  37. package/account/pages/Sessions.js +6 -6
  38. package/account/pages/Sessions.js.map +1 -1
  39. package/account/pages/Totp.d.ts +1 -2
  40. package/account/pages/Totp.js +6 -5
  41. package/account/pages/Totp.js.map +1 -1
  42. package/bin/193.index.js +13 -13
  43. package/bin/{430.index.js → 214.index.js} +161 -2
  44. package/bin/3.index.js +165 -149
  45. package/bin/322.index.js +595 -0
  46. package/bin/453.index.js +3 -3
  47. package/bin/526.index.js +42 -632
  48. package/bin/538.index.js +563 -0
  49. package/bin/932.index.js +7 -7
  50. package/bin/{890.index.js → 941.index.js} +2 -159
  51. package/bin/944.index.js +621 -0
  52. package/bin/961.index.js +5 -5
  53. package/bin/97.index.js +3 -3
  54. package/bin/{314.index.js → 98.index.js} +217 -48
  55. package/bin/main.js +20 -8
  56. package/lib/getKcClsx.d.ts +11 -0
  57. package/lib/getKcClsx.js +55 -0
  58. package/lib/getKcClsx.js.map +1 -0
  59. package/login/Fallback.d.ts +2 -2
  60. package/login/Fallback.js.map +1 -1
  61. package/login/KcContext/KcContext.d.ts +6 -6
  62. package/login/KcContext/getKcContextMock.d.ts +9 -9
  63. package/login/KcContext/getKcContextMock.js +3 -3
  64. package/login/KcContext/getKcContextMock.js.map +1 -1
  65. package/login/Template.d.ts +1 -2
  66. package/login/Template.js +10 -9
  67. package/login/Template.js.map +1 -1
  68. package/login/TemplateProps.d.ts +1 -3
  69. package/login/UserProfileFormFields.d.ts +6 -5
  70. package/login/UserProfileFormFields.js +35 -36
  71. package/login/UserProfileFormFields.js.map +1 -1
  72. package/login/i18n/i18n.d.ts +9 -4
  73. package/login/i18n/i18n.js +136 -91
  74. package/login/i18n/i18n.js.map +1 -1
  75. package/login/i18n/index.d.ts +9 -2
  76. package/login/i18n/index.js +5 -1
  77. package/login/i18n/index.js.map +1 -1
  78. package/login/lib/kcClsx.d.ts +9 -0
  79. package/login/lib/{useGetClassName.js → kcClsx.js} +3 -3
  80. package/login/lib/kcClsx.js.map +1 -0
  81. package/login/lib/useUserProfileForm.d.ts +9 -6
  82. package/login/lib/useUserProfileForm.js +7 -5
  83. package/login/lib/useUserProfileForm.js.map +1 -1
  84. package/login/pages/Code.d.ts +1 -2
  85. package/login/pages/Code.js +6 -5
  86. package/login/pages/Code.js.map +1 -1
  87. package/login/pages/DeleteAccountConfirm.d.ts +1 -2
  88. package/login/pages/DeleteAccountConfirm.js +7 -7
  89. package/login/pages/DeleteAccountConfirm.js.map +1 -1
  90. package/login/pages/DeleteCredential.d.ts +1 -2
  91. package/login/pages/DeleteCredential.js +6 -6
  92. package/login/pages/DeleteCredential.js.map +1 -1
  93. package/login/pages/Error.d.ts +1 -2
  94. package/login/pages/Error.js +4 -3
  95. package/login/pages/Error.js.map +1 -1
  96. package/login/pages/FrontchannelLogout.d.ts +1 -2
  97. package/login/pages/FrontchannelLogout.js +4 -3
  98. package/login/pages/FrontchannelLogout.js.map +1 -1
  99. package/login/pages/IdpReviewUserProfile.d.ts +2 -2
  100. package/login/pages/IdpReviewUserProfile.js +6 -6
  101. package/login/pages/IdpReviewUserProfile.js.map +1 -1
  102. package/login/pages/Info.d.ts +1 -2
  103. package/login/pages/Info.js +4 -3
  104. package/login/pages/Info.js.map +1 -1
  105. package/login/pages/Login.d.ts +1 -2
  106. package/login/pages/Login.js +10 -8
  107. package/login/pages/Login.js.map +1 -1
  108. package/login/pages/LoginConfigTotp.d.ts +1 -2
  109. package/login/pages/LoginConfigTotp.js +8 -7
  110. package/login/pages/LoginConfigTotp.js.map +1 -1
  111. package/login/pages/LoginIdpLinkConfirm.d.ts +1 -2
  112. package/login/pages/LoginIdpLinkConfirm.js +6 -6
  113. package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
  114. package/login/pages/LoginIdpLinkEmail.d.ts +1 -2
  115. package/login/pages/LoginIdpLinkEmail.js +4 -3
  116. package/login/pages/LoginIdpLinkEmail.js.map +1 -1
  117. package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +1 -2
  118. package/login/pages/LoginOauth2DeviceVerifyUserCode.js +6 -6
  119. package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
  120. package/login/pages/LoginOauthGrant.d.ts +1 -2
  121. package/login/pages/LoginOauthGrant.js +7 -7
  122. package/login/pages/LoginOauthGrant.js.map +1 -1
  123. package/login/pages/LoginOtp.d.ts +1 -2
  124. package/login/pages/LoginOtp.js +6 -6
  125. package/login/pages/LoginOtp.js.map +1 -1
  126. package/login/pages/LoginPageExpired.d.ts +1 -2
  127. package/login/pages/LoginPageExpired.js +4 -3
  128. package/login/pages/LoginPageExpired.js.map +1 -1
  129. package/login/pages/LoginPassword.d.ts +1 -2
  130. package/login/pages/LoginPassword.js +9 -7
  131. package/login/pages/LoginPassword.js.map +1 -1
  132. package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +1 -2
  133. package/login/pages/LoginRecoveryAuthnCodeConfig.js +9 -7
  134. package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
  135. package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +1 -2
  136. package/login/pages/LoginRecoveryAuthnCodeInput.js +6 -6
  137. package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
  138. package/login/pages/LoginResetOtp.d.ts +1 -2
  139. package/login/pages/LoginResetOtp.js +6 -6
  140. package/login/pages/LoginResetOtp.js.map +1 -1
  141. package/login/pages/LoginResetPassword.d.ts +1 -2
  142. package/login/pages/LoginResetPassword.js +7 -7
  143. package/login/pages/LoginResetPassword.js.map +1 -1
  144. package/login/pages/LoginUpdatePassword.d.ts +1 -2
  145. package/login/pages/LoginUpdatePassword.js +10 -9
  146. package/login/pages/LoginUpdatePassword.js.map +1 -1
  147. package/login/pages/LoginUpdateProfile.d.ts +2 -2
  148. package/login/pages/LoginUpdateProfile.js +7 -12
  149. package/login/pages/LoginUpdateProfile.js.map +1 -1
  150. package/login/pages/LoginUsername.d.ts +1 -2
  151. package/login/pages/LoginUsername.js +8 -7
  152. package/login/pages/LoginUsername.js.map +1 -1
  153. package/login/pages/LoginVerifyEmail.d.ts +1 -2
  154. package/login/pages/LoginVerifyEmail.js +4 -3
  155. package/login/pages/LoginVerifyEmail.js.map +1 -1
  156. package/login/pages/LoginX509Info.d.ts +1 -2
  157. package/login/pages/LoginX509Info.js +6 -6
  158. package/login/pages/LoginX509Info.js.map +1 -1
  159. package/login/pages/LogoutConfirm.d.ts +1 -2
  160. package/login/pages/LogoutConfirm.js +6 -6
  161. package/login/pages/LogoutConfirm.js.map +1 -1
  162. package/login/pages/PageProps.d.ts +2 -4
  163. package/login/pages/Register.d.ts +2 -2
  164. package/login/pages/Register.js +8 -16
  165. package/login/pages/Register.js.map +1 -1
  166. package/login/pages/SamlPostForm.d.ts +1 -2
  167. package/login/pages/SamlPostForm.js +4 -3
  168. package/login/pages/SamlPostForm.js.map +1 -1
  169. package/login/pages/SelectAuthenticator.d.ts +1 -2
  170. package/login/pages/SelectAuthenticator.js +6 -9
  171. package/login/pages/SelectAuthenticator.js.map +1 -1
  172. package/login/pages/Terms.d.ts +1 -2
  173. package/login/pages/Terms.js +6 -6
  174. package/login/pages/Terms.js.map +1 -1
  175. package/login/pages/UpdateEmail.d.ts +2 -2
  176. package/login/pages/UpdateEmail.js +8 -12
  177. package/login/pages/UpdateEmail.js.map +1 -1
  178. package/login/pages/WebauthnAuthenticate.d.ts +1 -2
  179. package/login/pages/WebauthnAuthenticate.js +13 -12
  180. package/login/pages/WebauthnAuthenticate.js.map +1 -1
  181. package/login/pages/WebauthnError.d.ts +1 -2
  182. package/login/pages/WebauthnError.js +7 -7
  183. package/login/pages/WebauthnError.js.map +1 -1
  184. package/login/pages/WebauthnRegister.d.ts +1 -2
  185. package/login/pages/WebauthnRegister.js +9 -8
  186. package/login/pages/WebauthnRegister.js.map +1 -1
  187. package/package.json +27 -22
  188. package/src/account/Fallback.tsx +1 -2
  189. package/src/account/KcContext/KcContext.ts +7 -7
  190. package/src/account/KcContext/getKcContextMock.ts +13 -24
  191. package/src/account/Template.tsx +8 -8
  192. package/src/account/TemplateProps.ts +1 -6
  193. package/src/account/i18n/i18n.tsx +204 -125
  194. package/src/account/i18n/index.ts +10 -2
  195. package/src/account/lib/{useGetClassName.ts → kcClsx.ts} +6 -2
  196. package/src/account/pages/Account.tsx +15 -21
  197. package/src/account/pages/Applications.tsx +8 -9
  198. package/src/account/pages/FederatedIdentity.tsx +5 -5
  199. package/src/account/pages/Log.tsx +8 -8
  200. package/src/account/pages/PageProps.ts +2 -4
  201. package/src/account/pages/Password.tsx +13 -16
  202. package/src/account/pages/Sessions.tsx +9 -10
  203. package/src/account/pages/Totp.tsx +19 -28
  204. package/src/bin/add-story.ts +3 -3
  205. package/src/bin/copy-keycloak-resources-to-public.ts +3 -3
  206. package/src/bin/download-keycloak-default-theme.ts +5 -5
  207. package/src/bin/eject-page.ts +3 -3
  208. package/src/bin/initialize-email-theme.ts +5 -5
  209. package/src/bin/keycloakify/buildJars/buildJar.ts +14 -14
  210. package/src/bin/keycloakify/buildJars/buildJars.ts +8 -8
  211. package/src/bin/keycloakify/buildJars/generatePom.ts +9 -9
  212. package/src/bin/keycloakify/generateFtl/generateFtl.ts +12 -12
  213. package/src/bin/keycloakify/generateSrcMainResources/bringInAccountV1.ts +7 -7
  214. package/src/bin/keycloakify/generateSrcMainResources/generateMessageProperties.ts +2 -66
  215. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResources.ts +9 -9
  216. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForMainTheme.ts +30 -24
  217. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForThemeVariant.ts +8 -8
  218. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +9 -9
  219. package/src/bin/keycloakify/keycloakify.ts +11 -11
  220. package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +6 -6
  221. package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +7 -7
  222. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +10 -10
  223. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +13 -13
  224. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +11 -11
  225. package/src/bin/main.ts +17 -2
  226. package/src/bin/shared/{buildOptions.ts → buildContext.ts} +65 -51
  227. package/src/bin/shared/copyKeycloakResourcesToPublic.ts +12 -12
  228. package/src/bin/shared/downloadKeycloakDefaultTheme.ts +7 -7
  229. package/src/bin/shared/downloadKeycloakStaticResources.ts +7 -7
  230. package/src/bin/shared/generateKcGenTs.ts +61 -0
  231. package/src/bin/shared/getThemeSrcDirPath.ts +3 -3
  232. package/src/bin/start-keycloak/appBuild.ts +11 -11
  233. package/src/bin/start-keycloak/keycloakifyBuild.ts +7 -7
  234. package/src/bin/start-keycloak/start-keycloak.ts +34 -22
  235. package/src/bin/tools/escapeStringForPropertiesFile.ts +64 -0
  236. package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +3 -3
  237. package/src/bin/update-kc-gen.ts +13 -0
  238. package/src/lib/getKcClsx.ts +89 -0
  239. package/src/login/Fallback.tsx +2 -2
  240. package/src/login/KcContext/KcContext.ts +7 -7
  241. package/src/login/KcContext/getKcContextMock.ts +13 -24
  242. package/src/login/Template.tsx +36 -37
  243. package/src/login/TemplateProps.ts +1 -6
  244. package/src/login/UserProfileFormFields.tsx +67 -84
  245. package/src/login/i18n/i18n.tsx +208 -129
  246. package/src/login/i18n/index.ts +10 -2
  247. package/src/login/lib/{useGetClassName.ts → kcClsx.ts} +6 -2
  248. package/src/login/lib/useUserProfileForm.tsx +29 -21
  249. package/src/login/pages/Code.tsx +10 -8
  250. package/src/login/pages/DeleteAccountConfirm.tsx +9 -10
  251. package/src/login/pages/DeleteCredential.tsx +11 -10
  252. package/src/login/pages/Error.tsx +5 -5
  253. package/src/login/pages/FrontchannelLogout.tsx +7 -5
  254. package/src/login/pages/IdpReviewUserProfile.tsx +18 -21
  255. package/src/login/pages/Info.tsx +7 -5
  256. package/src/login/pages/Login.tsx +34 -53
  257. package/src/login/pages/LoginConfigTotp.tsx +30 -38
  258. package/src/login/pages/LoginIdpLinkConfirm.tsx +10 -21
  259. package/src/login/pages/LoginIdpLinkEmail.tsx +5 -5
  260. package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +19 -24
  261. package/src/login/pages/LoginOauthGrant.tsx +14 -21
  262. package/src/login/pages/LoginOtp.tsx +29 -33
  263. package/src/login/pages/LoginPageExpired.tsx +5 -5
  264. package/src/login/pages/LoginPassword.tsx +23 -33
  265. package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +21 -25
  266. package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +21 -25
  267. package/src/login/pages/LoginResetOtp.tsx +21 -25
  268. package/src/login/pages/LoginResetPassword.tsx +21 -25
  269. package/src/login/pages/LoginUpdatePassword.tsx +42 -52
  270. package/src/login/pages/LoginUpdateProfile.tsx +29 -30
  271. package/src/login/pages/LoginUsername.tsx +23 -35
  272. package/src/login/pages/LoginVerifyEmail.tsx +7 -5
  273. package/src/login/pages/LoginX509Info.tsx +27 -36
  274. package/src/login/pages/LogoutConfirm.tsx +11 -17
  275. package/src/login/pages/PageProps.ts +2 -4
  276. package/src/login/pages/Register.tsx +27 -46
  277. package/src/login/pages/SamlPostForm.tsx +5 -5
  278. package/src/login/pages/SelectAuthenticator.tsx +24 -26
  279. package/src/login/pages/Terms.tsx +9 -16
  280. package/src/login/pages/UpdateEmail.tsx +29 -33
  281. package/src/login/pages/WebauthnAuthenticate.tsx +26 -32
  282. package/src/login/pages/WebauthnError.tsx +11 -22
  283. package/src/login/pages/WebauthnRegister.tsx +20 -28
  284. package/src/tools/clsx.ts +6 -48
  285. package/src/tools/clsx_withTransform.ts +55 -0
  286. package/src/vite-plugin/vite-plugin.ts +29 -21
  287. package/tools/clsx.d.ts +3 -2
  288. package/tools/clsx.js +5 -41
  289. package/tools/clsx.js.map +1 -1
  290. package/tools/clsx_withTransform.d.ts +5 -0
  291. package/tools/clsx_withTransform.js +43 -0
  292. package/tools/clsx_withTransform.js.map +1 -0
  293. package/vite-plugin/index.js +243 -102
  294. package/vite-plugin/vite-plugin.d.ts +3 -3
  295. package/account/lib/useGetClassName.d.ts +0 -7
  296. package/account/lib/useGetClassName.js.map +0 -1
  297. package/bin/795.index.js +0 -1197
  298. package/lib/isStorybook.d.ts +0 -1
  299. package/lib/isStorybook.js +0 -3
  300. package/lib/isStorybook.js.map +0 -1
  301. package/lib/useGetClassName.d.ts +0 -10
  302. package/lib/useGetClassName.js +0 -14
  303. package/lib/useGetClassName.js.map +0 -1
  304. package/login/lib/useGetClassName.d.ts +0 -7
  305. package/login/lib/useGetClassName.js.map +0 -1
  306. package/src/lib/isStorybook.ts +0 -3
  307. package/src/lib/useGetClassName.ts +0 -27
@@ -1,23 +1,22 @@
1
- import { clsx } from "keycloakify/tools/clsx";
2
- import { useGetClassName } from "keycloakify/account/lib/useGetClassName";
1
+ import { getKcClsx } from "keycloakify/account/lib/kcClsx";
3
2
  import type { PageProps } from "keycloakify/account/pages/PageProps";
4
3
  import type { KcContext } from "../KcContext";
5
- import type { I18n } from "../i18n";
4
+ import { useI18n } from "../i18n";
6
5
 
7
- export default function Sessions(props: PageProps<Extract<KcContext, { pageId: "sessions.ftl" }>, I18n>) {
8
- const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
6
+ export default function Sessions(props: PageProps<Extract<KcContext, { pageId: "sessions.ftl" }>>) {
7
+ const { kcContext, doUseDefaultCss, Template, classes } = props;
9
8
 
10
- const { getClassName } = useGetClassName({
9
+ const { kcClsx } = getKcClsx({
11
10
  doUseDefaultCss,
12
11
  classes
13
12
  });
14
13
 
15
14
  const { url, stateChecker, sessions } = kcContext;
16
15
 
17
- const { msg } = i18n;
16
+ const { msg } = useI18n({ kcContext });
18
17
  return (
19
- <Template {...{ kcContext, i18n, doUseDefaultCss, classes }} active="sessions">
20
- <div className={getClassName("kcContentWrapperClass")}>
18
+ <Template {...{ kcContext, doUseDefaultCss, classes }} active="sessions">
19
+ <div className={kcClsx("kcContentWrapperClass")}>
21
20
  <div className="col-md-10">
22
21
  <h2>{msg("sessionsHtmlTitle")}</h2>
23
22
  </div>
@@ -56,7 +55,7 @@ export default function Sessions(props: PageProps<Extract<KcContext, { pageId: "
56
55
 
57
56
  <form action={url.sessionsUrl} method="post">
58
57
  <input type="hidden" id="stateChecker" name="stateChecker" value={stateChecker} />
59
- <button id="logout-all-sessions" type="submit" className={clsx(getClassName("kcButtonDefaultClass"), getClassName("kcButtonClass"))}>
58
+ <button id="logout-all-sessions" type="submit" className={kcClsx("kcButtonDefaultClass", "kcButtonClass")}>
60
59
  {msg("doLogOutAllSessions")}
61
60
  </button>
62
61
  </form>
@@ -1,20 +1,20 @@
1
1
  import { clsx } from "keycloakify/tools/clsx";
2
- import { useGetClassName } from "keycloakify/account/lib/useGetClassName";
2
+ import { getKcClsx } from "keycloakify/account/lib/kcClsx";
3
3
  import type { PageProps } from "keycloakify/account/pages/PageProps";
4
4
  import type { KcContext } from "../KcContext";
5
- import type { I18n } from "../i18n";
5
+ import { useI18n } from "../i18n";
6
6
 
7
- export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp.ftl" }>, I18n>) {
8
- const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
7
+ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp.ftl" }>>) {
8
+ const { kcContext, doUseDefaultCss, Template, classes } = props;
9
9
 
10
- const { getClassName } = useGetClassName({
10
+ const { kcClsx } = getKcClsx({
11
11
  doUseDefaultCss,
12
12
  classes
13
13
  });
14
14
 
15
15
  const { totp, mode, url, messagesPerField, stateChecker } = kcContext;
16
16
 
17
- const { msg, msgStr, advancedMsg } = i18n;
17
+ const { msg, msgStr, advancedMsg } = useI18n({ kcContext });
18
18
 
19
19
  const algToKeyUriAlg: Record<(typeof kcContext)["totp"]["policy"]["algorithm"], string> = {
20
20
  HmacSHA1: "SHA1",
@@ -23,7 +23,7 @@ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp
23
23
  };
24
24
 
25
25
  return (
26
- <Template {...{ kcContext, i18n, doUseDefaultCss, classes }} active="totp">
26
+ <Template {...{ kcContext, doUseDefaultCss, classes }} active="totp">
27
27
  <>
28
28
  <div className="row">
29
29
  <div className="col-md-10">
@@ -140,9 +140,9 @@ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp
140
140
  </li>
141
141
  </ol>
142
142
  <hr />
143
- <form action={url.totpUrl} className={getClassName("kcFormClass")} id="kc-totp-settings-form" method="post">
143
+ <form action={url.totpUrl} className={kcClsx("kcFormClass")} id="kc-totp-settings-form" method="post">
144
144
  <input type="hidden" id="stateChecker" name="stateChecker" value={stateChecker} />
145
- <div className={getClassName("kcFormGroupClass")}>
145
+ <div className={kcClsx("kcFormGroupClass")}>
146
146
  <div className="col-sm-2 col-md-2">
147
147
  <label htmlFor="totp" className="control-label">
148
148
  {msg("authenticatorCode")}
@@ -155,12 +155,12 @@ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp
155
155
  id="totp"
156
156
  name="totp"
157
157
  autoComplete="off"
158
- className={getClassName("kcInputClass")}
158
+ className={kcClsx("kcInputClass")}
159
159
  aria-invalid={messagesPerField.existsError("totp")}
160
160
  />
161
161
 
162
162
  {messagesPerField.existsError("totp") && (
163
- <span id="input-error-otp-code" className={getClassName("kcInputErrorMessageClass")} aria-live="polite">
163
+ <span id="input-error-otp-code" className={kcClsx("kcInputErrorMessageClass")} aria-live="polite">
164
164
  {messagesPerField.get("totp")}
165
165
  </span>
166
166
  )}
@@ -169,9 +169,9 @@ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp
169
169
  {mode && <input type="hidden" id="mode" value={mode} />}
170
170
  </div>
171
171
 
172
- <div className={getClassName("kcFormGroupClass")}>
172
+ <div className={kcClsx("kcFormGroupClass")}>
173
173
  <div className="col-sm-2 col-md-2">
174
- <label htmlFor="userLabel" className={getClassName("kcLabelClass")}>
174
+ <label htmlFor="userLabel" className={kcClsx("kcLabelClass")}>
175
175
  {msg("totpDeviceName")}
176
176
  </label>
177
177
  {totp.otpCredentials.length >= 1 && <span className="required">*</span>}
@@ -182,37 +182,28 @@ export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp
182
182
  id="userLabel"
183
183
  name="userLabel"
184
184
  autoComplete="off"
185
- className={getClassName("kcInputClass")}
185
+ className={kcClsx("kcInputClass")}
186
186
  aria-invalid={messagesPerField.existsError("userLabel")}
187
187
  />
188
188
  {messagesPerField.existsError("userLabel") && (
189
- <span id="input-error-otp-label" className={getClassName("kcInputErrorMessageClass")} aria-live="polite">
189
+ <span id="input-error-otp-label" className={kcClsx("kcInputErrorMessageClass")} aria-live="polite">
190
190
  {messagesPerField.get("userLabel")}
191
191
  </span>
192
192
  )}
193
193
  </div>
194
194
  </div>
195
195
 
196
- <div id="kc-form-buttons" className={clsx(getClassName("kcFormGroupClass"), "text-right")}>
197
- <div className={getClassName("kcInputWrapperClass")}>
196
+ <div id="kc-form-buttons" className={clsx(kcClsx("kcFormGroupClass"), "text-right")}>
197
+ <div className={kcClsx("kcInputWrapperClass")}>
198
198
  <input
199
199
  type="submit"
200
- className={clsx(
201
- getClassName("kcButtonClass"),
202
- getClassName("kcButtonPrimaryClass"),
203
- getClassName("kcButtonLargeClass")
204
- )}
200
+ className={kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonLargeClass")}
205
201
  id="saveTOTPBtn"
206
202
  value={msgStr("doSave")}
207
203
  />
208
204
  <button
209
205
  type="submit"
210
- className={clsx(
211
- getClassName("kcButtonClass"),
212
- getClassName("kcButtonDefaultClass"),
213
- getClassName("kcButtonLargeClass"),
214
- getClassName("kcButtonLargeClass")
215
- )}
206
+ className={kcClsx("kcButtonClass", "kcButtonDefaultClass", "kcButtonLargeClass", "kcButtonLargeClass")}
216
207
  id="cancelTOTPBtn"
217
208
  name="submitAction"
218
209
  value="Cancel"
@@ -15,13 +15,13 @@ import { kebabCaseToCamelCase } from "./tools/kebabCaseToSnakeCase";
15
15
  import { assert, Equals } from "tsafe/assert";
16
16
  import { getThemeSrcDirPath } from "./shared/getThemeSrcDirPath";
17
17
  import type { CliCommandOptions } from "./main";
18
- import { readBuildOptions } from "./shared/buildOptions";
18
+ import { getBuildContext } from "./shared/buildContext";
19
19
  import chalk from "chalk";
20
20
 
21
21
  export async function command(params: { cliCommandOptions: CliCommandOptions }) {
22
22
  const { cliCommandOptions } = params;
23
23
 
24
- const buildOptions = readBuildOptions({
24
+ const buildContext = getBuildContext({
25
25
  cliCommandOptions
26
26
  });
27
27
 
@@ -54,7 +54,7 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
54
54
  console.log(`→ ${pageId}`);
55
55
 
56
56
  const { themeSrcDirPath } = getThemeSrcDirPath({
57
- reactAppRootDirPath: buildOptions.reactAppRootDirPath
57
+ projectDirPath: buildContext.projectDirPath
58
58
  });
59
59
 
60
60
  const componentBasename = capitalize(kebabCaseToCamelCase(pageId)).replace(
@@ -1,13 +1,13 @@
1
1
  import { copyKeycloakResourcesToPublic } from "./shared/copyKeycloakResourcesToPublic";
2
- import { readBuildOptions } from "./shared/buildOptions";
2
+ import { getBuildContext } from "./shared/buildContext";
3
3
  import type { CliCommandOptions } from "./main";
4
4
 
5
5
  export async function command(params: { cliCommandOptions: CliCommandOptions }) {
6
6
  const { cliCommandOptions } = params;
7
7
 
8
- const buildOptions = readBuildOptions({ cliCommandOptions });
8
+ const buildContext = getBuildContext({ cliCommandOptions });
9
9
 
10
10
  await copyKeycloakResourcesToPublic({
11
- buildOptions
11
+ buildContext
12
12
  });
13
13
  }
@@ -1,6 +1,6 @@
1
1
  import { join as pathJoin, relative as pathRelative, sep as pathSep } from "path";
2
2
  import { promptKeycloakVersion } from "./shared/promptKeycloakVersion";
3
- import { readBuildOptions } from "./shared/buildOptions";
3
+ import { getBuildContext } from "./shared/buildContext";
4
4
  import { downloadKeycloakDefaultTheme } from "./shared/downloadKeycloakDefaultTheme";
5
5
  import { transformCodebase } from "./tools/transformCodebase";
6
6
  import type { CliCommandOptions } from "./main";
@@ -9,7 +9,7 @@ import chalk from "chalk";
9
9
  export async function command(params: { cliCommandOptions: CliCommandOptions }) {
10
10
  const { cliCommandOptions } = params;
11
11
 
12
- const buildOptions = readBuildOptions({
12
+ const buildContext = getBuildContext({
13
13
  cliCommandOptions
14
14
  });
15
15
 
@@ -21,13 +21,13 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
21
21
 
22
22
  const { keycloakVersion } = await promptKeycloakVersion({
23
23
  startingFromMajor: undefined,
24
- cacheDirPath: buildOptions.cacheDirPath
24
+ cacheDirPath: buildContext.cacheDirPath
25
25
  });
26
26
 
27
27
  console.log(`→ ${keycloakVersion}`);
28
28
 
29
29
  const destDirPath = pathJoin(
30
- buildOptions.keycloakifyBuildDirPath,
30
+ buildContext.keycloakifyBuildDirPath,
31
31
  "src",
32
32
  "main",
33
33
  "resources",
@@ -51,7 +51,7 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
51
51
 
52
52
  const { defaultThemeDirPath } = await downloadKeycloakDefaultTheme({
53
53
  keycloakVersion,
54
- buildOptions
54
+ buildContext
55
55
  });
56
56
 
57
57
  transformCodebase({
@@ -17,13 +17,13 @@ import { kebabCaseToCamelCase } from "./tools/kebabCaseToSnakeCase";
17
17
  import { assert, Equals } from "tsafe/assert";
18
18
  import { getThemeSrcDirPath } from "./shared/getThemeSrcDirPath";
19
19
  import type { CliCommandOptions } from "./main";
20
- import { readBuildOptions } from "./shared/buildOptions";
20
+ import { getBuildContext } from "./shared/buildContext";
21
21
  import chalk from "chalk";
22
22
 
23
23
  export async function command(params: { cliCommandOptions: CliCommandOptions }) {
24
24
  const { cliCommandOptions } = params;
25
25
 
26
- const buildOptions = readBuildOptions({
26
+ const buildContext = getBuildContext({
27
27
  cliCommandOptions
28
28
  });
29
29
 
@@ -69,7 +69,7 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
69
69
  console.log(`→ ${pageIdOrComponent}`);
70
70
 
71
71
  const { themeSrcDirPath } = getThemeSrcDirPath({
72
- reactAppRootDirPath: buildOptions.reactAppRootDirPath
72
+ projectDirPath: buildContext.projectDirPath
73
73
  });
74
74
 
75
75
  const componentBasename = (() => {
@@ -2,7 +2,7 @@ import { downloadKeycloakDefaultTheme } from "./shared/downloadKeycloakDefaultTh
2
2
  import { join as pathJoin, relative as pathRelative } from "path";
3
3
  import { transformCodebase } from "./tools/transformCodebase";
4
4
  import { promptKeycloakVersion } from "./shared/promptKeycloakVersion";
5
- import { readBuildOptions } from "./shared/buildOptions";
5
+ import { getBuildContext } from "./shared/buildContext";
6
6
  import * as fs from "fs";
7
7
  import { getThemeSrcDirPath } from "./shared/getThemeSrcDirPath";
8
8
  import type { CliCommandOptions } from "./main";
@@ -10,10 +10,10 @@ import type { CliCommandOptions } from "./main";
10
10
  export async function command(params: { cliCommandOptions: CliCommandOptions }) {
11
11
  const { cliCommandOptions } = params;
12
12
 
13
- const buildOptions = readBuildOptions({ cliCommandOptions });
13
+ const buildContext = getBuildContext({ cliCommandOptions });
14
14
 
15
15
  const { themeSrcDirPath } = getThemeSrcDirPath({
16
- reactAppRootDirPath: buildOptions.reactAppRootDirPath
16
+ projectDirPath: buildContext.projectDirPath
17
17
  });
18
18
 
19
19
  const emailThemeSrcDirPath = pathJoin(themeSrcDirPath, "email");
@@ -34,12 +34,12 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
34
34
  const { keycloakVersion } = await promptKeycloakVersion({
35
35
  // NOTE: This is arbitrary
36
36
  startingFromMajor: 17,
37
- cacheDirPath: buildOptions.cacheDirPath
37
+ cacheDirPath: buildContext.cacheDirPath
38
38
  });
39
39
 
40
40
  const { defaultThemeDirPath } = await downloadKeycloakDefaultTheme({
41
41
  keycloakVersion,
42
- buildOptions
42
+ buildContext
43
43
  });
44
44
 
45
45
  transformCodebase({
@@ -5,12 +5,12 @@ import type {
5
5
  } from "./extensionVersions";
6
6
  import { join as pathJoin, dirname as pathDirname } from "path";
7
7
  import { transformCodebase } from "../../tools/transformCodebase";
8
- import type { BuildOptions } from "../../shared/buildOptions";
8
+ import type { BuildContext } from "../../shared/buildContext";
9
9
  import * as fs from "fs/promises";
10
10
  import { accountV1ThemeName } from "../../shared/constants";
11
11
  import {
12
12
  generatePom,
13
- BuildOptionsLike as BuildOptionsLike_generatePom
13
+ BuildContextLike as BuildContextLike_generatePom
14
14
  } from "./generatePom";
15
15
  import { readFileSync } from "fs";
16
16
  import { isInside } from "../../tools/isInside";
@@ -18,7 +18,7 @@ import child_process from "child_process";
18
18
  import { rmSync } from "../../tools/fs.rmSync";
19
19
  import { getMetaInfKeycloakThemesJsonFilePath } from "../../shared/metaInfKeycloakThemes";
20
20
 
21
- export type BuildOptionsLike = BuildOptionsLike_generatePom & {
21
+ export type BuildContextLike = BuildContextLike_generatePom & {
22
22
  keycloakifyBuildDirPath: string;
23
23
  themeNames: string[];
24
24
  artifactId: string;
@@ -26,23 +26,23 @@ export type BuildOptionsLike = BuildOptionsLike_generatePom & {
26
26
  cacheDirPath: string;
27
27
  };
28
28
 
29
- assert<BuildOptions extends BuildOptionsLike ? true : false>();
29
+ assert<BuildContext extends BuildContextLike ? true : false>();
30
30
 
31
31
  export async function buildJar(params: {
32
32
  jarFileBasename: string;
33
33
  keycloakAccountV1Version: KeycloakAccountV1Version;
34
34
  keycloakThemeAdditionalInfoExtensionVersion: KeycloakThemeAdditionalInfoExtensionVersion;
35
- buildOptions: BuildOptionsLike;
35
+ buildContext: BuildContextLike;
36
36
  }): Promise<void> {
37
37
  const {
38
38
  jarFileBasename,
39
39
  keycloakAccountV1Version,
40
40
  keycloakThemeAdditionalInfoExtensionVersion,
41
- buildOptions
41
+ buildContext
42
42
  } = params;
43
43
 
44
44
  const keycloakifyBuildTmpDirPath = pathJoin(
45
- buildOptions.cacheDirPath,
45
+ buildContext.cacheDirPath,
46
46
  jarFileBasename.replace(".jar", "")
47
47
  );
48
48
 
@@ -62,7 +62,7 @@ export async function buildJar(params: {
62
62
  return { modifiedSourceCode: sourceCode };
63
63
  }
64
64
 
65
- for (const themeName of [...buildOptions.themeNames, accountV1ThemeName]) {
65
+ for (const themeName of [...buildContext.themeNames, accountV1ThemeName]) {
66
66
  if (
67
67
  isInside({
68
68
  dirPath: pathJoin("src", "main", "resources", "theme", themeName),
@@ -125,7 +125,7 @@ export async function buildJar(params: {
125
125
  };
126
126
  }
127
127
 
128
- for (const themeName of buildOptions.themeNames) {
128
+ for (const themeName of buildContext.themeNames) {
129
129
  if (
130
130
  fileRelativePath ===
131
131
  pathJoin(
@@ -160,7 +160,7 @@ export async function buildJar(params: {
160
160
  };
161
161
 
162
162
  transformCodebase({
163
- srcDirPath: buildOptions.keycloakifyBuildDirPath,
163
+ srcDirPath: buildContext.keycloakifyBuildDirPath,
164
164
  destDirPath: keycloakifyBuildTmpDirPath,
165
165
  transformSourceCode: params => {
166
166
  const resultCommon = transformCodebase_common(params);
@@ -203,7 +203,7 @@ export async function buildJar(params: {
203
203
  }
204
204
 
205
205
  (["register.ftl", "login-update-profile.ftl"] as const).forEach(pageId =>
206
- buildOptions.themeNames.map(themeName => {
206
+ buildContext.themeNames.map(themeName => {
207
207
  const ftlFilePath = pathJoin(
208
208
  keycloakifyBuildTmpDirPath,
209
209
  "src",
@@ -244,7 +244,7 @@ export async function buildJar(params: {
244
244
 
245
245
  {
246
246
  const { pomFileCode } = generatePom({
247
- buildOptions,
247
+ buildContext,
248
248
  keycloakAccountV1Version,
249
249
  keycloakThemeAdditionalInfoExtensionVersion
250
250
  });
@@ -285,9 +285,9 @@ export async function buildJar(params: {
285
285
  pathJoin(
286
286
  keycloakifyBuildTmpDirPath,
287
287
  "target",
288
- `${buildOptions.artifactId}-${buildOptions.themeVersion}.jar`
288
+ `${buildContext.artifactId}-${buildContext.themeVersion}.jar`
289
289
  ),
290
- pathJoin(buildOptions.keycloakifyBuildDirPath, jarFileBasename)
290
+ pathJoin(buildContext.keycloakifyBuildDirPath, jarFileBasename)
291
291
  );
292
292
 
293
293
  rmSync(keycloakifyBuildTmpDirPath, { recursive: true });
@@ -5,25 +5,25 @@ import {
5
5
  keycloakThemeAdditionalInfoExtensionVersions
6
6
  } from "./extensionVersions";
7
7
  import { getKeycloakVersionRangeForJar } from "./getKeycloakVersionRangeForJar";
8
- import { buildJar, BuildOptionsLike as BuildOptionsLike_buildJar } from "./buildJar";
9
- import type { BuildOptions } from "../../shared/buildOptions";
8
+ import { buildJar, BuildContextLike as BuildContextLike_buildJar } from "./buildJar";
9
+ import type { BuildContext } from "../../shared/buildContext";
10
10
  import { getJarFileBasename } from "../../shared/getJarFileBasename";
11
11
  import { readMetaInfKeycloakThemes } from "../../shared/metaInfKeycloakThemes";
12
12
  import { accountV1ThemeName } from "../../shared/constants";
13
13
 
14
- export type BuildOptionsLike = BuildOptionsLike_buildJar & {
14
+ export type BuildContextLike = BuildContextLike_buildJar & {
15
15
  keycloakifyBuildDirPath: string;
16
16
  };
17
17
 
18
- assert<BuildOptions extends BuildOptionsLike ? true : false>();
18
+ assert<BuildContext extends BuildContextLike ? true : false>();
19
19
 
20
20
  export async function buildJars(params: {
21
- buildOptions: BuildOptionsLike;
21
+ buildContext: BuildContextLike;
22
22
  }): Promise<void> {
23
- const { buildOptions } = params;
23
+ const { buildContext } = params;
24
24
 
25
25
  const doesImplementAccountTheme = readMetaInfKeycloakThemes({
26
- keycloakifyBuildDirPath: buildOptions.keycloakifyBuildDirPath
26
+ keycloakifyBuildDirPath: buildContext.keycloakifyBuildDirPath
27
27
  }).themes.some(({ name }) => name === accountV1ThemeName);
28
28
 
29
29
  await Promise.all(
@@ -71,7 +71,7 @@ export async function buildJars(params: {
71
71
  jarFileBasename,
72
72
  keycloakAccountV1Version,
73
73
  keycloakThemeAdditionalInfoExtensionVersion,
74
- buildOptions
74
+ buildContext
75
75
  })
76
76
  )
77
77
  )
@@ -1,27 +1,27 @@
1
1
  import { assert } from "tsafe/assert";
2
- import type { BuildOptions } from "../../shared/buildOptions";
2
+ import type { BuildContext } from "../../shared/buildContext";
3
3
  import type {
4
4
  KeycloakAccountV1Version,
5
5
  KeycloakThemeAdditionalInfoExtensionVersion
6
6
  } from "./extensionVersions";
7
7
 
8
- export type BuildOptionsLike = {
8
+ export type BuildContextLike = {
9
9
  groupId: string;
10
10
  artifactId: string;
11
11
  themeVersion: string;
12
12
  };
13
13
 
14
- assert<BuildOptions extends BuildOptionsLike ? true : false>();
14
+ assert<BuildContext extends BuildContextLike ? true : false>();
15
15
 
16
16
  export function generatePom(params: {
17
17
  keycloakAccountV1Version: KeycloakAccountV1Version;
18
18
  keycloakThemeAdditionalInfoExtensionVersion: KeycloakThemeAdditionalInfoExtensionVersion;
19
- buildOptions: BuildOptionsLike;
19
+ buildContext: BuildContextLike;
20
20
  }) {
21
21
  const {
22
22
  keycloakAccountV1Version,
23
23
  keycloakThemeAdditionalInfoExtensionVersion,
24
- buildOptions
24
+ buildContext
25
25
  } = params;
26
26
 
27
27
  const { pomFileCode } = (function generatePomFileCode(): {
@@ -33,10 +33,10 @@ export function generatePom(params: {
33
33
  ` xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"`,
34
34
  ` xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">`,
35
35
  ` <modelVersion>4.0.0</modelVersion>`,
36
- ` <groupId>${buildOptions.groupId}</groupId>`,
37
- ` <artifactId>${buildOptions.artifactId}</artifactId>`,
38
- ` <version>${buildOptions.themeVersion}</version>`,
39
- ` <name>${buildOptions.artifactId}</name>`,
36
+ ` <groupId>${buildContext.groupId}</groupId>`,
37
+ ` <artifactId>${buildContext.artifactId}</artifactId>`,
38
+ ` <version>${buildContext.themeVersion}</version>`,
39
+ ` <name>${buildContext.artifactId}</name>`,
40
40
  ` <description />`,
41
41
  ` <packaging>jar</packaging>`,
42
42
  ` <properties>`,
@@ -4,7 +4,7 @@ import { generateCssCodeToDefineGlobals } from "../replacers/replaceImportsInCss
4
4
  import { replaceImportsInInlineCssCode } from "../replacers/replaceImportsInInlineCssCode";
5
5
  import * as fs from "fs";
6
6
  import { join as pathJoin } from "path";
7
- import type { BuildOptions } from "../../shared/buildOptions";
7
+ import type { BuildContext } from "../../shared/buildContext";
8
8
  import { assert } from "tsafe/assert";
9
9
  import {
10
10
  type ThemeType,
@@ -15,22 +15,22 @@ import {
15
15
  } from "../../shared/constants";
16
16
  import { getThisCodebaseRootDirPath } from "../../tools/getThisCodebaseRootDirPath";
17
17
 
18
- export type BuildOptionsLike = {
18
+ export type BuildContextLike = {
19
19
  bundler: "vite" | "webpack";
20
20
  themeVersion: string;
21
21
  urlPathname: string | undefined;
22
- reactAppBuildDirPath: string;
22
+ projectBuildDirPath: string;
23
23
  assetsDirPath: string;
24
24
  kcContextExclusionsFtlCode: string | undefined;
25
25
  };
26
26
 
27
- assert<BuildOptions extends BuildOptionsLike ? true : false>();
27
+ assert<BuildContext extends BuildContextLike ? true : false>();
28
28
 
29
29
  export function generateFtlFilesCodeFactory(params: {
30
30
  themeName: string;
31
31
  indexHtmlCode: string;
32
32
  cssGlobalsToDefine: Record<string, string>;
33
- buildOptions: BuildOptionsLike;
33
+ buildContext: BuildContextLike;
34
34
  keycloakifyVersion: string;
35
35
  themeType: ThemeType;
36
36
  fieldNames: string[];
@@ -39,7 +39,7 @@ export function generateFtlFilesCodeFactory(params: {
39
39
  themeName,
40
40
  cssGlobalsToDefine,
41
41
  indexHtmlCode,
42
- buildOptions,
42
+ buildContext,
43
43
  keycloakifyVersion,
44
44
  themeType,
45
45
  fieldNames
@@ -55,7 +55,7 @@ export function generateFtlFilesCodeFactory(params: {
55
55
 
56
56
  const { fixedJsCode } = replaceImportsInJsCode({
57
57
  jsCode,
58
- buildOptions
58
+ buildContext
59
59
  });
60
60
 
61
61
  $(element).text(fixedJsCode);
@@ -68,7 +68,7 @@ export function generateFtlFilesCodeFactory(params: {
68
68
 
69
69
  const { fixedCssCode } = replaceImportsInInlineCssCode({
70
70
  cssCode,
71
- buildOptions
71
+ buildContext
72
72
  });
73
73
 
74
74
  $(element).text(fixedCssCode);
@@ -91,7 +91,7 @@ export function generateFtlFilesCodeFactory(params: {
91
91
  attrName,
92
92
  href.replace(
93
93
  new RegExp(
94
- `^${(buildOptions.urlPathname ?? "/").replace(/\//g, "\\/")}`
94
+ `^${(buildContext.urlPathname ?? "/").replace(/\//g, "\\/")}`
95
95
  ),
96
96
  `\${url.resourcesPath}/${basenameOfTheKeycloakifyResourcesDir}/`
97
97
  )
@@ -106,7 +106,7 @@ export function generateFtlFilesCodeFactory(params: {
106
106
  "<style>",
107
107
  generateCssCodeToDefineGlobals({
108
108
  cssGlobalsToDefine,
109
- buildOptions
109
+ buildContext
110
110
  }).cssCodeToPrependInHead,
111
111
  "</style>",
112
112
  ""
@@ -134,7 +134,7 @@ export function generateFtlFilesCodeFactory(params: {
134
134
  fieldNames.map(name => `"${name}"`).join(", ")
135
135
  )
136
136
  .replace("KEYCLOAKIFY_VERSION_xEdKd3xEdr", keycloakifyVersion)
137
- .replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildOptions.themeVersion)
137
+ .replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildContext.themeVersion)
138
138
  .replace("KEYCLOAKIFY_THEME_TYPE_dExKd3xEdr", themeType)
139
139
  .replace("KEYCLOAKIFY_THEME_NAME_cXxKd3xEer", themeName)
140
140
  .replace("RESOURCES_COMMON_cLsLsMrtDkpVv", resources_common)
@@ -144,7 +144,7 @@ export function generateFtlFilesCodeFactory(params: {
144
144
  )
145
145
  .replace(
146
146
  "USER_DEFINED_EXCLUSIONS_eKsaY4ZsZ4eMr2",
147
- buildOptions.kcContextExclusionsFtlCode ?? ""
147
+ buildContext.kcContextExclusionsFtlCode ?? ""
148
148
  );
149
149
  const ftlObjectToJsCodeDeclaringAnObjectPlaceholder =
150
150
  '{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }';
@@ -1,7 +1,7 @@
1
1
  import * as fs from "fs";
2
2
  import { join as pathJoin } from "path";
3
3
  import { assert } from "tsafe/assert";
4
- import type { BuildOptions } from "../../shared/buildOptions";
4
+ import type { BuildContext } from "../../shared/buildContext";
5
5
  import {
6
6
  resources_common,
7
7
  lastKeycloakVersionWithAccountV1,
@@ -10,24 +10,24 @@ import {
10
10
  import { downloadKeycloakDefaultTheme } from "../../shared/downloadKeycloakDefaultTheme";
11
11
  import { transformCodebase } from "../../tools/transformCodebase";
12
12
 
13
- export type BuildOptionsLike = {
13
+ export type BuildContextLike = {
14
14
  cacheDirPath: string;
15
15
  npmWorkspaceRootDirPath: string;
16
16
  keycloakifyBuildDirPath: string;
17
17
  };
18
18
 
19
- assert<BuildOptions extends BuildOptionsLike ? true : false>();
19
+ assert<BuildContext extends BuildContextLike ? true : false>();
20
20
 
21
- export async function bringInAccountV1(params: { buildOptions: BuildOptionsLike }) {
22
- const { buildOptions } = params;
21
+ export async function bringInAccountV1(params: { buildContext: BuildContextLike }) {
22
+ const { buildContext } = params;
23
23
 
24
24
  const { defaultThemeDirPath } = await downloadKeycloakDefaultTheme({
25
25
  keycloakVersion: lastKeycloakVersionWithAccountV1,
26
- buildOptions
26
+ buildContext
27
27
  });
28
28
 
29
29
  const accountV1DirPath = pathJoin(
30
- buildOptions.keycloakifyBuildDirPath,
30
+ buildContext.keycloakifyBuildDirPath,
31
31
  "src",
32
32
  "main",
33
33
  "resources",