keycloakify 11.6.2 → 11.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/bin/{735.index.js → 288.index.js} +226 -360
  2. package/bin/313.index.js +377 -0
  3. package/bin/{174.index.js → 33.index.js} +37 -2
  4. package/bin/{840.index.js → 355.index.js} +348 -97
  5. package/bin/363.index.js +153 -144
  6. package/bin/453.index.js +5 -41
  7. package/bin/{503.index.js → 678.index.js} +577 -53
  8. package/bin/{921.index.js → 780.index.js} +54 -45
  9. package/bin/880.index.js +206 -21
  10. package/bin/9.index.js +850 -0
  11. package/bin/{525.index.js → 911.index.js} +1302 -2
  12. package/bin/930.index.js +3 -4
  13. package/bin/{153.index.js → 947.index.js} +22 -797
  14. package/bin/main.js +6 -6
  15. package/bin/shared/initializeSpa/index.d.ts +1 -0
  16. package/bin/shared/initializeSpa/initializeSpa.d.ts +9 -0
  17. package/bin/tools/getInstalledModuleDirPath.d.ts +0 -1
  18. package/bin/tools/isRootPath.d.ts +1 -0
  19. package/bin/tools/listInstalledModules.d.ts +0 -1
  20. package/package.json +22 -44
  21. package/src/bin/eject-page.ts +7 -81
  22. package/src/bin/initialize-account-theme/initialize-account-theme.ts +15 -14
  23. package/src/bin/initialize-admin-theme.ts +17 -124
  24. package/src/bin/initialize-email-theme.ts +10 -34
  25. package/src/bin/keycloakify/generateResources/generateResources.ts +49 -21
  26. package/src/bin/own.ts +1 -2
  27. package/src/bin/shared/{addSyncExtensionsToPostinstallScript.ts → initializeSpa/addSyncExtensionsToPostinstallScript.ts} +2 -2
  28. package/src/bin/shared/initializeSpa/index.ts +1 -0
  29. package/src/bin/shared/initializeSpa/initializeSpa.ts +149 -0
  30. package/src/bin/sync-extensions/extensionModuleMeta.ts +0 -1
  31. package/src/bin/tools/getInstalledModuleDirPath.ts +24 -22
  32. package/src/bin/tools/isRootPath.ts +22 -0
  33. package/src/bin/tools/listInstalledModules.ts +2 -4
  34. package/src/bin/tsconfig.json +1 -1
  35. package/bin/375.index.js +0 -4089
  36. package/bin/490.index.js +0 -1108
  37. package/bin/568.index.js +0 -1867
  38. package/bin/743.index.js +0 -69
  39. package/bin/initialize-account-theme/copyBoilerplate.d.ts +0 -4
  40. package/bin/initialize-account-theme/initializeAccountTheme_multiPage.d.ts +0 -3
  41. package/bin/initialize-account-theme/initializeAccountTheme_singlePage.d.ts +0 -11
  42. package/bin/shared/getLatestsSemVersionedTag.d.ts +0 -15
  43. package/bin/shared/promptKeycloakVersion.d.ts +0 -10
  44. package/bin/tools/OptionalIfCanBeUndefined.d.ts +0 -14
  45. package/bin/tools/crc32.d.ts +0 -9
  46. package/bin/tools/deflate.d.ts +0 -24
  47. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +0 -15
  48. package/bin/tools/octokit-addons/listTags.d.ts +0 -13
  49. package/bin/tools/tee.d.ts +0 -3
  50. package/bin/tools/trimIndent.d.ts +0 -5
  51. package/src/bin/initialize-account-theme/copyBoilerplate.ts +0 -32
  52. package/src/bin/initialize-account-theme/initializeAccountTheme_multiPage.ts +0 -21
  53. package/src/bin/initialize-account-theme/initializeAccountTheme_singlePage.ts +0 -142
  54. package/src/bin/initialize-account-theme/src/single-page/KcContext.ts +0 -7
  55. package/src/bin/initialize-account-theme/src/single-page/KcPage.tsx +0 -11
  56. package/src/bin/shared/getLatestsSemVersionedTag.ts +0 -201
  57. package/src/bin/shared/promptKeycloakVersion.ts +0 -72
  58. package/src/bin/tools/OptionalIfCanBeUndefined.ts +0 -12
  59. package/src/bin/tools/crc32.ts +0 -73
  60. package/src/bin/tools/deflate.ts +0 -61
  61. package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +0 -47
  62. package/src/bin/tools/octokit-addons/listTags.ts +0 -60
  63. package/src/bin/tools/tee.ts +0 -39
  64. package/src/bin/tools/trimIndent.ts +0 -49
  65. /package/bin/shared/{addSyncExtensionsToPostinstallScript.d.ts → initializeSpa/addSyncExtensionsToPostinstallScript.d.ts} +0 -0
  66. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/KcContext.ts +0 -0
  67. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/KcPage.tsx +0 -0
  68. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/KcPageStory.tsx +0 -0
  69. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/i18n.ts +0 -0
