Compare commits

..

20 Commits

Author SHA1 Message Date
f577d71855 Enabling shorter import paths [automatic] 2021-03-05 19:45:47 +00:00
68e6c9faaf Update changelog v0.1.0 2021-03-05 19:44:56 +00:00
f3fb360ce0 Rename keycloakify 2021-03-05 20:43:22 +01:00
d3631dd10c Update changelog v0.0.33 2021-03-05 18:52:19 +00:00
891c91aa20 bump version (changelog ignore) 2021-03-05 19:50:40 +01:00
880018e926 Merge branch 'develop' of https://github.com/garronej/keycloak-react-theming into develop 2021-03-05 19:50:14 +01:00
06ab2ab82e Fix syncronization with non react pages 2021-03-05 19:50:08 +01:00
aafcfb62f2 Update changelog v0.0.32 2021-03-05 14:48:38 +00:00
a69bee8726 bump version 2021-03-05 15:46:55 +01:00
240208793d Add log to tell when we are using react 2021-03-05 15:46:34 +01:00
e7a320f8f8 Merge branch 'develop' of https://github.com/garronej/keycloak-react-theming into develop 2021-03-05 15:44:42 +01:00
f76438dd82 Fix missing parentesis 2021-03-05 15:44:35 +01:00
d6dbb42dea Update changelog v0.0.31 2021-03-05 14:34:34 +00:00
2e076aa058 bump version (changelog ignore) 2021-03-05 15:32:50 +01:00
b59447b840 Fix typo 2021-03-05 15:13:50 +01:00
702352bea2 Merge branch 'develop' of https://github.com/garronej/keycloak-react-theming into develop 2021-03-05 15:08:56 +01:00
98f647fadf Fix register page 500 2021-03-05 14:50:46 +01:00
85d3a011d8 Update changelog v0.0.30 2021-03-05 00:40:09 +00:00
26b0b55a7d Merge branch 'develop' of https://github.com/garronej/keycloak-react-theming into develop 2021-03-05 01:38:37 +01:00
50d0e74c03 Edit language statistique 2021-03-05 01:38:15 +01:00
30 changed files with 139 additions and 118 deletions

4
.gitattributes vendored
View File

