keycloakify 9.3.1 → 9.4.0-rc.0

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 +98 -31
  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 +30 -19
  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 +96 -48
  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 +11 -4
  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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "9.3.1",
3
+ "version": "9.4.0-rc.0",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,37 +75,44 @@
75
75
  "src/bin/copy-keycloak-resources-to-public.ts",
76
76
  "src/bin/download-builtin-keycloak-theme.ts",
77
77
  "src/bin/eject-keycloak-page.ts",
78
- "src/bin/getSrcDirPath.ts",
78
+ "src/bin/getThemeSrcDirPath.ts",
79
79
  "src/bin/initialize-email-theme.ts",
80
- "src/bin/keycloakify/BuildOptions.ts",
81
- "src/bin/keycloakify/ftlValuesGlobalName.ts",
80
+ "src/bin/keycloakify/buildOptions/buildOptions.ts",
81
+ "src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts",
82
+ "src/bin/keycloakify/buildOptions/index.ts",
83
+ "src/bin/keycloakify/buildOptions/parsedPackageJson.ts",
84
+ "src/bin/keycloakify/buildOptions/resolvedViteConfig.ts",
82
85
  "src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
83
86
  "src/bin/keycloakify/generateFtl/generateFtl.ts",
84
87
  "src/bin/keycloakify/generateFtl/index.ts",
85
88
  "src/bin/keycloakify/generateFtl/pageId.ts",
86
- "src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts",
87
- "src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts",
88
- "src/bin/keycloakify/generateJavaStackFiles/index.ts",
89
+ "src/bin/keycloakify/generatePom.ts",
89
90
  "src/bin/keycloakify/generateStartKeycloakTestingContainer.ts",
91
+ "src/bin/keycloakify/generateTheme/bringInAccountV1.ts",
90
92
  "src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
91
93
  "src/bin/keycloakify/generateTheme/generateMessageProperties.ts",
92
94
  "src/bin/keycloakify/generateTheme/generateTheme.ts",
93
95
  "src/bin/keycloakify/generateTheme/index.ts",
94
96
  "src/bin/keycloakify/generateTheme/readExtraPageNames.ts",
95
97
  "src/bin/keycloakify/generateTheme/readFieldNameUsage.ts",
96
- "src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts",
97
98
  "src/bin/keycloakify/index.ts",
98
99
  "src/bin/keycloakify/keycloakify.ts",
99
- "src/bin/keycloakify/parsedPackageJson.ts",
100
- "src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts",
101
100
  "src/bin/keycloakify/replacers/replaceImportsInCssCode.ts",
102
101
  "src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts",
102
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/index.ts",
103
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts",
104
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts",
105
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts",
103
106
  "src/bin/promptKeycloakVersion.ts",
104
- "src/bin/tools/NpmModuleVersion.ts",
107
+ "src/bin/tools/OptionalIfCanBeUndefined.ts",
108
+ "src/bin/tools/SemVer.ts",
109
+ "src/bin/tools/String.prototype.replaceAll.ts",
105
110
  "src/bin/tools/crawl.ts",
106
111
  "src/bin/tools/crc32.ts",
107
112
  "src/bin/tools/deflate.ts",
108
113
  "src/bin/tools/downloadAndUnzip.ts",
114
+ "src/bin/tools/fs.rm.ts",
115
+ "src/bin/tools/fs.rmSync.ts",
109
116
  "src/bin/tools/getAbsoluteAndInOsFormatPath.ts",
110
117
  "src/bin/tools/getProjectRoot.ts",
111
118
  "src/bin/tools/grant-exec-perms.ts",
@@ -212,6 +219,10 @@
212
219
  "src/tools/useConst.ts",
213
220
  "src/tools/useConstCallback.ts",
214
221
  "src/tsconfig.json",
222
+ "src/vite-plugin/config.json",
223
+ "src/vite-plugin/index.ts",
224
+ "src/vite-plugin/tsconfig.json",
225
+ "src/vite-plugin/vite-plugin.ts",
215
226
  "account/Fallback.d.ts",
216
227
  "account/Fallback.js",
217
228
  "account/Fallback.js.map",
@@ -353,18 +364,27 @@
353
364
  "bin/eject-keycloak-page.d.ts",
354
365
  "bin/eject-keycloak-page.js",