@@ -1,283 +1,81 @@
1
1
  "use strict";
2
- exports.id = 735;
3
- exports.ids = [735];
2
+ exports.id = 288;
3
+ exports.ids = [288];
4
4
  exports.modules = {
5
5
 
6
- /***/ 81434:
7
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
-
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "T": () => (/* binding */ copyBoilerplate)
11
- /* harmony export */ });
12
- /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57147);
13
- /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
14
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
15
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
16
- /* harmony import */ var _tools_getThisCodebaseRootDirPath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58822);
17
- /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29041);
18
-
19
-
20
-
21
-
22
- function copyBoilerplate(params) {
23
- const { accountThemeType, accountThemeSrcDirPath } = params;
24
- fs__WEBPACK_IMPORTED_MODULE_0__.cpSync((0,path__WEBPACK_IMPORTED_MODULE_1__.join)((0,_tools_getThisCodebaseRootDirPath__WEBPACK_IMPORTED_MODULE_2__/* .getThisCodebaseRootDirPath */ .e)(), "src", "bin", "initialize-account-theme", "src", (() => {
25
- switch (accountThemeType) {
26
- case "Single-Page":
27
- return "single-page";
28
- case "Multi-Page":
29
- return "multi-page";
30
- }
31
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(false);
32
- })()), accountThemeSrcDirPath, { recursive: true });
33
- }
34
- //# sourceMappingURL=copyBoilerplate.js.map
35
-
36
- /***/ }),
37
-
38
- /***/ 84735:
6
+ /***/ 27288:
39
7
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
40
8
 
9
+ // ESM COMPAT FLAG
41
10
  __webpack_require__.r(__webpack_exports__);
