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 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;gBAEpF,IAAI,eAAe,KAAK,SAAS,EAAE;oBAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;iBACzD;gBAEK,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"}
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"}
@@ -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
  };
@@ -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 === undefined) {
45
- if (fs.existsSync((0, path_1.join)(srcDirPath, "login")) || fs.existsSync((0, path_1.join)(srcDirPath, "account"))) {
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
- return { themeSrcDirPath: themeSrcDirPath };
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
@@ -1 +1 @@
1
- {"version":3,"file":"getSrcDirPath.js","sourceRoot":"","sources":["../src/bin/getSrcDirPath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAAgC;AAChC,uCAAsC;AACtC,6BAAwC;AAExC,IAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,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,IAAI,EAAE,CAAC,UAAU,CAAC,IAAA,WAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAA,WAAQ,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE;YAChG,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;SAC5C;QACD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;KAC3C;IAED,OAAO,EAAE,eAAe,iBAAA,EAAE,CAAC;AAC/B,CAAC;AAzBD,gDAyBC"}
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;oBAEH,IAAI,eAAe,KAAK,SAAS,EAAE;wBAC/B,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;wBAE3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAEK,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;AAlDD,oBAkDC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,IAAI,EAAE,CAAC;CACV"}
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 | undefined;
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 = (function () {
191
- if (generateFtlFilesCode_glob !== undefined) {
192
- return generateFtlFilesCode_glob;
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((themeSrcDirPath === undefined
216
- ? []
217
- : (0, readExtraPageNames_1.readExtraPagesNames)({
218
- themeType: themeType,
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":"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"}
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 | undefined;
5
- themeType: ThemeType | "email";
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,MAIlC;;IACW,IAAA,qBAAqB,GAAiC,MAAM,sBAAvC,EAAE,eAAe,GAAgB,MAAM,gBAAtB,EAAE,SAAS,GAAK,MAAM,UAAX,CAAY;IAErE,IAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,eAAe,KAAK,SAAS,EAAE;QAC/B,4GAA4G;QAC5G,UAAU,CAAC,IAAI,OAAf,UAAU,EACH;YACC,QAAQ;YACR,WAAW;YACX,UAAU;YACV,OAAO;YACP,WAAW;YACX,UAAU;YACV,UAAU;YACV,kBAAkB;YAClB,MAAM;YACN,YAAY;YACZ,aAAa;YACb,cAAc;YACd,YAAY;YACZ,kBAAkB;YAClB,MAAM;YACN,cAAc;YACd,YAAY;YACZ,OAAO;YACP,yBAAyB;YACzB,YAAY;YACZ,gBAAgB;YAChB,mBAAmB;YACnB,WAAW;YACX,cAAc;YACd,YAAY;YACZ,OAAO;YACP,eAAe;YACf,yBAAyB;YACzB,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,uBAAuB;YACvB,oBAAoB;SACvB,EACH;KACL;;QAED,KAAyB,IAAA,KAAA,SACrB;YACI,IAAA,WAAQ,EAAC,qBAAqB,EAAE,SAAS,CAAC;YAC1C,CAAC;gBACG,IAAI,eAAe,KAAK,SAAS,EAAE;oBAC/B,OAAO,SAAS,CAAC;iBACpB;gBAED,IAAM,UAAU,GAAG,IAAA,WAAQ,EAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;oBAC5B,OAAO,SAAS,CAAC;iBACpB;gBAED,OAAO,UAAU,CAAC;YACtB,CAAC,CAAC,EAAE;SAEX,CAAC,MAAM,CAAC,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC,CAAA,gBAAA,4BAAE;YAjBzB,IAAM,UAAU,WAAA;YAkBjB,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;AAtFD,gDAsFC"}
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":"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"}
1
+ {"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "7.14.0",
3
+ "version": "7.14.1",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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)) {
@@ -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 === undefined) {
26
- if (fs.existsSync(pathJoin(srcDirPath, "login")) || fs.existsSync(pathJoin(srcDirPath, "account"))) {
27
- return { "themeSrcDirPath": srcDirPath };
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": undefined };
35
+ return { "themeSrcDirPath": srcDirPath };
30
36
  }
31
37
 
32
- return { themeSrcDirPath };
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 | undefined;
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
- if (generateFtlFilesCode_glob !== undefined) {
137
- return generateFtlFilesCode_glob;
138
- }
139
-
140
- const { generateFtlFilesCode } = generateFtlFilesCodeFactory({
141
- "indexHtmlCode": fs.readFileSync(pathJoin(reactAppBuildDirPath, "index.html")).toString("utf8"),
142
- "cssGlobalsToDefine": allCssGlobalsToDefine,
143
- buildOptions,
144
- keycloakifyVersion,
145
- themeType,
146
- "fieldNames": readFieldNameUsage({
147
- keycloakifySrcDirPath,
148
- themeSrcDirPath,
149
- themeType
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
- ...(themeSrcDirPath === undefined
166
- ? []
167
- : readExtraPagesNames({
168
- themeType,
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
- export function readFieldNameUsage(params: {
9
- keycloakifySrcDirPath: string;
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
- if (themeSrcDirPath === undefined) {
18
- //If we can't detect the user theme directory we restore the fieldNames we had previously to prevent errors.
19
- fieldNames.push(
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;