keycloakify 11.6.1 → 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 (96) hide show
  1. package/bin/{653.index.js → 288.index.js} +221 -201
  2. package/bin/313.index.js +377 -0
  3. package/bin/{174.index.js → 33.index.js} +37 -2
  4. package/bin/{615.index.js → 355.index.js} +353 -102
  5. package/bin/363.index.js +1537 -0
  6. package/bin/453.index.js +6 -42
  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 +164 -0
  13. package/bin/946.index.js +20 -0
  14. package/bin/{153.index.js → 947.index.js} +22 -797
  15. package/bin/main.js +61 -19
  16. package/bin/{eject-file.d.ts → own.d.ts} +2 -1
  17. package/bin/shared/{addPostinstallScriptIfNotPresent.d.ts → initializeSpa/addSyncExtensionsToPostinstallScript.d.ts} +1 -1
  18. package/bin/shared/initializeSpa/index.d.ts +1 -0
  19. package/bin/shared/initializeSpa/initializeSpa.d.ts +9 -0
  20. package/bin/{postinstall/uiModuleMeta.d.ts → sync-extensions/extensionModuleMeta.d.ts} +5 -5
  21. package/bin/sync-extensions/getExtensionModuleFileSourceCodeReadyToBeCopied.d.ts +12 -0
  22. package/bin/sync-extensions/index.d.ts +1 -0
  23. package/bin/{postinstall/installUiModulesPeerDependencies.d.ts → sync-extensions/installExtensionModulesPeerDependencies.d.ts} +3 -3
  24. package/bin/{postinstall → sync-extensions}/managedGitignoreFile.d.ts +4 -4
  25. package/bin/tools/getInstalledModuleDirPath.d.ts +0 -1
  26. package/bin/tools/isKnownByGit.d.ts +3 -0
  27. package/bin/tools/isRootPath.d.ts +1 -0
  28. package/bin/tools/listInstalledModules.d.ts +0 -1
  29. package/package.json +41 -63
  30. package/src/bin/eject-page.ts +8 -84
  31. package/src/bin/initialize-account-theme/initialize-account-theme.ts +15 -14
  32. package/src/bin/initialize-admin-theme.ts +17 -124
  33. package/src/bin/initialize-email-theme.ts +10 -34
  34. package/src/bin/keycloakify/generateResources/generateResources.ts +49 -21
  35. package/src/bin/main.ts +61 -16
  36. package/src/bin/own.ts +208 -0
  37. package/src/bin/shared/{addPostinstallScriptIfNotPresent.ts → initializeSpa/addSyncExtensionsToPostinstallScript.ts} +4 -4
  38. package/src/bin/shared/initializeSpa/index.ts +1 -0
  39. package/src/bin/shared/initializeSpa/initializeSpa.ts +149 -0
  40. package/src/bin/{postinstall/uiModuleMeta.ts → sync-extensions/extensionModuleMeta.ts} +48 -43
  41. package/src/bin/{postinstall/getUiModuleFileSourceCodeReadyToBeCopied.ts → sync-extensions/getExtensionModuleFileSourceCodeReadyToBeCopied.ts} +32 -21
  42. package/src/bin/sync-extensions/index.ts +1 -0
  43. package/src/bin/{postinstall/installUiModulesPeerDependencies.ts → sync-extensions/installExtensionModulesPeerDependencies.ts} +15 -13
  44. package/src/bin/{postinstall → sync-extensions}/managedGitignoreFile.ts +18 -18
  45. package/src/bin/{postinstall/postinstall.ts → sync-extensions/sync-extension.ts} +14 -26
  46. package/src/bin/tools/getInstalledModuleDirPath.ts +24 -22
  47. package/src/bin/tools/isKnownByGit.ts +45 -0
  48. package/src/bin/tools/isRootPath.ts +22 -0
  49. package/src/bin/tools/listInstalledModules.ts +4 -6
  50. package/src/bin/tools/npmInstall.ts +1 -1
  51. package/src/bin/tools/untrackFromGit.ts +19 -3
  52. package/src/bin/tsconfig.json +1 -1
  53. package/bin/300.index.js +0 -770
  54. package/bin/375.index.js +0 -4089
  55. package/bin/490.index.js +0 -1108
  56. package/bin/568.index.js +0 -1867
  57. package/bin/735.index.js +0 -907
  58. package/bin/743.index.js +0 -69
  59. package/bin/854.index.js +0 -68
  60. package/bin/initialize-account-theme/copyBoilerplate.d.ts +0 -4
  61. package/bin/initialize-account-theme/initializeAccountTheme_multiPage.d.ts +0 -3
  62. package/bin/initialize-account-theme/initializeAccountTheme_singlePage.d.ts +0 -11
  63. package/bin/postinstall/getUiModuleFileSourceCodeReadyToBeCopied.d.ts +0 -12
  64. package/bin/postinstall/index.d.ts +0 -1
  65. package/bin/shared/getLatestsSemVersionedTag.d.ts +0 -15
  66. package/bin/shared/promptKeycloakVersion.d.ts +0 -10
  67. package/bin/tools/OptionalIfCanBeUndefined.d.ts +0 -14
  68. package/bin/tools/crc32.d.ts +0 -9
  69. package/bin/tools/deflate.d.ts +0 -24
  70. package/bin/tools/isTrackedByGit.d.ts +0 -3
  71. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +0 -15
  72. package/bin/tools/octokit-addons/listTags.d.ts +0 -13
  73. package/bin/tools/tee.d.ts +0 -3
  74. package/bin/tools/trimIndent.d.ts +0 -5
  75. package/src/bin/eject-file.ts +0 -68
  76. package/src/bin/initialize-account-theme/copyBoilerplate.ts +0 -32
  77. package/src/bin/initialize-account-theme/initializeAccountTheme_multiPage.ts +0 -21
  78. package/src/bin/initialize-account-theme/initializeAccountTheme_singlePage.ts +0 -142
  79. package/src/bin/initialize-account-theme/src/single-page/KcContext.ts +0 -7
  80. package/src/bin/initialize-account-theme/src/single-page/KcPage.tsx +0 -11
  81. package/src/bin/postinstall/index.ts +0 -1
  82. package/src/bin/shared/getLatestsSemVersionedTag.ts +0 -201
  83. package/src/bin/shared/promptKeycloakVersion.ts +0 -72
  84. package/src/bin/tools/OptionalIfCanBeUndefined.ts +0 -12
  85. package/src/bin/tools/crc32.ts +0 -73
  86. package/src/bin/tools/deflate.ts +0 -61
  87. package/src/bin/tools/isTrackedByGit.ts +0 -29
  88. package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +0 -47
  89. package/src/bin/tools/octokit-addons/listTags.ts +0 -60
  90. package/src/bin/tools/tee.ts +0 -39
  91. package/src/bin/tools/trimIndent.ts +0 -49
  92. /package/bin/{postinstall/postinstall.d.ts → sync-extensions/sync-extension.d.ts} +0 -0
  93. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/KcContext.ts +0 -0
  94. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/KcPage.tsx +0 -0
  95. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/KcPageStory.tsx +0 -0
  96. /package/src/bin/initialize-account-theme/{src/multi-page → multi-page-boilerplate}/i18n.ts +0 -0
