keycloakify 7.1.0 → 7.1.3

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.
@@ -1,2 +1,4 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function getEmailThemeSrcDirPath(): {
3
+ emailThemeSrcDirPath: string | undefined;
4
+ };
@@ -60,48 +60,81 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
60
60
  }
61
61
  };
62
62
  Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.getEmailThemeSrcDirPath = void 0;
63
64
  var download_builtin_keycloak_theme_1 = require("./download-builtin-keycloak-theme");
64
- var keycloakify_1 = require("./keycloakify");
65
65
  var path_1 = require("path");
66
66
  var transformCodebase_1 = require("./tools/transformCodebase");
67
67
  var promptKeycloakVersion_1 = require("./promptKeycloakVersion");
68
68
  var fs = __importStar(require("fs"));
69
69
  var cliOptions_1 = require("./tools/cliOptions");
70
70
  var logger_1 = require("./tools/logger");
71
- (function () { return __awaiter(void 0, void 0, void 0, function () {
72
- var isSilent, logger, keycloakVersion, builtinKeycloakThemeTmpDirPath, themePropertyFilePath;
73
- return __generator(this, function (_a) {
74
- switch (_a.label) {
75
- case 0:
76
- isSilent = (0, cliOptions_1.getCliOptions)(process.argv.slice(2)).isSilent;
77
- logger = (0, logger_1.getLogger)({ isSilent: isSilent });
78
- if (fs.existsSync(keycloakify_1.keycloakThemeEmailDirPath)) {
79
- logger.warn("There is already a ".concat((0, path_1.relative)(process.cwd(), keycloakify_1.keycloakThemeEmailDirPath), " directory in your project. Aborting."));
80
- process.exit(-1);
81
- }
82
- return [4 /*yield*/, (0, promptKeycloakVersion_1.promptKeycloakVersion)()];
83
- case 1:
84
- keycloakVersion = (_a.sent()).keycloakVersion;
85
- builtinKeycloakThemeTmpDirPath = (0, path_1.join)(keycloakify_1.keycloakThemeEmailDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
86
- return [4 /*yield*/, (0, download_builtin_keycloak_theme_1.downloadBuiltinKeycloakTheme)({
87
- keycloakVersion: keycloakVersion,
88
- "destDirPath": builtinKeycloakThemeTmpDirPath,
89
- isSilent: isSilent
90
- })];
91
- case 2:
92
- _a.sent();
93
- (0, transformCodebase_1.transformCodebase)({
94
- "srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "base", "email"),
95
- "destDirPath": keycloakify_1.keycloakThemeEmailDirPath
96
- });
97
- {
98
- themePropertyFilePath = (0, path_1.join)(keycloakify_1.keycloakThemeEmailDirPath, "theme.properties");
99
- fs.writeFileSync(themePropertyFilePath, Buffer.from("parent=base\n".concat(fs.readFileSync(themePropertyFilePath).toString("utf8")), "utf8"));
100
- }
101
- logger.log("".concat((0, path_1.relative)(process.cwd(), keycloakify_1.keycloakThemeEmailDirPath), " ready to be customized, feel free to remove every file you do not customize"));
102
- fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
103
- return [2 /*return*/];
71
+ var crawl_1 = require("./tools/crawl");
72
+ var exclude_1 = require("tsafe/exclude");
73
+ var reactProjectDirPath = process.cwd();
74
+ var themeSrcDirBasename = "keycloak-theme";
75
+ function getThemeSrcDirPath() {
76
+ var srcDirPath = (0, path_1.join)(reactProjectDirPath, "src");
77
+ var themeSrcDirPath = (0, crawl_1.crawl)(srcDirPath)
78
+ .map(function (fileRelativePath) {
79
+ var split = fileRelativePath.split(themeSrcDirBasename);
80
+ if (split.length !== 2) {
81
+ return undefined;
104
82
  }
83
+ return (0, path_1.join)(srcDirPath, split[0] + themeSrcDirBasename);
84
+ })
85
+ .filter((0, exclude_1.exclude)(undefined))[0];
86
+ return { themeSrcDirPath: themeSrcDirPath };
87
+ }
88
+ function getEmailThemeSrcDirPath() {
89
+ var themeSrcDirPath = getThemeSrcDirPath().themeSrcDirPath;
90
+ var emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : (0, path_1.join)(themeSrcDirPath, "email");
91
+ return { emailThemeSrcDirPath: emailThemeSrcDirPath };
92
+ }
93
+ exports.getEmailThemeSrcDirPath = getEmailThemeSrcDirPath;
94
+ function main() {
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var isSilent, logger, emailThemeSrcDirPath, keycloakVersion, builtinKeycloakThemeTmpDirPath, themePropertyFilePath;
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0:
100
+ isSilent = (0, cliOptions_1.getCliOptions)(process.argv.slice(2)).isSilent;
101
+ logger = (0, logger_1.getLogger)({ isSilent: isSilent });
102
+ emailThemeSrcDirPath = getEmailThemeSrcDirPath().emailThemeSrcDirPath;
103
+ if (emailThemeSrcDirPath === undefined) {
104
+ logger.warn("Couldn't locate you ".concat(themeSrcDirBasename, " directory"));
105
+ process.exit(-1);
106
+ }
107
+ if (fs.existsSync(emailThemeSrcDirPath)) {
108
+ logger.warn("There is already a ".concat((0, path_1.relative)(process.cwd(), emailThemeSrcDirPath), " directory in your project. Aborting."));
109
+ process.exit(-1);
110
+ }
111
+ return [4 /*yield*/, (0, promptKeycloakVersion_1.promptKeycloakVersion)()];
112
+ case 1:
113
+ keycloakVersion = (_a.sent()).keycloakVersion;
114
+ builtinKeycloakThemeTmpDirPath = (0, path_1.join)(emailThemeSrcDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
115
+ return [4 /*yield*/, (0, download_builtin_keycloak_theme_1.downloadBuiltinKeycloakTheme)({
116
+ keycloakVersion: keycloakVersion,
117
+ "destDirPath": builtinKeycloakThemeTmpDirPath,
118
+ isSilent: isSilent
119
+ })];
120
+ case 2:
121
+ _a.sent();
122
+ (0, transformCodebase_1.transformCodebase)({
123
+ "srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "base", "email"),
124
+ "destDirPath": emailThemeSrcDirPath
125
+ });
126
+ {
127
+ themePropertyFilePath = (0, path_1.join)(emailThemeSrcDirPath, "theme.properties");
128
+ fs.writeFileSync(themePropertyFilePath, Buffer.from("parent=base\n".concat(fs.readFileSync(themePropertyFilePath).toString("utf8")), "utf8"));
129
+ }
130
+ logger.log("".concat((0, path_1.relative)(process.cwd(), emailThemeSrcDirPath), " ready to be customized, feel free to remove every file you do not customize"));
131
+ fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
132
+ return [2 /*return*/];
133
+ }
134
+ });
105
135
  });
106
- }); })();
136
+ }
137
+ if (require.main === module) {
138
+ main();
139
+ }
107
140
  //# sourceMappingURL=initialize-email-theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qFAAiF;AACjF,6CAA0D;AAC1D,6BAAkE;AAClE,+DAA8D;AAC9D,iEAAgE;AAChE,qCAAyB;AACzB,iDAAmD;AACnD,yCAA2C;AAE3C,CAAC;;;;;gBACW,QAAQ,GAAK,IAAA,0BAAa,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAzC,CAA0C;gBACpD,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;gBAEvC,IAAI,EAAE,CAAC,UAAU,CAAC,uCAAyB,CAAC,EAAE;oBAC1C,MAAM,CAAC,IAAI,CAAC,6BAAsB,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uCAAyB,CAAC,0CAAuC,CAAC,CAAC;oBAEjI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpB;gBAE2B,qBAAM,IAAA,6CAAqB,GAAE,EAAA;;gBAAjD,eAAe,GAAK,CAAA,SAA6B,CAAA,gBAAlC;gBAEjB,8BAA8B,GAAG,IAAA,WAAQ,EAAC,uCAAyB,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;gBAErH,qBAAM,IAAA,8DAA4B,EAAC;wBAC/B,eAAe,iBAAA;wBACf,aAAa,EAAE,8BAA8B;wBAC7C,QAAQ,UAAA;qBACX,CAAC,EAAA;;gBAJF,SAIE,CAAC;gBAEH,IAAA,qCAAiB,EAAC;oBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,MAAM,EAAE,OAAO,CAAC;oBACvE,aAAa,EAAE,uCAAyB;iBAC3C,CAAC,CAAC;gBAEH;oBACU,qBAAqB,GAAG,IAAA,WAAQ,EAAC,uCAAyB,EAAE,kBAAkB,CAAC,CAAC;oBAEtF,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAgB,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAC;iBAC3I;gBAED,MAAM,CAAC,GAAG,CACN,UAAG,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uCAAyB,CAAC,iFAA8E,CAC1I,CAAC;gBAEF,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;KACnF,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export declare namespace BuildOptionsLike {
