keycloakify 9.3.1 → 9.4.0-rc.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 (176) hide show
  1. package/README.md +4 -0
  2. package/account/kcContext/getKcContextFromWindow.js +2 -2
  3. package/account/kcContext/getKcContextFromWindow.js.map +1 -1
  4. package/bin/constants.d.ts +4 -1
  5. package/bin/constants.js +5 -2
  6. package/bin/constants.js.map +1 -1
  7. package/bin/copy-keycloak-resources-to-public.js +3 -4
  8. package/bin/copy-keycloak-resources-to-public.js.map +1 -1
  9. package/bin/download-builtin-keycloak-theme.js +163 -53
  10. package/bin/download-builtin-keycloak-theme.js.map +1 -1
  11. package/bin/eject-keycloak-page.js +2 -2
  12. package/bin/eject-keycloak-page.js.map +1 -1
  13. package/bin/{getSrcDirPath.js → getThemeSrcDirPath.js} +1 -1
  14. package/bin/getThemeSrcDirPath.js.map +1 -0
  15. package/bin/initialize-email-theme.js +6 -5
  16. package/bin/initialize-email-theme.js.map +1 -1
  17. package/bin/keycloakify/{BuildOptions.d.ts → buildOptions/buildOptions.d.ts} +2 -1
  18. package/bin/keycloakify/buildOptions/buildOptions.js +136 -0
  19. package/bin/keycloakify/buildOptions/buildOptions.js.map +1 -0
  20. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts +7 -0
  21. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js +27 -0
  22. package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map +1 -0
  23. package/bin/keycloakify/buildOptions/index.d.ts +1 -0
  24. package/bin/keycloakify/{generateJavaStackFiles → buildOptions}/index.js +1 -1
  25. package/bin/keycloakify/buildOptions/index.js.map +1 -0
  26. package/bin/keycloakify/buildOptions/parsedPackageJson.d.ts +19 -0
  27. package/bin/keycloakify/{parsedPackageJson.js → buildOptions/parsedPackageJson.js} +6 -7
  28. package/bin/keycloakify/buildOptions/parsedPackageJson.js.map +1 -0
  29. package/bin/keycloakify/buildOptions/resolvedViteConfig.d.ts +12 -0
  30. package/bin/keycloakify/buildOptions/resolvedViteConfig.js +82 -0
  31. package/bin/keycloakify/buildOptions/resolvedViteConfig.js.map +1 -0
  32. package/bin/keycloakify/generateFtl/generateFtl.d.ts +4 -1
  33. package/bin/keycloakify/generateFtl/generateFtl.js +5 -5
  34. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  35. package/bin/keycloakify/generatePom.d.ts +12 -0
  36. package/bin/keycloakify/generatePom.js +59 -0
  37. package/bin/keycloakify/generatePom.js.map +1 -0
  38. package/bin/keycloakify/{generateJavaStackFiles → generateTheme}/bringInAccountV1.d.ts +2 -1
  39. package/bin/keycloakify/{generateJavaStackFiles → generateTheme}/bringInAccountV1.js +21 -67
  40. package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +1 -0
  41. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +0 -3
  42. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +5 -34
  43. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
  44. package/bin/keycloakify/generateTheme/generateTheme.d.ts +4 -1
  45. package/bin/keycloakify/generateTheme/generateTheme.js +123 -70
  46. package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
  47. package/bin/keycloakify/keycloakify.js +13 -72
  48. package/bin/keycloakify/keycloakify.js.map +1 -1
  49. package/bin/keycloakify/replacers/replaceImportsInCssCode.js +2 -1
  50. package/bin/keycloakify/replacers/replaceImportsInCssCode.js.map +1 -1
  51. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js +2 -1
  52. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map +1 -1
  53. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.d.ts +1 -0
  54. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js +18 -0
  55. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js.map +1 -0
  56. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.d.ts +12 -0
  57. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js +70 -0
  58. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js.map +1 -0
  59. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.d.ts +13 -0
  60. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js +95 -0
  61. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js.map +1 -0
  62. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.d.ts +12 -0
  63. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js +108 -0
  64. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js.map +1 -0
  65. package/bin/promptKeycloakVersion.js +0 -1
  66. package/bin/promptKeycloakVersion.js.map +1 -1
  67. package/bin/tools/OptionalIfCanBeUndefined.d.ts +14 -0
  68. package/bin/tools/OptionalIfCanBeUndefined.js +3 -0
  69. package/bin/tools/OptionalIfCanBeUndefined.js.map +1 -0
  70. package/bin/tools/SemVer.d.ts +26 -0
  71. package/bin/tools/{NpmModuleVersion.js → SemVer.js} +39 -23
  72. package/bin/tools/SemVer.js.map +1 -0
  73. package/bin/tools/String.prototype.replaceAll.d.ts +1 -0
  74. package/bin/tools/String.prototype.replaceAll.js +29 -0
  75. package/bin/tools/String.prototype.replaceAll.js.map +1 -0
  76. package/bin/tools/crawl.js +9 -9
  77. package/bin/tools/crawl.js.map +1 -1
  78. package/bin/tools/downloadAndUnzip.js +127 -32
  79. package/bin/tools/downloadAndUnzip.js.map +1 -1
  80. package/bin/tools/fs.rm.d.ts +8 -0
  81. package/bin/tools/fs.rm.js +151 -0
  82. package/bin/tools/fs.rm.js.map +1 -0
  83. package/bin/tools/fs.rmSync.d.ts +8 -0
  84. package/bin/tools/fs.rmSync.js +58 -0
  85. package/bin/tools/fs.rmSync.js.map +1 -0
  86. package/bin/tools/getAbsoluteAndInOsFormatPath.js +1 -0
  87. package/bin/tools/getAbsoluteAndInOsFormatPath.js.map +1 -1
  88. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +2 -3
  89. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js +6 -6
  90. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js.map +1 -1
  91. package/bin/tools/transformCodebase.d.ts +5 -1
  92. package/bin/tools/transformCodebase.js +31 -13
  93. package/bin/tools/transformCodebase.js.map +1 -1
  94. package/login/kcContext/getKcContextFromWindow.js +2 -2
  95. package/login/kcContext/getKcContextFromWindow.js.map +1 -1
  96. package/package.json +104 -53
  97. package/src/account/kcContext/getKcContextFromWindow.ts +2 -2
  98. package/src/bin/constants.ts +4 -1
  99. package/src/bin/copy-keycloak-resources-to-public.ts +2 -3
  100. package/src/bin/download-builtin-keycloak-theme.ts +161 -73
  101. package/src/bin/eject-keycloak-page.ts +1 -1
  102. package/src/bin/initialize-email-theme.ts +4 -3
  103. package/src/bin/keycloakify/buildOptions/buildOptions.ts +185 -0
  104. package/src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts +33 -0
  105. package/src/bin/keycloakify/buildOptions/index.ts +1 -0
  106. package/src/bin/keycloakify/{parsedPackageJson.ts → buildOptions/parsedPackageJson.ts} +4 -6
  107. package/src/bin/keycloakify/buildOptions/resolvedViteConfig.ts +85 -0
  108. package/src/bin/keycloakify/generateFtl/generateFtl.ts +12 -8
  109. package/src/bin/keycloakify/generatePom.ts +70 -0
  110. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +1 -1
  111. package/src/bin/keycloakify/generateTheme/bringInAccountV1.ts +83 -0
  112. package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +11 -52
  113. package/src/bin/keycloakify/generateTheme/generateTheme.ts +141 -51
  114. package/src/bin/keycloakify/keycloakify.ts +11 -58
  115. package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +3 -2
  116. package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +3 -2
  117. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/index.ts +1 -0
  118. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +66 -0
  119. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +85 -0
  120. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +90 -0
  121. package/src/bin/promptKeycloakVersion.ts +0 -1
  122. package/src/bin/tools/OptionalIfCanBeUndefined.ts +12 -0
  123. package/src/bin/tools/SemVer.ts +99 -0
  124. package/src/bin/tools/String.prototype.replaceAll.ts +30 -0
  125. package/src/bin/tools/crawl.ts +8 -8
  126. package/src/bin/tools/downloadAndUnzip.ts +78 -9
  127. package/src/bin/tools/fs.rm.ts +43 -0
  128. package/src/bin/tools/fs.rmSync.ts +34 -0
  129. package/src/bin/tools/getAbsoluteAndInOsFormatPath.ts +2 -0
  130. package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +9 -9
  131. package/src/bin/tools/transformCodebase.ts +35 -14
  132. package/src/login/kcContext/getKcContextFromWindow.ts +2 -2
  133. package/src/tsconfig.json +1 -1
  134. package/src/vite-plugin/config.json +232 -0
  135. package/src/vite-plugin/index.ts +1 -0
  136. package/src/vite-plugin/tsconfig.json +18 -0
  137. package/src/vite-plugin/vite-plugin.ts +128 -0
  138. package/vite-plugin/index.d.ts +1 -0
  139. package/vite-plugin/index.js +18 -0
  140. package/vite-plugin/index.js.map +1 -0
  141. package/vite-plugin/tsconfig.tsbuildinfo +1 -0
  142. package/vite-plugin/vite-plugin.d.ts +2 -0
  143. package/vite-plugin/vite-plugin.js +118 -0
  144. package/vite-plugin/vite-plugin.js.map +1 -0
  145. package/bin/getSrcDirPath.js.map +0 -1
  146. package/bin/keycloakify/BuildOptions.js +0 -113
  147. package/bin/keycloakify/BuildOptions.js.map +0 -1
  148. package/bin/keycloakify/ftlValuesGlobalName.d.ts +0 -1
  149. package/bin/keycloakify/ftlValuesGlobalName.js +0 -5
  150. package/bin/keycloakify/ftlValuesGlobalName.js.map +0 -1
  151. package/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js.map +0 -1
  152. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.d.ts +0 -16
  153. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js +0 -205
  154. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map +0 -1
  155. package/bin/keycloakify/generateJavaStackFiles/index.d.ts +0 -1
  156. package/bin/keycloakify/generateJavaStackFiles/index.js.map +0 -1
  157. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts +0 -15
  158. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js +0 -158
  159. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map +0 -1
  160. package/bin/keycloakify/parsedPackageJson.d.ts +0 -108
  161. package/bin/keycloakify/parsedPackageJson.js.map +0 -1
  162. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts +0 -5
  163. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js +0 -74
  164. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map +0 -1
  165. package/bin/tools/NpmModuleVersion.d.ts +0 -22
  166. package/bin/tools/NpmModuleVersion.js.map +0 -1
  167. package/src/bin/keycloakify/BuildOptions.ts +0 -157
  168. package/src/bin/keycloakify/ftlValuesGlobalName.ts +0 -1
  169. package/src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts +0 -101
  170. package/src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts +0 -141
  171. package/src/bin/keycloakify/generateJavaStackFiles/index.ts +0 -1
  172. package/src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts +0 -76
  173. package/src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts +0 -51
  174. package/src/bin/tools/NpmModuleVersion.ts +0 -73
  175. /package/bin/{getSrcDirPath.d.ts → getThemeSrcDirPath.d.ts} +0 -0
  176. /package/src/bin/{getSrcDirPath.ts → getThemeSrcDirPath.ts} +0 -0
