keycloakify 10.0.0-rc.62 → 10.0.0-rc.64

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.
package/bin/193.index.js CHANGED
@@ -103,6 +103,558 @@ async function command(params) {
103
103
  }
104
104
  //# sourceMappingURL=copy-keycloak-resources-to-public.js.map
105
105
 
106
+ /***/ }),
107
+
108
+ /***/ 47802:
109
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
110
+
111
+
112
+ // EXPORTS
113
+ __webpack_require__.d(__webpack_exports__, {
114
+ "x": () => (/* binding */ downloadKeycloakDefaultTheme)
115
+ });
116
+
117
+ // EXTERNAL MODULE: external "path"
118
+ var external_path_ = __webpack_require__(71017);
119
+ // EXTERNAL MODULE: ./node_modules/tsafe/assert.js
120
+ var assert = __webpack_require__(88078);
121
+ // EXTERNAL MODULE: ./dist/bin/shared/constants.js
122
+ var constants = __webpack_require__(173);
123
+ // EXTERNAL MODULE: ./node_modules/make-fetch-happen/lib/index.js
124
+ var lib = __webpack_require__(9525);
125
+ var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
126
+ // EXTERNAL MODULE: external "fs/promises"
127
+ var promises_ = __webpack_require__(73292);
128
+ // EXTERNAL MODULE: ./dist/bin/tools/extractArchive.js
129
+ var extractArchive = __webpack_require__(29121);
130
+ // EXTERNAL MODULE: ./dist/bin/tools/fs.existsAsync.js
131
+ var fs_existsAsync = __webpack_require__(43765);
132
+ // EXTERNAL MODULE: external "child_process"
133
+ var external_child_process_ = __webpack_require__(32081);
134
+ // EXTERNAL MODULE: external "util"
135
+ var external_util_ = __webpack_require__(73837);
136
+ ;// CONCATENATED MODULE: ./dist/bin/tools/downloadAndExtractArchive/fetchProxyOptions.js
137
+
138
+
139
+
140
+ function ensureArray(arg0) {
141
+ return Array.isArray(arg0) ? arg0 : typeof arg0 === "undefined" ? [] : [arg0];
142
+ }
143
+ function ensureSingleOrNone(arg0) {
144
+ if (!Array.isArray(arg0))
145
+ return arg0;
146
+ if (arg0.length === 0)
147
+ return undefined;
148
+ if (arg0.length === 1)
149
+ return arg0[0];
150
+ throw new Error("Illegal configuration, expected a single value but found multiple: " +
151
+ arg0.map(String).join(", "));
152
+ }
153
+ /**
154
+ * Get npm configuration as map
155
+ */
156
+ async function getNmpConfig(params) {
157
+ const { npmWorkspaceRootDirPath } = params;
158
+ const exec = (0,external_util_.promisify)(external_child_process_.exec);
159
+ const stdout = await exec("npm config get", {
160
+ encoding: "utf8",
161
+ cwd: npmWorkspaceRootDirPath
162
+ }).then(({ stdout }) => stdout);
163
+ const npmConfigReducer = (cfg, [key, value]) => key in cfg
164
+ ? Object.assign(Object.assign({}, cfg), { [key]: [...ensureArray(cfg[key]), value] }) : Object.assign(Object.assign({}, cfg), { [key]: value });
165
+ return stdout
166
+ .split("\n")
167
+ .filter(line => !line.startsWith(";"))
168
+ .map(line => line.trim())
169
+ .map(line => line.split("=", 2))
170
+ .reduce(npmConfigReducer, {});
171
+ }
172
+ async function getProxyFetchOptions(params) {
173
+ var _a, _b, _c;
174
+ const { npmWorkspaceRootDirPath } = params;
175
+ const cfg = await getNmpConfig({ npmWorkspaceRootDirPath });
176
+ const proxy = ensureSingleOrNone((_a = cfg["https-proxy"]) !== null && _a !== void 0 ? _a : cfg["proxy"]);
177
+ const noProxy = (_b = cfg["noproxy"]) !== null && _b !== void 0 ? _b : cfg["no-proxy"];
178
+ function maybeBoolean(arg0) {
179
+ return typeof arg0 === "undefined" ? undefined : Boolean(arg0);
180
+ }
181
+ const strictSSL = maybeBoolean(ensureSingleOrNone(cfg["strict-ssl"]));
182
+ const cert = cfg["cert"];
183
+ const ca = ensureArray((_c = cfg["ca"]) !== null && _c !== void 0 ? _c : cfg["ca[]"]);
184
+ const cafile = ensureSingleOrNone(cfg["cafile"]);
185
+ if (typeof cafile !== "undefined" && cafile !== "null") {
186
+ ca.push(...(await (async () => {
187
+ function chunks(arr, size = 2) {
188
+ return arr
189
+ .map((_, i) => i % size == 0 && arr.slice(i, i + size))
190
+ .filter(Boolean);
191
+ }
192
+ const cafileContent = await (0,promises_.readFile)(cafile, "utf-8");
193
+ const newLinePlaceholder = "NEW_LINE_PLACEHOLDER_xIsPsK23svt";
194
+ return chunks(cafileContent.split(/(-----END CERTIFICATE-----)/), 2).map(ca => ca
195
+ .join("")
196
+ .replace(/\r?\n/g, newLinePlaceholder)
197
+ .replace(new RegExp(`^${newLinePlaceholder}`), "")
198
+ .replace(new RegExp(newLinePlaceholder, "g"), "\\n"));
199
+ })()));
200
+ }
201
+ return {
202
+ proxy,
203
+ noProxy,
204
+ strictSSL,
205
+ cert,
206
+ ca: ca.length === 0 ? undefined : ca
207
+ };
208
+ }
209
+ //# sourceMappingURL=fetchProxyOptions.js.map
210
+ // EXTERNAL MODULE: external "crypto"
211
+ var external_crypto_ = __webpack_require__(6113);
212
+ // EXTERNAL MODULE: ./dist/bin/tools/fs.rm.js
213
+ var fs_rm = __webpack_require__(8699);
214
+ ;// CONCATENATED MODULE: ./dist/bin/tools/downloadAndExtractArchive/downloadAndExtractArchive.js
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+ async function downloadAndExtractArchive(params) {
225
+ var _a;
226
+ const { url, uniqueIdOfOnOnArchiveFile, onArchiveFile, cacheDirPath, npmWorkspaceRootDirPath } = params;
227
+ const archiveFileBasename = url.split("?")[0].split("/").reverse()[0];
228
+ const archiveFilePath = (0,external_path_.join)(cacheDirPath, archiveFileBasename);
229
+ download: {
230
+ if (await (0,fs_existsAsync/* existsAsync */.o)(archiveFilePath)) {
231
+ const isDownloaded = await SuccessTracker.getIsDownloaded({
232
+ cacheDirPath,
233
+ archiveFileBasename
234
+ });
235
+ if (isDownloaded) {
236
+ break download;
237
+ }
238
+ await (0,promises_.unlink)(archiveFilePath);
239
+ await SuccessTracker.removeFromDownloaded({
240
+ cacheDirPath,
241
+ archiveFileBasename
242
+ });
243
+ }
244
+ await (0,promises_.mkdir)((0,external_path_.dirname)(archiveFilePath), { recursive: true });
245
+ const response = await lib_default()(url, await getProxyFetchOptions({ npmWorkspaceRootDirPath }));
246
+ (_a = response.body) === null || _a === void 0 ? void 0 : _a.setMaxListeners(Number.MAX_VALUE);
247
+ (0,assert.assert)(typeof response.body !== "undefined" && response.body != null);
248
+ await (0,promises_.writeFile)(archiveFilePath, response.body);
249
+ await SuccessTracker.markAsDownloaded({
250
+ cacheDirPath,
251
+ archiveFileBasename
252
+ });
253
+ }
254
+ const extractDirBasename = `${archiveFileBasename.split(".")[0]}_${uniqueIdOfOnOnArchiveFile}_${external_crypto_.createHash("sha256")
255
+ .update(onArchiveFile.toString())
256
+ .digest("hex")
257
+ .substring(0, 5)}`;
258
+ await Promise.all((await (0,promises_.readdir)(cacheDirPath))
259
+ .filter((() => {
260
+ const prefix = extractDirBasename
261
+ .split("_")
262
+ .reverse()
263
+ .slice(1)
264
+ .reverse()
265
+ .join("_");
266
+ return basename => basename !== extractDirBasename && basename.startsWith(prefix);
267
+ })())
268
+ .map(async (extractDirBasename) => {
269
+ await (0,fs_rm.rm)((0,external_path_.join)(cacheDirPath, extractDirBasename), { recursive: true });
270
+ await SuccessTracker.removeFromExtracted({
271
+ cacheDirPath,
272
+ extractDirBasename
273
+ });
274
+ }));
275
+ const extractedDirPath = (0,external_path_.join)(cacheDirPath, extractDirBasename);
276
+ extract_and_transform: {
277
+ if (await (0,fs_existsAsync/* existsAsync */.o)(extractedDirPath)) {
278
+ const isExtracted = await SuccessTracker.getIsExtracted({
279
+ cacheDirPath,
280
+ extractDirBasename
281
+ });
282
+ if (isExtracted) {
283
+ break extract_and_transform;
284
+ }
285
+ await (0,fs_rm.rm)(extractedDirPath, { recursive: true });
286
+ await SuccessTracker.removeFromExtracted({
287
+ cacheDirPath,
288
+ extractDirBasename
289
+ });
290
+ }
291
+ await (0,extractArchive/* extractArchive */.N)({
292
+ archiveFilePath,
293
+ onArchiveFile: async ({ relativeFilePathInArchive, readFile, writeFile }) => onArchiveFile({
294
+ fileRelativePath: relativeFilePathInArchive,
295
+ readFile,
296
+ writeFile: ({ fileRelativePath, modifiedData }) => writeFile({
297
+ filePath: (0,external_path_.join)(extractedDirPath, fileRelativePath),
298
+ modifiedData
299
+ })
300
+ })
301
+ });
302
+ await SuccessTracker.markAsExtracted({
303
+ cacheDirPath,
304
+ extractDirBasename
305
+ });
306
+ }
307
+ return { extractedDirPath };
308
+ }
309
+ var SuccessTracker;
310
+ (function (SuccessTracker) {
311
+ async function read(params) {
312
+ const { cacheDirPath } = params;
313
+ const filePath = (0,external_path_.join)(cacheDirPath, "downloadAndExtractArchive.json");
314
+ if (!(await (0,fs_existsAsync/* existsAsync */.o)(filePath))) {
315
+ return { archiveFileBasenames: [], extractDirBasenames: [] };
316
+ }
317
+ return JSON.parse((await (0,promises_.readFile)(filePath)).toString("utf8"));
318
+ }
319
+ async function write(params) {
320
+ const { cacheDirPath, successTracker } = params;
321
+ const filePath = (0,external_path_.join)(cacheDirPath, "downloadAndExtractArchive.json");
322
+ {
323
+ const dirPath = (0,external_path_.dirname)(filePath);
324
+ if (!(await (0,fs_existsAsync/* existsAsync */.o)(dirPath))) {
325
+ await (0,promises_.mkdir)(dirPath, { recursive: true });
326
+ }
327
+ }
328
+ await (0,promises_.writeFile)(filePath, JSON.stringify(successTracker));
329
+ }
330
+ async function markAsDownloaded(params) {
331
+ const { cacheDirPath, archiveFileBasename } = params;
332
+ const successTracker = await read({ cacheDirPath });
333
+ successTracker.archiveFileBasenames.push(archiveFileBasename);
334
+ await write({ cacheDirPath, successTracker });
335
+ }
336
+ SuccessTracker.markAsDownloaded = markAsDownloaded;
337
+ async function getIsDownloaded(params) {
338
+ const { cacheDirPath, archiveFileBasename } = params;
339
+ const successTracker = await read({ cacheDirPath });
340
+ return successTracker.archiveFileBasenames.includes(archiveFileBasename);
341
+ }
342
+ SuccessTracker.getIsDownloaded = getIsDownloaded;
343
+ async function removeFromDownloaded(params) {
344
+ const { cacheDirPath, archiveFileBasename } = params;
345
+ const successTracker = await read({ cacheDirPath });
346
+ successTracker.archiveFileBasenames = successTracker.archiveFileBasenames.filter(basename => basename !== archiveFileBasename);
347
+ await write({ cacheDirPath, successTracker });
348
+ }
349
+ SuccessTracker.removeFromDownloaded = removeFromDownloaded;
350
+ async function markAsExtracted(params) {
351
+ const { cacheDirPath, extractDirBasename } = params;
352
+ const successTracker = await read({ cacheDirPath });
353
+ successTracker.extractDirBasenames.push(extractDirBasename);
354
+ await write({ cacheDirPath, successTracker });
355
+ }
356
+ SuccessTracker.markAsExtracted = markAsExtracted;
357
+ async function getIsExtracted(params) {
358
+ const { cacheDirPath, extractDirBasename } = params;
359
+ const successTracker = await read({ cacheDirPath });
360
+ return successTracker.extractDirBasenames.includes(extractDirBasename);
361
+ }
362
+ SuccessTracker.getIsExtracted = getIsExtracted;
363
+ async function removeFromExtracted(params) {
364
+ const { cacheDirPath, extractDirBasename } = params;
365
+ const successTracker = await read({ cacheDirPath });
366
+ successTracker.extractDirBasenames = successTracker.extractDirBasenames.filter(basename => basename !== extractDirBasename);
367
+ await write({ cacheDirPath, successTracker });
368
+ }
369
+ SuccessTracker.removeFromExtracted = removeFromExtracted;
370
+ })(SuccessTracker || (SuccessTracker = {}));
371
+ //# sourceMappingURL=downloadAndExtractArchive.js.map
372
+ ;// CONCATENATED MODULE: ./dist/bin/tools/downloadAndExtractArchive/index.js
373
+
374
+ //# sourceMappingURL=index.js.map
375
+ // EXTERNAL MODULE: ./dist/bin/tools/isInside.js
376
+ var isInside = __webpack_require__(90665);
377
+ ;// CONCATENATED MODULE: ./dist/bin/shared/downloadKeycloakDefaultTheme.js
378
+
379
+
380
+
381
+
382
+
383
+ (0,assert.assert)();
384
+ async function downloadKeycloakDefaultTheme(params) {
385
+ const { keycloakVersion, buildContext } = params;
386
+ const { extractedDirPath } = await downloadAndExtractArchive({
387
+ url: `https://repo1.maven.org/maven2/org/keycloak/keycloak-themes/${keycloakVersion}/keycloak-themes-${keycloakVersion}.jar`,
388
+ cacheDirPath: buildContext.cacheDirPath,
389
+ npmWorkspaceRootDirPath: buildContext.npmWorkspaceRootDirPath,
390
+ uniqueIdOfOnOnArchiveFile: "downloadKeycloakDefaultTheme",
391
+ onArchiveFile: async (params) => {
392
+ if (!(0,isInside/* isInside */.V)({ dirPath: "theme", filePath: params.fileRelativePath })) {
393
+ return;
394
+ }
395
+ const { readFile, writeFile } = params;
396
+ const fileRelativePath = (0,external_path_.relative)("theme", params.fileRelativePath);
397
+ skip_keycloak_v2: {
398
+ if (!(0,isInside/* isInside */.V)({
399
+ dirPath: (0,external_path_.join)("keycloak.v2"),
400
+ filePath: fileRelativePath
401
+ })) {
402
+ break skip_keycloak_v2;
403
+ }
404
+ return;
405
+ }
406
+ last_account_v1_transformations: {
407
+ if (constants/* lastKeycloakVersionWithAccountV1 */.v$ !== keycloakVersion) {
408
+ break last_account_v1_transformations;
409
+ }
410
+ patch_account_css: {
411
+ if (fileRelativePath !==
412
+ (0,external_path_.join)("keycloak", "account", "resources", "css", "account.css")) {
413
+ break patch_account_css;
414
+ }
415
+ await writeFile({
416
+ fileRelativePath,
417
+ modifiedData: Buffer.from((await readFile())
418
+ .toString("utf8")
419
+ .replace("top: -34px;", "top: -34px !important;"), "utf8")
420
+ });
421
+ return;
422
+ }
423
+ skip_web_modules: {
424
+ if (!(0,isInside/* isInside */.V)({
425
+ dirPath: (0,external_path_.join)("keycloak", "common", "resources", "web_modules"),
426
+ filePath: fileRelativePath
427
+ })) {
428
+ break skip_web_modules;
429
+ }
430
+ return;
431
+ }
432
+ skip_unused_node_modules: {
433
+ const nodeModulesDirPath = (0,external_path_.join)("keycloak", "common", "resources", "node_modules");
434
+ if (!(0,isInside/* isInside */.V)({
435
+ dirPath: nodeModulesDirPath,
436
+ filePath: fileRelativePath
437
+ })) {
438
+ break skip_unused_node_modules;
439
+ }
440
+ const toKeepPrefixes = [
441
+ ...[
442
+ "patternfly.min.css",
443
+ "patternfly-additions.min.css",
444
+ "patternfly-additions.min.css"
445
+ ].map(fileBasename => (0,external_path_.join)(nodeModulesDirPath, "patternfly", "dist", "css", fileBasename)),
446
+ (0,external_path_.join)(nodeModulesDirPath, "patternfly", "dist", "fonts")
447
+ ];
448
+ if (toKeepPrefixes.find(prefix => fileRelativePath.startsWith(prefix)) !== undefined) {
449
+ break skip_unused_node_modules;
450
+ }
451
+ return;
452
+ }
453
+ }
454
+ skip_unused_resources: {
455
+ if (keycloakVersion !== "24.0.4") {
456
+ break skip_unused_resources;
457
+ }
458
+ for (const dirBasename of [
459
+ "@patternfly-v5",
460
+ "@rollup",
461
+ "rollup",
462
+ "react",
463
+ "react-dom",
464
+ "shx",
465
+ ".pnpm"
466
+ ]) {
467
+ if ((0,isInside/* isInside */.V)({
468
+ dirPath: (0,external_path_.join)("keycloak", "common", "resources", "node_modules", dirBasename),
469
+ filePath: fileRelativePath
470
+ })) {
471
+ return;
472
+ }
473
+ }
474
+ for (const dirBasename of ["react", "react-dom"]) {
475
+ if ((0,isInside/* isInside */.V)({
476
+ dirPath: (0,external_path_.join)("keycloak", "common", "resources", "vendor", dirBasename),
477
+ filePath: fileRelativePath
478
+ })) {
479
+ return;
480
+ }
481
+ }
482
+ if ((0,isInside/* isInside */.V)({
483
+ dirPath: (0,external_path_.join)("keycloak", "common", "resources", "node_modules", "@patternfly", "react-core"),
484
+ filePath: fileRelativePath
485
+ })) {
486
+ return;
487
+ }
488
+ }
489
+ await writeFile({ fileRelativePath });
490
+ }
491
+ });
492
+ return { defaultThemeDirPath: extractedDirPath };
493
+ }
494
+ //# sourceMappingURL=downloadKeycloakDefaultTheme.js.map
495
+
496
+ /***/ }),
497
+
498
+ /***/ 62190:
499
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
500
+
501
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
502
+ /* harmony export */ "p": () => (/* binding */ downloadKeycloakStaticResources)
503
+ /* harmony export */ });
504
+ /* harmony import */ var _tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60332);
505
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
506
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
507
+ /* harmony import */ var _downloadKeycloakDefaultTheme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47802);
508
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(173);
509
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88078);
510
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(tsafe_assert__WEBPACK_IMPORTED_MODULE_4__);
511
+ /* harmony import */ var _tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43765);
512
+
513
+
514
+
515
+
516
+
517
+
518
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_4__.assert)();
519
+ async function downloadKeycloakStaticResources(params) {
520
+ const { themeType, themeDirPath, keycloakVersion, buildContext } = params;
521
+ const { defaultThemeDirPath } = await (0,_downloadKeycloakDefaultTheme__WEBPACK_IMPORTED_MODULE_2__/* .downloadKeycloakDefaultTheme */ .x)({
522
+ keycloakVersion,
523
+ buildContext
524
+ });
525
+ const resourcesDirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(themeDirPath, themeType, "resources");
526
+ repatriate_base_resources: {
527
+ const srcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(defaultThemeDirPath, "base", themeType, "resources");
528
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__/* .existsAsync */ .o)(srcDirPath))) {
529
+ break repatriate_base_resources;
530
+ }
531
+ (0,_tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__/* .transformCodebase */ .N)({
532
+ srcDirPath,
533
+ destDirPath: resourcesDirPath
534
+ });
535
+ }
536
+ (0,_tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__/* .transformCodebase */ .N)({
537
+ srcDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(defaultThemeDirPath, "keycloak", themeType, "resources"),
538
+ destDirPath: resourcesDirPath
539
+ });
540
+ (0,_tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__/* .transformCodebase */ .N)({
541
+ srcDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(defaultThemeDirPath, "keycloak", "common", "resources"),
542
+ destDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(resourcesDirPath, _constants__WEBPACK_IMPORTED_MODULE_3__/* .resources_common */ .z0)
543
+ });
544
+ }
545
+ //# sourceMappingURL=downloadKeycloakStaticResources.js.map
546
+
547
+ /***/ }),
548
+
549
+ /***/ 89693:
550
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
551
+
552
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
553
+ /* harmony export */ "a": () => (/* binding */ rmSync)
554
+ /* harmony export */ });
555
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57147);
556
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
557
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
558
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
559
+ /* harmony import */ var _SemVer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12171);
560
+
561
+
562
+
563
+ /**
564
+ * Polyfill of fs.rmSync(dirPath, { "recursive": true })
565
+ * For older version of Node
566
+ */
567
+ function rmSync(dirPath, options) {
568
+ 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) {
569
+ fs__WEBPACK_IMPORTED_MODULE_0__.rmSync(dirPath, options);
570
+ return;
571
+ }
572
+ const { force = true } = options;
573
+ if (force && !fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(dirPath)) {
574
+ return;
575
+ }
576
+ const removeDir_rec = (dirPath) => fs__WEBPACK_IMPORTED_MODULE_0__.readdirSync(dirPath).forEach(basename => {
577
+ const fileOrDirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(dirPath, basename);
578
+ if (fs__WEBPACK_IMPORTED_MODULE_0__.lstatSync(fileOrDirPath).isDirectory()) {
579
+ removeDir_rec(fileOrDirPath);
580
+ return;
581
+ }
582
+ else {
583
+ fs__WEBPACK_IMPORTED_MODULE_0__.unlinkSync(fileOrDirPath);
584
+ }
585
+ });
586
+ removeDir_rec(dirPath);
587
+ }
588
+ //# sourceMappingURL=fs.rmSync.js.map
589
+
590
+ /***/ }),
591
+
592
+ /***/ 60332:
593
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
594
+
595
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
596
+ /* harmony export */ "N": () => (/* binding */ transformCodebase)
597
+ /* harmony export */ });
598
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57147);
599
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
600
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
601
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
602
+ /* harmony import */ var _crawl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73036);
603
+ /* harmony import */ var _tools_fs_rmSync__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89693);
604
+
605
+
606
+
607
+
608
+ /**
609
+ * Apply a transformation function to every file of directory
610
+ * If source and destination are the same this function can be used to apply the transformation in place
611
+ * like filtering out some files or modifying them.
612
+ * */
613
+ function transformCodebase(params) {
614
+ const { srcDirPath, transformSourceCode } = params;
615
+ const isTargetSameAsSource = path__WEBPACK_IMPORTED_MODULE_1__.relative(srcDirPath, params.destDirPath) === "";
616
+ const destDirPath = isTargetSameAsSource
617
+ ? path__WEBPACK_IMPORTED_MODULE_1__.join(srcDirPath, "..", "tmp_xOsPdkPsTdzPs34sOkHs")
618
+ : params.destDirPath;
619
+ fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(destDirPath, {
620
+ recursive: true
621
+ });
622
+ for (const fileRelativePath of (0,_crawl__WEBPACK_IMPORTED_MODULE_2__/* .crawl */ .J)({
623
+ dirPath: srcDirPath,
624
+ returnedPathsType: "relative to dirPath"
625
+ })) {
626
+ const filePath = path__WEBPACK_IMPORTED_MODULE_1__.join(srcDirPath, fileRelativePath);
627
+ const destFilePath = path__WEBPACK_IMPORTED_MODULE_1__.join(destDirPath, fileRelativePath);
628
+ // NOTE: Optimization, if we don't need to transform the file, just copy
629
+ // it using the lower level implementation.
630
+ if (transformSourceCode === undefined) {
631
+ fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(path__WEBPACK_IMPORTED_MODULE_1__.dirname(destFilePath), {
632
+ recursive: true
633
+ });
634
+ fs__WEBPACK_IMPORTED_MODULE_0__.copyFileSync(filePath, destFilePath);
635
+ continue;
636
+ }
637
+ const transformSourceCodeResult = transformSourceCode({
638
+ sourceCode: fs__WEBPACK_IMPORTED_MODULE_0__.readFileSync(filePath),
639
+ filePath,
640
+ fileRelativePath
641
+ });
642
+ if (transformSourceCodeResult === undefined) {
643
+ continue;
644
+ }
645
+ fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(path__WEBPACK_IMPORTED_MODULE_1__.dirname(destFilePath), {
646
+ recursive: true
647
+ });
648
+ const { newFileName, modifiedSourceCode } = transformSourceCodeResult;
649
+ fs__WEBPACK_IMPORTED_MODULE_0__.writeFileSync(path__WEBPACK_IMPORTED_MODULE_1__.join(path__WEBPACK_IMPORTED_MODULE_1__.dirname(destFilePath), newFileName !== null && newFileName !== void 0 ? newFileName : path__WEBPACK_IMPORTED_MODULE_1__.basename(destFilePath)), modifiedSourceCode);
650
+ }
651
+ if (isTargetSameAsSource) {
652
+ (0,_tools_fs_rmSync__WEBPACK_IMPORTED_MODULE_3__/* .rmSync */ .a)(srcDirPath, { recursive: true });
653
+ fs__WEBPACK_IMPORTED_MODULE_0__.renameSync(destDirPath, srcDirPath);
654
+ }
655
+ }
656
+ //# sourceMappingURL=transformCodebase.js.map
657
+
106
658
  /***/ })
