keycloakify 7.16.0-rc.1 → 8.0.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 (143) hide show
  1. package/README.md +3 -3
  2. package/account/Template.js +5 -3
  3. package/account/Template.js.map +1 -1
  4. package/account/kcContext/kcContextMocks.js +0 -4
  5. package/account/kcContext/kcContextMocks.js.map +1 -1
  6. package/bin/copy-keycloak-resources-to-public.js +3 -2
  7. package/bin/copy-keycloak-resources-to-public.js.map +1 -1
  8. package/bin/download-builtin-keycloak-theme.d.ts +1 -1
  9. package/bin/download-builtin-keycloak-theme.js +84 -11
  10. package/bin/download-builtin-keycloak-theme.js.map +1 -1
  11. package/bin/initialize-email-theme.js +6 -5
  12. package/bin/initialize-email-theme.js.map +1 -1
  13. package/bin/keycloakify/BuildOptions.d.ts +18 -36
  14. package/bin/keycloakify/BuildOptions.js +71 -145
  15. package/bin/keycloakify/BuildOptions.js.map +1 -1
  16. package/bin/keycloakify/generateFtl/generateFtl.d.ts +5 -25
  17. package/bin/keycloakify/generateFtl/generateFtl.js +7 -11
  18. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  19. package/bin/keycloakify/{generateJavaStackFiles/generateJavaStackFiles.d.ts → generateJavaStackFiles.d.ts} +3 -4
  20. package/bin/keycloakify/generateJavaStackFiles.js +103 -0
  21. package/bin/keycloakify/generateJavaStackFiles.js.map +1 -0
  22. package/bin/keycloakify/generateStartKeycloakTestingContainer.js +1 -5
  23. package/bin/keycloakify/generateStartKeycloakTestingContainer.js.map +1 -1
  24. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +5 -1
  25. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +24 -6
  26. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
  27. package/bin/keycloakify/generateTheme/generateTheme.d.ts +8 -28
  28. package/bin/keycloakify/generateTheme/generateTheme.js +22 -33
  29. package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
  30. package/bin/keycloakify/generateTheme/readFieldNameUsage.js +1 -2
  31. package/bin/keycloakify/generateTheme/readFieldNameUsage.js.map +1 -1
  32. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts +17 -0
  33. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js +172 -0
  34. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map +1 -0
  35. package/bin/keycloakify/keycloakify.js +17 -17
  36. package/bin/keycloakify/keycloakify.js.map +1 -1
  37. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts +0 -11
  38. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js +6 -27
  39. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map +1 -1
  40. package/bin/keycloakify/replacers/replaceImportsInCssCode.js +1 -7
  41. package/bin/keycloakify/replacers/replaceImportsInCssCode.js.map +1 -1
  42. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.d.ts +3 -13
  43. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js +5 -12
  44. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map +1 -1
  45. package/bin/tools/downloadAndUnzip.d.ts +13 -2
  46. package/bin/tools/downloadAndUnzip.js +81 -15
  47. package/bin/tools/downloadAndUnzip.js.map +1 -1
  48. package/bin/tools/transformCodebase.d.ts +1 -0
  49. package/bin/tools/transformCodebase.js +6 -5
  50. package/bin/tools/transformCodebase.js.map +1 -1
  51. package/bin/tools/unzip.d.ts +2 -1
  52. package/bin/tools/unzip.js +129 -11
  53. package/bin/tools/unzip.js.map +1 -1
  54. package/lib/usePrepareTemplate.d.ts +0 -5
  55. package/lib/usePrepareTemplate.js +4 -10
  56. package/lib/usePrepareTemplate.js.map +1 -1
  57. package/login/Template.js +5 -6
  58. package/login/Template.js.map +1 -1
  59. package/login/kcContext/KcContext.d.ts +1 -1
  60. package/login/kcContext/kcContextMocks.js +1 -5
  61. package/login/kcContext/kcContextMocks.js.map +1 -1
  62. package/login/pages/Login.js +16 -20
  63. package/login/pages/Login.js.map +1 -1
  64. package/login/pages/LoginOtp.js +1 -2
  65. package/login/pages/LoginOtp.js.map +1 -1
  66. package/package.json +11 -77
  67. package/src/account/Template.tsx +5 -3
  68. package/src/account/kcContext/kcContextMocks.ts +0 -4
  69. package/src/bin/copy-keycloak-resources-to-public.ts +3 -2
  70. package/src/bin/download-builtin-keycloak-theme.ts +71 -14
  71. package/src/bin/initialize-email-theme.ts +6 -4
  72. package/src/bin/keycloakify/BuildOptions.ts +99 -192
  73. package/src/bin/keycloakify/generateFtl/generateFtl.ts +16 -45
  74. package/src/bin/keycloakify/generateJavaStackFiles.ts +84 -0
  75. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +1 -6
  76. package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +30 -6
  77. package/src/bin/keycloakify/generateTheme/generateTheme.ts +34 -69
  78. package/src/bin/keycloakify/generateTheme/readFieldNameUsage.ts +1 -4
  79. package/src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts +83 -0
  80. package/src/bin/keycloakify/keycloakify.ts +2 -1
  81. package/src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts +9 -51
  82. package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +1 -9
  83. package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +5 -29
  84. package/src/bin/tools/downloadAndUnzip.ts +99 -15
  85. package/src/bin/tools/transformCodebase.ts +7 -6
  86. package/src/bin/tools/unzip.ts +57 -8
  87. package/src/lib/usePrepareTemplate.ts +13 -24
  88. package/src/login/Template.tsx +5 -6
  89. package/src/login/kcContext/KcContext.ts +1 -1
  90. package/src/login/kcContext/kcContextMocks.ts +1 -5
  91. package/src/login/pages/Login.tsx +31 -34
  92. package/src/login/pages/LoginOtp.tsx +1 -2
  93. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountPages.java +0 -33
  94. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProvider.java +0 -76
  95. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProviderFactory.java +0 -25
  96. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountSpi.java +0 -50
  97. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProvider.java +0 -424
  98. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProviderFactory.java +0 -51
  99. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/Templates.java +0 -51
  100. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountBean.java +0 -91
  101. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountFederatedIdentityBean.java +0 -157
  102. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ApplicationsBean.java +0 -258
  103. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AuthorizationBean.java +0 -515
  104. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/FeaturesBean.java +0 -56
  105. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/LogBean.java +0 -95
  106. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/PasswordBean.java +0 -34
  107. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/RealmBean.java +0 -75
  108. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ReferrerBean.java +0 -38
  109. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/SessionsBean.java +0 -93
  110. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/TotpBean.java +0 -125
  111. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/UrlBean.java +0 -121
  112. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/AccountUrls.java +0 -115
  113. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormService.java +0 -1320
  114. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormServiceFactory.java +0 -64
  115. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js +0 -298
  116. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map +0 -1
  117. package/bin/keycloakify/generateJavaStackFiles/index.d.ts +0 -1
  118. package/bin/keycloakify/generateJavaStackFiles/index.js +0 -18
  119. package/bin/keycloakify/generateJavaStackFiles/index.js.map +0 -1
  120. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountPages.java +0 -33
  121. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProvider.java +0 -76
  122. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProviderFactory.java +0 -25
  123. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountSpi.java +0 -50
  124. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProvider.java +0 -424
  125. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProviderFactory.java +0 -51
  126. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/Templates.java +0 -51
  127. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountBean.java +0 -91
  128. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountFederatedIdentityBean.java +0 -157
  129. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ApplicationsBean.java +0 -258
  130. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AuthorizationBean.java +0 -515
  131. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/FeaturesBean.java +0 -56
  132. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/LogBean.java +0 -95
  133. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/PasswordBean.java +0 -34
  134. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/RealmBean.java +0 -75
  135. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ReferrerBean.java +0 -38
  136. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/SessionsBean.java +0 -93
  137. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/TotpBean.java +0 -125
  138. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/UrlBean.java +0 -121
  139. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/AccountUrls.java +0 -115
  140. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormService.java +0 -1320
  141. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormServiceFactory.java +0 -64
  142. package/src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts +0 -249
  143. package/src/bin/keycloakify/generateJavaStackFiles/index.ts +0 -1
