keycloakify 10.0.0-rc.97 → 10.0.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.
- package/PUBLIC_URL.js +2 -2
- package/PUBLIC_URL.js.map +1 -1
- package/README.md +28 -242
- package/account/KcContext/KcContext.d.ts +4 -1
- package/account/KcContext/KcContext.js.map +1 -1
- package/account/KcContext/kcContextMocks.js +7 -4
- package/account/KcContext/kcContextMocks.js.map +1 -1
- package/account/Template.js +3 -1
- package/account/Template.js.map +1 -1
- package/account/i18n/GenericI18n.d.ts +6 -0
- package/account/i18n/GenericI18n.js +2 -0
- package/account/i18n/GenericI18n.js.map +1 -0
- package/account/i18n/i18n.d.ts +24 -30
- package/account/i18n/i18n.js +50 -70
- package/account/i18n/i18n.js.map +1 -1
- package/account/i18n/index.d.ts +4 -3
- package/account/i18n/index.js.map +1 -1
- package/account/i18n/messages_defaultSet/ar.js.map +1 -0
- package/account/i18n/messages_defaultSet/ca.js.map +1 -0
- package/account/i18n/messages_defaultSet/cs.js.map +1 -0
- package/account/i18n/messages_defaultSet/da.js.map +1 -0
- package/account/i18n/messages_defaultSet/de.js.map +1 -0
- package/account/i18n/messages_defaultSet/el.js.map +1 -0
- package/account/i18n/messages_defaultSet/en.js.map +1 -0
- package/account/i18n/messages_defaultSet/es.js.map +1 -0
- package/account/i18n/messages_defaultSet/fa.js.map +1 -0
- package/account/i18n/messages_defaultSet/fi.js.map +1 -0
- package/account/i18n/messages_defaultSet/fr.js.map +1 -0
- package/account/i18n/messages_defaultSet/hu.js.map +1 -0
- package/account/i18n/{baseMessages → messages_defaultSet}/index.d.ts +1 -1
- package/account/i18n/{baseMessages → messages_defaultSet}/index.js +3 -3
- package/account/i18n/messages_defaultSet/index.js.map +1 -0
- package/account/i18n/messages_defaultSet/it.js.map +1 -0
- package/account/i18n/messages_defaultSet/ja.js.map +1 -0
- package/account/i18n/messages_defaultSet/lt.js.map +1 -0
- package/account/i18n/messages_defaultSet/lv.js.map +1 -0
- package/account/i18n/messages_defaultSet/nl.js.map +1 -0
- package/account/i18n/messages_defaultSet/no.js.map +1 -0
- package/account/i18n/messages_defaultSet/pl.js.map +1 -0
- package/account/i18n/messages_defaultSet/pt-BR.js.map +1 -0
- package/account/i18n/messages_defaultSet/ru.js.map +1 -0
- package/account/i18n/messages_defaultSet/sk.js.map +1 -0
- package/account/i18n/messages_defaultSet/sv.js.map +1 -0
- package/account/i18n/messages_defaultSet/th.js.map +1 -0
- package/account/i18n/messages_defaultSet/tr.js.map +1 -0
- package/account/i18n/messages_defaultSet/uk.js.map +1 -0
- package/account/i18n/messages_defaultSet/zh-CN.js.map +1 -0
- package/account/i18n/useI18n.d.ts +6 -5
- package/account/i18n/useI18n.js +37 -4
- package/account/i18n/useI18n.js.map +1 -1
- package/account/pages/Applications.js +1 -1
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.js +1 -1
- package/account/pages/FederatedIdentity.js.map +1 -1
- package/account/pages/Totp.js +5 -1
- package/account/pages/Totp.js.map +1 -1
- package/bin/193.index.js +5 -5
- package/bin/{490.index.js → 246.index.js} +22 -4
- package/bin/31.index.js +264 -203
- package/bin/440.index.js +178 -106
- package/bin/453.index.js +59 -7
- package/bin/526.index.js +525 -137
- package/bin/599.index.js +567 -0
- package/bin/{893.index.js → 622.index.js} +239 -231
- package/bin/{36.index.js → 678.index.js} +577 -71
- package/bin/{180.index.js → 697.index.js} +611 -526
- package/bin/743.index.js +70 -0
- package/bin/780.index.js +895 -0
- package/bin/786.index.js +185 -0
- package/bin/932.index.js +740 -52
- package/bin/{456.index.js → 941.index.js} +3 -1988
- package/bin/97.index.js +29 -7
- package/bin/main.js +1994 -8
- package/bin/shared/KeycloakVersionRange.d.ts +3 -3
- package/bin/shared/buildContext.d.ts +52 -16
- package/bin/shared/buildContext.js.map +1 -1
- package/bin/shared/constants.d.ts +18 -17
- package/bin/shared/constants.js +15 -14
- package/bin/shared/constants.js.map +1 -1
- package/bin/shared/copyKeycloakResourcesToPublic.js.map +1 -1
- package/bin/shared/downloadKeycloakDefaultTheme.js.map +1 -1
- package/bin/shared/generateKcGenTs.d.ts +3 -0
- package/bin/shared/generateKcGenTs.js.map +1 -1
- package/bin/shared/getLatestsSemVersionedTag.d.ts +15 -0
- package/bin/shared/getLatestsSemVersionedTag.js.map +1 -0
- package/bin/shared/promptKeycloakVersion.d.ts +3 -1
- package/bin/shared/promptKeycloakVersion.js.map +1 -1
- package/lib/getKcClsx.js +2 -1
- package/lib/getKcClsx.js.map +1 -1
- package/login/KcContext/KcContext.d.ts +10 -11
- package/login/KcContext/KcContext.js.map +1 -1
- package/login/KcContext/kcContextMocks.js +4 -5
- package/login/KcContext/kcContextMocks.js.map +1 -1
- package/login/Template.js +13 -7
- package/login/Template.js.map +1 -1
- package/login/TemplateProps.d.ts +0 -1
- package/login/UserProfileFormFields.js +6 -5
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/i18n/GenericI18n.d.ts +6 -0
- package/login/i18n/GenericI18n.js +2 -0
- package/login/i18n/GenericI18n.js.map +1 -0
- package/login/i18n/i18n.d.ts +22 -32
- package/login/i18n/i18n.js +51 -92
- package/login/i18n/i18n.js.map +1 -1
- package/login/i18n/index.d.ts +4 -3
- package/login/i18n/index.js.map +1 -1
- package/login/i18n/messages_defaultSet/ar.js.map +1 -0
- package/login/i18n/messages_defaultSet/ca.js.map +1 -0
- package/login/i18n/messages_defaultSet/cs.js.map +1 -0
- package/login/i18n/messages_defaultSet/da.js.map +1 -0
- package/login/i18n/messages_defaultSet/de.js.map +1 -0
- package/login/i18n/messages_defaultSet/el.js.map +1 -0
- package/login/i18n/messages_defaultSet/en.js.map +1 -0
- package/login/i18n/messages_defaultSet/es.js.map +1 -0
- package/login/i18n/messages_defaultSet/fa.js.map +1 -0
- package/login/i18n/messages_defaultSet/fi.js.map +1 -0
- package/login/i18n/messages_defaultSet/fr.js.map +1 -0
- package/login/i18n/messages_defaultSet/hu.js.map +1 -0
- package/login/i18n/{baseMessages → messages_defaultSet}/index.d.ts +1 -1
- package/login/i18n/{baseMessages → messages_defaultSet}/index.js +3 -3
- package/login/i18n/messages_defaultSet/index.js.map +1 -0
- package/login/i18n/messages_defaultSet/it.js.map +1 -0
- package/login/i18n/messages_defaultSet/ja.js.map +1 -0
- package/login/i18n/messages_defaultSet/lt.js.map +1 -0
- package/login/i18n/messages_defaultSet/lv.js.map +1 -0
- package/login/i18n/messages_defaultSet/nl.js.map +1 -0
- package/login/i18n/messages_defaultSet/no.js.map +1 -0
- package/login/i18n/messages_defaultSet/pl.js.map +1 -0
- package/login/i18n/messages_defaultSet/pt-BR.js.map +1 -0
- package/login/i18n/messages_defaultSet/ru.js.map +1 -0
- package/login/i18n/messages_defaultSet/sk.js.map +1 -0
- package/login/i18n/messages_defaultSet/sv.js.map +1 -0
- package/login/i18n/messages_defaultSet/th.js.map +1 -0
- package/login/i18n/messages_defaultSet/tr.js.map +1 -0
- package/login/i18n/messages_defaultSet/uk.js.map +1 -0
- package/login/i18n/messages_defaultSet/zh-CN.js.map +1 -0
- package/login/i18n/useI18n.d.ts +6 -5
- package/login/i18n/useI18n.js +37 -4
- package/login/i18n/useI18n.js.map +1 -1
- package/login/lib/useUserProfileForm.d.ts +2 -0
- package/login/lib/useUserProfileForm.js +44 -10
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Error.js +1 -1
- package/login/pages/Error.js.map +1 -1
- package/login/pages/Info.js +15 -3
- package/login/pages/Info.js.map +1 -1
- package/login/pages/Login.js +6 -2
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginConfigTotp.js +5 -1
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginOtp.js +3 -1
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPassword.js +3 -1
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js +3 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetPassword.js +3 -1
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.js +5 -1
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/Register.js +3 -1
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.js +1 -1
- package/login/pages/SamlPostForm.js.map +1 -1
- package/login/pages/SelectAuthenticator.js +2 -2
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.js +3 -3
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnRegister.js +2 -2
- package/package.json +267 -245
- package/src/PUBLIC_URL.ts +2 -2
- package/src/account/KcContext/KcContext.ts +4 -1
- package/src/account/KcContext/kcContextMocks.ts +7 -4
- package/src/account/Template.tsx +6 -1
- package/src/account/i18n/GenericI18n.tsx +6 -0
- package/src/account/i18n/i18n.tsx +91 -129
- package/src/account/i18n/index.ts +4 -3
- package/src/account/i18n/{baseMessages → messages_defaultSet}/index.ts +3 -3
- package/src/account/i18n/useI18n.tsx +95 -0
- package/src/account/pages/Applications.tsx +0 -1
- package/src/account/pages/FederatedIdentity.tsx +1 -1
- package/src/account/pages/Totp.tsx +16 -6
- package/src/bin/add-story.ts +42 -10
- package/src/bin/eject-page.ts +119 -11
- package/src/bin/initialize-account-theme/copyBoilerplate.ts +32 -0
- package/src/bin/initialize-account-theme/index.ts +1 -0
- package/src/bin/initialize-account-theme/initialize-account-theme.ts +112 -0
- package/src/bin/initialize-account-theme/initializeAccountTheme_multiPage.ts +21 -0
- package/src/bin/initialize-account-theme/initializeAccountTheme_singlePage.ts +152 -0
- package/src/bin/initialize-account-theme/src/multi-page/KcContext.ts +12 -0
- package/src/bin/initialize-account-theme/src/multi-page/KcPage.tsx +25 -0
- package/src/bin/initialize-account-theme/src/multi-page/KcPageStory.tsx +38 -0
- package/src/bin/initialize-account-theme/src/multi-page/i18n.ts +5 -0
- package/src/bin/initialize-account-theme/src/single-page/KcContext.ts +7 -0
- package/src/bin/initialize-account-theme/src/single-page/KcPage.tsx +11 -0
- package/src/bin/initialize-account-theme/updateAccountThemeImplementationInConfig.ts +92 -0
- package/src/bin/initialize-email-theme.ts +1 -1
- package/src/bin/keycloakify/buildJars/buildJar.ts +38 -24
- package/src/bin/keycloakify/buildJars/buildJars.ts +6 -3
- package/src/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.ts +5 -5
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +16 -16
- package/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl +471 -364
- package/src/bin/keycloakify/generateResources/bringInAccountV1.ts +7 -7
- package/src/bin/keycloakify/generateResources/generateMessageProperties.ts +3 -3
- package/src/bin/keycloakify/generateResources/generateResourcesForMainTheme.ts +125 -59
- package/src/bin/keycloakify/generateResources/generateResourcesForThemeVariant.ts +2 -2
- package/src/bin/keycloakify/generateResources/readExtraPageNames.ts +5 -8
- package/src/bin/keycloakify/keycloakify.ts +8 -6
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +41 -27
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +2 -2
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +6 -6
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +4 -4
- package/src/bin/main.ts +19 -2
- package/src/bin/shared/KeycloakVersionRange.ts +4 -4
- package/src/bin/shared/buildContext.ts +360 -251
- package/src/bin/shared/constants.ts +19 -17
- package/src/bin/shared/copyKeycloakResourcesToPublic.ts +6 -6
- package/src/bin/shared/downloadKeycloakDefaultTheme.ts +48 -27
- package/src/bin/shared/downloadKeycloakStaticResources.ts +2 -2
- package/src/bin/shared/generateKcGenTs.ts +110 -3
- package/src/bin/shared/getLatestsSemVersionedTag.ts +201 -0
- package/src/bin/shared/promptKeycloakVersion.ts +20 -80
- package/src/bin/start-keycloak/appBuild.ts +15 -11
- package/src/bin/start-keycloak/keycloakifyBuild.ts +3 -3
- package/src/bin/start-keycloak/myrealm-realm-18.json +4 -4
- package/src/bin/start-keycloak/myrealm-realm-19.json +4 -4
- package/src/bin/start-keycloak/myrealm-realm-20.json +4 -4
- package/src/bin/start-keycloak/myrealm-realm-21.json +4 -4
- package/src/bin/start-keycloak/myrealm-realm-23.json +3 -3
- package/src/bin/start-keycloak/myrealm-realm-24.json +4 -4
- package/src/bin/start-keycloak/myrealm-realm-25.json +4 -4
- package/src/bin/start-keycloak/start-keycloak.ts +256 -102
- package/src/bin/tools/assertNoPnpmDlx.ts +17 -0
- package/src/bin/tools/downloadAndExtractArchive.ts +10 -9
- package/src/bin/tools/fetchProxyOptions.ts +32 -11
- package/src/bin/tools/npmInstall.ts +63 -0
- package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +3 -2
- package/src/bin/tsconfig.json +3 -1
- package/src/lib/getKcClsx.ts +2 -2
- package/src/login/KcContext/KcContext.ts +10 -28
- package/src/login/KcContext/kcContextMocks.ts +5 -6
- package/src/login/Template.tsx +32 -54
- package/src/login/TemplateProps.ts +0 -1
- package/src/login/UserProfileFormFields.tsx +15 -11
- package/src/login/i18n/GenericI18n.tsx +6 -0
- package/src/login/i18n/i18n.tsx +91 -166
- package/src/login/i18n/index.ts +4 -3
- package/src/login/i18n/{baseMessages → messages_defaultSet}/index.ts +3 -3
- package/src/login/i18n/useI18n.tsx +95 -0
- package/src/login/lib/useUserProfileForm.tsx +68 -20
- package/src/login/pages/Error.tsx +1 -1
- package/src/login/pages/Info.tsx +26 -6
- package/src/login/pages/Login.tsx +20 -9
- package/src/login/pages/LoginConfigTotp.tsx +16 -6
- package/src/login/pages/LoginOtp.tsx +8 -3
- package/src/login/pages/LoginPassword.tsx +8 -3
- package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +8 -3
- package/src/login/pages/LoginResetPassword.tsx +8 -3
- package/src/login/pages/LoginUpdatePassword.tsx +55 -47
- package/src/login/pages/Register.tsx +8 -3
- package/src/login/pages/SamlPostForm.tsx +1 -1
- package/src/login/pages/SelectAuthenticator.tsx +4 -4
- package/src/login/pages/WebauthnAuthenticate.tsx +5 -5
- package/src/login/pages/WebauthnRegister.tsx +2 -2
- package/src/tools/useInsertLinkTags.ts +9 -1
- package/src/tools/useInsertScriptTags.ts +9 -1
- package/src/vite-plugin/vite-plugin.ts +15 -13
- package/stories/account/pages/Applications.stories.tsx +80 -0
- package/stories/account/pages/Log.stories.tsx +1 -0
- package/stories/account-spa/index.stories.tsx +94 -0
- package/stories/intro/intro.stories.tsx +90 -0
- package/stories/login/pages/Info.stories.tsx +7 -2
- package/stories/login/pages/Login.stories.tsx +25 -13
- package/stories/login/pages/Register.stories.tsx +11 -9
- package/stories/login/pages/SelectAuthenticator.stories.tsx +41 -0
- package/stories/login/pages/Terms.stories.tsx +6 -2
- package/tools/useInsertLinkTags.js +7 -1
- package/tools/useInsertLinkTags.js.map +1 -1
- package/tools/useInsertScriptTags.js +7 -1
- package/tools/useInsertScriptTags.js.map +1 -1
- package/vite-plugin/index.js +25820 -25686
- package/vite-plugin/vite-plugin.d.ts +6 -4
- package/account/i18n/baseMessages/ar.js.map +0 -1
- package/account/i18n/baseMessages/ca.js.map +0 -1
- package/account/i18n/baseMessages/cs.js.map +0 -1
- package/account/i18n/baseMessages/da.js.map +0 -1
- package/account/i18n/baseMessages/de.js.map +0 -1
- package/account/i18n/baseMessages/el.js.map +0 -1
- package/account/i18n/baseMessages/en.js.map +0 -1
- package/account/i18n/baseMessages/es.js.map +0 -1
- package/account/i18n/baseMessages/fa.js.map +0 -1
- package/account/i18n/baseMessages/fi.js.map +0 -1
- package/account/i18n/baseMessages/fr.js.map +0 -1
- package/account/i18n/baseMessages/hu.js.map +0 -1
- package/account/i18n/baseMessages/index.js.map +0 -1
- package/account/i18n/baseMessages/it.js.map +0 -1
- package/account/i18n/baseMessages/ja.js.map +0 -1
- package/account/i18n/baseMessages/lt.js.map +0 -1
- package/account/i18n/baseMessages/lv.js.map +0 -1
- package/account/i18n/baseMessages/nl.js.map +0 -1
- package/account/i18n/baseMessages/no.js.map +0 -1
- package/account/i18n/baseMessages/pl.js.map +0 -1
- package/account/i18n/baseMessages/pt-BR.js.map +0 -1
- package/account/i18n/baseMessages/ru.js.map +0 -1
- package/account/i18n/baseMessages/sk.js.map +0 -1
- package/account/i18n/baseMessages/sv.js.map +0 -1
- package/account/i18n/baseMessages/th.js.map +0 -1
- package/account/i18n/baseMessages/tr.js.map +0 -1
- package/account/i18n/baseMessages/uk.js.map +0 -1
- package/account/i18n/baseMessages/zh-CN.js.map +0 -1
- package/bin/538.index.js +0 -108
- package/login/i18n/baseMessages/ar.js.map +0 -1
- package/login/i18n/baseMessages/ca.js.map +0 -1
- package/login/i18n/baseMessages/cs.js.map +0 -1
- package/login/i18n/baseMessages/da.js.map +0 -1
- package/login/i18n/baseMessages/de.js.map +0 -1
- package/login/i18n/baseMessages/el.js.map +0 -1
- package/login/i18n/baseMessages/en.js.map +0 -1
- package/login/i18n/baseMessages/es.js.map +0 -1
- package/login/i18n/baseMessages/fa.js.map +0 -1
- package/login/i18n/baseMessages/fi.js.map +0 -1
- package/login/i18n/baseMessages/fr.js.map +0 -1
- package/login/i18n/baseMessages/hu.js.map +0 -1
- package/login/i18n/baseMessages/index.js.map +0 -1
- package/login/i18n/baseMessages/it.js.map +0 -1
- package/login/i18n/baseMessages/ja.js.map +0 -1
- package/login/i18n/baseMessages/lt.js.map +0 -1
- package/login/i18n/baseMessages/lv.js.map +0 -1
- package/login/i18n/baseMessages/nl.js.map +0 -1
- package/login/i18n/baseMessages/no.js.map +0 -1
- package/login/i18n/baseMessages/pl.js.map +0 -1
- package/login/i18n/baseMessages/pt-BR.js.map +0 -1
- package/login/i18n/baseMessages/ru.js.map +0 -1
- package/login/i18n/baseMessages/sk.js.map +0 -1
- package/login/i18n/baseMessages/sv.js.map +0 -1
- package/login/i18n/baseMessages/th.js.map +0 -1
- package/login/i18n/baseMessages/tr.js.map +0 -1
- package/login/i18n/baseMessages/uk.js.map +0 -1
- package/login/i18n/baseMessages/zh-CN.js.map +0 -1
- package/src/account/i18n/useI18n.ts +0 -44
- package/src/login/i18n/useI18n.ts +0 -44
- package/src/tools/ExtractAfterStartingWith.ts +0 -4
- package/tools/ExtractAfterStartingWith.d.ts +0 -1
- package/tools/ExtractAfterStartingWith.js +0 -2
- package/tools/ExtractAfterStartingWith.js.map +0 -1
- /package/account/i18n/{baseMessages → messages_defaultSet}/ar.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/ar.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/ca.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/ca.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/cs.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/cs.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/da.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/da.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/de.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/de.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/el.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/el.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/en.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/en.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/es.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/es.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/fa.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/fa.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/fi.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/fi.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/fr.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/fr.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/hu.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/hu.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/it.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/it.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/ja.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/ja.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/lt.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/lt.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/lv.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/lv.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/nl.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/nl.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/no.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/no.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/pl.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/pl.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/pt-BR.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/pt-BR.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/ru.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/ru.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/sk.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/sk.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/sv.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/sv.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/th.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/th.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/tr.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/tr.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/uk.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/uk.js +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/zh-CN.d.ts +0 -0
- /package/account/i18n/{baseMessages → messages_defaultSet}/zh-CN.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ar.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ar.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ca.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ca.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/cs.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/cs.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/da.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/da.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/de.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/de.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/el.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/el.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/en.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/en.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/es.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/es.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/fa.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/fa.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/fi.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/fi.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/fr.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/fr.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/hu.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/hu.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/it.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/it.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ja.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ja.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/lt.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/lt.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/lv.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/lv.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/nl.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/nl.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/no.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/no.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/pl.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/pl.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/pt-BR.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/pt-BR.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ru.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/ru.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/sk.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/sk.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/sv.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/sv.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/th.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/th.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/tr.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/tr.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/uk.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/uk.js +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/zh-CN.d.ts +0 -0
- /package/login/i18n/{baseMessages → messages_defaultSet}/zh-CN.js +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/ar.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/ca.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/cs.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/da.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/de.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/el.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/en.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/es.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/fa.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/fi.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/fr.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/hu.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/it.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/ja.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/lt.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/lv.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/nl.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/no.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/pl.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/pt-BR.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/ru.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/sk.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/sv.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/th.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/tr.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/uk.ts +0 -0
- /package/src/account/i18n/{baseMessages → messages_defaultSet}/zh-CN.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/ar.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/ca.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/cs.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/da.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/de.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/el.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/en.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/es.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/fa.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/fi.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/fr.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/hu.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/it.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/ja.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/lt.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/lv.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/nl.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/no.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/pl.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/pt-BR.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/ru.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/sk.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/sv.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/th.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/tr.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/uk.ts +0 -0
- /package/src/login/i18n/{baseMessages → messages_defaultSet}/zh-CN.ts +0 -0
@@ -0,0 +1,92 @@
|
|
1
|
+
import { join as pathJoin } from "path";
|
2
|
+
import { assert, type Equals } from "tsafe/assert";
|
3
|
+
import type { BuildContext } from "../shared/buildContext";
|
4
|
+
import * as fs from "fs";
|
5
|
+
import chalk from "chalk";
|
6
|
+
import { z } from "zod";
|
7
|
+
import { id } from "tsafe/id";
|
8
|
+
|
9
|
+
export type BuildContextLike = {
|
10
|
+
bundler: BuildContext["bundler"];
|
11
|
+
};
|
12
|
+
|
13
|
+
assert<BuildContext extends BuildContextLike ? true : false>();
|
14
|
+
|
15
|
+
export function updateAccountThemeImplementationInConfig(params: {
|
16
|
+
buildContext: BuildContext;
|
17
|
+
accountThemeType: "Single-Page" | "Multi-Page";
|
18
|
+
}) {
|
19
|
+
const { buildContext, accountThemeType } = params;
|
20
|
+
|
21
|
+
switch (buildContext.bundler) {
|
22
|
+
case "vite":
|
23
|
+
{
|
24
|
+
const viteConfigPath = pathJoin(
|
25
|
+
buildContext.projectDirPath,
|
26
|
+
"vite.config.ts"
|
27
|
+
);
|
28
|
+
|
29
|
+
if (!fs.existsSync(viteConfigPath)) {
|
30
|
+
console.log(
|
31
|
+
chalk.bold(
|
32
|
+
`You must manually set the accountThemeImplementation to "${accountThemeType}" in your vite config`
|
33
|
+
)
|
34
|
+
);
|
35
|
+
break;
|
36
|
+
}
|
37
|
+
|
38
|
+
const viteConfigContent = fs
|
39
|
+
.readFileSync(viteConfigPath)
|
40
|
+
.toString("utf8");
|
41
|
+
|
42
|
+
const modifiedViteConfigContent = viteConfigContent.replace(
|
43
|
+
/accountThemeImplementation\s*:\s*"none"/,
|
44
|
+
`accountThemeImplementation: "${accountThemeType}"`
|
45
|
+
);
|
46
|
+
|
47
|
+
if (modifiedViteConfigContent === viteConfigContent) {
|
48
|
+
console.log(
|
49
|
+
chalk.bold(
|
50
|
+
`You must manually set the accountThemeImplementation to "${accountThemeType}" in your vite.config.ts`
|
51
|
+
)
|
52
|
+
);
|
53
|
+
break;
|
54
|
+
}
|
55
|
+
|
56
|
+
fs.writeFileSync(viteConfigPath, modifiedViteConfigContent);
|
57
|
+
}
|
58
|
+
break;
|
59
|
+
case "webpack":
|
60
|
+
{
|
61
|
+
const parsedPackageJson = (() => {
|
62
|
+
type ParsedPackageJson = {
|
63
|
+
keycloakify: Record<string, string>;
|
64
|
+
};
|
65
|
+
|
66
|
+
const zParsedPackageJson = (() => {
|
67
|
+
type TargetType = ParsedPackageJson;
|
68
|
+
|
69
|
+
const zTargetType = z.object({
|
70
|
+
keycloakify: z.record(z.string())
|
71
|
+
});
|
72
|
+
|
73
|
+
assert<Equals<z.infer<typeof zTargetType>, TargetType>>();
|
74
|
+
|
75
|
+
return id<z.ZodType<TargetType>>(zTargetType);
|
76
|
+
})();
|
77
|
+
|
78
|
+
return zParsedPackageJson.parse(
|
79
|
+
JSON.parse(
|
80
|
+
fs
|
81
|
+
.readFileSync(buildContext.packageJsonFilePath)
|
82
|
+
.toString("utf8")
|
83
|
+
)
|
84
|
+
);
|
85
|
+
})();
|
86
|
+
|
87
|
+
parsedPackageJson.keycloakify.accountThemeImplementation =
|
88
|
+
accountThemeType;
|
89
|
+
}
|
90
|
+
break;
|
91
|
+
}
|
92
|
+
}
|
@@ -30,7 +30,7 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
|
|
30
30
|
// NOTE: This is arbitrary
|
31
31
|
startingFromMajor: 17,
|
32
32
|
excludeMajorVersions: [],
|
33
|
-
|
33
|
+
buildContext
|
34
34
|
});
|
35
35
|
|
36
36
|
const { defaultThemeDirPath } = await downloadKeycloakDefaultTheme({
|
@@ -7,7 +7,7 @@ import { join as pathJoin, dirname as pathDirname } from "path";
|
|
7
7
|
import { transformCodebase } from "../../tools/transformCodebase";
|
8
8
|
import type { BuildContext } from "../../shared/buildContext";
|
9
9
|
import * as fs from "fs/promises";
|
10
|
-
import {
|
10
|
+
import { ACCOUNT_V1_THEME_NAME } from "../../shared/constants";
|
11
11
|
import {
|
12
12
|
generatePom,
|
13
13
|
BuildContextLike as BuildContextLike_generatePom
|
@@ -24,6 +24,7 @@ export type BuildContextLike = BuildContextLike_generatePom & {
|
|
24
24
|
artifactId: string;
|
25
25
|
themeVersion: string;
|
26
26
|
cacheDirPath: string;
|
27
|
+
implementedThemeTypes: BuildContext["implementedThemeTypes"];
|
27
28
|
};
|
28
29
|
|
29
30
|
assert<BuildContext extends BuildContextLike ? true : false>();
|
@@ -33,6 +34,7 @@ export async function buildJar(params: {
|
|
33
34
|
keycloakAccountV1Version: KeycloakAccountV1Version;
|
34
35
|
keycloakThemeAdditionalInfoExtensionVersion: KeycloakThemeAdditionalInfoExtensionVersion;
|
35
36
|
resourcesDirPath: string;
|
37
|
+
doesImplementAccountV1Theme: boolean;
|
36
38
|
buildContext: BuildContextLike;
|
37
39
|
}): Promise<void> {
|
38
40
|
const {
|
@@ -40,28 +42,30 @@ export async function buildJar(params: {
|
|
40
42
|
keycloakAccountV1Version,
|
41
43
|
keycloakThemeAdditionalInfoExtensionVersion,
|
42
44
|
resourcesDirPath,
|
45
|
+
doesImplementAccountV1Theme,
|
43
46
|
buildContext
|
44
47
|
} = params;
|
45
48
|
|
46
|
-
const
|
49
|
+
const keycloakifyBuildCacheDirPath = pathJoin(
|
47
50
|
buildContext.cacheDirPath,
|
51
|
+
"maven",
|
48
52
|
jarFileBasename.replace(".jar", "")
|
49
53
|
);
|
50
54
|
|
51
|
-
rmSync(keycloakifyBuildTmpDirPath, { recursive: true, force: true });
|
52
|
-
|
53
55
|
const tmpResourcesDirPath = pathJoin(
|
54
|
-
|
56
|
+
keycloakifyBuildCacheDirPath,
|
55
57
|
"src",
|
56
58
|
"main",
|
57
59
|
"resources"
|
58
60
|
);
|
59
61
|
|
62
|
+
rmSync(tmpResourcesDirPath, { recursive: true, force: true });
|
63
|
+
|
60
64
|
transformCodebase({
|
61
65
|
srcDirPath: resourcesDirPath,
|
62
66
|
destDirPath: tmpResourcesDirPath,
|
63
67
|
transformSourceCode:
|
64
|
-
keycloakAccountV1Version !== null
|
68
|
+
!doesImplementAccountV1Theme || keycloakAccountV1Version !== null
|
65
69
|
? undefined
|
66
70
|
: (params: {
|
67
71
|
fileRelativePath: string;
|
@@ -71,7 +75,7 @@ export async function buildJar(params: {
|
|
71
75
|
|
72
76
|
if (
|
73
77
|
isInside({
|
74
|
-
dirPath: pathJoin("theme",
|
78
|
+
dirPath: pathJoin("theme", ACCOUNT_V1_THEME_NAME),
|
75
79
|
filePath: fileRelativePath
|
76
80
|
})
|
77
81
|
) {
|
@@ -87,7 +91,7 @@ export async function buildJar(params: {
|
|
87
91
|
sourceCode
|
88
92
|
.toString("utf8")
|
89
93
|
.replace(
|
90
|
-
`parent=${
|
94
|
+
`parent=${ACCOUNT_V1_THEME_NAME}`,
|
91
95
|
"parent=keycloak"
|
92
96
|
),
|
93
97
|
"utf8"
|
@@ -105,14 +109,24 @@ export async function buildJar(params: {
|
|
105
109
|
}
|
106
110
|
});
|
107
111
|
|
108
|
-
|
112
|
+
remove_account_v1_in_meta_inf: {
|
113
|
+
if (!doesImplementAccountV1Theme) {
|
114
|
+
// NOTE: We do not have account v1 anyway
|
115
|
+
break remove_account_v1_in_meta_inf;
|
116
|
+
}
|
117
|
+
|
118
|
+
if (keycloakAccountV1Version !== null) {
|
119
|
+
// NOTE: No, we need to keep account-v1 in meta-inf
|
120
|
+
break remove_account_v1_in_meta_inf;
|
121
|
+
}
|
122
|
+
|
109
123
|
writeMetaInfKeycloakThemes({
|
110
124
|
resourcesDirPath: tmpResourcesDirPath,
|
111
125
|
getNewMetaInfKeycloakTheme: ({ metaInfKeycloakTheme }) => {
|
112
126
|
assert(metaInfKeycloakTheme !== undefined);
|
113
127
|
|
114
128
|
metaInfKeycloakTheme.themes = metaInfKeycloakTheme.themes.filter(
|
115
|
-
({ name }) => name !==
|
129
|
+
({ name }) => name !== ACCOUNT_V1_THEME_NAME
|
116
130
|
);
|
117
131
|
|
118
132
|
return metaInfKeycloakTheme;
|
@@ -121,6 +135,10 @@ export async function buildJar(params: {
|
|
121
135
|
}
|
122
136
|
|
123
137
|
route_legacy_pages: {
|
138
|
+
if (!buildContext.implementedThemeTypes.login.isImplemented) {
|
139
|
+
break route_legacy_pages;
|
140
|
+
}
|
141
|
+
|
124
142
|
// NOTE: If there's no account theme there is no special target for keycloak 24 and up so we create
|
125
143
|
// the pages anyway. If there is an account pages, since we know that account-v1 is only support keycloak
|
126
144
|
// 24 in version 0.4 and up, we can safely break the route for legacy pages.
|
@@ -135,6 +153,7 @@ export async function buildJar(params: {
|
|
135
153
|
}
|
136
154
|
})();
|
137
155
|
|
156
|
+
// TODO: Remove this optimization, it's a bit hacky.
|
138
157
|
if (doBreak) {
|
139
158
|
break route_legacy_pages;
|
140
159
|
}
|
@@ -142,10 +161,7 @@ export async function buildJar(params: {
|
|
142
161
|
(["register.ftl", "login-update-profile.ftl"] as const).forEach(pageId =>
|
143
162
|
buildContext.themeNames.map(themeName => {
|
144
163
|
const ftlFilePath = pathJoin(
|
145
|
-
|
146
|
-
"src",
|
147
|
-
"main",
|
148
|
-
"resources",
|
164
|
+
tmpResourcesDirPath,
|
149
165
|
"theme",
|
150
166
|
themeName,
|
151
167
|
"login",
|
@@ -154,7 +170,7 @@ export async function buildJar(params: {
|
|
154
170
|
|
155
171
|
const ftlFileContent = readFileSync(ftlFilePath).toString("utf8");
|
156
172
|
|
157
|
-
const
|
173
|
+
const ftlFileBasename = (() => {
|
158
174
|
switch (pageId) {
|
159
175
|
case "register.ftl":
|
160
176
|
return "register-user-profile.ftl";
|
@@ -165,14 +181,14 @@ export async function buildJar(params: {
|
|
165
181
|
})();
|
166
182
|
|
167
183
|
const modifiedFtlFileContent = ftlFileContent.replace(
|
168
|
-
`
|
169
|
-
`
|
184
|
+
`"ftlTemplateFileName": "${pageId}"`,
|
185
|
+
`"ftlTemplateFileName": "${ftlFileBasename}"`
|
170
186
|
);
|
171
187
|
|
172
188
|
assert(modifiedFtlFileContent !== ftlFileContent);
|
173
189
|
|
174
190
|
fs.writeFile(
|
175
|
-
pathJoin(pathDirname(ftlFilePath),
|
191
|
+
pathJoin(pathDirname(ftlFilePath), ftlFileBasename),
|
176
192
|
Buffer.from(modifiedFtlFileContent, "utf8")
|
177
193
|
);
|
178
194
|
})
|
@@ -187,15 +203,15 @@ export async function buildJar(params: {
|
|
187
203
|
});
|
188
204
|
|
189
205
|
await fs.writeFile(
|
190
|
-
pathJoin(
|
206
|
+
pathJoin(keycloakifyBuildCacheDirPath, "pom.xml"),
|
191
207
|
Buffer.from(pomFileCode, "utf8")
|
192
208
|
);
|
193
209
|
}
|
194
210
|
|
195
211
|
await new Promise<void>((resolve, reject) =>
|
196
212
|
child_process.exec(
|
197
|
-
`mvn
|
198
|
-
{ cwd:
|
213
|
+
`mvn install -Dmaven.repo.local="${pathJoin(keycloakifyBuildCacheDirPath, ".m2")}"`,
|
214
|
+
{ cwd: keycloakifyBuildCacheDirPath },
|
199
215
|
error => {
|
200
216
|
if (error !== null) {
|
201
217
|
console.error(
|
@@ -220,12 +236,10 @@ export async function buildJar(params: {
|
|
220
236
|
|
221
237
|
await fs.rename(
|
222
238
|
pathJoin(
|
223
|
-
|
239
|
+
keycloakifyBuildCacheDirPath,
|
224
240
|
"target",
|
225
241
|
`${buildContext.artifactId}-${buildContext.themeVersion}.jar`
|
226
242
|
),
|
227
243
|
pathJoin(buildContext.keycloakifyBuildDirPath, jarFileBasename)
|
228
244
|
);
|
229
|
-
|
230
|
-
rmSync(keycloakifyBuildTmpDirPath, { recursive: true });
|
231
245
|
}
|
@@ -10,7 +10,7 @@ import type { BuildContext } from "../../shared/buildContext";
|
|
10
10
|
export type BuildContextLike = BuildContextLike_buildJar & {
|
11
11
|
projectDirPath: string;
|
12
12
|
keycloakifyBuildDirPath: string;
|
13
|
-
|
13
|
+
implementedThemeTypes: BuildContext["implementedThemeTypes"];
|
14
14
|
jarTargets: BuildContext["jarTargets"];
|
15
15
|
};
|
16
16
|
|
@@ -22,7 +22,9 @@ export async function buildJars(params: {
|
|
22
22
|
}): Promise<void> {
|
23
23
|
const { resourcesDirPath, buildContext } = params;
|
24
24
|
|
25
|
-
const
|
25
|
+
const doesImplementAccountV1Theme =
|
26
|
+
buildContext.implementedThemeTypes.account.isImplemented &&
|
27
|
+
buildContext.implementedThemeTypes.account.type === "Multi-Page";
|
26
28
|
|
27
29
|
await Promise.all(
|
28
30
|
keycloakAccountV1Versions
|
@@ -30,7 +32,7 @@ export async function buildJars(params: {
|
|
30
32
|
keycloakThemeAdditionalInfoExtensionVersions.map(
|
31
33
|
keycloakThemeAdditionalInfoExtensionVersion => {
|
32
34
|
const keycloakVersionRange = getKeycloakVersionRangeForJar({
|
33
|
-
|
35
|
+
doesImplementAccountV1Theme,
|
34
36
|
keycloakAccountV1Version,
|
35
37
|
keycloakThemeAdditionalInfoExtensionVersion
|
36
38
|
});
|
@@ -55,6 +57,7 @@ export async function buildJars(params: {
|
|
55
57
|
keycloakAccountV1Version,
|
56
58
|
keycloakThemeAdditionalInfoExtensionVersion,
|
57
59
|
resourcesDirPath,
|
60
|
+
doesImplementAccountV1Theme,
|
58
61
|
buildContext
|
59
62
|
});
|
60
63
|
}
|
@@ -6,17 +6,17 @@ import type {
|
|
6
6
|
import type { KeycloakVersionRange } from "../../shared/KeycloakVersionRange";
|
7
7
|
|
8
8
|
export function getKeycloakVersionRangeForJar(params: {
|
9
|
-
|
9
|
+
doesImplementAccountV1Theme: boolean;
|
10
10
|
keycloakAccountV1Version: KeycloakAccountV1Version;
|
11
11
|
keycloakThemeAdditionalInfoExtensionVersion: KeycloakThemeAdditionalInfoExtensionVersion;
|
12
12
|
}): KeycloakVersionRange | undefined {
|
13
13
|
const {
|
14
14
|
keycloakAccountV1Version,
|
15
15
|
keycloakThemeAdditionalInfoExtensionVersion,
|
16
|
-
|
16
|
+
doesImplementAccountV1Theme
|
17
17
|
} = params;
|
18
18
|
|
19
|
-
if (
|
19
|
+
if (doesImplementAccountV1Theme) {
|
20
20
|
const keycloakVersionRange = (() => {
|
21
21
|
switch (keycloakAccountV1Version) {
|
22
22
|
case null:
|
@@ -63,7 +63,7 @@ export function getKeycloakVersionRangeForJar(params: {
|
|
63
63
|
assert<
|
64
64
|
Equals<
|
65
65
|
typeof keycloakVersionRange,
|
66
|
-
KeycloakVersionRange.
|
66
|
+
KeycloakVersionRange.WithAccountV1Theme | undefined
|
67
67
|
>
|
68
68
|
>();
|
69
69
|
|
@@ -87,7 +87,7 @@ export function getKeycloakVersionRangeForJar(params: {
|
|
87
87
|
assert<
|
88
88
|
Equals<
|
89
89
|
typeof keycloakVersionRange,
|
90
|
-
KeycloakVersionRange.
|
90
|
+
KeycloakVersionRange.WithoutAccountV1Theme | undefined
|
91
91
|
>
|
92
92
|
>();
|
93
93
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import cheerio from "cheerio";
|
1
|
+
import * as cheerio from "cheerio";
|
2
2
|
import {
|
3
3
|
replaceImportsInJsCode,
|
4
4
|
BuildContextLike as BuildContextLike_replaceImportsInJsCode
|
@@ -13,8 +13,8 @@ import type { BuildContext } from "../../shared/buildContext";
|
|
13
13
|
import { assert } from "tsafe/assert";
|
14
14
|
import {
|
15
15
|
type ThemeType,
|
16
|
-
|
17
|
-
|
16
|
+
BASENAME_OF_KEYCLOAKIFY_RESOURCES_DIR,
|
17
|
+
RESOURCES_COMMON
|
18
18
|
} from "../../shared/constants";
|
19
19
|
import { getThisCodebaseRootDirPath } from "../../tools/getThisCodebaseRootDirPath";
|
20
20
|
|
@@ -77,7 +77,8 @@ export function generateFtlFilesCodeFactory(params: {
|
|
77
77
|
(
|
78
78
|
[
|
79
79
|
["link", "href"],
|
80
|
-
["script", "src"]
|
80
|
+
["script", "src"],
|
81
|
+
["script", "data-src"]
|
81
82
|
] as const
|
82
83
|
).forEach(([selector, attrName]) =>
|
83
84
|
$(selector).each((...[, element]) => {
|
@@ -93,7 +94,7 @@ export function generateFtlFilesCodeFactory(params: {
|
|
93
94
|
new RegExp(
|
94
95
|
`^${(buildContext.urlPathname ?? "/").replace(/\//g, "\\/")}`
|
95
96
|
),
|
96
|
-
`\${
|
97
|
+
`\${xKeycloakify.resourcesPath}/${BASENAME_OF_KEYCLOAKIFY_RESOURCES_DIR}/`
|
97
98
|
)
|
98
99
|
);
|
99
100
|
})
|
@@ -113,19 +114,17 @@ export function generateFtlFilesCodeFactory(params: {
|
|
113
114
|
)
|
114
115
|
)
|
115
116
|
.toString("utf8")
|
117
|
+
.replace("{{themeType}}", themeType)
|
118
|
+
.replace("{{themeName}}", themeName)
|
119
|
+
.replace("{{keycloakifyVersion}}", keycloakifyVersion)
|
120
|
+
.replace("{{themeVersion}}", buildContext.themeVersion)
|
121
|
+
.replace("{{fieldNames}}", fieldNames.map(name => `"${name}"`).join(", "))
|
122
|
+
.replace("{{RESOURCES_COMMON}}", RESOURCES_COMMON)
|
116
123
|
.replace(
|
117
|
-
"
|
118
|
-
fieldNames.map(name => `"${name}"`).join(", ")
|
119
|
-
)
|
120
|
-
.replace("KEYCLOAKIFY_VERSION_xEdKd3xEdr", keycloakifyVersion)
|
121
|
-
.replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildContext.themeVersion)
|
122
|
-
.replace("KEYCLOAKIFY_THEME_TYPE_dExKd3xEdr", themeType)
|
123
|
-
.replace("KEYCLOAKIFY_THEME_NAME_cXxKd3xEer", themeName)
|
124
|
-
.replace("RESOURCES_COMMON_cLsLsMrtDkpVv", resources_common)
|
125
|
-
.replace(
|
126
|
-
"USER_DEFINED_EXCLUSIONS_eKsaY4ZsZ4eMr2",
|
124
|
+
"{{userDefinedExclusions}}",
|
127
125
|
buildContext.kcContextExclusionsFtlCode ?? ""
|
128
126
|
);
|
127
|
+
|
129
128
|
const ftlObjectToJsCodeDeclaringAnObjectPlaceholder =
|
130
129
|
'{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }';
|
131
130
|
|
@@ -170,7 +169,8 @@ export function generateFtlFilesCodeFactory(params: {
|
|
170
169
|
Object.entries({
|
171
170
|
[ftlObjectToJsCodeDeclaringAnObjectPlaceholder]:
|
172
171
|
kcContextDeclarationTemplateFtl,
|
173
|
-
|
172
|
+
"{{pageId}}": pageId,
|
173
|
+
"{{ftlTemplateFileName}}": pageId
|
174
174
|
}).map(
|
175
175
|
([searchValue, replaceValue]) =>
|
176
176
|
(ftlCode = ftlCode.replace(searchValue, replaceValue))
|