@@ -83,17 +83,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
83
83
  }
84
84
  return to.concat(ar || Array.prototype.slice.call(from));
85
85
  };
86
- var __values = (this && this.__values) || function(o) {
87
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
88
- if (m) return m.call(o);
89
- if (o && typeof o.length === "number") return {
90
- next: function () {
91
- if (o && i >= o.length) o = void 0;
92
- return { value: o && o[i++], done: !o };
93
- }
94
- };
95
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
96
- };
97
86
  Object.defineProperty(exports, "__esModule", { value: true });
98
87
  exports.bringInAccountV1 = void 0;
99
88
  var fs = __importStar(require("fs"));
@@ -103,16 +92,16 @@ var Reflect_1 = require("tsafe/Reflect");
103
92
  var constants_1 = require("../../constants");
104
93
  var download_builtin_keycloak_theme_1 = require("../../download-builtin-keycloak-theme");
105
94
  var transformCodebase_1 = require("../../tools/transformCodebase");
95
+ var fs_rmSync_1 = require("../../tools/fs.rmSync");
106
96
  {
107
97
  var buildOptions = (0, Reflect_1.Reflect)();
108
98
  (0, assert_1.assert)();
109
99
  }
110
100
  function bringInAccountV1(params) {
111
101
  return __awaiter(this, void 0, void 0, function () {
112
- var buildOptions, builtinKeycloakThemeTmpDirPath, accountV1DirPath, commonResourceFilePaths, _a, _b, relativeFilePath, destFilePath, resourceFilePaths, _c, _d, relativeFilePath, destFilePath;
113
- var e_1, _e, e_2, _f;
114
- return __generator(this, function (_g) {
115
- switch (_g.label) {
102
+ var buildOptions, builtinKeycloakThemeTmpDirPath, accountV1DirPath;
103
+ return __generator(this, function (_a) {
104
+ switch (_a.label) {
116
105
  case 0:
117
106
  buildOptions = params.buildOptions;
118
107
  builtinKeycloakThemeTmpDirPath = (0, path_1.join)(buildOptions.keycloakifyBuildDirPath, "..", "tmp_yxdE2_builtin_keycloak_theme");
@@ -122,67 +111,32 @@ function bringInAccountV1(params) {
122
111
  buildOptions: buildOptions
123
112
  })];
124
113
  case 1:
125
- _g.sent();
126
- accountV1DirPath = (0, path_1.join)(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources", "theme", constants_1.accountV1, "account");
114
+ _a.sent();
115
+ accountV1DirPath = (0, path_1.join)(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources", "theme", constants_1.accountV1ThemeName, "account");
127
116
  (0, transformCodebase_1.transformCodebase)({
128
117
  "srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "base", "account"),
129
118
  "destDirPath": accountV1DirPath
130
119
  });
131
- commonResourceFilePaths = __spreadArray([
132
- "node_modules/patternfly/dist/css/patternfly.min.css",
133
- "node_modules/patternfly/dist/css/patternfly-additions.min.css"
134
- ], __read([
135
- "OpenSans-Light-webfont.woff2",
136
- "OpenSans-Regular-webfont.woff2",
137
- "OpenSans-Bold-webfont.woff2",
138
- "OpenSans-Semibold-webfont.woff2",
139
- "OpenSans-Bold-webfont.woff",
140
- "OpenSans-Light-webfont.woff",
141
- "OpenSans-Regular-webfont.woff",
142
- "OpenSans-Semibold-webfont.woff",
143
- "OpenSans-Regular-webfont.ttf",
144
- "OpenSans-Light-webfont.ttf",
145
- "OpenSans-Semibold-webfont.ttf",
146
- "OpenSans-Bold-webfont.ttf"
147
- ].map(function (path) { return "node_modules/patternfly/dist/fonts/".concat(path); })), false);
148
- try {
149
- for (_a = __values(commonResourceFilePaths.map(function (path) { return path_1.join.apply(void 0, __spreadArray([], __read(path.split("/")), false)); })), _b = _a.next(); !_b.done; _b = _a.next()) {
150
- relativeFilePath = _b.value;
151
- destFilePath = (0, path_1.join)(accountV1DirPath, "resources", constants_1.resources_common, relativeFilePath);
152
- fs.mkdirSync((0, path_1.dirname)(destFilePath), { "recursive": true });
153
- fs.cpSync((0, path_1.join)(builtinKeycloakThemeTmpDirPath, "keycloak", "common", "resources", relativeFilePath), destFilePath);
154
- }
155
- }
156
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
157
- finally {
158
- try {
159
- if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
160
- }
161
- finally { if (e_1) throw e_1.error; }
162
- }
163
- resourceFilePaths = ["css/account.css", "img/icon-sidebar-active.png", "img/logo.png"];
164
- try {
165
- for (_c = __values(resourceFilePaths.map(function (path) { return path_1.join.apply(void 0, __spreadArray([], __read(path.split("/")), false)); })), _d = _c.next(); !_d.done; _d = _c.next()) {
166
- relativeFilePath = _d.value;
167
- destFilePath = (0, path_1.join)(accountV1DirPath, "resources", relativeFilePath);
168
- fs.mkdirSync((0, path_1.dirname)(destFilePath), { "recursive": true });
169
- fs.cpSync((0, path_1.join)(builtinKeycloakThemeTmpDirPath, "keycloak", "account", "resources", relativeFilePath), destFilePath);
170
- }
171
- }
172
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
173
- finally {
174
- try {
175
- if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
176
- }
177
- finally { if (e_2) throw e_2.error; }
178
- }
179
- fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true });
120
+ (0, transformCodebase_1.transformCodebase)({
121
+ "srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "keycloak", "account", "resources"),
122
+ "destDirPath": (0, path_1.join)(accountV1DirPath, "resources")
123
+ });
124
+ (0, transformCodebase_1.transformCodebase)({
125
+ "srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "keycloak", "common", "resources"),
126
+ "destDirPath": (0, path_1.join)(accountV1DirPath, "resources", constants_1.resources_common)
127
+ });
128
+ (0, fs_rmSync_1.rmSync)(builtinKeycloakThemeTmpDirPath, { "recursive": true });
180
129
  fs.writeFileSync((0, path_1.join)(accountV1DirPath, "theme.properties"), Buffer.from([
181
130
  "accountResourceProvider=account-v1",
182
131
  "",
183
132
  "locales=ar,ca,cs,da,de,en,es,fr,fi,hu,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN",
184
133
  "",
185
- "styles=" + __spreadArray(__spreadArray([], __read(resourceFilePaths), false), __read(commonResourceFilePaths.map(function (path) { return "resources-common/".concat(path); })), false).join(" "),
134
+ "styles=" +
135
+ __spreadArray([
136
+ "css/account.css",
137
+ "img/icon-sidebar-active.png",
138
+ "img/logo.png"
139
+ ], __read(["patternfly.min.css", "patternfly-additions.min.css", "patternfly-additions.min.css"].map(function (fileBasename) { return "".concat(constants_1.resources_common, "/node_modules/patternfly/dist/css/").concat(fileBasename); })), false).join(" "),
186
140
  "",
187
141
  "##### css classes for form buttons",
188
142
  "# main class used for all buttons",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bringInAccountV1.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/bringInAccountV1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,6BAAwC;AACxC,uCAAsC;AACtC,yCAAwC;AAExC,6CAAyG;AACzG,yFAAqF;AACrF,mEAAkE;AAClE,mDAA+C;AAO/C;IACI,IAAM,YAAY,GAAG,IAAA,iBAAO,GAAgB,CAAC;IAE7C,IAAA,eAAM,GAA+D,CAAC;CACzE;AAED,SAAsB,gBAAgB,CAAC,MAA0C;;;;;;oBACrE,YAAY,GAAK,MAAM,aAAX,CAAY;oBAE1B,8BAA8B,GAAG,IAAA,WAAQ,EAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;oBAEhI,qBAAM,IAAA,8DAA4B,EAAC;4BAC/B,aAAa,EAAE,8BAA8B;4BAC7C,iBAAiB,EAAE,4CAAgC;4BACnD,YAAY,cAAA;yBACf,CAAC,EAAA;;oBAJF,SAIE,CAAC;oBAEG,gBAAgB,GAAG,IAAA,WAAQ,EAAC,YAAY,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,8BAAkB,EAAE,SAAS,CAAC,CAAC;oBAE5I,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,MAAM,EAAE,SAAS,CAAC;wBACzE,aAAa,EAAE,gBAAgB;qBAClC,CAAC,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;wBAC1F,aAAa,EAAE,IAAA,WAAQ,EAAC,gBAAgB,EAAE,WAAW,CAAC;qBACzD,CAAC,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;wBACzF,aAAa,EAAE,IAAA,WAAQ,EAAC,gBAAgB,EAAE,WAAW,EAAE,4BAAgB,CAAC;qBAC3E,CAAC,CAAC;oBAEH,IAAA,kBAAM,EAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE9D,EAAE,CAAC,aAAa,CACZ,IAAA,WAAQ,EAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAC9C,MAAM,CAAC,IAAI,CACP;wBACI,oCAAoC;wBACpC,EAAE;wBACF,iFAAiF;wBACjF,EAAE;wBACF,SAAS;4BACL;gCACI,iBAAiB;gCACjB,6BAA6B;gCAC7B,cAAc;sCACX,CAAC,oBAAoB,EAAE,8BAA8B,EAAE,8BAA8B,CAAC,CAAC,GAAG,CACzF,UAAA,YAAY,IAAI,OAAA,UAAG,4BAAgB,+CAAqC,YAAY,CAAE,EAAtE,CAAsE,CACzF,UACH,IAAI,CAAC,GAAG,CAAC;wBACf,EAAE;wBACF,oCAAoC;wBACpC,mCAAmC;wBACnC,mBAAmB;wBACnB,2HAA2H;wBAC3H,kCAAkC;wBAClC,kCAAkC;wBAClC,uCAAuC;wBACvC,2BAA2B;wBAC3B,EAAE;qBACL,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,MAAM,CACT,CACJ,CAAC;;;;;CACL;AA7DD,4CA6DC"}
@@ -6,8 +6,5 @@ export declare function downloadKeycloakStaticResources(params: {
6
6
  themeType: ThemeType;
7
7
  themeDirPath: string;
8
8
  keycloakVersion: string;
9
- usedResources: {
10
- resourcesCommonFilePaths: string[];
11
- } | undefined;
12
9
  buildOptions: BuildOptionsLike;
13
10
  }): Promise<void>;
@@ -61,40 +61,20 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
61
61
  Object.defineProperty(exports, "__esModule", { value: true });
62
62
  exports.downloadKeycloakStaticResources = void 0;
63
63
  var transformCodebase_1 = require("../../tools/transformCodebase");
64
- var fs = __importStar(require("fs"));
65
64
  var path_1 = require("path");
66
65
  var download_builtin_keycloak_theme_1 = require("../../download-builtin-keycloak-theme");
67
66
  var constants_1 = require("../../constants");
68
67
  var assert_1 = require("tsafe/assert");
69
68
  var crypto = __importStar(require("crypto"));
69
+ var fs_rmSync_1 = require("../../tools/fs.rmSync");
70
70
  (0, assert_1.assert)();
71
- function downloadKeycloakStaticResources(
72
- // prettier-ignore
73
- params) {
71
+ function downloadKeycloakStaticResources(params) {
74
72
  return __awaiter(this, void 0, void 0, function () {
75
- var themeType, themeDirPath, keycloakVersion, buildOptions, usedResources, tmpDirPath, resourcesPath;
73
+ var themeType, themeDirPath, keycloakVersion, buildOptions, tmpDirPath, resourcesPath;
76
74
  return __generator(this, function (_a) {
77
75
  switch (_a.label) {
78
76
  case 0:
79
77
  themeType = params.themeType, themeDirPath = params.themeDirPath, keycloakVersion = params.keycloakVersion, buildOptions = params.buildOptions;
80
- usedResources = (function () {
81
- var usedResources = params.usedResources;
82
- if (usedResources === undefined) {
83
- return undefined;
84
- }
85
- (0, assert_1.assert)(usedResources !== undefined);
86
- return {
87
- "resourcesCommonDirPaths": usedResources.resourcesCommonFilePaths.map(function (filePath) {
88
- {
89
- var splitArg = "/dist/";
90
- if (filePath.includes(splitArg)) {
91
- return filePath.split(splitArg)[0] + splitArg;
92
- }
93
- }
94
- return (0, path_1.dirname)(filePath);
95
- })
96
- };
97
- })();
98
78
  tmpDirPath = (0, path_1.join)(themeDirPath, "tmp_suLeKsxId_".concat(crypto.createHash("sha256").update("".concat(themeType, "-").concat(keycloakVersion)).digest("hex").slice(0, 8)));
99
79
  return [4 /*yield*/, (0, download_builtin_keycloak_theme_1.downloadBuiltinKeycloakTheme)({
100
80
  keycloakVersion: keycloakVersion,
@@ -110,18 +90,9 @@ params) {
110
90
  });
111
91
  (0, transformCodebase_1.transformCodebase)({
112
92
  "srcDirPath": (0, path_1.join)(tmpDirPath, "keycloak", "common", "resources"),
113
- "destDirPath": (0, path_1.join)(resourcesPath, constants_1.resources_common),
114
- "transformSourceCode": usedResources === undefined
115
- ? undefined
116
- : function (_a) {
117
- var fileRelativePath = _a.fileRelativePath, sourceCode = _a.sourceCode;
118
- if (usedResources.resourcesCommonDirPaths.find(function (dirPath) { return fileRelativePath.startsWith(dirPath); }) === undefined) {
119
- return undefined;
120
- }
121
- return { "modifiedSourceCode": sourceCode };
122
- }
93
+ "destDirPath": (0, path_1.join)(resourcesPath, constants_1.resources_common)
123
94
  });
124
- fs.rmSync(tmpDirPath, { "recursive": true, "force": true });
95
+ (0, fs_rmSync_1.rmSync)(tmpDirPath, { "recursive": true, "force": true });
125
96
  return [2 /*return*/];
126
97
  }
127
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"downloadKeycloakStaticResources.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,qCAAyB;AACzB,6BAAgE;AAChE,yFAAqF;AACrF,6CAAmE;AAEnE,uCAAsC;AACtC,6CAAiC;AAMjC,IAAA,eAAM,GAAwD,CAAC;AAE/D,SAAsB,+BAA+B;AACjD,kBAAkB;AAClB,MAQC;;;;;;oBAEO,SAAS,GAAkD,MAAM,UAAxD,EAAE,YAAY,GAAoC,MAAM,aAA1C,EAAE,eAAe,GAAmB,MAAM,gBAAzB,EAAE,YAAY,GAAK,MAAM,aAAX,CAAY;oBAGpE,aAAa,GAAG,CAAC;wBACX,IAAA,aAAa,GAAK,MAAM,cAAX,CAAY;wBAEjC,IAAI,aAAa,KAAK,SAAS,EAAE;4BAC7B,OAAO,SAAS,CAAC;yBACpB;wBAED,IAAA,eAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;wBAEpC,OAAO;4BACH,yBAAyB,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAA,QAAQ;gCAC1E;oCACI,IAAM,QAAQ,GAAG,QAAQ,CAAC;oCAE1B,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wCAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;qCACjD;iCACJ;gCAED,OAAO,IAAA,cAAW,EAAC,QAAQ,CAAC,CAAC;4BACjC,CAAC,CAAC;yBACL,CAAC;oBACN,CAAC,CAAC,EAAE,CAAC;oBAEC,UAAU,GAAG,IAAA,WAAQ,EACvB,YAAY,EACZ,wBAAiB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAG,SAAS,cAAI,eAAe,CAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CACrH,CAAC;oBAEF,qBAAM,IAAA,8DAA4B,EAAC;4BAC/B,eAAe,iBAAA;4BACf,aAAa,EAAE,UAAU;4BACzB,YAAY,cAAA;yBACf,CAAC,EAAA;;oBAJF,SAIE,CAAC;oBAEG,aAAa,GAAG,IAAA,WAAQ,EAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;oBAErE,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;wBACtE,aAAa,EAAE,aAAa;qBAC/B,CAAC,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;wBACrE,aAAa,EAAE,IAAA,WAAQ,EAAC,aAAa,EAAE,4BAAgB,CAAC;wBACxD,qBAAqB,EACjB,aAAa,KAAK,SAAS;4BACvB,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,UAAC,EAAgC;oCAA9B,gBAAgB,sBAAA,EAAE,UAAU,gBAAA;gCAC3B,IAAI,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAA,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAApC,CAAoC,CAAC,KAAK,SAAS,EAAE;oCAC3G,OAAO,SAAS,CAAC;iCACpB;gCAED,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;4BAChD,CAAC;qBACd,CAAC,CAAC;oBAEH,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;CAC/D;AAzED,0EAyEC"}
1
+ {"version":3,"file":"downloadKeycloakStaticResources.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAkE;AAClE,6BAAwC;AACxC,yFAAqF;AACrF,6CAAmE;AAEnE,uCAAsC;AACtC,6CAAiC;AACjC,mDAA+C;AAM/C,IAAA,eAAM,GAAwD,CAAC;AAE/D,SAAsB,+BAA+B,CAAC,MAKrD;;;;;;oBACW,SAAS,GAAkD,MAAM,UAAxD,EAAE,YAAY,GAAoC,MAAM,aAA1C,EAAE,eAAe,GAAmB,MAAM,gBAAzB,EAAE,YAAY,GAAK,MAAM,aAAX,CAAY;oBAEpE,UAAU,GAAG,IAAA,WAAQ,EACvB,YAAY,EACZ,wBAAiB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAG,SAAS,cAAI,eAAe,CAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CACrH,CAAC;oBAEF,qBAAM,IAAA,8DAA4B,EAAC;4BAC/B,eAAe,iBAAA;4BACf,aAAa,EAAE,UAAU;4BACzB,YAAY,cAAA;yBACf,CAAC,EAAA;;oBAJF,SAIE,CAAC;oBAEG,aAAa,GAAG,IAAA,WAAQ,EAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;oBAErE,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;wBACtE,aAAa,EAAE,aAAa;qBAC/B,CAAC,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;wBACrE,aAAa,EAAE,IAAA,WAAQ,EAAC,aAAa,EAAE,4BAAgB,CAAC;qBAC3D,CAAC,CAAC;oBAEH,IAAA,kBAAM,EAAC,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;CAC5D;AAhCD,0EAgCC"}
@@ -1,12 +1,15 @@
1
1
  export type BuildOptionsLike = {
2
+ bundler: "vite" | "webpack";
2
3
  extraThemeProperties: string[] | undefined;
3
4
  themeVersion: string;
4
5
  loginThemeResourcesFromKeycloakVersion: string;
5
- urlPathname: string | undefined;
6
6
  keycloakifyBuildDirPath: string;
7
7
  reactAppBuildDirPath: string;
8
8
  cacheDirPath: string;
9
+ assetsDirPath: string;
10
+ urlPathname: string | undefined;
9
11
  doBuildRetrocompatAccountTheme: boolean;
12
+ themeNames: string[];
10
13
  };
11
14
  export declare function generateTheme(params: {
12
15
  themeName: string;
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -110,7 +99,7 @@ exports.generateTheme = void 0;
110
99
  var transformCodebase_1 = require("../../tools/transformCodebase");
111
100
  var fs = __importStar(require("fs"));
112
101
  var path_1 = require("path");
113
- var replaceImportsFromStaticInJsCode_1 = require("../replacers/replaceImportsFromStaticInJsCode");
102
+ var replaceImportsInJsCode_1 = require("../replacers/replaceImportsInJsCode");
114
103
  var replaceImportsInCssCode_1 = require("../replacers/replaceImportsInCssCode");
115
104
  var generateFtl_1 = require("../generateFtl");
116
105
  var constants_1 = require("../../constants");
@@ -120,43 +109,55 @@ var downloadKeycloakStaticResources_1 = require("./downloadKeycloakStaticResourc
120
109
  var readFieldNameUsage_1 = require("./readFieldNameUsage");
121
110
  var readExtraPageNames_1 = require("./readExtraPageNames");
122
111
  var generateMessageProperties_1 = require("./generateMessageProperties");
123
- var readStaticResourcesUsage_1 = require("./readStaticResourcesUsage");
112
+ var bringInAccountV1_1 = require("./bringInAccountV1");
124
113
  (0, assert_1.assert)();
125
114
  function generateTheme(params) {
126
115
  var _a;
127
116
  return __awaiter(this, void 0, void 0, function () {
128
- var themeName, themeSrcDirPath, keycloakifySrcDirPath, buildOptions, keycloakifyVersion, getThemeTypeDirPath, allCssGlobalsToDefine, generateFtlFilesCode_glob, _loop_1, themeTypes_1, themeTypes_1_1, themeType, e_1_1, emailThemeSrcDirPath;
129
- var e_1, _b;
130
- return __generator(this, function (_c) {
131
- switch (_c.label) {
117
+ var themeName, themeSrcDirPath, keycloakifySrcDirPath, buildOptions, keycloakifyVersion, getThemeTypeDirPath, cssGlobalsToDefine, implementedThemeTypes, _loop_1, _b, _c, themeType, e_1_1, emailThemeSrcDirPath, parsedKeycloakThemeJson, keycloakThemeJsonFilePath;
118
+ var e_1, _d;
119
+ return __generator(this, function (_e) {
120
+ switch (_e.label) {
132
121
  case 0:
133
122
  themeName = params.themeName, themeSrcDirPath = params.themeSrcDirPath, keycloakifySrcDirPath = params.keycloakifySrcDirPath, buildOptions = params.buildOptions, keycloakifyVersion = params.keycloakifyVersion;
134
123
  getThemeTypeDirPath = function (params) {
135
124
  var themeType = params.themeType, _a = params.isRetrocompat, isRetrocompat = _a === void 0 ? false : _a;
136
125
  return (0, path_1.join)(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources", "theme", "".concat(themeName).concat(isRetrocompat ? constants_1.retrocompatPostfix : ""), themeType);
137
126
  };
138
- allCssGlobalsToDefine = {};
139
- generateFtlFilesCode_glob = undefined;
127
+ cssGlobalsToDefine = {};
128
+ implementedThemeTypes = {
129
+ "login": false,
130
+ "account": false,
131
+ "email": false
132
+ };
140
133
  _loop_1 = function (themeType) {
141
- var themeTypeDirPath, isFirstPass_1, generateFtlFilesCode;
142
- return __generator(this, function (_d) {
143
- switch (_d.label) {
134
+ var themeTypeDirPath, generateFtlFilesCode;
135
+ return __generator(this, function (_g) {
136
+ switch (_g.label) {
144
137
  case 0:
145
138
  if (!fs.existsSync((0, path_1.join)(themeSrcDirPath, themeType))) {
146
139
  return [2 /*return*/, "continue"];
147
140
  }
141
+ implementedThemeTypes[themeType] = true;
148
142
  themeTypeDirPath = getThemeTypeDirPath({ themeType: themeType });
149
- copy_app_resources_to_theme_path: {
150
- isFirstPass_1 = themeType.indexOf(themeType) === 0;
151
- if (!isFirstPass_1) {
152
- break copy_app_resources_to_theme_path;
143
+ apply_replacers_and_move_to_theme_resources: {
144
+ if (themeType === "account" && implementedThemeTypes.login) {
145
+ // NOTE: We prevend doing it twice, it has been done for the login theme.
146
+ (0, transformCodebase_1.transformCodebase)({
147
+ "srcDirPath": (0, path_1.join)(getThemeTypeDirPath({
148
+ "themeType": "login"
149
+ }), "resources", constants_1.basenameOfTheKeycloakifyResourcesDir),
150
+ "destDirPath": (0, path_1.join)(themeTypeDirPath, "resources", constants_1.basenameOfTheKeycloakifyResourcesDir)
151
+ });
152
+ break apply_replacers_and_move_to_theme_resources;
153
153
  }
154
154
  (0, transformCodebase_1.transformCodebase)({
155
- "destDirPath": (0, path_1.join)(themeTypeDirPath, "resources", "build"),
156
155
  "srcDirPath": buildOptions.reactAppBuildDirPath,
156
+ "destDirPath": (0, path_1.join)(themeTypeDirPath, "resources", constants_1.basenameOfTheKeycloakifyResourcesDir),
157
157
  "transformSourceCode": function (_a) {
158
158
  var filePath = _a.filePath, sourceCode = _a.sourceCode;
159
159
  //NOTE: Prevent cycles, excludes the folder we generated for debug in public/
160
+ // This should not happen if users follow the new instruction setup but we keep it for retrocompatibility.
160
161
  if ((0, isInside_1.isInside)({
161
162
  "dirPath": (0, path_1.join)(buildOptions.reactAppBuildDirPath, constants_1.keycloak_resources),
162
163
  filePath: filePath
@@ -166,18 +167,17 @@ function generateTheme(params) {
166
167
  if (/\.css?$/i.test(filePath)) {
167
168
  var _b = (0, replaceImportsInCssCode_1.replaceImportsInCssCode)({
168
169
  "cssCode": sourceCode.toString("utf8")
169
- }), cssGlobalsToDefine = _b.cssGlobalsToDefine, fixedCssCode = _b.fixedCssCode;
170
- register_css_variables: {
171
- if (!isFirstPass_1) {
172
- break register_css_variables;
173
- }
174
- allCssGlobalsToDefine = __assign(__assign({}, allCssGlobalsToDefine), cssGlobalsToDefine);
175
- }
170
+ }), cssGlobalsToDefineForThisFile = _b.cssGlobalsToDefine, fixedCssCode = _b.fixedCssCode;
171
+ Object.entries(cssGlobalsToDefineForThisFile).forEach(function (_a) {
172
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
173
+ cssGlobalsToDefine[key] = value;
174
+ });
176
175
  return { "modifiedSourceCode": Buffer.from(fixedCssCode, "utf8") };
177
176
  }
178
177
  if (/\.js?$/i.test(filePath)) {
179
- var fixedJsCode = (0, replaceImportsFromStaticInJsCode_1.replaceImportsFromStaticInJsCode)({
180
- "jsCode": sourceCode.toString("utf8")
178
+ var fixedJsCode = (0, replaceImportsInJsCode_1.replaceImportsInJsCode)({
179
+ "jsCode": sourceCode.toString("utf8"),
180
+ buildOptions: buildOptions
181
181
  }).fixedJsCode;
182
182
  return { "modifiedSourceCode": Buffer.from(fixedJsCode, "utf8") };
183
183
  }
@@ -185,21 +185,19 @@ function generateTheme(params) {
185
185
  }
186
186
  });
187
187
  }
188
- generateFtlFilesCode = generateFtlFilesCode_glob !== undefined
189
- ? generateFtlFilesCode_glob
190
- : (0, generateFtl_1.generateFtlFilesCodeFactory)({
191
- themeName: themeName,
192
- "indexHtmlCode": fs.readFileSync((0, path_1.join)(buildOptions.reactAppBuildDirPath, "index.html")).toString("utf8"),
193
- "cssGlobalsToDefine": allCssGlobalsToDefine,
194
- buildOptions: buildOptions,
195
- keycloakifyVersion: keycloakifyVersion,
196
- themeType: themeType,
197
- "fieldNames": (0, readFieldNameUsage_1.readFieldNameUsage)({
198
- keycloakifySrcDirPath: keycloakifySrcDirPath,
199
- themeSrcDirPath: themeSrcDirPath,
200
- themeType: themeType
201
- })
202
- }).generateFtlFilesCode;
188
+ generateFtlFilesCode = (0, generateFtl_1.generateFtlFilesCodeFactory)({
189
+ themeName: themeName,
190
+ "indexHtmlCode": fs.readFileSync((0, path_1.join)(buildOptions.reactAppBuildDirPath, "index.html")).toString("utf8"),
191
+ cssGlobalsToDefine: cssGlobalsToDefine,
192
+ buildOptions: buildOptions,
193
+ keycloakifyVersion: keycloakifyVersion,
194
+ themeType: themeType,
195
+ "fieldNames": (0, readFieldNameUsage_1.readFieldNameUsage)({
196
+ keycloakifySrcDirPath: keycloakifySrcDirPath,
197
+ themeSrcDirPath: themeSrcDirPath,
198
+ themeType: themeType
199
+ })
200
+ }).generateFtlFilesCode;
203
201
  __spreadArray(__spreadArray([], __read((function () {
204
202
  switch (themeType) {
205
203
  case "login":
@@ -236,20 +234,15 @@ function generateTheme(params) {
236
234
  })(),
237
235
  "themeDirPath": (0, path_1.resolve)((0, path_1.join)(themeTypeDirPath, "..")),
238
236
  themeType: themeType,
239
- "usedResources": (0, readStaticResourcesUsage_1.readStaticResourcesUsage)({
240
- keycloakifySrcDirPath: keycloakifySrcDirPath,
241
- themeSrcDirPath: themeSrcDirPath,
242
- themeType: themeType
243
- }),
244
237
  buildOptions: buildOptions
245
238
  })];
246
239
  case 1:
247
- _d.sent();
240
+ _g.sent();
248
241
  fs.writeFileSync((0, path_1.join)(themeTypeDirPath, "theme.properties"), Buffer.from(__spreadArray([
249
242
  "parent=".concat((function () {
250
243
  switch (themeType) {
251
244
  case "account":
252
- return constants_1.accountV1;
245
+ return constants_1.accountV1ThemeName;
253
246
  case "login":
254
247
  return "keycloak";
255
248
  }
@@ -264,7 +257,7 @@ function generateTheme(params) {
264
257
  var filePath = _a.filePath, sourceCode = _a.sourceCode;
265
258
  if ((0, path_1.basename)(filePath) === "theme.properties") {
266
259
  return {
267
- "modifiedSourceCode": Buffer.from(sourceCode.toString("utf8").replace("parent=".concat(constants_1.accountV1), "parent=keycloak"), "utf8")
260
+ "modifiedSourceCode": Buffer.from(sourceCode.toString("utf8").replace("parent=".concat(constants_1.accountV1ThemeName), "parent=keycloak"), "utf8")
268
261
  };
269
262
  }
270
263
  return { "modifiedSourceCode": sourceCode };
@@ -275,29 +268,29 @@ function generateTheme(params) {
275
268
  }
276
269
  });
277
270
  };
278
- _c.label = 1;
271
+ _e.label = 1;
279
272
  case 1:
280
- _c.trys.push([1, 6, 7, 8]);
281
- themeTypes_1 = __values(constants_1.themeTypes), themeTypes_1_1 = themeTypes_1.next();
282
- _c.label = 2;
273
+ _e.trys.push([1, 6, 7, 8]);
274
+ _b = __values(["login", "account"]), _c = _b.next();
275
+ _e.label = 2;
283
276
  case 2:
284
- if (!!themeTypes_1_1.done) return [3 /*break*/, 5];
285
- themeType = themeTypes_1_1.value;
277
+ if (!!_c.done) return [3 /*break*/, 5];
278
+ themeType = _c.value;
286
279
  return [5 /*yield**/, _loop_1(themeType)];
287
280
  case 3:
288
- _c.sent();
289
- _c.label = 4;
281
+ _e.sent();
282
+ _e.label = 4;
290
283
  case 4:
291
- themeTypes_1_1 = themeTypes_1.next();
284
+ _c = _b.next();
292
285
  return [3 /*break*/, 2];
293
286
  case 5: return [3 /*break*/, 8];
294
287
  case 6:
295
- e_1_1 = _c.sent();
288
+ e_1_1 = _e.sent();
296
289
  e_1 = { error: e_1_1 };
297
290
  return [3 /*break*/, 8];
298
291
  case 7:
299
292
  try {
300
- if (themeTypes_1_1 && !themeTypes_1_1.done && (_b = themeTypes_1.return)) _b.call(themeTypes_1);
293
+ if (_c && !_c.done && (_d = _b.return)) _d.call(_b);
301
294
  }
302
295
  finally { if (e_1) throw e_1.error; }
303
296
  return [7 /*endfinally*/];
@@ -307,11 +300,71 @@ function generateTheme(params) {
307
300
  if (!fs.existsSync(emailThemeSrcDirPath)) {
308
301
  break email;
309
302
  }
303
+ implementedThemeTypes.email = true;
310
304
  (0, transformCodebase_1.transformCodebase)({
311
305
  "srcDirPath": emailThemeSrcDirPath,
312
306
  "destDirPath": getThemeTypeDirPath({ "themeType": "email" })
313
307
  });
314
308
  }
309
+ parsedKeycloakThemeJson = { "themes": [] };
310
+ buildOptions.themeNames.forEach(function (themeName) {
311
+ return parsedKeycloakThemeJson.themes.push({
312
+ "name": themeName,
313
+ "types": Object.entries(implementedThemeTypes)
314
+ .filter(function (_a) {
315
+ var _b = __read(_a, 2), isImplemented = _b[1];
316
+ return isImplemented;
317
+ })
318
+ .map(function (_a) {
319
+ var _b = __read(_a, 1), themeType = _b[0];
320
+ return themeType;
321
+ })
322
+ });
323
+ });
324
+ if (!implementedThemeTypes.account) {
325
+ return [3 /*break*/, 10];
326
+ }
327
+ return [4 /*yield*/, (0, bringInAccountV1_1.bringInAccountV1)({ buildOptions: buildOptions })];
328
+ case 9:
329
+ _e.sent();
330
+ parsedKeycloakThemeJson.themes.push({
331
+ "name": constants_1.accountV1ThemeName,
332
+ "types": ["account"]
333
+ });
334
+ add_retrocompat_account_theme: {
335
+ if (!buildOptions.doBuildRetrocompatAccountTheme) {
336
+ break add_retrocompat_account_theme;
337
+ }
338
+ (0, transformCodebase_1.transformCodebase)({
339
+ "srcDirPath": getThemeTypeDirPath({ "themeType": "account" }),
340
+ "destDirPath": getThemeTypeDirPath({ "themeType": "account", "isRetrocompat": true }),
341
+ "transformSourceCode": function (_a) {
342
+ var filePath = _a.filePath, sourceCode = _a.sourceCode;
343
+ if ((0, path_1.basename)(filePath) === "theme.properties") {
344
+ return {
345
+ "modifiedSourceCode": Buffer.from(sourceCode.toString("utf8").replace("parent=".concat(constants_1.accountV1ThemeName), "parent=keycloak"), "utf8")
346
+ };
347
+ }
348
+ return { "modifiedSourceCode": sourceCode };
349
+ }
350
+ });
351
+ buildOptions.themeNames.forEach(function (themeName) {
352
+ return parsedKeycloakThemeJson.themes.push({
353
+ "name": "".concat(themeName).concat(constants_1.retrocompatPostfix),
354
+ "types": ["account"]
355
+ });
356
+ });
357
+ }
358
+ _e.label = 10;
359
+ case 10:
360
+ {
361
+ keycloakThemeJsonFilePath = (0, path_1.join)(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources", "META-INF", "keycloak-themes.json");
362
+ try {
363
+ fs.mkdirSync((0, path_1.dirname)(keycloakThemeJsonFilePath));
364
+ }
365
+ catch (_f) { }
366
+ fs.writeFileSync(keycloakThemeJsonFilePath, Buffer.from(JSON.stringify(parsedKeycloakThemeJson, null, 2), "utf8"));
367
+ }
315
368
  return [2 /*return*/];
316
369
  }
317
370
  });
@@ -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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"}