@ -1,3 +1,3 @@
src/lib/i18n/generated_messages/* linguist-documentation
src/bin/build-keycloak-theme/index.ts -linguist-detectable
src/bin/download-sample-keycloak-themes.ts -linguist-detectable
src/bin/install-builtin-keycloak-themes.ts -linguist-detectable
src/bin/build-keycloak-theme/index.ts -linguist-detectable

View File

@ -1,3 +1,26 @@
## **0.1.0** (2021-03-05)
- Rename keycloakify
### **0.0.33** (2021-03-05)
- Fix syncronization with non react pages
### **0.0.32** (2021-03-05)
- bump version
- Add log to tell when we are using react
- Fix missing parentesis
### **0.0.31** (2021-03-05)
- Fix typo
- Fix register page 500
### **0.0.30** (2021-03-05)
- Edit language statistique
### **0.0.30** (2021-03-05)
- avoid escaping urls

View File

@ -5,10 +5,10 @@
<i>🔏 Keycloak theme generator for Reacts app 🔏</i>
<br>
<br>
<img src="https://github.com/garronej/keycloak-react-theming/workflows/ci/badge.svg?branch=develop">
<img src="https://img.shields.io/bundlephobia/minzip/keycloak-react-theming">
<img src="https://img.shields.io/npm/dw/keycloak-react-theming">
<img src="https://img.shields.io/npm/l/keycloak-react-theming">
<img src="https://github.com/garronej/keycloakify/workflows/ci/badge.svg?branch=develop">
<img src="https://img.shields.io/bundlephobia/minzip/keycloakify">
<img src="https://img.shields.io/npm/dw/keycloakify">
<img src="https://img.shields.io/npm/l/keycloakify">
</p>
@ -30,7 +30,7 @@ to reproduce the look and feel of a specific app. Not mentioning the maintenance
Wouldn't it be great if we could just design the login and register pages as if they where part of our app while
still letting Keycloak handle the heavy lifting of actually authenticating the users?
Here is `yarn add keycloak-react-theming` for you 🍸
Here is `yarn add keycloakify` for you 🍸
TODO: Insert video after.
@ -38,7 +38,7 @@ TODO: Insert video after.
## Setting up the build tool
Add `keycloak-react-theming` to the dev dependencies of your project `npm install --save-dev keycloak-react-theming` or `yarn add --dev keycloak-react-theming`
Add `keycloakify` to the dev dependencies of your project `npm install --save-dev keycloakify` or `yarn add --dev keycloakify`
then configure your `package.json` build's script to build the keycloak's theme by adding `&& build-keycloak-theme`.
Typically you will get:
@ -46,7 +46,7 @@ Typically you will get:
`package.json`:
```json
"devDependencies": {
"keycloak-react-theming": "^0.0.10"
"keycloakify": "^0.0.10"
},
"scripts": {
"build": "react-scripts build && build-keycloak-theme"

View File

@ -6,13 +6,13 @@
"messagesPerField": {
"printIfExists": function (key, x) {
switch(key){
case "userLabel": "${messagesPerField.printIfExists('userLabel','1'}" ? x : undefined;
case "username": "${messagesPerField.printIfExists('username','1'}" ? x : undefined;
case "email": "${messagesPerField.printIfExists('email','1'}" ? x : undefined;
case "firstName": "${messagesPerField.printIfExists('firstName','1'}" ? x : undefined;
case "lastName": "${messagesPerField.printIfExists('lastName','1'}" ? x : undefined;
case "password": "${messagesPerField.printIfExists('password','1'}" ? x : undefined;
case "password-confirm": "${messagesPerField.printIfExists('password-confirm','1'}" ? x : undefined;
case "userLabel": "${messagesPerField.printIfExists('userLabel','1')}" ? x : undefined;
case "username": "${messagesPerField.printIfExists('username','1')}" ? x : undefined;
case "email": "${messagesPerField.printIfExists('email','1')}" ? x : undefined;
case "firstName": "${messagesPerField.printIfExists('firstName','1')}" ? x : undefined;
case "lastName": "${messagesPerField.printIfExists('lastName','1')}" ? x : undefined;
case "password": "${messagesPerField.printIfExists('password','1')}" ? x : undefined;
case "password-confirm": "${messagesPerField.printIfExists('password-confirm','1')}" ? x : undefined;
}
}
},
@ -41,6 +41,6 @@
return false;
})(),
"recaptchaSiteKey": "${recaptchaSiteKey}"
"recaptchaSiteKey": "${recaptchaSiteKey!''}" || undefined
}
</script>

View File

@ -79,20 +79,13 @@ function generateKeycloakThemeResources(params) {
"url": install_builtin_keycloak_themes_1.builtinThemesUrl,
"destDirPath": tmpDirPath
});
transformCodebase_1.transformCodebase({
"srcDirPath": path_1.join(tmpDirPath, "keycloak", "common"),
"destDirPath": path_1.join(tmpDirPath, "..", "common")
});
transformCodebase_1.transformCodebase({
"srcDirPath": path_1.join(tmpDirPath, "keycloak", "login", "resources"),
"destDirPath": path_1.join(themeDirPath, "resources")
});
child_process.execSync("rm -r " + tmpDirPath);
}
fs.writeFileSync(path_1.join(themeDirPath, "theme.properties"), Buffer.from([
"[import=common/" + themeName,
"locales=ca,cs,de,en,es,fr,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN"
].join("\n"), "utf8"));
fs.writeFileSync(path_1.join(themeDirPath, "theme.properties"), Buffer.from("parent=keycloak", "utf8"));
}
exports.generateKeycloakThemeResources = generateKeycloakThemeResources;
//# sourceMappingURL=generateKeycloakThemeResources.js.map

View File

@ -1 +1 @@
{"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}

View File

@ -1,2 +1,2 @@
#!/usr/bin/env node
export declare const builtinThemesUrl = "https://github.com/garronej/keycloak-react-theming/releases/download/v0.0.1/keycloak_11.0.3_builtin_themes.zip";
export declare const builtinThemesUrl = "https://github.com/garronej/keycloakify/releases/download/v0.0.1/keycloak_11.0.3_builtin_themes.zip";

View File

@ -5,7 +5,7 @@ exports.builtinThemesUrl = void 0;
var build_keycloak_theme_1 = require("./build-keycloak-theme");
var downloadAndUnzip_1 = require("./tools/downloadAndUnzip");
var path_1 = require("path");
exports.builtinThemesUrl = "https://github.com/garronej/keycloak-react-theming/releases/download/v0.0.1/keycloak_11.0.3_builtin_themes.zip";
exports.builtinThemesUrl = "https://github.com/garronej/keycloakify/releases/download/v0.0.1/keycloak_11.0.3_builtin_themes.zip";
if (require.main === module) {
downloadAndUnzip_1.downloadAndUnzip({
"url": exports.builtinThemesUrl,

View File

@ -1 +1 @@
{"version":3,"file":"install-builtin-keycloak-themes.js","sourceRoot":"","sources":["../src/bin/install-builtin-keycloak-themes.ts"],"names":[],"mappings":";;;;AAEA,+DAAsE;AACtE,6DAA4D;AAC5D,6BAAwC;AAE3B,QAAA,gBAAgB,GACzB,gHAAgH,CAAC;AAErH,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAEzB,mCAAgB,CAAC;QACb,KAAK,EAAE,wBAAgB;QACvB,aAAa,EAAE,WAAQ,CAAC,mDAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;KAC7F,CAAC,CAAC;CAEN"}
{"version":3,"file":"install-builtin-keycloak-themes.js","sourceRoot":"","sources":["../src/bin/install-builtin-keycloak-themes.ts"],"names":[],"mappings":";;;;AAEA,+DAAsE;AACtE,6DAA4D;AAC5D,6BAAwC;AAE3B,QAAA,gBAAgB,GACzB,qGAAqG,CAAC;AAE1G,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAEzB,mCAAgB,CAAC;QACb,KAAK,EAAE,wBAAgB;QACvB,aAAa,EAAE,WAAQ,CAAC,mDAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;KAC7F,CAAC,CAAC;CAEN"}

View File

@ -48,6 +48,7 @@ var powerhooks_2 = require("powerhooks");
var KcProperties_1 = require("./KcProperties");
exports.Template = react_1.memo(function (props) {
var _a = props.displayInfo, displayInfo = _a === void 0 ? false : _a, _b = props.displayMessage, displayMessage = _b === void 0 ? true : _b, _c = props.displayRequiredFields, displayRequiredFields = _c === void 0 ? false : _c, _d = props.displayWide, displayWide = _d === void 0 ? false : _d, _e = props.showAnotherWayIfPresent, showAnotherWayIfPresent = _e === void 0 ? true : _e, _f = props.kcProperties, kcProperties = _f === void 0 ? {} : _f, headerNode = props.headerNode, _g = props.showUsernameNode, showUsernameNode = _g === void 0 ? null : _g, formNode = props.formNode, _h = props.displayInfoNode, displayInfoNode = _h === void 0 ? null : _h;
react_1.useEffect(function () { console.log("Rendering this page with react using keycloakify"); }, []);
var t = useKcTranslation_1.useKcTranslation().t;
Object.assign(kcProperties, KcProperties_1.defaultKcTemplateProperties);
var _j = useKcLanguageTag_1.useKcLanguageTag(), kcLanguageTag = _j.kcLanguageTag, setKcLanguageTag = _j.setKcLanguageTag;
@ -92,8 +93,8 @@ exports.Template = react_1.memo(function (props) {
locale.supported.length > 1) &&
jsx_runtime_1.jsx("div", __assign({ id: "kc-locale" }, { children: jsx_runtime_1.jsx("div", __assign({ id: "kc-locale-wrapper", className: tss_react_1.cx(kcProperties.kcLocaleWrapperClass) }, { children: jsx_runtime_1.jsxs("div", __assign({ className: "kc-dropdown", id: "kc-locale-dropdown" }, { children: [jsx_runtime_1.jsx("a", __assign({ href: "#", id: "kc-current-locale-link" }, { children: KcLanguageTag_1.getKcLanguageTagLabel(kcLanguageTag) }), void 0),
jsx_runtime_1.jsx("ul", { children: locale.supported.map(function (_a) {
var languageTag = _a.languageTag;
return jsx_runtime_1.jsx("li", __assign({ className: "kc-dropdown-item" }, { children: jsx_runtime_1.jsx("a", __assign({ href: "#", onClick: onChangeLanguageClickFactory(languageTag) }, { children: KcLanguageTag_1.getKcLanguageTagLabel(languageTag) }), void 0) }), void 0);
var languageTag = _a.languageTag, url = _a.url;
return jsx_runtime_1.jsx("li", __assign({ className: "kc-dropdown-item" }, { children: jsx_runtime_1.jsx("a", __assign({ href: url, onClick: onChangeLanguageClickFactory(languageTag) }, { children: KcLanguageTag_1.getKcLanguageTagLabel(languageTag) }), void 0) }), void 0);
}) }, void 0)] }), void 0) }), void 0) }), void 0),
!(auth !== undefined &&
auth.showUsername &&

File diff suppressed because one or more lines are too long

View File

@ -40,11 +40,14 @@ var availableLanguages = objectKeys_1.objectKeys(login_1.messages);
*/
function getBestMatchAmongKcLanguageTag(languageLike) {
var iso2LanguageLike = languageLike.split("-")[0].toLowerCase();
var language = availableLanguages.find(function (language) {
var kcLanguageTag = availableLanguages.find(function (language) {
return language.toLowerCase().includes(iso2LanguageLike) ||
getKcLanguageTagLabel(language).toLocaleLowerCase() === languageLike.toLocaleLowerCase();
});
if (language === undefined && languageLike !== navigator.language) {
if (kcLanguageTag !== undefined) {
return kcLanguageTag;
}
if (languageLike !== navigator.language) {
return getBestMatchAmongKcLanguageTag(navigator.language);
}
return "en";

View File

@ -1 +1 @@
{"version":3,"file":"KcLanguageTag.js","sourceRoot":"","sources":["../../src/lib/i18n/KcLanguageTag.ts"],"names":[],"mappings":";;;AACA,8DAA6D;AAC7D,oDAAsD;AAStD,2BAA2B;AAE3B,SAAgB,qBAAqB,CAAC,QAAuB;IAEzD,QAAQ,QAAQ,EAAE;QACd,4BAA4B;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,UAAU,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAC,OAAO,UAAU,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC;QAC1B,KAAK,OAAO,CAAC,CAAC,OAAO,oBAAoB,CAAC;QAC1C,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC,CAAC,OAAO,YAAY,CAAC;QAC/B,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;QACxB,KAAK,IAAI,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3B,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAA;QAC3B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,UAAU,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,YAAY,CAAC;QAC/B,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA;QACtB,2BAA2B;KAC9B;IAED,OAAO,QAAQ,CAAC;AAEpB,CAAC;AA5BD,sDA4BC;AAED,IAAM,kBAAkB,GAAG,uBAAU,CAAC,gBAAQ,CAAC,CAAC;AAEhD;;;;;EAKE;AACF,SAAgB,8BAA8B,CAC1C,YAAoB;IAGpB,IAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAElE,IAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAA,QAAQ;QAC7C,OAAA,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACjD,qBAAqB,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,KAAK,YAAY,CAAC,iBAAiB,EAAE;IADxF,CACwF,CAC3F,CAAC;IAEF,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC,QAAQ,EAAE;QAC/D,OAAO,8BAA8B,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC7D;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAhBD,wEAgBC"}
{"version":3,"file":"KcLanguageTag.js","sourceRoot":"","sources":["../../src/lib/i18n/KcLanguageTag.ts"],"names":[],"mappings":";;;AACA,8DAA6D;AAC7D,oDAAsD;AAStD,2BAA2B;AAE3B,SAAgB,qBAAqB,CAAC,QAAuB;IAEzD,QAAQ,QAAQ,EAAE;QACd,4BAA4B;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,UAAU,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAC,OAAO,UAAU,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC;QAC1B,KAAK,OAAO,CAAC,CAAC,OAAO,oBAAoB,CAAC;QAC1C,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC,CAAC,OAAO,YAAY,CAAC;QAC/B,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;QACxB,KAAK,IAAI,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3B,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAA;QAC3B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,UAAU,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,YAAY,CAAC;QAC/B,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,CAAA;QACtB,2BAA2B;KAC9B;IAED,OAAO,QAAQ,CAAC;AAEpB,CAAC;AA5BD,sDA4BC;AAED,IAAM,kBAAkB,GAAG,uBAAU,CAAC,gBAAQ,CAAC,CAAC;AAEhD;;;;;EAKE;AACF,SAAgB,8BAA8B,CAC1C,YAAoB;IAGpB,IAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAElE,IAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAA,QAAQ;QAClD,OAAA,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACjD,qBAAqB,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,KAAK,YAAY,CAAC,iBAAiB,EAAE;IADxF,CACwF,CAC3F,CAAC;IAEF,IAAI,aAAa,KAAK,SAAS,EAAE;QAC7B,OAAO,aAAa,CAAC;KACxB;IAED,IAAI,YAAY,KAAK,SAAS,CAAC,QAAQ,EAAE;QACrC,OAAO,8BAA8B,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC7D;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AApBD,wEAoBC"}

View File

@ -7,5 +7,5 @@ var KcLanguageTag_1 = require("./KcLanguageTag");
exports.useKcLanguageTag = powerhooks_1.createUseGlobalState("kcLanguageTag", function () {
var _a, _b;
return KcLanguageTag_1.getBestMatchAmongKcLanguageTag((_b = (_a = kcContext_1.kcContext === null || kcContext_1.kcContext === void 0 ? void 0 : kcContext_1.kcContext.locale) === null || _a === void 0 ? void 0 : _a["current"]) !== null && _b !== void 0 ? _b : navigator.language);
}, { "persistance": "cookies" }).useKcLanguageTag;
}, { "persistance": "cookie" }).useKcLanguageTag;
//# sourceMappingURL=useKcLanguageTag.js.map

View File

@ -1 +1 @@
{"version":3,"file":"useKcLanguageTag.js","sourceRoot":"","sources":["../../src/lib/i18n/useKcLanguageTag.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAClD,0CAAyC;AACzC,iDAAiE;AAElD,QAAA,gBAAgB,GAAK,iCAAoB,CACpD,eAAe,EACf;;IAAM,OAAA,8CAA8B,CAChC,MAAA,MAAA,qBAAS,aAAT,qBAAS,uBAAT,qBAAS,CAAE,MAAM,0CAAG,SAAkB,CAAC,mCACvC,SAAS,CAAC,QAAQ,CACrB,CAAA;CAAA,EACD,EAAE,aAAa,EAAE,SAAS,EAAE,CAC/B,kBAAC"}
{"version":3,"file":"useKcLanguageTag.js","sourceRoot":"","sources":["../../src/lib/i18n/useKcLanguageTag.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAClD,0CAAyC;AACzC,iDAAiE;AAElD,QAAA,gBAAgB,GAAK,iCAAoB,CACpD,eAAe,EACf;;IAAM,OAAA,8CAA8B,CAChC,MAAA,MAAA,qBAAS,aAAT,qBAAS,uBAAT,qBAAS,CAAE,MAAM,0CAAG,SAAkB,CAAC,mCACvC,SAAS,CAAC,QAAQ,CACrB,CAAA;CAAA,EACD,EAAE,aAAa,EAAE,QAAQ,EAAE,CAC9B,kBAAC"}

4
lib/kcContext.d.ts vendored
View File

@ -19,6 +19,7 @@ export declare namespace KcContext {
/** Undefined if !realm.internationalizationEnabled */
locale?: {
supported: {
url: string;
languageTag: KcLanguageTag;
}[];
};
@ -85,7 +86,8 @@ export declare namespace KcContext {
};
passwordRequired: boolean;
recaptchaRequired: boolean;
recaptchaSiteKey: string;
/** undefined if !recaptchaRequired */
recaptchaSiteKey?: string;
};
}
export declare const kcContext: KcContext | undefined;

View File

@ -1 +1 @@
{"version":3,"file":"kcContext.js","sourceRoot":"","sources":["../src/lib/kcContext.ts"],"names":[],"mappings":";;;AACA,uFAAsF;AAEtF,8CAA6C;AAE7C,4DAA2D;AAmH3D;IAII,qBAAS,EAAQ,CAAC;IAClB,qBAAS,EAAQ,CAAC;CACrB;AAEY,QAAA,SAAS,GAAG,OAAE,CAAyB,MAAc,CAAC,yCAAmB,CAAC,CAAC,CAAC"}
{"version":3,"file":"kcContext.js","sourceRoot":"","sources":["../src/lib/kcContext.ts"],"names":[],"mappings":";;;AACA,uFAAsF;AAEtF,8CAA6C;AAE7C,4DAA2D;AAoH3D;IAII,qBAAS,EAAQ,CAAC;IAClB,qBAAS,EAAQ,CAAC;CACrB;AAEY,QAAA,SAAS,GAAG,OAAE,CAAyB,MAAc,CAAC,yCAAmB,CAAC,CAAC,CAAC"}

View File

@ -1,10 +1,10 @@
{
"name": "keycloak-react-theming",
"version": "0.0.30",
"name": "keycloakify",
"version": "0.1.0",
"description": "Keycloak theme generator for Reacts app",
"repository": {
"type": "git",
"url": "git://github.com/garronej/keycloak-react-theming.git"
"url": "git://github.com/garronej/keycloakify.git"
},
"main": "lib/index.js",
"types": "lib/index.d.ts",
@ -157,7 +157,7 @@
"login",
"register"
],
"homepage": "https://github.com/garronej/keycloak-react-theming",
"homepage": "https://github.com/garronej/keycloakify",
"devDependencies": {
"@types/node": "^10.0.0",
"@types/react": "^17.0.0",
@ -173,7 +173,7 @@
"cheerio": "^1.0.0-rc.5",
"evt": "2.0.0-beta.15",
"minimal-polyfills": "^2.1.6",
"powerhooks": "^0.0.14",
"powerhooks": "^0.0.17",
"tss-react": "^0.0.9"
}
}

View File

@ -6,13 +6,13 @@
"messagesPerField": {
"printIfExists": function (key, x) {
switch(key){
case "userLabel": "${messagesPerField.printIfExists('userLabel','1'}" ? x : undefined;
case "username": "${messagesPerField.printIfExists('username','1'}" ? x : undefined;
case "email": "${messagesPerField.printIfExists('email','1'}" ? x : undefined;
case "firstName": "${messagesPerField.printIfExists('firstName','1'}" ? x : undefined;
case "lastName": "${messagesPerField.printIfExists('lastName','1'}" ? x : undefined;
case "password": "${messagesPerField.printIfExists('password','1'}" ? x : undefined;
case "password-confirm": "${messagesPerField.printIfExists('password-confirm','1'}" ? x : undefined;
case "userLabel": "${messagesPerField.printIfExists('userLabel','1')}" ? x : undefined;
case "username": "${messagesPerField.printIfExists('username','1')}" ? x : undefined;
case "email": "${messagesPerField.printIfExists('email','1')}" ? x : undefined;
case "firstName": "${messagesPerField.printIfExists('firstName','1')}" ? x : undefined;
case "lastName": "${messagesPerField.printIfExists('lastName','1')}" ? x : undefined;
case "password": "${messagesPerField.printIfExists('password','1')}" ? x : undefined;
case "password-confirm": "${messagesPerField.printIfExists('password-confirm','1')}" ? x : undefined;
}
}
},
@ -41,6 +41,6 @@
return false;
})(),
"recaptchaSiteKey": "${recaptchaSiteKey}"
"recaptchaSiteKey": "${recaptchaSiteKey!''}" || undefined
}
</script>

