keycloakify 7.13.2 → 7.14.1
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 +10 -1
- package/bin/eject-keycloak-page.js +0 -3
- package/bin/eject-keycloak-page.js.map +1 -1
- package/bin/getSrcDirPath.d.ts +1 -2
- package/bin/getSrcDirPath.js +62 -5
- package/bin/getSrcDirPath.js.map +1 -1
- package/bin/initialize-email-theme.js +0 -4
- package/bin/initialize-email-theme.js.map +1 -1
- package/bin/keycloakify/BuildOptions.d.ts +1 -3
- package/bin/keycloakify/BuildOptions.js +1 -3
- package/bin/keycloakify/BuildOptions.js.map +1 -1
- package/bin/keycloakify/generateJavaStackFiles.d.ts +1 -1
- package/bin/keycloakify/generateTheme/generateTheme.d.ts +2 -4
- package/bin/keycloakify/generateTheme/generateTheme.js +28 -35
- package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
- package/bin/keycloakify/generateTheme/readExtraPageNames.d.ts +5 -0
- package/bin/keycloakify/generateTheme/readExtraPageNames.js +105 -0
- package/bin/keycloakify/generateTheme/readExtraPageNames.js.map +1 -0
- package/bin/keycloakify/generateTheme/readFieldNameUsage.d.ts +3 -2
- package/bin/keycloakify/generateTheme/readFieldNameUsage.js +21 -76
- package/bin/keycloakify/generateTheme/readFieldNameUsage.js.map +1 -1
- package/bin/keycloakify/keycloakify.js +0 -5
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/bin/keycloakify/parsedPackageJson.d.ts +0 -22
- package/bin/keycloakify/parsedPackageJson.js +0 -3
- package/bin/keycloakify/parsedPackageJson.js.map +1 -1
- package/bin/tools/crawl.d.ts +4 -1
- package/bin/tools/crawl.js +31 -26
- package/bin/tools/crawl.js.map +1 -1
- package/bin/tools/transformCodebase.js +2 -2
- package/bin/tools/transformCodebase.js.map +1 -1
- package/package.json +6 -1
- package/src/bin/eject-keycloak-page.ts +0 -4
- package/src/bin/getSrcDirPath.ts +20 -6
- package/src/bin/initialize-email-theme.ts +0 -6
- package/src/bin/keycloakify/BuildOptions.ts +2 -16
- package/src/bin/keycloakify/generateJavaStackFiles.ts +1 -1
- package/src/bin/keycloakify/generateTheme/generateTheme.ts +26 -36
- package/src/bin/keycloakify/generateTheme/readExtraPageNames.ts +38 -0
- package/src/bin/keycloakify/generateTheme/readFieldNameUsage.ts +6 -67
- package/src/bin/keycloakify/keycloakify.ts +0 -6
- package/src/bin/keycloakify/parsedPackageJson.ts +0 -7
- package/src/bin/tools/crawl.ts +23 -18
- package/src/bin/tools/transformCodebase.ts +2 -2
@@ -65,93 +65,38 @@ var removeDuplicates_1 = require("evt/tools/reducers/removeDuplicates");
|
|
65
65
|
var path_1 = require("path");
|
66
66
|
var fs = __importStar(require("fs"));
|
67
67
|
var exclude_1 = require("tsafe/exclude");
|
68
|
+
/** Assumes the theme type exists */
|
68
69
|
function readFieldNameUsage(params) {
|
69
|
-
var e_1, _a;
|
70
|
+
var e_1, _a, e_2, _b;
|
70
71
|
var keycloakifySrcDirPath = params.keycloakifySrcDirPath, themeSrcDirPath = params.themeSrcDirPath, themeType = params.themeType;
|
71
72
|
var fieldNames = [];
|
72
|
-
if (themeSrcDirPath === undefined) {
|
73
|
-
//If we can't detect the user theme directory we restore the fieldNames we had previously to prevent errors.
|
74
|
-
fieldNames.push.apply(fieldNames, [
|
75
|
-
"global",
|
76
|
-
"userLabel",
|
77
|
-
"username",
|
78
|
-
"email",
|
79
|
-
"firstName",
|
80
|
-
"lastName",
|
81
|
-
"password",
|
82
|
-
"password-confirm",
|
83
|
-
"totp",
|
84
|
-
"totpSecret",
|
85
|
-
"SAMLRequest",
|
86
|
-
"SAMLResponse",
|
87
|
-
"relayState",
|
88
|
-
"device_user_code",
|
89
|
-
"code",
|
90
|
-
"password-new",
|
91
|
-
"rememberMe",
|
92
|
-
"login",
|
93
|
-
"authenticationExecution",
|
94
|
-
"cancel-aia",
|
95
|
-
"clientDataJSON",
|
96
|
-
"authenticatorData",
|
97
|
-
"signature",
|
98
|
-
"credentialId",
|
99
|
-
"userHandle",
|
100
|
-
"error",
|
101
|
-
"authn_use_chk",
|
102
|
-
"authenticationExecution",
|
103
|
-
"isSetRetry",
|
104
|
-
"try-again",
|
105
|
-
"attestationObject",
|
106
|
-
"publicKeyCredentialId",
|
107
|
-
"authenticatorLabel"
|
108
|
-
]);
|
109
|
-
}
|
110
|
-
var _loop_1 = function (srcDirPath) {
|
111
|
-
var e_2, _d;
|
112
|
-
var filePaths = (0, crawl_1.crawl)(srcDirPath)
|
113
|
-
.filter(function (filePath) { return /\.(ts|tsx|js|jsx)$/.test(filePath); })
|
114
|
-
.map(function (filePath) { return (0, path_1.join)(srcDirPath, filePath); });
|
115
|
-
try {
|
116
|
-
for (var filePaths_1 = (e_2 = void 0, __values(filePaths)), filePaths_1_1 = filePaths_1.next(); !filePaths_1_1.done; filePaths_1_1 = filePaths_1.next()) {
|
117
|
-
var filePath = filePaths_1_1.value;
|
118
|
-
var rawSourceFile = fs.readFileSync(filePath).toString("utf8");
|
119
|
-
if (!rawSourceFile.includes("messagesPerField")) {
|
120
|
-
continue;
|
121
|
-
}
|
122
|
-
fieldNames.push.apply(fieldNames, __spreadArray([], __read(Array.from(rawSourceFile.matchAll(/(?:(?:printIfExists)|(?:existsError)|(?:get)|(?:exists))\(\s*["']([^"']+)["']/g), function (m) { return m[1]; })), false));
|
123
|
-
}
|
124
|
-
}
|
125
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
126
|
-
finally {
|
127
|
-
try {
|
128
|
-
if (filePaths_1_1 && !filePaths_1_1.done && (_d = filePaths_1.return)) _d.call(filePaths_1);
|
129
|
-
}
|
130
|
-
finally { if (e_2) throw e_2.error; }
|
131
|
-
}
|
132
|
-
};
|
133
73
|
try {
|
134
|
-
for (var
|
135
|
-
|
136
|
-
(function () {
|
137
|
-
|
138
|
-
|
74
|
+
for (var _c = __values([(0, path_1.join)(keycloakifySrcDirPath, themeType), (0, path_1.join)(themeSrcDirPath, themeType)].filter((0, exclude_1.exclude)(undefined))), _d = _c.next(); !_d.done; _d = _c.next()) {
|
75
|
+
var srcDirPath = _d.value;
|
76
|
+
var filePaths = (0, crawl_1.crawl)({ "dirPath": srcDirPath, "returnedPathsType": "absolute" }).filter(function (filePath) { return /\.(ts|tsx|js|jsx)$/.test(filePath); });
|
77
|
+
try {
|
78
|
+
for (var filePaths_1 = (e_2 = void 0, __values(filePaths)), filePaths_1_1 = filePaths_1.next(); !filePaths_1_1.done; filePaths_1_1 = filePaths_1.next()) {
|
79
|
+
var filePath = filePaths_1_1.value;
|
80
|
+
var rawSourceFile = fs.readFileSync(filePath).toString("utf8");
|
81
|
+
if (!rawSourceFile.includes("messagesPerField")) {
|
82
|
+
continue;
|
83
|
+
}
|
84
|
+
fieldNames.push.apply(fieldNames, __spreadArray([], __read(Array.from(rawSourceFile.matchAll(/(?:(?:printIfExists)|(?:existsError)|(?:get)|(?:exists))\(\s*["']([^"']+)["']/g), function (m) { return m[1]; })), false));
|
139
85
|
}
|
140
|
-
|
141
|
-
|
142
|
-
|
86
|
+
}
|
87
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
88
|
+
finally {
|
89
|
+
try {
|
90
|
+
if (filePaths_1_1 && !filePaths_1_1.done && (_b = filePaths_1.return)) _b.call(filePaths_1);
|
143
91
|
}
|
144
|
-
|
145
|
-
}
|
146
|
-
].filter((0, exclude_1.exclude)(undefined))), _c = _b.next(); !_c.done; _c = _b.next()) {
|
147
|
-
var srcDirPath = _c.value;
|
148
|
-
_loop_1(srcDirPath);
|
92
|
+
finally { if (e_2) throw e_2.error; }
|
93
|
+
}
|
149
94
|
}
|
150
95
|
}
|
151
96
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
152
97
|
finally {
|
153
98
|
try {
|
154
|
-
if (
|
99
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
155
100
|
}
|
156
101
|
finally { if (e_1) throw e_1.error; }
|
157
102
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"readFieldNameUsage.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/readFieldNameUsage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0C;AAC1C,wEAAuE;AACvE,6BAAwC;AACxC,qCAAyB;AAEzB,yCAAwC;AAExC,SAAgB,kBAAkB,CAAC,
|
1
|
+
{"version":3,"file":"readFieldNameUsage.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/readFieldNameUsage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0C;AAC1C,wEAAuE;AACvE,6BAAwC;AACxC,qCAAyB;AAEzB,yCAAwC;AAExC,oCAAoC;AACpC,SAAgB,kBAAkB,CAAC,MAAwF;;IAC/G,IAAA,qBAAqB,GAAiC,MAAM,sBAAvC,EAAE,eAAe,GAAgB,MAAM,gBAAtB,EAAE,SAAS,GAAK,MAAM,UAAX,CAAY;IAErE,IAAM,UAAU,GAAa,EAAE,CAAC;;QAEhC,KAAyB,IAAA,KAAA,SAAC,CAAC,IAAA,WAAQ,EAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,IAAA,WAAQ,EAAC,eAAe,EAAE,SAAS,CAAC,CAAW,CAAC,MAAM,CACzH,IAAA,iBAAO,EAAC,SAAS,CAAC,CACrB,CAAA,gBAAA,4BAAE;YAFE,IAAM,UAAU,WAAA;YAGjB,IAAM,SAAS,GAAG,IAAA,aAAK,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,QAAQ,IAAI,OAAA,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAnC,CAAmC,CAAC,CAAC;;gBAE5I,KAAuB,IAAA,6BAAA,SAAA,SAAS,CAAA,CAAA,oCAAA,2DAAE;oBAA7B,IAAM,QAAQ,sBAAA;oBACf,IAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAEjE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBAC7C,SAAS;qBACZ;oBAED,UAAU,CAAC,IAAI,OAAf,UAAU,2BACH,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gFAAgF,CAAC,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,CAAC,EAAJ,CAAI,CAAC,WACpI;iBACL;;;;;;;;;SACJ;;;;;;;;;IAED,IAAM,GAAG,GAAG,UAAU,CAAC,MAAM,OAAjB,UAAU,2BAAW,IAAA,mCAAgB,GAAU,UAAC,CAAC;IAE7D,OAAO,GAAG,CAAC;AACf,CAAC;AA1BD,gDA0BC"}
|
@@ -186,11 +186,6 @@ function main() {
|
|
186
186
|
"account": false,
|
187
187
|
"email": false
|
188
188
|
};
|
189
|
-
if (themeSrcDirPath === undefined) {
|
190
|
-
implementedThemeTypes["login"] = true;
|
191
|
-
implementedThemeTypes["account"] = true;
|
192
|
-
return implementedThemeTypes;
|
193
|
-
}
|
194
189
|
try {
|
195
190
|
for (var _b = __values((0, objectKeys_1.objectKeys)(implementedThemeTypes)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
196
191
|
var themeType = _c.value;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgD;AAChD,mEAAkE;AAClE,6BAA4G;AAC5G,2DAA+C;AAC/C,iGAAgG;AAChG,qCAAyB;AACzB,+CAAkD;AAClD,0CAA4C;AAC5C,qDAA+B;AAC/B,uCAAsC;AAEtC,kDAAsD;AACtD,0DAAyD;AACzD,+CAA8C;AAE9C,SAAsB,IAAI;;;;;;;oBAChB,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBAE/B,YAAY,GAAG,IAAA,+BAAgB,EAAC;wBAClC,cAAc,gBAAA;wBACd,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;qBACvC,CAAC,CAAC;oBAEG,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChE,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;oBAE3C,kBAAkB,GAAG,IAAA,+BAAc,GAAE,CAAC;oBAEpC,eAAe,GAAK,IAAA,kCAAkB,EAAC,EAAE,cAAc,gBAAA,EAAE,CAAC,gBAA3C,CAA4C;;;;oBAE3C,KAAA,wBAAC,YAAY,CAAC,SAAS,UAAK,YAAY,CAAC,eAAe,UAAC;;;;oBAAtE,SAAS;oBAChB,qBAAM,IAAA,6BAAa,EAAC;4BAChB,8BAA8B,EAAE,YAAY,CAAC,uBAAuB;4BACpE,eAAe,iBAAA;4BACf,uBAAuB,EAAE,IAAA,WAAQ,EAAC,kBAAkB,EAAE,KAAK,CAAC;4BAC5D,sBAAsB,EAAE,YAAY,CAAC,oBAAoB;4BACzD,cAAc,wBACP,YAAY,KACf,WAAW,EAAE,SAAS,GACzB;4BACD,oBAAoB,EAAE,CAAC;gCACnB,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAA,WAAQ,EAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gCAEtH,IAAA,eAAM,EAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;gCAEpC,OAAO,OAAO,CAAC;4BACnB,CAAC,CAAC,EAAE;yBACP,CAAC,EAAA;;oBAhBF,SAgBE,CAAC;;;;;;;;;;;;;;;;;oBAGC,WAAW,GAAK,IAAA,+CAAsB,EAAC;wBAC3C,8BAA8B,EAAE,YAAY,CAAC,uBAAuB;wBACpE,uBAAuB,EAAE,CAAC;;4BACtB,IAAM,qBAAqB,GAAG;gCAC1B,OAAO,EAAE,KAAK;gCACd,SAAS,EAAE,KAAK;gCAChB,OAAO,EAAE,KAAK;6BACjB,CAAC
|
1
|
+
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":"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"}
|
@@ -6,10 +6,6 @@ export type ParsedPackageJson = {
|
|
6
6
|
version?: string;
|
7
7
|
homepage?: string;
|
8
8
|
keycloakify?: {
|
9
|
-
/** @deprecated: use extraLoginPages instead */
|
10
|
-
extraPages?: string[];
|
11
|
-
extraLoginPages?: string[];
|
12
|
-
extraAccountPages?: string[];
|
13
9
|
extraThemeProperties?: string[];
|
14
10
|
areAppAndKeycloakServerSharingSameDomain?: boolean;
|
15
11
|
artifactId?: string;
|
@@ -27,9 +23,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
|
|
27
23
|
version: z.ZodOptional<z.ZodString>;
|
28
24
|
homepage: z.ZodOptional<z.ZodString>;
|
29
25
|
keycloakify: z.ZodOptional<z.ZodObject<{
|
30
|
-
extraPages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
31
|
-
extraLoginPages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
32
|
-
extraAccountPages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
33
26
|
extraThemeProperties: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
34
27
|
areAppAndKeycloakServerSharingSameDomain: z.ZodOptional<z.ZodBoolean>;
|
35
28
|
artifactId: z.ZodOptional<z.ZodString>;
|
@@ -41,9 +34,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
|
|
41
34
|
themeName: z.ZodOptional<z.ZodString>;
|
42
35
|
extraThemeNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
43
36
|
}, "strip", z.ZodTypeAny, {
|
44
|
-
extraPages?: string[] | undefined;
|
45
|
-
extraLoginPages?: string[] | undefined;
|
46
|
-
extraAccountPages?: string[] | undefined;
|
47
37
|
extraThemeProperties?: string[] | undefined;
|
48
38
|
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
49
39
|
artifactId?: string | undefined;
|
@@ -55,9 +45,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
|
|
55
45
|
themeName?: string | undefined;
|
56
46
|
extraThemeNames?: string[] | undefined;
|
57
47
|
}, {
|
58
|
-
extraPages?: string[] | undefined;
|
59
|
-
extraLoginPages?: string[] | undefined;
|
60
|
-
extraAccountPages?: string[] | undefined;
|
61
48
|
extraThemeProperties?: string[] | undefined;
|
62
49
|
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
63
50
|
artifactId?: string | undefined;
|
@@ -74,9 +61,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
|
|
74
61
|
version?: string | undefined;
|
75
62
|
homepage?: string | undefined;
|
76
63
|
keycloakify?: {
|
77
|
-
extraPages?: string[] | undefined;
|
78
|
-
extraLoginPages?: string[] | undefined;
|
79
|
-
extraAccountPages?: string[] | undefined;
|
80
64
|
extraThemeProperties?: string[] | undefined;
|
81
65
|
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
82
66
|
artifactId?: string | undefined;
|
@@ -93,9 +77,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
|
|
93
77
|
version?: string | undefined;
|
94
78
|
homepage?: string | undefined;
|
95
79
|
keycloakify?: {
|
96
|
-
extraPages?: string[] | undefined;
|
97
|
-
extraLoginPages?: string[] | undefined;
|
98
|
-
extraAccountPages?: string[] | undefined;
|
99
80
|
extraThemeProperties?: string[] | undefined;
|
100
81
|
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
101
82
|
artifactId?: string | undefined;
|
@@ -115,9 +96,6 @@ export declare function getParsedPackageJson(params: {
|
|
115
96
|
version?: string | undefined;
|
116
97
|
homepage?: string | undefined;
|
117
98
|
keycloakify?: {
|
118
|
-
extraPages?: string[] | undefined;
|
119
|
-
extraLoginPages?: string[] | undefined;
|
120
|
-
extraAccountPages?: string[] | undefined;
|
121
99
|
extraThemeProperties?: string[] | undefined;
|
122
100
|
areAppAndKeycloakServerSharingSameDomain?: boolean | undefined;
|
123
101
|
artifactId?: string | undefined;
|
@@ -35,9 +35,6 @@ exports.zParsedPackageJson = zod_1.z.object({
|
|
35
35
|
"homepage": zod_1.z.string().optional(),
|
36
36
|
"keycloakify": zod_1.z
|
37
37
|
.object({
|
38
|
-
"extraPages": zod_1.z.array(zod_1.z.string()).optional(),
|
39
|
-
"extraLoginPages": zod_1.z.array(zod_1.z.string()).optional(),
|
40
|
-
"extraAccountPages": zod_1.z.array(zod_1.z.string()).optional(),
|
41
38
|
"extraThemeProperties": zod_1.z.array(zod_1.z.string()).optional(),
|
42
39
|
"areAppAndKeycloakServerSharingSameDomain": zod_1.z.boolean().optional(),
|
43
40
|
"artifactId": zod_1.z.string().optional(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parsedPackageJson.js","sourceRoot":"","sources":["../../src/bin/keycloakify/parsedPackageJson.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAA+B;AAE/B,2BAAwB;AACxB,8CAA6C;AAEhC,QAAA,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;
|
1
|
+
{"version":3,"file":"parsedPackageJson.js","sourceRoot":"","sources":["../../src/bin/keycloakify/parsedPackageJson.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAA+B;AAE/B,2BAAwB;AACxB,8CAA6C;AAEhC,QAAA,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;AAoBnD,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,OAAC;SACX,MAAM,CAAC;QACJ,sBAAsB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,0CAA0C,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClE,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,gBAAQ,CAAC,CAAC,QAAQ,EAAE;QACtC,8BAA8B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrD,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7C,yBAAyB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACpD,CAAC;SACD,QAAQ,EAAE;CAClB,CAAC,CAAC;AAEH,IAAA,cAAM,GAA+E,CAAC;AAEtF,IAAI,iBAA+E,CAAC;AACpF,SAAgB,oBAAoB,CAAC,MAAkC;IAC3D,IAAA,cAAc,GAAK,MAAM,eAAX,CAAY;IAClC,IAAI,iBAAiB,EAAE;QACnB,OAAO,iBAAiB,CAAC;KAC5B;IACD,iBAAiB,GAAG,0BAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAA,mBAAQ,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrI,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAPD,oDAOC"}
|
package/bin/tools/crawl.d.ts
CHANGED
@@ -1,2 +1,5 @@
|
|
1
1
|
/** List all files in a given directory return paths relative to the dir_path */
|
2
|
-
export declare
|
2
|
+
export declare function crawl(params: {
|
3
|
+
dirPath: string;
|
4
|
+
returnedPathsType: "absolute" | "relative to dirPath";
|
5
|
+
}): string[];
|
package/bin/tools/crawl.js
CHANGED
@@ -37,33 +37,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
exports.crawl = void 0;
|
38
38
|
var fs = __importStar(require("fs"));
|
39
39
|
var path = __importStar(require("path"));
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
var
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
crawlRec(file_path, paths);
|
50
|
-
continue;
|
51
|
-
}
|
52
|
-
paths.push(file_path);
|
40
|
+
var crawlRec = function (dir_path, paths) {
|
41
|
+
var e_1, _a;
|
42
|
+
try {
|
43
|
+
for (var _b = __values(fs.readdirSync(dir_path)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
44
|
+
var file_name = _c.value;
|
45
|
+
var file_path = path.join(dir_path, file_name);
|
46
|
+
if (fs.lstatSync(file_path).isDirectory()) {
|
47
|
+
crawlRec(file_path, paths);
|
48
|
+
continue;
|
53
49
|
}
|
50
|
+
paths.push(file_path);
|
54
51
|
}
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
finally { if (e_1) throw e_1.error; }
|
52
|
+
}
|
53
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
54
|
+
finally {
|
55
|
+
try {
|
56
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
61
57
|
}
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
58
|
+
finally { if (e_1) throw e_1.error; }
|
59
|
+
}
|
60
|
+
};
|
61
|
+
/** List all files in a given directory return paths relative to the dir_path */
|
62
|
+
function crawl(params) {
|
63
|
+
var dirPath = params.dirPath, returnedPathsType = params.returnedPathsType;
|
64
|
+
var filePaths = [];
|
65
|
+
crawlRec(dirPath, filePaths);
|
66
|
+
switch (returnedPathsType) {
|
67
|
+
case "absolute":
|
68
|
+
return filePaths;
|
69
|
+
case "relative to dirPath":
|
70
|
+
return filePaths.map(function (filePath) { return path.relative(dirPath, filePath); });
|
71
|
+
}
|
72
|
+
}
|
73
|
+
exports.crawl = crawl;
|
69
74
|
//# sourceMappingURL=crawl.js.map
|
package/bin/tools/crawl.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/bin/tools/crawl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,yCAA6B;AAE7B,
|
1
|
+
{"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/bin/tools/crawl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,yCAA6B;AAE7B,IAAM,QAAQ,GAAG,UAAC,QAAgB,EAAE,KAAe;;;QAC/C,KAAwB,IAAA,KAAA,SAAA,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA,gBAAA,4BAAE;YAA7C,IAAM,SAAS,WAAA;YAChB,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAEjD,IAAI,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;gBACvC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAE3B,SAAS;aACZ;YAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzB;;;;;;;;;AACL,CAAC,CAAC;AAEF,gFAAgF;AAChF,SAAgB,KAAK,CAAC,MAAkF;IAC5F,IAAA,OAAO,GAAwB,MAAM,QAA9B,EAAE,iBAAiB,GAAK,MAAM,kBAAX,CAAY;IAE9C,IAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE7B,QAAQ,iBAAiB,EAAE;QACvB,KAAK,UAAU;YACX,OAAO,SAAS,CAAC;QACrB,KAAK,qBAAqB;YACtB,OAAO,SAAS,CAAC,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAhC,CAAgC,CAAC,CAAC;KAC1E;AACL,CAAC;AAbD,sBAaC"}
|
@@ -49,12 +49,12 @@ function transformCodebase(params) {
|
|
49
49
|
});
|
50
50
|
}) : _b;
|
51
51
|
try {
|
52
|
-
for (var _c = __values((0, crawl_1.crawl)(srcDirPath)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
52
|
+
for (var _c = __values((0, crawl_1.crawl)({ "dirPath": srcDirPath, "returnedPathsType": "relative to dirPath" })), _d = _c.next(); !_d.done; _d = _c.next()) {
|
53
53
|
var file_relative_path = _d.value;
|
54
54
|
var filePath = path.join(srcDirPath, file_relative_path);
|
55
55
|
var transformSourceCodeResult = transformSourceCode({
|
56
56
|
"sourceCode": fs.readFileSync(filePath),
|
57
|
-
|
57
|
+
filePath: filePath
|
58
58
|
});
|
59
59
|
if (transformSourceCodeResult === undefined) {
|
60
60
|
continue;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transformCodebase.js","sourceRoot":"","sources":["../../src/bin/tools/transformCodebase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,yCAA6B;AAC7B,iCAAgC;AAChC,+BAA8B;AAS9B,iEAAiE;AACjE,SAAgB,iBAAiB,CAAC,MAA8F;;IAExH,IAAA,UAAU,GAKV,MAAM,WALI,EACV,WAAW,GAIX,MAAM,YAJK,EACX,KAGA,MAAM,oBADH,EAFH,mBAAmB,mBAAG,IAAA,OAAE,EAAsB,UAAC,EAAc;YAAZ,UAAU,gBAAA;QAAO,OAAA,CAAC;YAC/D,oBAAoB,EAAE,UAAU;SACnC,CAAC;IAFgE,CAEhE,CAAC,KAAA,CACI;;QAEX,KAAiC,IAAA,KAAA,SAAA,IAAA,aAAK,EAAC,UAAU,CAAC,CAAA,gBAAA,4BAAE;
|
1
|
+
{"version":3,"file":"transformCodebase.js","sourceRoot":"","sources":["../../src/bin/tools/transformCodebase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,yCAA6B;AAC7B,iCAAgC;AAChC,+BAA8B;AAS9B,iEAAiE;AACjE,SAAgB,iBAAiB,CAAC,MAA8F;;IAExH,IAAA,UAAU,GAKV,MAAM,WALI,EACV,WAAW,GAIX,MAAM,YAJK,EACX,KAGA,MAAM,oBADH,EAFH,mBAAmB,mBAAG,IAAA,OAAE,EAAsB,UAAC,EAAc;YAAZ,UAAU,gBAAA;QAAO,OAAA,CAAC;YAC/D,oBAAoB,EAAE,UAAU;SACnC,CAAC;IAFgE,CAEhE,CAAC,KAAA,CACI;;QAEX,KAAiC,IAAA,KAAA,SAAA,IAAA,aAAK,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAC,CAAA,gBAAA,4BAAE;YAA1G,IAAM,kBAAkB,WAAA;YACzB,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAE3D,IAAM,yBAAyB,GAAG,mBAAmB,CAAC;gBAClD,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACvC,QAAQ,UAAA;aACX,CAAC,CAAC;YAEH,IAAI,yBAAyB,KAAK,SAAS,EAAE;gBACzC,SAAS;aACZ;YAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,EAAE;gBACnE,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;YAEK,IAAA,WAAW,GAAyB,yBAAyB,YAAlD,EAAE,kBAAkB,GAAK,yBAAyB,mBAA9B,CAA+B;YAEtE,EAAE,CAAC,aAAa,CACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EACrH,kBAAkB,CACrB,CAAC;SACL;;;;;;;;;AACL,CAAC;AAhCD,8CAgCC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "keycloakify",
|
3
|
-
"version": "7.
|
3
|
+
"version": "7.14.1",
|
4
4
|
"description": "Create Keycloak themes using React",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -84,6 +84,7 @@
|
|
84
84
|
"src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
|
85
85
|
"src/bin/keycloakify/generateTheme/generateTheme.ts",
|
86
86
|
"src/bin/keycloakify/generateTheme/index.ts",
|
87
|
+
"src/bin/keycloakify/generateTheme/readExtraPageNames.ts",
|
87
88
|
"src/bin/keycloakify/generateTheme/readFieldNameUsage.ts",
|
88
89
|
"src/bin/keycloakify/index.ts",
|
89
90
|
"src/bin/keycloakify/keycloakify.ts",
|
@@ -365,6 +366,9 @@
|
|
365
366
|
"bin/keycloakify/generateTheme/index.d.ts",
|
366
367
|
"bin/keycloakify/generateTheme/index.js",
|
367
368
|
"bin/keycloakify/generateTheme/index.js.map",
|
369
|
+
"bin/keycloakify/generateTheme/readExtraPageNames.d.ts",
|
370
|
+
"bin/keycloakify/generateTheme/readExtraPageNames.js",
|
371
|
+
"bin/keycloakify/generateTheme/readExtraPageNames.js.map",
|
368
372
|
"bin/keycloakify/generateTheme/readFieldNameUsage.d.ts",
|
369
373
|
"bin/keycloakify/generateTheme/readFieldNameUsage.js",
|
370
374
|
"bin/keycloakify/generateTheme/readFieldNameUsage.js.map",
|
@@ -715,6 +719,7 @@
|
|
715
719
|
"src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
|
716
720
|
"src/bin/keycloakify/generateTheme/generateTheme.ts",
|
717
721
|
"src/bin/keycloakify/generateTheme/index.ts",
|
722
|
+
"src/bin/keycloakify/generateTheme/readExtraPageNames.ts",
|
718
723
|
"src/bin/keycloakify/generateTheme/readFieldNameUsage.ts",
|
719
724
|
"src/bin/keycloakify/index.ts",
|
720
725
|
"src/bin/keycloakify/keycloakify.ts",
|
@@ -51,10 +51,6 @@ import { getThemeSrcDirPath } from "./getSrcDirPath";
|
|
51
51
|
|
52
52
|
const { themeSrcDirPath } = getThemeSrcDirPath({ "projectDirPath": process.cwd() });
|
53
53
|
|
54
|
-
if (themeSrcDirPath === undefined) {
|
55
|
-
throw new Error("Couldn't locate your theme sources");
|
56
|
-
}
|
57
|
-
|
58
54
|
const targetFilePath = pathJoin(themeSrcDirPath, themeType, "pages", pageBasename);
|
59
55
|
|
60
56
|
if (existsSync(targetFilePath)) {
|
package/src/bin/getSrcDirPath.ts
CHANGED
@@ -2,15 +2,17 @@ import * as fs from "fs";
|
|
2
2
|
import { exclude } from "tsafe";
|
3
3
|
import { crawl } from "./tools/crawl";
|
4
4
|
import { join as pathJoin } from "path";
|
5
|
+
import { themeTypes } from "./keycloakify/generateFtl";
|
5
6
|
|
6
7
|
const themeSrcDirBasename = "keycloak-theme";
|
7
8
|
|
9
|
+
/** Can't catch error, if the directory isn't found, this function will just exit the process with an error message. */
|
8
10
|
export function getThemeSrcDirPath(params: { projectDirPath: string }) {
|
9
11
|
const { projectDirPath } = params;
|
10
12
|
|
11
13
|
const srcDirPath = pathJoin(projectDirPath, "src");
|
12
14
|
|
13
|
-
const themeSrcDirPath: string | undefined = crawl(srcDirPath)
|
15
|
+
const themeSrcDirPath: string | undefined = crawl({ "dirPath": srcDirPath, "returnedPathsType": "relative to dirPath" })
|
14
16
|
.map(fileRelativePath => {
|
15
17
|
const split = fileRelativePath.split(themeSrcDirBasename);
|
16
18
|
|
@@ -22,12 +24,24 @@ export function getThemeSrcDirPath(params: { projectDirPath: string }) {
|
|
22
24
|
})
|
23
25
|
.filter(exclude(undefined))[0];
|
24
26
|
|
25
|
-
if (themeSrcDirPath
|
26
|
-
|
27
|
-
|
27
|
+
if (themeSrcDirPath !== undefined) {
|
28
|
+
return { themeSrcDirPath };
|
29
|
+
}
|
30
|
+
|
31
|
+
for (const themeType of [...themeTypes, "email"]) {
|
32
|
+
if (!fs.existsSync(pathJoin(srcDirPath, themeType))) {
|
33
|
+
continue;
|
28
34
|
}
|
29
|
-
return { "themeSrcDirPath":
|
35
|
+
return { "themeSrcDirPath": srcDirPath };
|
30
36
|
}
|
31
37
|
|
32
|
-
|
38
|
+
console.error(
|
39
|
+
[
|
40
|
+
"Can't locate your theme source directory. It should be either: ",
|
41
|
+
"src/ or src/keycloak-theme.",
|
42
|
+
"Example in the starter: https://github.com/keycloakify/keycloakify-starter/tree/main/src/keycloak-theme"
|
43
|
+
].join("\n")
|
44
|
+
);
|
45
|
+
|
46
|
+
process.exit(-1);
|
33
47
|
}
|
@@ -21,12 +21,6 @@ export async function main() {
|
|
21
21
|
"projectDirPath": process.cwd()
|
22
22
|
});
|
23
23
|
|
24
|
-
if (themeSrcDirPath === undefined) {
|
25
|
-
logger.warn("Couldn't locate your theme source directory");
|
26
|
-
|
27
|
-
process.exit(-1);
|
28
|
-
}
|
29
|
-
|
30
24
|
const emailThemeSrcDirPath = pathJoin(themeSrcDirPath, "email");
|
31
25
|
|
32
26
|
if (fs.existsSync(emailThemeSrcDirPath)) {
|
@@ -17,9 +17,7 @@ export namespace BuildOptions {
|
|
17
17
|
themeVersion: string;
|
18
18
|
themeName: string;
|
19
19
|
extraThemeNames: string[];
|
20
|
-
|
21
|
-
extraAccountPages: string[] | undefined;
|
22
|
-
extraThemeProperties?: string[];
|
20
|
+
extraThemeProperties: string[] | undefined;
|
23
21
|
groupId: string;
|
24
22
|
artifactId: string;
|
25
23
|
bundler: Bundler;
|
@@ -108,17 +106,7 @@ export function readBuildOptions(params: { projectDirPath: string; processArgv:
|
|
108
106
|
const common: BuildOptions.Common = (() => {
|
109
107
|
const { name, keycloakify = {}, version, homepage } = parsedPackageJson;
|
110
108
|
|
111
|
-
const {
|
112
|
-
extraPages,
|
113
|
-
extraLoginPages,
|
114
|
-
extraAccountPages,
|
115
|
-
extraThemeProperties,
|
116
|
-
groupId,
|
117
|
-
artifactId,
|
118
|
-
bundler,
|
119
|
-
keycloakVersionDefaultAssets,
|
120
|
-
extraThemeNames = []
|
121
|
-
} = keycloakify ?? {};
|
109
|
+
const { extraThemeProperties, groupId, artifactId, bundler, keycloakVersionDefaultAssets, extraThemeNames = [] } = keycloakify ?? {};
|
122
110
|
|
123
111
|
const themeName =
|
124
112
|
keycloakify.themeName ??
|
@@ -160,8 +148,6 @@ export function readBuildOptions(params: { projectDirPath: string; processArgv:
|
|
160
148
|
);
|
161
149
|
})(),
|
162
150
|
"themeVersion": process.env.KEYCLOAKIFY_THEME_VERSION ?? process.env.KEYCLOAKIFY_VERSION ?? version ?? "0.0.0",
|
163
|
-
"extraLoginPages": [...(extraPages ?? []), ...(extraLoginPages ?? [])],
|
164
|
-
extraAccountPages,
|
165
151
|
extraThemeProperties,
|
166
152
|
"isSilent": isSilentCliParamProvided,
|
167
153
|
"keycloakVersionDefaultAssets": keycloakVersionDefaultAssets ?? "11.0.3",
|
@@ -10,15 +10,14 @@ import type { BuildOptions } from "../BuildOptions";
|
|
10
10
|
import { assert } from "tsafe/assert";
|
11
11
|
import { downloadKeycloakStaticResources } from "./downloadKeycloakStaticResources";
|
12
12
|
import { readFieldNameUsage } from "./readFieldNameUsage";
|
13
|
+
import { readExtraPagesNames } from "./readExtraPageNames";
|
13
14
|
|
14
15
|
export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
|
15
16
|
|
16
17
|
export namespace BuildOptionsLike {
|
17
18
|
export type Common = {
|
18
19
|
themeName: string;
|
19
|
-
|
20
|
-
extraAccountPages?: string[];
|
21
|
-
extraThemeProperties?: string[];
|
20
|
+
extraThemeProperties: string[] | undefined;
|
22
21
|
isSilent: boolean;
|
23
22
|
themeVersion: string;
|
24
23
|
keycloakVersionDefaultAssets: string;
|
@@ -53,7 +52,7 @@ assert<BuildOptions extends BuildOptionsLike ? true : false>();
|
|
53
52
|
export async function generateTheme(params: {
|
54
53
|
reactAppBuildDirPath: string;
|
55
54
|
keycloakThemeBuildingDirPath: string;
|
56
|
-
themeSrcDirPath: string
|
55
|
+
themeSrcDirPath: string;
|
57
56
|
keycloakifySrcDirPath: string;
|
58
57
|
buildOptions: BuildOptionsLike;
|
59
58
|
keycloakifyVersion: string;
|
@@ -68,6 +67,10 @@ export async function generateTheme(params: {
|
|
68
67
|
let generateFtlFilesCode_glob: ReturnType<typeof generateFtlFilesCodeFactory>["generateFtlFilesCode"] | undefined = undefined;
|
69
68
|
|
70
69
|
for (const themeType of themeTypes) {
|
70
|
+
if (!fs.existsSync(pathJoin(themeSrcDirPath, themeType))) {
|
71
|
+
continue;
|
72
|
+
}
|
73
|
+
|
71
74
|
const themeDirPath = getThemeDirPath(themeType);
|
72
75
|
|
73
76
|
copy_app_resources_to_theme_path: {
|
@@ -133,26 +136,21 @@ export async function generateTheme(params: {
|
|
133
136
|
});
|
134
137
|
}
|
135
138
|
|
136
|
-
const generateFtlFilesCode =
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
})
|
152
|
-
});
|
153
|
-
|
154
|
-
return generateFtlFilesCode;
|
155
|
-
})();
|
139
|
+
const generateFtlFilesCode =
|
140
|
+
generateFtlFilesCode_glob !== undefined
|
141
|
+
? generateFtlFilesCode_glob
|
142
|
+
: generateFtlFilesCodeFactory({
|
143
|
+
"indexHtmlCode": fs.readFileSync(pathJoin(reactAppBuildDirPath, "index.html")).toString("utf8"),
|
144
|
+
"cssGlobalsToDefine": allCssGlobalsToDefine,
|
145
|
+
buildOptions,
|
146
|
+
keycloakifyVersion,
|
147
|
+
themeType,
|
148
|
+
"fieldNames": readFieldNameUsage({
|
149
|
+
keycloakifySrcDirPath,
|
150
|
+
themeSrcDirPath,
|
151
|
+
themeType
|
152
|
+
})
|
153
|
+
}).generateFtlFilesCode;
|
156
154
|
|
157
155
|
[
|
158
156
|
...(() => {
|
@@ -163,14 +161,10 @@ export async function generateTheme(params: {
|
|
163
161
|
return accountThemePageIds;
|
164
162
|
}
|
165
163
|
})(),
|
166
|
-
...(
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
case "account":
|
171
|
-
return buildOptions.extraAccountPages;
|
172
|
-
}
|
173
|
-
})() ?? [])
|
164
|
+
...readExtraPagesNames({
|
165
|
+
themeType,
|
166
|
+
themeSrcDirPath
|
167
|
+
})
|
174
168
|
].forEach(pageId => {
|
175
169
|
const { ftlCode } = generateFtlFilesCode({ pageId });
|
176
170
|
|
@@ -227,10 +221,6 @@ export async function generateTheme(params: {
|
|
227
221
|
}
|
228
222
|
|
229
223
|
email: {
|
230
|
-
if (themeSrcDirPath === undefined) {
|
231
|
-
break email;
|
232
|
-
}
|
233
|
-
|
234
224
|
const emailThemeSrcDirPath = pathJoin(themeSrcDirPath, "email");
|
235
225
|
|
236
226
|
if (!fs.existsSync(emailThemeSrcDirPath)) {
|