29
29
  export declare function generateKeycloakThemeResources(params: {
30
30
  reactAppBuildDirPath: string;
31
31
  keycloakThemeBuildingDirPath: string;
32
- keycloakThemeEmailDirPath: string;
32
+ emailThemeSrcDirPath: string | undefined;
33
33
  keycloakVersion: string;
34
34
  buildOptions: BuildOptionsLike;
35
35
  }): Promise<{
@@ -118,7 +118,6 @@ var mockTestingResourcesPath_1 = require("../mockTestingResourcesPath");
118
118
  var isInside_1 = require("../tools/isInside");
119
119
  var assert_1 = require("tsafe/assert");
120
120
  var Reflect_1 = require("tsafe/Reflect");
121
- var logger_1 = require("../tools/logger");
122
121
  {
123
122
  var buildOptions = (0, Reflect_1.Reflect)();
124
123
  (0, assert_1.assert)();
@@ -126,13 +125,12 @@ var logger_1 = require("../tools/logger");
126
125
  function generateKeycloakThemeResources(params) {
127
126
  var _a, _b;
128
127
  return __awaiter(this, void 0, void 0, function () {
129
- var reactAppBuildDirPath, keycloakThemeBuildingDirPath, keycloakThemeEmailDirPath, keycloakVersion, buildOptions, logger, getThemeDirPath, allCssGlobalsToDefine, generateFtlFilesCode_glob, _loop_1, themeTypes_1, themeTypes_1_1, themeType, e_1_1, doBundlesEmailTemplate;
128
+ var reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, keycloakVersion, buildOptions, getThemeDirPath, allCssGlobalsToDefine, generateFtlFilesCode_glob, _loop_1, themeTypes_1, themeTypes_1_1, themeType, e_1_1, doBundlesEmailTemplate;
130
129
  var e_1, _c;
131
130
  return __generator(this, function (_d) {
132
131
  switch (_d.label) {
133
132
  case 0:
134
- reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, keycloakThemeEmailDirPath = params.keycloakThemeEmailDirPath, keycloakVersion = params.keycloakVersion, buildOptions = params.buildOptions;
135
- logger = (0, logger_1.getLogger)({ isSilent: buildOptions.isSilent });
133
+ reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, emailThemeSrcDirPath = params.emailThemeSrcDirPath, keycloakVersion = params.keycloakVersion, buildOptions = params.buildOptions;
136
134
  getThemeDirPath = function (themeType) {
137
135
  return (0, path_1.join)(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
138
136
  };
@@ -280,17 +278,13 @@ function generateKeycloakThemeResources(params) {
280
278
  return [7 /*endfinally*/];
281
279
  case 8:
282
280
  email: {
283
- if (!fs.existsSync(keycloakThemeEmailDirPath)) {
284
- logger.log([
285
- "Not bundling email template because ".concat((0, path_1.basename)(keycloakThemeEmailDirPath), " does not exist"),
286
- "To start customizing the email template, run: \uD83D\uDC49 npx create-keycloak-email-directory \uD83D\uDC48"
287
- ].join("\n"));
281
+ if (emailThemeSrcDirPath === undefined) {
288
282
  doBundlesEmailTemplate = false;
289
283
  break email;
290
284
  }
291
285
  doBundlesEmailTemplate = true;
292
286
  (0, transformCodebase_1.transformCodebase)({
293
- "srcDirPath": keycloakThemeEmailDirPath,
287
+ "srcDirPath": emailThemeSrcDirPath,
294
288
  "destDirPath": getThemeDirPath("email")
295
289
  });
296
290
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/keycloakify/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/keycloakify/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export declare const keycloakThemeBuildingDirPath: string;
2
- export declare const keycloakThemeEmailDirPath: string;
3
2
  export declare function main(): Promise<void>;
@@ -62,7 +62,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
62
62
  return (mod && mod.__esModule) ? mod : { "default": mod };
63
63
  };
64
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.main = exports.keycloakThemeEmailDirPath = exports.keycloakThemeBuildingDirPath = void 0;
65
+ exports.main = exports.keycloakThemeBuildingDirPath = void 0;
66
66
  var generateKeycloakThemeResources_1 = require("./generateKeycloakThemeResources");
67
67
  var generateJavaStackFiles_1 = require("./generateJavaStackFiles");
68
68
  var path_1 = require("path");
@@ -74,9 +74,9 @@ var logger_1 = require("../tools/logger");
74
74
  var cliOptions_1 = require("../tools/cliOptions");
75
75
  var jar_1 = __importDefault(require("../tools/jar"));
76
76
  var assert_1 = require("tsafe/assert");
77
+ var initialize_email_theme_1 = require("../initialize-email-theme");
77
78
  var reactProjectDirPath = process.cwd();
78
79
  exports.keycloakThemeBuildingDirPath = (0, path_1.join)(reactProjectDirPath, "build_keycloak");
79
- exports.keycloakThemeEmailDirPath = (0, path_1.join)(reactProjectDirPath, "src", "keycloak-theme", "email");
80
80
  function main() {
81
81
  return __awaiter(this, void 0, void 0, function () {
82
82
  var _a, isSilent, hasExternalAssets, logger, buildOptions, doBundlesEmailTemplate, jarFilePath, _b, containerKeycloakVersion;
@@ -100,7 +100,13 @@ function main() {
100
100
  });
101
101
  return [4 /*yield*/, (0, generateKeycloakThemeResources_1.generateKeycloakThemeResources)({
102
102
  keycloakThemeBuildingDirPath: exports.keycloakThemeBuildingDirPath,
103
- keycloakThemeEmailDirPath: exports.keycloakThemeEmailDirPath,
103
+ "emailThemeSrcDirPath": (function () {
104
+ var emailThemeSrcDirPath = (0, initialize_email_theme_1.getEmailThemeSrcDirPath)().emailThemeSrcDirPath;
105
+ if (emailThemeSrcDirPath === undefined || !fs.existsSync(emailThemeSrcDirPath)) {
106
+ return;
107
+ }
108
+ return emailThemeSrcDirPath;
109
+ })(),
104
110
  "reactAppBuildDirPath": (0, path_1.join)(reactProjectDirPath, "build"),
105
111
  buildOptions: buildOptions,
106
112
  //We have to leave it at that otherwise we break our default theme.
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "7.1.0",
3
+ "version": "7.1.3",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,27 +1,65 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { downloadBuiltinKeycloakTheme } from "./download-builtin-keycloak-theme";
4
- import { keycloakThemeEmailDirPath } from "./keycloakify";
5
4
  import { join as pathJoin, relative as pathRelative } from "path";
6
5
  import { transformCodebase } from "./tools/transformCodebase";
7
6
  import { promptKeycloakVersion } from "./promptKeycloakVersion";
8
7
  import * as fs from "fs";
9
8
  import { getCliOptions } from "./tools/cliOptions";
10
9
  import { getLogger } from "./tools/logger";
10
+ import { crawl } from "./tools/crawl";
11
+ import { exclude } from "tsafe/exclude";
11
12
 
12
- (async () => {
13
+ const reactProjectDirPath = process.cwd();
14
+
15
+ const themeSrcDirBasename = "keycloak-theme";
16
+
17
+ function getThemeSrcDirPath() {
18
+ const srcDirPath = pathJoin(reactProjectDirPath, "src");
19
+
20
+ const themeSrcDirPath: string | undefined = crawl(srcDirPath)
21
+ .map(fileRelativePath => {
22
+ const split = fileRelativePath.split(themeSrcDirBasename);
23
+
24
+ if (split.length !== 2) {
25
+ return undefined;
26
+ }
27
+
28
+ return pathJoin(srcDirPath, split[0] + themeSrcDirBasename);
29
+ })
30
+ .filter(exclude(undefined))[0];
31
+ return { themeSrcDirPath };
32
+ }
33
+
34
+ export function getEmailThemeSrcDirPath() {
35
+ const { themeSrcDirPath } = getThemeSrcDirPath();
36
+
37
+ const emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : pathJoin(themeSrcDirPath, "email");
38
+
39
+ return { emailThemeSrcDirPath };
40
+ }
41
+
42
+ async function main() {
13
43
  const { isSilent } = getCliOptions(process.argv.slice(2));
14
44
  const logger = getLogger({ isSilent });
15
45
 
16
- if (fs.existsSync(keycloakThemeEmailDirPath)) {
17
- logger.warn(`There is already a ${pathRelative(process.cwd(), keycloakThemeEmailDirPath)} directory in your project. Aborting.`);
46
+ const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath();
47
+
48
+ if (emailThemeSrcDirPath === undefined) {
49
+ logger.warn(`Couldn't locate you ${themeSrcDirBasename} directory`);
50
+
51
+ process.exit(-1);
52
+ }
53
+
54
+ if (fs.existsSync(emailThemeSrcDirPath)) {
55
+ logger.warn(`There is already a ${pathRelative(process.cwd(), emailThemeSrcDirPath)} directory in your project. Aborting.`);
18
56
 
19
57
  process.exit(-1);
20
58
  }
21
59
 
22
60
  const { keycloakVersion } = await promptKeycloakVersion();
23
61
 
24
- const builtinKeycloakThemeTmpDirPath = pathJoin(keycloakThemeEmailDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
62
+ const builtinKeycloakThemeTmpDirPath = pathJoin(emailThemeSrcDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
25
63
 
26
64
  await downloadBuiltinKeycloakTheme({
27
65
  keycloakVersion,
@@ -31,18 +69,20 @@ import { getLogger } from "./tools/logger";
31
69
 
32
70
  transformCodebase({
33
71
  "srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "base", "email"),
34
- "destDirPath": keycloakThemeEmailDirPath
72
+ "destDirPath": emailThemeSrcDirPath
35
73
  });
36
74
 
37
75
  {
38
- const themePropertyFilePath = pathJoin(keycloakThemeEmailDirPath, "theme.properties");
76
+ const themePropertyFilePath = pathJoin(emailThemeSrcDirPath, "theme.properties");
39
77
 
40
78
  fs.writeFileSync(themePropertyFilePath, Buffer.from(`parent=base\n${fs.readFileSync(themePropertyFilePath).toString("utf8")}`, "utf8"));
41
79
  }
42
80
 
43
- logger.log(
44
- `${pathRelative(process.cwd(), keycloakThemeEmailDirPath)} ready to be customized, feel free to remove every file you do not customize`
45
- );
81
+ logger.log(`${pathRelative(process.cwd(), emailThemeSrcDirPath)} ready to be customized, feel free to remove every file you do not customize`);
46
82
 
47
83
  fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
48
- })();
84
+ }
85
+
86
+ if (require.main === module) {
87
+ main();
88
+ }
@@ -10,7 +10,6 @@ import { isInside } from "../tools/isInside";
10
10
  import type { BuildOptions } from "./BuildOptions";
11
11
  import { assert } from "tsafe/assert";
12
12
  import { Reflect } from "tsafe/Reflect";
13
- import { getLogger } from "../tools/logger";
14
13
 
15
14
  export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
16
15
 
@@ -56,13 +55,11 @@ export namespace BuildOptionsLike {
56
55
  export async function generateKeycloakThemeResources(params: {
57
56
  reactAppBuildDirPath: string;
58
57
  keycloakThemeBuildingDirPath: string;
59
- keycloakThemeEmailDirPath: string;
58
+ emailThemeSrcDirPath: string | undefined;
60
59
  keycloakVersion: string;
61
60
  buildOptions: BuildOptionsLike;
62
61
  }): Promise<{ doBundlesEmailTemplate: boolean }> {
63
- const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, keycloakThemeEmailDirPath, keycloakVersion, buildOptions } = params;
64
-
65
- const logger = getLogger({ isSilent: buildOptions.isSilent });
62
+ const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, emailThemeSrcDirPath, keycloakVersion, buildOptions } = params;
66
63
 
67
64
  const getThemeDirPath = (themeType: ThemeType | "email") =>
68
65
  pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
@@ -228,13 +225,7 @@ export async function generateKeycloakThemeResources(params: {
228
225
  let doBundlesEmailTemplate: boolean;
229
226
 
230
227
  email: {
231
- if (!fs.existsSync(keycloakThemeEmailDirPath)) {
232
- logger.log(
233
- [
234
- `Not bundling email template because ${pathBasename(keycloakThemeEmailDirPath)} does not exist`,
235
- `To start customizing the email template, run: 👉 npx create-keycloak-email-directory 👈`
236
- ].join("\n")
237
- );
228
+ if (emailThemeSrcDirPath === undefined) {
238
229
  doBundlesEmailTemplate = false;
239
230
  break email;
240
231
  }
@@ -242,7 +233,7 @@ export async function generateKeycloakThemeResources(params: {
242
233
  doBundlesEmailTemplate = true;
243
234
 
244
235
  transformCodebase({
245
- "srcDirPath": keycloakThemeEmailDirPath,
236
+ "srcDirPath": emailThemeSrcDirPath,
246
237
  "destDirPath": getThemeDirPath("email")
247
238
  });
248
239
  }
@@ -9,12 +9,12 @@ import { getLogger } from "../tools/logger";
9
9
  import { getCliOptions } from "../tools/cliOptions";
10
10
  import jar from "../tools/jar";
11
11
  import { assert } from "tsafe/assert";
12
- import type { Equals } from "tsafe";
12
+ import { Equals } from "tsafe";
13
+ import { getEmailThemeSrcDirPath } from "../initialize-email-theme";
13
14
 
14
15
  const reactProjectDirPath = process.cwd();
15
16
 
16
17
  export const keycloakThemeBuildingDirPath = pathJoin(reactProjectDirPath, "build_keycloak");
17
- export const keycloakThemeEmailDirPath = pathJoin(reactProjectDirPath, "src", "keycloak-theme", "email");
18
18
 
19
19
  export async function main() {
20
20
  const { isSilent, hasExternalAssets } = getCliOptions(process.argv.slice(2));
@@ -38,7 +38,15 @@ export async function main() {
38
38
 
39
39
  const { doBundlesEmailTemplate } = await generateKeycloakThemeResources({
40
40
  keycloakThemeBuildingDirPath,
41
- keycloakThemeEmailDirPath,
41
+ "emailThemeSrcDirPath": (() => {
42
+ const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath();
43
+
44
+ if (emailThemeSrcDirPath === undefined || !fs.existsSync(emailThemeSrcDirPath)) {
45
+ return;
46
+ }
47
+
48
+ return emailThemeSrcDirPath;
49
+ })(),
42
50
  "reactAppBuildDirPath": pathJoin(reactProjectDirPath, "build"),
43
51
  buildOptions,
44
52
  //We have to leave it at that otherwise we break our default theme.