keycloakify 4.7.6 → 4.8.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +45 -11
  3. package/bin/build-keycloak-theme/build-keycloak-theme.d.ts +1 -0
  4. package/bin/build-keycloak-theme/build-keycloak-theme.js +13 -8
  5. package/bin/build-keycloak-theme/build-keycloak-theme.js.map +1 -1
  6. package/bin/build-keycloak-theme/generateJavaStackFiles.d.ts +1 -0
  7. package/bin/build-keycloak-theme/generateJavaStackFiles.js +27 -2
  8. package/bin/build-keycloak-theme/generateJavaStackFiles.js.map +1 -1
  9. package/bin/build-keycloak-theme/generateKeycloakThemeResources.d.ts +4 -1
  10. package/bin/build-keycloak-theme/generateKeycloakThemeResources.js +18 -1
  11. package/bin/build-keycloak-theme/generateKeycloakThemeResources.js.map +1 -1
  12. package/bin/create-keycloak-theme-email-directory.d.ts +2 -0
  13. package/bin/create-keycloak-theme-email-directory.js +94 -0
  14. package/bin/create-keycloak-theme-email-directory.js.map +1 -0
  15. package/bin/download-builtin-keycloak-theme.js +54 -13
  16. package/bin/download-builtin-keycloak-theme.js.map +1 -1
  17. package/bin/promptKeycloakVersion.d.ts +3 -0
  18. package/bin/promptKeycloakVersion.js +91 -0
  19. package/bin/promptKeycloakVersion.js.map +1 -0
  20. package/bin/tools/NpmModuleVersion.d.ts +22 -0
  21. package/bin/tools/NpmModuleVersion.js +103 -0
  22. package/bin/tools/NpmModuleVersion.js.map +1 -0
  23. package/bin/tools/createOctokit.d.ts +5 -0
  24. package/bin/tools/createOctokit.js +21 -0
  25. package/bin/tools/createOctokit.js.map +1 -0
  26. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +15 -0
  27. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js +112 -0
  28. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js.map +1 -0
  29. package/bin/tools/octokit-addons/listTags.d.ts +13 -0
  30. package/bin/tools/octokit-addons/listTags.js +154 -0
  31. package/bin/tools/octokit-addons/listTags.js.map +1 -0
  32. package/lib/i18n/KcLanguageTag.d.ts +1 -1
  33. package/lib/i18n/useKcLanguageTag.d.ts +1 -1
  34. package/package.json +31 -4
  35. package/src/bin/build-keycloak-theme/build-keycloak-theme.ts +13 -6
  36. package/src/bin/build-keycloak-theme/generateJavaStackFiles.ts +9 -3
  37. package/src/bin/build-keycloak-theme/generateKeycloakThemeResources.ts +27 -1
  38. package/src/bin/create-keycloak-theme-email-directory.ts +36 -0
  39. package/src/bin/download-builtin-keycloak-theme.ts +10 -15
  40. package/src/bin/promptKeycloakVersion.ts +44 -0
  41. package/src/bin/tools/NpmModuleVersion.ts +73 -0
  42. package/src/bin/tools/createOctokit.ts +7 -0
  43. package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +40 -0
  44. package/src/bin/tools/octokit-addons/listTags.ts +49 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ### **4.8.2** (2022-04-20)