package/bin/9.index.js ADDED
@@ -0,0 +1,850 @@
1
+ "use strict";
2
+ exports.id = 9;
3
+ exports.ids = [9];
4
+ exports.modules = {
5
+
6
+ /***/ 28434:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ "z": () => (/* binding */ getSupportedDockerImageTags)
11
+ /* harmony export */ });
12
+ /* harmony import */ var make_fetch_happen__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9525);
13
+ /* harmony import */ var make_fetch_happen__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(make_fetch_happen__WEBPACK_IMPORTED_MODULE_0__);
14
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29041);
15
+ /* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(38469);
16
+ /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52300);
17
+ /* harmony import */ var _tools_SemVer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12171);
18
+ /* harmony import */ var tsafe_exclude__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(83101);
19
+ /* harmony import */ var _realmConfig_defaultConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88984);
20
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71017);
21
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_4__);
22
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(73292);
23
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_5__);
24
+ /* harmony import */ var _tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(43765);
25
+ /* harmony import */ var _tools_readThisNpmPackageVersion__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(64795);
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .h;
38
+ async function getSupportedDockerImageTags(params) {
39
+ const { buildContext } = params;
40
+ {
41
+ const result = await getCachedValue({ cacheDirPath: buildContext.cacheDirPath });
42
+ if (result !== undefined) {
43
+ return result;
44
+ }
45
+ }
46
+ const tags_queryResponse = [];
47
+ await (async function callee(url) {
48
+ const r = await make_fetch_happen__WEBPACK_IMPORTED_MODULE_0___default()(url, buildContext.fetchOptions);
49
+ await Promise.all([
50
+ (async () => {
51
+ tags_queryResponse.push(...zod__WEBPACK_IMPORTED_MODULE_8__.z.object({
52
+ tags: zod__WEBPACK_IMPORTED_MODULE_8__.z.array(zod__WEBPACK_IMPORTED_MODULE_8__.z.string())
53
+ })
54
+ .parse(await r.json()).tags);
55
+ })(),
56
+ (async () => {
57
+ const link = r.headers.get("link");
58
+ if (link === null) {
59
+ return;
60
+ }
61
+ const split = link.split(";").map(s => s.trim());
62
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .h)(split.length === 2);
63
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .h)(split[1] === 'rel="next"');
64
+ const match = split[0].match(/^<(.+)>$/);
65
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .h)(match !== null);
66
+ const nextUrl = new URL(url).origin + match[1];
67
+ await callee(nextUrl);
68
+ })()
69
+ ]);
70
+ })("https://quay.io/v2/keycloak/keycloak/tags/list");
71
+ const supportedKeycloakMajorVersions = (0,_realmConfig_defaultConfig__WEBPACK_IMPORTED_MODULE_3__/* .getSupportedKeycloakMajorVersions */ .Z)();
72
+ const allSupportedTags_withVersion = tags_queryResponse
73
+ .map(tag => ({
74
+ tag,
75
+ version: (() => {
76
+ if (tag.includes("-")) {
77
+ return undefined;
78
+ }
79
+ let version;
80
+ try {
81
+ version = _tools_SemVer__WEBPACK_IMPORTED_MODULE_2__/* .SemVer.parse */ .h.parse(tag);
82
+ }
83
+ catch (_a) {
84
+ return undefined;
85
+ }
86
+ if (tag.split(".").length !== 3) {
87
+ return undefined;
88
+ }
89
+ if (!supportedKeycloakMajorVersions.includes(version.major)) {
90
+ return undefined;
91
+ }
92
+ return version;
93
+ })()
94
+ }))
95
+ .map(({ tag, version }) => (version === undefined ? undefined : { tag, version }))
96
+ .filter((0,tsafe_exclude__WEBPACK_IMPORTED_MODULE_9__/* .exclude */ .D)(undefined))
97
+ .sort(({ version: a }, { version: b }) => _tools_SemVer__WEBPACK_IMPORTED_MODULE_2__/* .SemVer.compare */ .h.compare(b, a));
98
+ const latestTagByMajor = {};
99
+ for (const { version } of allSupportedTags_withVersion) {
100
+ const version_current = latestTagByMajor[version.major];
101
+ if (version_current === undefined ||
102
+ _tools_SemVer__WEBPACK_IMPORTED_MODULE_2__/* .SemVer.compare */ .h.compare(version_current, version) === -1) {
103
+ latestTagByMajor[version.major] = version;
104
+ }
105
+ }
106
+ const latestMajorTags = Object.entries(latestTagByMajor)
107
+ .sort(([a], [b]) => parseInt(b) - parseInt(a))
108
+ .map(([, version]) => version)
109
+ .map(version => {
110
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .h)(version !== undefined);
111
+ if (!supportedKeycloakMajorVersions.includes(version.major)) {
112
+ return undefined;
113
+ }
114
+ return _tools_SemVer__WEBPACK_IMPORTED_MODULE_2__/* .SemVer.stringify */ .h.stringify(version);
115
+ })
116
+ .filter((0,tsafe_exclude__WEBPACK_IMPORTED_MODULE_9__/* .exclude */ .D)(undefined));
117
+ const allSupportedTags = allSupportedTags_withVersion.map(({ tag }) => tag);
118
+ const result = {
119
+ latestMajorTags,
120
+ allSupportedTags
121
+ };
122
+ await setCachedValue({ cacheDirPath: buildContext.cacheDirPath, result });
123
+ return result;
124
+ }
125
+ const { getCachedValue, setCachedValue } = (() => {
126
+ const zResult = (() => {
127
+ const zTargetType = zod__WEBPACK_IMPORTED_MODULE_8__.z.object({
128
+ allSupportedTags: zod__WEBPACK_IMPORTED_MODULE_8__.z.array(zod__WEBPACK_IMPORTED_MODULE_8__.z.string()),
129
+ latestMajorTags: zod__WEBPACK_IMPORTED_MODULE_8__.z.array(zod__WEBPACK_IMPORTED_MODULE_8__.z.string())
130
+ });
131
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .h;
132
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_10__.id)(zTargetType);
133
+ })();
134
+ const zCache = (() => {
135
+ const zTargetType = zod__WEBPACK_IMPORTED_MODULE_8__.z.object({
136
+ keycloakifyVersion: zod__WEBPACK_IMPORTED_MODULE_8__.z.string(),
137
+ time: zod__WEBPACK_IMPORTED_MODULE_8__.z.number(),
138
+ result: zResult
139
+ });
140
+ tsafe_assert__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .h;
141
+ return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_10__.id)(zTargetType);
142
+ })();
143
+ let inMemoryCachedResult = undefined;
144
+ function getCacheFilePath(params) {
145
+ const { cacheDirPath } = params;
146
+ return (0,path__WEBPACK_IMPORTED_MODULE_4__.join)(cacheDirPath, "supportedDockerImageTags.json");
147
+ }
148
+ async function getCachedValue(params) {
149
+ const { cacheDirPath } = params;
150
+ if (inMemoryCachedResult !== undefined) {
151
+ return inMemoryCachedResult;
152
+ }
153
+ const cacheFilePath = getCacheFilePath({ cacheDirPath });
154
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_6__/* .existsAsync */ .o)(cacheFilePath))) {
155
+ return undefined;
156
+ }
157
+ let cache;
158
+ try {
159
+ cache = zCache.parse(JSON.parse(await fs_promises__WEBPACK_IMPORTED_MODULE_5__.readFile(cacheFilePath, "utf8")));
160
+ }
161
+ catch (_a) {
162
+ return undefined;
163
+ }
164
+ if (cache.keycloakifyVersion !== (0,_tools_readThisNpmPackageVersion__WEBPACK_IMPORTED_MODULE_7__/* .readThisNpmPackageVersion */ .K)()) {
165
+ return undefined;
166
+ }
167
+ if (Date.now() - cache.time > 3600 * 24) {
168
+ return undefined;
169
+ }
170
+ inMemoryCachedResult = cache.result;
171
+ return cache.result;
172
+ }
173
+ async function setCachedValue(params) {
174
+ const { cacheDirPath, result } = params;
175
+ inMemoryCachedResult = result;
176
+ const cacheFilePath = getCacheFilePath({ cacheDirPath });
177
+ {
178
+ const dirPath = (0,path__WEBPACK_IMPORTED_MODULE_4__.dirname)(cacheFilePath);
179
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_6__/* .existsAsync */ .o)(dirPath))) {
180
+ await fs_promises__WEBPACK_IMPORTED_MODULE_5__.mkdir(dirPath, { recursive: true });
181
+ }
182
+ }
183
+ await fs_promises__WEBPACK_IMPORTED_MODULE_5__.writeFile(cacheFilePath, JSON.stringify(zCache.parse({
184
+ keycloakifyVersion: (0,_tools_readThisNpmPackageVersion__WEBPACK_IMPORTED_MODULE_7__/* .readThisNpmPackageVersion */ .K)(),
185
+ time: Date.now(),
186
+ result
187
+ }), null, 2));
188
+ }
189
+ return {
190
+ getCachedValue,
191
+ setCachedValue
192
+ };
193
+ })();
194
+ //# sourceMappingURL=getSupportedDockerImageTags.js.map
195
+
196
+ /***/ }),
197
+
198
+ /***/ 96709:
199
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
200
+
201
+
202
+ // EXPORTS
203
+ __webpack_require__.d(__webpack_exports__, {
204
+ "X": () => (/* binding */ readRealmJsonFile)
205
+ });
206
+
207
+ // EXTERNAL MODULE: ./node_modules/tsafe/esm/assert.mjs + 1 modules
208
+ var assert = __webpack_require__(29041);
209
+ // EXTERNAL MODULE: ./node_modules/tsafe/esm/is.mjs
210
+ var is = __webpack_require__(16453);
211
+ // EXTERNAL MODULE: external "fs"
212
+ var external_fs_ = __webpack_require__(57147);
213
+ // EXTERNAL MODULE: ./node_modules/zod/lib/index.mjs
214
+ var lib = __webpack_require__(52300);
215
+ // EXTERNAL MODULE: ./node_modules/tsafe/esm/id.mjs
216
+ var id = __webpack_require__(38469);
217
+ ;// CONCATENATED MODULE: ./dist/bin/start-keycloak/realmConfig/ParsedRealmJson/ParsedRealmJson.js
218
+
219
+
220
+
221
+ const zParsedRealmJson = (() => {
222
+ const zTargetType = lib.z.object({
223
+ realm: lib.z.string(),
224
+ loginTheme: lib.z.string().optional(),
225
+ accountTheme: lib.z.string().optional(),
226
+ adminTheme: lib.z.string().optional(),
227
+ emailTheme: lib.z.string().optional(),
228
+ eventsListeners: lib.z.array(lib.z.string()),
229
+ users: lib.z.array(lib.z.object({
230
+ id: lib.z.string(),
231
+ email: lib.z.string(),
232
+ username: lib.z.string(),
233
+ credentials: lib.z.array(lib.z.object({
234
+ type: lib.z.string()
235
+ })),
236
+ clientRoles: lib.z.record(lib.z.array(lib.z.string())).optional()
237
+ })),
238
+ roles: lib.z.object({
239
+ client: lib.z.record(lib.z.array(lib.z.object({
240
+ name: lib.z.string(),
241
+ containerId: lib.z.string()
242
+ })))
243
+ }),
244
+ clients: lib.z.array(lib.z.object({
245
+ id: lib.z.string(),
246
+ clientId: lib.z.string(),
247
+ baseUrl: lib.z.string().optional(),
248
+ redirectUris: lib.z.array(lib.z.string()).optional(),
249
+ webOrigins: lib.z.array(lib.z.string()).optional(),
250
+ attributes: lib.z.object({
251
+ "post.logout.redirect.uris": lib.z.string().optional()
252
+ })
253
+ .optional(),
254
+ protocol: lib.z.string().optional(),
255
+ protocolMappers: lib.z.array(lib.z.object({
256
+ id: lib.z.string(),
257
+ name: lib.z.string(),
258
+ protocol: lib.z.string(),
259
+ protocolMapper: lib.z.string(),
260
+ consentRequired: lib.z.boolean(),
261
+ config: lib.z.record(lib.z.string()).optional()
262
+ }))
263
+ .optional()
264
+ }))
265
+ });
266
+ assert/* assert */.h;
267
+ return (0,id.id)(zTargetType);
268
+ })();
269
+ //# sourceMappingURL=ParsedRealmJson.js.map
270
+ ;// CONCATENATED MODULE: ./dist/bin/start-keycloak/realmConfig/ParsedRealmJson/readRealmJsonFile.js
271
+
272
+
273
+
274
+
275
+ function readRealmJsonFile(params) {
276
+ const { realmJsonFilePath } = params;
277
+ const parsedRealmJson = JSON.parse(external_fs_.readFileSync(realmJsonFilePath).toString("utf8"));
278
+ zParsedRealmJson.parse(parsedRealmJson);
279
+ (0,assert/* assert */.h)((0,is.is)(parsedRealmJson));
280
+ return parsedRealmJson;
281
+ }
282
+ //# sourceMappingURL=readRealmJsonFile.js.map
283
+
284
+ /***/ }),
285
+
286
+ /***/ 88984:
287
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
288
+
289
+
290
+ // EXPORTS
291
+ __webpack_require__.d(__webpack_exports__, {
292
+ "_": () => (/* reexport */ getDefaultConfig),
293
+ "Z": () => (/* reexport */ getSupportedKeycloakMajorVersions)
294
+ });
295
+
296
+ // EXTERNAL MODULE: external "path"
297
+ var external_path_ = __webpack_require__(71017);
298
+ // EXTERNAL MODULE: ./dist/bin/tools/getThisCodebaseRootDirPath.js
299
+ var getThisCodebaseRootDirPath = __webpack_require__(58822);
300
+ // EXTERNAL MODULE: external "fs"
301
+ var external_fs_ = __webpack_require__(57147);
302
+ // EXTERNAL MODULE: ./node_modules/tsafe/esm/exclude.mjs
303
+ var exclude = __webpack_require__(83101);
304
+ // EXTERNAL MODULE: ./node_modules/tsafe/esm/assert.mjs + 1 modules
305
+ var assert = __webpack_require__(29041);
306
+ // EXTERNAL MODULE: ./dist/bin/start-keycloak/realmConfig/ParsedRealmJson/readRealmJsonFile.js + 1 modules
307
+ var readRealmJsonFile = __webpack_require__(96709);
308
+ ;// CONCATENATED MODULE: ./dist/bin/start-keycloak/realmConfig/defaultConfig/defaultConfig.js
309
+
310
+
311
+
312
+
313
+
314
+
315
+ function getDefaultRealmJsonFilePath(params) {
316
+ const { keycloakMajorVersionNumber } = params;
317
+ return (0,external_path_.join)((0,getThisCodebaseRootDirPath/* getThisCodebaseRootDirPath */.e)(), "src", "bin", "start-keycloak", "realmConfig", "defaultConfig", `realm-kc-${keycloakMajorVersionNumber}.json`);
318
+ }
319
+ const { getSupportedKeycloakMajorVersions } = (() => {
320
+ let cache = undefined;
321
+ function getSupportedKeycloakMajorVersions() {
322
+ if (cache !== undefined) {
323
+ return cache;
324
+ }
325
+ cache = external_fs_.readdirSync((0,external_path_.dirname)(getDefaultRealmJsonFilePath({ keycloakMajorVersionNumber: 0 })))
326
+ .map(fileBasename => {
327
+ const match = fileBasename.match(/^realm-kc-(\d+)\.json$/);
328
+ if (match === null) {
329
+ return undefined;
330
+ }
331
+ const n = parseInt(match[1]);
332
+ (0,assert/* assert */.h)(!isNaN(n));
333
+ return n;
334
+ })
335
+ .filter((0,exclude/* exclude */.D)(undefined))
336
+ .sort((a, b) => b - a);
337
+ return cache;
338
+ }
339
+ return { getSupportedKeycloakMajorVersions };
340
+ })();
341
+ function getDefaultConfig(params) {
342
+ const { keycloakMajorVersionNumber } = params;
343
+ (0,assert/* assert */.h)(getSupportedKeycloakMajorVersions().includes(keycloakMajorVersionNumber), `We do not have a default config for Keycloak ${keycloakMajorVersionNumber}`);
344
+ return (0,readRealmJsonFile/* readRealmJsonFile */.X)({
345
+ realmJsonFilePath: getDefaultRealmJsonFilePath({
346
+ keycloakMajorVersionNumber
347
+ })
348
+ });
349
+ }
350
+ //# sourceMappingURL=defaultConfig.js.map
351
+ ;// CONCATENATED MODULE: ./dist/bin/start-keycloak/realmConfig/defaultConfig/index.js
352
+
353
+ //# sourceMappingURL=index.js.map
354
+
355
+ /***/ }),
356
+
357
+ /***/ 12171:
358
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
359
+
360
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
361
+ /* harmony export */ "h": () => (/* binding */ SemVer)
362
+ /* harmony export */ });
363
+ var SemVer;
364
+ (function (SemVer) {
365
+ const bumpTypes = ["major", "minor", "patch", "rc", "no bump"];
366
+ function parse(versionStr) {
367
+ const match = versionStr.match(/^v?([0-9]+)\.([0-9]+)(?:\.([0-9]+))?(?:-rc.([0-9]+))?$/);
368
+ if (!match) {
369
+ throw new Error(`${versionStr} is not a valid semantic version`);
370
+ }
371
+ const semVer = Object.assign({ major: parseInt(match[1]), minor: parseInt(match[2]), patch: (() => {
372
+ const str = match[3];
373
+ return str === undefined ? 0 : parseInt(str);
374
+ })() }, (() => {
375
+ const str = match[4];
376
+ return str === undefined ? {} : { rc: parseInt(str) };
377
+ })());
378
+ const initialStr = stringify(semVer);
379
+ Object.defineProperty(semVer, "parsedFrom", {
380
+ enumerable: true,
381
+ get: function () {
382
+ const currentStr = stringify(this);
383
+ if (currentStr !== initialStr) {
384
+ throw new Error(`SemVer.parsedFrom can't be read anymore, the version have been modified from ${initialStr} to ${currentStr}`);
385
+ }
386
+ return versionStr;
387
+ }
388
+ });
389
+ return semVer;
390
+ }
391
+ SemVer.parse = parse;
392
+ function stringify(v) {
393
+ return `${v.major}.${v.minor}.${v.patch}${v.rc === undefined ? "" : `-rc.${v.rc}`}`;
394
+ }
395
+ SemVer.stringify = stringify;
396
+ /**
397
+ *
398
+ * v1 < v2 => -1
399
+ * v1 === v2 => 0
400
+ * v1 > v2 => 1
401
+ *
402
+ */
403
+ function compare(v1, v2) {
404
+ const sign = (diff) => (diff === 0 ? 0 : diff < 0 ? -1 : 1);
405
+ const noUndefined = (n) => n !== null && n !== void 0 ? n : Infinity;
406
+ for (const level of ["major", "minor", "patch", "rc"]) {
407
+ if (noUndefined(v1[level]) !== noUndefined(v2[level])) {
408
+ return sign(noUndefined(v1[level]) - noUndefined(v2[level]));
409
+ }
410
+ }
411
+ return 0;
412
+ }
413
+ SemVer.compare = compare;
414
+ /*
415
+ console.log(compare(parse("3.0.0-rc.3"), parse("3.0.0")) === -1 )
416
+ console.log(compare(parse("3.0.0-rc.3"), parse("3.0.0-rc.4")) === -1 )
417
+ console.log(compare(parse("3.0.0-rc.3"), parse("4.0.0")) === -1 )
418
+ */
419
+ function bumpType(params) {
420
+ const versionAhead = typeof params.versionAhead === "string"
421
+ ? parse(params.versionAhead)
422
+ : params.versionAhead;
423
+ const versionBehind = typeof params.versionBehind === "string"
424
+ ? parse(params.versionBehind)
425
+ : params.versionBehind;
426
+ if (compare(versionBehind, versionAhead) === 1) {
427
+ throw new Error(`Version regression ${stringify(versionBehind)} -> ${stringify(versionAhead)}`);
428
+ }
429
+ for (const level of ["major", "minor", "patch", "rc"]) {
430
+ if (versionBehind[level] !== versionAhead[level]) {
431
+ return level;
432
+ }
433
+ }
434
+ return "no bump";
435
+ }
436
+ SemVer.bumpType = bumpType;
437
+ })(SemVer || (SemVer = {}));
438
+ //# sourceMappingURL=SemVer.js.map
439
+
440
+ /***/ }),
441
+
442
+ /***/ 38367:
443
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
444
+
445
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
446
+ /* harmony export */ "I": () => (/* binding */ downloadAndExtractArchive)
447
+ /* harmony export */ });
448
+ /* harmony import */ var make_fetch_happen__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9525);
449
+ /* harmony import */ var make_fetch_happen__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(make_fetch_happen__WEBPACK_IMPORTED_MODULE_0__);
450
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73292);
451
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_1__);
452
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71017);
453
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__);
454
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29041);
455
+ /* harmony import */ var _extractArchive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29121);
456
+ /* harmony import */ var _fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43765);
457
+ /* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6113);
458
+ /* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_6__);
459
+ /* harmony import */ var _fs_rm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8699);
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+ async function downloadAndExtractArchive(params) {
469
+ var _a;
470
+ const { url, uniqueIdOfOnArchiveFile, onArchiveFile, cacheDirPath, fetchOptions } = params;
471
+ const archiveFileBasename = url.split("?")[0].split("/").reverse()[0];
472
+ const archiveFilePath = (0,path__WEBPACK_IMPORTED_MODULE_2__.join)(cacheDirPath, archiveFileBasename);
473
+ download: {
474
+ await (0,fs_promises__WEBPACK_IMPORTED_MODULE_1__.mkdir)((0,path__WEBPACK_IMPORTED_MODULE_2__.dirname)(archiveFilePath), { recursive: true });
475
+ if (await (0,_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__/* .existsAsync */ .o)(archiveFilePath)) {
476
+ const isDownloaded = await SuccessTracker.getIsDownloaded({
477
+ cacheDirPath,
478
+ archiveFileBasename
479
+ });
480
+ if (isDownloaded) {
481
+ break download;
482
+ }
483
+ await (0,fs_promises__WEBPACK_IMPORTED_MODULE_1__.unlink)(archiveFilePath);
484
+ await SuccessTracker.removeFromDownloaded({
485
+ cacheDirPath,
486
+ archiveFileBasename
487
+ });
488
+ }
489
+ const response = await make_fetch_happen__WEBPACK_IMPORTED_MODULE_0___default()(url, fetchOptions);
490
+ (_a = response.body) === null || _a === void 0 ? void 0 : _a.setMaxListeners(Number.MAX_VALUE);
491
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_3__/* .assert */ .h)(typeof response.body !== "undefined" && response.body != null);
492
+ await (0,fs_promises__WEBPACK_IMPORTED_MODULE_1__.writeFile)(archiveFilePath, response.body);
493
+ await SuccessTracker.markAsDownloaded({
494
+ cacheDirPath,
495
+ archiveFileBasename
496
+ });
497
+ }
498
+ const extractDirBasename = `${archiveFileBasename.replace(/\.([^.]+)$/, (...[, ext]) => `_${ext}`)}_${uniqueIdOfOnArchiveFile}_${crypto__WEBPACK_IMPORTED_MODULE_6__.createHash("sha256")
499
+ .update(onArchiveFile.toString())
500
+ .digest("hex")
501
+ .substring(0, 5)}`;
502
+ await Promise.all((await (0,fs_promises__WEBPACK_IMPORTED_MODULE_1__.readdir)(cacheDirPath))
503
+ .filter((() => {
504
+ const prefix = extractDirBasename
505
+ .split("_")
506
+ .reverse()
507
+ .slice(1)
508
+ .reverse()
509
+ .join("_");
510
+ return basename => basename !== extractDirBasename && basename.startsWith(prefix);
511
+ })())
512
+ .map(async (extractDirBasename) => {
513
+ await (0,_fs_rm__WEBPACK_IMPORTED_MODULE_7__.rm)((0,path__WEBPACK_IMPORTED_MODULE_2__.join)(cacheDirPath, extractDirBasename), {
514
+ recursive: true
515
+ });
516
+ await SuccessTracker.removeFromExtracted({
517
+ cacheDirPath,
518
+ extractDirBasename
519
+ });
520
+ }));
521
+ const extractedDirPath = (0,path__WEBPACK_IMPORTED_MODULE_2__.join)(cacheDirPath, extractDirBasename);
522
+ extract_and_transform: {
523
+ if (await (0,_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__/* .existsAsync */ .o)(extractedDirPath)) {
524
+ const isExtracted = await SuccessTracker.getIsExtracted({
525
+ cacheDirPath,
526
+ extractDirBasename
527
+ });
528
+ if (isExtracted) {
529
+ break extract_and_transform;
530
+ }
531
+ await (0,_fs_rm__WEBPACK_IMPORTED_MODULE_7__.rm)(extractedDirPath, { recursive: true });
532
+ await SuccessTracker.removeFromExtracted({
533
+ cacheDirPath,
534
+ extractDirBasename
535
+ });
536
+ }
537
+ await (0,_extractArchive__WEBPACK_IMPORTED_MODULE_4__/* .extractArchive */ .N)({
538
+ archiveFilePath,
539
+ onArchiveFile: async ({ relativeFilePathInArchive, readFile, writeFile }) => onArchiveFile({
540
+ fileRelativePath: relativeFilePathInArchive,
541
+ readFile,
542
+ writeFile: ({ fileRelativePath, modifiedData }) => writeFile({
543
+ filePath: (0,path__WEBPACK_IMPORTED_MODULE_2__.join)(extractedDirPath, fileRelativePath),
544
+ modifiedData
545
+ })
546
+ })
547
+ });
548
+ await SuccessTracker.markAsExtracted({
549
+ cacheDirPath,
550
+ extractDirBasename
551
+ });
552
+ }
553
+ return { extractedDirPath, archiveFilePath };
554
+ }
555
+ var SuccessTracker;
556
+ (function (SuccessTracker) {
557
+ async function read(params) {
558
+ const { cacheDirPath } = params;
559
+ const filePath = (0,path__WEBPACK_IMPORTED_MODULE_2__.join)(cacheDirPath, "downloadAndExtractArchive.json");
560
+ if (!(await (0,_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__/* .existsAsync */ .o)(filePath))) {
561
+ return { archiveFileBasenames: [], extractDirBasenames: [] };
562
+ }
563
+ return JSON.parse((await (0,fs_promises__WEBPACK_IMPORTED_MODULE_1__.readFile)(filePath)).toString("utf8"));
564
+ }
565
+ async function write(params) {
566
+ const { cacheDirPath, successTracker } = params;
567
+ const filePath = (0,path__WEBPACK_IMPORTED_MODULE_2__.join)(cacheDirPath, "downloadAndExtractArchive.json");
568
+ {
569
+ const dirPath = (0,path__WEBPACK_IMPORTED_MODULE_2__.dirname)(filePath);
570
+ if (!(await (0,_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__/* .existsAsync */ .o)(dirPath))) {
571
+ await (0,fs_promises__WEBPACK_IMPORTED_MODULE_1__.mkdir)(dirPath, { recursive: true });
572
+ }
573
+ }
574
+ await (0,fs_promises__WEBPACK_IMPORTED_MODULE_1__.writeFile)(filePath, JSON.stringify(successTracker));
575
+ }
576
+ async function markAsDownloaded(params) {
577
+ const { cacheDirPath, archiveFileBasename } = params;
578
+ const successTracker = await read({ cacheDirPath });
579
+ successTracker.archiveFileBasenames.push(archiveFileBasename);
580
+ await write({ cacheDirPath, successTracker });
581
+ }
582
+ SuccessTracker.markAsDownloaded = markAsDownloaded;
583
+ async function getIsDownloaded(params) {
584
+ const { cacheDirPath, archiveFileBasename } = params;
585
+ const successTracker = await read({ cacheDirPath });
586
+ return successTracker.archiveFileBasenames.includes(archiveFileBasename);
587
+ }
588
+ SuccessTracker.getIsDownloaded = getIsDownloaded;
589
+ async function removeFromDownloaded(params) {
590
+ const { cacheDirPath, archiveFileBasename } = params;
591
+ const successTracker = await read({ cacheDirPath });
592
+ successTracker.archiveFileBasenames = successTracker.archiveFileBasenames.filter(basename => basename !== archiveFileBasename);
593
+ await write({ cacheDirPath, successTracker });
594
+ }
595
+ SuccessTracker.removeFromDownloaded = removeFromDownloaded;
596
+ async function markAsExtracted(params) {
597
+ const { cacheDirPath, extractDirBasename } = params;
598
+ const successTracker = await read({ cacheDirPath });
599
+ successTracker.extractDirBasenames.push(extractDirBasename);
600
+ await write({ cacheDirPath, successTracker });
601
+ }
602
+ SuccessTracker.markAsExtracted = markAsExtracted;
603
+ async function getIsExtracted(params) {
604
+ const { cacheDirPath, extractDirBasename } = params;
605
+ const successTracker = await read({ cacheDirPath });
606
+ return successTracker.extractDirBasenames.includes(extractDirBasename);
607
+ }
608
+ SuccessTracker.getIsExtracted = getIsExtracted;
609
+ async function removeFromExtracted(params) {
610
+ const { cacheDirPath, extractDirBasename } = params;
611
+ const successTracker = await read({ cacheDirPath });
612
+ successTracker.extractDirBasenames = successTracker.extractDirBasenames.filter(basename => basename !== extractDirBasename);
613
+ await write({ cacheDirPath, successTracker });
614
+ }
615
+ SuccessTracker.removeFromExtracted = removeFromExtracted;
616
+ })(SuccessTracker || (SuccessTracker = {}));
617
+ //# sourceMappingURL=downloadAndExtractArchive.js.map
618
+
619
+ /***/ }),
620
+
621
+ /***/ 29121:
622
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
623
+
624
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
625
+ /* harmony export */ "N": () => (/* binding */ extractArchive)
626
+ /* harmony export */ });
627
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73292);
628
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_0__);
629
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57147);
630
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);
631
+ /* harmony import */ var yauzl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78781);
632
+ /* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12781);
633
+ /* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(stream__WEBPACK_IMPORTED_MODULE_3__);
634
+ /* harmony import */ var evt_tools_Deferred__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50689);
635
+ /* harmony import */ var evt_tools_Deferred__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(evt_tools_Deferred__WEBPACK_IMPORTED_MODULE_4__);
636
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(71017);
637
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_5__);
638
+ /* harmony import */ var _fs_existsAsync__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(43765);
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+ async function extractArchive(params) {
647
+ const { archiveFilePath, onArchiveFile } = params;
648
+ const zipFile = await new Promise((resolve, reject) => {
649
+ yauzl__WEBPACK_IMPORTED_MODULE_2__.open(archiveFilePath, { lazyEntries: true }, async (error, zipFile) => {
650
+ if (error) {
651
+ reject(error);
652
+ return;
653
+ }
654
+ resolve(zipFile);
655
+ });
656
+ });
657
+ const dDone = new evt_tools_Deferred__WEBPACK_IMPORTED_MODULE_4__.Deferred();
658
+ zipFile.once("end", () => {
659
+ zipFile.close();
660
+ dDone.resolve();
661
+ });
662
+ const writeFile = async (entry, params) => {
663
+ const { filePath, modifiedData } = params;
664
+ {
665
+ const dirPath = (0,path__WEBPACK_IMPORTED_MODULE_5__.dirname)(filePath);
666
+ if (!(await (0,_fs_existsAsync__WEBPACK_IMPORTED_MODULE_6__/* .existsAsync */ .o)(dirPath))) {
667
+ await fs_promises__WEBPACK_IMPORTED_MODULE_0___default().mkdir(dirPath, { recursive: true });
668
+ }
669
+ }
670
+ if (modifiedData !== undefined) {
671
+ await fs_promises__WEBPACK_IMPORTED_MODULE_0___default().writeFile(filePath, modifiedData);
672
+ return;
673
+ }
674
+ const readStream = await new Promise(resolve => zipFile.openReadStream(entry, async (error, readStream) => {
675
+ if (error) {
676
+ dDone.reject(error);
677
+ return;
678
+ }
679
+ resolve(readStream);
680
+ }));
681
+ const dDoneWithFile = new evt_tools_Deferred__WEBPACK_IMPORTED_MODULE_4__.Deferred();
682
+ stream__WEBPACK_IMPORTED_MODULE_3___default().pipeline(readStream, fs__WEBPACK_IMPORTED_MODULE_1___default().createWriteStream(filePath), error => {
683
+ if (error) {
684
+ dDone.reject(error);
685
+ return;
686
+ }
687
+ dDoneWithFile.resolve();
688
+ });
689
+ await dDoneWithFile.pr;
690
+ };
691
+ const readFile = (entry) => new Promise(resolve => zipFile.openReadStream(entry, async (error, readStream) => {
692
+ if (error) {
693
+ dDone.reject(error);
694
+ return;
695
+ }
696
+ const chunks = [];
697
+ readStream.on("data", chunk => {
698
+ chunks.push(chunk);
699
+ });
700
+ readStream.on("end", () => {
701
+ resolve(Buffer.concat(chunks));
702
+ });
703
+ readStream.on("error", error => {
704
+ dDone.reject(error);
705
+ });
706
+ }));
707
+ zipFile.on("entry", async (entry) => {
708
+ handle_file: {
709
+ // NOTE: Skip directories
710
+ if (entry.fileName.endsWith("/")) {
711
+ break handle_file;
712
+ }
713
+ let hasEarlyExitBeenCalled = false;
714
+ await onArchiveFile({
715
+ relativeFilePathInArchive: entry.fileName.split("/").join(path__WEBPACK_IMPORTED_MODULE_5__.sep),
716
+ readFile: () => readFile(entry),
717
+ writeFile: params => writeFile(entry, params),
718
+ earlyExit: () => {
719
+ hasEarlyExitBeenCalled = true;
720
+ }
721
+ });
722
+ if (hasEarlyExitBeenCalled) {
723
+ zipFile.close();
724
+ dDone.resolve();
725
+ return;
726
+ }
727
+ }
728
+ zipFile.readEntry();
729
+ });
730
+ zipFile.readEntry();
731
+ await dDone.pr;
732
+ }
733
+ //# sourceMappingURL=extractArchive.js.map
734
+
735
+ /***/ }),
736
+
737
+ /***/ 43765:
738
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
739
+
740
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
741
+ /* harmony export */ "o": () => (/* binding */ existsAsync)
742
+ /* harmony export */ });
743
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73292);
744
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_0__);
745
+
746
+ async function existsAsync(path) {
747
+ try {
748
+ await fs_promises__WEBPACK_IMPORTED_MODULE_0__.stat(path);
749
+ return true;
750
+ }
751
+ catch (error) {
752
+ if (error.code === "ENOENT")
753
+ return false;
754
+ throw error;
755
+ }
756
+ }
757
+ //# sourceMappingURL=fs.existsAsync.js.map
758
+
759
+ /***/ }),
760
+
761
+ /***/ 8699:
762
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
763
+
764
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
765
+ /* harmony export */ "rm": () => (/* binding */ rm)
766
+ /* harmony export */ });
767
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73292);
768
+ /* harmony import */ var fs_promises__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs_promises__WEBPACK_IMPORTED_MODULE_0__);
769
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
770
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
771
+ /* harmony import */ var _SemVer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12171);
772
+
773
+
774
+
775
+ /**
776
+ * Polyfill of fs.rm(dirPath, { "recursive": true })
777
+ * For older version of Node
778
+ */
779
+ async function rm(dirPath, options) {
780
+ if (_SemVer__WEBPACK_IMPORTED_MODULE_2__/* .SemVer.compare */ .h.compare(_SemVer__WEBPACK_IMPORTED_MODULE_2__/* .SemVer.parse */ .h.parse(process.version), _SemVer__WEBPACK_IMPORTED_MODULE_2__/* .SemVer.parse */ .h.parse("14.14.0")) > 0) {
781
+ return fs_promises__WEBPACK_IMPORTED_MODULE_0__.rm(dirPath, options);
782
+ }
783
+ const { force = true } = options;
784
+ if (force && !(await checkDirExists(dirPath))) {
785
+ return;
786
+ }
787
+ const removeDir_rec = async (dirPath) => Promise.all((await fs_promises__WEBPACK_IMPORTED_MODULE_0__.readdir(dirPath)).map(async (basename) => {
788
+ const fileOrDirpath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(dirPath, basename);
789
+ if ((await fs_promises__WEBPACK_IMPORTED_MODULE_0__.lstat(fileOrDirpath)).isDirectory()) {
790
+ await removeDir_rec(fileOrDirpath);
791
+ }
792
+ else {
793
+ await fs_promises__WEBPACK_IMPORTED_MODULE_0__.unlink(fileOrDirpath);
794
+ }
795
+ }));
796
+ await removeDir_rec(dirPath);
797
+ }
798
+ async function checkDirExists(dirPath) {
799
+ try {
800
+ await fs_promises__WEBPACK_IMPORTED_MODULE_0__.access(dirPath, fs_promises__WEBPACK_IMPORTED_MODULE_0__.constants.F_OK);
801
+ return true;
802
+ }
803
+ catch (_a) {
804
+ return false;
805
+ }
806
+ }
807
+ //# sourceMappingURL=fs.rm.js.map
808
+
809
+ /***/ }),
810
+
811
+ /***/ 73776:
812
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
813
+
814
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
815
+ /* harmony export */ "K": () => (/* binding */ getNodeModulesBinDirPath)
816
+ /* harmony export */ });
817
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71017);
818
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
819
+
820
+ let cache = undefined;
821
+ function getNodeModulesBinDirPath() {
822
+ if (cache !== undefined) {
823
+ return cache;
824
+ }
825
+ const binPath = process.argv[1];
826
+ const segments = [".bin"];
827
+ let foundNodeModules = false;
828
+ for (const segment of binPath.split(path__WEBPACK_IMPORTED_MODULE_0__.sep).reverse()) {
829
+ skip_segment: {
830
+ if (foundNodeModules) {
831
+ break skip_segment;
832
+ }
833
+ if (segment === "node_modules") {
834
+ foundNodeModules = true;
835
+ break skip_segment;
836
+ }
837
+ continue;
838
+ }
839
+ segments.unshift(segment);
840
+ }
841
+ const nodeModulesBinDirPath = segments.join(path__WEBPACK_IMPORTED_MODULE_0__.sep);
842
+ cache = nodeModulesBinDirPath;
843
+ return nodeModulesBinDirPath;
844
+ }
845
+ //# sourceMappingURL=nodeModulesBinDirPath.js.map
846
+
847
+ /***/ })
848
+
849
+ };
850
+ ;