355
366
  "bin/eject-keycloak-page.js.map",
356
- "bin/getSrcDirPath.d.ts",
357
- "bin/getSrcDirPath.js",
358
- "bin/getSrcDirPath.js.map",
367
+ "bin/getThemeSrcDirPath.d.ts",
368
+ "bin/getThemeSrcDirPath.js",
369
+ "bin/getThemeSrcDirPath.js.map",
359
370
  "bin/initialize-email-theme.d.ts",
360
371
  "bin/initialize-email-theme.js",
361
372
  "bin/initialize-email-theme.js.map",
362
- "bin/keycloakify/BuildOptions.d.ts",
363
- "bin/keycloakify/BuildOptions.js",
364
- "bin/keycloakify/BuildOptions.js.map",
365
- "bin/keycloakify/ftlValuesGlobalName.d.ts",
366
- "bin/keycloakify/ftlValuesGlobalName.js",
367
- "bin/keycloakify/ftlValuesGlobalName.js.map",
373
+ "bin/keycloakify/buildOptions/buildOptions.d.ts",
374
+ "bin/keycloakify/buildOptions/buildOptions.js",
375
+ "bin/keycloakify/buildOptions/buildOptions.js.map",
376
+ "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts",
377
+ "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js",
378
+ "bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map",
379
+ "bin/keycloakify/buildOptions/index.d.ts",
380
+ "bin/keycloakify/buildOptions/index.js",
381
+ "bin/keycloakify/buildOptions/index.js.map",
382
+ "bin/keycloakify/buildOptions/parsedPackageJson.d.ts",
383
+ "bin/keycloakify/buildOptions/parsedPackageJson.js",
384
+ "bin/keycloakify/buildOptions/parsedPackageJson.js.map",
385
+ "bin/keycloakify/buildOptions/resolvedViteConfig.d.ts",
386
+ "bin/keycloakify/buildOptions/resolvedViteConfig.js",
387
+ "bin/keycloakify/buildOptions/resolvedViteConfig.js.map",
368
388
  "bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
369
389
  "bin/keycloakify/generateFtl/generateFtl.d.ts",
370
390
  "bin/keycloakify/generateFtl/generateFtl.js",
@@ -375,18 +395,15 @@
375
395
  "bin/keycloakify/generateFtl/pageId.d.ts",
376
396
  "bin/keycloakify/generateFtl/pageId.js",
377
397
  "bin/keycloakify/generateFtl/pageId.js.map",
378
- "bin/keycloakify/generateJavaStackFiles/bringInAccountV1.d.ts",
379
- "bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js",
380
- "bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js.map",
381
- "bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.d.ts",
382
- "bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js",
383
- "bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map",
384
- "bin/keycloakify/generateJavaStackFiles/index.d.ts",
385
- "bin/keycloakify/generateJavaStackFiles/index.js",
386
- "bin/keycloakify/generateJavaStackFiles/index.js.map",
398
+ "bin/keycloakify/generatePom.d.ts",
399
+ "bin/keycloakify/generatePom.js",
400
+ "bin/keycloakify/generatePom.js.map",
387
401
  "bin/keycloakify/generateStartKeycloakTestingContainer.d.ts",
388
402
  "bin/keycloakify/generateStartKeycloakTestingContainer.js",
389
403
  "bin/keycloakify/generateStartKeycloakTestingContainer.js.map",
404
+ "bin/keycloakify/generateTheme/bringInAccountV1.d.ts",
405
+ "bin/keycloakify/generateTheme/bringInAccountV1.js",
406
+ "bin/keycloakify/generateTheme/bringInAccountV1.js.map",
390
407
  "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts",
391
408
  "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js",
392
409
  "bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map",
@@ -405,33 +422,42 @@
405
422
  "bin/keycloakify/generateTheme/readFieldNameUsage.d.ts",
406
423
  "bin/keycloakify/generateTheme/readFieldNameUsage.js",
407
424
  "bin/keycloakify/generateTheme/readFieldNameUsage.js.map",
408
- "bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts",
409
- "bin/keycloakify/generateTheme/readStaticResourcesUsage.js",
410
- "bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map",
411
425
  "bin/keycloakify/index.d.ts",
412
426
  "bin/keycloakify/index.js",