42
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
43
- /* harmony export */ "initializeAccountTheme_singlePage": () => (/* binding */ initializeAccountTheme_singlePage)
44
- /* harmony export */ });
45
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71017);
46
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
47
- /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57147);
48
- /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);
49
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78818);
50
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_2__);
51
- /* harmony import */ var _shared_getLatestsSemVersionedTag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(97189);
52
- /* harmony import */ var _tools_SemVer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12171);
53
- /* harmony import */ var make_fetch_happen__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9525);
54
- /* harmony import */ var make_fetch_happen__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(make_fetch_happen__WEBPACK_IMPORTED_MODULE_5__);
55
- /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(52300);
56
- /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(29041);
57
- /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(38469);
58
- /* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50030);
59
- /* harmony import */ var _copyBoilerplate__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(81434);
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
-
69
-
70
-
71
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_6__/* .assert */ .h)();
72
- async function initializeAccountTheme_singlePage(params) {
73
- const { accountThemeSrcDirPath, buildContext } = params;
74
- const OWNER = "keycloakify";
75
- const REPO = "keycloak-account-ui";
76
- const [semVersionedTag] = await (0,_shared_getLatestsSemVersionedTag__WEBPACK_IMPORTED_MODULE_3__/* .getLatestsSemVersionedTag */ ._)({
77
- owner: OWNER,
78
- repo: REPO,
79
- count: 1,
80
- doIgnoreReleaseCandidates: false,
81
- buildContext
82
- });
83
- const dependencies = await make_fetch_happen__WEBPACK_IMPORTED_MODULE_5___default()(`https://raw.githubusercontent.com/${OWNER}/${REPO}/${semVersionedTag.tag}/dependencies.gen.json`, buildContext.fetchOptions)
84
- .then(r => r.json())
85
- .then((() => {
86
- const zDependencies = (() => {
87
- const zTargetType = zod__WEBPACK_IMPORTED_MODULE_9__.z.object({
88
- dependencies: zod__WEBPACK_IMPORTED_MODULE_9__.z.record(zod__WEBPACK_IMPORTED_MODULE_9__.z.string()),
89
- devDependencies: zod__WEBPACK_IMPORTED_MODULE_9__.z.record(zod__WEBPACK_IMPORTED_MODULE_9__.z.string()).optional()
90
- });
91
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_6__/* .assert */ .h)();
92
- return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_10__.id)(zTargetType);
93
- })();
94
- return o => zDependencies.parse(o);
95
- })());
96
- dependencies.dependencies["@keycloakify/keycloak-account-ui"] = _tools_SemVer__WEBPACK_IMPORTED_MODULE_4__/* .SemVer.stringify */ .h.stringify(semVersionedTag.version);
97
- const parsedPackageJson = (() => {
98
- const zParsedPackageJson = (() => {
99
- const zTargetType = zod__WEBPACK_IMPORTED_MODULE_9__.z.object({
100
- dependencies: zod__WEBPACK_IMPORTED_MODULE_9__.z.record(zod__WEBPACK_IMPORTED_MODULE_9__.z.string()).optional(),
101
- devDependencies: zod__WEBPACK_IMPORTED_MODULE_9__.z.record(zod__WEBPACK_IMPORTED_MODULE_9__.z.string()).optional()
102
- });
103
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_6__/* .assert */ .h)();
104
- return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_10__.id)(zTargetType);
105
- })();
106
- const parsedPackageJson = JSON.parse(fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
107
- zParsedPackageJson.parse(parsedPackageJson);
108
- (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_6__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_6__.is)(parsedPackageJson));
109
- return parsedPackageJson;
110
- })();
111
- parsedPackageJson.dependencies = Object.assign(Object.assign({}, parsedPackageJson.dependencies), dependencies.dependencies);
112
- parsedPackageJson.devDependencies = Object.assign(Object.assign({}, parsedPackageJson.devDependencies), dependencies.devDependencies);
113
- if (Object.keys(parsedPackageJson.devDependencies).length === 0) {
114
- delete parsedPackageJson.devDependencies;
115
- }
116
- fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(buildContext.packageJsonFilePath, JSON.stringify(parsedPackageJson, undefined, 4));
117
- await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_7__/* .npmInstall */ .c)({
118
- packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_0__.dirname)(buildContext.packageJsonFilePath)
119
- });
120
- (0,_copyBoilerplate__WEBPACK_IMPORTED_MODULE_8__/* .copyBoilerplate */ .T)({
121
- accountThemeType: "Single-Page",
122
- accountThemeSrcDirPath
123
- });
124
- console.log([
125
- chalk__WEBPACK_IMPORTED_MODULE_2___default().green("The Single-Page account theme has been successfully initialized."),
126
- `Using Account UI of Keycloak version: ${chalk__WEBPACK_IMPORTED_MODULE_2___default().bold(semVersionedTag.tag.split("-")[0])}`,
127
- `Directory created: ${chalk__WEBPACK_IMPORTED_MODULE_2___default().bold((0,path__WEBPACK_IMPORTED_MODULE_0__.relative)(process.cwd(), accountThemeSrcDirPath))}`,
128
- `Dependencies added to your project's package.json: `,
129
- chalk__WEBPACK_IMPORTED_MODULE_2___default().bold(JSON.stringify(dependencies, null, 2))
130
- ].join("\n"));
131
- }
132
- //# sourceMappingURL=initializeAccountTheme_singlePage.js.map
133
-
134
- /***/ }),
135
-
136
- /***/ 97189:
137
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
138
-
139
11
 
140
12
  // EXPORTS
141
13
  __webpack_require__.d(__webpack_exports__, {
142
- "_": () => (/* binding */ getLatestsSemVersionedTag)
14
+ "initializeSpa": () => (/* reexport */ initializeSpa)
143
15
  });
144
16
 
