keycloakify 7.12.8 → 7.13.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.
Files changed (40) hide show
  1. package/README.md +4 -0
  2. package/bin/getSrcDirPath.d.ts +0 -5
  3. package/bin/getSrcDirPath.js +1 -8
  4. package/bin/getSrcDirPath.js.map +1 -1
  5. package/bin/initialize-email-theme.js +5 -4
  6. package/bin/initialize-email-theme.js.map +1 -1
  7. package/bin/keycloakify/BuildOptions.d.ts +0 -1
  8. package/bin/keycloakify/BuildOptions.js +4 -5
  9. package/bin/keycloakify/BuildOptions.js.map +1 -1
  10. package/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +5 -11
  11. package/bin/keycloakify/generateFtl/generateFtl.d.ts +1 -1
  12. package/bin/keycloakify/generateFtl/generateFtl.js +2 -2
  13. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  14. package/bin/keycloakify/generateJavaStackFiles.d.ts +2 -1
  15. package/bin/keycloakify/generateJavaStackFiles.js +10 -3
  16. package/bin/keycloakify/generateJavaStackFiles.js.map +1 -1
  17. package/bin/keycloakify/generateStartKeycloakTestingContainer.js.map +1 -1
  18. package/bin/keycloakify/generateTheme/generateTheme.d.ts +3 -5
  19. package/bin/keycloakify/generateTheme/generateTheme.js +15 -7
  20. package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
  21. package/bin/keycloakify/generateTheme/readFieldNameUsage.d.ts +6 -0
  22. package/bin/keycloakify/generateTheme/readFieldNameUsage.js +162 -0
  23. package/bin/keycloakify/generateTheme/readFieldNameUsage.js.map +1 -0
  24. package/bin/keycloakify/keycloakify.js +40 -15
  25. package/bin/keycloakify/keycloakify.js.map +1 -1
  26. package/bin/keycloakify/parsedPackageJson.d.ts +0 -7
  27. package/bin/keycloakify/parsedPackageJson.js +0 -1
  28. package/bin/keycloakify/parsedPackageJson.js.map +1 -1
  29. package/package.json +176 -1
  30. package/src/bin/getSrcDirPath.ts +0 -10
  31. package/src/bin/initialize-email-theme.ts +5 -3
  32. package/src/bin/keycloakify/BuildOptions.ts +1 -3
  33. package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +5 -11
  34. package/src/bin/keycloakify/generateFtl/generateFtl.ts +3 -6
  35. package/src/bin/keycloakify/generateJavaStackFiles.ts +6 -4
  36. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +0 -1
  37. package/src/bin/keycloakify/generateTheme/generateTheme.ts +17 -12
  38. package/src/bin/keycloakify/generateTheme/readFieldNameUsage.ts +96 -0
  39. package/src/bin/keycloakify/keycloakify.ts +33 -20
  40. package/src/bin/keycloakify/parsedPackageJson.ts +0 -2
@@ -122,9 +122,10 @@ var jar_1 = __importDefault(require("../tools/jar"));
122
122
  var assert_1 = require("tsafe/assert");
123
123
  var getSrcDirPath_1 = require("../getSrcDirPath");
124
124
  var getProjectRoot_1 = require("../tools/getProjectRoot");