413
427
  "bin/keycloakify/index.js.map",
414
428
  "bin/keycloakify/keycloakify.d.ts",
415
429
  "bin/keycloakify/keycloakify.js",
416
430
  "bin/keycloakify/keycloakify.js.map",
417
- "bin/keycloakify/parsedPackageJson.d.ts",
418
- "bin/keycloakify/parsedPackageJson.js",
419
- "bin/keycloakify/parsedPackageJson.js.map",
420
- "bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts",
421
- "bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js",
422
- "bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map",
423
431
  "bin/keycloakify/replacers/replaceImportsInCssCode.d.ts",
424
432
  "bin/keycloakify/replacers/replaceImportsInCssCode.js",
425
433
  "bin/keycloakify/replacers/replaceImportsInCssCode.js.map",
426
434
  "bin/keycloakify/replacers/replaceImportsInInlineCssCode.d.ts",
427
435
  "bin/keycloakify/replacers/replaceImportsInInlineCssCode.js",
428
436
  "bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map",
437
+ "bin/keycloakify/replacers/replaceImportsInJsCode/index.d.ts",
438
+ "bin/keycloakify/replacers/replaceImportsInJsCode/index.js",
439
+ "bin/keycloakify/replacers/replaceImportsInJsCode/index.js.map",
440
+ "bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.d.ts",
441
+ "bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js",
442
+ "bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js.map",
443
+ "bin/keycloakify/replacers/replaceImportsInJsCode/vite.d.ts",
444
+ "bin/keycloakify/replacers/replaceImportsInJsCode/vite.js",
445
+ "bin/keycloakify/replacers/replaceImportsInJsCode/vite.js.map",
446
+ "bin/keycloakify/replacers/replaceImportsInJsCode/webpack.d.ts",
447
+ "bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js",
448
+ "bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js.map",
429
449
  "bin/promptKeycloakVersion.d.ts",
430
450
  "bin/promptKeycloakVersion.js",
431
451
  "bin/promptKeycloakVersion.js.map",
432
- "bin/tools/NpmModuleVersion.d.ts",
433
- "bin/tools/NpmModuleVersion.js",
434
- "bin/tools/NpmModuleVersion.js.map",
452
+ "bin/tools/OptionalIfCanBeUndefined.d.ts",
453
+ "bin/tools/OptionalIfCanBeUndefined.js",
454
+ "bin/tools/OptionalIfCanBeUndefined.js.map",
455
+ "bin/tools/SemVer.d.ts",
456
+ "bin/tools/SemVer.js",
457
+ "bin/tools/SemVer.js.map",
458
+ "bin/tools/String.prototype.replaceAll.d.ts",
459
+ "bin/tools/String.prototype.replaceAll.js",
460
+ "bin/tools/String.prototype.replaceAll.js.map",
435
461
  "bin/tools/crawl.d.ts",
436
462
  "bin/tools/crawl.js",
437
463
  "bin/tools/crawl.js.map",
@@ -444,6 +470,12 @@
444
470
  "bin/tools/downloadAndUnzip.d.ts",
445
471
  "bin/tools/downloadAndUnzip.js",
446
472
  "bin/tools/downloadAndUnzip.js.map",
473
+ "bin/tools/fs.rm.d.ts",
474
+ "bin/tools/fs.rm.js",
475
+ "bin/tools/fs.rm.js.map",
476
+ "bin/tools/fs.rmSync.d.ts",
477
+ "bin/tools/fs.rmSync.js",
478
+ "bin/tools/fs.rmSync.js.map",
447
479
  "bin/tools/getAbsoluteAndInOsFormatPath.d.ts",
448
480
  "bin/tools/getAbsoluteAndInOsFormatPath.js",
449
481
  "bin/tools/getAbsoluteAndInOsFormatPath.js.map",
@@ -755,37 +787,44 @@
755
787
  "src/bin/copy-keycloak-resources-to-public.ts",
756
788
  "src/bin/download-builtin-keycloak-theme.ts",
757
789
  "src/bin/eject-keycloak-page.ts",
758
- "src/bin/getSrcDirPath.ts",
790
+ "src/bin/getThemeSrcDirPath.ts",
759
791
  "src/bin/initialize-email-theme.ts",