145
- ;// CONCATENATED MODULE: ./dist/bin/tools/octokit-addons/listTags.js
146
- var __await = (undefined && undefined.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
147
- var __asyncGenerator = (undefined && undefined.__asyncGenerator) || function (thisArg, _arguments, generator) {
148
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
149
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
150
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
151
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
152
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
153
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
154
- function fulfill(value) { resume("next", value); }
155
- function reject(value) { resume("throw", value); }
156
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
157
- };
158
- const per_page = 99;
159
- function listTagsFactory(params) {
160
- const { octokit } = params;
161
- const octokit_repo_listTags = async (params) => {
162
- return octokit.repos.listTags(params);
163
- };
164
- function listTags(params) {
165
- return __asyncGenerator(this, arguments, function* listTags_1() {
166
- const { owner, repo } = params;
167
- let page = 1;
168
- while (true) {
169
- const resp = yield __await(octokit_repo_listTags({
170
- owner,
171
- repo,
172
- per_page,
173
- page: page++
174
- }));
175
- for (const branch of resp.data.map(({ name }) => name)) {
176
- yield yield __await(branch);
177
- }
178
- if (resp.data.length < 99) {
179
- break;
180
- }
181
- }
182
- });
183
- }
184
- /** Returns the same "latest" tag as deno.land/x, not actually the latest though */
185
- async function getLatestTag(params) {
186
- const { owner, repo } = params;
187
- const itRes = await listTags({ owner, repo }).next();
188
- if (itRes.done) {
189
- return undefined;
190
- }
191
- return itRes.value;
192
- }
193
- return { listTags, getLatestTag };
194
- }
195
- //# sourceMappingURL=listTags.js.map
196
- // EXTERNAL MODULE: ./dist/bin/tools/SemVer.js
197
- var SemVer = __webpack_require__(12171);
198
- ;// CONCATENATED MODULE: ./dist/bin/tools/octokit-addons/getLatestsSemVersionedTag.js
199
- var __asyncValues = (undefined && undefined.__asyncValues) || function (o) {
200
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
201
- var m = o[Symbol.asyncIterator], i;
202
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
203
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
204
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
205
- };
206
-
207
-
208
- function getLatestsSemVersionedTagFactory(params) {
209
- const { octokit } = params;
210
- async function getLatestsSemVersionedTag(params) {
211
- var _a, e_1, _b, _c;
212
- const { owner, repo, count, doIgnoreReleaseCandidates } = params;
213
- const semVersionedTags = [];
214
- const { listTags } = listTagsFactory({ octokit });
215
- try {
216
- for (var _d = true, _e = __asyncValues(listTags({ owner, repo })), _f; _f = await _e.next(), _a = _f.done, !_a;) {
217
- _c = _f.value;
218
- _d = false;
219
- try {
220
- const tag = _c;
221
- let version;
222
- try {
223
- version = SemVer/* SemVer.parse */.h.parse(tag.replace(/^[vV]?/, ""));
224
- }
225
- catch (_g) {
226
- continue;
227
- }
228
- if (doIgnoreReleaseCandidates && version.rc !== undefined) {
229
- continue;
230
- }
231
- semVersionedTags.push({ tag, version });
232
- }
233
- finally {
234
- _d = true;
235
- }
236
- }
237
- }
238
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
239
- finally {
240
- try {
241
- if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
242
- }
243
- finally { if (e_1) throw e_1.error; }
244
- }
245
- return semVersionedTags
246
- .sort(({ version: vX }, { version: vY }) => SemVer/* SemVer.compare */.h.compare(vY, vX))
247
- .slice(0, count);
248
- }
249
- return { getLatestsSemVersionedTag };
250
- }
251
- //# sourceMappingURL=getLatestsSemVersionedTag.js.map
252
- // EXTERNAL MODULE: ./node_modules/@octokit/rest/dist-node/index.js
253
- var dist_node = __webpack_require__(55375);
254
17
  // EXTERNAL MODULE: external "path"
255
18
  var external_path_ = __webpack_require__(71017);
256
19
  // EXTERNAL MODULE: external "fs"
257
20
  var external_fs_ = __webpack_require__(57147);
258
- // EXTERNAL MODULE: ./node_modules/zod/lib/index.mjs
259
- var lib = __webpack_require__(52300);
260
21
  // EXTERNAL MODULE: ./node_modules/tsafe/esm/assert.mjs + 1 modules
261
22
  var assert = __webpack_require__(29041);
262
23
  // EXTERNAL MODULE: ./node_modules/tsafe/esm/id.mjs
263
24
  var id = __webpack_require__(38469);
264
- // EXTERNAL MODULE: ./node_modules/evt/tools/inDepth/same.js
265
- var same = __webpack_require__(33805);
266
- // EXTERNAL MODULE: ./node_modules/make-fetch-happen/lib/index.js
267
- var make_fetch_happen_lib = __webpack_require__(9525);
268
- var lib_default = /*#__PURE__*/__webpack_require__.n(make_fetch_happen_lib);
269
- ;// CONCATENATED MODULE: ./dist/bin/shared/getLatestsSemVersionedTag.js
270
- var __rest = (undefined && undefined.__rest) || function (s, e) {
271
- var t = {};
272
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
273
- t[p] = s[p];
274
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
275
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
276
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
277
- t[p[i]] = s[p[i]];
25
+ ;// CONCATENATED MODULE: ./dist/bin/shared/initializeSpa/addSyncExtensionsToPostinstallScript.js
26
+
27
+
28
+ (0,assert/* assert */.h)();
29
+ function addSyncExtensionsToPostinstallScript(params) {
30
+ var _a;
31
+ const { parsedPackageJson, buildContext } = params;
32
+ const cmd_base = "keycloakify sync-extensions";
33
+ const projectCliOptionValue = (() => {
34
+ const packageJsonDirPath = (0,external_path_.dirname)(buildContext.packageJsonFilePath);
35
+ const relativePath = (0,external_path_.relative)(packageJsonDirPath, buildContext.projectDirPath);
36
+ if (relativePath === "") {
37
+ return undefined;
278
38
  }
279
- return t;
280
- };
39
+ return relativePath.split(external_path_.sep).join("/");
40
+ })();
41
+ const generateCmd = (params) => {
42
+ const { cmd_preexisting } = params;
43
+ let cmd = cmd_preexisting === undefined ? "" : `${cmd_preexisting} && `;
44
+ cmd += cmd_base;
45
+ if (projectCliOptionValue !== undefined) {
46
+ cmd += ` -p ${projectCliOptionValue}`;
47
+ }
48
+ return cmd;
49
+ };
50
+ {
51
+ const scripts = ((_a = parsedPackageJson.scripts) !== null && _a !== void 0 ? _a : (parsedPackageJson.scripts = {}));
52
+ for (const scriptName of ["postinstall", "prepare"]) {
53
+ const cmd_preexisting = scripts[scriptName];
54
+ if (cmd_preexisting === undefined) {
55
+ continue;
56
+ }
57
+ if (!cmd_preexisting.includes(cmd_base)) {
58
+ scripts[scriptName] = generateCmd({ cmd_preexisting });
59
+ return;
60
+ }
61
+ }
62
+ }
63
+ parsedPackageJson.scripts = Object.assign({ postinstall: generateCmd({ cmd_preexisting: undefined }) }, parsedPackageJson.scripts);
64
+ }
65
+ //# sourceMappingURL=addSyncExtensionsToPostinstallScript.js.map
66
+ // EXTERNAL MODULE: ./dist/bin/tools/runPrettier.js
67
+ var runPrettier = __webpack_require__(48433);
68
+ // EXTERNAL MODULE: ./dist/bin/tools/npmInstall.js
69
+ var npmInstall = __webpack_require__(50030);
70
+ // EXTERNAL MODULE: external "child_process"
71
+ var external_child_process_ = __webpack_require__(32081);
72
+ // EXTERNAL MODULE: ./node_modules/zod/lib/index.mjs
73
+ var lib = __webpack_require__(52300);
74
+ // EXTERNAL MODULE: ./node_modules/chalk/source/index.js
75
+ var source = __webpack_require__(78818);
76
+ var source_default = /*#__PURE__*/__webpack_require__.n(source);
77
+ ;// CONCATENATED MODULE: ./dist/bin/shared/initializeSpa/initializeSpa.js
78
+
281
79
 
282
80
 
283
81
 
@@ -287,120 +85,79 @@ var __rest = (undefined && undefined.__rest) || function (s, e) {
287
85
 
288
86
 
289
87
 
290
- let getLatestsSemVersionedTag_stateless = undefined;
291
- const CACHE_VERSION = 1;
292
88
  (0,assert/* assert */.h)();
293
- async function getLatestsSemVersionedTag(_a) {
294
- var { buildContext } = _a, params = __rest(_a, ["buildContext"]);
295
- const cacheFilePath = (0,external_path_.join)(buildContext.cacheDirPath, "latest-sem-versioned-tags.json");
296
- const cacheLookupResult = (() => {
297
- const getResult_currentCache = (currentCacheEntries) => ({
298
- hasCachedResult: false,
299
- currentCache: {
300
- version: CACHE_VERSION,
301
- entries: currentCacheEntries
302
- }
303
- });
304
- if (!external_fs_.existsSync(cacheFilePath)) {
305
- return getResult_currentCache([]);
306
- }
307
- let cache_json;
308
- try {
309
- cache_json = external_fs_.readFileSync(cacheFilePath).toString("utf8");
310
- }
311
- catch (_a) {
312
- return getResult_currentCache([]);
313
- }
314
- let cache_json_parsed;
315
- try {
316
- cache_json_parsed = JSON.parse(cache_json);
317
- }
318
- catch (_b) {
319
- return getResult_currentCache([]);
89
+ async function initializeSpa(params) {
90
+ var _a;
91
+ const { themeType, buildContext } = params;
92
+ {
93
+ const themeTypeSrcDirPath = (0,external_path_.join)(buildContext.themeSrcDirPath, themeType);
94
+ if (external_fs_.existsSync(themeTypeSrcDirPath) &&
95
+ external_fs_.readdirSync(themeTypeSrcDirPath).length > 0) {
96
+ console.warn(source_default().red(`There is already a ${(0,external_path_.relative)(process.cwd(), themeTypeSrcDirPath)} directory in your project. Aborting.`));
97
+ process.exit(-1);
320
98
  }
321
- const zSemVer = (() => {
322
- const zTargetType = lib.z.object({
323
- major: lib.z.number(),
324
- minor: lib.z.number(),
325
- patch: lib.z.number(),
326
- rc: lib.z.number().optional(),
327
- parsedFrom: lib.z.string()
328
- });
329
- (0,assert/* assert */.h)();
330
- return (0,id.id)(zTargetType);
331
- })();
332
- const zCache = (() => {
99
+ }
100
+ const parsedPackageJson = (() => {
101
+ const zParsedPackageJson = (() => {
333
102
  const zTargetType = lib.z.object({
334
- version: lib.z.literal(CACHE_VERSION),
335
- entries: lib.z.array(lib.z.object({
336
- time: lib.z.number(),
337
- params: lib.z.object({
338
- owner: lib.z.string(),
339
- repo: lib.z.string(),
340
- count: lib.z.number(),
341
- doIgnoreReleaseCandidates: lib.z.boolean()
342
- }),
343
- result: lib.z.array(lib.z.object({
344
- tag: lib.z.string(),
345
- version: zSemVer
346
- }))
347
- }))
103
+ scripts: lib.z.record(lib.z.union([lib.z.string(), lib.z.undefined()])).optional(),
104
+ dependencies: lib.z.record(lib.z.union([lib.z.string(), lib.z.undefined()])).optional(),
105
+ devDependencies: lib.z.record(lib.z.union([lib.z.string(), lib.z.undefined()])).optional()
348
106
  });
349
- (0,assert/* assert */.h)();
107
+ assert/* assert */.h;
350
108
  return (0,id.id)(zTargetType);
351
109
  })();
352
- let cache;
353
- try {
354
- cache = zCache.parse(cache_json_parsed);
355
- }
356
- catch (_c) {
357
- return getResult_currentCache([]);
358
- }
359
- const cacheEntry = cache.entries.find(e => (0,same.same)(e.params, params));
360
- if (cacheEntry === undefined) {
361
- return getResult_currentCache(cache.entries);
110
+ const parsedPackageJson = JSON.parse(external_fs_.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
111
+ zParsedPackageJson.parse(parsedPackageJson);
112
+ (0,assert/* assert */.h)((0,assert.is)(parsedPackageJson));
113
+ return parsedPackageJson;
114
+ })();
115
+ addSyncExtensionsToPostinstallScript({
116
+ parsedPackageJson,
117
+ buildContext
118
+ });
119
+ const uiSharedMajor = (() => {
120
+ const dependencies = Object.assign(Object.assign({}, parsedPackageJson.devDependencies), parsedPackageJson.dependencies);
121
+ const version = dependencies["@keycloakify/keycloak-ui-shared"];
122
+ if (version === undefined) {
123
+ return undefined;
362
124
  }
363
- if (Date.now() - cacheEntry.time > 3600000) {
364
- return getResult_currentCache(cache.entries.filter(e => e !== cacheEntry));
125
+ const match = version.match(/^[^~]?(\d+)\./);
126
+ if (match === null) {
127
+ return undefined;
365
128
  }
366
- return {
367
- hasCachedResult: true,
368
- cachedResult: cacheEntry.result
369
- };
129
+ return match[1];
370
130
  })();
371
- if (cacheLookupResult.hasCachedResult) {
372
- return cacheLookupResult.cachedResult;
131
+ const moduleName = `@keycloakify/keycloak-${themeType}-ui`;
132
+ const version = JSON.parse(external_child_process_.execSync(`npm show ${moduleName} versions --json`)
133
+ .toString("utf8")
134
+ .trim())
135
+ .reverse()
136
+ .filter(version => !version.includes("-"))
137
+ .find(version => uiSharedMajor === undefined ? true : version.startsWith(`${uiSharedMajor}.`));
138
+ (0,assert/* assert */.h)(version !== undefined);
139
+ ((_a = parsedPackageJson.dependencies) !== null && _a !== void 0 ? _a : (parsedPackageJson.dependencies = {}))[moduleName] = `~${version}`;
140
+ if (parsedPackageJson.devDependencies !== undefined) {
141
+ delete parsedPackageJson.devDependencies[moduleName];
373
142
  }
374
- const { currentCache } = cacheLookupResult;
375
- getLatestsSemVersionedTag_stateless !== null && getLatestsSemVersionedTag_stateless !== void 0 ? getLatestsSemVersionedTag_stateless : (getLatestsSemVersionedTag_stateless = (() => {
376
- const octokit = (() => {
377
- const githubToken = process.env.GITHUB_TOKEN;
378
- const octokit = new dist_node.Octokit(Object.assign(Object.assign({}, (githubToken === undefined ? {} : { auth: githubToken })), { request: {
379
- fetch: (url, options) => lib_default()(url, Object.assign(Object.assign({}, options), buildContext.fetchOptions))
380
- } }));
381
- return octokit;
382
- })();
383
- const { getLatestsSemVersionedTag } = getLatestsSemVersionedTagFactory({
384
- octokit
385
- });
386
- return getLatestsSemVersionedTag;
387
- })());
388
- const result = await getLatestsSemVersionedTag_stateless(params);
389
- currentCache.entries.push({
390
- time: Date.now(),
391
- params,
392
- result
393
- });
394
143
  {
395
- const dirPath = (0,external_path_.dirname)(cacheFilePath);
396
- if (!external_fs_.existsSync(dirPath)) {
397
- external_fs_.mkdirSync(dirPath, { recursive: true });
144
+ let sourceCode = JSON.stringify(parsedPackageJson, undefined, 2);
145
+ if (await (0,runPrettier/* getIsPrettierAvailable */.MT)()) {
146
+ sourceCode = await (0,runPrettier/* runPrettier */.eY)({
147
+ sourceCode,
148
+ filePath: buildContext.packageJsonFilePath
149
+ });
398
150
  }
151
+ external_fs_.writeFileSync(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
399
152
  }
400
- external_fs_.writeFileSync(cacheFilePath, JSON.stringify(currentCache, null, 2));
401
- return result;
153
+ await (0,npmInstall/* npmInstall */.c)({
154
+ packageJsonDirPath: (0,external_path_.dirname)(buildContext.packageJsonFilePath)
155
+ });
402
156
  }
403
- //# sourceMappingURL=getLatestsSemVersionedTag.js.map
157
+ //# sourceMappingURL=initializeSpa.js.map
158
+ ;// CONCATENATED MODULE: ./dist/bin/shared/initializeSpa/index.js
159
+
160
+ //# sourceMappingURL=index.js.map
404
161
 
405
162
  /***/ }),
406
163
 
@@ -886,6 +643,115 @@ async function installWithoutBreakingLinks(params) {
886
643
 
887
644
  /***/ }),
888
645
 
646
+ /***/ 50689:
647
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
648
+
649
+
650
+ var __extends = (this && this.__extends) || (function () {
651
+ var extendStatics = function (d, b) {
652
+ extendStatics = Object.setPrototypeOf ||
653
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
654
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
655
+ return extendStatics(d, b);
656
+ };
657
+ return function (d, b) {
658
+ if (typeof b !== "function" && b !== null)
659
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
660
+ extendStatics(d, b);
661
+ function __() { this.constructor = d; }
662
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
663
+ };
664
+ })();
665
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
666
+ exports.VoidDeferred = exports.Deferred = void 0;
667
+ var overwriteReadonlyProp_1 = __webpack_require__(47803);
668
+ var Deferred = /** @class */ (function () {
669
+ function Deferred() {
670
+ var _this_1 = this;
671
+ this.isPending = true;
672
+ var resolve;
673
+ var reject;
674
+ this.pr = new Promise(function (resolve_, reject_) {
675
+ resolve = function (value) {
676
+ (0, overwriteReadonlyProp_1.overwriteReadonlyProp)(_this_1, "isPending", false);
677
+ resolve_(value);
678
+ };
679
+ reject = function (error) {
680
+ (0, overwriteReadonlyProp_1.overwriteReadonlyProp)(_this_1, "isPending", false);
681
+ reject_(error);
682
+ };
683
+ });
684
+ this.resolve = resolve;
685
+ this.reject = reject;
686
+ }
687
+ return Deferred;
688
+ }());
689
+ exports.Deferred = Deferred;
690
+ var VoidDeferred = /** @class */ (function (_super) {
691
+ __extends(VoidDeferred, _super);
692
+ function VoidDeferred() {
693
+ return _super !== null && _super.apply(this, arguments) || this;
694
+ }
695
+ return VoidDeferred;
696
+ }(Deferred));
697
+ exports.VoidDeferred = VoidDeferred;
698
+ //# sourceMappingURL=Deferred.js.map
699
+
700
+ /***/ }),
701
+
702
+ /***/ 47803:
703
+ /***/ (function(__unused_webpack_module, exports) {
704
+
705
+
706
+ var __assign = (this && this.__assign) || function () {
707
+ __assign = Object.assign || function(t) {
708
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
709
+ s = arguments[i];
710
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
711
+ t[p] = s[p];
712
+ }
713
+ return t;
714
+ };
715
+ return __assign.apply(this, arguments);
716
+ };
717
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
718
+ exports.overwriteReadonlyProp = void 0;
719
+ /**
720
+ * Assign a value to a property even if the object is freezed or if the property is not writable
721
+ * Throw if the assignation fail ( for example if the property is non configurable write: false )
722
+ * */
723
+ var overwriteReadonlyProp = function (obj, propertyName, value) {
724
+ try {
725
+ obj[propertyName] = value;
726
+ }
727
+ catch (_a) { }
728
+ if (obj[propertyName] === value) {
729
+ return value;
730
+ }
731
+ var errorDefineProperty = undefined;
732
+ var propertyDescriptor = Object.getOwnPropertyDescriptor(obj, propertyName) || {
733
+ "enumerable": true,
734
+ "configurable": true,
735
+ };
736
+ if (!!propertyDescriptor.get) {
737
+ throw new Error("Probably a wrong ides to overwrite ".concat(String(propertyName), " getter"));
738
+ }
739
+ try {
740
+ Object.defineProperty(obj, propertyName, __assign(__assign({}, propertyDescriptor), { value: value }));
741
+ }
742
+ catch (error) {
743
+ errorDefineProperty = error;
744
+ }
745
+ if (obj[propertyName] !== value) {
746
+ throw errorDefineProperty || new Error("Can't assign");
747
+ }
748
+ return value;
749
+ };
750
+ exports.overwriteReadonlyProp = overwriteReadonlyProp;
751
+ //# sourceMappingURL=overwriteReadonlyProp.js.map
752
+
753
+ /***/ }),
754
+
889
755
  /***/ 23483:
890
756
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
891
757