@@ -1,64 +0,0 @@
1
- package org.keycloak.services.resources.account;
2
-
3
- import com.google.auto.service.AutoService;
4
- import com.google.common.collect.ImmutableMap;
5
- import com.google.common.collect.ImmutableSet;
6
- import java.util.Map;
7
- import lombok.extern.jbosslog.JBossLog;
8
- import org.keycloak.Config.Scope;
9
- import org.keycloak.events.EventBuilder;
10
- import org.keycloak.models.ClientModel;
11
- import org.keycloak.models.KeycloakSession;
12
- import org.keycloak.models.KeycloakSessionFactory;
13
- import org.keycloak.models.ProtocolMapperModel;
14
- import org.keycloak.models.RealmModel;
15
- import org.keycloak.provider.ProviderEvent;
16
- import org.keycloak.services.resource.AccountResourceProvider;
17
- import org.keycloak.services.resource.AccountResourceProviderFactory;
18
- import jakarta.ws.rs.NotFoundException;
19
- import org.keycloak.models.Constants;
20
-
21
- @JBossLog
22
- @AutoService(AccountResourceProviderFactory.class)
23
- public class AccountFormServiceFactory implements AccountResourceProviderFactory {
24
-
25
- public static final String ID = "account-v1";
26
-
27
- @Override
28
- public String getId() {
29
- return ID;
30
- }
31
-
32
- private ClientModel getAccountManagementClient(RealmModel realm) {
33
- ClientModel client = realm.getClientByClientId(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
34
- if (client == null || !client.isEnabled()) {
35
- log.debug("account management not enabled");
36
- throw new NotFoundException("account management not enabled");
37
- }
38
- return client;
39
- }
40
-
41
- @Override
42
- public AccountResourceProvider create(KeycloakSession session) {
43
- log.info("create");
44
- RealmModel realm = session.getContext().getRealm();
45
- ClientModel client = getAccountManagementClient(realm);
46
- EventBuilder event = new EventBuilder​(realm, session, session.getContext().getConnection());
47
- return new AccountFormService(session, client, event);
48
- }
49
-
50
- @Override
51
- public void init(Scope config) {
52
- log.info("init");
53
- }
54
-
55
- @Override
56
- public void postInit(KeycloakSessionFactory factory) {
57
- log.info("postInit");
58
- }
59
-
60
- @Override
61
- public void close() {
62
- log.info("close");
63
- }
64
- }
@@ -1,249 +0,0 @@
1
- import * as fs from "fs";
2
- import { join as pathJoin, dirname as pathDirname, basename as pathBasename } from "path";
3
- import { assert } from "tsafe/assert";
4
- import { Reflect } from "tsafe/Reflect";
5
- import type { BuildOptions } from "../BuildOptions";
6
- import type { ThemeType } from "../generateFtl";
7
- import { downloadBuiltinKeycloakTheme } from "../../download-builtin-keycloak-theme";
8
- import { transformCodebase } from "../../tools/transformCodebase";
9
-
10
- export type BuildOptionsLike = {
11
- themeName: string;
12
- extraThemeNames: string[];
13
- groupId: string;
14
- artifactId: string;
15
- themeVersion: string;
16
- };
17
-
18
- {
19
- const buildOptions = Reflect<BuildOptions>();
20
-
21
- assert<typeof buildOptions extends BuildOptionsLike ? true : false>();
22
- }
23
-
24
- export const accountV1Keycloak = "account-v1-keycloak";
25
-
26
- export async function generateJavaStackFiles(params: {
27
- keycloakThemeBuildingDirPath: string;
28
- implementedThemeTypes: Record<ThemeType | "email", boolean>;
29
- buildOptions: BuildOptionsLike;
30
- }): Promise<{
31
- jarFilePath: string;
32
- }> {
33
- const {
34
- buildOptions: { groupId, themeName, extraThemeNames, themeVersion, artifactId },
35
- keycloakThemeBuildingDirPath,
36
- implementedThemeTypes
37
- } = params;
38
-
39
- {
40
- const { pomFileCode } = (function generatePomFileCode(): {
41
- pomFileCode: string;
42
- } {
43
- const pomFileCode = [
44
- `<?xml version="1.0"?>`,
45
- `<project xmlns="http://maven.apache.org/POM/4.0.0"`,
46
- ` xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"`,
47
- ` xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">`,
48
- ` <modelVersion>4.0.0</modelVersion>`,
49
- ` <groupId>${groupId}</groupId>`,
50
- ` <artifactId>${artifactId}</artifactId>`,
51
- ` <version>${themeVersion}</version>`,
52
- ` <name>${artifactId}</name>`,
53
- ` <description />`,
54
- ` <packaging>jar</packaging>`,
55
- ` <properties>`,
56
- ` <java.version>17</java.version>`,
57
- ` <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>`,
58
- ` <keycloak.version>999.0.0-SNAPSHOT</keycloak.version>`,
59
- ` <guava.version>32.0.0-jre</guava.version>`,
60
- ` <lombok.version>1.18.28</lombok.version>`,
61
- ` <auto-service.version>1.1.1</auto-service.version>`,
62
- ` </properties>`,
63
- ` <build>`,
64
- ` <plugins>`,
65
- ` <plugin>`,
66
- ` <artifactId>maven-compiler-plugin</artifactId>`,
67
- ` <version>3.11.0</version>`,
68
- ` <configuration>`,
69
- ` <source>\${java.version}</source>`,
70
- ` <target>\${java.version}</target>`,
71
- ` <compilerArgument>-Xlint:unchecked</compilerArgument>`,
72
- ` <compilerArgument>-Xlint:deprecation</compilerArgument>`,
73
- ` <useIncrementalCompilation>false</useIncrementalCompilation>`,
74
- ` <annotationProcessorPaths>`,
75
- ` <path>`,
76
- ` <groupId>com.google.auto.service</groupId>`,
77
- ` <artifactId>auto-service</artifactId>`,
78
- ` <version>\${auto-service.version}</version>`,
79
- ` </path>`,
80
- ` <path>`,
81
- ` <groupId>org.projectlombok</groupId>`,
82
- ` <artifactId>lombok</artifactId>`,
83
- ` <version>\${lombok.version}</version>`,
84
- ` </path>`,
85
- ` </annotationProcessorPaths>`,
86
- ` </configuration>`,
87
- ` </plugin>`,
88
- ` <plugin>`,
89
- ` <groupId>org.apache.maven.plugins</groupId>`,
90
- ` <artifactId>maven-jar-plugin</artifactId>`,
91
- ` <version>3.2.0</version>`,
92
- ` <configuration>`,
93
- ` <archive>`,
94
- ` <manifestEntries>`,
95
- ` <Dependencies>`,
96
- ` <![CDATA[org.keycloak.keycloak-common,org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private,org.keycloak.keycloak-services,com.google.guava]]>`,
97
- ` </Dependencies>`,
98
- ` </manifestEntries>`,
99
- ` </archive>`,
100
- ` </configuration>`,
101
- ` </plugin>`,
102
- ` <plugin>`,
103
- ` <groupId>com.spotify.fmt</groupId>`,
104
- ` <artifactId>fmt-maven-plugin</artifactId>`,
105
- ` <version>2.20</version>`,
106
- ` </plugin>`,
107
- ` </plugins>`,
108
- ` </build>`,
109
- ` <dependencies>`,
110
- ` <dependency>`,
111
- ` <groupId>org.projectlombok</groupId>`,
112
- ` <artifactId>lombok</artifactId>`,
113
- ` <version>\${lombok.version}</version>`,
114
- ` <scope>provided</scope>`,
115
- ` </dependency>`,
116
- ` <dependency>`,
117
- ` <groupId>com.google.auto.service</groupId>`,
118
- ` <artifactId>auto-service</artifactId>`,
119
- ` <version>\${auto-service.version}</version>`,
120
- ` <scope>provided</scope>`,
121
- ` </dependency>`,
122
- ` <dependency>`,
123
- ` <groupId>org.keycloak</groupId>`,
124
- ` <artifactId>keycloak-server-spi</artifactId>`,
125
- ` <version>\${keycloak.version}</version>`,
126
- ` <scope>provided</scope>`,
127
- ` </dependency>`,
128
- ` <dependency>`,
129
- ` <groupId>org.keycloak</groupId>`,
130
- ` <artifactId>keycloak-server-spi-private</artifactId>`,
131
- ` <version>\${keycloak.version}</version>`,
132
- ` <scope>provided</scope>`,
133
- ` </dependency>`,
134
- ` <dependency>`,
135
- ` <groupId>org.keycloak</groupId>`,
136
- ` <artifactId>keycloak-services</artifactId>`,
137
- ` <version>\${keycloak.version}</version>`,
138
- ` <scope>provided</scope>`,
139
- ` </dependency>`,
140
- ` <dependency>`,
141
- ` <groupId>jakarta.ws.rs</groupId>`,
142
- ` <artifactId>jakarta.ws.rs-api</artifactId>`,
143
- ` <version>3.1.0</version>`,
144
- ` <scope>provided</scope>`,
145
- ` </dependency>`,
146
- ` <dependency>`,
147
- ` <groupId>com.google.guava</groupId>`,
148
- ` <artifactId>guava</artifactId>`,
149
- ` <version>\${guava.version}</version>`,
150
- ` <scope>provided</scope>`,
151
- ` </dependency>`,
152
- ` </dependencies>`,
153
- `</project>`
154
- ].join("\n");
155
-
156
- return { pomFileCode };
157
- })();
158
-
159
- fs.writeFileSync(pathJoin(keycloakThemeBuildingDirPath, "pom.xml"), Buffer.from(pomFileCode, "utf8"));
160
- }
161
-
162
- const accountV1 = "account-v1";
163
-
164
- {
165
- const builtinKeycloakThemeTmpDirPath = pathJoin(keycloakThemeBuildingDirPath, "..", "tmp_yxdE2_builtin_keycloak_theme");
166
-
167
- await downloadBuiltinKeycloakTheme({
168
- "destDirPath": builtinKeycloakThemeTmpDirPath,
169
- "isSilent": true,
170
- "keycloakVersion": "21.1.2"
171
- });
172
-
173
- transformCodebase({
174
- "srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "base", "account"),
175
- "destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", accountV1, "account")
176
- });
177
-
178
- transformCodebase({
179
- "srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "keycloak", "common"),
180
- "destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", accountV1Keycloak, "common")
181
- });
182
-
183
- transformCodebase({
184
- "srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "keycloak", "account"),
185
- "destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", accountV1Keycloak, "account"),
186
- "transformSourceCode": ({ sourceCode, filePath }) => {
187
- if (pathBasename(filePath) === "theme.properties") {
188
- sourceCode = Buffer.from(sourceCode.toString("utf8").replace("parent=base", `parent=${accountV1}`), "utf8");
189
- sourceCode = Buffer.from(
190
- sourceCode.toString("utf8").replace("import=common/keycloak", `import=common/${accountV1Keycloak}`),
191
- "utf8"
192
- );
193
- }
194
-
195
- return {
196
- "modifiedSourceCode": sourceCode
197
- };
198
- }
199
- });
200
-
201
- fs.rmdirSync(builtinKeycloakThemeTmpDirPath, { "recursive": true });
202
- }
203
-
204
- transformCodebase({
205
- "srcDirPath": pathJoin(__dirname, "account-v1-java"),
206
- "destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "java", "org", "keycloak")
207
- });
208
-
209
- {
210
- const themeManifestFilePath = pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "META-INF", "keycloak-themes.json");
211
-
212
- try {
213
- fs.mkdirSync(pathDirname(themeManifestFilePath));
214
- } catch {}
215
-
216
- fs.writeFileSync(
217
- themeManifestFilePath,
218
- Buffer.from(
219
- JSON.stringify(
220
- {
221
- "themes": [
222
- {
223
- "name": "account-v1",
224
- "types": ["account"]
225
- },
226
- {
227
- "name": "account-v1-keycloak",
228
- "types": ["account"]
229
- },
230
- ...[themeName, ...extraThemeNames].map(themeName => ({
231
- "name": themeName,
232
- "types": Object.entries(implementedThemeTypes)
233
- .filter(([, isImplemented]) => isImplemented)
234
- .map(([themeType]) => themeType)
235
- }))
236
- ]
237
- },
238
- null,
239
- 2
240
- ),
241
- "utf8"
242
- )
243
- );
244
- }
245
-
246
- return {
247
- "jarFilePath": pathJoin(keycloakThemeBuildingDirPath, "target", `${artifactId}-${themeVersion}.jar`)
248
- };
249
- }
@@ -1 +0,0 @@
1
- export * from "./generateJavaStackFiles";