760
- "src/bin/keycloakify/BuildOptions.ts",
761
- "src/bin/keycloakify/ftlValuesGlobalName.ts",
792
+ "src/bin/keycloakify/buildOptions/buildOptions.ts",
793
+ "src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts",
794
+ "src/bin/keycloakify/buildOptions/index.ts",
795
+ "src/bin/keycloakify/buildOptions/parsedPackageJson.ts",
796
+ "src/bin/keycloakify/buildOptions/resolvedViteConfig.ts",
762
797
  "src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
763
798
  "src/bin/keycloakify/generateFtl/generateFtl.ts",
764
799
  "src/bin/keycloakify/generateFtl/index.ts",
765
800
  "src/bin/keycloakify/generateFtl/pageId.ts",
766
- "src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts",
767
- "src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts",
768
- "src/bin/keycloakify/generateJavaStackFiles/index.ts",
801
+ "src/bin/keycloakify/generatePom.ts",
769
802
  "src/bin/keycloakify/generateStartKeycloakTestingContainer.ts",
803
+ "src/bin/keycloakify/generateTheme/bringInAccountV1.ts",
770
804
  "src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts",
771
805
  "src/bin/keycloakify/generateTheme/generateMessageProperties.ts",
772
806
  "src/bin/keycloakify/generateTheme/generateTheme.ts",
773
807
  "src/bin/keycloakify/generateTheme/index.ts",
774
808
  "src/bin/keycloakify/generateTheme/readExtraPageNames.ts",
775
809
  "src/bin/keycloakify/generateTheme/readFieldNameUsage.ts",
776
- "src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts",
777
810
  "src/bin/keycloakify/index.ts",
778
811
  "src/bin/keycloakify/keycloakify.ts",
779
- "src/bin/keycloakify/parsedPackageJson.ts",
780
- "src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts",
781
812
  "src/bin/keycloakify/replacers/replaceImportsInCssCode.ts",
782
813
  "src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts",
814
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/index.ts",
815
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts",
816
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts",
817
+ "src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts",
783
818
  "src/bin/promptKeycloakVersion.ts",
784
- "src/bin/tools/NpmModuleVersion.ts",
819
+ "src/bin/tools/OptionalIfCanBeUndefined.ts",
820
+ "src/bin/tools/SemVer.ts",
821
+ "src/bin/tools/String.prototype.replaceAll.ts",
785
822
  "src/bin/tools/crawl.ts",
786
823
  "src/bin/tools/crc32.ts",
787
824
  "src/bin/tools/deflate.ts",
788
825
  "src/bin/tools/downloadAndUnzip.ts",
826
+ "src/bin/tools/fs.rm.ts",
827
+ "src/bin/tools/fs.rmSync.ts",
789
828
  "src/bin/tools/getAbsoluteAndInOsFormatPath.ts",
790
829
  "src/bin/tools/getProjectRoot.ts",
791
830
  "src/bin/tools/grant-exec-perms.ts",
@@ -892,6 +931,10 @@
892
931
  "src/tools/useConst.ts",
893
932
  "src/tools/useConstCallback.ts",
894
933
  "src/tsconfig.json",
934
+ "src/vite-plugin/config.json",
935
+ "src/vite-plugin/index.ts",
936
+ "src/vite-plugin/tsconfig.json",
937
+ "src/vite-plugin/vite-plugin.ts",
895
938
  "tools/AndByDiscriminatingKey.d.ts",
896
939
  "tools/AndByDiscriminatingKey.js",
897
940
  "tools/AndByDiscriminatingKey.js.map",
@@ -939,7 +982,14 @@
939
982
  "tools/useConst.js.map",
940
983
  "tools/useConstCallback.d.ts",
941
984
  "tools/useConstCallback.js",
942
- "tools/useConstCallback.js.map"
985
+ "tools/useConstCallback.js.map",
986
+ "vite-plugin/index.d.ts",
987
+ "vite-plugin/index.js",
988
+ "vite-plugin/index.js.map",
989
+ "vite-plugin/tsconfig.tsbuildinfo",
990
+ "vite-plugin/vite-plugin.d.ts",
991
+ "vite-plugin/vite-plugin.js",
992
+ "vite-plugin/vite-plugin.js.map"
943
993
  ],
