keycloakify 7.0.3 → 7.1.2
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/README.md +20 -20
- package/bin/initialize-email-theme.d.ts +3 -1
- package/bin/initialize-email-theme.js +68 -35
- package/bin/initialize-email-theme.js.map +1 -1
- package/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +3 -3
- package/bin/keycloakify/generateKeycloakThemeResources.d.ts +1 -1
- package/bin/keycloakify/generateKeycloakThemeResources.js +4 -10
- package/bin/keycloakify/generateKeycloakThemeResources.js.map +1 -1
- package/bin/keycloakify/keycloakify.d.ts +0 -1
- package/bin/keycloakify/keycloakify.js +3 -3
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/login/pages/IdpReviewUserProfile.js +1 -1
- package/login/pages/IdpReviewUserProfile.js.map +1 -1
- package/login/pages/RegisterUserProfile.js +1 -1
- package/login/pages/RegisterUserProfile.js.map +1 -1
- package/login/pages/UpdateUserProfile.js +1 -1
- package/login/pages/UpdateUserProfile.js.map +1 -1
- package/login/pages/shared/{UserProfileCommons.js → UserProfileFormFields.js} +1 -1
- package/login/pages/shared/UserProfileFormFields.js.map +1 -0
- package/package.json +6 -6
- package/src/bin/initialize-email-theme.ts +51 -11
- package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +3 -3
- package/src/bin/keycloakify/generateKeycloakThemeResources.ts +4 -13
- package/src/bin/keycloakify/keycloakify.ts +3 -3
- package/src/login/pages/IdpReviewUserProfile.tsx +1 -1
- package/src/login/pages/RegisterUserProfile.tsx +1 -1
- package/src/login/pages/UpdateUserProfile.tsx +1 -1
- package/login/pages/shared/UserProfileCommons.js.map +0 -1
- /package/login/pages/shared/{UserProfileCommons.d.ts → UserProfileFormFields.d.ts} +0 -0
- /package/src/login/pages/shared/{UserProfileCommons.tsx → UserProfileFormFields.tsx} +0 -0
package/README.md
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<a href="https://github.com/garronej/keycloakify/blob/main/LICENSE">
|
15
15
|
<img src="https://img.shields.io/npm/l/keycloakify">
|
16
16
|
</a>
|
17
|
-
<a href="https://github.com/
|
17
|
+
<a href="https://github.com/keycloakify/keycloakify/blob/729503fe31a155a823f46dd66ad4ff34ca274e0a/tsconfig.json#L14">
|
18
18
|
<img src="https://camo.githubusercontent.com/0f9fcc0ac1b8617ad4989364f60f78b2d6b32985ad6a508f215f14d8f897b8d3/68747470733a2f2f62616467656e2e6e65742f62616467652f547970655363726970742f7374726963742532302546302539462539322541412f626c7565">
|
19
19
|
</a>
|
20
20
|
<a href="https://github.com/thomasdarimont/awesome-keycloak">
|
@@ -36,9 +36,9 @@
|
|
36
36
|
<img src="https://user-images.githubusercontent.com/6702424/110260457-a1c3d380-7fac-11eb-853a-80459b65626b.png">
|
37
37
|
</p>
|
38
38
|
|
39
|
-
> 🗣
|
40
|
-
> [It features major improvements](https://github.com/
|
41
|
-
> Checkout [the migration guide](https://docs.keycloakify.dev/
|
39
|
+
> 🗣 V7 have been released 🎉
|
40
|
+
> [It features major improvements](https://github.com/keycloakify/keycloakify#70-).
|
41
|
+
> Checkout [the migration guide](https://docs.keycloakify.dev/migration-guides/v6-greater-than-v7).
|
42
42
|
|
43
43
|
# Changelog highlights
|
44
44
|
|
@@ -48,11 +48,11 @@
|
|
48
48
|
- It's much easier to customize pages at the CSS level, you can now see in the browser dev tool the customizable classes.
|
49
49
|
- New interactive CLI tool `npx eject-keycloak-page`, that enables to select the page you want to customize at the component level.
|
50
50
|
- There is [a Storybook](https://storybook.keycloakify.dev)
|
51
|
-
- [Remember me is fixed](https://github.com/
|
51
|
+
- [Remember me is fixed](https://github.com/keycloakify/keycloakify/pull/272)
|
52
52
|
|
53
53
|
## 6.13
|
54
54
|
|
55
|
-
- Build work behind corporate proxies, [see issue](https://github.com/
|
55
|
+
- Build work behind corporate proxies, [see issue](https://github.com/keycloakify/keycloakify/issues/257).
|
56
56
|
|
57
57
|
## 6.12
|
58
58
|
|
@@ -65,13 +65,13 @@ Massive improvement in the developer experience:
|
|
65
65
|
|
66
66
|
## 6.11.4
|
67
67
|
|
68
|
-
- You no longer need to have Maven installed to build the theme. Thanks to @lordvlad, [see PR](https://github.com/
|
68
|
+
- You no longer need to have Maven installed to build the theme. Thanks to @lordvlad, [see PR](https://github.com/keycloakify/keycloakify/pull/239).
|
69
69
|
- Feature new build options: [`bundler`](https://docs.keycloakify.dev/build-options#keycloakify.bundler), [`groupId`](https://docs.keycloakify.dev/build-options#keycloakify.groupid), [`artifactId`](https://docs.keycloakify.dev/build-options#keycloakify.artifactid), [`version`](https://docs.keycloakify.dev/build-options#version).
|
70
70
|
Theses options can be user to customize the output name of the .jar. You can use environnement variables to overrides the values read in the package.json. Thanks to @lordvlad.
|
71
71
|
|
72
72
|
## 6.10.0
|
73
73
|
|
74
|
-
- Widows compat (thanks to @lordvlad, [see PR](https://github.com/
|
74
|
+
- Widows compat (thanks to @lordvlad, [see PR](https://github.com/keycloakify/keycloakify/pull/226)). WSL is no longer required 🎉
|
75
75
|
|
76
76
|
## 6.8.4
|
77
77
|
|
@@ -81,19 +81,19 @@ Massive improvement in the developer experience:
|
|
81
81
|
|
82
82
|
- It is now possible to pass a custom `<Template />` component as a prop to `<KcApp />` and every
|
83
83
|
individual page (`<Login />`, `<RegisterUserProfile />`, ...) it enables to customize only the header and footer for
|
84
|
-
example without having to switch to a full-component level customization. [See issue](https://github.com/
|
84
|
+
example without having to switch to a full-component level customization. [See issue](https://github.com/keycloakify/keycloakify/issues/191).
|
85
85
|
|
86
86
|
## 6.7.0
|
87
87
|
|
88
|
-
- Add support for `webauthn-authenticate.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/
|
88
|
+
- Add support for `webauthn-authenticate.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/keycloakify/keycloakify/pull/185).
|
89
89
|
|
90
90
|
## 6.6.0
|
91
91
|
|
92
|
-
- Add support for `login-password.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/
|
92
|
+
- Add support for `login-password.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/keycloakify/keycloakify/pull/184).
|
93
93
|
|
94
94
|
## 6.5.0
|
95
95
|
|
96
|
-
- Add support for `login-username.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/
|
96
|
+
- Add support for `login-username.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/keycloakify/keycloakify/pull/183).
|
97
97
|
|
98
98
|
## 6.4.0
|
99
99
|
|
@@ -112,11 +112,11 @@ Checkout [the migration guide](https://docs.keycloakify.dev/v5-to-v6)
|
|
112
112
|
|
113
113
|
## 5.8.0
|
114
114
|
|
115
|
-
- [React.lazy()](https://reactjs.org/docs/code-splitting.html#reactlazy) support 🎉. [#141](https://github.com/
|
115
|
+
- [React.lazy()](https://reactjs.org/docs/code-splitting.html#reactlazy) support 🎉. [#141](https://github.com/keycloakify/keycloakify/issues/141)
|
116
116
|
|
117
117
|
## 5.7.0
|
118
118
|
|
119
|
-
- Feat `logout-confirm.ftl`. [PR](https://github.com/
|
119
|
+
- Feat `logout-confirm.ftl`. [PR](https://github.com/keycloakify/keycloakify/pull/120)
|
120
120
|
|
121
121
|
## 5.6.4
|
122
122
|
|
@@ -124,7 +124,7 @@ Fix `login-verify-email.ftl` page. [Before](https://user-images.githubuserconten
|
|
124
124
|
|
125
125
|
## v5.6.0
|
126
126
|
|
127
|
-
Add support for `login-config-totp.ftl` page [#127](https://github.com/
|
127
|
+
Add support for `login-config-totp.ftl` page [#127](https://github.com/keycloakify/keycloakify/pull/127).
|
128
128
|
|
129
129
|
## v5.3.0
|
130
130
|
|
@@ -139,7 +139,7 @@ Import of terms and services have changed. [See example](https://github.com/garr
|
|
139
139
|
|
140
140
|
## v4.10.0
|
141
141
|
|
142
|
-
Add `login-idp-link-email.ftl` page [See PR](https://github.com/
|
142
|
+
Add `login-idp-link-email.ftl` page [See PR](https://github.com/keycloakify/keycloakify/pull/92).
|
143
143
|
|
144
144
|
## v4.8.0
|
145
145
|
|
@@ -152,7 +152,7 @@ Add `login-idp-link-email.ftl` page [See PR](https://github.com/InseeFrLab/keycl
|
|
152
152
|
## v4.7.2
|
153
153
|
|
154
154
|
> WARNING: This is broken.
|
155
|
-
> Testing with local Keycloak container working with M1 Mac. Thanks to [@eduardosanzb](https://github.com/
|
155
|
+
> Testing with local Keycloak container working with M1 Mac. Thanks to [@eduardosanzb](https://github.com/keycloakify/keycloakify/issues/43#issuecomment-975699658).
|
156
156
|
> Be aware: When running M1s you are testing with Keycloak v15 else the local container spun will be a Keycloak v16.1.0.
|
157
157
|
|
158
158
|
## v4.7.0
|
@@ -186,12 +186,12 @@ Change [this](https://github.com/garronej/keycloakify-demo-app/blob/df664c13c77c
|
|
186
186
|
|
187
187
|
No breaking changes except that `@emotion/react`, [`tss-react`](https://www.npmjs.com/package/tss-react) and [`powerhooks`](https://www.npmjs.com/package/powerhooks) are now `peerDependencies` instead of being just dependencies.
|
188
188
|
It's important to avoid problem when using `keycloakify` alongside [`mui`](https://mui.com) and
|
189
|
-
[when passing params from the app to the login page](https://github.com/
|
189
|
+
[when passing params from the app to the login page](https://github.com/keycloakify/keycloakify#implement-context-persistence-optional).
|
190
190
|
|
191
191
|
## v2.5
|
192
192
|
|
193
|
-
- Feature [Use advanced message](https://github.com/
|
194
|
-
and [`messagesPerFields`](https://github.com/
|
193
|
+
- Feature [Use advanced message](https://github.com/keycloakify/keycloakify/blob/59f106bf9e210b63b190826da2bf5f75fc8b7644/src/lib/i18n/useKcMessage.tsx#L53-L66)
|
194
|
+
and [`messagesPerFields`](https://github.com/keycloakify/keycloakify/blob/59f106bf9e210b63b190826da2bf5f75fc8b7644/src/lib/getKcContext/KcContextBase.ts#L70-L75) (implementation [here](https://github.com/keycloakify/keycloakify/blob/59f106bf9e210b63b190826da2bf5f75fc8b7644/src/bin/build-keycloak-theme/generateFtl/common.ftl#L130-L189))
|
195
195
|
- Test container now uses Keycloak version `15.0.2`.
|
196
196
|
|
197
197
|
## v2
|
@@ -60,48 +60,81 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
60
60
|
}
|
61
61
|
};
|
62
62
|
Object.defineProperty(exports, "__esModule", { value: true });
|
63
|
+
exports.getEmailThemeSrcDirPath = void 0;
|
63
64
|
var download_builtin_keycloak_theme_1 = require("./download-builtin-keycloak-theme");
|
64
|
-
var keycloakify_1 = require("./keycloakify");
|
65
65
|
var path_1 = require("path");
|
66
66
|
var transformCodebase_1 = require("./tools/transformCodebase");
|
67
67
|
var promptKeycloakVersion_1 = require("./promptKeycloakVersion");
|
68
68
|
var fs = __importStar(require("fs"));
|
69
69
|
var cliOptions_1 = require("./tools/cliOptions");
|
70
70
|
var logger_1 = require("./tools/logger");
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
return [4 /*yield*/, (0, promptKeycloakVersion_1.promptKeycloakVersion)()];
|
83
|
-
case 1:
|
84
|
-
keycloakVersion = (_a.sent()).keycloakVersion;
|
85
|
-
builtinKeycloakThemeTmpDirPath = (0, path_1.join)(keycloakify_1.keycloakThemeEmailDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
|
86
|
-
return [4 /*yield*/, (0, download_builtin_keycloak_theme_1.downloadBuiltinKeycloakTheme)({
|
87
|
-
keycloakVersion: keycloakVersion,
|
88
|
-
"destDirPath": builtinKeycloakThemeTmpDirPath,
|
89
|
-
isSilent: isSilent
|
90
|
-
})];
|
91
|
-
case 2:
|
92
|
-
_a.sent();
|
93
|
-
(0, transformCodebase_1.transformCodebase)({
|
94
|
-
"srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "base", "email"),
|
95
|
-
"destDirPath": keycloakify_1.keycloakThemeEmailDirPath
|
96
|
-
});
|
97
|
-
{
|
98
|
-
themePropertyFilePath = (0, path_1.join)(keycloakify_1.keycloakThemeEmailDirPath, "theme.properties");
|
99
|
-
fs.writeFileSync(themePropertyFilePath, Buffer.from("parent=base\n".concat(fs.readFileSync(themePropertyFilePath).toString("utf8")), "utf8"));
|
100
|
-
}
|
101
|
-
logger.log("".concat((0, path_1.relative)(process.cwd(), keycloakify_1.keycloakThemeEmailDirPath), " ready to be customized, feel free to remove every file you do not customize"));
|
102
|
-
fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
|
103
|
-
return [2 /*return*/];
|
71
|
+
var crawl_1 = require("./tools/crawl");
|
72
|
+
var exclude_1 = require("tsafe/exclude");
|
73
|
+
var reactProjectDirPath = process.cwd();
|
74
|
+
var themeSrcDirBasename = "keycloak-theme";
|
75
|
+
function getThemeSrcDirPath() {
|
76
|
+
var srcDirPath = (0, path_1.join)(reactProjectDirPath, "src");
|
77
|
+
var themeSrcDirPath = (0, crawl_1.crawl)(srcDirPath)
|
78
|
+
.map(function (fileRelativePath) {
|
79
|
+
var split = fileRelativePath.split(themeSrcDirBasename);
|
80
|
+
if (split.length !== 2) {
|
81
|
+
return undefined;
|
104
82
|
}
|
83
|
+
return (0, path_1.join)(srcDirPath, split[0] + themeSrcDirBasename);
|
84
|
+
})
|
85
|
+
.filter((0, exclude_1.exclude)(undefined))[0];
|
86
|
+
return { themeSrcDirPath: themeSrcDirPath };
|
87
|
+
}
|
88
|
+
function getEmailThemeSrcDirPath() {
|
89
|
+
var themeSrcDirPath = getThemeSrcDirPath().themeSrcDirPath;
|
90
|
+
var emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : (0, path_1.join)(themeSrcDirPath, "email");
|
91
|
+
return { emailThemeSrcDirPath: emailThemeSrcDirPath };
|
92
|
+
}
|
93
|
+
exports.getEmailThemeSrcDirPath = getEmailThemeSrcDirPath;
|
94
|
+
function main() {
|
95
|
+
return __awaiter(this, void 0, void 0, function () {
|
96
|
+
var isSilent, logger, emailThemeSrcDirPath, keycloakVersion, builtinKeycloakThemeTmpDirPath, themePropertyFilePath;
|
97
|
+
return __generator(this, function (_a) {
|
98
|
+
switch (_a.label) {
|
99
|
+
case 0:
|
100
|
+
isSilent = (0, cliOptions_1.getCliOptions)(process.argv.slice(2)).isSilent;
|
101
|
+
logger = (0, logger_1.getLogger)({ isSilent: isSilent });
|
102
|
+
emailThemeSrcDirPath = getEmailThemeSrcDirPath().emailThemeSrcDirPath;
|
103
|
+
if (emailThemeSrcDirPath === undefined) {
|
104
|
+
logger.warn("Couldn't locate you ".concat(themeSrcDirBasename, " directory"));
|
105
|
+
process.exit(-1);
|
106
|
+
}
|
107
|
+
if (fs.existsSync(emailThemeSrcDirPath)) {
|
108
|
+
logger.warn("There is already a ".concat((0, path_1.relative)(process.cwd(), emailThemeSrcDirPath), " directory in your project. Aborting."));
|
109
|
+
process.exit(-1);
|
110
|
+
}
|
111
|
+
return [4 /*yield*/, (0, promptKeycloakVersion_1.promptKeycloakVersion)()];
|
112
|
+
case 1:
|
113
|
+
keycloakVersion = (_a.sent()).keycloakVersion;
|
114
|
+
builtinKeycloakThemeTmpDirPath = (0, path_1.join)(emailThemeSrcDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
|
115
|
+
return [4 /*yield*/, (0, download_builtin_keycloak_theme_1.downloadBuiltinKeycloakTheme)({
|
116
|
+
keycloakVersion: keycloakVersion,
|
117
|
+
"destDirPath": builtinKeycloakThemeTmpDirPath,
|
118
|
+
isSilent: isSilent
|
119
|
+
})];
|
120
|
+
case 2:
|
121
|
+
_a.sent();
|
122
|
+
(0, transformCodebase_1.transformCodebase)({
|
123
|
+
"srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "base", "email"),
|
124
|
+
"destDirPath": emailThemeSrcDirPath
|
125
|
+
});
|
126
|
+
{
|
127
|
+
themePropertyFilePath = (0, path_1.join)(emailThemeSrcDirPath, "theme.properties");
|
128
|
+
fs.writeFileSync(themePropertyFilePath, Buffer.from("parent=base\n".concat(fs.readFileSync(themePropertyFilePath).toString("utf8")), "utf8"));
|
129
|
+
}
|
130
|
+
logger.log("".concat((0, path_1.relative)(process.cwd(), emailThemeSrcDirPath), " ready to be customized, feel free to remove every file you do not customize"));
|
131
|
+
fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
|
132
|
+
return [2 /*return*/];
|
133
|
+
}
|
134
|
+
});
|
105
135
|
});
|
106
|
-
}
|
136
|
+
}
|
137
|
+
if (require.main === module) {
|
138
|
+
main();
|
139
|
+
}
|
107
140
|
//# sourceMappingURL=initialize-email-theme.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":"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"}
|
@@ -164,9 +164,9 @@
|
|
164
164
|
key == "updateProfileCtx" &&
|
165
165
|
are_same_path(path, [])
|
166
166
|
) || (
|
167
|
-
<#-- https://github.com/
|
168
|
-
<#-- https://github.com/
|
169
|
-
<#-- https://github.com/
|
167
|
+
<#-- https://github.com/keycloakify/keycloakify/pull/65#issuecomment-991896344 (reports with saml-post-form.ftl) -->
|
168
|
+
<#-- https://github.com/keycloakify/keycloakify/issues/91#issue-1212319466 (reports with error.ftl and Kc18) -->
|
169
|
+
<#-- https://github.com/keycloakify/keycloakify/issues/109#issuecomment-1134610163 -->
|
170
170
|
key == "loginAction" &&
|
171
171
|
are_same_path(path, ["url"]) &&
|
172
172
|
["saml-post-form.ftl", "error.ftl", "info.ftl"]?seq_contains(pageId) &&
|
@@ -29,7 +29,7 @@ export declare namespace BuildOptionsLike {
|
|
29
29
|
export declare function generateKeycloakThemeResources(params: {
|
30
30
|
reactAppBuildDirPath: string;
|
31
31
|
keycloakThemeBuildingDirPath: string;
|
32
|
-
|
32
|
+
emailThemeSrcDirPath: string | undefined;
|
33
33
|
keycloakVersion: string;
|
34
34
|
buildOptions: BuildOptionsLike;
|
35
35
|
}): Promise<{
|
@@ -118,7 +118,6 @@ var mockTestingResourcesPath_1 = require("../mockTestingResourcesPath");
|
|
118
118
|
var isInside_1 = require("../tools/isInside");
|
119
119
|
var assert_1 = require("tsafe/assert");
|
120
120
|
var Reflect_1 = require("tsafe/Reflect");
|
121
|
-
var logger_1 = require("../tools/logger");
|
122
121
|
{
|
123
122
|
var buildOptions = (0, Reflect_1.Reflect)();
|
124
123
|
(0, assert_1.assert)();
|
@@ -126,13 +125,12 @@ var logger_1 = require("../tools/logger");
|
|
126
125
|
function generateKeycloakThemeResources(params) {
|
127
126
|
var _a, _b;
|
128
127
|
return __awaiter(this, void 0, void 0, function () {
|
129
|
-
var reactAppBuildDirPath, keycloakThemeBuildingDirPath,
|
128
|
+
var reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, keycloakVersion, buildOptions, getThemeDirPath, allCssGlobalsToDefine, generateFtlFilesCode_glob, _loop_1, themeTypes_1, themeTypes_1_1, themeType, e_1_1, doBundlesEmailTemplate;
|
130
129
|
var e_1, _c;
|
131
130
|
return __generator(this, function (_d) {
|
132
131
|
switch (_d.label) {
|
133
132
|
case 0:
|
134
|
-
reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath,
|
135
|
-
logger = (0, logger_1.getLogger)({ isSilent: buildOptions.isSilent });
|
133
|
+
reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, emailThemeSrcDirPath = params.emailThemeSrcDirPath, keycloakVersion = params.keycloakVersion, buildOptions = params.buildOptions;
|
136
134
|
getThemeDirPath = function (themeType) {
|
137
135
|
return (0, path_1.join)(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
|
138
136
|
};
|
@@ -280,17 +278,13 @@ function generateKeycloakThemeResources(params) {
|
|
280
278
|
return [7 /*endfinally*/];
|
281
279
|
case 8:
|
282
280
|
email: {
|
283
|
-
if (
|
284
|
-
logger.log([
|
285
|
-
"Not bundling email template because ".concat((0, path_1.basename)(keycloakThemeEmailDirPath), " does not exist"),
|
286
|
-
"To start customizing the email template, run: \uD83D\uDC49 npx create-keycloak-email-directory \uD83D\uDC48"
|
287
|
-
].join("\n"));
|
281
|
+
if (emailThemeSrcDirPath === undefined) {
|
288
282
|
doBundlesEmailTemplate = false;
|
289
283
|
break email;
|
290
284
|
}
|
291
285
|
doBundlesEmailTemplate = true;
|
292
286
|
(0, transformCodebase_1.transformCodebase)({
|
293
|
-
"srcDirPath":
|
287
|
+
"srcDirPath": emailThemeSrcDirPath,
|
294
288
|
"destDirPath": getThemeDirPath("email")
|
295
289
|
});
|
296
290
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/keycloakify/generateKeycloakThemeResources.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA+D;AAC/D,qCAAyB;AACzB,6BAAkE;AAClE,iGAAgG;AAChG,+EAA8E;AAC9E,6CAAgI;AAChI,sFAAkF;AAClF,wEAA6I;AAC7I,8CAA6C;AAE7C,uCAAsC;AACtC,yCAAwC;
|
1
|
+
{"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/keycloakify/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}
|
@@ -62,7 +62,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62
62
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
63
63
|
};
|
64
64
|
Object.defineProperty(exports, "__esModule", { value: true });
|
65
|
-
exports.main = exports.
|
65
|
+
exports.main = exports.keycloakThemeBuildingDirPath = void 0;
|
66
66
|
var generateKeycloakThemeResources_1 = require("./generateKeycloakThemeResources");
|
67
67
|
var generateJavaStackFiles_1 = require("./generateJavaStackFiles");
|
68
68
|
var path_1 = require("path");
|
@@ -74,9 +74,9 @@ var logger_1 = require("../tools/logger");
|
|
74
74
|
var cliOptions_1 = require("../tools/cliOptions");
|
75
75
|
var jar_1 = __importDefault(require("../tools/jar"));
|
76
76
|
var assert_1 = require("tsafe/assert");
|
77
|
+
var initialize_email_theme_1 = require("../initialize-email-theme");
|
77
78
|
var reactProjectDirPath = process.cwd();
|
78
79
|
exports.keycloakThemeBuildingDirPath = (0, path_1.join)(reactProjectDirPath, "build_keycloak");
|
79
|
-
exports.keycloakThemeEmailDirPath = (0, path_1.join)(reactProjectDirPath, "src", "keycloak-theme", "email");
|
80
80
|
function main() {
|
81
81
|
return __awaiter(this, void 0, void 0, function () {
|
82
82
|
var _a, isSilent, hasExternalAssets, logger, buildOptions, doBundlesEmailTemplate, jarFilePath, _b, containerKeycloakVersion;
|
@@ -100,7 +100,7 @@ function main() {
|
|
100
100
|
});
|
101
101
|
return [4 /*yield*/, (0, generateKeycloakThemeResources_1.generateKeycloakThemeResources)({
|
102
102
|
keycloakThemeBuildingDirPath: exports.keycloakThemeBuildingDirPath,
|
103
|
-
|
103
|
+
"emailThemeSrcDirPath": (0, initialize_email_theme_1.getEmailThemeSrcDirPath)().emailThemeSrcDirPath,
|
104
104
|
"reactAppBuildDirPath": (0, path_1.join)(reactProjectDirPath, "build"),
|
105
105
|
buildOptions: buildOptions,
|
106
106
|
//We have to leave it at that otherwise we break our default theme.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAkF;AAClF,mEAAkE;AAClE,6BAA4G;AAC5G,2DAA+C;AAC/C,iGAAgG;AAChG,qCAAyB;AACzB,+CAAkD;AAClD,0CAA4C;AAC5C,kDAAoD;AACpD,qDAA+B;AAC/B,uCAAsC;
|
1
|
+
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useState } from "react";
|
3
3
|
import { clsx } from "../../tools/clsx";
|
4
|
-
import { UserProfileFormFields } from "../../login/pages/shared/
|
4
|
+
import { UserProfileFormFields } from "../../login/pages/shared/UserProfileFormFields";
|
5
5
|
import { useGetClassName } from "../../login/lib/useGetClassName";
|
6
6
|
export default function IdpReviewUserProfile(props) {
|
7
7
|
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"IdpReviewUserProfile.js","sourceRoot":"","sources":["../../src/login/pages/IdpReviewUserProfile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"IdpReviewUserProfile.js","sourceRoot":"","sources":["../../src/login/pages/IdpReviewUserProfile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,KAAqF;IAC9H,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACH,KAAC,QAAQ,oBAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAE,UAAU,EAAE,GAAG,CAAC,4BAA4B,CAAC,gBACtG,8BAAM,EAAE,EAAC,4BAA4B,EAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBAChH,KAAC,qBAAqB,IAClB,SAAS,EAAE,SAAS,EACpB,8BAA8B,EAAE,mBAAmB,EACnD,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,GAC5B,EACF,6BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,iBAC5C,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,cAAK,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,GAAI,IAC3D,EACN,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,EAClC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EACzB,QAAQ,EAAE,CAAC,gBAAgB,GAC7B,IACA,KACJ,KACH,IACA,CACd,CAAC;AACN,CAAC"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useState } from "react";
|
3
3
|
import { clsx } from "../../tools/clsx";
|
4
|
-
import { UserProfileFormFields } from "./shared/
|
4
|
+
import { UserProfileFormFields } from "./shared/UserProfileFormFields";
|
5
5
|
import { useGetClassName } from "../../login/lib/useGetClassName";
|
6
6
|
export default function RegisterUserProfile(props) {
|
7
7
|
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RegisterUserProfile.js","sourceRoot":"","sources":["../../src/login/pages/RegisterUserProfile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"RegisterUserProfile.js","sourceRoot":"","sources":["../../src/login/pages/RegisterUserProfile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAmF;IAC3H,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAEjF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACH,KAAC,QAAQ,oBACD,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IACjD,cAAc,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EACjD,qBAAqB,EAAE,IAAI,EAC3B,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,gBAEhC,8BAAM,EAAE,EAAC,kBAAkB,EAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAC,MAAM,iBAC7G,KAAC,qBAAqB,IAClB,SAAS,EAAE,SAAS,EACpB,8BAA8B,EAAE,mBAAmB,EACnD,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,GAC5B,EACD,iBAAiB,IAAI,CAClB,4BAAK,SAAS,EAAC,YAAY,gBACvB,4BAAK,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,gBAC/C,cAAK,SAAS,EAAC,aAAa,eAAW,SAAS,kBAAe,gBAAgB,GAAI,IACjF,IACJ,CACT,EACD,6BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,iBAC3E,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,4BAAK,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,gBACrD,yBACI,0BAAG,IAAI,EAAE,GAAG,CAAC,QAAQ,gBAAG,GAAG,CAAC,aAAa,CAAC,IAAK,GAC5C,IACL,IACJ,EAEN,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,EAClC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,EAC3B,QAAQ,EAAE,CAAC,gBAAgB,GAC7B,IACA,KACJ,KACH,IACA,CACd,CAAC;AACN,CAAC"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useState } from "react";
|
3
3
|
import { clsx } from "../../tools/clsx";
|
4
|
-
import { UserProfileFormFields } from "../../login/pages/shared/
|
4
|
+
import { UserProfileFormFields } from "../../login/pages/shared/UserProfileFormFields";
|
5
5
|
import { useGetClassName } from "../../login/lib/useGetClassName";
|
6
6
|
export default function UpdateUserProfile(props) {
|
7
7
|
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UpdateUserProfile.js","sourceRoot":"","sources":["../../src/login/pages/UpdateUserProfile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"UpdateUserProfile.js","sourceRoot":"","sources":["../../src/login/pages/UpdateUserProfile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAiF;IACvH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAEhD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACH,KAAC,QAAQ,oBAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAE,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,gBAC7F,8BAAM,EAAE,EAAC,wBAAwB,EAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBAC5G,KAAC,qBAAqB,IAClB,SAAS,EAAE,SAAS,EACpB,8BAA8B,EAAE,mBAAmB,EACnD,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,GAC5B,EAEF,6BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,iBAC5C,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,cAAK,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,GAAQ,IAC/D,EAEN,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBAClE,oBAAoB,CAAC,CAAC,CAAC,CACpB,8BACI,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAC3B,EACF,+BACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,MAAM,EACZ,cAAc,sBAEb,GAAG,CAAC,UAAU,CAAC,IACX,IACV,CACN,CAAC,CAAC,CAAC,CACA,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,EAClC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,EAChC,QAAQ,EAAE,CAAC,gBAAgB,GAC7B,CACL,IACC,KACJ,KACH,IACA,CACd,CAAC;AACN,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"UserProfileFormFields.js","sourceRoot":"","sources":["../../../src/login/pages/shared/UserProfileFormFields.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "keycloakify",
|
3
|
-
"version": "7.
|
3
|
+
"version": "7.1.2",
|
4
4
|
"description": "Create Keycloak themes using React",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
7
|
-
"url": "git://github.com/
|
7
|
+
"url": "git://github.com/keycloakify/keycloakify.git"
|
8
8
|
},
|
9
9
|
"main": "index.js",
|
10
10
|
"types": "index.d.ts",
|
@@ -168,7 +168,7 @@
|
|
168
168
|
"src/login/pages/Terms.tsx",
|
169
169
|
"src/login/pages/UpdateUserProfile.tsx",
|
170
170
|
"src/login/pages/WebauthnAuthenticate.tsx",
|
171
|
-
"src/login/pages/shared/
|
171
|
+
"src/login/pages/shared/UserProfileFormFields.tsx",
|
172
172
|
"src/tools/AndByDiscriminatingKey.ts",
|
173
173
|
"src/tools/Array.prototype.every.ts",
|
174
174
|
"src/tools/DeepPartial.ts",
|
@@ -603,9 +603,9 @@
|
|
603
603
|
"login/pages/WebauthnAuthenticate.d.ts",
|
604
604
|
"login/pages/WebauthnAuthenticate.js",
|
605
605
|
"login/pages/WebauthnAuthenticate.js.map",
|
606
|
-
"login/pages/shared/
|
607
|
-
"login/pages/shared/
|
608
|
-
"login/pages/shared/
|
606
|
+
"login/pages/shared/UserProfileFormFields.d.ts",
|
607
|
+
"login/pages/shared/UserProfileFormFields.js",
|
608
|
+
"login/pages/shared/UserProfileFormFields.js.map",
|
609
609
|
"tools/AndByDiscriminatingKey.d.ts",
|
610
610
|
"tools/AndByDiscriminatingKey.js",
|
611
611
|
"tools/AndByDiscriminatingKey.js.map",
|
@@ -1,27 +1,65 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
2
|
|
3
3
|
import { downloadBuiltinKeycloakTheme } from "./download-builtin-keycloak-theme";
|
4
|
-
import { keycloakThemeEmailDirPath } from "./keycloakify";
|
5
4
|
import { join as pathJoin, relative as pathRelative } from "path";
|
6
5
|
import { transformCodebase } from "./tools/transformCodebase";
|
7
6
|
import { promptKeycloakVersion } from "./promptKeycloakVersion";
|
8
7
|
import * as fs from "fs";
|
9
8
|
import { getCliOptions } from "./tools/cliOptions";
|
10
9
|
import { getLogger } from "./tools/logger";
|
10
|
+
import { crawl } from "./tools/crawl";
|
11
|
+
import { exclude } from "tsafe/exclude";
|
11
12
|
|
12
|
-
|
13
|
+
const reactProjectDirPath = process.cwd();
|
14
|
+
|
15
|
+
const themeSrcDirBasename = "keycloak-theme";
|
16
|
+
|
17
|
+
function getThemeSrcDirPath() {
|
18
|
+
const srcDirPath = pathJoin(reactProjectDirPath, "src");
|
19
|
+
|
20
|
+
const themeSrcDirPath: string | undefined = crawl(srcDirPath)
|
21
|
+
.map(fileRelativePath => {
|
22
|
+
const split = fileRelativePath.split(themeSrcDirBasename);
|
23
|
+
|
24
|
+
if (split.length !== 2) {
|
25
|
+
return undefined;
|
26
|
+
}
|
27
|
+
|
28
|
+
return pathJoin(srcDirPath, split[0] + themeSrcDirBasename);
|
29
|
+
})
|
30
|
+
.filter(exclude(undefined))[0];
|
31
|
+
return { themeSrcDirPath };
|
32
|
+
}
|
33
|
+
|
34
|
+
export function getEmailThemeSrcDirPath() {
|
35
|
+
const { themeSrcDirPath } = getThemeSrcDirPath();
|
36
|
+
|
37
|
+
const emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : pathJoin(themeSrcDirPath, "email");
|
38
|
+
|
39
|
+
return { emailThemeSrcDirPath };
|
40
|
+
}
|
41
|
+
|
42
|
+
async function main() {
|
13
43
|
const { isSilent } = getCliOptions(process.argv.slice(2));
|
14
44
|
const logger = getLogger({ isSilent });
|
15
45
|
|
16
|
-
|
17
|
-
|
46
|
+
const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath();
|
47
|
+
|
48
|
+
if (emailThemeSrcDirPath === undefined) {
|
49
|
+
logger.warn(`Couldn't locate you ${themeSrcDirBasename} directory`);
|
50
|
+
|
51
|
+
process.exit(-1);
|
52
|
+
}
|
53
|
+
|
54
|
+
if (fs.existsSync(emailThemeSrcDirPath)) {
|
55
|
+
logger.warn(`There is already a ${pathRelative(process.cwd(), emailThemeSrcDirPath)} directory in your project. Aborting.`);
|
18
56
|
|
19
57
|
process.exit(-1);
|
20
58
|
}
|
21
59
|
|
22
60
|
const { keycloakVersion } = await promptKeycloakVersion();
|
23
61
|
|
24
|
-
const builtinKeycloakThemeTmpDirPath = pathJoin(
|
62
|
+
const builtinKeycloakThemeTmpDirPath = pathJoin(emailThemeSrcDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
|
25
63
|
|
26
64
|
await downloadBuiltinKeycloakTheme({
|
27
65
|
keycloakVersion,
|
@@ -31,18 +69,20 @@ import { getLogger } from "./tools/logger";
|
|
31
69
|
|
32
70
|
transformCodebase({
|
33
71
|
"srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "base", "email"),
|
34
|
-
"destDirPath":
|
72
|
+
"destDirPath": emailThemeSrcDirPath
|
35
73
|
});
|
36
74
|
|
37
75
|
{
|
38
|
-
const themePropertyFilePath = pathJoin(
|
76
|
+
const themePropertyFilePath = pathJoin(emailThemeSrcDirPath, "theme.properties");
|
39
77
|
|
40
78
|
fs.writeFileSync(themePropertyFilePath, Buffer.from(`parent=base\n${fs.readFileSync(themePropertyFilePath).toString("utf8")}`, "utf8"));
|
41
79
|
}
|
42
80
|
|
43
|
-
logger.log(
|
44
|
-
`${pathRelative(process.cwd(), keycloakThemeEmailDirPath)} ready to be customized, feel free to remove every file you do not customize`
|
45
|
-
);
|
81
|
+
logger.log(`${pathRelative(process.cwd(), emailThemeSrcDirPath)} ready to be customized, feel free to remove every file you do not customize`);
|
46
82
|
|
47
83
|
fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
|
48
|
-
}
|
84
|
+
}
|
85
|
+
|
86
|
+
if (require.main === module) {
|
87
|
+
main();
|
88
|
+
}
|
@@ -164,9 +164,9 @@
|
|
164
164
|
key == "updateProfileCtx" &&
|
165
165
|
are_same_path(path, [])
|
166
166
|
) || (
|
167
|
-
<#-- https://github.com/
|
168
|
-
<#-- https://github.com/
|
169
|
-
<#-- https://github.com/
|
167
|
+
<#-- https://github.com/keycloakify/keycloakify/pull/65#issuecomment-991896344 (reports with saml-post-form.ftl) -->
|
168
|
+
<#-- https://github.com/keycloakify/keycloakify/issues/91#issue-1212319466 (reports with error.ftl and Kc18) -->
|
169
|
+
<#-- https://github.com/keycloakify/keycloakify/issues/109#issuecomment-1134610163 -->
|
170
170
|
key == "loginAction" &&
|
171
171
|
are_same_path(path, ["url"]) &&
|
172
172
|
["saml-post-form.ftl", "error.ftl", "info.ftl"]?seq_contains(pageId) &&
|
@@ -10,7 +10,6 @@ import { isInside } from "../tools/isInside";
|
|
10
10
|
import type { BuildOptions } from "./BuildOptions";
|
11
11
|
import { assert } from "tsafe/assert";
|
12
12
|
import { Reflect } from "tsafe/Reflect";
|
13
|
-
import { getLogger } from "../tools/logger";
|
14
13
|
|
15
14
|
export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
|
16
15
|
|
@@ -56,13 +55,11 @@ export namespace BuildOptionsLike {
|
|
56
55
|
export async function generateKeycloakThemeResources(params: {
|
57
56
|
reactAppBuildDirPath: string;
|
58
57
|
keycloakThemeBuildingDirPath: string;
|
59
|
-
|
58
|
+
emailThemeSrcDirPath: string | undefined;
|
60
59
|
keycloakVersion: string;
|
61
60
|
buildOptions: BuildOptionsLike;
|
62
61
|
}): Promise<{ doBundlesEmailTemplate: boolean }> {
|
63
|
-
const { reactAppBuildDirPath, keycloakThemeBuildingDirPath,
|
64
|
-
|
65
|
-
const logger = getLogger({ isSilent: buildOptions.isSilent });
|
62
|
+
const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, keycloakVersion, buildOptions } = params;
|
66
63
|
|
67
64
|
const getThemeDirPath = (themeType: ThemeType | "email") =>
|
68
65
|
pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
|
@@ -228,13 +225,7 @@ export async function generateKeycloakThemeResources(params: {
|
|
228
225
|
let doBundlesEmailTemplate: boolean;
|
229
226
|
|
230
227
|
email: {
|
231
|
-
if (
|
232
|
-
logger.log(
|
233
|
-
[
|
234
|
-
`Not bundling email template because ${pathBasename(keycloakThemeEmailDirPath)} does not exist`,
|
235
|
-
`To start customizing the email template, run: 👉 npx create-keycloak-email-directory 👈`
|
236
|
-
].join("\n")
|
237
|
-
);
|
228
|
+
if (emailThemeSrcDirPath === undefined) {
|
238
229
|
doBundlesEmailTemplate = false;
|
239
230
|
break email;
|
240
231
|
}
|
@@ -242,7 +233,7 @@ export async function generateKeycloakThemeResources(params: {
|
|
242
233
|
doBundlesEmailTemplate = true;
|
243
234
|
|
244
235
|
transformCodebase({
|
245
|
-
"srcDirPath":
|
236
|
+
"srcDirPath": emailThemeSrcDirPath,
|
246
237
|
"destDirPath": getThemeDirPath("email")
|
247
238
|
});
|
248
239
|
}
|
@@ -9,12 +9,12 @@ import { getLogger } from "../tools/logger";
|
|
9
9
|
import { getCliOptions } from "../tools/cliOptions";
|
10
10
|
import jar from "../tools/jar";
|
11
11
|
import { assert } from "tsafe/assert";
|
12
|
-
import
|
12
|
+
import { Equals } from "tsafe";
|
13
|
+
import { getEmailThemeSrcDirPath } from "../initialize-email-theme";
|
13
14
|
|
14
15
|
const reactProjectDirPath = process.cwd();
|
15
16
|
|
16
17
|
export const keycloakThemeBuildingDirPath = pathJoin(reactProjectDirPath, "build_keycloak");
|
17
|
-
export const keycloakThemeEmailDirPath = pathJoin(reactProjectDirPath, "src", "keycloak-theme", "email");
|
18
18
|
|
19
19
|
export async function main() {
|
20
20
|
const { isSilent, hasExternalAssets } = getCliOptions(process.argv.slice(2));
|
@@ -38,7 +38,7 @@ export async function main() {
|
|
38
38
|
|
39
39
|
const { doBundlesEmailTemplate } = await generateKeycloakThemeResources({
|
40
40
|
keycloakThemeBuildingDirPath,
|
41
|
-
|
41
|
+
"emailThemeSrcDirPath": getEmailThemeSrcDirPath().emailThemeSrcDirPath,
|
42
42
|
"reactAppBuildDirPath": pathJoin(reactProjectDirPath, "build"),
|
43
43
|
buildOptions,
|
44
44
|
//We have to leave it at that otherwise we break our default theme.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import { UserProfileFormFields } from "keycloakify/login/pages/shared/
|
3
|
+
import { UserProfileFormFields } from "keycloakify/login/pages/shared/UserProfileFormFields";
|
4
4
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
5
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
6
|
import type { KcContext } from "../kcContext";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import { UserProfileFormFields } from "./shared/
|
3
|
+
import { UserProfileFormFields } from "./shared/UserProfileFormFields";
|
4
4
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
5
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
6
|
import type { KcContext } from "../kcContext";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import { UserProfileFormFields } from "keycloakify/login/pages/shared/
|
3
|
+
import { UserProfileFormFields } from "keycloakify/login/pages/shared/UserProfileFormFields";
|
4
4
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
5
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
6
|
import type { KcContext } from "../kcContext";
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"UserProfileCommons.js","sourceRoot":"","sources":["../../../src/login/pages/shared/UserProfileCommons.tsx"],"names":[],"mappings":"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"}
|
File without changes
|
File without changes
|