View File

@ -90,11 +90,6 @@ export function generateKeycloakThemeResources(
"destDirPath": tmpDirPath
});
transformCodebase({
"srcDirPath": pathJoin(tmpDirPath, "keycloak", "common"),
"destDirPath": pathJoin(tmpDirPath, "..", "common")
});
transformCodebase({
"srcDirPath": pathJoin(tmpDirPath, "keycloak", "login", "resources"),
"destDirPath": pathJoin(themeDirPath, "resources")
@ -106,10 +101,7 @@ export function generateKeycloakThemeResources(
fs.writeFileSync(
pathJoin(themeDirPath, "theme.properties"),
Buffer.from([
`[import=common/${themeName}`,
"locales=ca,cs,de,en,es,fr,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN"
].join("\n"), "utf8")
Buffer.from("parent=keycloak", "utf8")
);
}

View File

@ -5,7 +5,7 @@ import { downloadAndUnzip } from "./tools/downloadAndUnzip";
import { join as pathJoin } from "path";
export const builtinThemesUrl =
"https://github.com/garronej/keycloak-react-theming/releases/download/v0.0.1/keycloak_11.0.3_builtin_themes.zip";
"https://github.com/garronej/keycloakify/releases/download/v0.0.1/keycloak_11.0.3_builtin_themes.zip";
if (require.main === module) {

View File

@ -44,6 +44,8 @@ export const Template = memo((props: TemplateProps) => {
displayInfoNode = null
} = props;
useEffect(()=> { console.log("Rendering this page with react using keycloakify") },[]);
const { t } = useKcTranslation();
Object.assign(kcProperties, defaultKcTemplateProperties);
@ -51,7 +53,7 @@ export const Template = memo((props: TemplateProps) => {
const { kcLanguageTag, setKcLanguageTag } = useKcLanguageTag();
const onChangeLanguageClickFactory = useCallbackFactory(
([languageTag]: [KcLanguageTag]) =>
([languageTag]: [KcLanguageTag]) =>
setKcLanguageTag(languageTag)
);
@ -136,9 +138,9 @@ export const Template = memo((props: TemplateProps) => {
<ul>
{
locale.supported.map(
({ languageTag }) =>
({ languageTag, url }) =>
<li className="kc-dropdown-item">
<a href="#" onClick={onChangeLanguageClickFactory(languageTag)}>
<a href={url} onClick={onChangeLanguageClickFactory(languageTag)}>
{getKcLanguageTagLabel(languageTag)}
</a>

View File

@ -55,12 +55,16 @@ export function getBestMatchAmongKcLanguageTag(
const iso2LanguageLike = languageLike.split("-")[0].toLowerCase();
const language = availableLanguages.find(language =>
const kcLanguageTag = availableLanguages.find(language =>
language.toLowerCase().includes(iso2LanguageLike) ||
getKcLanguageTagLabel(language).toLocaleLowerCase() === languageLike.toLocaleLowerCase()
);
if (language === undefined && languageLike !== navigator.language) {
if (kcLanguageTag !== undefined) {
return kcLanguageTag;
}
if (languageLike !== navigator.language) {
return getBestMatchAmongKcLanguageTag(navigator.language);
}

View File

@ -9,5 +9,5 @@ export const { useKcLanguageTag } = createUseGlobalState(
kcContext?.locale?.["current" as never] ??
navigator.language
),
{ "persistance": "cookies" }
{ "persistance": "cookie" }
);

View File

@ -27,7 +27,7 @@ export declare namespace KcContext {
/** Undefined if !realm.internationalizationEnabled */
locale?: {
supported: {
//url: string;
url: string;
languageTag: KcLanguageTag;
/** Is determined by languageTag. Ex: languageTag === "en" => label === "English"
* or getLanguageLabel(languageTag) === label
@ -113,7 +113,8 @@ export declare namespace KcContext {
};
passwordRequired: boolean;
recaptchaRequired: boolean;
recaptchaSiteKey: string;
/** undefined if !recaptchaRequired */
recaptchaSiteKey?: string;
};
}

View File

@ -8,7 +8,7 @@ export const sampleReactProjectDirPath = pathJoin(getProjectRoot(), "sample_reac
export function setupSampleReactProject() {
downloadAndUnzip({
"url": "https://github.com/garronej/keycloak-react-theming/releases/download/v0.0.1/sample_build_dir_and_package_json.zip",
"url": "https://github.com/garronej/keycloakify/releases/download/v0.0.1/sample_build_dir_and_package_json.zip",
"destDirPath": sampleReactProjectDirPath
});
}

View File

@ -7,7 +7,7 @@ var downloadAndUnzip_1 = require("../bin/tools/downloadAndUnzip");
exports.sampleReactProjectDirPath = path_1.join(getProjectRoot_1.getProjectRoot(), "sample_react_project");
function setupSampleReactProject() {
downloadAndUnzip_1.downloadAndUnzip({
"url": "https://github.com/garronej/keycloak-react-theming/releases/download/v0.0.1/sample_build_dir_and_package_json.zip",
"url": "https://github.com/garronej/keycloakify/releases/download/v0.0.1/sample_build_dir_and_package_json.zip",
"destDirPath": exports.sampleReactProjectDirPath
});
}

View File

@ -1 +1 @@
{"version":3,"file":"setupSampleReactProject.js","sourceRoot":"","sources":["../src/test/setupSampleReactProject.ts"],"names":[],"mappings":";;;AACA,8DAA6D;AAC7D,6BAAwC;AACxC,kEAAiE;AAEpD,QAAA,yBAAyB,GAAG,WAAQ,CAAC,+BAAc,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAE5F,SAAgB,uBAAuB;IAEnC,mCAAgB,CAAC;QACb,KAAK,EAAE,mHAAmH;QAC1H,aAAa,EAAE,iCAAyB;KAC3C,CAAC,CAAC;AACP,CAAC;AAND,0DAMC"}
{"version":3,"file":"setupSampleReactProject.js","sourceRoot":"","sources":["../src/test/setupSampleReactProject.ts"],"names":[],"mappings":";;;AACA,8DAA6D;AAC7D,6BAAwC;AACxC,kEAAiE;AAEpD,QAAA,yBAAyB,GAAG,WAAQ,CAAC,+BAAc,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAE5F,SAAgB,uBAAuB;IAEnC,mCAAgB,CAAC;QACb,KAAK,EAAE,wGAAwG;QAC/G,aAAa,EAAE,iCAAyB;KAC3C,CAAC,CAAC;AACP,CAAC;AAND,0DAMC"}

View File

@ -302,7 +302,7 @@
"affectsGlobalScope": false
},
"../src/bin/build-keycloak-theme/generateKeycloakThemeResources.ts": {
"version": "0ae0e8e72513c2ef314d46094409de33465767f1dae5227e7e84f9bbc06cd3cd",
"version": "5ab9a7c6768283467dd8be3672aa068bd39a0a912aa52f865a6f661de0ea2c56",
"signature": "c53e9172d81232fc2b183d2105ce6b33db0803cdb01c188755460b66b9e7bf35",
"affectsGlobalScope": false
},
@ -322,8 +322,8 @@
"affectsGlobalScope": false
},
"../src/bin/install-builtin-keycloak-themes.ts": {
"version": "b87de37fc5acf50a2a18768ee90168687f07537abe0132602158f6e31e3a44c2",
"signature": "477e4bc430ec58c76033c8b0a4a7e67a2c61a0f96f5941b115dddb6fcc8602cd",
"version": "cf762b9bde909c1094526857086ea6af17e2d2ec0ffe028e9dd6f918174da4ad",
"signature": "badcf667b7b80c7777511652912fbd8322a520c542ad413da678dd8148dc6a74",
"affectsGlobalScope": false
},
"../src/bin/tools/getProjectRoot.ts": {
@ -347,7 +347,7 @@
"affectsGlobalScope": false
},
"../src/lib/i18n/KcLanguageTag.ts": {
"version": "60d5a60351b3bcf2f72d4d647d2956cc6ba88663beae0aa79e6afb4c79db9221",
"version": "1eaea7a767808df72c08c701df5ed418dd02f7ef649ccd53226c645ebb8e06a1",
"signature": "32a51753658af81ebb7e4139a1085f625e18bd0cb67d1027f30481967d7c69fd",
"affectsGlobalScope": false
},
@ -357,8 +357,8 @@
"affectsGlobalScope": false
},
"../src/lib/kcContext.ts": {
"version": "09ff090d2fd6bd444d83eb83ca212235f618ee7fe41cd7420a60b54c18efcb12",
"signature": "e428ab0c80aa95c42c83b1f566621ede0def2602c580e4ea7d2ee64d50496b64",
"version": "c0107e33fa55fe6cc776b55bdbe4945876989dc0667b16bef45cb8e64c5e53cb",
"signature": "936e97f467fa319665cc33382f1461e26ac7fb73a7f59da3e9963c0309c0eccc",
"affectsGlobalScope": false
},
"../node_modules/powerhooks/useArrayDiff.d.ts": {
@ -397,8 +397,8 @@
"affectsGlobalScope": false
},
"../node_modules/powerhooks/useGlobalState.d.ts": {
"version": "fc15c972a7aede37948ddeae7fc10aa957ad6d2ce175cd2f66c3cc0ebb99e224",
"signature": "fc15c972a7aede37948ddeae7fc10aa957ad6d2ce175cd2f66c3cc0ebb99e224",
"version": "d681fd6dc6de70af535a880bb64dcd790f9378d67c851c93f288b17ebb598c07",
"signature": "d681fd6dc6de70af535a880bb64dcd790f9378d67c851c93f288b17ebb598c07",
"affectsGlobalScope": false
},
"../node_modules/powerhooks/useGuaranteedMemo.d.ts": {
@ -432,7 +432,7 @@
"affectsGlobalScope": false
},
"../src/lib/i18n/useKcLanguageTag.ts": {
"version": "c56d793822c62ba14dab2e51e96aa19ca0cf5fee8463726847296d28ad2fa2b2",
"version": "f32012a1bb6b2f7b2b9b1a8ef3b93b647133c1c1bc5d32959a814c0fca08f11a",
"signature": "6f6ff57c7573441ce48c4be2d40d374d0ddd23422117998546c2bb2e5e0241b5",
"affectsGlobalScope": false
},
@ -507,7 +507,7 @@
"affectsGlobalScope": false
},
"../src/lib/components/Template.tsx": {
"version": "b00d9dc082b84094570662473c6be4f2466e73014e39075e32fcf339b9b17cdd",
"version": "ba2401d551fb8442c9a2870bf78f6f1dd3de253bc929547729e9a6a09e61421f",
"signature": "0df5b249e080078896457b419b957c2bbf8e5a9bf8b9968d14a3de5bca6ea02f",
"affectsGlobalScope": false
},
@ -547,7 +547,7 @@
"affectsGlobalScope": false
},
"../src/test/setupSampleReactProject.ts": {
"version": "8ac783877df68b9c119dd5e1463c9a4f31f4af0d1a1fd60ae7eb017c5d3ac5bf",
"version": "52c01bd5f7f021da183207daf0cf40fe2a757038eda8ee4df67e0f2672862ea1",
"signature": "2c0ddcdfefa535987300f17ab4be6b93e9dcc2583a80136eebb34671ff7cac00",
"affectsGlobalScope": false
},
@ -1803,5 +1803,5 @@
"../src/test/setupSampleReactProject.ts"
]
},
"version": "4.2.2"
"version": "4.2.3"
}

View File

@ -43,9 +43,9 @@
"@babel/helper-plugin-utils" "^7.12.13"
"@babel/runtime@^7.7.2":
version "7.13.8"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.8.tgz#cc886a85c072df1de23670dc1aa59fc116c4017c"
integrity sha512-CwQljpw6qSayc0fRG1soxHAKs1CnQMOChm4mlQP6My0kf9upVGizj/KhlTTgyUnETmHpcUXjaluNAkteRFuafg==
version "7.13.9"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.9.tgz#97dbe2116e2630c489f22e0656decd60aaa1fcee"
integrity sha512-aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==
dependencies:
regenerator-runtime "^0.13.4"
@ -176,10 +176,10 @@
"@octokit/types" "^6.0.3"
universal-user-agent "^6.0.0"
"@octokit/openapi-types@^5.2.0":
version "5.2.0"
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-5.2.0.tgz#54e6ca0bc2cd54cd93f0a64658e893c32a5e69ec"
integrity sha512-MInMij2VK5o96Ei6qaHjxBglSZWOXQs9dTZfnGX2Xnr2mhA+yk9L/QCH4RcJGISJJCBclLHuY3ytq+iRgDfX7w==
"@octokit/openapi-types@^5.3.0":
version "5.3.0"
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-5.3.0.tgz#29e3faa119da90082dc653ea74c8bb345d197bf7"
integrity sha512-5q2qBz4iZ0xS/DEJ0ROusFbN4cVlbJE9GvOByen+mv7artuGXfVhONqcuRd7jYN2glTmCnzcZw+X6LrjRVqs0A==
"@octokit/plugin-paginate-rest@^2.6.2":
version "2.11.0"
@ -193,12 +193,12 @@
resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d"
integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==
"@octokit/plugin-rest-endpoint-methods@4.13.0":
version "4.13.0"
resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.13.0.tgz#59a90f59a564d416214ab191c3ffcd641f175e6a"
integrity sha512-Ofusy7BwHkU7z4TNsVdf7wm5W3KR625KqlQj4AiWPnBvclmZU0Y2bVK8b8Mz8nW7sEX9TJcCdX6KeaincE/cLw==
"@octokit/plugin-rest-endpoint-methods@4.13.3":
version "4.13.3"
resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.13.3.tgz#17ba3a24adce0933129cfefa6d44e7da2eeac04b"
integrity sha512-nMGS2osFcWXRfHkDR0d+lB1zpMPTZJ0NjysPUfs7BT5/juNG/Q0+5UB6nC1f62jPzun154qekzwOb7Q5oahCXQ==
dependencies:
"@octokit/types" "^6.11.0"
"@octokit/types" "^6.12.0"
deprecation "^2.3.1"
"@octokit/request-error@^2.0.0":
@ -225,21 +225,21 @@
universal-user-agent "^6.0.0"
"@octokit/rest@^18.0.0":
version "18.3.0"
resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.3.0.tgz#c326475a2039ffeaec9a1498ebee14a561aae4e5"
integrity sha512-R45oBVhnq3HAOGVtC6lHY7LX7TGWqbbcD4KvBHoT4QIjgJzfqKag3m/DUJwLnp8xrokz1spZmspTIXiDeQqJSA==
version "18.3.3"
resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.3.3.tgz#a3b0f24bf5c42cacd93dbc48576b5d4d4e032a38"
integrity sha512-OxElwBanZn1AShCaIrRTLM9PwhGE5/busMke/go30OWAQ+eJMD7Us/67mtapE77EYY4FM2tvb4Eg25rZaA/NPA==
dependencies:
"@octokit/core" "^3.2.3"
"@octokit/plugin-paginate-rest" "^2.6.2"
"@octokit/plugin-request-log" "^1.0.2"
"@octokit/plugin-rest-endpoint-methods" "4.13.0"
"@octokit/plugin-rest-endpoint-methods" "4.13.3"
"@octokit/types@^6.0.3", "@octokit/types@^6.11.0", "@octokit/types@^6.7.1":
version "6.11.0"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.11.0.tgz#830a608882cde659be19a6e86568abaa619e2ee7"
integrity sha512-RMLAmpPZf/a33EsclBazKg02NCCj4rC69V9sUgf0SuWTjmnBD2QC1nIVtJo7RJrGnwG1+aoFBb2yTrWm/8AS7w==
"@octokit/types@^6.0.3", "@octokit/types@^6.11.0", "@octokit/types@^6.12.0", "@octokit/types@^6.7.1":
version "6.12.0"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.12.0.tgz#8376fd60edfd5d1eebfeedb994c6bcb5b862c7a1"
integrity sha512-KwOf16soD7aDEEi/PgNeJlHzjZPfrmmNy+7WezSdrpnqZ7YImBJcNnX9+5RUHt1MnA4h8oISRHTqaZDGsX9DRQ==
dependencies:
"@octokit/openapi-types" "^5.2.0"
"@octokit/openapi-types" "^5.3.0"
"@types/comment-json@^1.1.1":
version "1.1.1"
@ -615,10 +615,10 @@ event-emitter@^0.3.5:
d "1"
es5-ext "~0.10.14"
evt@2.0.0-beta.12:
version "2.0.0-beta.12"
resolved "https://registry.yarnpkg.com/evt/-/evt-2.0.0-beta.12.tgz#d24724ea4c70e78af3eb73dbbf3ece81d295a1e7"
integrity sha512-KoDNXD73aKIGhylvFVYyEjoTTHKWofi0ozaRrvW4rjXZ1XbSUEat+iGSsy/S387v3ZkKB9UI499hT7WtNGzSrw==
evt@2.0.0-beta.13:
version "2.0.0-beta.13"
resolved "https://registry.yarnpkg.com/evt/-/evt-2.0.0-beta.13.tgz#a84828cc15b535fabdeaf551982d0705ed428a6f"
integrity sha512-Y71l8BU1r/hs7MOyaNb5PTf8Jp+5h8Vt6T8ixvJSqDmKhwCjjCVKP2b1E3UE+Qlr1bZnCOWnVTucTeTeJghWEQ==
dependencies:
minimal-polyfills "^2.1.5"
run-exclusive "^2.2.14"
@ -932,12 +932,12 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
powerhooks@^0.0.14:
version "0.0.14"
resolved "https://registry.yarnpkg.com/powerhooks/-/powerhooks-0.0.14.tgz#1456620de2d2b899f54509a8ef909c4c15694c81"
integrity sha512-fse74qwumuETne++wc3asYlhuaQYvKHUUzsAbNQfBb5OK3J12KbBYM3kh+ZPOf5C9/OAJg/qAAXsz2G/5ROS4w==
powerhooks@^0.0.17:
version "0.0.17"
resolved "https://registry.yarnpkg.com/powerhooks/-/powerhooks-0.0.17.tgz#840295271d989c27b83047fad44973434c509ba7"
integrity sha512-9z0C5pnVJI3SRKgcoAjbOxVa1lf/e58N+YdByThue1C4DUqfp8umx9XvrRJJ3dGwl6A0RRrJlyPM1KXjVChQMQ==
dependencies:
evt "2.0.0-beta.12"
evt "2.0.0-beta.13"
memoizee "^0.4.15"
resize-observer-polyfill "^1.5.1"
@ -1130,9 +1130,9 @@ type@^2.0.0:
integrity sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==
typescript@^4.1.5:
version "4.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c"
integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==
version "4.2.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3"
integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==
universal-user-agent@^6.0.0:
version "6.0.0"