944
994
  "keywords": [
945
995
  "bluehats",
@@ -993,7 +1043,8 @@
993
1043
  "tss-react": "^4.8.2",
994
1044
  "typescript": "^4.9.1-beta",
995
1045
  "vitest": "^0.29.8",
996
- "zod-to-json-schema": "^3.20.4"
1046
+ "zod-to-json-schema": "^3.20.4",
1047
+ "vite": "^5.0.12"
997
1048
  },
998
1049
  "dependencies": {
999
1050
  "@babel/generator": "^7.22.9",
@@ -1,5 +1,5 @@
1
1
  import type { AndByDiscriminatingKey } from "keycloakify/tools/AndByDiscriminatingKey";
2
- import { ftlValuesGlobalName } from "keycloakify/bin/keycloakify/ftlValuesGlobalName";
2
+ import { nameOfTheGlobal } from "keycloakify/bin/constants";
3
3
  import type { KcContext } from "./KcContext";
4
4
 
5
5
  export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [KcContextExtension] extends [never]
@@ -7,5 +7,5 @@ export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [Kc
7
7
  : AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>;
8
8
 
9
9
  export function getKcContextFromWindow<KcContextExtension extends { pageId: string } = never>(): ExtendKcContext<KcContextExtension> | undefined {
10
- return typeof window === "undefined" ? undefined : (window as any)[ftlValuesGlobalName];
10
+ return typeof window === "undefined" ? undefined : (window as any)[nameOfTheGlobal];
11
11
  }
@@ -1,9 +1,12 @@
1
+ export const nameOfTheGlobal = "kcContext";
1
2
  export const keycloak_resources = "keycloak-resources";
2
3
  export const resources_common = "resources-common";
3
4
  export const lastKeycloakVersionWithAccountV1 = "21.1.2";
5
+ export const resolvedViteConfigJsonBasename = ".keycloakifyViteConfig.json";
6
+ export const basenameOfTheKeycloakifyResourcesDir = "build";
4
7
 
5
8
  export const themeTypes = ["login", "account"] as const;
6
9
  export const retrocompatPostfix = "_retrocompat";
7
- export const accountV1 = "account-v1";
10
+ export const accountV1ThemeName = "account-v1";
8
11
 
9
12
  export type ThemeType = (typeof themeTypes)[number];
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { downloadKeycloakStaticResources } from "./keycloakify/generateTheme/downloadKeycloakStaticResources";
4
4
  import { join as pathJoin, relative as pathRelative } from "path";
5
- import { readBuildOptions } from "./keycloakify/BuildOptions";
5
+ import { readBuildOptions } from "./keycloakify/buildOptions";
6
6
  import { themeTypes, keycloak_resources, lastKeycloakVersionWithAccountV1 } from "./constants";
7
7
  import * as fs from "fs";
8
8
 
@@ -28,7 +28,6 @@ import * as fs from "fs";
28
28
  })(),
29
29
  themeType,
30
30
  "themeDirPath": reservedDirPath,
31
- "usedResources": undefined,
32
31
  buildOptions
33
32
  });
34
33
  }
@@ -44,7 +43,7 @@ import * as fs from "fs";
44
43
  )
45
44
  );
46
45
 
47
- fs.writeFileSync(pathJoin(buildOptions.publicDirPath, "keycloak-resources", ".gitignore"), Buffer.from("*", "utf8"));
46
+ fs.writeFileSync(pathJoin(buildOptions.publicDirPath, keycloak_resources, ".gitignore"), Buffer.from("*", "utf8"));
48
47
 
49
48
  console.log(`${pathRelative(reactAppRootDirPath, reservedDirPath)} directory created.`);
50
49
  })();
@@ -3,11 +3,13 @@ import { join as pathJoin } from "path";
3
3
  import { downloadAndUnzip } from "./tools/downloadAndUnzip";
4
4
  import { promptKeycloakVersion } from "./promptKeycloakVersion";
5
5
  import { getLogger } from "./tools/logger";
6
- import { readBuildOptions } from "./keycloakify/BuildOptions";
6
+ import { readBuildOptions, type BuildOptions } from "./keycloakify/buildOptions";
7
7
  import { assert } from "tsafe/assert";
8
- import type { BuildOptions } from "./keycloakify/BuildOptions";
9
8
  import * as child_process from "child_process";
10
9
  import * as fs from "fs";