125
+ var objectKeys_1 = require("tsafe/objectKeys");
125
126
  function main() {
126
127
  return __awaiter(this, void 0, void 0, function () {
127
- var projectDirPath, buildOptions, logger, doBundlesEmailTemplate, _a, _b, themeName, doBundlesEmailTemplate_, e_1_1, jarFilePath, _c, containerKeycloakVersion;
128
+ var projectDirPath, buildOptions, logger, keycloakifyDirPath, themeSrcDirPath, _a, _b, themeName, e_1_1, jarFilePath, _c, containerKeycloakVersion;
128
129
  var e_1, _d;
129
130
  return __generator(this, function (_e) {
130
131
  switch (_e.label) {
@@ -136,6 +137,8 @@ function main() {
136
137
  });
137
138
  logger = (0, logger_1.getLogger)({ "isSilent": buildOptions.isSilent });
138
139
  logger.log("🔏 Building the keycloak theme...⌚");
140
+ keycloakifyDirPath = (0, getProjectRoot_1.getProjectRoot)();
141
+ themeSrcDirPath = (0, getSrcDirPath_1.getThemeSrcDirPath)({ projectDirPath: projectDirPath }).themeSrcDirPath;
139
142
  _e.label = 1;
140
143
  case 1:
141
144
  _e.trys.push([1, 6, 7, 8]);
@@ -145,25 +148,19 @@ function main() {
145
148
  if (!!_b.done) return [3 /*break*/, 5];
146
149
  themeName = _b.value;
147
150
  return [4 /*yield*/, (0, generateTheme_1.generateTheme)({
148
- keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
149
- "emailThemeSrcDirPath": (function () {
150
- var emailThemeSrcDirPath = (0, getSrcDirPath_1.getEmailThemeSrcDirPath)({ projectDirPath: projectDirPath }).emailThemeSrcDirPath;
151
- if (emailThemeSrcDirPath === undefined || !fs.existsSync(emailThemeSrcDirPath)) {
152
- return;
153
- }
154
- return emailThemeSrcDirPath;
155
- })(),
151
+ "keycloakThemeBuildingDirPath": buildOptions.keycloakifyBuildDirPath,
152
+ themeSrcDirPath: themeSrcDirPath,
153
+ "keycloakifySrcDirPath": (0, path_1.join)(keycloakifyDirPath, "src"),
156
154
  "reactAppBuildDirPath": buildOptions.reactAppBuildDirPath,
157
155
  "buildOptions": __assign(__assign({}, buildOptions), { "themeName": themeName }),
158
156
  "keycloakifyVersion": (function () {
159
- var version = JSON.parse(fs.readFileSync((0, path_1.join)((0, getProjectRoot_1.getProjectRoot)(), "package.json")).toString("utf8"))["version"];
157
+ var version = JSON.parse(fs.readFileSync((0, path_1.join)(keycloakifyDirPath, "package.json")).toString("utf8"))["version"];
160
158
  (0, assert_1.assert)(typeof version === "string");
161
159
  return version;
162
160
  })()
163
161
  })];
164
162
  case 3:
165
- doBundlesEmailTemplate_ = (_e.sent()).doBundlesEmailTemplate;
166
- doBundlesEmailTemplate !== null && doBundlesEmailTemplate !== void 0 ? doBundlesEmailTemplate : (doBundlesEmailTemplate = doBundlesEmailTemplate_);
163
+ _e.sent();
167
164
  _e.label = 4;
168
165
  case 4:
169
166
  _b = _a.next();
@@ -180,10 +177,38 @@ function main() {
180
177
  finally { if (e_1) throw e_1.error; }
181
178
  return [7 /*endfinally*/];
182
179
  case 8:
183
- (0, assert_1.assert)(doBundlesEmailTemplate !== undefined);
184
180
  jarFilePath = (0, generateJavaStackFiles_1.generateJavaStackFiles)({
185
- keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
186
- doBundlesEmailTemplate: doBundlesEmailTemplate,
181
+ "keycloakThemeBuildingDirPath": buildOptions.keycloakifyBuildDirPath,
182
+ "implementedThemeTypes": (function () {
183
+ var e_2, _a;
184
+ var implementedThemeTypes = {
185
+ "login": false,
186
+ "account": false,
187
+ "email": false
188
+ };
189
+ if (themeSrcDirPath === undefined) {
190
+ implementedThemeTypes["login"] = true;
191
+ implementedThemeTypes["account"] = true;
192
+ return implementedThemeTypes;
193
+ }
194
+ try {
195
+ for (var _b = __values((0, objectKeys_1.objectKeys)(implementedThemeTypes)), _c = _b.next(); !_c.done; _c = _b.next()) {
196
+ var themeType = _c.value;
197
+ if (!fs.existsSync((0, path_1.join)(themeSrcDirPath, themeType))) {
198
+ continue;
199
+ }
200
+ implementedThemeTypes[themeType] = true;
201
+ }
202
+ }
203
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
204
+ finally {
205
+ try {
206
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
207
+ }
208
+ finally { if (e_2) throw e_2.error; }
209
+ }
210
+ return implementedThemeTypes;
211
+ })(),
187
212
  buildOptions: buildOptions
188
213
  }).jarFilePath;
189
214
  _c = buildOptions.bundler;
@@ -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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"}
@@ -18,7 +18,6 @@ export type ParsedPackageJson = {
18
18
  keycloakVersionDefaultAssets?: string;
19
19
  reactAppBuildDirPath?: string;
20
20
  keycloakifyBuildDirPath?: string;
21
- customUserAttributes?: string[];
22
21
  themeName?: string;
23
22
  extraThemeNames?: string[];
24
23
  };
@@ -39,7 +38,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
39
38
  keycloakVersionDefaultAssets: z.ZodOptional<z.ZodString>;
40
39
  reactAppBuildDirPath: z.ZodOptional<z.ZodString>;
41
40
  keycloakifyBuildDirPath: z.ZodOptional<z.ZodString>;
42
- customUserAttributes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
43
41
  themeName: z.ZodOptional<z.ZodString>;
44
42
  extraThemeNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
45
43
  }, "strip", z.ZodTypeAny, {
@@ -54,7 +52,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
54
52
  keycloakVersionDefaultAssets?: string | undefined;
55
53
  reactAppBuildDirPath?: string | undefined;
56
54
  keycloakifyBuildDirPath?: string | undefined;
57
- customUserAttributes?: string[] | undefined;
58
55
  themeName?: string | undefined;
59
56
  extraThemeNames?: string[] | undefined;
60
57
  }, {
@@ -69,7 +66,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
69
66
  keycloakVersionDefaultAssets?: string | undefined;
70
67
  reactAppBuildDirPath?: string | undefined;
71
68
  keycloakifyBuildDirPath?: string | undefined;
72
- customUserAttributes?: string[] | undefined;
73
69
  themeName?: string | undefined;
74
70
  extraThemeNames?: string[] | undefined;
75
71
  }>>;
@@ -89,7 +85,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
89
85
  keycloakVersionDefaultAssets?: string | undefined;
90
86
  reactAppBuildDirPath?: string | undefined;
91
87
  keycloakifyBuildDirPath?: string | undefined;
92
- customUserAttributes?: string[] | undefined;
93
88
  themeName?: string | undefined;
94
89
  extraThemeNames?: string[] | undefined;
95
90
  } | undefined;
@@ -109,7 +104,6 @@ export declare const zParsedPackageJson: z.ZodObject<{
109
104
  keycloakVersionDefaultAssets?: string | undefined;
110
105
  reactAppBuildDirPath?: string | undefined;
111
106
  keycloakifyBuildDirPath?: string | undefined;
112
- customUserAttributes?: string[] | undefined;
113
107
  themeName?: string | undefined;
114
108
  extraThemeNames?: string[] | undefined;
115
109
  } | undefined;
@@ -132,7 +126,6 @@ export declare function getParsedPackageJson(params: {
132
126
  keycloakVersionDefaultAssets?: string | undefined;
133
127
  reactAppBuildDirPath?: string | undefined;
134
128
  keycloakifyBuildDirPath?: string | undefined;
135
- customUserAttributes?: string[] | undefined;
136
129
  themeName?: string | undefined;
137
130
  extraThemeNames?: string[] | undefined;
138
131
  } | undefined;
@@ -46,7 +46,6 @@ exports.zParsedPackageJson = zod_1.z.object({
46
46
  "keycloakVersionDefaultAssets": zod_1.z.string().optional(),
47
47
  "reactAppBuildDirPath": zod_1.z.string().optional(),
48
48
  "keycloakifyBuildDirPath": zod_1.z.string().optional(),
49
- "customUserAttributes": zod_1.z.array(zod_1.z.string()).optional(),
50
49
  "themeName": zod_1.z.string().optional(),
51
50
  "extraThemeNames": zod_1.z.array(zod_1.z.string()).optional()
52
51
  })
@@ -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;AAyBnD,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,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjD,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnD,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,sBAAsB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,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"}
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;AAwBnD,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,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjD,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnD,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "7.12.8",
3
+ "version": "7.13.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/readFieldNameUsage.ts",
87
88
  "src/bin/keycloakify/index.ts",
88
89
  "src/bin/keycloakify/keycloakify.ts",
89
90
  "src/bin/keycloakify/parsedPackageJson.ts",
@@ -364,6 +365,9 @@
364
365
  "bin/keycloakify/generateTheme/index.d.ts",
365
366
  "bin/keycloakify/generateTheme/index.js",
366
367
  "bin/keycloakify/generateTheme/index.js.map",
368
+ "bin/keycloakify/generateTheme/readFieldNameUsage.d.ts",
369
+ "bin/keycloakify/generateTheme/readFieldNameUsage.js",
370
+ "bin/keycloakify/generateTheme/readFieldNameUsage.js.map",
367
371
  "bin/keycloakify/index.d.ts",
368
372
  "bin/keycloakify/index.js",
369
373
  "bin/keycloakify/index.js.map",
@@ -655,6 +659,177 @@
655
659
  "login/pages/shared/UserProfileFormFields.d.ts",
656
660
  "login/pages/shared/UserProfileFormFields.js",
657
661
  "login/pages/shared/UserProfileFormFields.js.map",
662
+ "src/account/Fallback.tsx",
663
+ "src/account/Template.tsx",
664
+ "src/account/TemplateProps.ts",
665
+ "src/account/i18n/baseMessages/ar.ts",
666
+ "src/account/i18n/baseMessages/ca.ts",
667
+ "src/account/i18n/baseMessages/cs.ts",
668
+ "src/account/i18n/baseMessages/da.ts",
669
+ "src/account/i18n/baseMessages/de.ts",
670
+ "src/account/i18n/baseMessages/en.ts",
671
+ "src/account/i18n/baseMessages/es.ts",
672
+ "src/account/i18n/baseMessages/fi.ts",
673
+ "src/account/i18n/baseMessages/fr.ts",
674
+ "src/account/i18n/baseMessages/hu.ts",
675
+ "src/account/i18n/baseMessages/index.ts",
676
+ "src/account/i18n/baseMessages/it.ts",
677
+ "src/account/i18n/baseMessages/ja.ts",
678
+ "src/account/i18n/baseMessages/lt.ts",
679
+ "src/account/i18n/baseMessages/lv.ts",
680
+ "src/account/i18n/baseMessages/nl.ts",
681
+ "src/account/i18n/baseMessages/no.ts",
682
+ "src/account/i18n/baseMessages/pl.ts",
683
+ "src/account/i18n/baseMessages/pt-BR.ts",
684
+ "src/account/i18n/baseMessages/ru.ts",
685
+ "src/account/i18n/baseMessages/sk.ts",
686
+ "src/account/i18n/baseMessages/sv.ts",
687
+ "src/account/i18n/baseMessages/tr.ts",
688
+ "src/account/i18n/baseMessages/zh-CN.ts",
689
+ "src/account/i18n/i18n.tsx",
690
+ "src/account/i18n/index.ts",
691
+ "src/account/index.ts",
692
+ "src/account/kcContext/KcContext.ts",
693
+ "src/account/kcContext/createGetKcContext.ts",
694
+ "src/account/kcContext/getKcContext.ts",
695
+ "src/account/kcContext/getKcContextFromWindow.ts",
696
+ "src/account/kcContext/index.ts",
697
+ "src/account/kcContext/kcContextMocks.ts",
698
+ "src/account/lib/useGetClassName.ts",
699
+ "src/account/pages/Account.tsx",
700
+ "src/account/pages/PageProps.ts",
701
+ "src/account/pages/Password.tsx",
702
+ "src/bin/copy-keycloak-resources-to-public.ts",
703
+ "src/bin/download-builtin-keycloak-theme.ts",
704
+ "src/bin/eject-keycloak-page.ts",
705
+ "src/bin/getSrcDirPath.ts",
706
+ "src/bin/initialize-email-theme.ts",
707
+ "src/bin/keycloakify/BuildOptions.ts",
708
+ "src/bin/keycloakify/ftlValuesGlobalName.ts",
709
+ "src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
710
+ "src/bin/keycloakify/generateFtl/generateFtl.ts",
711
+ "src/bin/keycloakify/generateFtl/index.ts",
712
+ "src/bin/keycloakify/generateFtl/pageId.ts",
713
+ "src/bin/keycloakify/generateJavaStackFiles.ts",
714
+ "src/bin/keycloakify/generateStartKeycloakTestingContainer.ts",
715
+ "src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
716
+ "src/bin/keycloakify/generateTheme/generateTheme.ts",
717
+ "src/bin/keycloakify/generateTheme/index.ts",
718
+ "src/bin/keycloakify/generateTheme/readFieldNameUsage.ts",
719
+ "src/bin/keycloakify/index.ts",
720
+ "src/bin/keycloakify/keycloakify.ts",
721
+ "src/bin/keycloakify/parsedPackageJson.ts",
722
+ "src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts",
723
+ "src/bin/keycloakify/replacers/replaceImportsInCssCode.ts",
724
+ "src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts",
725
+ "src/bin/mockTestingResourcesPath.ts",
726
+ "src/bin/promptKeycloakVersion.ts",
727
+ "src/bin/tools/NpmModuleVersion.ts",
728
+ "src/bin/tools/crawl.ts",
729
+ "src/bin/tools/crc32.ts",
730
+ "src/bin/tools/deflate.ts",
731
+ "src/bin/tools/downloadAndUnzip.ts",
732
+ "src/bin/tools/getProjectRoot.ts",
733
+ "src/bin/tools/grant-exec-perms.ts",
734
+ "src/bin/tools/isInside.ts",
735
+ "src/bin/tools/jar.ts",
736
+ "src/bin/tools/kebabCaseToSnakeCase.ts",
737
+ "src/bin/tools/logger.ts",
738
+ "src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts",
739
+ "src/bin/tools/octokit-addons/listTags.ts",
740
+ "src/bin/tools/partitionPromiseSettledResults.ts",
741
+ "src/bin/tools/pathJoin.ts",
742
+ "src/bin/tools/tee.ts",
743
+ "src/bin/tools/transformCodebase.ts",
744
+ "src/bin/tools/trimIndent.ts",
745
+ "src/bin/tools/unzip.ts",
746
+ "src/bin/tools/walk.ts",
747
+ "src/bin/tsconfig.json",
748
+ "src/index.ts",
749
+ "src/lib/keycloakJsAdapter.ts",
750
+ "src/lib/useGetClassName.ts",
751
+ "src/lib/usePrepareTemplate.ts",
752
+ "src/login/Fallback.tsx",
753
+ "src/login/Template.tsx",
754
+ "src/login/TemplateProps.ts",
755
+ "src/login/i18n/baseMessages/ar.ts",
756
+ "src/login/i18n/baseMessages/ca.ts",
757
+ "src/login/i18n/baseMessages/cs.ts",
758
+ "src/login/i18n/baseMessages/da.ts",
759
+ "src/login/i18n/baseMessages/de.ts",
760
+ "src/login/i18n/baseMessages/en.ts",
761
+ "src/login/i18n/baseMessages/es.ts",
762
+ "src/login/i18n/baseMessages/fi.ts",
763
+ "src/login/i18n/baseMessages/fr.ts",
764
+ "src/login/i18n/baseMessages/hu.ts",
765
+ "src/login/i18n/baseMessages/index.ts",
766
+ "src/login/i18n/baseMessages/it.ts",
767
+ "src/login/i18n/baseMessages/ja.ts",
768
+ "src/login/i18n/baseMessages/lt.ts",
769
+ "src/login/i18n/baseMessages/lv.ts",
770
+ "src/login/i18n/baseMessages/nl.ts",
771
+ "src/login/i18n/baseMessages/no.ts",
772
+ "src/login/i18n/baseMessages/pl.ts",
773
+ "src/login/i18n/baseMessages/pt-BR.ts",
774
+ "src/login/i18n/baseMessages/ru.ts",
775
+ "src/login/i18n/baseMessages/sk.ts",
776
+ "src/login/i18n/baseMessages/sv.ts",
777
+ "src/login/i18n/baseMessages/tr.ts",
778
+ "src/login/i18n/baseMessages/zh-CN.ts",
779
+ "src/login/i18n/i18n.tsx",
780
+ "src/login/i18n/index.ts",
781
+ "src/login/index.ts",
782
+ "src/login/kcContext/KcContext.ts",
783
+ "src/login/kcContext/createGetKcContext.ts",
784
+ "src/login/kcContext/getKcContext.ts",
785
+ "src/login/kcContext/getKcContextFromWindow.ts",
786
+ "src/login/kcContext/index.ts",
787
+ "src/login/kcContext/kcContextMocks.ts",
788
+ "src/login/lib/useDownloadTerms.ts",
789
+ "src/login/lib/useFormValidation.tsx",
790
+ "src/login/lib/useGetClassName.ts",
791
+ "src/login/pages/Error.tsx",
792
+ "src/login/pages/IdpReviewUserProfile.tsx",
793
+ "src/login/pages/Info.tsx",
794
+ "src/login/pages/Login.tsx",
795
+ "src/login/pages/LoginConfigTotp.tsx",
796
+ "src/login/pages/LoginIdpLinkConfirm.tsx",
797
+ "src/login/pages/LoginIdpLinkEmail.tsx",
798
+ "src/login/pages/LoginOtp.tsx",
799
+ "src/login/pages/LoginPageExpired.tsx",
800
+ "src/login/pages/LoginPassword.tsx",
801
+ "src/login/pages/LoginResetPassword.tsx",
802
+ "src/login/pages/LoginUpdatePassword.tsx",
803
+ "src/login/pages/LoginUpdateProfile.tsx",
804
+ "src/login/pages/LoginUsername.tsx",
805
+ "src/login/pages/LoginVerifyEmail.tsx",
806
+ "src/login/pages/LogoutConfirm.tsx",
807
+ "src/login/pages/PageProps.ts",
808
+ "src/login/pages/Register.tsx",
809
+ "src/login/pages/RegisterUserProfile.tsx",
810
+ "src/login/pages/SamlPostForm.tsx",
811
+ "src/login/pages/SelectAuthenticator.tsx",
812
+ "src/login/pages/Terms.tsx",
813
+ "src/login/pages/UpdateEmail.tsx",
814
+ "src/login/pages/UpdateUserProfile.tsx",
815
+ "src/login/pages/WebauthnAuthenticate.tsx",
816
+ "src/login/pages/shared/UserProfileFormFields.tsx",
817
+ "src/tools/AndByDiscriminatingKey.ts",
818
+ "src/tools/Array.prototype.every.ts",
819
+ "src/tools/DeepPartial.ts",
820
+ "src/tools/HTMLElement.prototype.prepend.ts",
821
+ "src/tools/Markdown.ts",
822
+ "src/tools/assert.ts",
823
+ "src/tools/clsx.ts",
824
+ "src/tools/deepAssign.ts",
825
+ "src/tools/deepClone.ts",
826
+ "src/tools/emailRegExp.ts",
827
+ "src/tools/headInsert.ts",
828
+ "src/tools/memoize.ts",
829
+ "src/tools/pathBasename.ts",
830
+ "src/tools/useConst.ts",
831
+ "src/tools/useConstCallback.ts",
832
+ "src/tsconfig.json",
658
833
  "tools/AndByDiscriminatingKey.d.ts",
659
834
  "tools/AndByDiscriminatingKey.js",
660
835
  "tools/AndByDiscriminatingKey.js.map",
@@ -31,13 +31,3 @@ export function getThemeSrcDirPath(params: { projectDirPath: string }) {
31
31
 
32
32
  return { themeSrcDirPath };
33
33
  }
34
-
35
- export function getEmailThemeSrcDirPath(params: { projectDirPath: string }) {
36
- const { projectDirPath } = params;
37
-
38
- const { themeSrcDirPath } = getThemeSrcDirPath({ projectDirPath });
39
-
40
- const emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : pathJoin(themeSrcDirPath, "email");
41
-
42
- return { emailThemeSrcDirPath };
43
- }
@@ -7,7 +7,7 @@ import { promptKeycloakVersion } from "./promptKeycloakVersion";
7
7
  import { readBuildOptions } from "./keycloakify/BuildOptions";
8
8
  import * as fs from "fs";
9
9
  import { getLogger } from "./tools/logger";
10
- import { getEmailThemeSrcDirPath } from "./getSrcDirPath";
10
+ import { getThemeSrcDirPath } from "./getSrcDirPath";
11
11
 
12
12
  export async function main() {
13
13
  const { isSilent } = readBuildOptions({
@@ -17,16 +17,18 @@ export async function main() {
17
17
 
18
18
  const logger = getLogger({ isSilent });
19
19
 
20
- const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath({
20
+ const { themeSrcDirPath } = getThemeSrcDirPath({
21
21
  "projectDirPath": process.cwd()
22
22
  });
23
23
 
24
- if (emailThemeSrcDirPath === undefined) {
24
+ if (themeSrcDirPath === undefined) {
25
25
  logger.warn("Couldn't locate your theme source directory");
26
26
 
27
27
  process.exit(-1);
28
28
  }
29
29
 
30
+ const emailThemeSrcDirPath = pathJoin(themeSrcDirPath, "email");
31
+
30
32
  if (fs.existsSync(emailThemeSrcDirPath)) {
31
33
  logger.warn(`There is already a ${pathRelative(process.cwd(), emailThemeSrcDirPath)} directory in your project. Aborting.`);
32
34
 
@@ -28,7 +28,6 @@ export namespace BuildOptions {
28
28
  reactAppBuildDirPath: string;
29
29
  /** Directory that keycloakify outputs to. Defaults to {cwd}/build_keycloak */
30
30
  keycloakifyBuildDirPath: string;
31
- customUserAttributes: string[];
32
31
  };
33
32
 
34
33
  export type Standalone = Common & {
@@ -199,8 +198,7 @@ export function readBuildOptions(params: { projectDirPath: string; processArgv:
199
198
  }
200
199
 
201
200
  return keycloakifyBuildDirPath;
202
- })(),
203
- "customUserAttributes": keycloakify.customUserAttributes ?? []
201
+ })()
204
202
  };
205
203
  })();
206
204
 
@@ -8,13 +8,7 @@
8
8
  out["advancedMsg"]= function(){ throw new Error("use import { useKcMessage } from 'keycloakify'"); };
9
9
 
10
10
  out["messagesPerField"]= {
11
- <#assign fieldNames = [
12
- "global", "userLabel", "username", "email", "firstName", "lastName", "password", "password-confirm",
13
- "totp", "totpSecret", "SAMLRequest", "SAMLResponse", "relayState", "device_user_code", "code",
14
- "password-new", "rememberMe", "login", "authenticationExecution", "cancel-aia", "clientDataJSON",
15
- "authenticatorData", "signature", "credentialId", "userHandle", "error", "authn_use_chk", "authenticationExecution",
16
- "isSetRetry", "try-again", "attestationObject", "publicKeyCredentialId", "authenticatorLabel"CUSTOM_USER_ATTRIBUTES_eKsIY4ZsZ4xeM
17
- ]>
11
+ <#assign fieldNames = [ FIELD_NAMES_eKsIY4ZsZ4xeM ]>
18
12
 
19
13
  <#attempt>
20
14
  <#if profile?? && profile.attributes?? && profile.attributes?is_enumerable>
@@ -123,7 +117,7 @@
123
117
  }
124
118
  </#list>
125
119
 
126
- throw new Error("There is no " + fieldName + " field. See: https://docs.keycloakify.dev/build-options#keycloakify.customuserattributes");
120
+ throw new Error(fieldName + "is probably runtime generated, see: https://docs.keycloakify.dev/limitations#field-names-cant-be-runtime-generated");
127
121
  },
128
122
  "existsError": function (fieldName) {
129
123
 
@@ -206,7 +200,7 @@
206
200
  }
207
201
  </#list>
208
202
 
209
- throw new Error("There is no " + fieldName + " field. See: https://docs.keycloakify.dev/build-options#keycloakify.customuserattributes");
203
+ throw new Error(fieldName + "is probably runtime generated, see: https://docs.keycloakify.dev/limitations#field-names-cant-be-runtime-generated");
210
204
 
211
205
  },
212
206
  "get": function (fieldName) {
@@ -307,7 +301,7 @@
307
301
  }
308
302
  </#list>
309
303
 
310
- throw new Error("There is no " + fieldName + " field. See: https://docs.keycloakify.dev/build-options#keycloakify.customuserattributes");
304
+ throw new Error(fieldName + "is probably runtime generated, see: https://docs.keycloakify.dev/limitations#field-names-cant-be-runtime-generated");
311
305
 
312
306
  },
313
307
  "exists": function (fieldName) {
@@ -391,7 +385,7 @@
391
385
  }
392
386
  </#list>
393
387
 
394
- throw new Error("There is no " + fieldName + " field. See: https://docs.keycloakify.dev/build-options#keycloakify.customuserattributes");
388
+ throw new Error(fieldName + "is probably runtime generated, see: https://docs.keycloakify.dev/limitations#field-names-cant-be-runtime-generated");
395
389
 
396
390
  }
397
391
  };
@@ -18,7 +18,6 @@ export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.Ex
18
18
  export namespace BuildOptionsLike {
19
19
  export type Common = {
20
20
  themeName: string;
21
- customUserAttributes: string[];
22
21
  themeVersion: string;
23
22
  };
24
23
 
@@ -57,8 +56,9 @@ export function generateFtlFilesCodeFactory(params: {
57
56
  buildOptions: BuildOptionsLike;
58
57
  keycloakifyVersion: string;
59
58
  themeType: ThemeType;
59
+ fieldNames: string[];
60
60
  }) {
61
- const { cssGlobalsToDefine, indexHtmlCode, buildOptions, keycloakifyVersion, themeType } = params;
61
+ const { cssGlobalsToDefine, indexHtmlCode, buildOptions, keycloakifyVersion, themeType, fieldNames } = params;
62
62
 
63
63
  const $ = cheerio.load(indexHtmlCode);
64
64
 
@@ -129,10 +129,7 @@ export function generateFtlFilesCodeFactory(params: {
129
129
  .readFileSync(pathJoin(__dirname, "ftl_object_to_js_code_declaring_an_object.ftl"))
130
130
  .toString("utf8")
131
131
  .match(/^<script>const _=((?:.|\n)+)<\/script>[\n]?$/)![1]
132
- .replace(
133
- "CUSTOM_USER_ATTRIBUTES_eKsIY4ZsZ4xeM",
134
- buildOptions.customUserAttributes.length === 0 ? "" : ", " + buildOptions.customUserAttributes.map(name => `"${name}"`).join(", ")
135
- )
132
+ .replace("FIELD_NAMES_eKsIY4ZsZ4xeM", fieldNames.map(name => `"${name}"`).join(", "))
136
133
  .replace("KEYCLOAKIFY_VERSION_xEdKd3xEdr", keycloakifyVersion)
137
134
  .replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildOptions.themeVersion)
138
135
  .replace("KEYCLOAKIFY_THEME_TYPE_dExKd3xEdr", themeType)
@@ -1,9 +1,9 @@
1
1
  import * as fs from "fs";
2
2
  import { join as pathJoin, dirname as pathDirname } from "path";
3
- import { themeTypes } from "./generateFtl/generateFtl";
4
3
  import { assert } from "tsafe/assert";
5
4
  import { Reflect } from "tsafe/Reflect";
6
5
  import type { BuildOptions } from "./BuildOptions";
6
+ import type { ThemeType } from "./generateFtl";
7
7
 
8
8
  export type BuildOptionsLike = {
9
9
  themeName: string;
@@ -21,7 +21,7 @@ export type BuildOptionsLike = {
21
21
 
22
22
  export function generateJavaStackFiles(params: {
23
23
  keycloakThemeBuildingDirPath: string;
24
- doBundlesEmailTemplate: boolean;
24
+ implementedThemeTypes: Record<ThemeType | "email", boolean>;
25
25
  buildOptions: BuildOptionsLike;
26
26
  }): {
27
27
  jarFilePath: string;
@@ -29,7 +29,7 @@ export function generateJavaStackFiles(params: {
29
29
  const {
30
30
  buildOptions: { groupId, themeName, extraThemeNames, themeVersion, artifactId },
31
31
  keycloakThemeBuildingDirPath,
32
- doBundlesEmailTemplate
32
+ implementedThemeTypes
33
33
  } = params;
34
34
 
35
35
  {
@@ -70,7 +70,9 @@ export function generateJavaStackFiles(params: {
70
70
  {
71
71
  "themes": [themeName, ...extraThemeNames].map(themeName => ({
72
72
  "name": themeName,
73
- "types": [...themeTypes, ...(doBundlesEmailTemplate ? ["email"] : [])]
73
+ "types": Object.entries(implementedThemeTypes)
74
+ .filter(([, isImplemented]) => isImplemented)
75
+ .map(([themeType]) => themeType)
74
76
  }))
75
77
  },
76
78
  null,
@@ -33,7 +33,6 @@ export function generateStartKeycloakTestingContainer(params: {
33
33
 
34
34
  fs.writeFileSync(
35
35
  pathJoin(keycloakThemeBuildingDirPath, generateStartKeycloakTestingContainer.basename),
36
-
37
36
  Buffer.from(
38
37
  [
39
38
  "#!/usr/bin/env bash",