keycloakify 7.6.1 → 7.6.2

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.
@@ -43,7 +43,7 @@ var downloadAndUnzip_1 = require("./tools/downloadAndUnzip");
43
43
  var promptKeycloakVersion_1 = require("./promptKeycloakVersion");
44
44
  var cliOptions_1 = require("./tools/cliOptions");
45
45
  var logger_1 = require("./tools/logger");
46
- var build_paths_1 = require("./keycloakify/build-paths");
46
+ var BuildOptions_1 = require("./keycloakify/BuildOptions");
47
47
  function downloadBuiltinKeycloakTheme(params) {
48
48
  return __awaiter(this, void 0, void 0, function () {
49
49
  var keycloakVersion, destDirPath;
@@ -77,7 +77,11 @@ function main() {
77
77
  return [4 /*yield*/, (0, promptKeycloakVersion_1.promptKeycloakVersion)()];
78
78
  case 1:
79
79
  keycloakVersion = (_a.sent()).keycloakVersion;
80
- destDirPath = (0, path_1.join)((0, build_paths_1.getKeycloakBuildPath)(), "src", "main", "resources", "theme");
80
+ destDirPath = (0, path_1.join)((0, BuildOptions_1.readBuildOptions)({
81
+ "isSilent": true,
82
+ "isExternalAssetsCliParamProvided": false,
83
+ "projectDirPath": process.cwd()
84
+ }).keycloakifyBuildDirPath, "src", "main", "resources", "theme");
81
85
  logger.log("Downloading builtins theme of Keycloak ".concat(keycloakVersion, " here ").concat(destDirPath));
82
86
  return [4 /*yield*/, downloadBuiltinKeycloakTheme({
83
87
  keycloakVersion: keycloakVersion,
@@ -1 +1 @@
1
- {"version":3,"file":"download-builtin-keycloak-theme.js","sourceRoot":"","sources":["../src/bin/download-builtin-keycloak-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAAwC;AACxC,6DAA4D;AAC5D,iEAAgE;AAChE,iDAAmD;AACnD,yCAA2C;AAC3C,yDAAiE;AAEjE,SAAsB,4BAA4B,CAAC,MAA2E;;;;;;oBAClH,eAAe,GAAkB,MAAM,gBAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;oBAEhD,qBAAM,OAAO,CAAC,GAAG,CACb,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG;4BACtB,OAAA,IAAA,mCAAgB,EAAC;gCACb,aAAa,EAAE,WAAW;gCAC1B,KAAK,EAAE,iEAA0D,eAAe,SAAM;gCACtF,6BAA6B,EAAE,mBAAY,eAAe,uCAA6B,GAAG,WAAQ;6BACrG,CAAC;wBAJF,CAIE,CACL,CACJ,EAAA;;oBARD,SAQC,CAAC;;;;;CACL;AAZD,oEAYC;AAED,SAAe,IAAI;;;;;;oBACP,QAAQ,GAAK,IAAA,0BAAa,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAzC,CAA0C;oBACpD,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBACX,qBAAM,IAAA,6CAAqB,GAAE,EAAA;;oBAAjD,eAAe,GAAK,CAAA,SAA6B,CAAA,gBAAlC;oBAEjB,WAAW,GAAG,IAAA,WAAQ,EAAC,IAAA,kCAAoB,GAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBAE1F,MAAM,CAAC,GAAG,CAAC,iDAA0C,eAAe,mBAAS,WAAW,CAAE,CAAC,CAAC;oBAE5F,qBAAM,4BAA4B,CAAC;4BAC/B,eAAe,iBAAA;4BACf,WAAW,aAAA;4BACX,QAAQ,UAAA;yBACX,CAAC,EAAA;;oBAJF,SAIE,CAAC;;;;;CACN;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,IAAI,EAAE,CAAC;CACV"}
1
+ {"version":3,"file":"download-builtin-keycloak-theme.js","sourceRoot":"","sources":["../src/bin/download-builtin-keycloak-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAAwC;AACxC,6DAA4D;AAC5D,iEAAgE;AAChE,iDAAmD;AACnD,yCAA2C;AAC3C,2DAA8D;AAE9D,SAAsB,4BAA4B,CAAC,MAA2E;;;;;;oBAClH,eAAe,GAAkB,MAAM,gBAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;oBAEhD,qBAAM,OAAO,CAAC,GAAG,CACb,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG;4BACtB,OAAA,IAAA,mCAAgB,EAAC;gCACb,aAAa,EAAE,WAAW;gCAC1B,KAAK,EAAE,iEAA0D,eAAe,SAAM;gCACtF,6BAA6B,EAAE,mBAAY,eAAe,uCAA6B,GAAG,WAAQ;6BACrG,CAAC;wBAJF,CAIE,CACL,CACJ,EAAA;;oBARD,SAQC,CAAC;;;;;CACL;AAZD,oEAYC;AAED,SAAe,IAAI;;;;;;oBACP,QAAQ,GAAK,IAAA,0BAAa,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAzC,CAA0C;oBACpD,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBACX,qBAAM,IAAA,6CAAqB,GAAE,EAAA;;oBAAjD,eAAe,GAAK,CAAA,SAA6B,CAAA,gBAAlC;oBAEjB,WAAW,GAAG,IAAA,WAAQ,EACxB,IAAA,+BAAgB,EAAC;wBACb,UAAU,EAAE,IAAI;wBAChB,kCAAkC,EAAE,KAAK;wBACzC,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;qBAClC,CAAC,CAAC,uBAAuB,EAC1B,KAAK,EACL,MAAM,EACN,WAAW,EACX,OAAO,CACV,CAAC;oBAEF,MAAM,CAAC,GAAG,CAAC,iDAA0C,eAAe,mBAAS,WAAW,CAAE,CAAC,CAAC;oBAE5F,qBAAM,4BAA4B,CAAC;4BAC/B,eAAe,iBAAA;4BACf,WAAW,aAAA;4BACX,QAAQ,UAAA;yBACX,CAAC,EAAA;;oBAJF,SAIE,CAAC;;;;;CACN;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,IAAI,EAAE,CAAC;CACV"}
@@ -74,13 +74,13 @@ var fs_1 = require("fs");
74
74
  var path_1 = require("path");
75
75
  var kebabCaseToSnakeCase_1 = require("./tools/kebabCaseToSnakeCase");
76
76
  var assert_1 = require("tsafe/assert");
77
- var build_paths_1 = require("./keycloakify/build-paths");
77
+ var getSrcDirPath_1 = require("./getSrcDirPath");
78
78
  (function () { return __awaiter(void 0, void 0, void 0, function () {
79
- var projectRootDir, themeType, pageId, pageBasename, themeSrcDirPath, targetFilePath, _a, _b;
79
+ var projectDirPath, themeType, pageId, pageBasename, themeSrcDirPath, targetFilePath, _a, _b;
80
80
  return __generator(this, function (_c) {
81
81
  switch (_c.label) {
82
82
  case 0:
83
- projectRootDir = (0, getProjectRoot_1.getProjectRoot)();
83
+ projectDirPath = (0, getProjectRoot_1.getProjectRoot)();
84
84
  console.log("Select a theme type");
85
85
  return [4 /*yield*/, (0, cli_select_1.default)({
86
86
  "values": __spreadArray([], __read(generateFtl_1.themeTypes), false)
@@ -108,7 +108,7 @@ var build_paths_1 = require("./keycloakify/build-paths");
108
108
  case 2:
109
109
  pageId = (_c.sent()).value;
110
110
  pageBasename = (0, capitalize_1.capitalize)((0, kebabCaseToSnakeCase_1.kebabCaseToCamelCase)(pageId)).replace(/ftl$/, "tsx");
111
- themeSrcDirPath = (0, build_paths_1.getThemeSrcDirPath)().themeSrcDirPath;
111
+ themeSrcDirPath = (0, getSrcDirPath_1.getThemeSrcDirPath)({ "projectDirPath": projectDirPath }).themeSrcDirPath;
112
112
  if (themeSrcDirPath === undefined) {
113
113
  throw new Error("Couldn't locate your theme sources");
114
114
  }
@@ -119,7 +119,7 @@ var build_paths_1 = require("./keycloakify/build-paths");
119
119
  }
120
120
  _a = promises_1.writeFile;
121
121
  _b = [targetFilePath];
122
- return [4 /*yield*/, (0, promises_1.readFile)((0, path_1.join)(projectRootDir, "src", themeType, "pages", pageBasename))];
122
+ return [4 /*yield*/, (0, promises_1.readFile)((0, path_1.join)(projectDirPath, "src", themeType, "pages", pageBasename))];
123
123
  case 3:
124
124
  _a.apply(void 0, _b.concat([_c.sent()]));
125
125
  console.log("".concat((0, path_1.relative)(process.cwd(), targetFilePath), " created"));
@@ -1 +1 @@
1
- {"version":3,"file":"eject-keycloak-page.js","sourceRoot":"","sources":["../src/bin/eject-keycloak-page.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAwD;AACxD,0DAAmC;AACnC,qEAO+C;AAC/C,+CAA8C;AAC9C,wCAAkD;AAClD,yBAAgC;AAChC,6BAAkE;AAClE,qEAAoE;AACpE,uCAA8C;AAC9C,yDAA+D;AAE/D,CAAC;;;;;gBACS,cAAc,GAAG,IAAA,+BAAc,GAAE,CAAC;gBAExC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAEN,qBAAM,IAAA,oBAAS,EAAY;wBACpD,QAAQ,2BAAM,wBAAU,SAAC;qBAC5B,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBANa,SAAS,GAAK,CAAA,SAM3B,CAAA,MANsB;gBAQxB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBAE3B,qBAAM,IAAA,oBAAS,EAAwC;wBAC7E,QAAQ,EAAE,CAAC;4BACP,QAAQ,SAAS,EAAE;gCACf,KAAK,OAAO;oCACR,gCAAW,+BAAiB,UAAE;gCAClC,KAAK,SAAS;oCACV,gCAAW,iCAAmB,UAAE;6BACvC;4BACD,IAAA,eAAM,EAAkC,KAAK,CAAC,CAAC;wBACnD,CAAC,CAAC,EAAE;qBACP,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBAda,MAAM,GAAK,CAAA,SAcxB,CAAA,MAdmB;gBAgBf,YAAY,GAAG,IAAA,uBAAU,EAAC,IAAA,2CAAoB,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAE7E,eAAe,GAAK,IAAA,gCAAkB,GAAE,gBAAzB,CAA0B;gBAEjD,IAAI,eAAe,KAAK,SAAS,EAAE;oBAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;iBACzD;gBAEK,cAAc,GAAG,IAAA,WAAQ,EAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBAEnF,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE;oBAC5B,OAAO,CAAC,GAAG,CAAC,UAAG,MAAM,kCAAwB,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,oBAAiB,CAAC,CAAC;oBAE3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpB;gBAED,KAAA,oBAAS,CAAA;sBAAC,cAAc;gBAAE,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAQ,EAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,EAAA;;gBAA3G,4BAA0B,SAAiF,GAAC,CAAC;gBAE7G,OAAO,CAAC,GAAG,CAAC,UAAG,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,aAAU,CAAC,CAAC;;;;KACzE,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"eject-keycloak-page.js","sourceRoot":"","sources":["../src/bin/eject-keycloak-page.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAwD;AACxD,0DAAmC;AACnC,qEAO+C;AAC/C,+CAA8C;AAC9C,wCAAkD;AAClD,yBAAgC;AAChC,6BAAkE;AAClE,qEAAoE;AACpE,uCAA8C;AAC9C,iDAAqD;AAErD,CAAC;;;;;gBACS,cAAc,GAAG,IAAA,+BAAc,GAAE,CAAC;gBAExC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAEN,qBAAM,IAAA,oBAAS,EAAY;wBACpD,QAAQ,2BAAM,wBAAU,SAAC;qBAC5B,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBANa,SAAS,GAAK,CAAA,SAM3B,CAAA,MANsB;gBAQxB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBAE3B,qBAAM,IAAA,oBAAS,EAAwC;wBAC7E,QAAQ,EAAE,CAAC;4BACP,QAAQ,SAAS,EAAE;gCACf,KAAK,OAAO;oCACR,gCAAW,+BAAiB,UAAE;gCAClC,KAAK,SAAS;oCACV,gCAAW,iCAAmB,UAAE;6BACvC;4BACD,IAAA,eAAM,EAAkC,KAAK,CAAC,CAAC;wBACnD,CAAC,CAAC,EAAE;qBACP,CAAC,CAAC,KAAK,CAAC;wBACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAExB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,EAAA;;gBAda,MAAM,GAAK,CAAA,SAcxB,CAAA,MAdmB;gBAgBf,YAAY,GAAG,IAAA,uBAAU,EAAC,IAAA,2CAAoB,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAE7E,eAAe,GAAK,IAAA,kCAAkB,EAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,gBAA7D,CAA8D;gBAErF,IAAI,eAAe,KAAK,SAAS,EAAE;oBAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;iBACzD;gBAEK,cAAc,GAAG,IAAA,WAAQ,EAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBAEnF,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE;oBAC5B,OAAO,CAAC,GAAG,CAAC,UAAG,MAAM,kCAAwB,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,oBAAiB,CAAC,CAAC;oBAE3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpB;gBAED,KAAA,oBAAS,CAAA;sBAAC,cAAc;gBAAE,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAQ,EAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,EAAA;;gBAA3G,4BAA0B,SAAiF,GAAC,CAAC;gBAE7G,OAAO,CAAC,GAAG,CAAC,UAAG,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,aAAU,CAAC,CAAC;;;;KACzE,CAAC,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare function getThemeSrcDirPath(params: {
2
+ projectDirPath: string;
3
+ }): {
4
+ themeSrcDirPath: string;
5
+ } | {
6
+ themeSrcDirPath: undefined;
7
+ };
8
+ export declare function getEmailThemeSrcDirPath(params: {
9
+ projectDirPath: string;
10
+ }): {
11
+ emailThemeSrcDirPath: string | undefined;
12
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getEmailThemeSrcDirPath = exports.getThemeSrcDirPath = void 0;
27
+ var fs = __importStar(require("fs"));
28
+ var tsafe_1 = require("tsafe");
29
+ var crawl_1 = require("./tools/crawl");
30
+ var path_1 = require("path");
31
+ var themeSrcDirBasename = "keycloak-theme";
32
+ function getThemeSrcDirPath(params) {
33
+ var projectDirPath = params.projectDirPath;
34
+ var srcDirPath = (0, path_1.join)(projectDirPath, "src");
35
+ var themeSrcDirPath = (0, crawl_1.crawl)(srcDirPath)
36
+ .map(function (fileRelativePath) {
37
+ var split = fileRelativePath.split(themeSrcDirBasename);
38
+ if (split.length !== 2) {
39
+ return undefined;
40
+ }
41
+ return (0, path_1.join)(srcDirPath, split[0] + themeSrcDirBasename);
42
+ })
43
+ .filter((0, tsafe_1.exclude)(undefined))[0];
44
+ if (themeSrcDirPath === undefined) {
45
+ if (fs.existsSync((0, path_1.join)(srcDirPath, "login")) || fs.existsSync((0, path_1.join)(srcDirPath, "account"))) {
46
+ return { "themeSrcDirPath": srcDirPath };
47
+ }
48
+ return { "themeSrcDirPath": undefined };
49
+ }
50
+ return { themeSrcDirPath: themeSrcDirPath };
51
+ }
52
+ exports.getThemeSrcDirPath = getThemeSrcDirPath;
53
+ function getEmailThemeSrcDirPath(params) {
54
+ var projectDirPath = params.projectDirPath;
55
+ var themeSrcDirPath = getThemeSrcDirPath({ projectDirPath: projectDirPath }).themeSrcDirPath;
56
+ var emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : (0, path_1.join)(themeSrcDirPath, "email");
57
+ return { emailThemeSrcDirPath: emailThemeSrcDirPath };
58
+ }
59
+ exports.getEmailThemeSrcDirPath = getEmailThemeSrcDirPath;
60
+ //# sourceMappingURL=getSrcDirPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSrcDirPath.js","sourceRoot":"","sources":["../src/bin/getSrcDirPath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAAgC;AAChC,uCAAsC;AACtC,6BAAwC;AAExC,IAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,SAAgB,kBAAkB,CAAC,MAAkC;IACzD,IAAA,cAAc,GAAK,MAAM,eAAX,CAAY;IAElC,IAAM,UAAU,GAAG,IAAA,WAAQ,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAEnD,IAAM,eAAe,GAAuB,IAAA,aAAK,EAAC,UAAU,CAAC;SACxD,GAAG,CAAC,UAAA,gBAAgB;QACjB,IAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAA,WAAQ,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,MAAM,CAAC,IAAA,eAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,eAAe,KAAK,SAAS,EAAE;QAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAA,WAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAA,WAAQ,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE;YAChG,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;SAC5C;QACD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;KAC3C;IAED,OAAO,EAAE,eAAe,iBAAA,EAAE,CAAC;AAC/B,CAAC;AAzBD,gDAyBC;AAED,SAAgB,uBAAuB,CAAC,MAAkC;IAC9D,IAAA,cAAc,GAAK,MAAM,eAAX,CAAY;IAE1B,IAAA,eAAe,GAAK,kBAAkB,CAAC,EAAE,cAAc,gBAAA,EAAE,CAAC,gBAA3C,CAA4C;IAEnE,IAAM,oBAAoB,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,WAAQ,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE5G,OAAO,EAAE,oBAAoB,sBAAA,EAAE,CAAC;AACpC,CAAC;AARD,0DAQC"}
@@ -68,7 +68,7 @@ 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
- var build_paths_1 = require("./keycloakify/build-paths");
71
+ var getSrcDirPath_1 = require("./getSrcDirPath");
72
72
  function main() {
73
73
  return __awaiter(this, void 0, void 0, function () {
74
74
  var isSilent, logger, emailThemeSrcDirPath, keycloakVersion, builtinKeycloakThemeTmpDirPath, themePropertyFilePath;
@@ -77,7 +77,9 @@ function main() {
77
77
  case 0:
78
78
  isSilent = (0, cliOptions_1.getCliOptions)(process.argv.slice(2)).isSilent;
79
79
  logger = (0, logger_1.getLogger)({ isSilent: isSilent });
80
- emailThemeSrcDirPath = (0, build_paths_1.getEmailThemeSrcDirPath)().emailThemeSrcDirPath;
80
+ emailThemeSrcDirPath = (0, getSrcDirPath_1.getEmailThemeSrcDirPath)({
81
+ "projectDirPath": process.cwd()
82
+ }).emailThemeSrcDirPath;
81
83
  if (emailThemeSrcDirPath === undefined) {
82
84
  logger.warn("Couldn't locate your theme source directory");
83
85
  process.exit(-1);
@@ -1 +1 @@
1
- {"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qFAAiF;AACjF,6BAAkE;AAClE,+DAA8D;AAC9D,iEAAgE;AAChE,qCAAyB;AACzB,iDAAmD;AACnD,yCAA2C;AAC3C,yDAAoE;AAEpE,SAAsB,IAAI;;;;;;oBACd,QAAQ,GAAK,IAAA,0BAAa,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAzC,CAA0C;oBACpD,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBAE/B,oBAAoB,GAAK,IAAA,qCAAuB,GAAE,qBAA9B,CAA+B;oBAE3D,IAAI,oBAAoB,KAAK,SAAS,EAAE;wBACpC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;wBAE3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAED,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;wBACrC,MAAM,CAAC,IAAI,CAAC,6BAAsB,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,0CAAuC,CAAC,CAAC;wBAE5H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAE2B,qBAAM,IAAA,6CAAqB,GAAE,EAAA;;oBAAjD,eAAe,GAAK,CAAA,SAA6B,CAAA,gBAAlC;oBAEjB,8BAA8B,GAAG,IAAA,WAAQ,EAAC,oBAAoB,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;oBAEhH,qBAAM,IAAA,8DAA4B,EAAC;4BAC/B,eAAe,iBAAA;4BACf,aAAa,EAAE,8BAA8B;4BAC7C,QAAQ,UAAA;yBACX,CAAC,EAAA;;oBAJF,SAIE,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,MAAM,EAAE,OAAO,CAAC;wBACvE,aAAa,EAAE,oBAAoB;qBACtC,CAAC,CAAC;oBAEH;wBACU,qBAAqB,GAAG,IAAA,WAAQ,EAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;wBAEjF,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;qBAC3I;oBAED,MAAM,CAAC,GAAG,CAAC,UAAG,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,iFAA8E,CAAC,CAAC;oBAE/I,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;CACnF;AA1CD,oBA0CC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,IAAI,EAAE,CAAC;CACV"}
1
+ {"version":3,"file":"initialize-email-theme.js","sourceRoot":"","sources":["../src/bin/initialize-email-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qFAAiF;AACjF,6BAAkE;AAClE,+DAA8D;AAC9D,iEAAgE;AAChE,qCAAyB;AACzB,iDAAmD;AACnD,yCAA2C;AAC3C,iDAA0D;AAE1D,SAAsB,IAAI;;;;;;oBACd,QAAQ,GAAK,IAAA,0BAAa,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAzC,CAA0C;oBACpD,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBAE/B,oBAAoB,GAAK,IAAA,uCAAuB,EAAC;wBACrD,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;qBAClC,CAAC,qBAF0B,CAEzB;oBAEH,IAAI,oBAAoB,KAAK,SAAS,EAAE;wBACpC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;wBAE3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAED,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;wBACrC,MAAM,CAAC,IAAI,CAAC,6BAAsB,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,0CAAuC,CAAC,CAAC;wBAE5H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAE2B,qBAAM,IAAA,6CAAqB,GAAE,EAAA;;oBAAjD,eAAe,GAAK,CAAA,SAA6B,CAAA,gBAAlC;oBAEjB,8BAA8B,GAAG,IAAA,WAAQ,EAAC,oBAAoB,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;oBAEhH,qBAAM,IAAA,8DAA4B,EAAC;4BAC/B,eAAe,iBAAA;4BACf,aAAa,EAAE,8BAA8B;4BAC7C,QAAQ,UAAA;yBACX,CAAC,EAAA;;oBAJF,SAIE,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,MAAM,EAAE,OAAO,CAAC;wBACvE,aAAa,EAAE,oBAAoB;qBACtC,CAAC,CAAC;oBAEH;wBACU,qBAAqB,GAAG,IAAA,WAAQ,EAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;wBAEjF,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;qBAC3I;oBAED,MAAM,CAAC,GAAG,CAAC,UAAG,IAAA,eAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,iFAA8E,CAAC,CAAC;oBAE/I,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;CACnF;AA5CD,oBA4CC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,IAAI,EAAE,CAAC;CACV"}
@@ -13,8 +13,10 @@ export declare namespace BuildOptions {
13
13
  artifactId: string;
14
14
  bundler: Bundler;
15
15
  keycloakVersionDefaultAssets: string;
16
- appInputPath: string;
17
- keycloakBuildPath: string;
16
+ /** Directory of your built react project. Defaults to {cwd}/build */
17
+ reactAppBuildDirPath: string;
18
+ /** Directory that keycloakify outputs to. Defaults to {cwd}/build_keycloak */
19
+ keycloakifyBuildDirPath: string;
18
20
  customUserAttributes: string[];
19
21
  };
20
22
  type Standalone = Common & {
@@ -37,7 +39,7 @@ export declare namespace BuildOptions {
37
39
  }
38
40
  }
39
41
  export declare function readBuildOptions(params: {
40
- CNAME: string | undefined;
42
+ projectDirPath: string;
41
43
  isExternalAssetsCliParamProvided: boolean;
42
44
  isSilent: boolean;
43
45
  }): BuildOptions;
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __read = (this && this.__read) || function (o, n) {
14
37
  var m = typeof Symbol === "function" && o[Symbol.iterator];
15
38
  if (!m) return o;
@@ -43,17 +66,25 @@ var url_1 = require("url");
43
66
  var typeGuard_1 = require("tsafe/typeGuard");
44
67
  var symToStr_1 = require("tsafe/symToStr");
45
68
  var parsedPackageJson_1 = require("./parsedPackageJson");
46
- var build_paths_1 = require("./build-paths");
69
+ var fs = __importStar(require("fs"));
70
+ var path_1 = require("path");
47
71
  function readBuildOptions(params) {
48
72
  var _a;
49
- var CNAME = params.CNAME, isExternalAssetsCliParamProvided = params.isExternalAssetsCliParamProvided, isSilent = params.isSilent;
50
- var parsedPackageJson = (0, parsedPackageJson_1.getParsedPackageJson)();
73
+ var projectDirPath = params.projectDirPath, isExternalAssetsCliParamProvided = params.isExternalAssetsCliParamProvided, isSilent = params.isSilent;
74
+ var parsedPackageJson = (0, parsedPackageJson_1.getParsedPackageJson)({ projectDirPath: projectDirPath });
51
75
  var url = (function () {
52
76
  var homepage = parsedPackageJson.homepage;
53
77
  var url = undefined;
54
78
  if (homepage !== undefined) {
55
79
  url = new URL(homepage);
56
80
  }
81
+ var CNAME = (function () {
82
+ var cnameFilePath = (0, path_1.join)(projectDirPath, "public", "CNAME");
83
+ if (!fs.existsSync(cnameFilePath)) {
84
+ return undefined;
85
+ }
86
+ return fs.readFileSync(cnameFilePath).toString("utf8");
87
+ })();
57
88
  if (CNAME !== undefined) {
58
89
  url = new URL("https://".concat(CNAME.replace(/\s+$/, "")));
59
90
  }
@@ -99,8 +130,34 @@ function readBuildOptions(params) {
99
130
  extraThemeProperties: extraThemeProperties,
100
131
  isSilent: isSilent,
101
132
  "keycloakVersionDefaultAssets": keycloakVersionDefaultAssets !== null && keycloakVersionDefaultAssets !== void 0 ? keycloakVersionDefaultAssets : "11.0.3",
102
- appInputPath: (0, build_paths_1.getAppInputPath)(),
103
- keycloakBuildPath: (0, build_paths_1.getKeycloakBuildPath)(),
133
+ "reactAppBuildDirPath": (function () {
134
+ var _a;
135
+ var _b = ((_a = parsedPackageJson.keycloakify) !== null && _a !== void 0 ? _a : {}).reactAppBuildDirPath, reactAppBuildDirPath = _b === void 0 ? undefined : _b;
136
+ if (reactAppBuildDirPath === undefined) {
137
+ return (0, path_1.join)(projectDirPath, "build");
138
+ }
139
+ if (path_1.sep === "\\") {
140
+ reactAppBuildDirPath = reactAppBuildDirPath.replace(/\//g, path_1.sep);
141
+ }
142
+ if (reactAppBuildDirPath.startsWith(".".concat(path_1.sep))) {
143
+ return (0, path_1.join)(projectDirPath, reactAppBuildDirPath);
144
+ }
145
+ return reactAppBuildDirPath;
146
+ })(),
147
+ "keycloakifyBuildDirPath": (function () {
148
+ var _a;
149
+ var _b = ((_a = parsedPackageJson.keycloakify) !== null && _a !== void 0 ? _a : {}).keycloakifyBuildDirPath, keycloakifyBuildDirPath = _b === void 0 ? undefined : _b;
150
+ if (keycloakifyBuildDirPath === undefined) {
151
+ return (0, path_1.join)(projectDirPath, "build_keycloak");
152
+ }
153
+ if (path_1.sep === "\\") {
154
+ keycloakifyBuildDirPath = keycloakifyBuildDirPath.replace(/\//g, path_1.sep);
155
+ }
156
+ if (keycloakifyBuildDirPath.startsWith(".".concat(path_1.sep))) {
157
+ return (0, path_1.join)(projectDirPath, keycloakifyBuildDirPath);
158
+ }
159
+ return keycloakifyBuildDirPath;
160
+ })(),
104
161
  "customUserAttributes": (_e = keycloakify.customUserAttributes) !== null && _e !== void 0 ? _e : []
105
162
  };
106
163
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"BuildOptions.js","sourceRoot":"","sources":["../../src/bin/keycloakify/BuildOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuildOptions.js","sourceRoot":"","sources":["../../src/bin/keycloakify/BuildOptions.ts"],"names":[],"mappings":"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"}
@@ -74,45 +74,39 @@ 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 build_paths_1 = require("./build-paths");
78
- var build_paths_2 = require("./build-paths");
77
+ var getSrcDirPath_1 = require("../getSrcDirPath");
79
78
  function main() {
80
79
  return __awaiter(this, void 0, void 0, function () {
81
- var _a, isSilent, hasExternalAssets, logger, buildOptions, doBundlesEmailTemplate, jarFilePath, _b, containerKeycloakVersion;
80
+ var _a, isSilent, hasExternalAssets, logger, projectDirPath, buildOptions, doBundlesEmailTemplate, jarFilePath, _b, containerKeycloakVersion;
82
81
  return __generator(this, function (_c) {
83
82
  switch (_c.label) {
84
83
  case 0:
85
84
  _a = (0, cliOptions_1.getCliOptions)(process.argv.slice(2)), isSilent = _a.isSilent, hasExternalAssets = _a.hasExternalAssets;
86
85
  logger = (0, logger_1.getLogger)({ isSilent: isSilent });
87
86
  logger.log("🔏 Building the keycloak theme...⌚");
87
+ projectDirPath = process.cwd();
88
88
  buildOptions = (0, BuildOptions_1.readBuildOptions)({
89
- "CNAME": (function () {
90
- var cnameFilePath = (0, build_paths_2.getCnamePath)();
91
- if (!fs.existsSync(cnameFilePath)) {
92
- return undefined;
93
- }
94
- return fs.readFileSync(cnameFilePath).toString("utf8");
95
- })(),
89
+ projectDirPath: projectDirPath,
96
90
  "isExternalAssetsCliParamProvided": hasExternalAssets,
97
91
  "isSilent": isSilent
98
92
  });
99
93
  return [4 /*yield*/, (0, generateKeycloakThemeResources_1.generateKeycloakThemeResources)({
100
- keycloakThemeBuildingDirPath: buildOptions.keycloakBuildPath,
94
+ keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
101
95
  "emailThemeSrcDirPath": (function () {
102
- var emailThemeSrcDirPath = (0, build_paths_1.getEmailThemeSrcDirPath)().emailThemeSrcDirPath;
96
+ var emailThemeSrcDirPath = (0, getSrcDirPath_1.getEmailThemeSrcDirPath)({ projectDirPath: projectDirPath }).emailThemeSrcDirPath;
103
97
  if (emailThemeSrcDirPath === undefined || !fs.existsSync(emailThemeSrcDirPath)) {
104
98
  return;
105
99
  }
106
100
  return emailThemeSrcDirPath;
107
101
  })(),
108
- "reactAppBuildDirPath": (0, build_paths_2.getAppInputPath)(),
102
+ "reactAppBuildDirPath": buildOptions.reactAppBuildDirPath,
109
103
  buildOptions: buildOptions,
110
104
  "keycloakVersion": buildOptions.keycloakVersionDefaultAssets
111
105
  })];
112
106
  case 1:
113
107
  doBundlesEmailTemplate = (_c.sent()).doBundlesEmailTemplate;
114
108
  jarFilePath = (0, generateJavaStackFiles_1.generateJavaStackFiles)({
115
- keycloakThemeBuildingDirPath: buildOptions.keycloakBuildPath,
109
+ keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
116
110
  doBundlesEmailTemplate: doBundlesEmailTemplate,
117
111
  buildOptions: buildOptions
118
112
  }).jarFilePath;
@@ -129,7 +123,7 @@ function main() {
129
123
  case 3:
130
124
  logger.log("🫶 Let keycloakify do its thang");
131
125
  return [4 /*yield*/, (0, jar_1.default)({
132
- "rootPath": (0, path_1.join)(buildOptions.keycloakBuildPath, "src", "main", "resources"),
126
+ "rootPath": (0, path_1.join)(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources"),
133
127
  "version": buildOptions.version,
134
128
  "groupId": buildOptions.groupId,
135
129
  "artifactId": buildOptions.artifactId,
@@ -140,7 +134,7 @@ function main() {
140
134
  return [3 /*break*/, 7];
141
135
  case 5:
142
136
  logger.log("🫙 Run maven to deliver a jar");
143
- child_process.execSync("mvn package", { "cwd": buildOptions.keycloakBuildPath });
137
+ child_process.execSync("mvn package", { "cwd": buildOptions.keycloakifyBuildDirPath });
144
138
  return [3 /*break*/, 7];
145
139
  case 6:
146
140
  (0, assert_1.assert)(false);
@@ -148,13 +142,13 @@ function main() {
148
142
  case 7:
149
143
  containerKeycloakVersion = "20.0.1";
150
144
  (0, generateStartKeycloakTestingContainer_1.generateStartKeycloakTestingContainer)({
151
- keycloakThemeBuildingDirPath: buildOptions.keycloakBuildPath,
145
+ keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
152
146
  "keycloakVersion": containerKeycloakVersion,
153
147
  buildOptions: buildOptions
154
148
  });
155
149
  logger.log([
156
150
  "",
157
- "\u2705 Your keycloak theme has been generated and bundled into ./".concat((0, path_1.relative)((0, build_paths_2.getReactProjectDirPath)(), jarFilePath), " \uD83D\uDE80"),
151
+ "\u2705 Your keycloak theme has been generated and bundled into .".concat(path_1.sep).concat((0, path_1.relative)(projectDirPath, jarFilePath), " \uD83D\uDE80"),
158
152
  "It is to be placed in \"/opt/keycloak/providers\" in the container running a quay.io/keycloak/keycloak Docker image.",
159
153
  "",
160
154
  //TODO: Restore when we find a good Helm chart for Keycloak.
@@ -188,7 +182,7 @@ function main() {
188
182
  "",
189
183
  "To test your theme locally you can spin up a Keycloak ".concat(containerKeycloakVersion, " container image with the theme pre loaded by running:"),
190
184
  "",
191
- "\uD83D\uDC49 $ .".concat(path_1.sep).concat((0, path_1.relative)((0, build_paths_2.getReactProjectDirPath)(), (0, path_1.join)((0, build_paths_2.getKeycloakBuildPath)(), generateStartKeycloakTestingContainer_1.generateStartKeycloakTestingContainer.basename)), " \uD83D\uDC48"),
185
+ "\uD83D\uDC49 $ .".concat(path_1.sep).concat((0, path_1.relative)(projectDirPath, (0, path_1.join)(buildOptions.keycloakifyBuildDirPath, generateStartKeycloakTestingContainer_1.generateStartKeycloakTestingContainer.basename)), " \uD83D\uDC48"),
192
186
  "",
193
187
  "Test with different Keycloak versions by editing the .sh file. see available versions here: https://quay.io/repository/keycloak/keycloak?tab=tags",
194
188
  "",
@@ -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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"}
@@ -1,6 +1,29 @@
1
1
  export declare const bundlers: readonly ["mvn", "keycloakify", "none"];
2
2
  export type Bundler = (typeof bundlers)[number];
3
- export declare const getParsedPackageJson: () => {
3
+ export type ParsedPackageJson = {
4
+ name: string;
5
+ version: string;
6
+ homepage?: string;
7
+ keycloakify?: {
8
+ /** @deprecated: use extraLoginPages instead */
9
+ extraPages?: string[];
10
+ extraLoginPages?: string[];
11
+ extraAccountPages?: string[];
12
+ extraThemeProperties?: string[];
13
+ areAppAndKeycloakServerSharingSameDomain?: boolean;
14
+ artifactId?: string;
15
+ groupId?: string;
16
+ bundler?: Bundler;
17
+ keycloakVersionDefaultAssets?: string;
18
+ reactAppBuildDirPath?: string;
19
+ keycloakifyBuildDirPath?: string;
20
+ customUserAttributes?: string[];
21
+ themeName?: string;
22
+ };
23
+ };
24
+ export declare function getParsedPackageJson(params: {
25
+ projectDirPath: string;
26
+ }): {
4
27
  name: string;
5
28
  version: string;
6
29
  homepage?: string | undefined;
@@ -14,8 +37,8 @@ export declare const getParsedPackageJson: () => {
14
37
  groupId?: string | undefined;
15
38
  bundler?: "keycloakify" | "none" | "mvn" | undefined;
16
39
  keycloakVersionDefaultAssets?: string | undefined;
17
- appInputPath?: string | undefined;
18
- keycloakBuildPath?: string | undefined;
40
+ reactAppBuildDirPath?: string | undefined;
41
+ keycloakifyBuildDirPath?: string | undefined;
19
42
  customUserAttributes?: string[] | undefined;
20
43
  themeName?: string | undefined;
21
44
  } | undefined;
@@ -28,7 +28,6 @@ var fs = __importStar(require("fs"));
28
28
  var tsafe_1 = require("tsafe");
29
29
  var zod_1 = require("zod");
30
30
  var pathJoin_1 = require("../tools/pathJoin");
31
- var reactProjectDirPath = process.cwd();
32
31
  exports.bundlers = ["mvn", "keycloakify", "none"];
33
32
  var zParsedPackageJson = zod_1.z.object({
34
33
  "name": zod_1.z.string(),
@@ -45,8 +44,8 @@ var zParsedPackageJson = zod_1.z.object({
45
44
  "groupId": zod_1.z.string().optional(),
46
45
  "bundler": zod_1.z.enum(exports.bundlers).optional(),
47
46
  "keycloakVersionDefaultAssets": zod_1.z.string().optional(),
48
- "appInputPath": zod_1.z.string().optional(),
49
- "keycloakBuildPath": zod_1.z.string().optional(),
47
+ "reactAppBuildDirPath": zod_1.z.string().optional(),
48
+ "keycloakifyBuildDirPath": zod_1.z.string().optional(),
50
49
  "customUserAttributes": zod_1.z.array(zod_1.z.string()).optional(),
51
50
  "themeName": zod_1.z.string().optional()
52
51
  })
@@ -54,11 +53,13 @@ var zParsedPackageJson = zod_1.z.object({
54
53
  });
55
54
  (0, tsafe_1.assert)();
56
55
  var parsedPackageJson;
57
- var getParsedPackageJson = function () {
58
- if (parsedPackageJson)
56
+ function getParsedPackageJson(params) {
57
+ var projectDirPath = params.projectDirPath;
58
+ if (parsedPackageJson) {
59
59
  return parsedPackageJson;
60
- parsedPackageJson = zParsedPackageJson.parse(JSON.parse(fs.readFileSync((0, pathJoin_1.pathJoin)(reactProjectDirPath, "package.json")).toString("utf8")));
60
+ }
61
+ parsedPackageJson = zParsedPackageJson.parse(JSON.parse(fs.readFileSync((0, pathJoin_1.pathJoin)(projectDirPath, "package.json")).toString("utf8")));
61
62
  return parsedPackageJson;
62
- };
63
+ }
63
64
  exports.getParsedPackageJson = getParsedPackageJson;
64
65
  //# sourceMappingURL=parsedPackageJson.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsedPackageJson.js","sourceRoot":"","sources":["../../src/bin/keycloakify/parsedPackageJson.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAA+B;AAE/B,2BAAwB;AACxB,8CAA6C;AAE7C,IAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7B,QAAA,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;AAwBhE,IAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,OAAC;SACX,MAAM,CAAC;QACJ,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjD,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnD,sBAAsB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,0CAA0C,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClE,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,gBAAQ,CAAC,CAAC,QAAQ,EAAE;QACtC,8BAA8B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrD,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1C,sBAAsB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC;SACD,QAAQ,EAAE;CAClB,CAAC,CAAC;AAEH,IAAA,cAAM,GAA+E,CAAC;AAEtF,IAAI,iBAA+E,CAAC;AAC7E,IAAM,oBAAoB,GAAG;IAChC,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAChD,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAA,mBAAQ,EAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1I,OAAO,iBAAiB,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B"}
1
+ {"version":3,"file":"parsedPackageJson.js","sourceRoot":"","sources":["../../src/bin/keycloakify/parsedPackageJson.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+BAA+B;AAE/B,2BAAwB;AACxB,8CAA6C;AAEhC,QAAA,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAU,CAAC;AAwBhE,IAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,OAAC;SACX,MAAM,CAAC;QACJ,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjD,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnD,sBAAsB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,0CAA0C,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClE,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,gBAAQ,CAAC,CAAC,QAAQ,EAAE;QACtC,8BAA8B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrD,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7C,yBAAyB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChD,sBAAsB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC;SACD,QAAQ,EAAE;CAClB,CAAC,CAAC;AAEH,IAAA,cAAM,GAA+E,CAAC;AAEtF,IAAI,iBAA+E,CAAC;AACpF,SAAgB,oBAAoB,CAAC,MAAkC;IAC3D,IAAA,cAAc,GAAK,MAAM,eAAX,CAAY;IAClC,IAAI,iBAAiB,EAAE;QACnB,OAAO,iBAAiB,CAAC;KAC5B;IACD,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAA,mBAAQ,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrI,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAPD,oDAOC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "7.6.1",
3
+ "version": "7.6.2",
4
4
  "description": "Create Keycloak themes using React",
5
5
  "repository": {
6
6
  "type": "git",
@@ -68,9 +68,9 @@
68
68
  "src/account/pages/Password.tsx",
69
69
  "src/bin/download-builtin-keycloak-theme.ts",
70
70
  "src/bin/eject-keycloak-page.ts",
71
+ "src/bin/getSrcDirPath.ts",
71
72
  "src/bin/initialize-email-theme.ts",
72
73
  "src/bin/keycloakify/BuildOptions.ts",
73
- "src/bin/keycloakify/build-paths.ts",
74
74
  "src/bin/keycloakify/ftlValuesGlobalName.ts",
75
75
  "src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl",
76
76
  "src/bin/keycloakify/generateFtl/generateFtl.ts",
@@ -315,15 +315,15 @@
315
315
  "bin/eject-keycloak-page.d.ts",
316
316
  "bin/eject-keycloak-page.js",
317
317
  "bin/eject-keycloak-page.js.map",
318
+ "bin/getSrcDirPath.d.ts",
319
+ "bin/getSrcDirPath.js",
320
+ "bin/getSrcDirPath.js.map",
318
321
  "bin/initialize-email-theme.d.ts",
319
322
  "bin/initialize-email-theme.js",
320
323
  "bin/initialize-email-theme.js.map",
321
324
  "bin/keycloakify/BuildOptions.d.ts",
322
325
  "bin/keycloakify/BuildOptions.js",
323
326
  "bin/keycloakify/BuildOptions.js.map",
324
- "bin/keycloakify/build-paths.d.ts",
325
- "bin/keycloakify/build-paths.js",
326
- "bin/keycloakify/build-paths.js.map",
327
327
  "bin/keycloakify/ftlValuesGlobalName.d.ts",
328
328
  "bin/keycloakify/ftlValuesGlobalName.js",
329
329
  "bin/keycloakify/ftlValuesGlobalName.js.map",
@@ -4,7 +4,7 @@ import { downloadAndUnzip } from "./tools/downloadAndUnzip";
4
4
  import { promptKeycloakVersion } from "./promptKeycloakVersion";
5
5
  import { getCliOptions } from "./tools/cliOptions";
6
6
  import { getLogger } from "./tools/logger";
7
- import { getKeycloakBuildPath } from "./keycloakify/build-paths";
7
+ import { readBuildOptions } from "./keycloakify/BuildOptions";
8
8
 
9
9
  export async function downloadBuiltinKeycloakTheme(params: { keycloakVersion: string; destDirPath: string; isSilent: boolean }) {
10
10
  const { keycloakVersion, destDirPath } = params;
@@ -25,7 +25,17 @@ async function main() {
25
25
  const logger = getLogger({ isSilent });
26
26
  const { keycloakVersion } = await promptKeycloakVersion();
27
27
 
28
- const destDirPath = pathJoin(getKeycloakBuildPath(), "src", "main", "resources", "theme");
28
+ const destDirPath = pathJoin(
29
+ readBuildOptions({
30
+ "isSilent": true,
31
+ "isExternalAssetsCliParamProvided": false,
32
+ "projectDirPath": process.cwd()
33
+ }).keycloakifyBuildDirPath,
34
+ "src",
35
+ "main",
36
+ "resources",
37
+ "theme"
38
+ );
29
39
 
30
40
  logger.log(`Downloading builtins theme of Keycloak ${keycloakVersion} here ${destDirPath}`);
31
41
 
@@ -16,10 +16,10 @@ import { existsSync } from "fs";
16
16
  import { join as pathJoin, relative as pathRelative } from "path";
17
17
  import { kebabCaseToCamelCase } from "./tools/kebabCaseToSnakeCase";
18
18
  import { assert, Equals } from "tsafe/assert";
19
- import { getThemeSrcDirPath } from "./keycloakify/build-paths";
19
+ import { getThemeSrcDirPath } from "./getSrcDirPath";
20
20
 
21
21
  (async () => {
22
- const projectRootDir = getProjectRoot();
22
+ const projectDirPath = getProjectRoot();
23
23
 
24
24
  console.log("Select a theme type");
25
25
 
@@ -51,7 +51,7 @@ import { getThemeSrcDirPath } from "./keycloakify/build-paths";
51
51
 
52
52
  const pageBasename = capitalize(kebabCaseToCamelCase(pageId)).replace(/ftl$/, "tsx");
53
53
 
54
- const { themeSrcDirPath } = getThemeSrcDirPath();
54
+ const { themeSrcDirPath } = getThemeSrcDirPath({ "projectDirPath": projectDirPath });
55
55
 
56
56
  if (themeSrcDirPath === undefined) {
57
57
  throw new Error("Couldn't locate your theme sources");
@@ -65,7 +65,7 @@ import { getThemeSrcDirPath } from "./keycloakify/build-paths";
65
65
  process.exit(-1);
66
66
  }
67
67
 
68
- writeFile(targetFilePath, await readFile(pathJoin(projectRootDir, "src", themeType, "pages", pageBasename)));
68
+ writeFile(targetFilePath, await readFile(pathJoin(projectDirPath, "src", themeType, "pages", pageBasename)));
69
69
 
70
70
  console.log(`${pathRelative(process.cwd(), targetFilePath)} created`);
71
71
  })();
@@ -0,0 +1,43 @@
1
+ import * as fs from "fs";
2
+ import { exclude } from "tsafe";
3
+ import { crawl } from "./tools/crawl";
4
+ import { join as pathJoin } from "path";
5
+
6
+ const themeSrcDirBasename = "keycloak-theme";
7
+
8
+ export function getThemeSrcDirPath(params: { projectDirPath: string }) {
9
+ const { projectDirPath } = params;
10
+
11
+ const srcDirPath = pathJoin(projectDirPath, "src");
12
+
13
+ const themeSrcDirPath: string | undefined = crawl(srcDirPath)
14
+ .map(fileRelativePath => {
15
+ const split = fileRelativePath.split(themeSrcDirBasename);
16
+
17
+ if (split.length !== 2) {
18
+ return undefined;
19
+ }
20
+
21
+ return pathJoin(srcDirPath, split[0] + themeSrcDirBasename);
22
+ })
23
+ .filter(exclude(undefined))[0];
24
+
25
+ if (themeSrcDirPath === undefined) {
26
+ if (fs.existsSync(pathJoin(srcDirPath, "login")) || fs.existsSync(pathJoin(srcDirPath, "account"))) {
27
+ return { "themeSrcDirPath": srcDirPath };
28
+ }
29
+ return { "themeSrcDirPath": undefined };
30
+ }
31
+
32
+ return { themeSrcDirPath };
33
+ }
34
+
35
+ export function getEmailThemeSrcDirPath(params: { projectDirPath: string }) {
36
+ const { projectDirPath } = params;
37
+
38
+ const { themeSrcDirPath } = getThemeSrcDirPath({ projectDirPath });
39
+
40
+ const emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : pathJoin(themeSrcDirPath, "email");
41
+
42
+ return { emailThemeSrcDirPath };
43
+ }
@@ -7,13 +7,15 @@ import { promptKeycloakVersion } from "./promptKeycloakVersion";
7
7
  import * as fs from "fs";
8
8
  import { getCliOptions } from "./tools/cliOptions";
9
9
  import { getLogger } from "./tools/logger";
10
- import { getEmailThemeSrcDirPath } from "./keycloakify/build-paths";
10
+ import { getEmailThemeSrcDirPath } from "./getSrcDirPath";
11
11
 
12
12
  export async function main() {
13
13
  const { isSilent } = getCliOptions(process.argv.slice(2));
14
14
  const logger = getLogger({ isSilent });
15
15
 
16
- const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath();
16
+ const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath({
17
+ "projectDirPath": process.cwd()
18
+ });
17
19
 
18
20
  if (emailThemeSrcDirPath === undefined) {
19
21
  logger.warn("Couldn't locate your theme source directory");
@@ -4,7 +4,8 @@ import { parse as urlParse } from "url";
4
4
  import { typeGuard } from "tsafe/typeGuard";
5
5
  import { symToStr } from "tsafe/symToStr";
6
6
  import { bundlers, getParsedPackageJson, type Bundler } from "./parsedPackageJson";
7
- import { getAppInputPath, getKeycloakBuildPath } from "./build-paths";
7
+ import * as fs from "fs";
8
+ import { join as pathJoin, sep as pathSep } from "path";
8
9
 
9
10
  /** Consolidated build option gathered form CLI arguments and config in package.json */
10
11
  export type BuildOptions = BuildOptions.Standalone | BuildOptions.ExternalAssets;
@@ -21,10 +22,10 @@ export namespace BuildOptions {
21
22
  artifactId: string;
22
23
  bundler: Bundler;
23
24
  keycloakVersionDefaultAssets: string;
24
- // Directory of your built react project. Defaults to {cwd}/build
25
- appInputPath: string;
26
- // Directory that keycloakify outputs to. Defaults to {cwd}/build_keycloak
27
- keycloakBuildPath: string;
25
+ /** Directory of your built react project. Defaults to {cwd}/build */
26
+ reactAppBuildDirPath: string;
27
+ /** Directory that keycloakify outputs to. Defaults to {cwd}/build_keycloak */
28
+ keycloakifyBuildDirPath: string;
28
29
  customUserAttributes: string[];
29
30
  };
30
31
 
@@ -52,10 +53,10 @@ export namespace BuildOptions {
52
53
  }
53
54
  }
54
55
 
55
- export function readBuildOptions(params: { CNAME: string | undefined; isExternalAssetsCliParamProvided: boolean; isSilent: boolean }): BuildOptions {
56
- const { CNAME, isExternalAssetsCliParamProvided, isSilent } = params;
56
+ export function readBuildOptions(params: { projectDirPath: string; isExternalAssetsCliParamProvided: boolean; isSilent: boolean }): BuildOptions {
57
+ const { projectDirPath, isExternalAssetsCliParamProvided, isSilent } = params;
57
58
 
58
- const parsedPackageJson = getParsedPackageJson();
59
+ const parsedPackageJson = getParsedPackageJson({ projectDirPath });
59
60
 
60
61
  const url = (() => {
61
62
  const { homepage } = parsedPackageJson;
@@ -66,6 +67,16 @@ export function readBuildOptions(params: { CNAME: string | undefined; isExternal
66
67
  url = new URL(homepage);
67
68
  }
68
69
 
70
+ const CNAME = (() => {
71
+ const cnameFilePath = pathJoin(projectDirPath, "public", "CNAME");
72
+
73
+ if (!fs.existsSync(cnameFilePath)) {
74
+ return undefined;
75
+ }
76
+
77
+ return fs.readFileSync(cnameFilePath).toString("utf8");
78
+ })();
79
+
69
80
  if (CNAME !== undefined) {
70
81
  url = new URL(`https://${CNAME.replace(/\s+$/, "")}`);
71
82
  }
@@ -134,8 +145,40 @@ export function readBuildOptions(params: { CNAME: string | undefined; isExternal
134
145
  extraThemeProperties,
135
146
  isSilent,
136
147
  "keycloakVersionDefaultAssets": keycloakVersionDefaultAssets ?? "11.0.3",
137
- appInputPath: getAppInputPath(),
138
- keycloakBuildPath: getKeycloakBuildPath(),
148
+ "reactAppBuildDirPath": (() => {
149
+ let { reactAppBuildDirPath = undefined } = parsedPackageJson.keycloakify ?? {};
150
+
151
+ if (reactAppBuildDirPath === undefined) {
152
+ return pathJoin(projectDirPath, "build");
153
+ }
154
+
155
+ if (pathSep === "\\") {
156
+ reactAppBuildDirPath = reactAppBuildDirPath.replace(/\//g, pathSep);
157
+ }
158
+
159
+ if (reactAppBuildDirPath.startsWith(`.${pathSep}`)) {
160
+ return pathJoin(projectDirPath, reactAppBuildDirPath);
161
+ }
162
+
163
+ return reactAppBuildDirPath;
164
+ })(),
165
+ "keycloakifyBuildDirPath": (() => {
166
+ let { keycloakifyBuildDirPath = undefined } = parsedPackageJson.keycloakify ?? {};
167
+
168
+ if (keycloakifyBuildDirPath === undefined) {
169
+ return pathJoin(projectDirPath, "build_keycloak");
170
+ }
171
+
172
+ if (pathSep === "\\") {
173
+ keycloakifyBuildDirPath = keycloakifyBuildDirPath.replace(/\//g, pathSep);
174
+ }
175
+
176
+ if (keycloakifyBuildDirPath.startsWith(`.${pathSep}`)) {
177
+ return pathJoin(projectDirPath, keycloakifyBuildDirPath);
178
+ }
179
+
180
+ return keycloakifyBuildDirPath;
181
+ })(),
139
182
  "customUserAttributes": keycloakify.customUserAttributes ?? []
140
183
  };
141
184
  })();
@@ -10,32 +10,25 @@ import { getCliOptions } from "../tools/cliOptions";
10
10
  import jar from "../tools/jar";
11
11
  import { assert } from "tsafe/assert";
12
12
  import { Equals } from "tsafe";
13
- import { getEmailThemeSrcDirPath } from "./build-paths";
14
- import { getCnamePath, getAppInputPath, getKeycloakBuildPath, getReactProjectDirPath } from "./build-paths";
13
+ import { getEmailThemeSrcDirPath } from "../getSrcDirPath";
15
14
 
16
15
  export async function main() {
17
16
  const { isSilent, hasExternalAssets } = getCliOptions(process.argv.slice(2));
18
17
  const logger = getLogger({ isSilent });
19
18
  logger.log("🔏 Building the keycloak theme...⌚");
20
19
 
21
- const buildOptions = readBuildOptions({
22
- "CNAME": (() => {
23
- const cnameFilePath = getCnamePath();
24
-
25
- if (!fs.existsSync(cnameFilePath)) {
26
- return undefined;
27
- }
20
+ const projectDirPath = process.cwd();
28
21
 
29
- return fs.readFileSync(cnameFilePath).toString("utf8");
30
- })(),
22
+ const buildOptions = readBuildOptions({
23
+ projectDirPath,
31
24
  "isExternalAssetsCliParamProvided": hasExternalAssets,
32
25
  "isSilent": isSilent
33
26
  });
34
27
 
35
28
  const { doBundlesEmailTemplate } = await generateKeycloakThemeResources({
36
- keycloakThemeBuildingDirPath: buildOptions.keycloakBuildPath,
29
+ keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
37
30
  "emailThemeSrcDirPath": (() => {
38
- const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath();
31
+ const { emailThemeSrcDirPath } = getEmailThemeSrcDirPath({ projectDirPath });
39
32
 
40
33
  if (emailThemeSrcDirPath === undefined || !fs.existsSync(emailThemeSrcDirPath)) {
41
34
  return;
@@ -43,13 +36,13 @@ export async function main() {
43
36
 
44
37
  return emailThemeSrcDirPath;
45
38
  })(),
46
- "reactAppBuildDirPath": getAppInputPath(),
39
+ "reactAppBuildDirPath": buildOptions.reactAppBuildDirPath,
47
40
  buildOptions,
48
41
  "keycloakVersion": buildOptions.keycloakVersionDefaultAssets
49
42
  });
50
43
 
51
44
  const { jarFilePath } = generateJavaStackFiles({
52
- keycloakThemeBuildingDirPath: buildOptions.keycloakBuildPath,
45
+ keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
53
46
  doBundlesEmailTemplate,
54
47
  buildOptions
55
48
  });
@@ -61,7 +54,7 @@ export async function main() {
61
54
  case "keycloakify":
62
55
  logger.log("🫶 Let keycloakify do its thang");
63
56
  await jar({
64
- "rootPath": pathJoin(buildOptions.keycloakBuildPath, "src", "main", "resources"),
57
+ "rootPath": pathJoin(buildOptions.keycloakifyBuildDirPath, "src", "main", "resources"),
65
58
  "version": buildOptions.version,
66
59
  "groupId": buildOptions.groupId,
67
60
  "artifactId": buildOptions.artifactId,
@@ -70,7 +63,7 @@ export async function main() {
70
63
  break;
71
64
  case "mvn":
72
65
  logger.log("🫙 Run maven to deliver a jar");
73
- child_process.execSync("mvn package", { "cwd": buildOptions.keycloakBuildPath });
66
+ child_process.execSync("mvn package", { "cwd": buildOptions.keycloakifyBuildDirPath });
74
67
  break;
75
68
  default:
76
69
  assert<Equals<typeof buildOptions.bundler, never>>(false);
@@ -80,7 +73,7 @@ export async function main() {
80
73
  const containerKeycloakVersion = "20.0.1";
81
74
 
82
75
  generateStartKeycloakTestingContainer({
83
- keycloakThemeBuildingDirPath: buildOptions.keycloakBuildPath,
76
+ keycloakThemeBuildingDirPath: buildOptions.keycloakifyBuildDirPath,
84
77
  "keycloakVersion": containerKeycloakVersion,
85
78
  buildOptions
86
79
  });
@@ -88,7 +81,7 @@ export async function main() {
88
81
  logger.log(
89
82
  [
90
83
  "",
91
- `✅ Your keycloak theme has been generated and bundled into ./${pathRelative(getReactProjectDirPath(), jarFilePath)} 🚀`,
84
+ `✅ Your keycloak theme has been generated and bundled into .${pathSep}${pathRelative(projectDirPath, jarFilePath)} 🚀`,
92
85
  `It is to be placed in "/opt/keycloak/providers" in the container running a quay.io/keycloak/keycloak Docker image.`,
93
86
  "",
94
87
  //TODO: Restore when we find a good Helm chart for Keycloak.
@@ -123,8 +116,8 @@ export async function main() {
123
116
  `To test your theme locally you can spin up a Keycloak ${containerKeycloakVersion} container image with the theme pre loaded by running:`,
124
117
  "",
125
118
  `👉 $ .${pathSep}${pathRelative(
126
- getReactProjectDirPath(),
127
- pathJoin(getKeycloakBuildPath(), generateStartKeycloakTestingContainer.basename)
119
+ projectDirPath,
120
+ pathJoin(buildOptions.keycloakifyBuildDirPath, generateStartKeycloakTestingContainer.basename)
128
121
  )} 👈`,
129
122
  "",
130
123
  `Test with different Keycloak versions by editing the .sh file. see available versions here: https://quay.io/repository/keycloak/keycloak?tab=tags`,
@@ -4,10 +4,9 @@ import type { Equals } from "tsafe";
4
4
  import { z } from "zod";
5
5
  import { pathJoin } from "../tools/pathJoin";
6
6
 
7
- const reactProjectDirPath = process.cwd();
8
7
  export const bundlers = ["mvn", "keycloakify", "none"] as const;
9
8
  export type Bundler = (typeof bundlers)[number];
10
- type ParsedPackageJson = {
9
+ export type ParsedPackageJson = {
11
10
  name: string;
12
11
  version: string;
13
12
  homepage?: string;
@@ -22,8 +21,8 @@ type ParsedPackageJson = {
22
21
  groupId?: string;
23
22
  bundler?: Bundler;
24
23
  keycloakVersionDefaultAssets?: string;
25
- appInputPath?: string;
26
- keycloakBuildPath?: string;
24
+ reactAppBuildDirPath?: string;
25
+ keycloakifyBuildDirPath?: string;
27
26
  customUserAttributes?: string[];
28
27
  themeName?: string;
29
28
  };
@@ -44,8 +43,8 @@ const zParsedPackageJson = z.object({
44
43
  "groupId": z.string().optional(),
45
44
  "bundler": z.enum(bundlers).optional(),
46
45
  "keycloakVersionDefaultAssets": z.string().optional(),
47
- "appInputPath": z.string().optional(),
48
- "keycloakBuildPath": z.string().optional(),
46
+ "reactAppBuildDirPath": z.string().optional(),
47
+ "keycloakifyBuildDirPath": z.string().optional(),
49
48
  "customUserAttributes": z.array(z.string()).optional(),
50
49
  "themeName": z.string().optional()
51
50
  })
@@ -55,8 +54,11 @@ const zParsedPackageJson = z.object({
55
54
  assert<Equals<ReturnType<(typeof zParsedPackageJson)["parse"]>, ParsedPackageJson>>();
56
55
 
57
56
  let parsedPackageJson: undefined | ReturnType<(typeof zParsedPackageJson)["parse"]>;
58
- export const getParsedPackageJson = () => {
59
- if (parsedPackageJson) return parsedPackageJson;
60
- parsedPackageJson = zParsedPackageJson.parse(JSON.parse(fs.readFileSync(pathJoin(reactProjectDirPath, "package.json")).toString("utf8")));
57
+ export function getParsedPackageJson(params: { projectDirPath: string }) {
58
+ const { projectDirPath } = params;
59
+ if (parsedPackageJson) {
60
+ return parsedPackageJson;
61
+ }
62
+ parsedPackageJson = zParsedPackageJson.parse(JSON.parse(fs.readFileSync(pathJoin(projectDirPath, "package.json")).toString("utf8")));
61
63
  return parsedPackageJson;
62
- };
64
+ }
@@ -1,12 +0,0 @@
1
- export declare const getReactProjectDirPath: () => string;
2
- export declare const getCnamePath: () => string;
3
- export declare const getAppInputPath: () => string;
4
- export declare const getKeycloakBuildPath: () => string;
5
- export declare const getThemeSrcDirPath: () => {
6
- themeSrcDirPath: string;
7
- } | {
8
- themeSrcDirPath: undefined;
9
- };
10
- export declare const getEmailThemeSrcDirPath: () => {
11
- emailThemeSrcDirPath: string | undefined;
12
- };
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getEmailThemeSrcDirPath = exports.getThemeSrcDirPath = exports.getKeycloakBuildPath = exports.getAppInputPath = exports.getCnamePath = exports.getReactProjectDirPath = void 0;
27
- var fs = __importStar(require("fs"));
28
- var tsafe_1 = require("tsafe");
29
- var crawl_1 = require("../tools/crawl");
30
- var pathJoin_1 = require("../tools/pathJoin");
31
- var parsedPackageJson_1 = require("./parsedPackageJson");
32
- var DEFAULT_APP_INPUT_PATH = "build";
33
- var DEFAULT_KEYCLOAK_BUILD_PATH = "build_keycloak";
34
- var THEME_SRC_DIR_BASENAME = "keycloak-theme";
35
- var getReactProjectDirPath = function () { return process.cwd(); };
36
- exports.getReactProjectDirPath = getReactProjectDirPath;
37
- var getCnamePath = function () { return (0, pathJoin_1.pathJoin)((0, exports.getReactProjectDirPath)(), "public", "CNAME"); };
38
- exports.getCnamePath = getCnamePath;
39
- var parseAppInputPath = function (path) {
40
- if (!path) {
41
- return (0, pathJoin_1.pathJoin)(process.cwd(), DEFAULT_APP_INPUT_PATH);
42
- }
43
- else if (path.startsWith("./")) {
44
- return (0, pathJoin_1.pathJoin)(process.cwd(), path.replace("./", ""));
45
- }
46
- return path;
47
- };
48
- var parseKeycloakBuildPath = function (path) {
49
- if (!path) {
50
- return (0, pathJoin_1.pathJoin)(process.cwd(), DEFAULT_KEYCLOAK_BUILD_PATH);
51
- }
52
- else if (path.startsWith("./")) {
53
- return (0, pathJoin_1.pathJoin)(process.cwd(), path.replace("./", ""));
54
- }
55
- return path;
56
- };
57
- var getAppInputPath = function () {
58
- var _a;
59
- return parseAppInputPath((_a = (0, parsedPackageJson_1.getParsedPackageJson)().keycloakify) === null || _a === void 0 ? void 0 : _a.appInputPath);
60
- };
61
- exports.getAppInputPath = getAppInputPath;
62
- var getKeycloakBuildPath = function () {
63
- var _a;
64
- return parseKeycloakBuildPath((_a = (0, parsedPackageJson_1.getParsedPackageJson)().keycloakify) === null || _a === void 0 ? void 0 : _a.keycloakBuildPath);
65
- };
66
- exports.getKeycloakBuildPath = getKeycloakBuildPath;
67
- var getThemeSrcDirPath = function () {
68
- var srcDirPath = (0, pathJoin_1.pathJoin)((0, exports.getReactProjectDirPath)(), "src");
69
- var themeSrcDirPath = (0, crawl_1.crawl)(srcDirPath)
70
- .map(function (fileRelativePath) {
71
- var split = fileRelativePath.split(THEME_SRC_DIR_BASENAME);
72
- if (split.length !== 2) {
73
- return undefined;
74
- }
75
- return (0, pathJoin_1.pathJoin)(srcDirPath, split[0] + THEME_SRC_DIR_BASENAME);
76
- })
77
- .filter((0, tsafe_1.exclude)(undefined))[0];
78
- if (themeSrcDirPath === undefined) {
79
- if (fs.existsSync((0, pathJoin_1.pathJoin)(srcDirPath, "login")) || fs.existsSync((0, pathJoin_1.pathJoin)(srcDirPath, "account"))) {
80
- return { "themeSrcDirPath": srcDirPath };
81
- }
82
- return { "themeSrcDirPath": undefined };
83
- }
84
- return { themeSrcDirPath: themeSrcDirPath };
85
- };
86
- exports.getThemeSrcDirPath = getThemeSrcDirPath;
87
- var getEmailThemeSrcDirPath = function () {
88
- var themeSrcDirPath = (0, exports.getThemeSrcDirPath)().themeSrcDirPath;
89
- var emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : (0, pathJoin_1.pathJoin)(themeSrcDirPath, "email");
90
- return { emailThemeSrcDirPath: emailThemeSrcDirPath };
91
- };
92
- exports.getEmailThemeSrcDirPath = getEmailThemeSrcDirPath;
93
- //# sourceMappingURL=build-paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-paths.js","sourceRoot":"","sources":["../../src/bin/keycloakify/build-paths.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import * as fs from "fs";
2
- import { exclude } from "tsafe";
3
- import { crawl } from "../tools/crawl";
4
- import { pathJoin } from "../tools/pathJoin";
5
- import { getParsedPackageJson } from "./parsedPackageJson";
6
-
7
- const DEFAULT_APP_INPUT_PATH = "build";
8
-
9
- const DEFAULT_KEYCLOAK_BUILD_PATH = "build_keycloak";
10
-
11
- const THEME_SRC_DIR_BASENAME = "keycloak-theme";
12
-
13
- export const getReactProjectDirPath = () => process.cwd();
14
-
15
- export const getCnamePath = () => pathJoin(getReactProjectDirPath(), "public", "CNAME");
16
-
17
- const parseAppInputPath = (path?: string) => {
18
- if (!path) {
19
- return pathJoin(process.cwd(), DEFAULT_APP_INPUT_PATH);
20
- } else if (path.startsWith("./")) {
21
- return pathJoin(process.cwd(), path.replace("./", ""));
22
- }
23
- return path;
24
- };
25
-
26
- const parseKeycloakBuildPath = (path?: string) => {
27
- if (!path) {
28
- return pathJoin(process.cwd(), DEFAULT_KEYCLOAK_BUILD_PATH);
29
- } else if (path.startsWith("./")) {
30
- return pathJoin(process.cwd(), path.replace("./", ""));
31
- }
32
- return path;
33
- };
34
-
35
- export const getAppInputPath = () => {
36
- return parseAppInputPath(getParsedPackageJson().keycloakify?.appInputPath);
37
- };
38
-
39
- export const getKeycloakBuildPath = () => {
40
- return parseKeycloakBuildPath(getParsedPackageJson().keycloakify?.keycloakBuildPath);
41
- };
42
- export const getThemeSrcDirPath = () => {
43
- const srcDirPath = pathJoin(getReactProjectDirPath(), "src");
44
-
45
- const themeSrcDirPath: string | undefined = crawl(srcDirPath)
46
- .map(fileRelativePath => {
47
- const split = fileRelativePath.split(THEME_SRC_DIR_BASENAME);
48
-
49
- if (split.length !== 2) {
50
- return undefined;
51
- }
52
-
53
- return pathJoin(srcDirPath, split[0] + THEME_SRC_DIR_BASENAME);
54
- })
55
- .filter(exclude(undefined))[0];
56
- if (themeSrcDirPath === undefined) {
57
- if (fs.existsSync(pathJoin(srcDirPath, "login")) || fs.existsSync(pathJoin(srcDirPath, "account"))) {
58
- return { "themeSrcDirPath": srcDirPath };
59
- }
60
- return { "themeSrcDirPath": undefined };
61
- }
62
-
63
- return { themeSrcDirPath };
64
- };
65
-
66
- export const getEmailThemeSrcDirPath = () => {
67
- const { themeSrcDirPath } = getThemeSrcDirPath();
68
-
69
- const emailThemeSrcDirPath = themeSrcDirPath === undefined ? undefined : pathJoin(themeSrcDirPath, "email");
70
-
71
- return { emailThemeSrcDirPath };
72
- };