2
+
3
+ - Tell pepoles they can test with different keycloak version
4
+
5
+ ### **4.8.1** (2022-04-20)
6
+
7
+ - Add missing shebang
8
+ - Add video demo for npx download-builtin-keycloak-theme
9
+
10
+ ## **4.8.0** (2022-04-20)
11
+
12
+ - Document email template customization feature #9
13
+ - Add mention of download-builtin-keycloak-theme
14
+ - Let the choice of kc version be auto in GH Action
15
+ - Only test on node v15 and v14 (bellow is no longer supported (rmSync)
16
+ - Feature email customization #9
17
+
1
18
  ### **4.7.6** (2022-04-12)
2
19
 
3
20
  - Fix bugs with language switch #85
package/README.md CHANGED
@@ -25,7 +25,7 @@
25
25
  </a>
26
26
  </p>
27
27
 
28
- > New with v4.7.4: **M1 Mac** support (for testing locally with a dockerized Keycloak).
28
+ > New with v4.8.0: [Email template customization.](#email-template-customization)
29
29
 
30
30
  <p align="center">
31
31
  <i>Ultimately this build tool generates a Keycloak theme</i>
@@ -72,6 +72,7 @@ If you already have a Keycloak custom theme, it can be easily ported to Keycloak
72
72
  - [Advanced pages configuration](#advanced-pages-configuration)
73
73
  - [Hot reload](#hot-reload)
74
74
  - [Enable loading in a blink of an eye of login pages ⚡ (--external-assets)](#enable-loading-in-a-blink-of-an-eye-of-login-pages----external-assets)
75
+ - [Email template customization.](#email-template-customization)
75
76
  - [User profile and frontend form validation](#user-profile-and-frontend-form-validation)
76
77
  - [Support for Terms and conditions](#support-for-terms-and-conditions)
77
78
  - [Some pages still have the default theme. Why?](#some-pages-still-have-the-default-theme-why)
@@ -85,8 +86,16 @@ If you already have a Keycloak custom theme, it can be easily ported to Keycloak
85
86
  - [Kickstart video](#kickstart-video)
86
87
  - [FTL errors related to `ftl_object_to_js_code_declaring_an_object` in Keycloak logs.](#ftl-errors-related-to-ftl_object_to_js_code_declaring_an_object-in-keycloak-logs)
87
88
  - [Adding custom message (to `i18n/useKcMessage.tsx`)](#adding-custom-message-to-i18nusekcmessagetsx)
89
+ - [Downloading builtin theme resource files](#downloading-builtin-theme-resource-files)
88
90
  - [Email domain whitelist](#email-domain-whitelist)
89
91
  - [Changelog highlights](#changelog-highlights)
92
+ - [v4.8.0](#v480)
93
+ - [v4.7.4](#v474)
94
+ - [v4.7.2](#v472)
95
+ - [v4.7.0](#v470)
96
+ - [v4.6.0](#v460)
97
+ - [v4.5.3](#v453)
98
+ - [v4.3.0](#v430)
90
99
  - [v4](#v4)
91
100
  - [v3](#v3)
92
101
  - [v2.5](#v25)
@@ -94,7 +103,7 @@ If you already have a Keycloak custom theme, it can be easily ported to Keycloak
94
103
 
95
104
  # Requirements
96
105
 
97
- On Windows OS you'll have to use [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10). More info [here](https://github.com/InseeFrLab/keycloakify/issues/54%23issuecomment-984834217)
106
+ On Windows OS you'll have to use [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10). More info [here](https://github.com/InseeFrLab/keycloakify/issues/54#issuecomment-984834217)
98
107
 
99
108
  Tested with the following Keycloak versions:
100
109
 
@@ -102,6 +111,7 @@ Tested with the following Keycloak versions:
102
111
  - [12.0.4](https://hub.docker.com/layers/jboss/keycloak/12.0.4/images/sha256-67e0c88e69bd0c7aef972c40bdeb558a974013a28b3668ca790ed63a04d70584?context=explore)
103
112
  - [15.0.2](https://hub.docker.com/layers/jboss/keycloak/15.0.2/images/sha256-d8ed1ee5df42a178c341f924377da75db49eab08ea9f058ff39a8ed7ee05ec93?context=explore)
104
113
  - [16.1.0](https://hub.docker.com/layers/jboss/keycloak/16.1.0/images/sha256-6ecb9492224c6cfbb55d43f64a5ab634145d8cc1eba14eae8c37e3afde89546e?context=explore)
114
+ - 17.0.1
105
115
 
106
116
  This tool will be maintained to stay compatible with Keycloak v11 and up, however, the default pages you will get
107
117
  (before you customize it) will always be the ones of Keycloak v11.
@@ -111,20 +121,20 @@ It assumes there is a `build/` directory at the root of your react project direc
111
121
  and a `build/static/` directory generated by webpack.
112
122
  For more information see [this issue](https://github.com/InseeFrLab/keycloakify/issues/5#issuecomment-832296432)
113
123
 
114
- **All this is defaults with [`create-react-app`](https://create-react-app.dev)** (tested with 4.0.3)
124
+ **All this is defaults with [`create-react-app`](https://create-react-app.dev)** (tested with 5.0.0, 4.0.3)
115
125
 
116
126
  - `mvn` ([Maven](https://maven.apache.org/)), `rm`, `mkdir`, `curl`, `unzip` are assumed to be available.
117
127
  - `docker` must be up and running when running `start_keycloak_testing_container.sh` (Instructions provided after running `yarn keycloak`).
118
128
 
119
129
  ## My framework doesn’t seem to be supported, what can I do?
120
130
 
121
- Currently Keycloakify is only compatible with `create-react-app` apps.
131
+ Currently Keycloakify is only compatible with SPA React apps.
122
132
  It doesn’t mean that you can't use Keycloakify if you are using Next.js, Express or any other
123
- framework that involves SSR but your Keycloak theme will need to be a standalone project.
133
+ framework that involves a server but your Keycloak theme will need to be a standalone project.
124
134
  Find specific instructions about how to get started [**here**](https://github.com/garronej/keycloakify-demo-app#keycloak-theme-only).
125
135
 
126
136
  To share your styles between your main app and your login pages you will need to externalize your design system by making it a
127
- separate module. Checkout [ts_ci](https://github.com/garronej/ts_ci), it can help with that.
137
+ separate module. Checkout [ts_ci](https://github.com/garronej/ts_ci), it can help with that (example with [our design system](https://github.com/InseeFrLab/onyxia-ui)).
128
138
 
129
139
  # How to use
130
140
 
@@ -301,6 +311,19 @@ performance boost if you jump through those hoops:
301
311
 
302
312
  Checkout a complete setup [here](https://github.com/garronej/keycloakify-demo-app#about-keycloakify)
303
313
 
314
+ # Email template customization.
315
+
316
+ _Introduced in [v4.8.0](https://github.com/InseeFrLab/keycloakify/releases/tag/v4.8.0)_
317
+
318
+ It is now possible to customize the emails sent to your users to confirm their email address ect.
319
+ Just run `npx create-keycloak-theme-email-directory`, it will create a `keycloak_theme_email` directory
320
+ at the root of your project.
321
+ This directory should be tracked by Git (`yarn add -A`)
322
+ You can start hacking the default template.
323
+ When `npx build-keycloak-theme` (`yarn keycloak`) is run. If the directory `keycloak_theme_email` exists
324
+ at the root of your project, it will be bundled into your `.jar` file and you will be able to select
325
+ it [in the Keycloak administration pages](https://user-images.githubusercontent.com/6702424/164299589-75f8008b-b24e-4836-ad6b-72149bb55621.png).
326
+
304
327
  # User profile and frontend form validation
305
328
 
306
329
  <p align="center">
@@ -356,7 +379,7 @@ the building and publishing of the theme (the .jar file).
356
379
 
357
380
  ## `process.env.PUBLIC_URL` not supported.
358
381
 
359
- You won't be able to [import things from your public directory **in your JavaScript code**](https://create-react-app.dev/docs/using-the-public-folder/#adding-assets-outside-of-the-module-system).
382
+ You won't be able to [import things from your public directory **in your JavaScript code** (it's supported in `public/index.html`)](https://create-react-app.dev/docs/using-the-public-folder/#adding-assets-outside-of-the-module-system).
360
383
  (This isn't recommended anyway).
361
384
 
362
385
  ## `@font-face` importing fonts from the `src/` dir
@@ -466,6 +489,13 @@ You can reproduce [this approach](https://github.com/garronej/keycloakify-demo-a
466
489
  ( don't forget to [evaluate the code](https://github.com/garronej/keycloakify-demo-app/blob/0a6d349dba89a5702f98ba48bca6c76ac7265e1f/src/index.tsx#L15) ).
467
490
  This approach is a bit hacky as it doesn't provide type safety but it works.
468
491
 
492
+ # Downloading builtin theme resource files
493
+
494
+ Running `npx download-builtin-keycloak-theme` will let you download the themes that comes by default with
495
+ a Keycloak version of your choosing.
496
+
497
+ [Video demo](https://user-images.githubusercontent.com/6702424/164304458-934b0e1d-9de7-4bb4-8a1c-e06a70b1636a.mov)
498
+
469
499
  # Email domain whitelist
470
500
 
471
501
  NOTE: This have been kind of deprecated by [user attribute](#user-profile-and-frontend-form-validation) you could
@@ -476,22 +506,26 @@ and `kcRegisterContext["authorizedMailDomains"]` to validate on.
476
506
 
477
507
  # Changelog highlights
478
508
 
479
- # v4.7.4
509
+ ## v4.8.0
510
+
511
+ [Email template customization.](#email-template-customization)
512
+
513
+ ## v4.7.4
480
514
 
481
515
  **M1 Mac** support (for testing locally with a dockerized Keycloak).
482
516
 
483
- # v4.7.2
517
+ ## v4.7.2
484
518
 
485
519
  > WARNING: This is broken.
486
520
  > Testing with local Keycloak container working with M1 Mac. Thanks to [@eduardosanzb](https://github.com/InseeFrLab/keycloakify/issues/43#issuecomment-975699658).
487
521
  > Be aware: When running M1s you are testing with Keycloak v15 else the local container spun will be a Keycloak v16.1.0.
488
522
 
489
- # v4.7.0
523
+ ## v4.7.0
490
524
 
491
525
  Register with user profile enabled: Out of the box `options` validator support.
492
526
  [Example](https://user-images.githubusercontent.com/6702424/158911163-81e6bbe8-feb0-4dc8-abff-de199d7a678e.mov)
493
527
 
494
- # v4.6.0
528
+ ## v4.6.0
495
529
 
496
530
  `tss-react` and `powerhooks` are no longer peer dependencies of `keycloakify`.
497
531
  After updating Keycloakify you can remove `tss-react` and `powerhooks` from your dependencies if you don't use them explicitly.
@@ -1,2 +1,3 @@
1
1
  export declare const keycloakThemeBuildingDirPath: string;
2
+ export declare const keycloakThemeEmailDirPath: string;
2
3
  export declare function main(): void;
@@ -31,7 +31,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
31
31
  };
32
32
  var _a;
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.main = exports.keycloakThemeBuildingDirPath = void 0;
34
+ exports.main = exports.keycloakThemeEmailDirPath = exports.keycloakThemeBuildingDirPath = void 0;
35
35
  var generateKeycloakThemeResources_1 = require("./generateKeycloakThemeResources");
36
36
  var generateJavaStackFiles_1 = require("./generateJavaStackFiles");
37
37
  var path_1 = require("path");
@@ -43,6 +43,7 @@ var reactProjectDirPath = process.cwd();
43
43
  var doUseExternalAssets = ((_a = process.argv[2]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "--external-assets";
44
44
  var parsedPackageJson = require((0, path_1.join)(reactProjectDirPath, "package.json"));
45
45
  exports.keycloakThemeBuildingDirPath = (0, path_1.join)(reactProjectDirPath, "build_keycloak");
46
+ exports.keycloakThemeEmailDirPath = (0, path_1.join)(exports.keycloakThemeBuildingDirPath, "..", "keycloak_theme_email");
46
47
  function sanitizeThemeName(name) {
47
48
  return name
48
49
  .replace(/^@(.*)/, "$1")
@@ -55,7 +56,7 @@ function main() {
55
56
  var extraPagesId = (_b = (_a = parsedPackageJson["keycloakify"]) === null || _a === void 0 ? void 0 : _a["extraPages"]) !== null && _b !== void 0 ? _b : [];
56
57
  var extraThemeProperties = (_d = (_c = parsedPackageJson["keycloakify"]) === null || _c === void 0 ? void 0 : _c["extraThemeProperties"]) !== null && _d !== void 0 ? _d : [];
57
58
  var themeName = sanitizeThemeName(parsedPackageJson.name);
58
- (0, generateKeycloakThemeResources_1.generateKeycloakThemeResources)(__assign(__assign({ keycloakThemeBuildingDirPath: exports.keycloakThemeBuildingDirPath, "reactAppBuildDirPath": (0, path_1.join)(reactProjectDirPath, "build"), themeName: themeName }, (function () {
59
+ var doBundleEmailTemplate = (0, generateKeycloakThemeResources_1.generateKeycloakThemeResources)(__assign(__assign({ keycloakThemeBuildingDirPath: exports.keycloakThemeBuildingDirPath, keycloakThemeEmailDirPath: exports.keycloakThemeEmailDirPath, "reactAppBuildDirPath": (0, path_1.join)(reactProjectDirPath, "build"), themeName: themeName }, (function () {
59
60
  var url = (function () {
60
61
  var homepage = parsedPackageJson.homepage;
61
62
  if (homepage !== undefined) {
@@ -83,21 +84,23 @@ function main() {
83
84
  //We have to leave it at that otherwise we break our default theme.
84
85
  //Problem is that we can't guarantee that the the old resources
85
86
  //will still be available on the newer keycloak version.
86
- "keycloakVersion": "11.0.3" }));
87
+ "keycloakVersion": "11.0.3" })).doBundleEmailTemplate;
87
88
  var jarFilePath = (0, generateJavaStackFiles_1.generateJavaStackFiles)({
88
- version: parsedPackageJson.version,
89
+ "version": parsedPackageJson.version,
89
90
  themeName: themeName,
90
- homepage: parsedPackageJson.homepage,
91
+ "homepage": parsedPackageJson.homepage,
91
92
  keycloakThemeBuildingDirPath: exports.keycloakThemeBuildingDirPath,
93
+ doBundleEmailTemplate: doBundleEmailTemplate,
92
94
  }).jarFilePath;
93
95
  child_process.execSync("mvn package", {
94
96
  "cwd": exports.keycloakThemeBuildingDirPath,
95
97
  });
98
+ //We want, however to test in a container running the latest Keycloak version
99
+ var containerKeycloakVersion = "18.0.0";
96
100
  (0, generateStartKeycloakTestingContainer_1.generateStartKeycloakTestingContainer)({
97
101
  keycloakThemeBuildingDirPath: exports.keycloakThemeBuildingDirPath,
98
102
  themeName: themeName,
99
- //We want, however to test in a container running the latest Keycloak version
100
- "keycloakVersion": "17.0.1",
103
+ "keycloakVersion": containerKeycloakVersion,
101
104
  });
102
105
  console.log([
103
106
  "",
@@ -132,10 +135,12 @@ function main() {
132
135
  " value: -Dkeycloak.profile=preview",
133
136
  "",
134
137
  "",
135
- "To test your theme locally, with hot reloading, you can spin up a Keycloak container image with the theme loaded by running:",
138
+ "To test your theme locally you can spin up a Keycloak " + containerKeycloakVersion + " container image with the theme pre loaded by running:",
136
139
  "",
137
140
  "\uD83D\uDC49 $ ./" + (0, path_1.relative)(reactProjectDirPath, (0, path_1.join)(exports.keycloakThemeBuildingDirPath, generateStartKeycloakTestingContainer_1.generateStartKeycloakTestingContainer.basename)) + " \uD83D\uDC48",
138
141
  "",
142
+ "Test with different Keycloak versions by editing the .sh file. see available versions here: https://quay.io/repository/keycloak/keycloak?tab=tags",
143
+ "",
139
144
  "Once your container is up and running: ",
140
145
  "- Log into the admin console 👉 http://localhost:8080/admin username: admin, password: admin 👈",
141
146
  '- Create a realm named "myrealm"',
@@ -1 +1 @@
1
- {"version":3,"file":"build-keycloak-theme.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/build-keycloak-theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-keycloak-theme.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/build-keycloak-theme.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare function generateJavaStackFiles(params: {
3
3
  themeName: string;
4
4
  homepage?: string;
5
5
  keycloakThemeBuildingDirPath: string;
6
+ doBundleEmailTemplate: boolean;
6
7
  }): {
7
8
  jarFilePath: string;
8
9
  };
@@ -18,13 +18,38 @@ var __importStar = (this && this.__importStar) || function (mod) {
18
18
  __setModuleDefault(result, mod);
19
19
  return result;
20
20
  };
21
+ var __read = (this && this.__read) || function (o, n) {
22
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
23
+ if (!m) return o;
24
+ var i = m.call(o), r, ar = [], e;
25
+ try {
26
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
27
+ }
28
+ catch (error) { e = { error: error }; }
29
+ finally {
30
+ try {
31
+ if (r && !r.done && (m = i["return"])) m.call(i);
32
+ }
33
+ finally { if (e) throw e.error; }
34
+ }
35
+ return ar;
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
21
46
  Object.defineProperty(exports, "__esModule", { value: true });
22
47
  exports.generateJavaStackFiles = void 0;
23
48
  var url = __importStar(require("url"));
24
49
  var fs = __importStar(require("fs"));
25
50
  var path_1 = require("path");
26
51
  function generateJavaStackFiles(params) {
27
- var themeName = params.themeName, version = params.version, homepage = params.homepage, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath;
52
+ var themeName = params.themeName, version = params.version, homepage = params.homepage, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, doBundleEmailTemplate = params.doBundleEmailTemplate;
28
53
  {
29
54
  var pomFileCode = (function generatePomFileCode() {
30
55
  var groupId = (function () {
@@ -64,7 +89,7 @@ function generateJavaStackFiles(params) {
64
89
  "themes": [
65
90
  {
66
91
  "name": themeName,
67
- "types": ["login"],
92
+ "types": __spreadArray(["login"], __read((doBundleEmailTemplate ? ["email"] : [])), false),
68
93
  },
69
94
  ],
70
95
  }, null, 2), "utf8"));
@@ -1 +1 @@
1
- {"version":3,"file":"generateJavaStackFiles.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/generateJavaStackFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA2B;AAC3B,qCAAyB;AACzB,6BAAgE;AAEhE,SAAgB,sBAAsB,CAAC,MAAuG;IAGlI,IAAA,SAAS,GAAsD,MAAM,UAA5D,EAAE,OAAO,GAA6C,MAAM,QAAnD,EAAE,QAAQ,GAAmC,MAAM,SAAzC,EAAE,4BAA4B,GAAK,MAAM,6BAAX,CAAY;IAE9E;QACY,IAAA,WAAW,GAAK,CAAC,SAAS,mBAAmB;YAGjD,IAAM,OAAO,GAAG,CAAC;;gBACb,IAAM,eAAe,GAAG,qDAAmD,SAAW,CAAC;gBAEvF,OAAO,CACH,CAAC,CAAC,QAAQ;oBACN,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,MAAA,MAAA,MAAA,GAAG;yBACE,KAAK,CAAC,QAAQ,CAAC;yBACf,IAAI,0CAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,0CAC5B,KAAK,CAAC,GAAG,EACV,OAAO,GACP,IAAI,CAAC,GAAG,CAAC,mCAAI,eAAe,CAAC,GAAG,WAAW,CACzD,CAAC;YACN,CAAC,CAAC,EAAE,CAAC;YAEL,IAAM,UAAU,GAAM,SAAS,oBAAiB,CAAC;YAEjD,IAAM,WAAW,GAAG;gBAChB,yBAAuB;gBACvB,sDAAoD;gBACpD,2DAAwD;gBACxD,sGAAmG;gBACnG,sCAAqC;gBACrC,gBAAa,OAAO,eAAY;gBAChC,mBAAgB,UAAU,kBAAe;gBACzC,gBAAa,OAAO,eAAY;gBAChC,aAAU,UAAU,YAAS;gBAC7B,mBAAkB;gBAClB,YAAY;aACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,EAAE,WAAW,aAAA,EAAE,CAAC;QAC3B,CAAC,CAAC,EAAE,YAnCe,CAmCd;QAEL,EAAE,CAAC,aAAa,CAAC,IAAA,WAAQ,EAAC,4BAA4B,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;KACzG;IAED;QACI,IAAM,qBAAqB,GAAG,IAAA,WAAQ,EAAC,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAErI,IAAI;YACA,EAAE,CAAC,SAAS,CAAC,IAAA,cAAW,EAAC,qBAAqB,CAAC,CAAC,CAAC;SACpD;QAAC,WAAM,GAAE;QAEV,EAAE,CAAC,aAAa,CACZ,qBAAqB,EACrB,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,SAAS,CACV;YACI,QAAQ,EAAE;gBACN;oBACI,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,CAAC,OAAO,CAAC;iBACrB;aACJ;SACJ,EACD,IAAI,EACJ,CAAC,CACJ,EACD,MAAM,CACT,CACJ,CAAC;KACL;IAED,OAAO;QACH,aAAa,EAAE,IAAA,WAAQ,EAAC,4BAA4B,EAAE,QAAQ,EAAK,SAAS,SAAI,OAAO,SAAM,CAAC;KACjG,CAAC;AACN,CAAC;AA5ED,wDA4EC"}
1
+ {"version":3,"file":"generateJavaStackFiles.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/generateJavaStackFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA2B;AAC3B,qCAAyB;AACzB,6BAAgE;AAEhE,SAAgB,sBAAsB,CAAC,MAMtC;IAGW,IAAA,SAAS,GAA6E,MAAM,UAAnF,EAAE,OAAO,GAAoE,MAAM,QAA1E,EAAE,QAAQ,GAA0D,MAAM,SAAhE,EAAE,4BAA4B,GAA4B,MAAM,6BAAlC,EAAE,qBAAqB,GAAK,MAAM,sBAAX,CAAY;IAErG;QACY,IAAA,WAAW,GAAK,CAAC,SAAS,mBAAmB;YAGjD,IAAM,OAAO,GAAG,CAAC;;gBACb,IAAM,eAAe,GAAG,qDAAmD,SAAW,CAAC;gBAEvF,OAAO,CACH,CAAC,CAAC,QAAQ;oBACN,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,MAAA,MAAA,MAAA,GAAG;yBACE,KAAK,CAAC,QAAQ,CAAC;yBACf,IAAI,0CAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,0CAC5B,KAAK,CAAC,GAAG,EACV,OAAO,GACP,IAAI,CAAC,GAAG,CAAC,mCAAI,eAAe,CAAC,GAAG,WAAW,CACzD,CAAC;YACN,CAAC,CAAC,EAAE,CAAC;YAEL,IAAM,UAAU,GAAM,SAAS,oBAAiB,CAAC;YAEjD,IAAM,WAAW,GAAG;gBAChB,yBAAuB;gBACvB,sDAAoD;gBACpD,2DAAwD;gBACxD,sGAAmG;gBACnG,sCAAqC;gBACrC,gBAAa,OAAO,eAAY;gBAChC,mBAAgB,UAAU,kBAAe;gBACzC,gBAAa,OAAO,eAAY;gBAChC,aAAU,UAAU,YAAS;gBAC7B,mBAAkB;gBAClB,YAAY;aACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,EAAE,WAAW,aAAA,EAAE,CAAC;QAC3B,CAAC,CAAC,EAAE,YAnCe,CAmCd;QAEL,EAAE,CAAC,aAAa,CAAC,IAAA,WAAQ,EAAC,4BAA4B,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;KACzG;IAED;QACI,IAAM,qBAAqB,GAAG,IAAA,WAAQ,EAAC,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAErI,IAAI;YACA,EAAE,CAAC,SAAS,CAAC,IAAA,cAAW,EAAC,qBAAqB,CAAC,CAAC,CAAC;SACpD;QAAC,WAAM,GAAE;QAEV,EAAE,CAAC,aAAa,CACZ,qBAAqB,EACrB,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,SAAS,CACV;YACI,QAAQ,EAAE;gBACN;oBACI,MAAM,EAAE,SAAS;oBACjB,OAAO,iBAAG,OAAO,UAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAC;iBAClE;aACJ;SACJ,EACD,IAAI,EACJ,CAAC,CACJ,EACD,MAAM,CACT,CACJ,CAAC;KACL;IAED,OAAO;QACH,aAAa,EAAE,IAAA,WAAQ,EAAC,4BAA4B,EAAE,QAAQ,EAAK,SAAS,SAAI,OAAO,SAAM,CAAC;KACjG,CAAC;AACN,CAAC;AAlFD,wDAkFC"}
@@ -2,9 +2,12 @@ export declare function generateKeycloakThemeResources(params: {
2
2
  themeName: string;
3
3
  reactAppBuildDirPath: string;
4
4
  keycloakThemeBuildingDirPath: string;
5
+ keycloakThemeEmailDirPath: string;
5
6
  urlPathname: string;
6
7
  urlOrigin: undefined | string;
7
8
  extraPagesId: string[];
8
9
  extraThemeProperties: string[];
9
10
  keycloakVersion: string;
10
- }): void;
11
+ }): {
12
+ doBundleEmailTemplate: boolean;
13
+ };
@@ -66,7 +66,7 @@ var child_process = __importStar(require("child_process"));
66
66
  var urlResourcesPath_1 = require("../../lib/getKcContext/kcContextMocks/urlResourcesPath");
67
67
  var isInside_1 = require("../tools/isInside");
68
68
  function generateKeycloakThemeResources(params) {
69
- var themeName = params.themeName, reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, urlPathname = params.urlPathname, urlOrigin = params.urlOrigin, extraPagesId = params.extraPagesId, extraThemeProperties = params.extraThemeProperties, keycloakVersion = params.keycloakVersion;
69
+ var themeName = params.themeName, reactAppBuildDirPath = params.reactAppBuildDirPath, keycloakThemeBuildingDirPath = params.keycloakThemeBuildingDirPath, keycloakThemeEmailDirPath = params.keycloakThemeEmailDirPath, urlPathname = params.urlPathname, urlOrigin = params.urlOrigin, extraPagesId = params.extraPagesId, extraThemeProperties = params.extraThemeProperties, keycloakVersion = params.keycloakVersion;
70
70
  var themeDirPath = (0, path_1.join)(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", themeName, "login");
71
71
  var allCssGlobalsToDefine = {};
72
72
  (0, transformCodebase_1.transformCodebase)({
@@ -103,6 +103,22 @@ function generateKeycloakThemeResources(params) {
103
103
  return urlOrigin === undefined ? { "modifiedSourceCode": sourceCode } : undefined;
104
104
  },
105
105
  });
106
+ var doBundleEmailTemplate;
107
+ email: {
108
+ if (!fs.existsSync(keycloakThemeEmailDirPath)) {
109
+ console.log([
110
+ "Not bundling email template because " + (0, path_1.basename)(keycloakThemeEmailDirPath) + " does not exist",
111
+ "To start customizing the email template, run: \uD83D\uDC49 npx create-keycloak-theme-email-directory \uD83D\uDC48",
112
+ ].join("\n"));
113
+ doBundleEmailTemplate = false;
114
+ break email;
115
+ }
116
+ doBundleEmailTemplate = true;
117
+ (0, transformCodebase_1.transformCodebase)({
118
+ "srcDirPath": keycloakThemeEmailDirPath,
119
+ "destDirPath": (0, path_1.join)(themeDirPath, "..", "email"),
120
+ });
121
+ }
106
122
  var generateFtlFilesCode = (0, generateFtl_1.generateFtlFilesCodeFactory)({
107
123
  "cssGlobalsToDefine": allCssGlobalsToDefine,
108
124
  "indexHtmlCode": fs.readFileSync((0, path_1.join)(reactAppBuildDirPath, "index.html")).toString("utf8"),
@@ -140,6 +156,7 @@ function generateKeycloakThemeResources(params) {
140
156
  child_process.execSync("rm -r " + tmpDirPath);
141
157
  }
142
158
  fs.writeFileSync((0, path_1.join)(themeDirPath, "theme.properties"), Buffer.from("parent=keycloak".concat("\n\n", extraThemeProperties.join("\n\n")), "utf8"));
159
+ return { doBundleEmailTemplate: doBundleEmailTemplate };
143
160
  }
144
161
  exports.generateKeycloakThemeResources = generateKeycloakThemeResources;
145
162
  //# sourceMappingURL=generateKeycloakThemeResources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateKeycloakThemeResources.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/generateKeycloakThemeResources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
+ }) : (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ o[k2] = m[k];
9
+ }));
10
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
11
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
12
+ }) : function(o, v) {
13
+ o["default"] = v;
14
+ });
15
+ var __importStar = (this && this.__importStar) || function (mod) {
16
+ if (mod && mod.__esModule) return mod;
17
+ var result = {};
18
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
19
+ __setModuleDefault(result, mod);
20
+ return result;
21
+ };
22
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
23
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24
+ return new (P || (P = Promise))(function (resolve, reject) {
25
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
26
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
27
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
28
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
29
+ });
30
+ };
31
+ var __generator = (this && this.__generator) || function (thisArg, body) {
32
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
33
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
34
+ function verb(n) { return function (v) { return step([n, v]); }; }
35
+ function step(op) {
36
+ if (f) throw new TypeError("Generator is already executing.");
37
+ while (_) try {
38
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
39
+ if (y = 0, t) op = [op[0] & 2, t.value];
40
+ switch (op[0]) {
41
+ case 0: case 1: t = op; break;
42
+ case 4: _.label++; return { value: op[1], done: false };
43
+ case 5: _.label++; y = op[1]; op = [0]; continue;
44
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
45
+ default:
46
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
47
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
48
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
49
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
50
+ if (t[2]) _.ops.pop();
51
+ _.trys.pop(); continue;
52
+ }
53
+ op = body.call(thisArg, _);
54
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
55
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
56
+ }
57
+ };
58
+ Object.defineProperty(exports, "__esModule", { value: true });
59
+ var download_builtin_keycloak_theme_1 = require("./download-builtin-keycloak-theme");
60
+ var build_keycloak_theme_1 = require("./build-keycloak-theme");
61
+ var path_1 = require("path");
62
+ var transformCodebase_1 = require("./tools/transformCodebase");
63
+ var promptKeycloakVersion_1 = require("./promptKeycloakVersion");
64
+ var fs = __importStar(require("fs"));
65
+ if (require.main === module) {
66
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
67
+ var keycloakVersion, builtinKeycloakThemeTmpDirPath;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ if (fs.existsSync(build_keycloak_theme_1.keycloakThemeEmailDirPath)) {
72
+ console.log("There is already a ./" + (0, path_1.basename)(build_keycloak_theme_1.keycloakThemeEmailDirPath) + " directory in your project. Aborting.");
73
+ process.exit(-1);
74
+ }
75
+ return [4 /*yield*/, (0, promptKeycloakVersion_1.promptKeycloakVersion)()];
76
+ case 1:
77
+ keycloakVersion = (_a.sent()).keycloakVersion;
78
+ builtinKeycloakThemeTmpDirPath = (0, path_1.join)(build_keycloak_theme_1.keycloakThemeEmailDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
79
+ (0, download_builtin_keycloak_theme_1.downloadBuiltinKeycloakTheme)({
80
+ keycloakVersion: keycloakVersion,
81
+ "destDirPath": builtinKeycloakThemeTmpDirPath,
82
+ });
83
+ (0, transformCodebase_1.transformCodebase)({
84
+ "srcDirPath": (0, path_1.join)(builtinKeycloakThemeTmpDirPath, "base", "email"),
85
+ "destDirPath": build_keycloak_theme_1.keycloakThemeEmailDirPath,
86
+ });
87
+ console.log("./" + (0, path_1.basename)(build_keycloak_theme_1.keycloakThemeEmailDirPath) + " ready to be customized");
88
+ fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
89
+ return [2 /*return*/];
90
+ }
91
+ });
92
+ }); })();
93
+ }
94
+ //# sourceMappingURL=create-keycloak-theme-email-directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-keycloak-theme-email-directory.js","sourceRoot":"","sources":["../src/bin/create-keycloak-theme-email-directory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qFAAiF;AACjF,+DAAmE;AACnE,6BAAkE;AAClE,+DAA8D;AAC9D,iEAAgE;AAChE,qCAAyB;AAEzB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,CAAC;;;;;oBACG,IAAI,EAAE,CAAC,UAAU,CAAC,gDAAyB,CAAC,EAAE;wBAC1C,OAAO,CAAC,GAAG,CAAC,0BAAwB,IAAA,eAAY,EAAC,gDAAyB,CAAC,0CAAuC,CAAC,CAAC;wBAEpH,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,gDAAyB,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;oBAErH,IAAA,8DAA4B,EAAC;wBACzB,eAAe,iBAAA;wBACf,aAAa,EAAE,8BAA8B;qBAChD,CAAC,CAAC;oBAEH,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,IAAA,WAAQ,EAAC,8BAA8B,EAAE,MAAM,EAAE,OAAO,CAAC;wBACvE,aAAa,EAAE,gDAAyB;qBAC3C,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,OAAK,IAAA,eAAY,EAAC,gDAAyB,CAAC,4BAAyB,CAAC,CAAC;oBAEnF,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;SACnF,CAAC,EAAE,CAAC;CACR"}
@@ -1,5 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __generator = (this && this.__generator) || function (thisArg, body) {
13
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
+ function verb(n) { return function (v) { return step([n, v]); }; }
16
+ function step(op) {
17
+ if (f) throw new TypeError("Generator is already executing.");
18
+ while (_) try {
19
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
+ if (y = 0, t) op = [op[0] & 2, t.value];
21
+ switch (op[0]) {
22
+ case 0: case 1: t = op; break;
23
+ case 4: _.label++; return { value: op[1], done: false };
24
+ case 5: _.label++; y = op[1]; op = [0]; continue;
25
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
+ default:
27
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
+ if (t[2]) _.ops.pop();
32
+ _.trys.pop(); continue;
33
+ }
34
+ op = body.call(thisArg, _);
35
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
+ }
38
+ };
3
39
  var __values = (this && this.__values) || function(o) {
4
40
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
5
41
  if (m) return m.call(o);
@@ -16,6 +52,7 @@ exports.downloadBuiltinKeycloakTheme = void 0;
16
52
  var build_keycloak_theme_1 = require("./build-keycloak-theme");
17
53
  var path_1 = require("path");
18
54
  var downloadAndUnzip_1 = require("./tools/downloadAndUnzip");
55
+ var promptKeycloakVersion_1 = require("./promptKeycloakVersion");
19
56
  function downloadBuiltinKeycloakTheme(params) {
20
57
  var e_1, _a;
21
58
  var keycloakVersion = params.keycloakVersion, destDirPath = params.destDirPath;
@@ -39,18 +76,22 @@ function downloadBuiltinKeycloakTheme(params) {
39
76
  }
40
77
  exports.downloadBuiltinKeycloakTheme = downloadBuiltinKeycloakTheme;
41
78
  if (require.main === module) {
42
- var keycloakVersion = (function () {
43
- var keycloakVersion = process.argv[2];
44
- if (keycloakVersion === undefined) {
45
- return "11.0.3";
46
- }
47
- return keycloakVersion;
48
- })();
49
- var destDirPath = (0, path_1.join)(build_keycloak_theme_1.keycloakThemeBuildingDirPath, "src", "main", "resources", "theme");
50
- console.log("Downloading builtins theme of Keycloak " + keycloakVersion + " here " + destDirPath);
51
- downloadBuiltinKeycloakTheme({
52
- keycloakVersion: keycloakVersion,
53
- destDirPath: destDirPath,
54
- });
79
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
80
+ var keycloakVersion, destDirPath;
81
+ return __generator(this, function (_a) {
82
+ switch (_a.label) {
83
+ case 0: return [4 /*yield*/, (0, promptKeycloakVersion_1.promptKeycloakVersion)()];
84
+ case 1:
85
+ keycloakVersion = (_a.sent()).keycloakVersion;
86
+ destDirPath = (0, path_1.join)(build_keycloak_theme_1.keycloakThemeBuildingDirPath, "src", "main", "resources", "theme");
87
+ console.log("Downloading builtins theme of Keycloak " + keycloakVersion + " here " + destDirPath);
88
+ downloadBuiltinKeycloakTheme({
89
+ keycloakVersion: keycloakVersion,
90
+ destDirPath: destDirPath,
91
+ });
92
+ return [2 /*return*/];
93
+ }
94
+ });
95
+ }); })();
55
96
  }
56
97
  //# sourceMappingURL=download-builtin-keycloak-theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download-builtin-keycloak-theme.js","sourceRoot":"","sources":["../src/bin/download-builtin-keycloak-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,+DAAsE;AACtE,6BAAwC;AACxC,6DAA4D;AAE5D,SAAgB,4BAA4B,CAAC,MAAwD;;IACzF,IAAA,eAAe,GAAkB,MAAM,gBAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;;QAEhD,KAAkB,IAAA,KAAA,SAAA,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA,gBAAA,4BAAE;YAAjC,IAAM,GAAG,WAAA;YACV,IAAA,mCAAgB,EAAC;gBACb,aAAa,EAAE,WAAW;gBAC1B,KAAK,EAAE,4DAA0D,eAAe,SAAM;gBACtF,6BAA6B,EAAE,cAAY,eAAe,kCAA6B,GAAG,WAAQ;aACrG,CAAC,CAAC;SACN;;;;;;;;;AACL,CAAC;AAVD,oEAUC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,IAAM,eAAe,GAAG,CAAC;QACrB,IAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC;QAE9D,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,OAAO,QAAQ,CAAC;SACnB;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,WAAW,GAAG,IAAA,WAAQ,EAAC,mDAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhG,OAAO,CAAC,GAAG,CAAC,4CAA0C,eAAe,cAAS,WAAa,CAAC,CAAC;IAE7F,4BAA4B,CAAC;QACzB,eAAe,iBAAA;QACf,WAAW,aAAA;KACd,CAAC,CAAC;CACN"}
1
+ {"version":3,"file":"download-builtin-keycloak-theme.js","sourceRoot":"","sources":["../src/bin/download-builtin-keycloak-theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+DAAsE;AACtE,6BAAwC;AACxC,6DAA4D;AAC5D,iEAAgE;AAEhE,SAAgB,4BAA4B,CAAC,MAAwD;;IACzF,IAAA,eAAe,GAAkB,MAAM,gBAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;;QAEhD,KAAkB,IAAA,KAAA,SAAA,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA,gBAAA,4BAAE;YAAjC,IAAM,GAAG,WAAA;YACV,IAAA,mCAAgB,EAAC;gBACb,aAAa,EAAE,WAAW;gBAC1B,KAAK,EAAE,4DAA0D,eAAe,SAAM;gBACtF,6BAA6B,EAAE,cAAY,eAAe,kCAA6B,GAAG,WAAQ;aACrG,CAAC,CAAC;SACN;;;;;;;;;AACL,CAAC;AAVD,oEAUC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IACzB,CAAC;;;;wBAC+B,qBAAM,IAAA,6CAAqB,GAAE,EAAA;;oBAAjD,eAAe,GAAK,CAAA,SAA6B,CAAA,gBAAlC;oBAEjB,WAAW,GAAG,IAAA,WAAQ,EAAC,mDAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBAEhG,OAAO,CAAC,GAAG,CAAC,4CAA0C,eAAe,cAAS,WAAa,CAAC,CAAC;oBAE7F,4BAA4B,CAAC;wBACzB,eAAe,iBAAA;wBACf,WAAW,aAAA;qBACd,CAAC,CAAC;;;;SACN,CAAC,EAAE,CAAC;CACR"}
@@ -0,0 +1,3 @@
1
+ export declare function promptKeycloakVersion(): Promise<{
2
+ keycloakVersion: string;
3
+ }>;