keycloakify 7.14.0 → 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 +6 -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 +61 -4
- 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/generateTheme/generateTheme.d.ts +1 -1
- package/bin/keycloakify/generateTheme/generateTheme.js +10 -16
- package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
- package/bin/keycloakify/generateTheme/readFieldNameUsage.d.ts +3 -2
- package/bin/keycloakify/generateTheme/readFieldNameUsage.js +2 -51
- 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/package.json +1 -1
- package/src/bin/eject-keycloak-page.ts +0 -4
- package/src/bin/getSrcDirPath.ts +19 -5
- package/src/bin/initialize-email-theme.ts +0 -6
- package/src/bin/keycloakify/generateTheme/generateTheme.ts +24 -31
- package/src/bin/keycloakify/generateTheme/readFieldNameUsage.ts +5 -64
- package/src/bin/keycloakify/keycloakify.ts +0 -6
package/README.md
CHANGED
@@ -45,6 +45,10 @@
|
|
45
45
|
> when using React; it's a well-regarded solution that many
|
46
46
|
> developers appreciate.
|
47
47
|
|
48
|
+
Keycloakify is fully compatible with Keycloak, starting from version 11 and is anticipated to maintain compatibility with all future versions.
|
49
|
+
You can update your Keycloak, your Keycloakify generated theme won't break.
|
50
|
+
To understand the basis of my confidence in this, you can [visit this discussion thread where I've explained in detail](https://github.com/keycloakify/keycloakify/discussions/346).
|
51
|
+
|
48
52
|
## Sponsor 👼
|
49
53
|
|
50
54
|
We are exclusively sponsored by [Cloud IAM](https://cloud-iam.com/?mtm_campaign=keycloakify-deal&mtm_source=keycloakify-github), a French company offering Keycloak as a service.
|
@@ -123,7 +127,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
123
127
|
|
124
128
|
## 7.13
|
125
129
|
|
126
|
-
- Deprecate `customUserAttribute`, Keycloakify now analyze your code to predict field name usage. [See doc](https://docs.keycloakify.dev/build-options#customuserattributes).
|
130
|
+
- Deprecate `customUserAttribute`, Keycloakify now analyze your code to predict field name usage. [See doc](https://docs.keycloakify.dev/build-options#customuserattributes).
|
131
|
+
It's now mandatory to [adopt the new directory structure](https://docs.keycloakify.dev/migration-guides/v6-greater-than-v7).
|
127
132
|
|
128
133
|
## 7.12
|
129
134
|
|
@@ -108,9 +108,6 @@ var getSrcDirPath_1 = require("./getSrcDirPath");
|
|
108
108
|
pageId = (_c.sent()).value;
|
109
109
|
pageBasename = (0, capitalize_1.capitalize)((0, kebabCaseToSnakeCase_1.kebabCaseToCamelCase)(pageId)).replace(/ftl$/, "tsx");
|
110
110
|
themeSrcDirPath = (0, getSrcDirPath_1.getThemeSrcDirPath)({ "projectDirPath": process.cwd() }).themeSrcDirPath;
|
111
|
-
if (themeSrcDirPath === undefined) {
|
112
|
-
throw new Error("Couldn't locate your theme sources");
|
113
|
-
}
|
114
111
|
targetFilePath = (0, path_1.join)(themeSrcDirPath, themeType, "pages", pageBasename);
|
115
112
|
if ((0, fs_1.existsSync)(targetFilePath)) {
|
116
113
|
console.log("".concat(pageId, " is already ejected, ").concat((0, path_1.relative)(process.cwd(), targetFilePath), " already exists"));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eject-keycloak-page.js","sourceRoot":"","sources":["../src/bin/eject-keycloak-page.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAwD;AACxD,0DAAmC;AACnC,yDAOmC;AACnC,+CAA8C;AAC9C,wCAAkD;AAClD,yBAAgC;AAChC,6BAAkE;AAClE,qEAAoE;AACpE,uCAA8C;AAC9C,iDAAqD;AAErD,CAAC;;;;;gBACG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAEN,qBAAM,IAAA,oBAAS,EAAY;wBACpD,QAAQ,2BAAM,wBAAU,SAAC;qBAC5B,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBANa,SAAS,GAAK,CAAA,SAM3B,CAAA,MANsB;gBAQxB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBAE3B,qBAAM,IAAA,oBAAS,EAAwC;wBAC7E,QAAQ,EAAE,CAAC;4BACP,QAAQ,SAAS,EAAE;gCACf,KAAK,OAAO;oCACR,gCAAW,+BAAiB,UAAE;gCAClC,KAAK,SAAS;oCACV,gCAAW,iCAAmB,UAAE;6BACvC;4BACD,IAAA,eAAM,EAAkC,KAAK,CAAC,CAAC;wBACnD,CAAC,CAAC,EAAE;qBACP,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBAda,MAAM,GAAK,CAAA,SAcxB,CAAA,MAdmB;gBAgBf,YAAY,GAAG,IAAA,uBAAU,EAAC,IAAA,2CAAoB,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAE7E,eAAe,GAAK,IAAA,kCAAkB,EAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,gBAA5D,CAA6D;
|
1
|
+
{"version":3,"file":"eject-keycloak-page.js","sourceRoot":"","sources":["../src/bin/eject-keycloak-page.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAwD;AACxD,0DAAmC;AACnC,yDAOmC;AACnC,+CAA8C;AAC9C,wCAAkD;AAClD,yBAAgC;AAChC,6BAAkE;AAClE,qEAAoE;AACpE,uCAA8C;AAC9C,iDAAqD;AAErD,CAAC;;;;;gBACG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAEN,qBAAM,IAAA,oBAAS,EAAY;wBACpD,QAAQ,2BAAM,wBAAU,SAAC;qBAC5B,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBANa,SAAS,GAAK,CAAA,SAM3B,CAAA,MANsB;gBAQxB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBAE3B,qBAAM,IAAA,oBAAS,EAAwC;wBAC7E,QAAQ,EAAE,CAAC;4BACP,QAAQ,SAAS,EAAE;gCACf,KAAK,OAAO;oCACR,gCAAW,+BAAiB,UAAE;gCAClC,KAAK,SAAS;oCACV,gCAAW,iCAAmB,UAAE;6BACvC;4BACD,IAAA,eAAM,EAAkC,KAAK,CAAC,CAAC;wBACnD,CAAC,CAAC,EAAE;qBACP,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBAda,MAAM,GAAK,CAAA,SAcxB,CAAA,MAdmB;gBAgBf,YAAY,GAAG,IAAA,uBAAU,EAAC,IAAA,2CAAoB,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAE7E,eAAe,GAAK,IAAA,kCAAkB,EAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,gBAA5D,CAA6D;gBAE9E,cAAc,GAAG,IAAA,WAAQ,EAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBAEnF,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE;oBAC5B,OAAO,CAAC,GAAG,CAAC,UAAG,MAAM,kCAAwB,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,oBAAiB,CAAC,CAAC;oBAE3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpB;gBAEK,KAAA,oBAAS,CAAA;sBAAC,cAAc;gBAAE,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAQ,EAAC,IAAA,+BAAc,GAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,EAAA;oBAAnH,qBAAM,4BAA0B,SAAmF,GAAC,EAAA;;gBAApH,SAAoH,CAAC;gBAErH,OAAO,CAAC,GAAG,CAAC,UAAG,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,aAAU,CAAC,CAAC;;;;KACzE,CAAC,EAAE,CAAC"}
|
package/bin/getSrcDirPath.d.ts
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
+
/** Can't catch error, if the directory isn't found, this function will just exit the process with an error message. */
|
1
2
|
export declare function getThemeSrcDirPath(params: {
|
2
3
|
projectDirPath: string;
|
3
4
|
}): {
|
4
5
|
themeSrcDirPath: string;
|
5
|
-
} | {
|
6
|
-
themeSrcDirPath: undefined;
|
7
6
|
};
|
package/bin/getSrcDirPath.js
CHANGED
@@ -22,14 +22,53 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
22
|
__setModuleDefault(result, mod);
|
23
23
|
return result;
|
24
24
|
};
|
25
|
+
var __read = (this && this.__read) || function (o, n) {
|
26
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
27
|
+
if (!m) return o;
|
28
|
+
var i = m.call(o), r, ar = [], e;
|
29
|
+
try {
|
30
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
31
|
+
}
|
32
|
+
catch (error) { e = { error: error }; }
|
33
|
+
finally {
|
34
|
+
try {
|
35
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
36
|
+
}
|
37
|
+
finally { if (e) throw e.error; }
|
38
|
+
}
|
39
|
+
return ar;
|
40
|
+
};
|
41
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
42
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
43
|
+
if (ar || !(i in from)) {
|
44
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
45
|
+
ar[i] = from[i];
|
46
|
+
}
|
47
|
+
}
|
48
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
49
|
+
};
|
50
|
+
var __values = (this && this.__values) || function(o) {
|
51
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
52
|
+
if (m) return m.call(o);
|
53
|
+
if (o && typeof o.length === "number") return {
|
54
|
+
next: function () {
|
55
|
+
if (o && i >= o.length) o = void 0;
|
56
|
+
return { value: o && o[i++], done: !o };
|
57
|
+
}
|
58
|
+
};
|
59
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
60
|
+
};
|
25
61
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
62
|
exports.getThemeSrcDirPath = void 0;
|
27
63
|
var fs = __importStar(require("fs"));
|
28
64
|
var tsafe_1 = require("tsafe");
|
29
65
|
var crawl_1 = require("./tools/crawl");
|
30
66
|
var path_1 = require("path");
|
67
|
+
var generateFtl_1 = require("./keycloakify/generateFtl");
|
31
68
|
var themeSrcDirBasename = "keycloak-theme";
|
69
|
+
/** Can't catch error, if the directory isn't found, this function will just exit the process with an error message. */
|
32
70
|
function getThemeSrcDirPath(params) {
|
71
|
+
var e_1, _a;
|
33
72
|
var projectDirPath = params.projectDirPath;
|
34
73
|
var srcDirPath = (0, path_1.join)(projectDirPath, "src");
|
35
74
|
var themeSrcDirPath = (0, crawl_1.crawl)({ "dirPath": srcDirPath, "returnedPathsType": "relative to dirPath" })
|
@@ -41,13 +80,31 @@ function getThemeSrcDirPath(params) {
|
|
41
80
|
return (0, path_1.join)(srcDirPath, split[0] + themeSrcDirBasename);
|
42
81
|
})
|
43
82
|
.filter((0, tsafe_1.exclude)(undefined))[0];
|
44
|
-
if (themeSrcDirPath
|
45
|
-
|
83
|
+
if (themeSrcDirPath !== undefined) {
|
84
|
+
return { themeSrcDirPath: themeSrcDirPath };
|
85
|
+
}
|
86
|
+
try {
|
87
|
+
for (var _b = __values(__spreadArray(__spreadArray([], __read(generateFtl_1.themeTypes), false), ["email"], false)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
88
|
+
var themeType = _c.value;
|
89
|
+
if (!fs.existsSync((0, path_1.join)(srcDirPath, themeType))) {
|
90
|
+
continue;
|
91
|
+
}
|
46
92
|
return { "themeSrcDirPath": srcDirPath };
|
47
93
|
}
|
48
|
-
return { "themeSrcDirPath": undefined };
|
49
94
|
}
|
50
|
-
|
95
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
96
|
+
finally {
|
97
|
+
try {
|
98
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
99
|
+
}
|
100
|
+
finally { if (e_1) throw e_1.error; }
|
101
|
+
}
|
102
|
+
console.error([
|
103
|
+
"Can't locate your theme source directory. It should be either: ",
|
104
|
+
"src/ or src/keycloak-theme.",
|
105
|
+
"Example in the starter: https://github.com/keycloakify/keycloakify-starter/tree/main/src/keycloak-theme"
|
106
|
+
].join("\n"));
|
107
|
+
process.exit(-1);
|
51
108
|
}
|
52
109
|
exports.getThemeSrcDirPath = getThemeSrcDirPath;
|
53
110
|
//# sourceMappingURL=getSrcDirPath.js.map
|
package/bin/getSrcDirPath.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getSrcDirPath.js","sourceRoot":"","sources":["../src/bin/getSrcDirPath.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"getSrcDirPath.js","sourceRoot":"","sources":["../src/bin/getSrcDirPath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAAgC;AAChC,uCAAsC;AACtC,6BAAwC;AACxC,yDAAuD;AAEvD,IAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,uHAAuH;AACvH,SAAgB,kBAAkB,CAAC,MAAkC;;IACzD,IAAA,cAAc,GAAK,MAAM,eAAX,CAAY;IAElC,IAAM,UAAU,GAAG,IAAA,WAAQ,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAEnD,IAAM,eAAe,GAAuB,IAAA,aAAK,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;SACnH,GAAG,CAAC,UAAA,gBAAgB;QACjB,IAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAA,WAAQ,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,MAAM,CAAC,IAAA,eAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,eAAe,KAAK,SAAS,EAAE;QAC/B,OAAO,EAAE,eAAe,iBAAA,EAAE,CAAC;KAC9B;;QAED,KAAwB,IAAA,KAAA,gDAAI,wBAAU,YAAE,OAAO,UAAC,gBAAA,4BAAE;YAA7C,IAAM,SAAS,WAAA;YAChB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAA,WAAQ,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE;gBACjD,SAAS;aACZ;YACD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;SAC5C;;;;;;;;;IAED,OAAO,CAAC,KAAK,CACT;QACI,iEAAiE;QACjE,6BAA6B;QAC7B,yGAAyG;KAC5G,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AArCD,gDAqCC"}
|
@@ -83,10 +83,6 @@ function main() {
|
|
83
83
|
themeSrcDirPath = (0, getSrcDirPath_1.getThemeSrcDirPath)({
|
84
84
|
"projectDirPath": process.cwd()
|
85
85
|
}).themeSrcDirPath;
|
86
|
-
if (themeSrcDirPath === undefined) {
|
87
|
-
logger.warn("Couldn't locate your theme source directory");
|
88
|
-
process.exit(-1);
|
89
|
-
}
|
90
86
|
emailThemeSrcDirPath = (0, path_1.join)(themeSrcDirPath, "email");
|
91
87
|
if (fs.existsSync(emailThemeSrcDirPath)) {
|
92
88
|
logger.warn("There is already a ".concat((0, path_1.relative)(process.cwd(), emailThemeSrcDirPath), " directory in your project. Aborting."));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qFAAiF;AACjF,6BAAkE;AAClE,+DAA8D;AAC9D,iEAAgE;AAChE,2DAA8D;AAC9D,qCAAyB;AACzB,yCAA2C;AAC3C,iDAAqD;AAErD,SAAsB,IAAI;;;;;;oBACd,QAAQ,GAAK,IAAA,+BAAgB,EAAC;wBAClC,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;wBAC/B,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;qBACvC,CAAC,SAHc,CAGb;oBAEG,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBAE/B,eAAe,GAAK,IAAA,kCAAkB,EAAC;wBAC3C,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;qBAClC,CAAC,gBAFqB,CAEpB;
|
1
|
+
{"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qFAAiF;AACjF,6BAAkE;AAClE,+DAA8D;AAC9D,iEAAgE;AAChE,2DAA8D;AAC9D,qCAAyB;AACzB,yCAA2C;AAC3C,iDAAqD;AAErD,SAAsB,IAAI;;;;;;oBACd,QAAQ,GAAK,IAAA,+BAAgB,EAAC;wBAClC,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;wBAC/B,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;qBACvC,CAAC,SAHc,CAGb;oBAEG,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBAE/B,eAAe,GAAK,IAAA,kCAAkB,EAAC;wBAC3C,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;qBAClC,CAAC,gBAFqB,CAEpB;oBAEG,oBAAoB,GAAG,IAAA,WAAQ,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBAEhE,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;wBACrC,MAAM,CAAC,IAAI,CAAC,6BAAsB,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,0CAAuC,CAAC,CAAC;wBAE5H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAE2B,qBAAM,IAAA,6CAAqB,GAAE,EAAA;;oBAAjD,eAAe,GAAK,CAAA,SAA6B,CAAA,gBAAlC;oBAEjB,8BAA8B,GAAG,IAAA,WAAQ,EAAC,oBAAoB,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;oBAEhH,qBAAM,IAAA,8DAA4B,EAAC;4BAC/B,eAAe,iBAAA;4BACf,aAAa,EAAE,8BAA8B;4BAC7C,QAAQ,UAAA;yBACX,CAAC,EAAA;;oBAJF,SAIE,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,MAAM,EAAE,OAAO,CAAC;wBACvE,aAAa,EAAE,oBAAoB;qBACtC,CAAC,CAAC;oBAEH;wBACU,qBAAqB,GAAG,IAAA,WAAQ,EAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;wBAEjF,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAgB,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAC;qBAC3I;oBAED,MAAM,CAAC,GAAG,CAAC,UAAG,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,iFAA8E,CAAC,CAAC;oBAE/I,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;CACnF;AA5CD,oBA4CC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,IAAI,EAAE,CAAC;CACV"}
|
@@ -29,7 +29,7 @@ export declare namespace BuildOptionsLike {
|
|
29
29
|
export declare function generateTheme(params: {
|
30
30
|
reactAppBuildDirPath: string;
|
31
31
|
keycloakThemeBuildingDirPath: string;
|
32
|
-
themeSrcDirPath: string
|
32
|
+
themeSrcDirPath: string;
|
33
33
|
keycloakifySrcDirPath: string;
|
34
34
|
buildOptions: BuildOptionsLike;
|
35
35
|
keycloakifyVersion: string;
|
@@ -139,6 +139,9 @@ function generateTheme(params) {
|
|
139
139
|
return __generator(this, function (_d) {
|
140
140
|
switch (_d.label) {
|
141
141
|
case 0:
|
142
|
+
if (!fs.existsSync((0, path_1.join)(themeSrcDirPath, themeType))) {
|
143
|
+
return [2 /*return*/, "continue"];
|
144
|
+
}
|
142
145
|
themeDirPath = getThemeDirPath(themeType);
|
143
146
|
copy_app_resources_to_theme_path: {
|
144
147
|
isFirstPass_1 = themeType.indexOf(themeType) === 0;
|
@@ -187,11 +190,9 @@ function generateTheme(params) {
|
|
187
190
|
}
|
188
191
|
});
|
189
192
|
}
|
190
|
-
generateFtlFilesCode =
|
191
|
-
|
192
|
-
|
193
|
-
}
|
194
|
-
var generateFtlFilesCode = (0, generateFtl_1.generateFtlFilesCodeFactory)({
|
193
|
+
generateFtlFilesCode = generateFtlFilesCode_glob !== undefined
|
194
|
+
? generateFtlFilesCode_glob
|
195
|
+
: (0, generateFtl_1.generateFtlFilesCodeFactory)({
|
195
196
|
"indexHtmlCode": fs.readFileSync((0, path_1.join)(reactAppBuildDirPath, "index.html")).toString("utf8"),
|
196
197
|
"cssGlobalsToDefine": allCssGlobalsToDefine,
|
197
198
|
buildOptions: buildOptions,
|
@@ -203,8 +204,6 @@ function generateTheme(params) {
|
|
203
204
|
themeType: themeType
|
204
205
|
})
|
205
206
|
}).generateFtlFilesCode;
|
206
|
-
return generateFtlFilesCode;
|
207
|
-
})();
|
208
207
|
__spreadArray(__spreadArray([], __read((function () {
|
209
208
|
switch (themeType) {
|
210
209
|
case "login":
|
@@ -212,12 +211,10 @@ function generateTheme(params) {
|
|
212
211
|
case "account":
|
213
212
|
return generateFtl_1.accountThemePageIds;
|
214
213
|
}
|
215
|
-
})()), false), __read((
|
216
|
-
|
217
|
-
:
|
218
|
-
|
219
|
-
themeSrcDirPath: themeSrcDirPath
|
220
|
-
}))), false).forEach(function (pageId) {
|
214
|
+
})()), false), __read((0, readExtraPageNames_1.readExtraPagesNames)({
|
215
|
+
themeType: themeType,
|
216
|
+
themeSrcDirPath: themeSrcDirPath
|
217
|
+
})), false).forEach(function (pageId) {
|
221
218
|
var ftlCode = generateFtlFilesCode({ pageId: pageId }).ftlCode;
|
222
219
|
fs.mkdirSync(themeDirPath, { "recursive": true });
|
223
220
|
fs.writeFileSync((0, path_1.join)(themeDirPath, pageId), Buffer.from(ftlCode, "utf8"));
|
@@ -286,9 +283,6 @@ function generateTheme(params) {
|
|
286
283
|
return [7 /*endfinally*/];
|
287
284
|
case 8:
|
288
285
|
email: {
|
289
|
-
if (themeSrcDirPath === undefined) {
|
290
|
-
break email;
|
291
|
-
}
|
292
286
|
emailThemeSrcDirPath = (0, path_1.join)(themeSrcDirPath, "email");
|
293
287
|
if (!fs.existsSync(emailThemeSrcDirPath)) {
|
294
288
|
break email;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generateTheme.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/generateTheme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,qCAAyB;AACzB,6BAAwC;AACxC,kGAAiG;AACjG,gFAA+E;AAC/E,8CAAiI;AACjI,2EAAkF;AAClF,iDAAgD;AAEhD,uCAAsC;AACtC,qFAAoF;AACpF,2DAA0D;AAC1D,2DAA2D;AAqC3D,IAAA,eAAM,GAAwD,CAAC;AAE/D,SAAsB,aAAa,CAAC,MAOnC;;;;;;;;oBACW,oBAAoB,GAA6G,MAAM,qBAAnH,EAAE,4BAA4B,GAA+E,MAAM,6BAArF,EAAE,eAAe,GAA8D,MAAM,gBAApE,EAAE,qBAAqB,GAAuC,MAAM,sBAA7C,EAAE,YAAY,GAAyB,MAAM,aAA/B,EAAE,kBAAkB,GAAK,MAAM,mBAAX,CAAY;oBAE1I,eAAe,GAAG,UAAC,SAA8B;wBACnD,OAAA,IAAA,WAAQ,EAAC,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC;oBAA9G,CAA8G,CAAC;oBAE/G,qBAAqB,GAA2B,EAAE,CAAC;oBAEnD,yBAAyB,GAAuF,SAAS,CAAC;wCAEnH,SAAS;;;;;
|
1
|
+
{"version":3,"file":"generateTheme.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/generateTheme.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import type { ThemeType } from "../generateFtl";
|
2
|
+
/** Assumes the theme type exists */
|
2
3
|
export declare function readFieldNameUsage(params: {
|
3
4
|
keycloakifySrcDirPath: string;
|
4
|
-
themeSrcDirPath: string
|
5
|
-
themeType: ThemeType
|
5
|
+
themeSrcDirPath: string;
|
6
|
+
themeType: ThemeType;
|
6
7
|
}): string[];
|
@@ -65,62 +65,13 @@ 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
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
73
|
try {
|
111
|
-
for (var _c = __values([
|
112
|
-
(0, path_1.join)(keycloakifySrcDirPath, themeType),
|
113
|
-
(function () {
|
114
|
-
if (themeSrcDirPath === undefined) {
|
115
|
-
return undefined;
|
116
|
-
}
|
117
|
-
var srcDirPath = (0, path_1.join)(themeSrcDirPath, themeType);
|
118
|
-
if (!fs.existsSync(srcDirPath)) {
|
119
|
-
return undefined;
|
120
|
-
}
|
121
|
-
return srcDirPath;
|
122
|
-
})()
|
123
|
-
].filter((0, exclude_1.exclude)(undefined))), _d = _c.next(); !_d.done; _d = _c.next()) {
|
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()) {
|
124
75
|
var srcDirPath = _d.value;
|
125
76
|
var filePaths = (0, crawl_1.crawl)({ "dirPath": srcDirPath, "returnedPathsType": "absolute" }).filter(function (filePath) { return /\.(ts|tsx|js|jsx)$/.test(filePath); });
|
126
77
|
try {
|
@@ -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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"}
|
package/package.json
CHANGED
@@ -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,9 +2,11 @@ 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
|
|
@@ -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)) {
|
@@ -52,7 +52,7 @@ assert<BuildOptions extends BuildOptionsLike ? true : false>();
|
|
52
52
|
export async function generateTheme(params: {
|
53
53
|
reactAppBuildDirPath: string;
|
54
54
|
keycloakThemeBuildingDirPath: string;
|
55
|
-
themeSrcDirPath: string
|
55
|
+
themeSrcDirPath: string;
|
56
56
|
keycloakifySrcDirPath: string;
|
57
57
|
buildOptions: BuildOptionsLike;
|
58
58
|
keycloakifyVersion: string;
|
@@ -67,6 +67,10 @@ export async function generateTheme(params: {
|
|
67
67
|
let generateFtlFilesCode_glob: ReturnType<typeof generateFtlFilesCodeFactory>["generateFtlFilesCode"] | undefined = undefined;
|
68
68
|
|
69
69
|
for (const themeType of themeTypes) {
|
70
|
+
if (!fs.existsSync(pathJoin(themeSrcDirPath, themeType))) {
|
71
|
+
continue;
|
72
|
+
}
|
73
|
+
|
70
74
|
const themeDirPath = getThemeDirPath(themeType);
|
71
75
|
|
72
76
|
copy_app_resources_to_theme_path: {
|
@@ -132,26 +136,21 @@ export async function generateTheme(params: {
|
|
132
136
|
});
|
133
137
|
}
|
134
138
|
|
135
|
-
const generateFtlFilesCode =
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
})
|
151
|
-
});
|
152
|
-
|
153
|
-
return generateFtlFilesCode;
|
154
|
-
})();
|
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;
|
155
154
|
|
156
155
|
[
|
157
156
|
...(() => {
|
@@ -162,12 +161,10 @@ export async function generateTheme(params: {
|
|
162
161
|
return accountThemePageIds;
|
163
162
|
}
|
164
163
|
})(),
|
165
|
-
...(
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
themeSrcDirPath
|
170
|
-
}))
|
164
|
+
...readExtraPagesNames({
|
165
|
+
themeType,
|
166
|
+
themeSrcDirPath
|
167
|
+
})
|
171
168
|
].forEach(pageId => {
|
172
169
|
const { ftlCode } = generateFtlFilesCode({ pageId });
|
173
170
|
|
@@ -224,10 +221,6 @@ export async function generateTheme(params: {
|
|
224
221
|
}
|
225
222
|
|
226
223
|
email: {
|
227
|
-
if (themeSrcDirPath === undefined) {
|
228
|
-
break email;
|
229
|
-
}
|
230
|
-
|
231
224
|
const emailThemeSrcDirPath = pathJoin(themeSrcDirPath, "email");
|
232
225
|
|
233
226
|
if (!fs.existsSync(emailThemeSrcDirPath)) {
|
@@ -5,74 +5,15 @@ import * as fs from "fs";
|
|
5
5
|
import type { ThemeType } from "../generateFtl";
|
6
6
|
import { exclude } from "tsafe/exclude";
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
themeSrcDirPath: string | undefined;
|
11
|
-
themeType: ThemeType | "email";
|
12
|
-
}): string[] {
|
8
|
+
/** Assumes the theme type exists */
|
9
|
+
export function readFieldNameUsage(params: { keycloakifySrcDirPath: string; themeSrcDirPath: string; themeType: ThemeType }): string[] {
|
13
10
|
const { keycloakifySrcDirPath, themeSrcDirPath, themeType } = params;
|
14
11
|
|
15
12
|
const fieldNames: string[] = [];
|
16
13
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
...[
|
21
|
-
"global",
|
22
|
-
"userLabel",
|
23
|
-
"username",
|
24
|
-
"email",
|
25
|
-
"firstName",
|
26
|
-
"lastName",
|
27
|
-
"password",
|
28
|
-
"password-confirm",
|
29
|
-
"totp",
|
30
|
-
"totpSecret",
|
31
|
-
"SAMLRequest",
|
32
|
-
"SAMLResponse",
|
33
|
-
"relayState",
|
34
|
-
"device_user_code",
|
35
|
-
"code",
|
36
|
-
"password-new",
|
37
|
-
"rememberMe",
|
38
|
-
"login",
|
39
|
-
"authenticationExecution",
|
40
|
-
"cancel-aia",
|
41
|
-
"clientDataJSON",
|
42
|
-
"authenticatorData",
|
43
|
-
"signature",
|
44
|
-
"credentialId",
|
45
|
-
"userHandle",
|
46
|
-
"error",
|
47
|
-
"authn_use_chk",
|
48
|
-
"authenticationExecution",
|
49
|
-
"isSetRetry",
|
50
|
-
"try-again",
|
51
|
-
"attestationObject",
|
52
|
-
"publicKeyCredentialId",
|
53
|
-
"authenticatorLabel"
|
54
|
-
]
|
55
|
-
);
|
56
|
-
}
|
57
|
-
|
58
|
-
for (const srcDirPath of (
|
59
|
-
[
|
60
|
-
pathJoin(keycloakifySrcDirPath, themeType),
|
61
|
-
(() => {
|
62
|
-
if (themeSrcDirPath === undefined) {
|
63
|
-
return undefined;
|
64
|
-
}
|
65
|
-
|
66
|
-
const srcDirPath = pathJoin(themeSrcDirPath, themeType);
|
67
|
-
|
68
|
-
if (!fs.existsSync(srcDirPath)) {
|
69
|
-
return undefined;
|
70
|
-
}
|
71
|
-
|
72
|
-
return srcDirPath;
|
73
|
-
})()
|
74
|
-
] as const
|
75
|
-
).filter(exclude(undefined))) {
|
14
|
+
for (const srcDirPath of ([pathJoin(keycloakifySrcDirPath, themeType), pathJoin(themeSrcDirPath, themeType)] as const).filter(
|
15
|
+
exclude(undefined)
|
16
|
+
)) {
|
76
17
|
const filePaths = crawl({ "dirPath": srcDirPath, "returnedPathsType": "absolute" }).filter(filePath => /\.(ts|tsx|js|jsx)$/.test(filePath));
|
77
18
|
|
78
19
|
for (const filePath of filePaths) {
|
@@ -57,12 +57,6 @@ export async function main() {
|
|
57
57
|
"email": false
|
58
58
|
};
|
59
59
|
|
60
|
-
if (themeSrcDirPath === undefined) {
|
61
|
-
implementedThemeTypes["login"] = true;
|
62
|
-
implementedThemeTypes["account"] = true;
|
63
|
-
return implementedThemeTypes;
|
64
|
-
}
|
65
|
-
|
66
60
|
for (const themeType of objectKeys(implementedThemeTypes)) {
|
67
61
|
if (!fs.existsSync(pathJoin(themeSrcDirPath, themeType))) {
|
68
62
|
continue;
|