keycloakify 7.7.1 → 7.7.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 +4 -1
- package/bin/keycloakify/BuildOptions.d.ts +1 -0
- package/bin/keycloakify/BuildOptions.js +3 -2
- package/bin/keycloakify/BuildOptions.js.map +1 -1
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +7 -0
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +100 -0
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -0
- package/bin/keycloakify/{generateKeycloakThemeResources.d.ts → generateTheme/generateTheme.d.ts} +2 -2
- package/bin/keycloakify/{generateKeycloakThemeResources.js → generateTheme/generateTheme.js} +39 -37
- package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -0
- package/bin/keycloakify/generateTheme/index.d.ts +1 -0
- package/bin/keycloakify/generateTheme/index.js +18 -0
- package/bin/keycloakify/generateTheme/index.js.map +1 -0
- package/bin/keycloakify/keycloakify.js +2 -3
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/bin/tools/grant-exec-perms.js +2 -1
- package/bin/tools/grant-exec-perms.js.map +1 -1
- package/bin/tools/walk.js +1 -1
- package/lib/usePrepareTemplate.js +27 -15
- package/lib/usePrepareTemplate.js.map +1 -1
- package/login/pages/LoginOtp.js +8 -4
- package/login/pages/LoginOtp.js.map +1 -1
- package/package.json +15 -7
- package/src/bin/keycloakify/BuildOptions.ts +3 -1
- package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +38 -0
- package/src/bin/keycloakify/{generateKeycloakThemeResources.ts → generateTheme/generateTheme.ts} +27 -41
- package/src/bin/keycloakify/generateTheme/index.ts +1 -0
- package/src/bin/keycloakify/keycloakify.ts +2 -3
- package/src/lib/usePrepareTemplate.ts +29 -16
- package/src/login/pages/LoginOtp.tsx +11 -4
- package/src/tools/headInsert.ts +5 -2
- package/tools/headInsert.d.ts +4 -1
- package/tools/headInsert.js +4 -1
- package/tools/headInsert.js.map +1 -1
- package/bin/keycloakify/generateKeycloakThemeResources.js.map +0 -1
package/README.md
CHANGED
@@ -20,6 +20,9 @@
|
|
20
20
|
<a href="https://github.com/thomasdarimont/awesome-keycloak">
|
21
21
|
<img src="https://awesome.re/mentioned-badge.svg"/>
|
22
22
|
</a>
|
23
|
+
<a href="https://discord.gg/rBzsYtUn">
|
24
|
+
<img src="https://img.shields.io/discord/1097708346976505977"/>
|
25
|
+
</a>
|
23
26
|
<p align="center">
|
24
27
|
<a href="https://www.keycloakify.dev">Home</a>
|
25
28
|
-
|
@@ -51,7 +54,7 @@ Their dedicated support helps us continue the development and maintenance of thi
|
|
51
54
|
<img src="https://user-images.githubusercontent.com/6702424/232165752-17134e68-4a55-4d6e-8672-e9132ecac5d5.svg" alt="Cloud IAM Logo" width="200"/>
|
52
55
|
</a>
|
53
56
|
<br/>
|
54
|
-
<i>Use promo code <code>
|
57
|
+
<i>Use promo code <code>keycloakify5</code> </i>
|
55
58
|
<br/>
|
56
59
|
<i>5% of your annual subscription will be donated to us, and you'll get 5% off too.</i>
|
57
60
|
</p>
|
@@ -59,7 +59,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
59
59
|
return to.concat(ar || Array.prototype.slice.call(from));
|
60
60
|
};
|
61
61
|
Object.defineProperty(exports, "__esModule", { value: true });
|
62
|
-
exports.readBuildOptions = void 0;
|
62
|
+
exports.readBuildOptions = exports.defaultKeycloakVersionDefaultAssets = void 0;
|
63
63
|
var assert_1 = require("tsafe/assert");
|
64
64
|
var id_1 = require("tsafe/id");
|
65
65
|
var url_1 = require("url");
|
@@ -68,6 +68,7 @@ var symToStr_1 = require("tsafe/symToStr");
|
|
68
68
|
var parsedPackageJson_1 = require("./parsedPackageJson");
|
69
69
|
var fs = __importStar(require("fs"));
|
70
70
|
var path_1 = require("path");
|
71
|
+
exports.defaultKeycloakVersionDefaultAssets = "11.0.3";
|
71
72
|
function readBuildOptions(params) {
|
72
73
|
var _a;
|
73
74
|
var projectDirPath = params.projectDirPath, isExternalAssetsCliParamProvided = params.isExternalAssetsCliParamProvided, isSilent = params.isSilent;
|
@@ -129,7 +130,7 @@ function readBuildOptions(params) {
|
|
129
130
|
extraAccountPages: extraAccountPages,
|
130
131
|
extraThemeProperties: extraThemeProperties,
|
131
132
|
isSilent: isSilent,
|
132
|
-
"keycloakVersionDefaultAssets": keycloakVersionDefaultAssets !== null && keycloakVersionDefaultAssets !== void 0 ? keycloakVersionDefaultAssets :
|
133
|
+
"keycloakVersionDefaultAssets": keycloakVersionDefaultAssets !== null && keycloakVersionDefaultAssets !== void 0 ? keycloakVersionDefaultAssets : exports.defaultKeycloakVersionDefaultAssets,
|
133
134
|
"reactAppBuildDirPath": (function () {
|
134
135
|
var _a;
|
135
136
|
var _b = ((_a = parsedPackageJson.keycloakify) !== null && _a !== void 0 ? _a : {}).reactAppBuildDirPath, reactAppBuildDirPath = _b === void 0 ? undefined : _b;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BuildOptions.js","sourceRoot":"","sources":["../../src/bin/keycloakify/BuildOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,+BAA8B;AAC9B,2BAAwC;AACxC,6CAA4C;AAC5C,2CAA0C;AAC1C,yDAAmF;AACnF,qCAAyB;AACzB,6BAAwD;
|
1
|
+
{"version":3,"file":"BuildOptions.js","sourceRoot":"","sources":["../../src/bin/keycloakify/BuildOptions.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
32
|
+
});
|
33
|
+
};
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
36
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
38
|
+
function step(op) {
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
41
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
43
|
+
switch (op[0]) {
|
44
|
+
case 0: case 1: t = op; break;
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
48
|
+
default:
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
53
|
+
if (t[2]) _.ops.pop();
|
54
|
+
_.trys.pop(); continue;
|
55
|
+
}
|
56
|
+
op = body.call(thisArg, _);
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
59
|
+
}
|
60
|
+
};
|
61
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
62
|
+
exports.downloadKeycloakStaticResources = void 0;
|
63
|
+
var transformCodebase_1 = require("../../tools/transformCodebase");
|
64
|
+
var fs = __importStar(require("fs"));
|
65
|
+
var path_1 = require("path");
|
66
|
+
var download_builtin_keycloak_theme_1 = require("../../download-builtin-keycloak-theme");
|
67
|
+
var mockTestingResourcesPath_1 = require("../../mockTestingResourcesPath");
|
68
|
+
function downloadKeycloakStaticResources(
|
69
|
+
// prettier-ignore
|
70
|
+
params) {
|
71
|
+
return __awaiter(this, void 0, void 0, function () {
|
72
|
+
var themeType, isSilent, themeDirPath, keycloakVersion, tmpDirPath;
|
73
|
+
return __generator(this, function (_a) {
|
74
|
+
switch (_a.label) {
|
75
|
+
case 0:
|
76
|
+
themeType = params.themeType, isSilent = params.isSilent, themeDirPath = params.themeDirPath, keycloakVersion = params.keycloakVersion;
|
77
|
+
tmpDirPath = (0, path_1.join)(themeDirPath, "..", "tmp_suLeKsxId");
|
78
|
+
return [4 /*yield*/, (0, download_builtin_keycloak_theme_1.downloadBuiltinKeycloakTheme)({
|
79
|
+
keycloakVersion: keycloakVersion,
|
80
|
+
"destDirPath": tmpDirPath,
|
81
|
+
isSilent: isSilent
|
82
|
+
})];
|
83
|
+
case 1:
|
84
|
+
_a.sent();
|
85
|
+
(0, transformCodebase_1.transformCodebase)({
|
86
|
+
"srcDirPath": (0, path_1.join)(tmpDirPath, "keycloak", themeType, "resources"),
|
87
|
+
"destDirPath": (0, path_1.join)(themeDirPath, (0, path_1.relative)(mockTestingResourcesPath_1.mockTestingSubDirOfPublicDirBasename, mockTestingResourcesPath_1.mockTestingResourcesPath))
|
88
|
+
});
|
89
|
+
(0, transformCodebase_1.transformCodebase)({
|
90
|
+
"srcDirPath": (0, path_1.join)(tmpDirPath, "keycloak", "common", "resources"),
|
91
|
+
"destDirPath": (0, path_1.join)(themeDirPath, (0, path_1.relative)(mockTestingResourcesPath_1.mockTestingSubDirOfPublicDirBasename, mockTestingResourcesPath_1.mockTestingResourcesCommonPath))
|
92
|
+
});
|
93
|
+
fs.rmSync(tmpDirPath, { "recursive": true, "force": true });
|
94
|
+
return [2 /*return*/];
|
95
|
+
}
|
96
|
+
});
|
97
|
+
});
|
98
|
+
}
|
99
|
+
exports.downloadKeycloakStaticResources = downloadKeycloakStaticResources;
|
100
|
+
//# sourceMappingURL=downloadKeycloakStaticResources.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"downloadKeycloakStaticResources.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,qCAAyB;AACzB,6BAAkE;AAElE,yFAAqF;AACrF,2EAAgJ;AAEhJ,SAAsB,+BAA+B;AACjD,kBAAkB;AAClB,MAKC;;;;;;oBAEO,SAAS,GAA8C,MAAM,UAApD,EAAE,QAAQ,GAAoC,MAAM,SAA1C,EAAE,YAAY,GAAsB,MAAM,aAA5B,EAAE,eAAe,GAAK,MAAM,gBAAX,CAAY;oBAEhE,UAAU,GAAG,IAAA,WAAQ,EAAC,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;oBAEjE,qBAAM,IAAA,8DAA4B,EAAC;4BAC/B,eAAe,iBAAA;4BACf,aAAa,EAAE,UAAU;4BACzB,QAAQ,UAAA;yBACX,CAAC,EAAA;;oBAJF,SAIE,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;wBACtE,aAAa,EAAE,IAAA,WAAQ,EAAC,YAAY,EAAE,IAAA,eAAY,EAAC,+DAAoC,EAAE,mDAAwB,CAAC,CAAC;qBACtH,CAAC,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;wBACrE,aAAa,EAAE,IAAA,WAAQ,EAAC,YAAY,EAAE,IAAA,eAAY,EAAC,+DAAoC,EAAE,yDAA8B,CAAC,CAAC;qBAC5H,CAAC,CAAC;oBAEH,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;CAC/D;AA9BD,0EA8BC"}
|
package/bin/keycloakify/{generateKeycloakThemeResources.d.ts → generateTheme/generateTheme.d.ts}
RENAMED
@@ -8,6 +8,7 @@ export declare namespace BuildOptionsLike {
|
|
8
8
|
isSilent: boolean;
|
9
9
|
customUserAttributes: string[];
|
10
10
|
themeVersion: string;
|
11
|
+
keycloakVersionDefaultAssets: string;
|
11
12
|
};
|
12
13
|
type Standalone = Common & {
|
13
14
|
isStandalone: true;
|
@@ -28,11 +29,10 @@ export declare namespace BuildOptionsLike {
|
|
28
29
|
};
|
29
30
|
}
|
30
31
|
}
|
31
|
-
export declare function
|
32
|
+
export declare function generateTheme(params: {
|
32
33
|
reactAppBuildDirPath: string;
|
33
34
|
keycloakThemeBuildingDirPath: string;
|
34
35
|
emailThemeSrcDirPath: string | undefined;
|
35
|
-
keycloakVersion: string;
|
36
36
|
buildOptions: BuildOptionsLike;
|
37
37
|
keycloakifyVersion: string;
|
38
38
|
}): Promise<{
|
package/bin/keycloakify/{generateKeycloakThemeResources.js → generateTheme/generateTheme.js}
RENAMED
@@ -106,34 +106,35 @@ var __values = (this && this.__values) || function(o) {
|
|
106
106
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
107
107
|
};
|
108
108
|
Object.defineProperty(exports, "__esModule", { value: true });
|
109
|
-
exports.
|
110
|
-
var transformCodebase_1 = require("
|
109
|
+
exports.generateTheme = void 0;
|
110
|
+
var transformCodebase_1 = require("../../tools/transformCodebase");
|
111
111
|
var fs = __importStar(require("fs"));
|
112
112
|
var path_1 = require("path");
|
113
|
-
var replaceImportsFromStaticInJsCode_1 = require("
|
114
|
-
var replaceImportsInCssCode_1 = require("
|
115
|
-
var generateFtl_1 = require("
|
116
|
-
var
|
117
|
-
var
|
118
|
-
var isInside_1 = require("../tools/isInside");
|
113
|
+
var replaceImportsFromStaticInJsCode_1 = require("../replacers/replaceImportsFromStaticInJsCode");
|
114
|
+
var replaceImportsInCssCode_1 = require("../replacers/replaceImportsInCssCode");
|
115
|
+
var generateFtl_1 = require("../generateFtl");
|
116
|
+
var mockTestingResourcesPath_1 = require("../../mockTestingResourcesPath");
|
117
|
+
var isInside_1 = require("../../tools/isInside");
|
119
118
|
var assert_1 = require("tsafe/assert");
|
119
|
+
var downloadKeycloakStaticResources_1 = require("./downloadKeycloakStaticResources");
|
120
120
|
(0, assert_1.assert)();
|
121
|
-
function
|
121
|
+
function generateTheme(params) {
|
122
122
|
var _a, _b;
|
123
123
|
return __awaiter(this, void 0, void 0, function () {
|
124
|
-
var reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath,
|
124
|
+
var reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, buildOptions, keycloakifyVersion, getThemeDirPath, allCssGlobalsToDefine, generateFtlFilesCode_glob, _loop_1, themeTypes_1, themeTypes_1_1, themeType, e_1_1, doBundlesEmailTemplate;
|
125
125
|
var e_1, _c;
|
126
|
+
var _this = this;
|
126
127
|
return __generator(this, function (_d) {
|
127
128
|
switch (_d.label) {
|
128
129
|
case 0:
|
129
|
-
reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, emailThemeSrcDirPath = params.emailThemeSrcDirPath,
|
130
|
+
reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, emailThemeSrcDirPath = params.emailThemeSrcDirPath, buildOptions = params.buildOptions, keycloakifyVersion = params.keycloakifyVersion;
|
130
131
|
getThemeDirPath = function (themeType) {
|
131
132
|
return (0, path_1.join)(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
|
132
133
|
};
|
133
134
|
allCssGlobalsToDefine = {};
|
134
135
|
generateFtlFilesCode_glob = undefined;
|
135
136
|
_loop_1 = function (themeType) {
|
136
|
-
var themeDirPath, isFirstPass_1, generateFtlFilesCode,
|
137
|
+
var themeDirPath, isFirstPass_1, generateFtlFilesCode, downloadKeycloakStaticResources_configured, keycloakResourcesWithinPublicDirPath;
|
137
138
|
return __generator(this, function (_e) {
|
138
139
|
switch (_e.label) {
|
139
140
|
case 0:
|
@@ -216,32 +217,33 @@ function generateKeycloakThemeResources(params) {
|
|
216
217
|
fs.mkdirSync(themeDirPath, { "recursive": true });
|
217
218
|
fs.writeFileSync((0, path_1.join)(themeDirPath, pageId), Buffer.from(ftlCode, "utf8"));
|
218
219
|
});
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
220
|
+
downloadKeycloakStaticResources_configured = function (themeDirPath) { return __awaiter(_this, void 0, void 0, function () {
|
221
|
+
return __generator(this, function (_a) {
|
222
|
+
switch (_a.label) {
|
223
|
+
case 0: return [4 /*yield*/, (0, downloadKeycloakStaticResources_1.downloadKeycloakStaticResources)({
|
224
|
+
"isSilent": buildOptions.isSilent,
|
225
|
+
"keycloakVersion": buildOptions.keycloakVersionDefaultAssets,
|
226
|
+
themeDirPath: themeDirPath,
|
227
|
+
themeType: themeType
|
228
|
+
})];
|
229
|
+
case 1: return [2 /*return*/, _a.sent()];
|
230
|
+
}
|
231
|
+
});
|
232
|
+
}); };
|
233
|
+
return [4 /*yield*/, downloadKeycloakStaticResources_configured(themeDirPath)];
|
225
234
|
case 1:
|
226
235
|
_e.sent();
|
227
|
-
|
228
|
-
(
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
"
|
235
|
-
"
|
236
|
-
|
237
|
-
(0, transformCodebase_1.transformCodebase)({
|
238
|
-
"srcDirPath": themeResourcesDirPath,
|
239
|
-
"destDirPath": (0, path_1.join)(reactAppPublicDirPath, mockTestingResourcesPath_1.mockTestingResourcesPath)
|
240
|
-
});
|
241
|
-
keycloakResourcesWithinPublicDirPath = (0, path_1.join)(reactAppPublicDirPath, mockTestingResourcesPath_1.mockTestingSubDirOfPublicDirBasename);
|
242
|
-
fs.writeFileSync((0, path_1.join)(keycloakResourcesWithinPublicDirPath, "README.txt"), Buffer.from(["This is just a test folder that helps develop", "the login and register page without having to run a Keycloak container"].join(" ")));
|
236
|
+
keycloakResourcesWithinPublicDirPath = (0, path_1.join)(reactAppBuildDirPath, "..", "public", mockTestingResourcesPath_1.mockTestingSubDirOfPublicDirBasename);
|
237
|
+
return [4 /*yield*/, downloadKeycloakStaticResources_configured(keycloakResourcesWithinPublicDirPath)];
|
238
|
+
case 2:
|
239
|
+
_e.sent();
|
240
|
+
fs.writeFileSync((0, path_1.join)(keycloakResourcesWithinPublicDirPath, "README.txt"), Buffer.from(
|
241
|
+
// prettier-ignore
|
242
|
+
[
|
243
|
+
"This is just a test folder that helps develop",
|
244
|
+
"the login and register page without having to run a Keycloak container"
|
245
|
+
].join(" ")));
|
243
246
|
fs.writeFileSync((0, path_1.join)(keycloakResourcesWithinPublicDirPath, ".gitignore"), Buffer.from("*", "utf8"));
|
244
|
-
fs.rmSync(tmpDirPath, { recursive: true, force: true });
|
245
247
|
fs.writeFileSync((0, path_1.join)(themeDirPath, "theme.properties"), Buffer.from(__spreadArray(["parent=keycloak"], __read(((_b = buildOptions.extraThemeProperties) !== null && _b !== void 0 ? _b : [])), false).join("\n\n"), "utf8"));
|
246
248
|
return [2 /*return*/];
|
247
249
|
}
|
@@ -290,5 +292,5 @@ function generateKeycloakThemeResources(params) {
|
|
290
292
|
});
|
291
293
|
});
|
292
294
|
}
|
293
|
-
exports.
|
294
|
-
//# sourceMappingURL=
|
295
|
+
exports.generateTheme = generateTheme;
|
296
|
+
//# sourceMappingURL=generateTheme.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"generateTheme.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/generateTheme.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./generateTheme";
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./generateTheme"), exports);
|
18
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
@@ -63,7 +63,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
63
63
|
};
|
64
64
|
Object.defineProperty(exports, "__esModule", { value: true });
|
65
65
|
exports.main = void 0;
|
66
|
-
var
|
66
|
+
var generateTheme_1 = require("./generateTheme");
|
67
67
|
var generateJavaStackFiles_1 = require("./generateJavaStackFiles");
|
68
68
|
var path_1 = require("path");
|
69
69
|
var child_process = __importStar(require("child_process"));
|
@@ -91,7 +91,7 @@ function main() {
|
|
91
91
|
"isExternalAssetsCliParamProvided": hasExternalAssets,
|
92
92
|
"isSilent": isSilent
|
93
93
|
});
|
94
|
-
return [4 /*yield*/, (0,
|
94
|
+
return [4 /*yield*/, (0, generateTheme_1.generateTheme)({
|
95
95
|
keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
|
96
96
|
"emailThemeSrcDirPath": (function () {
|
97
97
|
var emailThemeSrcDirPath = (0, getSrcDirPath_1.getEmailThemeSrcDirPath)({ projectDirPath: projectDirPath }).emailThemeSrcDirPath;
|
@@ -102,7 +102,6 @@ function main() {
|
|
102
102
|
})(),
|
103
103
|
"reactAppBuildDirPath": buildOptions.reactAppBuildDirPath,
|
104
104
|
buildOptions: buildOptions,
|
105
|
-
"keycloakVersion": buildOptions.keycloakVersionDefaultAssets,
|
106
105
|
"keycloakifyVersion": (function () {
|
107
106
|
var version = JSON.parse(fs.readFileSync((0, path_1.join)((0, getProjectRoot_1.getProjectRoot)(), "package.json")).toString("utf8"))["version"];
|
108
107
|
(0, assert_1.assert)(typeof version === "string");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
1
|
+
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":"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"}
|
@@ -66,8 +66,9 @@ var promises_1 = require("fs/promises");
|
|
66
66
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
67
67
|
var bin, promises;
|
68
68
|
return __generator(this, function (_a) {
|
69
|
+
var _b;
|
69
70
|
switch (_a.label) {
|
70
|
-
case 0: return [4 /*yield*/,
|
71
|
+
case 0: return [4 /*yield*/, (_b = (0, path_1.join)((0, getProjectRoot_1.getProjectRoot)(), "package.json"), Promise.resolve().then(function () { return __importStar(require(_b)); }))];
|
71
72
|
case 1:
|
72
73
|
bin = (_a.sent()).bin;
|
73
74
|
promises = Object.values(bin).map(function (scriptPath) { return __awaiter(void 0, void 0, void 0, function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"grant-exec-perms.js","sourceRoot":"","sources":["../../src/bin/tools/grant-exec-perms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAkD;AAClD,6BAAwC;AACxC,yBAA+B;AAC/B,wCAA0C;AAE1C,CAAC
|
1
|
+
{"version":3,"file":"grant-exec-perms.js","sourceRoot":"","sources":["../../src/bin/tools/grant-exec-perms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAkD;AAClD,6BAAwC;AACxC,yBAA+B;AAC/B,wCAA0C;AAE1C,CAAC;;;;;oBACmB,2BAAa,IAAA,WAAQ,EAAC,IAAA,+BAAc,GAAE,EAAE,cAAc,CAAC,8EAAC;;gBAAhE,GAAG,GAAK,CAAA,SAAwD,CAAA,IAA7D;gBAEL,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAS,GAAG,CAAC,CAAC,GAAG,CAAC,UAAM,UAAU;;;;;gCACtD,QAAQ,GAAG,IAAA,WAAQ,EAAC,IAAA,+BAAc,GAAE,EAAE,UAAU,CAAC,CAAC;gCACvC,qBAAM,IAAA,eAAI,EAAC,QAAQ,CAAC,EAAA;;gCAA/B,OAAO,GAAG,CAAC,SAAoB,CAAC,CAAC,IAAI;gCACrC,OAAO,GAAG,OAAO,GAAG,cAAS,CAAC,OAAO,GAAG,cAAS,CAAC,OAAO,GAAG,cAAS,CAAC,OAAO,CAAC;gCACpF,qBAAM,IAAA,gBAAK,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAA;;gCAA9B,SAA8B,CAAC;;;;qBAClC,CAAC,CAAC;gBAEH,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;gBAA3B,SAA2B,CAAC;;;;KAC/B,CAAC,EAAE,CAAC"}
|
package/bin/tools/walk.js
CHANGED
@@ -37,7 +37,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
37
37
|
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
38
38
|
var i, p;
|
39
39
|
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
40
|
-
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done:
|
40
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
|
41
41
|
};
|
42
42
|
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
43
43
|
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
@@ -3,34 +3,46 @@ import { headInsert } from "../tools/headInsert";
|
|
3
3
|
import { pathJoin } from "../bin/tools/pathJoin";
|
4
4
|
import { clsx } from "../tools/clsx";
|
5
5
|
export function usePrepareTemplate(params) {
|
6
|
-
const { doFetchDefaultThemeResources, stylesCommon, styles, url, scripts, htmlClassName, bodyClassName } = params;
|
6
|
+
const { doFetchDefaultThemeResources, stylesCommon = [], styles = [], url, scripts = [], htmlClassName, bodyClassName } = params;
|
7
7
|
const [isReady, setReady] = useReducer(() => true, !doFetchDefaultThemeResources);
|
8
8
|
useEffect(() => {
|
9
9
|
if (!doFetchDefaultThemeResources) {
|
10
10
|
return;
|
11
11
|
}
|
12
12
|
let isUnmounted = false;
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
13
|
+
const removeArray = [];
|
14
|
+
(async () => {
|
15
|
+
const prLoadedArray = [];
|
16
|
+
[
|
17
|
+
...stylesCommon.map(relativePath => pathJoin(url.resourcesCommonPath, relativePath)),
|
18
|
+
...styles.map(relativePath => pathJoin(url.resourcesPath, relativePath))
|
19
|
+
]
|
20
|
+
.reverse()
|
21
|
+
.forEach(href => {
|
22
|
+
const { prLoaded, remove } = headInsert({
|
23
|
+
"type": "css",
|
24
|
+
"position": "prepend",
|
25
|
+
href
|
26
|
+
});
|
27
|
+
removeArray.push(remove);
|
28
|
+
prLoadedArray.push(prLoaded);
|
29
|
+
});
|
30
|
+
await Promise.all(prLoadedArray);
|
23
31
|
if (isUnmounted) {
|
24
32
|
return;
|
25
33
|
}
|
26
34
|
setReady();
|
35
|
+
})();
|
36
|
+
scripts.forEach(relativePath => {
|
37
|
+
const { remove } = headInsert({
|
38
|
+
"type": "javascript",
|
39
|
+
"src": pathJoin(url.resourcesPath, relativePath)
|
40
|
+
});
|
41
|
+
removeArray.push(remove);
|
27
42
|
});
|
28
|
-
(scripts !== null && scripts !== void 0 ? scripts : []).forEach(relativePath => headInsert({
|
29
|
-
"type": "javascript",
|
30
|
-
"src": pathJoin(url.resourcesPath, relativePath)
|
31
|
-
}));
|
32
43
|
return () => {
|
33
44
|
isUnmounted = true;
|
45
|
+
removeArray.forEach(remove => remove());
|
34
46
|
};
|
35
47
|
}, []);
|
36
48
|
useSetClassName({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usePrepareTemplate.js","sourceRoot":"","sources":["../src/lib/usePrepareTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,UAAU,kBAAkB,CAAC,MAWlC;IACG,MAAM,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"usePrepareTemplate.js","sourceRoot":"","sources":["../src/lib/usePrepareTemplate.ts"],"names":[],"mappings":"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"}
|
package/login/pages/LoginOtp.js
CHANGED
@@ -14,16 +14,20 @@ export default function LoginOtp(props) {
|
|
14
14
|
const { msg, msgStr } = i18n;
|
15
15
|
useEffect(() => {
|
16
16
|
let isCleanedUp = false;
|
17
|
-
headInsert({
|
17
|
+
const { prLoaded, remove } = headInsert({
|
18
18
|
"type": "javascript",
|
19
19
|
"src": pathJoin(kcContext.url.resourcesCommonPath, "node_modules/jquery/dist/jquery.min.js")
|
20
|
-
})
|
21
|
-
|
20
|
+
});
|
21
|
+
(async () => {
|
22
|
+
await prLoaded;
|
23
|
+
if (isCleanedUp) {
|
22
24
|
return;
|
25
|
+
}
|
23
26
|
evaluateInlineScript();
|
24
|
-
});
|
27
|
+
})();
|
25
28
|
return () => {
|
26
29
|
isCleanedUp = true;
|
30
|
+
remove();
|
27
31
|
};
|
28
32
|
}, []);
|
29
33
|
return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("doLogIn") }, { children: _jsxs("form", Object.assign({ id: "kc-otp-login-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [otpLogin.userOtpCredentials.length > 1 && (_jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: otpLogin.userOtpCredentials.map(otpCredential => (_jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListClass") }, { children: [_jsx("input", { type: "hidden", value: "${otpCredential.id}" }), _jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListItemClass") }, { children: [_jsx("span", { className: getClassName("kcAuthenticatorOtpCircleClass") }), _jsx("h2", Object.assign({ className: getClassName("kcSelectOTPItemHeadingClass") }, { children: otpCredential.userLabel }))] }))] }), otpCredential.id))) })) }))), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "otp", className: getClassName("kcLabelClass") }, { children: msg("loginOtpOneTime") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { id: "otp", name: "otp", autoComplete: "off", type: "text", className: getClassName("kcInputClass"), autoFocus: true }) }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))] })) })));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAuE;IACpG,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,QAAQ,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAEpC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "keycloakify",
|
3
|
-
"version": "7.7.
|
3
|
+
"version": "7.7.2",
|
4
4
|
"description": "Create Keycloak themes using React",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -78,8 +78,10 @@
|
|
78
78
|
"src/bin/keycloakify/generateFtl/index.ts",
|
79
79
|
"src/bin/keycloakify/generateFtl/pageId.ts",
|
80
80
|
"src/bin/keycloakify/generateJavaStackFiles.ts",
|
81
|
-
"src/bin/keycloakify/generateKeycloakThemeResources.ts",
|
82
81
|
"src/bin/keycloakify/generateStartKeycloakTestingContainer.ts",
|
82
|
+
"src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
|
83
|
+
"src/bin/keycloakify/generateTheme/generateTheme.ts",
|
84
|
+
"src/bin/keycloakify/generateTheme/index.ts",
|
83
85
|
"src/bin/keycloakify/index.ts",
|
84
86
|
"src/bin/keycloakify/keycloakify.ts",
|
85
87
|
"src/bin/keycloakify/parsedPackageJson.ts",
|
@@ -345,12 +347,18 @@
|
|
345
347
|
"bin/keycloakify/generateJavaStackFiles.d.ts",
|
346
348
|
"bin/keycloakify/generateJavaStackFiles.js",
|
347
349
|
"bin/keycloakify/generateJavaStackFiles.js.map",
|
348
|
-
"bin/keycloakify/generateKeycloakThemeResources.d.ts",
|
349
|
-
"bin/keycloakify/generateKeycloakThemeResources.js",
|
350
|
-
"bin/keycloakify/generateKeycloakThemeResources.js.map",
|
351
350
|
"bin/keycloakify/generateStartKeycloakTestingContainer.d.ts",
|
352
351
|
"bin/keycloakify/generateStartKeycloakTestingContainer.js",
|
353
352
|
"bin/keycloakify/generateStartKeycloakTestingContainer.js.map",
|
353
|
+
"bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts",
|
354
|
+
"bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js",
|
355
|
+
"bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map",
|
356
|
+
"bin/keycloakify/generateTheme/generateTheme.d.ts",
|
357
|
+
"bin/keycloakify/generateTheme/generateTheme.js",
|
358
|
+
"bin/keycloakify/generateTheme/generateTheme.js.map",
|
359
|
+
"bin/keycloakify/generateTheme/index.d.ts",
|
360
|
+
"bin/keycloakify/generateTheme/index.js",
|
361
|
+
"bin/keycloakify/generateTheme/index.js.map",
|
354
362
|
"bin/keycloakify/index.d.ts",
|
355
363
|
"bin/keycloakify/index.js",
|
356
364
|
"bin/keycloakify/index.js.map",
|
@@ -719,7 +727,7 @@
|
|
719
727
|
"@types/react": "^18.0.35",
|
720
728
|
"@types/react-dom": "^18.0.11",
|
721
729
|
"@types/yauzl": "^2.10.0",
|
722
|
-
"concurrently": "^
|
730
|
+
"concurrently": "^8.0.1",
|
723
731
|
"copyfiles": "^2.4.1",
|
724
732
|
"eslint-plugin-storybook": "^0.6.7",
|
725
733
|
"husky": "^4.3.8",
|
@@ -733,7 +741,7 @@
|
|
733
741
|
"storybook-dark-mode": "^1.1.2",
|
734
742
|
"ts-node": "^10.9.1",
|
735
743
|
"tsc-alias": "^1.8.3",
|
736
|
-
"typescript": "^
|
744
|
+
"typescript": "^4.9.1-beta",
|
737
745
|
"vitest": "^0.29.8",
|
738
746
|
"zod-to-json-schema": "^3.20.4"
|
739
747
|
},
|
@@ -53,6 +53,8 @@ export namespace BuildOptions {
|
|
53
53
|
}
|
54
54
|
}
|
55
55
|
|
56
|
+
export const defaultKeycloakVersionDefaultAssets = "11.0.3";
|
57
|
+
|
56
58
|
export function readBuildOptions(params: { projectDirPath: string; isExternalAssetsCliParamProvided: boolean; isSilent: boolean }): BuildOptions {
|
57
59
|
const { projectDirPath, isExternalAssetsCliParamProvided, isSilent } = params;
|
58
60
|
|
@@ -144,7 +146,7 @@ export function readBuildOptions(params: { projectDirPath: string; isExternalAss
|
|
144
146
|
extraAccountPages,
|
145
147
|
extraThemeProperties,
|
146
148
|
isSilent,
|
147
|
-
"keycloakVersionDefaultAssets": keycloakVersionDefaultAssets ??
|
149
|
+
"keycloakVersionDefaultAssets": keycloakVersionDefaultAssets ?? defaultKeycloakVersionDefaultAssets,
|
148
150
|
"reactAppBuildDirPath": (() => {
|
149
151
|
let { reactAppBuildDirPath = undefined } = parsedPackageJson.keycloakify ?? {};
|
150
152
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { transformCodebase } from "../../tools/transformCodebase";
|
2
|
+
import * as fs from "fs";
|
3
|
+
import { join as pathJoin, relative as pathRelative } from "path";
|
4
|
+
import type { ThemeType } from "../generateFtl";
|
5
|
+
import { downloadBuiltinKeycloakTheme } from "../../download-builtin-keycloak-theme";
|
6
|
+
import { mockTestingResourcesCommonPath, mockTestingResourcesPath, mockTestingSubDirOfPublicDirBasename } from "../../mockTestingResourcesPath";
|
7
|
+
|
8
|
+
export async function downloadKeycloakStaticResources(
|
9
|
+
// prettier-ignore
|
10
|
+
params: {
|
11
|
+
themeType: ThemeType;
|
12
|
+
themeDirPath: string;
|
13
|
+
isSilent: boolean;
|
14
|
+
keycloakVersion: string;
|
15
|
+
}
|
16
|
+
) {
|
17
|
+
const { themeType, isSilent, themeDirPath, keycloakVersion } = params;
|
18
|
+
|
19
|
+
const tmpDirPath = pathJoin(themeDirPath, "..", "tmp_suLeKsxId");
|
20
|
+
|
21
|
+
await downloadBuiltinKeycloakTheme({
|
22
|
+
keycloakVersion,
|
23
|
+
"destDirPath": tmpDirPath,
|
24
|
+
isSilent
|
25
|
+
});
|
26
|
+
|
27
|
+
transformCodebase({
|
28
|
+
"srcDirPath": pathJoin(tmpDirPath, "keycloak", themeType, "resources"),
|
29
|
+
"destDirPath": pathJoin(themeDirPath, pathRelative(mockTestingSubDirOfPublicDirBasename, mockTestingResourcesPath))
|
30
|
+
});
|
31
|
+
|
32
|
+
transformCodebase({
|
33
|
+
"srcDirPath": pathJoin(tmpDirPath, "keycloak", "common", "resources"),
|
34
|
+
"destDirPath": pathJoin(themeDirPath, pathRelative(mockTestingSubDirOfPublicDirBasename, mockTestingResourcesCommonPath))
|
35
|
+
});
|
36
|
+
|
37
|
+
fs.rmSync(tmpDirPath, { "recursive": true, "force": true });
|
38
|
+
}
|
package/src/bin/keycloakify/{generateKeycloakThemeResources.ts → generateTheme/generateTheme.ts}
RENAMED
@@ -1,14 +1,14 @@
|
|
1
|
-
import { transformCodebase } from "
|
1
|
+
import { transformCodebase } from "../../tools/transformCodebase";
|
2
2
|
import * as fs from "fs";
|
3
|
-
import { join as pathJoin
|
4
|
-
import { replaceImportsFromStaticInJsCode } from "
|
5
|
-
import { replaceImportsInCssCode } from "
|
6
|
-
import { generateFtlFilesCodeFactory, loginThemePageIds, accountThemePageIds, themeTypes, type ThemeType } from "
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import type { BuildOptions } from "./BuildOptions";
|
3
|
+
import { join as pathJoin } from "path";
|
4
|
+
import { replaceImportsFromStaticInJsCode } from "../replacers/replaceImportsFromStaticInJsCode";
|
5
|
+
import { replaceImportsInCssCode } from "../replacers/replaceImportsInCssCode";
|
6
|
+
import { generateFtlFilesCodeFactory, loginThemePageIds, accountThemePageIds, themeTypes, type ThemeType } from "../generateFtl";
|
7
|
+
import { mockTestingSubDirOfPublicDirBasename } from "../../mockTestingResourcesPath";
|
8
|
+
import { isInside } from "../../tools/isInside";
|
9
|
+
import type { BuildOptions } from "../BuildOptions";
|
11
10
|
import { assert } from "tsafe/assert";
|
11
|
+
import { downloadKeycloakStaticResources } from "./downloadKeycloakStaticResources";
|
12
12
|
|
13
13
|
export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
|
14
14
|
|
@@ -21,6 +21,7 @@ export namespace BuildOptionsLike {
|
|
21
21
|
isSilent: boolean;
|
22
22
|
customUserAttributes: string[];
|
23
23
|
themeVersion: string;
|
24
|
+
keycloakVersionDefaultAssets: string;
|
24
25
|
};
|
25
26
|
|
26
27
|
export type Standalone = Common & {
|
@@ -49,15 +50,14 @@ export namespace BuildOptionsLike {
|
|
49
50
|
|
50
51
|
assert<BuildOptions extends BuildOptionsLike ? true : false>();
|
51
52
|
|
52
|
-
export async function
|
53
|
+
export async function generateTheme(params: {
|
53
54
|
reactAppBuildDirPath: string;
|
54
55
|
keycloakThemeBuildingDirPath: string;
|
55
56
|
emailThemeSrcDirPath: string | undefined;
|
56
|
-
keycloakVersion: string;
|
57
57
|
buildOptions: BuildOptionsLike;
|
58
58
|
keycloakifyVersion: string;
|
59
59
|
}): Promise<{ doBundlesEmailTemplate: boolean }> {
|
60
|
-
const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath,
|
60
|
+
const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, buildOptions, keycloakifyVersion } = params;
|
61
61
|
|
62
62
|
const getThemeDirPath = (themeType: ThemeType | "email") =>
|
63
63
|
pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
|
@@ -172,47 +172,33 @@ export async function generateKeycloakThemeResources(params: {
|
|
172
172
|
fs.writeFileSync(pathJoin(themeDirPath, pageId), Buffer.from(ftlCode, "utf8"));
|
173
173
|
});
|
174
174
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
isSilent: buildOptions.isSilent
|
182
|
-
});
|
183
|
-
|
184
|
-
const themeResourcesDirPath = pathJoin(themeDirPath, "resources");
|
185
|
-
|
186
|
-
transformCodebase({
|
187
|
-
"srcDirPath": pathJoin(tmpDirPath, "keycloak", themeType, "resources"),
|
188
|
-
"destDirPath": themeResourcesDirPath
|
175
|
+
const downloadKeycloakStaticResources_configured = async (themeDirPath: string) =>
|
176
|
+
await downloadKeycloakStaticResources({
|
177
|
+
"isSilent": buildOptions.isSilent,
|
178
|
+
"keycloakVersion": buildOptions.keycloakVersionDefaultAssets,
|
179
|
+
themeDirPath,
|
180
|
+
themeType
|
189
181
|
});
|
190
182
|
|
191
|
-
|
183
|
+
await downloadKeycloakStaticResources_configured(themeDirPath);
|
192
184
|
|
193
|
-
|
194
|
-
|
195
|
-
"destDirPath": pathJoin(themeResourcesDirPath, pathBasename(mockTestingResourcesCommonPath))
|
196
|
-
});
|
197
|
-
|
198
|
-
transformCodebase({
|
199
|
-
"srcDirPath": themeResourcesDirPath,
|
200
|
-
"destDirPath": pathJoin(reactAppPublicDirPath, mockTestingResourcesPath)
|
201
|
-
});
|
185
|
+
{
|
186
|
+
const keycloakResourcesWithinPublicDirPath = pathJoin(reactAppBuildDirPath, "..", "public", mockTestingSubDirOfPublicDirBasename);
|
202
187
|
|
203
|
-
|
188
|
+
await downloadKeycloakStaticResources_configured(keycloakResourcesWithinPublicDirPath);
|
204
189
|
|
205
190
|
fs.writeFileSync(
|
206
191
|
pathJoin(keycloakResourcesWithinPublicDirPath, "README.txt"),
|
207
192
|
Buffer.from(
|
208
|
-
|
209
|
-
|
210
|
-
|
193
|
+
// prettier-ignore
|
194
|
+
[
|
195
|
+
"This is just a test folder that helps develop",
|
196
|
+
"the login and register page without having to run a Keycloak container"
|
197
|
+
].join(" ")
|
211
198
|
)
|
212
199
|
);
|
213
200
|
|
214
201
|
fs.writeFileSync(pathJoin(keycloakResourcesWithinPublicDirPath, ".gitignore"), Buffer.from("*", "utf8"));
|
215
|
-
fs.rmSync(tmpDirPath, { recursive: true, force: true });
|
216
202
|
}
|
217
203
|
|
218
204
|
fs.writeFileSync(
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./generateTheme";
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { generateTheme } from "./generateTheme";
|
2
2
|
import { generateJavaStackFiles } from "./generateJavaStackFiles";
|
3
3
|
import { join as pathJoin, relative as pathRelative, basename as pathBasename, sep as pathSep } from "path";
|
4
4
|
import * as child_process from "child_process";
|
@@ -26,7 +26,7 @@ export async function main() {
|
|
26
26
|
"isSilent": isSilent
|
27
27
|
});
|
28
28
|
|
29
|
-
const { doBundlesEmailTemplate } = await
|
29
|
+
const { doBundlesEmailTemplate } = await generateTheme({
|
30
30
|
keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
|
31
31
|
"emailThemeSrcDirPath": (() => {
|
32
32
|
const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath({ projectDirPath });
|
@@ -39,7 +39,6 @@ export async function main() {
|
|
39
39
|
})(),
|
40
40
|
"reactAppBuildDirPath": buildOptions.reactAppBuildDirPath,
|
41
41
|
buildOptions,
|
42
|
-
"keycloakVersion": buildOptions.keycloakVersionDefaultAssets,
|
43
42
|
"keycloakifyVersion": (() => {
|
44
43
|
const version = JSON.parse(fs.readFileSync(pathJoin(getProjectRoot(), "package.json")).toString("utf8"))["version"];
|
45
44
|
|
@@ -15,7 +15,7 @@ export function usePrepareTemplate(params: {
|
|
15
15
|
htmlClassName: string | undefined;
|
16
16
|
bodyClassName: string | undefined;
|
17
17
|
}) {
|
18
|
-
const { doFetchDefaultThemeResources, stylesCommon, styles, url, scripts, htmlClassName, bodyClassName } = params;
|
18
|
+
const { doFetchDefaultThemeResources, stylesCommon = [], styles = [], url, scripts = [], htmlClassName, bodyClassName } = params;
|
19
19
|
|
20
20
|
const [isReady, setReady] = useReducer(() => true, !doFetchDefaultThemeResources);
|
21
21
|
|
@@ -26,36 +26,49 @@ export function usePrepareTemplate(params: {
|
|
26
26
|
|
27
27
|
let isUnmounted = false;
|
28
28
|
|
29
|
-
|
29
|
+
const removeArray: (() => void)[] = [];
|
30
|
+
|
31
|
+
(async () => {
|
32
|
+
const prLoadedArray: Promise<void>[] = [];
|
33
|
+
|
30
34
|
[
|
31
|
-
...
|
32
|
-
...
|
35
|
+
...stylesCommon.map(relativePath => pathJoin(url.resourcesCommonPath, relativePath)),
|
36
|
+
...styles.map(relativePath => pathJoin(url.resourcesPath, relativePath))
|
33
37
|
]
|
34
38
|
.reverse()
|
35
|
-
.
|
36
|
-
headInsert({
|
39
|
+
.forEach(href => {
|
40
|
+
const { prLoaded, remove } = headInsert({
|
37
41
|
"type": "css",
|
38
|
-
|
39
|
-
|
40
|
-
})
|
41
|
-
|
42
|
-
|
42
|
+
"position": "prepend",
|
43
|
+
href
|
44
|
+
});
|
45
|
+
|
46
|
+
removeArray.push(remove);
|
47
|
+
|
48
|
+
prLoadedArray.push(prLoaded);
|
49
|
+
});
|
50
|
+
|
51
|
+
await Promise.all(prLoadedArray);
|
52
|
+
|
43
53
|
if (isUnmounted) {
|
44
54
|
return;
|
45
55
|
}
|
46
56
|
|
47
57
|
setReady();
|
48
|
-
});
|
58
|
+
})();
|
49
59
|
|
50
|
-
|
51
|
-
headInsert({
|
60
|
+
scripts.forEach(relativePath => {
|
61
|
+
const { remove } = headInsert({
|
52
62
|
"type": "javascript",
|
53
63
|
"src": pathJoin(url.resourcesPath, relativePath)
|
54
|
-
})
|
55
|
-
|
64
|
+
});
|
65
|
+
|
66
|
+
removeArray.push(remove);
|
67
|
+
});
|
56
68
|
|
57
69
|
return () => {
|
58
70
|
isUnmounted = true;
|
71
|
+
removeArray.forEach(remove => remove());
|
59
72
|
};
|
60
73
|
}, []);
|
61
74
|
|
@@ -22,17 +22,24 @@ export default function LoginOtp(props: PageProps<Extract<KcContext, { pageId: "
|
|
22
22
|
useEffect(() => {
|
23
23
|
let isCleanedUp = false;
|
24
24
|
|
25
|
-
headInsert({
|
25
|
+
const { prLoaded, remove } = headInsert({
|
26
26
|
"type": "javascript",
|
27
27
|
"src": pathJoin(kcContext.url.resourcesCommonPath, "node_modules/jquery/dist/jquery.min.js")
|
28
|
-
})
|
29
|
-
|
28
|
+
});
|
29
|
+
|
30
|
+
(async () => {
|
31
|
+
await prLoaded;
|
32
|
+
|
33
|
+
if (isCleanedUp) {
|
34
|
+
return;
|
35
|
+
}
|
30
36
|
|
31
37
|
evaluateInlineScript();
|
32
|
-
});
|
38
|
+
})();
|
33
39
|
|
34
40
|
return () => {
|
35
41
|
isCleanedUp = true;
|
42
|
+
remove();
|
36
43
|
};
|
37
44
|
}, []);
|
38
45
|
|
package/src/tools/headInsert.ts
CHANGED
@@ -12,7 +12,7 @@ export function headInsert(
|
|
12
12
|
type: "javascript";
|
13
13
|
src: string;
|
14
14
|
}
|
15
|
-
) {
|
15
|
+
): { remove: () => void; prLoaded: Promise<void> } {
|
16
16
|
const htmlElement = document.createElement(
|
17
17
|
(() => {
|
18
18
|
switch (params.type) {
|
@@ -66,5 +66,8 @@ export function headInsert(
|
|
66
66
|
})()
|
67
67
|
](htmlElement);
|
68
68
|
|
69
|
-
return
|
69
|
+
return {
|
70
|
+
"prLoaded": dLoaded.pr,
|
71
|
+
"remove": () => htmlElement.remove()
|
72
|
+
};
|
70
73
|
}
|
package/tools/headInsert.d.ts
CHANGED
package/tools/headInsert.js
CHANGED
package/tools/headInsert.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"headInsert.js","sourceRoot":"","sources":["../src/tools/headInsert.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,UAAU,CACtB,MASO;IAEP,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CACtC,CAAC,GAAG,EAAE;QACF,QAAQ,MAAM,CAAC,IAAI,EAAE;YACjB,KAAK,KAAK;gBACN,OAAO,MAAM,CAAC;YAClB,KAAK,YAAY;gBACb,OAAO,QAAQ,CAAC;SACvB;IACL,CAAC,CAAC,EAAE,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAErC,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9D,MAAM,CAAC,MAAM,CACT,WAAW,EACX,CAAC,GAAG,EAAE;QACF,QAAQ,MAAM,CAAC,IAAI,EAAE;YACjB,KAAK,KAAK;gBACN,OAAO;oBACH,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,YAAY;oBACnB,OAAO,EAAE,cAAc;iBAC1B,CAAC;YACN,KAAK,YAAY;gBACb,OAAO;oBACH,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,MAAM,EAAE,iBAAiB;iBAC5B,CAAC;SACT;IACL,CAAC,CAAC,EAAE,CACP,CAAC;IAEF,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC,GAAG,EAAE;QACF,QAAQ,MAAM,CAAC,IAAI,EAAE;YACjB,KAAK,YAAY;gBACb,OAAO,aAAa,CAAC;YACzB,KAAK,KAAK;gBACN,OAAO,CAAC,GAAG,EAAE;oBACT,QAAQ,MAAM,CAAC,QAAQ,EAAE;wBACrB,KAAK,QAAQ;4BACT,OAAO,aAAa,CAAC;wBACzB,KAAK,SAAS;4BACV,OAAO,SAAS,CAAC;qBACxB;gBACL,CAAC,CAAC,EAAE,CAAC;SACZ;IACL,CAAC,CAAC,EAAE,CACP,CAAC,WAAW,CAAC,CAAC;IAEf,OAAO,OAAO,CAAC,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"headInsert.js","sourceRoot":"","sources":["../src/tools/headInsert.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,UAAU,CACtB,MASO;IAEP,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CACtC,CAAC,GAAG,EAAE;QACF,QAAQ,MAAM,CAAC,IAAI,EAAE;YACjB,KAAK,KAAK;gBACN,OAAO,MAAM,CAAC;YAClB,KAAK,YAAY;gBACb,OAAO,QAAQ,CAAC;SACvB;IACL,CAAC,CAAC,EAAE,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAErC,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9D,MAAM,CAAC,MAAM,CACT,WAAW,EACX,CAAC,GAAG,EAAE;QACF,QAAQ,MAAM,CAAC,IAAI,EAAE;YACjB,KAAK,KAAK;gBACN,OAAO;oBACH,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,YAAY;oBACnB,OAAO,EAAE,cAAc;iBAC1B,CAAC;YACN,KAAK,YAAY;gBACb,OAAO;oBACH,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,MAAM,EAAE,iBAAiB;iBAC5B,CAAC;SACT;IACL,CAAC,CAAC,EAAE,CACP,CAAC;IAEF,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC,GAAG,EAAE;QACF,QAAQ,MAAM,CAAC,IAAI,EAAE;YACjB,KAAK,YAAY;gBACb,OAAO,aAAa,CAAC;YACzB,KAAK,KAAK;gBACN,OAAO,CAAC,GAAG,EAAE;oBACT,QAAQ,MAAM,CAAC,QAAQ,EAAE;wBACrB,KAAK,QAAQ;4BACT,OAAO,aAAa,CAAC;wBACzB,KAAK,SAAS;4BACV,OAAO,SAAS,CAAC;qBACxB;gBACL,CAAC,CAAC,EAAE,CAAC;SACZ;IACL,CAAC,CAAC,EAAE,CACP,CAAC,WAAW,CAAC,CAAC;IAEf,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,EAAE;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE;KACvC,CAAC;AACN,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/keycloakify/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}
|