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.
- package/account/Fallback.d.ts +1 -2
- package/account/Fallback.js.map +1 -1
- package/account/KcContext/KcContext.d.ts +6 -6
- package/account/KcContext/getKcContextMock.d.ts +9 -9
- package/account/KcContext/getKcContextMock.js +3 -3
- package/account/KcContext/getKcContextMock.js.map +1 -1
- package/account/Template.d.ts +1 -2
- package/account/Template.js +7 -6
- package/account/Template.js.map +1 -1
- package/account/TemplateProps.d.ts +1 -3
- package/account/i18n/i18n.d.ts +9 -4
- package/account/i18n/i18n.js +132 -87
- package/account/i18n/i18n.js.map +1 -1
- package/account/i18n/index.d.ts +9 -2
- package/account/i18n/index.js +5 -1
- package/account/i18n/index.js.map +1 -1
- package/account/lib/kcClsx.d.ts +9 -0
- package/account/lib/{useGetClassName.js → kcClsx.js} +3 -3
- package/account/lib/kcClsx.js.map +1 -0
- package/account/pages/Account.d.ts +1 -2
- package/account/pages/Account.js +9 -7
- package/account/pages/Account.js.map +1 -1
- package/account/pages/Applications.d.ts +1 -2
- package/account/pages/Applications.js +7 -7
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.d.ts +1 -2
- package/account/pages/FederatedIdentity.js +4 -3
- package/account/pages/FederatedIdentity.js.map +1 -1
- package/account/pages/Log.d.ts +1 -2
- package/account/pages/Log.js +6 -5
- package/account/pages/Log.js.map +1 -1
- package/account/pages/PageProps.d.ts +2 -4
- package/account/pages/Password.d.ts +1 -2
- package/account/pages/Password.js +10 -9
- package/account/pages/Password.js.map +1 -1
- package/account/pages/Sessions.d.ts +1 -2
- package/account/pages/Sessions.js +6 -6
- package/account/pages/Sessions.js.map +1 -1
- package/account/pages/Totp.d.ts +1 -2
- package/account/pages/Totp.js +6 -5
- package/account/pages/Totp.js.map +1 -1
- package/bin/193.index.js +13 -13
- package/bin/{430.index.js → 214.index.js} +161 -2
- package/bin/3.index.js +165 -149
- package/bin/322.index.js +595 -0
- package/bin/453.index.js +3 -3
- package/bin/526.index.js +42 -632
- package/bin/538.index.js +563 -0
- package/bin/932.index.js +7 -7
- package/bin/{890.index.js → 941.index.js} +2 -159
- package/bin/944.index.js +621 -0
- package/bin/961.index.js +5 -5
- package/bin/97.index.js +3 -3
- package/bin/{314.index.js → 98.index.js} +217 -48
- package/bin/main.js +20 -8
- package/lib/getKcClsx.d.ts +11 -0
- package/lib/getKcClsx.js +55 -0
- package/lib/getKcClsx.js.map +1 -0
- package/login/Fallback.d.ts +2 -2
- package/login/Fallback.js.map +1 -1
- package/login/KcContext/KcContext.d.ts +6 -6
- package/login/KcContext/getKcContextMock.d.ts +9 -9
- package/login/KcContext/getKcContextMock.js +3 -3
- package/login/KcContext/getKcContextMock.js.map +1 -1
- package/login/Template.d.ts +1 -2
- package/login/Template.js +10 -9
- package/login/Template.js.map +1 -1
- package/login/TemplateProps.d.ts +1 -3
- package/login/UserProfileFormFields.d.ts +6 -5
- package/login/UserProfileFormFields.js +35 -36
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/i18n/i18n.d.ts +9 -4
- package/login/i18n/i18n.js +136 -91
- package/login/i18n/i18n.js.map +1 -1
- package/login/i18n/index.d.ts +9 -2
- package/login/i18n/index.js +5 -1
- package/login/i18n/index.js.map +1 -1
- package/login/lib/kcClsx.d.ts +9 -0
- package/login/lib/{useGetClassName.js → kcClsx.js} +3 -3
- package/login/lib/kcClsx.js.map +1 -0
- package/login/lib/useUserProfileForm.d.ts +9 -6
- package/login/lib/useUserProfileForm.js +7 -5
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Code.d.ts +1 -2
- package/login/pages/Code.js +6 -5
- package/login/pages/Code.js.map +1 -1
- package/login/pages/DeleteAccountConfirm.d.ts +1 -2
- package/login/pages/DeleteAccountConfirm.js +7 -7
- package/login/pages/DeleteAccountConfirm.js.map +1 -1
- package/login/pages/DeleteCredential.d.ts +1 -2
- package/login/pages/DeleteCredential.js +6 -6
- package/login/pages/DeleteCredential.js.map +1 -1
- package/login/pages/Error.d.ts +1 -2
- package/login/pages/Error.js +4 -3
- package/login/pages/Error.js.map +1 -1
- package/login/pages/FrontchannelLogout.d.ts +1 -2
- package/login/pages/FrontchannelLogout.js +4 -3
- package/login/pages/FrontchannelLogout.js.map +1 -1
- package/login/pages/IdpReviewUserProfile.d.ts +2 -2
- package/login/pages/IdpReviewUserProfile.js +6 -6
- package/login/pages/IdpReviewUserProfile.js.map +1 -1
- package/login/pages/Info.d.ts +1 -2
- package/login/pages/Info.js +4 -3
- package/login/pages/Info.js.map +1 -1
- package/login/pages/Login.d.ts +1 -2
- package/login/pages/Login.js +10 -8
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginConfigTotp.d.ts +1 -2
- package/login/pages/LoginConfigTotp.js +8 -7
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginIdpLinkConfirm.d.ts +1 -2
- package/login/pages/LoginIdpLinkConfirm.js +6 -6
- package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
- package/login/pages/LoginIdpLinkEmail.d.ts +1 -2
- package/login/pages/LoginIdpLinkEmail.js +4 -3
- package/login/pages/LoginIdpLinkEmail.js.map +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +1 -2
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js +6 -6
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
- package/login/pages/LoginOauthGrant.d.ts +1 -2
- package/login/pages/LoginOauthGrant.js +7 -7
- package/login/pages/LoginOauthGrant.js.map +1 -1
- package/login/pages/LoginOtp.d.ts +1 -2
- package/login/pages/LoginOtp.js +6 -6
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPageExpired.d.ts +1 -2
- package/login/pages/LoginPageExpired.js +4 -3
- package/login/pages/LoginPageExpired.js.map +1 -1
- package/login/pages/LoginPassword.d.ts +1 -2
- package/login/pages/LoginPassword.js +9 -7
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +1 -2
- package/login/pages/LoginRecoveryAuthnCodeConfig.js +9 -7
- package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +1 -2
- package/login/pages/LoginRecoveryAuthnCodeInput.js +6 -6
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetOtp.d.ts +1 -2
- package/login/pages/LoginResetOtp.js +6 -6
- package/login/pages/LoginResetOtp.js.map +1 -1
- package/login/pages/LoginResetPassword.d.ts +1 -2
- package/login/pages/LoginResetPassword.js +7 -7
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.d.ts +1 -2
- package/login/pages/LoginUpdatePassword.js +10 -9
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/LoginUpdateProfile.d.ts +2 -2
- package/login/pages/LoginUpdateProfile.js +7 -12
- package/login/pages/LoginUpdateProfile.js.map +1 -1
- package/login/pages/LoginUsername.d.ts +1 -2
- package/login/pages/LoginUsername.js +8 -7
- package/login/pages/LoginUsername.js.map +1 -1
- package/login/pages/LoginVerifyEmail.d.ts +1 -2
- package/login/pages/LoginVerifyEmail.js +4 -3
- package/login/pages/LoginVerifyEmail.js.map +1 -1
- package/login/pages/LoginX509Info.d.ts +1 -2
- package/login/pages/LoginX509Info.js +6 -6
- package/login/pages/LoginX509Info.js.map +1 -1
- package/login/pages/LogoutConfirm.d.ts +1 -2
- package/login/pages/LogoutConfirm.js +6 -6
- package/login/pages/LogoutConfirm.js.map +1 -1
- package/login/pages/PageProps.d.ts +2 -4
- package/login/pages/Register.d.ts +2 -2
- package/login/pages/Register.js +8 -16
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.d.ts +1 -2
- package/login/pages/SamlPostForm.js +4 -3
- package/login/pages/SamlPostForm.js.map +1 -1
- package/login/pages/SelectAuthenticator.d.ts +1 -2
- package/login/pages/SelectAuthenticator.js +6 -9
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/Terms.d.ts +1 -2
- package/login/pages/Terms.js +6 -6
- package/login/pages/Terms.js.map +1 -1
- package/login/pages/UpdateEmail.d.ts +2 -2
- package/login/pages/UpdateEmail.js +8 -12
- package/login/pages/UpdateEmail.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.d.ts +1 -2
- package/login/pages/WebauthnAuthenticate.js +13 -12
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnError.d.ts +1 -2
- package/login/pages/WebauthnError.js +7 -7
- package/login/pages/WebauthnError.js.map +1 -1
- package/login/pages/WebauthnRegister.d.ts +1 -2
- package/login/pages/WebauthnRegister.js +9 -8
- package/login/pages/WebauthnRegister.js.map +1 -1
- package/package.json +27 -22
- package/src/account/Fallback.tsx +1 -2
- package/src/account/KcContext/KcContext.ts +7 -7
- package/src/account/KcContext/getKcContextMock.ts +13 -24
- package/src/account/Template.tsx +8 -8
- package/src/account/TemplateProps.ts +1 -6
- package/src/account/i18n/i18n.tsx +204 -125
- package/src/account/i18n/index.ts +10 -2
- package/src/account/lib/{useGetClassName.ts → kcClsx.ts} +6 -2
- package/src/account/pages/Account.tsx +15 -21
- package/src/account/pages/Applications.tsx +8 -9
- package/src/account/pages/FederatedIdentity.tsx +5 -5
- package/src/account/pages/Log.tsx +8 -8
- package/src/account/pages/PageProps.ts +2 -4
- package/src/account/pages/Password.tsx +13 -16
- package/src/account/pages/Sessions.tsx +9 -10
- package/src/account/pages/Totp.tsx +19 -28
- package/src/bin/add-story.ts +3 -3
- package/src/bin/copy-keycloak-resources-to-public.ts +3 -3
- package/src/bin/download-keycloak-default-theme.ts +5 -5
- package/src/bin/eject-page.ts +3 -3
- package/src/bin/initialize-email-theme.ts +5 -5
- package/src/bin/keycloakify/buildJars/buildJar.ts +14 -14
- package/src/bin/keycloakify/buildJars/buildJars.ts +8 -8
- package/src/bin/keycloakify/buildJars/generatePom.ts +9 -9
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +12 -12
- package/src/bin/keycloakify/generateSrcMainResources/bringInAccountV1.ts +7 -7
- package/src/bin/keycloakify/generateSrcMainResources/generateMessageProperties.ts +2 -66
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResources.ts +9 -9
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForMainTheme.ts +30 -24
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForThemeVariant.ts +8 -8
- package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +9 -9
- package/src/bin/keycloakify/keycloakify.ts +11 -11
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +6 -6
- package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +7 -7
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +10 -10
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +13 -13
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +11 -11
- package/src/bin/main.ts +17 -2
- package/src/bin/shared/{buildOptions.ts → buildContext.ts} +65 -51
- package/src/bin/shared/copyKeycloakResourcesToPublic.ts +12 -12
- package/src/bin/shared/downloadKeycloakDefaultTheme.ts +7 -7
- package/src/bin/shared/downloadKeycloakStaticResources.ts +7 -7
- package/src/bin/shared/generateKcGenTs.ts +61 -0
- package/src/bin/shared/getThemeSrcDirPath.ts +3 -3
- package/src/bin/start-keycloak/appBuild.ts +11 -11
- package/src/bin/start-keycloak/keycloakifyBuild.ts +7 -7
- package/src/bin/start-keycloak/start-keycloak.ts +34 -22
- package/src/bin/tools/escapeStringForPropertiesFile.ts +64 -0
- package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +3 -3
- package/src/bin/update-kc-gen.ts +13 -0
- package/src/lib/getKcClsx.ts +89 -0
- package/src/login/Fallback.tsx +2 -2
- package/src/login/KcContext/KcContext.ts +7 -7
- package/src/login/KcContext/getKcContextMock.ts +13 -24
- package/src/login/Template.tsx +36 -37
- package/src/login/TemplateProps.ts +1 -6
- package/src/login/UserProfileFormFields.tsx +67 -84
- package/src/login/i18n/i18n.tsx +208 -129
- package/src/login/i18n/index.ts +10 -2
- package/src/login/lib/{useGetClassName.ts → kcClsx.ts} +6 -2
- package/src/login/lib/useUserProfileForm.tsx +29 -21
- package/src/login/pages/Code.tsx +10 -8
- package/src/login/pages/DeleteAccountConfirm.tsx +9 -10
- package/src/login/pages/DeleteCredential.tsx +11 -10
- package/src/login/pages/Error.tsx +5 -5
- package/src/login/pages/FrontchannelLogout.tsx +7 -5
- package/src/login/pages/IdpReviewUserProfile.tsx +18 -21
- package/src/login/pages/Info.tsx +7 -5
- package/src/login/pages/Login.tsx +34 -53
- package/src/login/pages/LoginConfigTotp.tsx +30 -38
- package/src/login/pages/LoginIdpLinkConfirm.tsx +10 -21
- package/src/login/pages/LoginIdpLinkEmail.tsx +5 -5
- package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +19 -24
- package/src/login/pages/LoginOauthGrant.tsx +14 -21
- package/src/login/pages/LoginOtp.tsx +29 -33
- package/src/login/pages/LoginPageExpired.tsx +5 -5
- package/src/login/pages/LoginPassword.tsx +23 -33
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +21 -25
- package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +21 -25
- package/src/login/pages/LoginResetOtp.tsx +21 -25
- package/src/login/pages/LoginResetPassword.tsx +21 -25
- package/src/login/pages/LoginUpdatePassword.tsx +42 -52
- package/src/login/pages/LoginUpdateProfile.tsx +29 -30
- package/src/login/pages/LoginUsername.tsx +23 -35
- package/src/login/pages/LoginVerifyEmail.tsx +7 -5
- package/src/login/pages/LoginX509Info.tsx +27 -36
- package/src/login/pages/LogoutConfirm.tsx +11 -17
- package/src/login/pages/PageProps.ts +2 -4
- package/src/login/pages/Register.tsx +27 -46
- package/src/login/pages/SamlPostForm.tsx +5 -5
- package/src/login/pages/SelectAuthenticator.tsx +24 -26
- package/src/login/pages/Terms.tsx +9 -16
- package/src/login/pages/UpdateEmail.tsx +29 -33
- package/src/login/pages/WebauthnAuthenticate.tsx +26 -32
- package/src/login/pages/WebauthnError.tsx +11 -22
- package/src/login/pages/WebauthnRegister.tsx +20 -28
- package/src/tools/clsx.ts +6 -48
- package/src/tools/clsx_withTransform.ts +55 -0
- package/src/vite-plugin/vite-plugin.ts +29 -21
- package/tools/clsx.d.ts +3 -2
- package/tools/clsx.js +5 -41
- package/tools/clsx.js.map +1 -1
- package/tools/clsx_withTransform.d.ts +5 -0
- package/tools/clsx_withTransform.js +43 -0
- package/tools/clsx_withTransform.js.map +1 -0
- package/vite-plugin/index.js +243 -102
- package/vite-plugin/vite-plugin.d.ts +3 -3
- package/account/lib/useGetClassName.d.ts +0 -7
- package/account/lib/useGetClassName.js.map +0 -1
- package/bin/795.index.js +0 -1197
- package/lib/isStorybook.d.ts +0 -1
- package/lib/isStorybook.js +0 -3
- package/lib/isStorybook.js.map +0 -1
- package/lib/useGetClassName.d.ts +0 -10
- package/lib/useGetClassName.js +0 -14
- package/lib/useGetClassName.js.map +0 -1
- package/login/lib/useGetClassName.d.ts +0 -7
- package/login/lib/useGetClassName.js.map +0 -1
- package/src/lib/isStorybook.ts +0 -3
- package/src/lib/useGetClassName.ts +0 -27
@@ -1,23 +1,22 @@
|
|
1
|
-
import {
|
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
|
4
|
+
import { useI18n } from "../i18n";
|
6
5
|
|
7
|
-
export default function Sessions(props: PageProps<Extract<KcContext, { pageId: "sessions.ftl" }
|
8
|
-
const { kcContext,
|
6
|
+
export default function Sessions(props: PageProps<Extract<KcContext, { pageId: "sessions.ftl" }>>) {
|
7
|
+
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
9
8
|
|
10
|
-
const {
|
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 } =
|
16
|
+
const { msg } = useI18n({ kcContext });
|
18
17
|
return (
|
19
|
-
<Template {...{ kcContext,
|
20
|
-
<div className={
|
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={
|
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 {
|
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
|
5
|
+
import { useI18n } from "../i18n";
|
6
6
|
|
7
|
-
export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp.ftl" }
|
8
|
-
const { kcContext,
|
7
|
+
export default function Totp(props: PageProps<Extract<KcContext, { pageId: "totp.ftl" }>>) {
|
8
|
+
const { kcContext, doUseDefaultCss, Template, classes } = props;
|
9
9
|
|
10
|
-
const {
|
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 } =
|
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,
|
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={
|
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={
|
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={
|
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={
|
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={
|
172
|
+
<div className={kcClsx("kcFormGroupClass")}>
|
173
173
|
<div className="col-sm-2 col-md-2">
|
174
|
-
<label htmlFor="userLabel" className={
|
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={
|
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={
|
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(
|
197
|
-
<div className={
|
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={
|
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={
|
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"
|
package/src/bin/add-story.ts
CHANGED
@@ -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 {
|
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
|
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
|
-
|
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 {
|
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
|
8
|
+
const buildContext = getBuildContext({ cliCommandOptions });
|
9
9
|
|
10
10
|
await copyKeycloakResourcesToPublic({
|
11
|
-
|
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 {
|
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
|
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:
|
24
|
+
cacheDirPath: buildContext.cacheDirPath
|
25
25
|
});
|
26
26
|
|
27
27
|
console.log(`→ ${keycloakVersion}`);
|
28
28
|
|
29
29
|
const destDirPath = pathJoin(
|
30
|
-
|
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
|
-
|
54
|
+
buildContext
|
55
55
|
});
|
56
56
|
|
57
57
|
transformCodebase({
|
package/src/bin/eject-page.ts
CHANGED
@@ -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 {
|
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
|
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
|
-
|
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 {
|
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
|
13
|
+
const buildContext = getBuildContext({ cliCommandOptions });
|
14
14
|
|
15
15
|
const { themeSrcDirPath } = getThemeSrcDirPath({
|
16
|
-
|
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:
|
37
|
+
cacheDirPath: buildContext.cacheDirPath
|
38
38
|
});
|
39
39
|
|
40
40
|
const { defaultThemeDirPath } = await downloadKeycloakDefaultTheme({
|
41
41
|
keycloakVersion,
|
42
|
-
|
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 {
|
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
|
-
|
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
|
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<
|
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
|
-
|
35
|
+
buildContext: BuildContextLike;
|
36
36
|
}): Promise<void> {
|
37
37
|
const {
|
38
38
|
jarFileBasename,
|
39
39
|
keycloakAccountV1Version,
|
40
40
|
keycloakThemeAdditionalInfoExtensionVersion,
|
41
|
-
|
41
|
+
buildContext
|
42
42
|
} = params;
|
43
43
|
|
44
44
|
const keycloakifyBuildTmpDirPath = pathJoin(
|
45
|
-
|
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 [...
|
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
|
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:
|
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
|
-
|
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
|
-
|
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
|
-
`${
|
288
|
+
`${buildContext.artifactId}-${buildContext.themeVersion}.jar`
|
289
289
|
),
|
290
|
-
pathJoin(
|
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,
|
9
|
-
import type {
|
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
|
14
|
+
export type BuildContextLike = BuildContextLike_buildJar & {
|
15
15
|
keycloakifyBuildDirPath: string;
|
16
16
|
};
|
17
17
|
|
18
|
-
assert<
|
18
|
+
assert<BuildContext extends BuildContextLike ? true : false>();
|
19
19
|
|
20
20
|
export async function buildJars(params: {
|
21
|
-
|
21
|
+
buildContext: BuildContextLike;
|
22
22
|
}): Promise<void> {
|
23
|
-
const {
|
23
|
+
const { buildContext } = params;
|
24
24
|
|
25
25
|
const doesImplementAccountTheme = readMetaInfKeycloakThemes({
|
26
|
-
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
|
-
|
74
|
+
buildContext
|
75
75
|
})
|
76
76
|
)
|
77
77
|
)
|
@@ -1,27 +1,27 @@
|
|
1
1
|
import { assert } from "tsafe/assert";
|
2
|
-
import type {
|
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
|
8
|
+
export type BuildContextLike = {
|
9
9
|
groupId: string;
|
10
10
|
artifactId: string;
|
11
11
|
themeVersion: string;
|
12
12
|
};
|
13
13
|
|
14
|
-
assert<
|
14
|
+
assert<BuildContext extends BuildContextLike ? true : false>();
|
15
15
|
|
16
16
|
export function generatePom(params: {
|
17
17
|
keycloakAccountV1Version: KeycloakAccountV1Version;
|
18
18
|
keycloakThemeAdditionalInfoExtensionVersion: KeycloakThemeAdditionalInfoExtensionVersion;
|
19
|
-
|
19
|
+
buildContext: BuildContextLike;
|
20
20
|
}) {
|
21
21
|
const {
|
22
22
|
keycloakAccountV1Version,
|
23
23
|
keycloakThemeAdditionalInfoExtensionVersion,
|
24
|
-
|
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>${
|
37
|
-
` <artifactId>${
|
38
|
-
` <version>${
|
39
|
-
` <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 {
|
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
|
18
|
+
export type BuildContextLike = {
|
19
19
|
bundler: "vite" | "webpack";
|
20
20
|
themeVersion: string;
|
21
21
|
urlPathname: string | undefined;
|
22
|
-
|
22
|
+
projectBuildDirPath: string;
|
23
23
|
assetsDirPath: string;
|
24
24
|
kcContextExclusionsFtlCode: string | undefined;
|
25
25
|
};
|
26
26
|
|
27
|
-
assert<
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
`^${(
|
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
|
-
|
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",
|
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
|
-
|
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 {
|
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
|
13
|
+
export type BuildContextLike = {
|
14
14
|
cacheDirPath: string;
|
15
15
|
npmWorkspaceRootDirPath: string;
|
16
16
|
keycloakifyBuildDirPath: string;
|
17
17
|
};
|
18
18
|
|
19
|
-
assert<
|
19
|
+
assert<BuildContext extends BuildContextLike ? true : false>();
|
20
20
|
|
21
|
-
export async function bringInAccountV1(params: {
|
22
|
-
const {
|
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
|
-
|
26
|
+
buildContext
|
27
27
|
});
|
28
28
|
|
29
29
|
const accountV1DirPath = pathJoin(
|
30
|
-
|
30
|
+
buildContext.keycloakifyBuildDirPath,
|
31
31
|
"src",
|
32
32
|
"main",
|
33
33
|
"resources",
|