107
659
 
108
660
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- exports.id = 991;
3
- exports.ids = [991];
2
+ exports.id = 240;
3
+ exports.ids = [240];
4
4
  exports.modules = {
5
5
 
6
6
  /***/ 87751:
@@ -455,6 +455,44 @@ var SemVer;
455
455
 
456
456
  /***/ }),
457
457
 
458
+ /***/ 73036:
459
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
460
+
461
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
462
+ /* harmony export */ "J": () => (/* binding */ crawl)
463
+ /* harmony export */ });
464
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57147);
465
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
466
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
467
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
468
+
469
+
470
+ const crawlRec = (dirPath, filePaths) => {
471
+ for (const basename of fs__WEBPACK_IMPORTED_MODULE_0__.readdirSync(dirPath)) {
472
+ const fileOrDirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(dirPath, basename);
473
+ if (fs__WEBPACK_IMPORTED_MODULE_0__.lstatSync(fileOrDirPath).isDirectory()) {
474
+ crawlRec(fileOrDirPath, filePaths);
475
+ continue;
476
+ }
477
+ filePaths.push(fileOrDirPath);
478
+ }
479
+ };
480
+ /** List all files in a given directory return paths relative to the dir_path */
481
+ function crawl(params) {
482
+ const { dirPath, returnedPathsType } = params;
483
+ const filePaths = [];
484
+ crawlRec(dirPath, filePaths);
485
+ switch (returnedPathsType) {
486
+ case "absolute":
487
+ return filePaths;
488
+ case "relative to dirPath":
489
+ return filePaths.map(filePath => (0,path__WEBPACK_IMPORTED_MODULE_1__.relative)(dirPath, filePath));
490
+ }
491
+ }
492
+ //# sourceMappingURL=crawl.js.map
493
+
494
+ /***/ }),
495
+
458
496
  /***/ 29121:
459
497
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
460
498