10
+ import { rmSync } from "./tools/fs.rmSync";
11
+ import { lastKeycloakVersionWithAccountV1 } from "./constants";
12
+ import { transformCodebase } from "./tools/transformCodebase";
11
13
 
12
14
  export type BuildOptionsLike = {
13
15
  cacheDirPath: string;
@@ -27,51 +29,6 @@ export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: st
27
29
  "preCacheTransform": {
28
30
  "actionCacheId": "npm install and build",
29
31
  "action": async ({ destDirPath }) => {
30
- fix_account_css: {
31
- const accountCssFilePath = pathJoin(destDirPath, "keycloak", "account", "resources", "css", "account.css");
32
-
33
- if (!fs.existsSync(accountCssFilePath)) {
34
- break fix_account_css;
35
- }
36
-
37
- fs.writeFileSync(
38
- accountCssFilePath,
39
- Buffer.from(fs.readFileSync(accountCssFilePath).toString("utf8").replace("top: -34px;", "top: -34px !important;"), "utf8")
40
- );
41
- }
42
-
43
- fix_account_topt: {
44
- const totpFtlFilePath = pathJoin(destDirPath, "base", "account", "totp.ftl");
45
-
46
- if (!fs.existsSync(totpFtlFilePath)) {
47
- break fix_account_topt;
48
- }
49
-
50
- fs.writeFileSync(
51
- totpFtlFilePath,
52
- Buffer.from(
53
- fs
54
- .readFileSync(totpFtlFilePath)
55
- .toString("utf8")
56
- .replace(
57
- [
58
- " <#list totp.policy.supportedApplications as app>",
59
- " <li>${app}</li>",
60
- " </#list>"
61
- ].join("\n"),
62
- [
63
- " <#if totp.policy.supportedApplications?has_content>",
64
- " <#list totp.policy.supportedApplications as app>",
65
- " <li>${app}</li>",
66
- " </#list>",
67
- " </#if>"
68
- ].join("\n")
69
- ),
70
- "utf8"
71
- )
72
- );
73
- }
74
-
75
32
  install_common_node_modules: {
76
33
  const commonResourcesDirPath = pathJoin(destDirPath, "keycloak", "common", "resources");
77
34
 
@@ -129,7 +86,98 @@ export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: st
129
86
 
130
87
  fs.writeFileSync(packageJsonFilePath, packageJsonRaw);
131
88
 
132
- fs.rmSync(pathJoin(accountV2DirSrcDirPath, "node_modules"), { "recursive": true });
89
+ rmSync(pathJoin(accountV2DirSrcDirPath, "node_modules"), { "recursive": true });
90
+ }
91
+
92
+ last_account_v1_transformations: {
93
+ if (lastKeycloakVersionWithAccountV1 !== keycloakVersion) {
94
+ break last_account_v1_transformations;
95
+ }
96
+
97
+ {
98
+ const accountCssFilePath = pathJoin(destDirPath, "keycloak", "account", "resources", "css", "account.css");
99
+
100
+ fs.writeFileSync(
101
+ accountCssFilePath,
102
+ Buffer.from(fs.readFileSync(accountCssFilePath).toString("utf8").replace("top: -34px;", "top: -34px !important;"), "utf8")
103
+ );
104
+ }
105
+
106
+ {
107
+ const totpFtlFilePath = pathJoin(destDirPath, "base", "account", "totp.ftl");
108
+
109
+ fs.writeFileSync(
110
+ totpFtlFilePath,
111
+ Buffer.from(
112
+ fs
113
+ .readFileSync(totpFtlFilePath)
114
+ .toString("utf8")
115
+ .replace(
116
+ [
117
+ " <#list totp.policy.supportedApplications as app>",
118
+ " <li>${app}</li>",
119
+ " </#list>"
120
+ ].join("\n"),
121
+ [
122
+ " <#if totp.policy.supportedApplications?has_content>",
123
+ " <#list totp.policy.supportedApplications as app>",
124
+ " <li>${app}</li>",
125
+ " </#list>",
126
+ " </#if>"
127
+ ].join("\n")
128
+ ),
129
+ "utf8"
130
+ )
131
+ );
132
+ }
133
+
134
+ // Note, this is an optimization for reducing the size of the jar
135
+ {
136
+ const defaultThemeCommonResourcesDirPath = pathJoin(destDirPath, "keycloak", "common", "resources");
137
+
138
+ const usedCommonResourceRelativeFilePaths = [
139
+ ...["patternfly.min.css", "patternfly-additions.min.css", "patternfly-additions.min.css"].map(fileBasename =>
140
+ pathJoin("node_modules", "patternfly", "dist", "css", fileBasename)
141
+ ),
142
+ ...[
143
+ "OpenSans-Light-webfont.woff2",
144
+ "OpenSans-Regular-webfont.woff2",
145
+ "OpenSans-Bold-webfont.woff2",
146
+ "OpenSans-Semibold-webfont.woff2",
147
+ "OpenSans-Bold-webfont.woff",
148
+ "OpenSans-Light-webfont.woff",
149
+ "OpenSans-Regular-webfont.woff",
150
+ "OpenSans-Semibold-webfont.woff",
151
+ "OpenSans-Regular-webfont.ttf",
152
+ "OpenSans-Light-webfont.ttf",
153
+ "OpenSans-Semibold-webfont.ttf",
154
+ "OpenSans-Bold-webfont.ttf"
155
+ ].map(fileBasename => pathJoin("node_modules", "patternfly", "dist", "fonts", fileBasename))
156
+ ];
157
+
158
+ transformCodebase({
159
+ "srcDirPath": defaultThemeCommonResourcesDirPath,
160
+ "destDirPath": defaultThemeCommonResourcesDirPath,
161
+ "transformSourceCode": ({ sourceCode, fileRelativePath }) => {
162
+ if (!usedCommonResourceRelativeFilePaths.includes(fileRelativePath)) {
163
+ return undefined;
164
+ }
165
+
166
+ return { "modifiedSourceCode": sourceCode };
167
+ }
168
+ });
169
+ }
170
+
171
+ // Other optimization: Remove AngularJS
172
+ {
173
+ const nodeModuleDirPath = pathJoin(destDirPath, "keycloak", "common", "resources", "node_modules");
174
+
175
+ fs.readdirSync(nodeModuleDirPath)
176
+ .filter(basename => basename.startsWith("angular"))
177
+ .map(basename => pathJoin(nodeModuleDirPath, basename))
178
+ .filter(dirPath => fs.statSync(dirPath).isDirectory())
179
+ .forEach(dirPath => rmSync(dirPath, { "recursive": true }));
180
+ }
133
181
  }
134
182
  }
135
183
  }
@@ -9,7 +9,7 @@ import { existsSync } from "fs";
9
9
  import { join as pathJoin, relative as pathRelative } from "path";
10
10
  import { kebabCaseToCamelCase } from "./tools/kebabCaseToSnakeCase";
11
11
  import { assert, Equals } from "tsafe/assert";
12
- import { getThemeSrcDirPath } from "./getSrcDirPath";
12
+ import { getThemeSrcDirPath } from "./getThemeSrcDirPath";
13
13
  import { themeTypes, type ThemeType } from "./constants";
14
14
 
15
15
  (async () => {
@@ -4,10 +4,11 @@ import { downloadBuiltinKeycloakTheme } from "./download-builtin-keycloak-theme"
4
4
  import { join as pathJoin, relative as pathRelative } from "path";
5
5
  import { transformCodebase } from "./tools/transformCodebase";
6
6
  import { promptKeycloakVersion } from "./promptKeycloakVersion";
7
- import { readBuildOptions } from "./keycloakify/BuildOptions";
7
+ import { readBuildOptions } from "./keycloakify/buildOptions";
8
8
  import * as fs from "fs";
9
9
  import { getLogger } from "./tools/logger";
10
- import { getThemeSrcDirPath } from "./getSrcDirPath";
10
+ import { getThemeSrcDirPath } from "./getThemeSrcDirPath";
11
+ import { rmSync } from "./tools/fs.rmSync";
11
12
 
12
13
  export async function main() {
13
14
  const reactAppRootDirPath = process.cwd();
@@ -54,7 +55,7 @@ export async function main() {
54
55
 
55
56
  logger.log(`${pathRelative(process.cwd(), emailThemeSrcDirPath)} ready to be customized, feel free to remove every file you do not customize`);
56
57
 
57
- fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
58
+ rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
58
59
  }
59
60
 
60
61
  if (require.main === module) {