keycloakify 10.0.0-rc.108 → 10.0.0-rc.110
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/KcContext/KcContext.d.ts +4 -1
- package/account/KcContext/KcContext.js.map +1 -1
- package/account/KcContext/kcContextMocks.js +4 -1
- package/account/KcContext/kcContextMocks.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 +47 -67
- 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 +24 -2
- package/account/i18n/useI18n.js.map +1 -1
- package/bin/440.index.js +8 -9
- package/login/KcContext/KcContext.d.ts +1 -0
- package/login/KcContext/KcContext.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 +21 -30
- package/login/i18n/i18n.js +44 -93
- 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 +33 -2
- package/login/i18n/useI18n.js.map +1 -1
- package/login/lib/useUserProfileForm.js +4 -3
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Info.js +1 -1
- package/login/pages/Info.js.map +1 -1
- package/package.json +235 -227
- package/src/account/KcContext/KcContext.ts +4 -1
- package/src/account/KcContext/kcContextMocks.ts +4 -1
- package/src/account/i18n/GenericI18n.tsx +6 -0
- package/src/account/i18n/i18n.tsx +88 -126
- 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 +81 -0
- package/src/bin/keycloakify/buildJars/buildJar.ts +10 -14
- package/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl +100 -88
- package/src/bin/keycloakify/generateResources/generateMessageProperties.ts +1 -1
- package/src/login/KcContext/KcContext.ts +1 -0
- package/src/login/i18n/GenericI18n.tsx +6 -0
- package/src/login/i18n/i18n.tsx +82 -165
- 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 +90 -0
- package/src/login/lib/useUserProfileForm.tsx +13 -12
- package/src/login/pages/Info.tsx +1 -1
- package/stories/login/pages/Register.stories.tsx +6 -6
- package/stories/login/pages/SelectAuthenticator.stories.tsx +19 -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/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/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
@@ -1,22 +1,24 @@
|
|
1
1
|
import "keycloakify/tools/Object.fromEntries";
|
2
2
|
import { assert } from "tsafe/assert";
|
3
|
-
import
|
4
|
-
import {
|
3
|
+
import messages_defaultSet_fallbackLanguage from "./messages_defaultSet/en";
|
4
|
+
import { fetchMessages_defaultSet } from "./messages_defaultSet";
|
5
5
|
import type { KcContext } from "../KcContext";
|
6
6
|
import { fallbackLanguageTag } from "keycloakify/bin/shared/constants";
|
7
|
+
import { id } from "tsafe/id";
|
7
8
|
|
8
9
|
export type KcContextLike = {
|
9
10
|
locale?: {
|
10
11
|
currentLanguageTag: string;
|
11
12
|
supported: { languageTag: string; url: string; label: string }[];
|
12
13
|
};
|
14
|
+
"x-keycloakify": {
|
15
|
+
messages: Record<string, string>;
|
16
|
+
};
|
13
17
|
};
|
14
18
|
|
15
19
|
assert<KcContext extends KcContextLike ? true : false>();
|
16
20
|
|
17
|
-
export type MessageKey
|
18
|
-
|
19
|
-
export type GenericI18n<MessageKey extends string> = {
|
21
|
+
export type GenericI18n_noJsx<MessageKey extends string> = {
|
20
22
|
/**
|
21
23
|
* e.g: "en", "fr", "zh-CN"
|
22
24
|
*
|
@@ -36,16 +38,21 @@ export type GenericI18n<MessageKey extends string> = {
|
|
36
38
|
* */
|
37
39
|
labelBySupportedLanguageTag: Record<string, string>;
|
38
40
|
/**
|
41
|
+
*
|
39
42
|
* Examples assuming currentLanguageTag === "en"
|
43
|
+
* {
|
44
|
+
* en: {
|
45
|
+
* "access-denied": "Access denied",
|
46
|
+
* "impersonateTitleHtml": "<strong>{0}</strong> Impersonate User",
|
47
|
+
* "bar": "Bar {0}"
|
48
|
+
* }
|
49
|
+
* }
|
40
50
|
*
|
41
|
-
*
|
42
|
-
*
|
43
|
-
*/
|
44
|
-
msg: (key: MessageKey, ...args: (string | undefined)[]) => JSX.Element;
|
45
|
-
/**
|
46
|
-
* It's the same thing as msg() but instead of returning a JSX.Element it returns a string.
|
47
|
-
* It can be more convenient to manipulate strings but if there are HTML tags it wont render.
|
51
|
+
* msgStr("access-denied") === "Access denied"
|
52
|
+
* msgStr("not-a-message-key") Throws an error
|
48
53
|
* msgStr("impersonateTitleHtml", "Foo") === "<strong>Foo</strong> Impersonate User"
|
54
|
+
* msgStr("${bar}", "<strong>c</strong>") === "Bar <strong>XXX</strong>"
|
55
|
+
* The html in the arg is partially escaped for security reasons, it might come from an untrusted source, it's not safe to render it as html.
|
49
56
|
*/
|
50
57
|
msgStr: (key: MessageKey, ...args: (string | undefined)[]) => string;
|
51
58
|
/**
|
@@ -56,24 +63,11 @@ export type GenericI18n<MessageKey extends string> = {
|
|
56
63
|
* {
|
57
64
|
* en: {
|
58
65
|
* "access-denied": "Access denied",
|
59
|
-
* "foo": "Foo {0} {1}",
|
60
|
-
* "bar": "Bar {0}"
|
61
66
|
* }
|
62
67
|
* }
|
63
68
|
*
|
64
|
-
*
|
65
|
-
*
|
66
|
-
* advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === <span>not-a-message-key</span>
|
67
|
-
* advancedMsg("${bar}", "<strong>c</strong>")
|
68
|
-
* === <span>{msgStr("bar", "<strong>XXX</strong>")}<span>
|
69
|
-
* === <span>Bar <strong>XXX</strong></span> (The html in the arg is partially escaped for security reasons, it might be untrusted)
|
70
|
-
* advancedMsg("${foo} xx ${bar}", "a", "b", "c")
|
71
|
-
* === <span>{msgStr("foo", "a", "b")} xx {msgStr("bar")}<span>
|
72
|
-
* === <span>Foo a b xx Bar {0}</span> (The substitution are only applied in the first message)
|
73
|
-
*/
|
74
|
-
advancedMsg: (key: string, ...args: (string | undefined)[]) => JSX.Element;
|
75
|
-
/**
|
76
|
-
* See advancedMsg() but instead of returning a JSX.Element it returns a string.
|
69
|
+
* advancedMsgStr("${access-denied}") === advancedMsgStr("access-denied") === msgStr("access-denied") === "Access denied"
|
70
|
+
* advancedMsgStr("${not-a-message-key}") === advancedMsgStr("not-a-message-key") === "not-a-message-key"
|
77
71
|
*/
|
78
72
|
advancedMsgStr: (key: string, ...args: (string | undefined)[]) => string;
|
79
73
|
|
@@ -85,10 +79,12 @@ export type GenericI18n<MessageKey extends string> = {
|
|
85
79
|
isFetchingTranslations: boolean;
|
86
80
|
};
|
87
81
|
|
88
|
-
export
|
89
|
-
|
82
|
+
export type MessageKey_defaultSet = keyof typeof messages_defaultSet_fallbackLanguage;
|
83
|
+
|
84
|
+
export function createGetI18n<MessageKey_themeDefined extends string = never>(messagesByLanguageTag_themeDefined: {
|
85
|
+
[languageTag: string]: { [key in MessageKey_themeDefined]: string };
|
90
86
|
}) {
|
91
|
-
type I18n =
|
87
|
+
type I18n = GenericI18n_noJsx<MessageKey_defaultSet | MessageKey_themeDefined>;
|
92
88
|
|
93
89
|
type Result = { i18n: I18n; prI18n_currentLanguage: Promise<I18n> | undefined };
|
94
90
|
|
@@ -123,10 +119,18 @@ export function createGetI18n<ExtraMessageKey extends string = never>(messageBun
|
|
123
119
|
labelBySupportedLanguageTag: Object.fromEntries((kcContext.locale?.supported ?? []).map(({ languageTag, label }) => [languageTag, label]))
|
124
120
|
};
|
125
121
|
|
126
|
-
const { createI18nTranslationFunctions } = createI18nTranslationFunctionsFactory<
|
127
|
-
|
128
|
-
|
129
|
-
|
122
|
+
const { createI18nTranslationFunctions } = createI18nTranslationFunctionsFactory<MessageKey_themeDefined>({
|
123
|
+
messages_themeDefined:
|
124
|
+
messagesByLanguageTag_themeDefined[partialI18n.currentLanguageTag] ??
|
125
|
+
messagesByLanguageTag_themeDefined[fallbackLanguageTag] ??
|
126
|
+
(() => {
|
127
|
+
const firstLanguageTag = Object.keys(messagesByLanguageTag_themeDefined)[0];
|
128
|
+
if (firstLanguageTag === undefined) {
|
129
|
+
return undefined;
|
130
|
+
}
|
131
|
+
return messagesByLanguageTag_themeDefined[firstLanguageTag];
|
132
|
+
})(),
|
133
|
+
messages_fromKcServer: kcContext["x-keycloakify"].messages
|
130
134
|
});
|
131
135
|
|
132
136
|
const isCurrentLanguageFallbackLanguage = partialI18n.currentLanguageTag === fallbackLanguageTag;
|
@@ -135,18 +139,18 @@ export function createGetI18n<ExtraMessageKey extends string = never>(messageBun
|
|
135
139
|
i18n: {
|
136
140
|
...partialI18n,
|
137
141
|
...createI18nTranslationFunctions({
|
138
|
-
|
142
|
+
messages_defaultSet_currentLanguage: isCurrentLanguageFallbackLanguage ? messages_defaultSet_fallbackLanguage : undefined
|
139
143
|
}),
|
140
144
|
isFetchingTranslations: !isCurrentLanguageFallbackLanguage
|
141
145
|
},
|
142
146
|
prI18n_currentLanguage: isCurrentLanguageFallbackLanguage
|
143
147
|
? undefined
|
144
148
|
: (async () => {
|
145
|
-
const
|
149
|
+
const messages_defaultSet_currentLanguage = await fetchMessages_defaultSet(partialI18n.currentLanguageTag);
|
146
150
|
|
147
151
|
const i18n_currentLanguage: I18n = {
|
148
152
|
...partialI18n,
|
149
|
-
...createI18nTranslationFunctions({
|
153
|
+
...createI18nTranslationFunctions({ messages_defaultSet_currentLanguage }),
|
150
154
|
isFetchingTranslations: false
|
151
155
|
};
|
152
156
|
|
@@ -169,118 +173,76 @@ export function createGetI18n<ExtraMessageKey extends string = never>(messageBun
|
|
169
173
|
return { getI18n };
|
170
174
|
}
|
171
175
|
|
172
|
-
function createI18nTranslationFunctionsFactory<
|
173
|
-
|
174
|
-
|
175
|
-
messageBundle_currentLanguage: Partial<Record<ExtraMessageKey, string>> | undefined;
|
176
|
+
function createI18nTranslationFunctionsFactory<MessageKey_themeDefined extends string>(params: {
|
177
|
+
messages_themeDefined: Record<MessageKey_themeDefined, string> | undefined;
|
178
|
+
messages_fromKcServer: Record<string, string>;
|
176
179
|
}) {
|
177
|
-
const {
|
178
|
-
|
179
|
-
const messages_fallbackLanguage = {
|
180
|
-
...params.messages_fallbackLanguage,
|
181
|
-
...params.messageBundle_fallbackLanguage
|
182
|
-
};
|
180
|
+
const { messages_themeDefined, messages_fromKcServer } = params;
|
183
181
|
|
184
182
|
function createI18nTranslationFunctions(params: {
|
185
|
-
|
186
|
-
}): Pick<
|
187
|
-
const
|
188
|
-
...params.messages_currentLanguage,
|
189
|
-
...messageBundle_currentLanguage
|
190
|
-
};
|
183
|
+
messages_defaultSet_currentLanguage: Partial<Record<MessageKey_defaultSet, string>> | undefined;
|
184
|
+
}): Pick<GenericI18n_noJsx<MessageKey_defaultSet | MessageKey_themeDefined>, "msgStr" | "advancedMsgStr"> {
|
185
|
+
const { messages_defaultSet_currentLanguage } = params;
|
191
186
|
|
192
|
-
function resolveMsg(props: { key: string; args: (string | undefined)[]
|
193
|
-
const { key, args
|
187
|
+
function resolveMsg(props: { key: string; args: (string | undefined)[] }): string | undefined {
|
188
|
+
const { key, args } = props;
|
194
189
|
|
195
|
-
const
|
190
|
+
const message =
|
191
|
+
id<Record<string, string | undefined>>(messages_fromKcServer)[key] ??
|
192
|
+
id<Record<string, string | undefined> | undefined>(messages_themeDefined)?.[key] ??
|
193
|
+
id<Record<string, string | undefined> | undefined>(messages_defaultSet_currentLanguage)?.[key] ??
|
194
|
+
id<Record<string, string | undefined>>(messages_defaultSet_fallbackLanguage)[key];
|
196
195
|
|
197
|
-
if (
|
196
|
+
if (message === undefined) {
|
198
197
|
return undefined;
|
199
198
|
}
|
200
199
|
|
201
|
-
const
|
200
|
+
const startIndex = message
|
201
|
+
.match(/{[0-9]+}/g)
|
202
|
+
?.map(g => g.match(/{([0-9]+)}/)![1])
|
203
|
+
.map(indexStr => parseInt(indexStr))
|
204
|
+
.sort((a, b) => a - b)[0];
|
202
205
|
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
.map(indexStr => parseInt(indexStr))
|
208
|
-
.sort((a, b) => a - b)[0];
|
206
|
+
if (startIndex === undefined) {
|
207
|
+
// No {0} in message (no arguments expected)
|
208
|
+
return message;
|
209
|
+
}
|
209
210
|
|
210
|
-
|
211
|
-
// No {0} in message (no arguments expected)
|
212
|
-
return message;
|
213
|
-
}
|
211
|
+
let messageWithArgsInjected = message;
|
214
212
|
|
215
|
-
|
213
|
+
args.forEach((arg, i) => {
|
214
|
+
if (arg === undefined) {
|
215
|
+
return;
|
216
|
+
}
|
216
217
|
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
218
|
+
messageWithArgsInjected = messageWithArgsInjected.replace(
|
219
|
+
new RegExp(`\\{${i + startIndex}\\}`, "g"),
|
220
|
+
arg.replace(/</g, "<").replace(/>/g, ">")
|
221
|
+
);
|
222
|
+
});
|
221
223
|
|
222
|
-
|
223
|
-
new RegExp(`\\{${i + startIndex}\\}`, "g"),
|
224
|
-
arg.replace(/</g, "<").replace(/>/g, ">")
|
225
|
-
);
|
226
|
-
});
|
227
|
-
|
228
|
-
return messageWithArgsInjected;
|
229
|
-
})();
|
230
|
-
|
231
|
-
return doRenderAsHtml ? (
|
232
|
-
<span
|
233
|
-
// NOTE: The message is trusted. The arguments are not but are escaped.
|
234
|
-
dangerouslySetInnerHTML={{
|
235
|
-
__html: messageWithArgsInjectedIfAny
|
236
|
-
}}
|
237
|
-
/>
|
238
|
-
) : (
|
239
|
-
messageWithArgsInjectedIfAny
|
240
|
-
);
|
224
|
+
return messageWithArgsInjected;
|
241
225
|
}
|
242
226
|
|
243
|
-
function resolveMsgAdvanced(props: { key: string; args: (string | undefined)[]
|
244
|
-
const { key, args
|
227
|
+
function resolveMsgAdvanced(props: { key: string; args: (string | undefined)[] }): string {
|
228
|
+
const { key, args } = props;
|
245
229
|
|
246
|
-
|
247
|
-
const resolvedMessage = resolveMsg({ key, args, doRenderAsHtml });
|
248
|
-
|
249
|
-
if (resolvedMessage === undefined) {
|
250
|
-
return doRenderAsHtml ? <span dangerouslySetInnerHTML={{ __html: key }} /> : key;
|
251
|
-
}
|
230
|
+
const match = key.match(/^\$\{(.+)\}$/);
|
252
231
|
|
253
|
-
|
232
|
+
if (match === null) {
|
233
|
+
return key;
|
254
234
|
}
|
255
235
|
|
256
|
-
|
257
|
-
|
258
|
-
const resolvedComplexMessage = key.replace(/\$\{([^}]+)\}/g, (...[, key_i]) => {
|
259
|
-
const replaceBy = resolveMsg({ key: key_i, args: isFirstMatch ? args : [], doRenderAsHtml: false }) ?? key_i;
|
260
|
-
|
261
|
-
isFirstMatch = false;
|
262
|
-
|
263
|
-
return replaceBy;
|
264
|
-
});
|
265
|
-
|
266
|
-
return doRenderAsHtml ? <span dangerouslySetInnerHTML={{ __html: resolvedComplexMessage }} /> : resolvedComplexMessage;
|
236
|
+
return resolveMsg({ key: match[1], args }) ?? key;
|
267
237
|
}
|
268
238
|
|
269
239
|
return {
|
270
|
-
msgStr: (key, ...args) =>
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
doRenderAsHtml: true
|
277
|
-
}) as JSX.Element,
|
278
|
-
advancedMsgStr: (key, ...args) =>
|
279
|
-
resolveMsgAdvanced({
|
280
|
-
key,
|
281
|
-
args,
|
282
|
-
doRenderAsHtml: false
|
283
|
-
}) as string
|
240
|
+
msgStr: (key, ...args) => {
|
241
|
+
const resolvedMessage = resolveMsg({ key, args });
|
242
|
+
assert(resolvedMessage !== undefined, `Message with key "${key}" not found`);
|
243
|
+
return resolvedMessage;
|
244
|
+
},
|
245
|
+
advancedMsgStr: (key, ...args) => resolveMsgAdvanced({ key, args })
|
284
246
|
};
|
285
247
|
}
|
286
248
|
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import type { GenericI18n
|
2
|
-
|
3
|
-
export type
|
1
|
+
import type { GenericI18n } from "./GenericI18n";
|
2
|
+
import type { MessageKey_defaultSet, KcContextLike } from "./i18n";
|
3
|
+
export type { MessageKey_defaultSet, KcContextLike };
|
4
|
+
export type I18n = GenericI18n<MessageKey_defaultSet>;
|
4
5
|
export { createUseI18n } from "./useI18n";
|
@@ -2,8 +2,8 @@
|
|
2
2
|
//PLEASE DO NOT EDIT MANUALLY
|
3
3
|
import * as en from "./en";
|
4
4
|
|
5
|
-
export async function
|
6
|
-
const { default:
|
5
|
+
export async function fetchMessages_defaultSet(currentLanguageTag: string) {
|
6
|
+
const { default: messages_defaultSet } = await (() => {
|
7
7
|
switch (currentLanguageTag) {
|
8
8
|
case "en": return en;
|
9
9
|
case "ar": return import("./ar");
|
@@ -35,5 +35,5 @@ export async function getMessages(currentLanguageTag: string) {
|
|
35
35
|
default: return { "default": {} };
|
36
36
|
}
|
37
37
|
})();
|
38
|
-
return
|
38
|
+
return messages_defaultSet;
|
39
39
|
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import { useEffect, useState } from "react";
|
2
|
+
import { createGetI18n, type GenericI18n_noJsx, type KcContextLike, type MessageKey_defaultSet } from "./i18n";
|
3
|
+
import { GenericI18n } from "./GenericI18n";
|
4
|
+
import { Reflect } from "tsafe/Reflect";
|
5
|
+
|
6
|
+
export function createUseI18n<MessageKey_themeDefined extends string = never>(messageBundle: {
|
7
|
+
[languageTag: string]: { [key in MessageKey_themeDefined]: string };
|
8
|
+
}) {
|
9
|
+
type MessageKey = MessageKey_defaultSet | MessageKey_themeDefined;
|
10
|
+
|
11
|
+
type I18n = GenericI18n<MessageKey>;
|
12
|
+
|
13
|
+
const { withJsx } = (() => {
|
14
|
+
const cache = new WeakMap<GenericI18n_noJsx<MessageKey>, GenericI18n<MessageKey>>();
|
15
|
+
|
16
|
+
function renderHtmlString(htmlString: string): JSX.Element {
|
17
|
+
return (
|
18
|
+
<div
|
19
|
+
style={{ display: "inline-block" }}
|
20
|
+
dangerouslySetInnerHTML={{
|
21
|
+
__html: htmlString
|
22
|
+
}}
|
23
|
+
/>
|
24
|
+
);
|
25
|
+
}
|
26
|
+
|
27
|
+
function withJsx(i18n_noJsx: GenericI18n_noJsx<MessageKey>): I18n {
|
28
|
+
use_cache: {
|
29
|
+
const i18n = cache.get(i18n_noJsx);
|
30
|
+
|
31
|
+
if (i18n === undefined) {
|
32
|
+
break use_cache;
|
33
|
+
}
|
34
|
+
|
35
|
+
return i18n;
|
36
|
+
}
|
37
|
+
|
38
|
+
const i18n: I18n = {
|
39
|
+
...i18n_noJsx,
|
40
|
+
msg: (...args) => renderHtmlString(i18n_noJsx.msgStr(...args)),
|
41
|
+
advancedMsg: (...args) => renderHtmlString(i18n_noJsx.advancedMsgStr(...args))
|
42
|
+
};
|
43
|
+
|
44
|
+
cache.set(i18n_noJsx, i18n);
|
45
|
+
|
46
|
+
return i18n;
|
47
|
+
}
|
48
|
+
|
49
|
+
return { withJsx };
|
50
|
+
})();
|
51
|
+
|
52
|
+
const { getI18n } = createGetI18n(messageBundle);
|
53
|
+
|
54
|
+
function useI18n(params: { kcContext: KcContextLike }): { i18n: I18n } {
|
55
|
+
const { kcContext } = params;
|
56
|
+
|
57
|
+
const { i18n, prI18n_currentLanguage } = getI18n({ kcContext });
|
58
|
+
|
59
|
+
const [i18n_toReturn, setI18n_toReturn] = useState<I18n>(withJsx(i18n));
|
60
|
+
|
61
|
+
useEffect(() => {
|
62
|
+
let isActive = true;
|
63
|
+
|
64
|
+
prI18n_currentLanguage?.then(i18n => {
|
65
|
+
if (!isActive) {
|
66
|
+
return;
|
67
|
+
}
|
68
|
+
|
69
|
+
setI18n_toReturn(withJsx(i18n));
|
70
|
+
});
|
71
|
+
|
72
|
+
return () => {
|
73
|
+
isActive = false;
|
74
|
+
};
|
75
|
+
}, []);
|
76
|
+
|
77
|
+
return { i18n: i18n_toReturn };
|
78
|
+
}
|
79
|
+
|
80
|
+
return { useI18n, ofTypeI18n: Reflect<I18n>() };
|
81
|
+
}
|
@@ -45,20 +45,21 @@ export async function buildJar(params: {
|
|
45
45
|
buildContext
|
46
46
|
} = params;
|
47
47
|
|
48
|
-
const
|
48
|
+
const keycloakifyBuildCacheDirPath = pathJoin(
|
49
49
|
buildContext.cacheDirPath,
|
50
|
+
"maven",
|
50
51
|
jarFileBasename.replace(".jar", "")
|
51
52
|
);
|
52
53
|
|
53
|
-
rmSync(keycloakifyBuildTmpDirPath, { recursive: true, force: true });
|
54
|
-
|
55
54
|
const tmpResourcesDirPath = pathJoin(
|
56
|
-
|
55
|
+
keycloakifyBuildCacheDirPath,
|
57
56
|
"src",
|
58
57
|
"main",
|
59
58
|
"resources"
|
60
59
|
);
|
61
60
|
|
61
|
+
rmSync(tmpResourcesDirPath, { recursive: true, force: true });
|
62
|
+
|
62
63
|
transformCodebase({
|
63
64
|
srcDirPath: resourcesDirPath,
|
64
65
|
destDirPath: tmpResourcesDirPath,
|
@@ -155,10 +156,7 @@ export async function buildJar(params: {
|
|
155
156
|
(["register.ftl", "login-update-profile.ftl"] as const).forEach(pageId =>
|
156
157
|
buildContext.themeNames.map(themeName => {
|
157
158
|
const ftlFilePath = pathJoin(
|
158
|
-
|
159
|
-
"src",
|
160
|
-
"main",
|
161
|
-
"resources",
|
159
|
+
tmpResourcesDirPath,
|
162
160
|
"theme",
|
163
161
|
themeName,
|
164
162
|
"login",
|
@@ -200,15 +198,15 @@ export async function buildJar(params: {
|
|
200
198
|
});
|
201
199
|
|
202
200
|
await fs.writeFile(
|
203
|
-
pathJoin(
|
201
|
+
pathJoin(keycloakifyBuildCacheDirPath, "pom.xml"),
|
204
202
|
Buffer.from(pomFileCode, "utf8")
|
205
203
|
);
|
206
204
|
}
|
207
205
|
|
208
206
|
await new Promise<void>((resolve, reject) =>
|
209
207
|
child_process.exec(
|
210
|
-
`mvn
|
211
|
-
{ cwd:
|
208
|
+
`mvn install -Dmaven.repo.local="${pathJoin(keycloakifyBuildCacheDirPath, ".m2")}"`,
|
209
|
+
{ cwd: keycloakifyBuildCacheDirPath },
|
212
210
|
error => {
|
213
211
|
if (error !== null) {
|
214
212
|
console.error(
|
@@ -233,12 +231,10 @@ export async function buildJar(params: {
|
|
233
231
|
|
234
232
|
await fs.rename(
|
235
233
|
pathJoin(
|
236
|
-
|
234
|
+
keycloakifyBuildCacheDirPath,
|
237
235
|
"target",
|
238
236
|
`${buildContext.artifactId}-${buildContext.themeVersion}.jar`
|
239
237
|
),
|
240
238
|
pathJoin(buildContext.keycloakifyBuildDirPath, jarFileBasename)
|
241
239
|
);
|
242
|
-
|
243
|
-
rmSync(keycloakifyBuildTmpDirPath, { recursive: true });
|
244
240
|
}
|