@wise/wds-codemods 1.0.0-experimental-49d2d08 → 1.0.0-experimental-af3ae2a

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.
@@ -31,11 +31,9 @@ let node_path = require("node:path");
31
31
  node_path = __toESM(node_path);
32
32
  let __inquirer_prompts = require("@inquirer/prompts");
33
33
  let node_fs = require("node:fs");
34
- let jscodeshift = require("jscodeshift");
35
- jscodeshift = __toESM(jscodeshift);
36
34
 
37
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/constants.js
38
- var require_constants = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/constants.js": ((exports, module) => {
35
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.js
36
+ var require_constants = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.js": ((exports, module) => {
39
37
  const SEMVER_SPEC_VERSION = "2.0.0";
40
38
  const MAX_LENGTH$2 = 256;
41
39
  const MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || 9007199254740991;
@@ -63,15 +61,15 @@ var require_constants = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@
63
61
  }) });
64
62
 
65
63
  //#endregion
66
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/debug.js
67
- var require_debug = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/debug.js": ((exports, module) => {
64
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.js
65
+ var require_debug = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.js": ((exports, module) => {
68
66
  const debug$4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {};
69
67
  module.exports = debug$4;
70
68
  }) });
71
69
 
72
70
  //#endregion
73
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/re.js
74
- var require_re = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/re.js": ((exports, module) => {
71
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.js
72
+ var require_re = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.js": ((exports, module) => {
75
73
  const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_LENGTH: MAX_LENGTH$1 } = require_constants();
76
74
  const debug$3 = require_debug();
77
75
  exports = module.exports = {};
@@ -150,8 +148,8 @@ var require_re = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/n
150
148
  }) });
151
149
 
152
150
  //#endregion
153
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/parse-options.js
154
- var require_parse_options = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/parse-options.js": ((exports, module) => {
151
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.js
152
+ var require_parse_options = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.js": ((exports, module) => {
155
153
  const looseOption = Object.freeze({ loose: true });
156
154
  const emptyOpts = Object.freeze({});
157
155
  const parseOptions$3 = (options) => {
@@ -163,10 +161,11 @@ var require_parse_options = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/sem
163
161
  }) });
164
162
 
165
163
  //#endregion
166
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/identifiers.js
167
- var require_identifiers = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/identifiers.js": ((exports, module) => {
164
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.js
165
+ var require_identifiers = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.js": ((exports, module) => {
168
166
  const numeric = /^[0-9]+$/;
169
167
  const compareIdentifiers$1 = (a, b) => {
168
+ if (typeof a === "number" && typeof b === "number") return a === b ? 0 : a < b ? -1 : 1;
170
169
  const anum = numeric.test(a);
171
170
  const bnum = numeric.test(b);
172
171
  if (anum && bnum) {
@@ -183,8 +182,8 @@ var require_identifiers = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semve
183
182
  }) });
184
183
 
185
184
  //#endregion
186
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js
187
- var require_semver$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js": ((exports, module) => {
185
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.js
186
+ var require_semver$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.js": ((exports, module) => {
188
187
  const debug$2 = require_debug();
189
188
  const { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
190
189
  const { safeRe: re$3, t: t$3 } = require_re();
@@ -240,7 +239,13 @@ var require_semver$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7
240
239
  }
241
240
  compareMain(other) {
242
241
  if (!(other instanceof SemVer$15)) other = new SemVer$15(other, this.options);
243
- return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
242
+ if (this.major < other.major) return -1;
243
+ if (this.major > other.major) return 1;
244
+ if (this.minor < other.minor) return -1;
245
+ if (this.minor > other.minor) return 1;
246
+ if (this.patch < other.patch) return -1;
247
+ if (this.patch > other.patch) return 1;
248
+ return 0;
244
249
  }
245
250
  comparePre(other) {
246
251
  if (!(other instanceof SemVer$15)) other = new SemVer$15(other, this.options);
@@ -357,8 +362,8 @@ var require_semver$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7
357
362
  }) });
358
363
 
359
364
  //#endregion
360
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/parse.js
361
- var require_parse = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/parse.js": ((exports, module) => {
365
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.js
366
+ var require_parse = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.js": ((exports, module) => {
362
367
  const SemVer$14 = require_semver$1();
363
368
  const parse$6 = (version, options, throwErrors = false) => {
364
369
  if (version instanceof SemVer$14) return version;
@@ -373,8 +378,8 @@ var require_parse = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.
373
378
  }) });
374
379
 
375
380
  //#endregion
376
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/valid.js
377
- var require_valid$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/valid.js": ((exports, module) => {
381
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.js
382
+ var require_valid$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.js": ((exports, module) => {
378
383
  const parse$5 = require_parse();
379
384
  const valid$1 = (version, options) => {
380
385
  const v = parse$5(version, options);
@@ -384,8 +389,8 @@ var require_valid$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.
384
389
  }) });
385
390
 
386
391
  //#endregion
387
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/clean.js
388
- var require_clean = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/clean.js": ((exports, module) => {
392
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.js
393
+ var require_clean = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.js": ((exports, module) => {
389
394
  const parse$4 = require_parse();
390
395
  const clean$1 = (version, options) => {
391
396
  const s = parse$4(version.trim().replace(/^[=v]+/, ""), options);
@@ -395,8 +400,8 @@ var require_clean = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.
395
400
  }) });
396
401
 
397
402
  //#endregion
398
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/inc.js
399
- var require_inc = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/inc.js": ((exports, module) => {
403
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.js
404
+ var require_inc = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.js": ((exports, module) => {
400
405
  const SemVer$13 = require_semver$1();
401
406
  const inc$1 = (version, release, options, identifier, identifierBase) => {
402
407
  if (typeof options === "string") {
@@ -414,8 +419,8 @@ var require_inc = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/
414
419
  }) });
415
420
 
416
421
  //#endregion
417
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/diff.js
418
- var require_diff = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/diff.js": ((exports, module) => {
422
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.js
423
+ var require_diff = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.js": ((exports, module) => {
419
424
  const parse$3 = require_parse();
420
425
  const diff$1 = (version1, version2) => {
421
426
  const v1 = parse$3(version1, null, true);
@@ -443,32 +448,32 @@ var require_diff = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2
443
448
  }) });
444
449
 
445
450
  //#endregion
446
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/major.js
447
- var require_major = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/major.js": ((exports, module) => {
451
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.js
452
+ var require_major = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.js": ((exports, module) => {
448
453
  const SemVer$12 = require_semver$1();
449
454
  const major$1 = (a, loose) => new SemVer$12(a, loose).major;
450
455
  module.exports = major$1;
451
456
  }) });
452
457
 
453
458
  //#endregion
454
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/minor.js
455
- var require_minor = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/minor.js": ((exports, module) => {
459
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.js
460
+ var require_minor = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.js": ((exports, module) => {
456
461
  const SemVer$11 = require_semver$1();
457
462
  const minor$1 = (a, loose) => new SemVer$11(a, loose).minor;
458
463
  module.exports = minor$1;
459
464
  }) });
460
465
 
461
466
  //#endregion
462
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/patch.js
463
- var require_patch = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/patch.js": ((exports, module) => {
467
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.js
468
+ var require_patch = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.js": ((exports, module) => {
464
469
  const SemVer$10 = require_semver$1();
465
470
  const patch$1 = (a, loose) => new SemVer$10(a, loose).patch;
466
471
  module.exports = patch$1;
467
472
  }) });
468
473
 
469
474
  //#endregion
470
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/prerelease.js
471
- var require_prerelease = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/prerelease.js": ((exports, module) => {
475
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.js
476
+ var require_prerelease = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.js": ((exports, module) => {
472
477
  const parse$2 = require_parse();
473
478
  const prerelease$1 = (version, options) => {
474
479
  const parsed = parse$2(version, options);
@@ -478,32 +483,32 @@ var require_prerelease = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver
478
483
  }) });
479
484
 
480
485
  //#endregion
481
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare.js
482
- var require_compare = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare.js": ((exports, module) => {
486
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.js
487
+ var require_compare = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.js": ((exports, module) => {
483
488
  const SemVer$9 = require_semver$1();
484
489
  const compare$11 = (a, b, loose) => new SemVer$9(a, loose).compare(new SemVer$9(b, loose));
485
490
  module.exports = compare$11;
486
491
  }) });
487
492
 
488
493
  //#endregion
489
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rcompare.js
490
- var require_rcompare = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rcompare.js": ((exports, module) => {
494
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.js
495
+ var require_rcompare = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.js": ((exports, module) => {
491
496
  const compare$10 = require_compare();
492
497
  const rcompare$1 = (a, b, loose) => compare$10(b, a, loose);
493
498
  module.exports = rcompare$1;
494
499
  }) });
495
500
 
496
501
  //#endregion
497
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-loose.js
498
- var require_compare_loose = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-loose.js": ((exports, module) => {
502
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.js
503
+ var require_compare_loose = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.js": ((exports, module) => {
499
504
  const compare$9 = require_compare();
500
505
  const compareLoose$1 = (a, b) => compare$9(a, b, true);
501
506
  module.exports = compareLoose$1;
502
507
  }) });
503
508
 
504
509
  //#endregion
505
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-build.js
506
- var require_compare_build = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-build.js": ((exports, module) => {
510
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.js
511
+ var require_compare_build = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.js": ((exports, module) => {
507
512
  const SemVer$8 = require_semver$1();
508
513
  const compareBuild$3 = (a, b, loose) => {
509
514
  const versionA = new SemVer$8(a, loose);
@@ -514,72 +519,72 @@ var require_compare_build = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/sem
514
519
  }) });
515
520
 
516
521
  //#endregion
517
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/sort.js
518
- var require_sort = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/sort.js": ((exports, module) => {
522
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.js
523
+ var require_sort = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.js": ((exports, module) => {
519
524
  const compareBuild$2 = require_compare_build();
520
525
  const sort$1 = (list$1, loose) => list$1.sort((a, b) => compareBuild$2(a, b, loose));
521
526
  module.exports = sort$1;
522
527
  }) });
523
528
 
524
529
  //#endregion
525
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rsort.js
526
- var require_rsort = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rsort.js": ((exports, module) => {
530
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.js
531
+ var require_rsort = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.js": ((exports, module) => {
527
532
  const compareBuild$1 = require_compare_build();
528
533
  const rsort$1 = (list$1, loose) => list$1.sort((a, b) => compareBuild$1(b, a, loose));
529
534
  module.exports = rsort$1;
530
535
  }) });
531
536
 
532
537
  //#endregion
533
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gt.js
534
- var require_gt = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gt.js": ((exports, module) => {
538
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.js
539
+ var require_gt = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.js": ((exports, module) => {
535
540
  const compare$8 = require_compare();
536
541
  const gt$4 = (a, b, loose) => compare$8(a, b, loose) > 0;
537
542
  module.exports = gt$4;
538
543
  }) });
539
544
 
540
545
  //#endregion
541
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lt.js
542
- var require_lt = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lt.js": ((exports, module) => {
546
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.js
547
+ var require_lt = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.js": ((exports, module) => {
543
548
  const compare$7 = require_compare();
544
549
  const lt$3 = (a, b, loose) => compare$7(a, b, loose) < 0;
545
550
  module.exports = lt$3;
546
551
  }) });
547
552
 
548
553
  //#endregion
549
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/eq.js
550
- var require_eq = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/eq.js": ((exports, module) => {
554
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.js
555
+ var require_eq = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.js": ((exports, module) => {
551
556
  const compare$6 = require_compare();
552
557
  const eq$2 = (a, b, loose) => compare$6(a, b, loose) === 0;
553
558
  module.exports = eq$2;
554
559
  }) });
555
560
 
556
561
  //#endregion
557
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/neq.js
558
- var require_neq = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/neq.js": ((exports, module) => {
562
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.js
563
+ var require_neq = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.js": ((exports, module) => {
559
564
  const compare$5 = require_compare();
560
565
  const neq$2 = (a, b, loose) => compare$5(a, b, loose) !== 0;
561
566
  module.exports = neq$2;
562
567
  }) });
563
568
 
564
569
  //#endregion
565
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gte.js
566
- var require_gte = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gte.js": ((exports, module) => {
570
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.js
571
+ var require_gte = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.js": ((exports, module) => {
567
572
  const compare$4 = require_compare();
568
573
  const gte$3 = (a, b, loose) => compare$4(a, b, loose) >= 0;
569
574
  module.exports = gte$3;
570
575
  }) });
571
576
 
572
577
  //#endregion
573
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lte.js
574
- var require_lte = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lte.js": ((exports, module) => {
578
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.js
579
+ var require_lte = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.js": ((exports, module) => {
575
580
  const compare$3 = require_compare();
576
581
  const lte$3 = (a, b, loose) => compare$3(a, b, loose) <= 0;
577
582
  module.exports = lte$3;
578
583
  }) });
579
584
 
580
585
  //#endregion
581
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/cmp.js
582
- var require_cmp = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/cmp.js": ((exports, module) => {
586
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.js
587
+ var require_cmp = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.js": ((exports, module) => {
583
588
  const eq$1 = require_eq();
584
589
  const neq$1 = require_neq();
585
590
  const gt$3 = require_gt();
@@ -611,8 +616,8 @@ var require_cmp = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/
611
616
  }) });
612
617
 
613
618
  //#endregion
614
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/coerce.js
615
- var require_coerce = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/coerce.js": ((exports, module) => {
619
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.js
620
+ var require_coerce = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.js": ((exports, module) => {
616
621
  const SemVer$7 = require_semver$1();
617
622
  const parse$1 = require_parse();
618
623
  const { safeRe: re$2, t: t$2 } = require_re();
@@ -640,8 +645,8 @@ var require_coerce = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7
640
645
  }) });
641
646
 
642
647
  //#endregion
643
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/lrucache.js
644
- var require_lrucache = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/lrucache.js": ((exports, module) => {
648
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.js
649
+ var require_lrucache = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.js": ((exports, module) => {
645
650
  var LRUCache = class {
646
651
  constructor() {
647
652
  this.max = 1e3;
@@ -674,8 +679,8 @@ var require_lrucache = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7
674
679
  }) });
675
680
 
676
681
  //#endregion
677
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js
678
- var require_range = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js": ((exports, module) => {
682
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.js
683
+ var require_range = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.js": ((exports, module) => {
679
684
  const SPACE_CHARACTERS = /\s+/g;
680
685
  var Range$11 = class Range$11 {
681
686
  constructor(range, options) {
@@ -804,6 +809,7 @@ var require_range = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.
804
809
  return result;
805
810
  };
806
811
  const parseComparator = (comp, options) => {
812
+ comp = comp.replace(re$1[t$1.BUILD], "");
807
813
  debug$1("comp", comp, options);
808
814
  comp = replaceCarets(comp, options);
809
815
  debug$1("caret", comp);
@@ -947,8 +953,8 @@ var require_range = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.
947
953
  }) });
948
954
 
949
955
  //#endregion
950
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/comparator.js
951
- var require_comparator = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/comparator.js": ((exports, module) => {
956
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.js
957
+ var require_comparator = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.js": ((exports, module) => {
952
958
  const ANY$2 = Symbol("SemVer ANY");
953
959
  var Comparator$3 = class Comparator$3 {
954
960
  static get ANY() {
@@ -1019,8 +1025,8 @@ var require_comparator = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver
1019
1025
  }) });
1020
1026
 
1021
1027
  //#endregion
1022
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/satisfies.js
1023
- var require_satisfies = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/satisfies.js": ((exports, module) => {
1028
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.js
1029
+ var require_satisfies = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.js": ((exports, module) => {
1024
1030
  const Range$9 = require_range();
1025
1031
  const satisfies$4 = (version, range, options) => {
1026
1032
  try {
@@ -1034,16 +1040,16 @@ var require_satisfies = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@
1034
1040
  }) });
1035
1041
 
1036
1042
  //#endregion
1037
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/to-comparators.js
1038
- var require_to_comparators = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/to-comparators.js": ((exports, module) => {
1043
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.js
1044
+ var require_to_comparators = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.js": ((exports, module) => {
1039
1045
  const Range$8 = require_range();
1040
1046
  const toComparators$1 = (range, options) => new Range$8(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
1041
1047
  module.exports = toComparators$1;
1042
1048
  }) });
1043
1049
 
1044
1050
  //#endregion
1045
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/max-satisfying.js
1046
- var require_max_satisfying = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/max-satisfying.js": ((exports, module) => {
1051
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.js
1052
+ var require_max_satisfying = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.js": ((exports, module) => {
1047
1053
  const SemVer$4 = require_semver$1();
1048
1054
  const Range$7 = require_range();
1049
1055
  const maxSatisfying$1 = (versions, range, options) => {
@@ -1069,8 +1075,8 @@ var require_max_satisfying = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/se
1069
1075
  }) });
1070
1076
 
1071
1077
  //#endregion
1072
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-satisfying.js
1073
- var require_min_satisfying = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-satisfying.js": ((exports, module) => {
1078
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.js
1079
+ var require_min_satisfying = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.js": ((exports, module) => {
1074
1080
  const SemVer$3 = require_semver$1();
1075
1081
  const Range$6 = require_range();
1076
1082
  const minSatisfying$1 = (versions, range, options) => {
@@ -1096,8 +1102,8 @@ var require_min_satisfying = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/se
1096
1102
  }) });
1097
1103
 
1098
1104
  //#endregion
1099
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-version.js
1100
- var require_min_version = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-version.js": ((exports, module) => {
1105
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.js
1106
+ var require_min_version = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.js": ((exports, module) => {
1101
1107
  const SemVer$2 = require_semver$1();
1102
1108
  const Range$5 = require_range();
1103
1109
  const gt$2 = require_gt();
@@ -1136,8 +1142,8 @@ var require_min_version = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semve
1136
1142
  }) });
1137
1143
 
1138
1144
  //#endregion
1139
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/valid.js
1140
- var require_valid = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/valid.js": ((exports, module) => {
1145
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.js
1146
+ var require_valid = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.js": ((exports, module) => {
1141
1147
  const Range$4 = require_range();
1142
1148
  const validRange$1 = (range, options) => {
1143
1149
  try {
@@ -1150,8 +1156,8 @@ var require_valid = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.
1150
1156
  }) });
1151
1157
 
1152
1158
  //#endregion
1153
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/outside.js
1154
- var require_outside = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/outside.js": ((exports, module) => {
1159
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.js
1160
+ var require_outside = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.js": ((exports, module) => {
1155
1161
  const SemVer$1 = require_semver$1();
1156
1162
  const Comparator$2 = require_comparator();
1157
1163
  const { ANY: ANY$1 } = Comparator$2;
@@ -1204,24 +1210,24 @@ var require_outside = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.
1204
1210
  }) });
1205
1211
 
1206
1212
  //#endregion
1207
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/gtr.js
1208
- var require_gtr = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/gtr.js": ((exports, module) => {
1213
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.js
1214
+ var require_gtr = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.js": ((exports, module) => {
1209
1215
  const outside$2 = require_outside();
1210
1216
  const gtr$1 = (version, range, options) => outside$2(version, range, ">", options);
1211
1217
  module.exports = gtr$1;
1212
1218
  }) });
1213
1219
 
1214
1220
  //#endregion
1215
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/ltr.js
1216
- var require_ltr = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/ltr.js": ((exports, module) => {
1221
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.js
1222
+ var require_ltr = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.js": ((exports, module) => {
1217
1223
  const outside$1 = require_outside();
1218
1224
  const ltr$1 = (version, range, options) => outside$1(version, range, "<", options);
1219
1225
  module.exports = ltr$1;
1220
1226
  }) });
1221
1227
 
1222
1228
  //#endregion
1223
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/intersects.js
1224
- var require_intersects = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/intersects.js": ((exports, module) => {
1229
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.js
1230
+ var require_intersects = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.js": ((exports, module) => {
1225
1231
  const Range$2 = require_range();
1226
1232
  const intersects$1 = (r1, r2, options) => {
1227
1233
  r1 = new Range$2(r1, options);
@@ -1232,8 +1238,8 @@ var require_intersects = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver
1232
1238
  }) });
1233
1239
 
1234
1240
  //#endregion
1235
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/simplify.js
1236
- var require_simplify = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/simplify.js": ((exports, module) => {
1241
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.js
1242
+ var require_simplify = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.js": ((exports, module) => {
1237
1243
  const satisfies$2 = require_satisfies();
1238
1244
  const compare$2 = require_compare();
1239
1245
  module.exports = (versions, range, options) => {
@@ -1263,8 +1269,8 @@ var require_simplify = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7
1263
1269
  }) });
1264
1270
 
1265
1271
  //#endregion
1266
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/subset.js
1267
- var require_subset = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/subset.js": ((exports, module) => {
1272
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.js
1273
+ var require_subset = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.js": ((exports, module) => {
1268
1274
  const Range$1 = require_range();
1269
1275
  const Comparator$1 = require_comparator();
1270
1276
  const { ANY } = Comparator$1;
@@ -1359,8 +1365,8 @@ var require_subset = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7
1359
1365
  }) });
1360
1366
 
1361
1367
  //#endregion
1362
- //#region node_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js
1363
- var require_semver = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js": ((exports, module) => {
1368
+ //#region node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.js
1369
+ var require_semver = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.js": ((exports, module) => {
1364
1370
  const internalRe = require_re();
1365
1371
  const constants = require_constants();
1366
1372
  const SemVer = require_semver$1();
@@ -1453,7 +1459,6 @@ var require_semver = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/semver@7.7
1453
1459
 
1454
1460
  //#endregion
1455
1461
  //#region src/controller/helpers/getCodemodConfig.ts
1456
- /** Retrieves a JSON object from a file path, returning null if the file does not exist */
1457
1462
  const getJsonFromPath = (baseDir, fileName) => {
1458
1463
  const jsonPath = (0, node_path.join)(baseDir, fileName);
1459
1464
  try {
@@ -1615,12 +1620,10 @@ const assessPrerequisites = (packagePath, codemodPath) => {
1615
1620
  return false;
1616
1621
  }
1617
1622
  if (actualPackagePath !== resolvedPackagePath) console.info(`Using package.json from ${actualPackagePath} for dependency checks`);
1618
- const packageJson = getJsonFromPath(actualPackagePath, "package.json");
1619
- if (!packageJson) return false;
1620
- const { dependencies = {}, peerDependencies = {} } = packageJson;
1623
+ const { dependencies = {}, peerDependencies = {} } = getJsonFromPath(actualPackagePath, "package.json");
1621
1624
  const comparisons = {};
1622
1625
  let isCompliant = true;
1623
- if (codemodConfig?.prerequisites) Object.entries(codemodConfig.prerequisites).forEach(([name, versionRequirement]) => {
1626
+ if (codemodConfig.prerequisites) Object.entries(codemodConfig.prerequisites).forEach(([name, versionRequirement]) => {
1624
1627
  const nodeModulesVersion = getVersionFromNodeModules(actualPackagePath, name);
1625
1628
  const isDependencySatisfied = isVersionSatisfied(dependencies[name], versionRequirement);
1626
1629
  const isPeerDependencySatisfied = isVersionSatisfied(peerDependencies[name], versionRequirement);
@@ -1949,384 +1952,6 @@ async function runTransformPrompts(codemodPath) {
1949
1952
  return answers;
1950
1953
  }
1951
1954
 
1952
- //#endregion
1953
- //#region src/helpers/hasImport.ts
1954
- /**
1955
- * Checks if a specific import exists in the given root collection and provides
1956
- * a method to remove it if found.
1957
- */
1958
- function hasImport(root, sourceValue, importName, j) {
1959
- const importDeclarations = root.find(j.ImportDeclaration, { source: { value: sourceValue } });
1960
- /**
1961
- * Finds all ImportSpecifier nodes that expose `importName` but
1962
- * from a different source than `sourceValue`.
1963
- */
1964
- const conflictingImports = (() => {
1965
- const result = [];
1966
- root.find(j.ImportDeclaration).filter((path$3) => path$3.node.source.value !== sourceValue).forEach((path$3) => {
1967
- for (const specifier of path$3.node.specifiers ?? []) if (specifier.type === "ImportSpecifier" && specifier.imported.name === importName && specifier.local?.name === importName) result.push(specifier);
1968
- });
1969
- return result;
1970
- })();
1971
- if (importDeclarations.size() === 0) return {
1972
- exists: false,
1973
- remove: () => {},
1974
- resolvedName: importName,
1975
- conflictingImports
1976
- };
1977
- const namedImport = importDeclarations.find(j.ImportSpecifier, { imported: { name: importName } });
1978
- const defaultImport = importDeclarations.find(j.ImportDefaultSpecifier, { local: { name: importName } });
1979
- const aliasImport = importDeclarations.find(j.ImportSpecifier).filter((path$3) => {
1980
- return path$3.node.imported.name === importName && path$3.node.imported.name !== path$3.node.local?.name;
1981
- });
1982
- const exists = namedImport.size() > 0 || defaultImport.size() > 0;
1983
- const resolveName = () => {
1984
- if (aliasImport.size() > 0) {
1985
- const localName = aliasImport.get(0).node.local?.name;
1986
- if (typeof localName === "string") return localName;
1987
- if (localName && typeof localName === "object" && "name" in localName && typeof localName.name === "string") return localName.name;
1988
- return importName;
1989
- }
1990
- return importName;
1991
- };
1992
- const remove = () => {
1993
- importDeclarations.forEach((path$3) => {
1994
- const filteredSpecifiers = path$3.node.specifiers?.filter((specifier) => {
1995
- if (specifier.type === "ImportSpecifier" && specifier.imported.name === importName) return false;
1996
- if (specifier.type === "ImportDefaultSpecifier" && specifier.local?.name === importName) return false;
1997
- return true;
1998
- }) ?? [];
1999
- if (filteredSpecifiers.length === 0) path$3.prune();
2000
- else j(path$3).replaceWith(j.importDeclaration(filteredSpecifiers, path$3.node.source, path$3.node.importKind));
2001
- });
2002
- };
2003
- return {
2004
- exists,
2005
- remove,
2006
- aliases: aliasImport,
2007
- resolvedName: resolveName(),
2008
- conflictingImports
2009
- };
2010
- }
2011
- var hasImport_default = hasImport;
2012
-
2013
- //#endregion
2014
- //#region src/helpers/addImport.ts
2015
- /**
2016
- * Adds a named import if it doesn't already exist.
2017
- */
2018
- function addImport(root, sourceValue, importName, j) {
2019
- const existingImports = root.find(j.ImportDeclaration, { source: { value: sourceValue } });
2020
- if (existingImports.size() > 0) {
2021
- if (existingImports.find(j.ImportSpecifier, { imported: { name: importName } }).size() > 0) return;
2022
- existingImports.forEach((path$3) => {
2023
- if (path$3.node.specifiers) path$3.node.specifiers.push(j.importSpecifier(j.identifier(importName)));
2024
- });
2025
- } else {
2026
- const newImport = j.importDeclaration([j.importSpecifier(j.identifier(importName))], j.literal(sourceValue));
2027
- const firstImport = root.find(j.ImportDeclaration).at(0);
2028
- if (firstImport.size() > 0) firstImport.insertBefore(newImport);
2029
- else {
2030
- const program = root.find(j.Program);
2031
- if (program.size() > 0) program.get("body", 0).insertBefore(newImport);
2032
- }
2033
- }
2034
- }
2035
- var addImport_default = addImport;
2036
-
2037
- //#endregion
2038
- //#region src/helpers/iconUtils.ts
2039
- /**
2040
- * Process children of a JSX element to detect icon components and add iconStart or iconEnd attributes accordingly.
2041
- * This is specific to icon handling but can be reused in codemods dealing with icon children.
2042
- */
2043
- const processIconChildren = (j, children, iconImports, openingElement) => {
2044
- if (!children || !openingElement.attributes) return;
2045
- const unwrapJsxElement = (node) => {
2046
- if (typeof node === "object" && node !== null && "type" in node && node.type === "JSXExpressionContainer" && j.JSXElement.check(node.expression)) return node.expression;
2047
- return node;
2048
- };
2049
- const totalChildren = children.length;
2050
- const iconChildIndex = children.findIndex((child) => {
2051
- const unwrapped = unwrapJsxElement(child);
2052
- return j.JSXElement.check(unwrapped) && unwrapped.openingElement.name.type === "JSXIdentifier" && iconImports.has(unwrapped.openingElement.name.name);
2053
- });
2054
- if (iconChildIndex === -1) return;
2055
- const iconChild = unwrapJsxElement(children[iconChildIndex]);
2056
- if (!iconChild || iconChild.openingElement.name.type !== "JSXIdentifier") return;
2057
- iconChild.openingElement.name.name;
2058
- const iconPropName = iconChildIndex <= totalChildren - 1 - iconChildIndex ? "addonStart" : "addonEnd";
2059
- const iconObject = j.objectExpression([j.property("init", j.identifier("type"), j.literal("icon")), j.property("init", j.identifier("value"), iconChild)]);
2060
- const iconProp = j.jsxAttribute(j.jsxIdentifier(iconPropName), j.jsxExpressionContainer(iconObject));
2061
- openingElement.attributes.push(iconProp);
2062
- children.splice(iconChildIndex, 1);
2063
- const isWhitespaceJsxText = (node) => {
2064
- return typeof node === "object" && node !== null && node.type === "JSXText" && typeof node.value === "string" && node.value.trim() === "";
2065
- };
2066
- if (iconChildIndex - 1 >= 0 && isWhitespaceJsxText(children[iconChildIndex - 1])) children.splice(iconChildIndex - 1, 1);
2067
- else if (isWhitespaceJsxText(children[iconChildIndex])) children.splice(iconChildIndex, 1);
2068
- };
2069
- var iconUtils_default = processIconChildren;
2070
-
2071
- //#endregion
2072
- //#region src/helpers/jsxElementUtils.ts
2073
- /**
2074
- * Rename a JSX element name if it is a JSXIdentifier.
2075
- */
2076
- const setNameIfJSXIdentifier = (elementName, newName) => {
2077
- if (elementName && elementName.type === "JSXIdentifier") return {
2078
- ...elementName,
2079
- name: newName
2080
- };
2081
- return elementName;
2082
- };
2083
- /**
2084
- * Check if a list of attributes contains a specific attribute by name.
2085
- */
2086
- const hasAttribute = (attributes, attributeName) => {
2087
- return Array.isArray(attributes) && attributes.some((attr) => attr.type === "JSXAttribute" && attr.name.type === "JSXIdentifier" && attr.name.name === attributeName);
2088
- };
2089
- /**
2090
- * Check if a JSX element's openingElement has a specific attribute.
2091
- */
2092
- const hasAttributeOnElement = (element, attributeName) => {
2093
- return hasAttribute(element.attributes, attributeName);
2094
- };
2095
- /**
2096
- * Add specified attributes to a JSX element's openingElement if they are not already present.
2097
- */
2098
- const addAttributesIfMissing = (j, openingElement, attributesToAdd) => {
2099
- if (!Array.isArray(openingElement.attributes)) return;
2100
- const attrs = openingElement.attributes;
2101
- attributesToAdd.forEach(({ attribute, name }) => {
2102
- if (!hasAttributeOnElement(openingElement, name)) attrs.push(attribute);
2103
- });
2104
- };
2105
- /**
2106
- * Returns a collection of JSX elements that match the specified
2107
- * exported name or names of the found aliases.
2108
- */
2109
- const findJSXElementsByName = (root, j) => (exportedName, aliases) => {
2110
- const aliasNames = aliases?.size() ? aliases.paths().map((path$3) => path$3.node.local?.name) : [];
2111
- return root.find(j.JSXElement).filter((path$3) => {
2112
- const { name } = path$3.node.openingElement;
2113
- return name.type === "JSXIdentifier" && (name.name === exportedName || aliasNames.includes(name.name));
2114
- });
2115
- };
2116
- /**
2117
- * Removes an attribute by name from a JSX element's openingElement.
2118
- */
2119
- const removeAttributeByName = (j, openingElement, attributeName) => {
2120
- if (!Array.isArray(openingElement.attributes)) return;
2121
- openingElement.attributes = openingElement.attributes.filter((attr) => {
2122
- return !(attr.type === "JSXAttribute" && attr.name.type === "JSXIdentifier" && attr.name.name === attributeName);
2123
- });
2124
- };
2125
-
2126
- //#endregion
2127
- //#region src/helpers/jsxReportingUtils.ts
2128
- /**
2129
- * CodemodReporter is a utility class for reporting issues found during codemod transformations.
2130
- * It provides methods to report issues related to JSX elements, props, and attributes.
2131
- *
2132
- * @example
2133
- * ```typescript
2134
- * const issues: string[] = [];
2135
- * const reporter = createReporter(j, issues);
2136
- *
2137
- * // Report a deprecated prop
2138
- * reporter.reportDeprecatedProp(buttonElement, 'flat', 'variant="text"');
2139
- *
2140
- * // Report complex expression that needs review
2141
- * reporter.reportAmbiguousExpression(element, 'size');
2142
- *
2143
- * // Auto-detect common issues
2144
- * reporter.reportAttributeIssues(element);
2145
- * ```
2146
- */
2147
- var CodemodReporter = class {
2148
- j;
2149
- issues;
2150
- constructor(options) {
2151
- this.j = options.jscodeshift;
2152
- this.issues = options.issues;
2153
- }
2154
- /**
2155
- * Reports an issue with a JSX element
2156
- */
2157
- reportElement(element, reason) {
2158
- const node = this.getNode(element);
2159
- const componentName = this.getComponentName(node);
2160
- const line = this.getLineNumber(node);
2161
- this.addIssue(`Manual review required: <${componentName}> at line ${line} ${reason}.`);
2162
- }
2163
- /**
2164
- * Reports an issue with a specific prop
2165
- */
2166
- reportProp(element, propName, reason) {
2167
- const node = this.getNode(element);
2168
- const componentName = this.getComponentName(node);
2169
- const line = this.getLineNumber(node);
2170
- this.addIssue(`Manual review required: prop "${propName}" on <${componentName}> at line ${line} ${reason}.`);
2171
- }
2172
- /**
2173
- * Reports an issue with a JSX attribute directly
2174
- */
2175
- reportAttribute(attr, element, reason) {
2176
- const node = this.getNode(element);
2177
- const componentName = this.getComponentName(node);
2178
- const propName = this.getAttributeName(attr);
2179
- const line = this.getLineNumber(attr) || this.getLineNumber(node);
2180
- const defaultReason = this.getAttributeReason(attr);
2181
- const finalReason = reason || defaultReason;
2182
- this.addIssue(`Manual review required: prop "${propName}" on <${componentName}> at line ${line} ${finalReason}.`);
2183
- }
2184
- /**
2185
- * Reports spread props on an element
2186
- */
2187
- reportSpreadProps(element) {
2188
- this.reportElement(element, "contains spread props that need manual review");
2189
- }
2190
- /**
2191
- * Reports conflicting prop and children
2192
- */
2193
- reportPropWithChildren(element, propName) {
2194
- this.reportProp(element, propName, `conflicts with children - both "${propName}" prop and children are present`);
2195
- }
2196
- /**
2197
- * Reports unsupported prop value
2198
- */
2199
- reportUnsupportedValue(element, propName, value) {
2200
- this.reportProp(element, propName, `has unsupported value "${value}"`);
2201
- }
2202
- /**
2203
- * Reports ambiguous expression in prop
2204
- */
2205
- reportAmbiguousExpression(element, propName) {
2206
- this.reportProp(element, propName, "contains a complex expression that needs manual review");
2207
- }
2208
- /**
2209
- * Reports ambiguous children (like dynamic icons)
2210
- */
2211
- reportAmbiguousChildren(element, childType = "content") {
2212
- this.reportElement(element, `contains ambiguous ${childType} that needs manual review`);
2213
- }
2214
- /**
2215
- * Reports deprecated prop usage
2216
- */
2217
- reportDeprecatedProp(element, propName, alternative) {
2218
- const suggestion = alternative ? ` Use ${alternative} instead` : "";
2219
- this.reportProp(element, propName, `is deprecated${suggestion}`);
2220
- }
2221
- /**
2222
- * Reports missing required prop
2223
- */
2224
- reportMissingRequiredProp(element, propName) {
2225
- this.reportProp(element, propName, "is required but missing");
2226
- }
2227
- /**
2228
- * Reports conflicting props
2229
- */
2230
- reportConflictingProps(element, propNames) {
2231
- const propList = propNames.map((name) => `"${name}"`).join(", ");
2232
- this.reportElement(element, `has conflicting props: ${propList} cannot be used together`);
2233
- }
2234
- /**
2235
- * Auto-detects and reports common attribute issues
2236
- */
2237
- reportAttributeIssues(element) {
2238
- const { attributes } = this.getNode(element).openingElement;
2239
- if (!attributes) return;
2240
- if (attributes.some((attr) => attr.type === "JSXSpreadAttribute")) this.reportSpreadProps(element);
2241
- attributes.forEach((attr) => {
2242
- if (attr.type === "JSXAttribute" && attr.value?.type === "JSXExpressionContainer") this.reportAttribute(attr, element);
2243
- });
2244
- }
2245
- /**
2246
- * Finds and reports instances of components that are under an alias (imported with a different name)
2247
- */
2248
- reportAliases(element) {
2249
- this.reportElement(element, "is used via an import alias and needs manual review");
2250
- }
2251
- /**
2252
- * Finds and reports instances of non-DS import declarations that conflict with the component name
2253
- */
2254
- reportConflictingImports(node) {
2255
- this.addIssue(`Manual review required: Non-WDS package resulting in an import conflict at line ${this.getLineNumber(node)}.`);
2256
- }
2257
- /**
2258
- * Reports enum usage for future conversion tracking
2259
- */
2260
- reportEnumUsage(element, propName, enumValue) {
2261
- this.reportProp(element, propName, `uses enum value "${enumValue}" which has been preserved but should be migrated to a string literal in the future`);
2262
- }
2263
- getNode(element) {
2264
- return "node" in element ? element.node : element;
2265
- }
2266
- getComponentName(node) {
2267
- const { name } = node.openingElement;
2268
- if (name.type === "JSXIdentifier") return name.name;
2269
- return this.j(name).toSource();
2270
- }
2271
- getLineNumber(node) {
2272
- return node.loc?.start.line?.toString() || "unknown";
2273
- }
2274
- getAttributeName(attr) {
2275
- if (attr.name.type === "JSXIdentifier") return attr.name.name;
2276
- return this.j(attr.name).toSource();
2277
- }
2278
- getAttributeReason(attr) {
2279
- if (!attr.value) return "has no value";
2280
- if (attr.value.type === "JSXExpressionContainer") {
2281
- const expr = attr.value.expression;
2282
- const expressionType = expr.type.replace("Expression", "").toLowerCase();
2283
- if (expr.type === "Identifier" || expr.type === "MemberExpression") return `contains a ${expressionType} (${this.j(expr).toSource()})`;
2284
- return `contains a complex ${expressionType} expression`;
2285
- }
2286
- return "needs manual review";
2287
- }
2288
- addIssue(message) {
2289
- this.issues.push(message);
2290
- }
2291
- };
2292
- const createReporter = (j, issues) => {
2293
- return new CodemodReporter({
2294
- jscodeshift: j,
2295
- issues
2296
- });
2297
- };
2298
-
2299
- //#endregion
2300
- //#region src/helpers/index.ts
2301
- const EXT = /\.(?:jsx?|tsx?)$/iu;
2302
- function isCodeFile(p) {
2303
- return EXT.test(p);
2304
- }
2305
- function walk(p) {
2306
- if ((0, node_fs.statSync)(p).isFile()) return isCodeFile(p) ? [p] : [];
2307
- return (0, node_fs.readdirSync)(p, { withFileTypes: true }).flatMap((d) => {
2308
- if (d.name === "node_modules" || d.name.startsWith(".")) return [];
2309
- return walk((0, node_path.join)(p, d.name));
2310
- });
2311
- }
2312
- function findFilesWithImports(targetPaths, source, names, parser = "tsx") {
2313
- const j = jscodeshift.default.withParser(parser);
2314
- return Array.from(new Set(targetPaths.map((p) => (0, node_path.resolve)(p)).flatMap((p) => {
2315
- try {
2316
- return (0, node_fs.statSync)(p).isDirectory() ? walk(p) : isCodeFile(p) ? [p] : [];
2317
- } catch {
2318
- return [];
2319
- }
2320
- }))).filter((file) => {
2321
- try {
2322
- const root = j((0, node_fs.readFileSync)(file, "utf8"));
2323
- return names.some((n) => hasImport_default(root, source, n, j).exists);
2324
- } catch {
2325
- return false;
2326
- }
2327
- });
2328
- }
2329
-
2330
1955
  //#endregion
2331
1956
  Object.defineProperty(exports, '__toESM', {
2332
1957
  enumerable: true,
@@ -2334,42 +1959,12 @@ Object.defineProperty(exports, '__toESM', {
2334
1959
  return __toESM;
2335
1960
  }
2336
1961
  });
2337
- Object.defineProperty(exports, 'addAttributesIfMissing', {
2338
- enumerable: true,
2339
- get: function () {
2340
- return addAttributesIfMissing;
2341
- }
2342
- });
2343
- Object.defineProperty(exports, 'addImport_default', {
2344
- enumerable: true,
2345
- get: function () {
2346
- return addImport_default;
2347
- }
2348
- });
2349
1962
  Object.defineProperty(exports, 'assessPrerequisites', {
2350
1963
  enumerable: true,
2351
1964
  get: function () {
2352
1965
  return assessPrerequisites;
2353
1966
  }
2354
1967
  });
2355
- Object.defineProperty(exports, 'createReporter', {
2356
- enumerable: true,
2357
- get: function () {
2358
- return createReporter;
2359
- }
2360
- });
2361
- Object.defineProperty(exports, 'findFilesWithImports', {
2362
- enumerable: true,
2363
- get: function () {
2364
- return findFilesWithImports;
2365
- }
2366
- });
2367
- Object.defineProperty(exports, 'findJSXElementsByName', {
2368
- enumerable: true,
2369
- get: function () {
2370
- return findJSXElementsByName;
2371
- }
2372
- });
2373
1968
  Object.defineProperty(exports, 'findPackages', {
2374
1969
  enumerable: true,
2375
1970
  get: function () {
@@ -2388,24 +1983,6 @@ Object.defineProperty(exports, 'getOptions_default', {
2388
1983
  return getOptions_default;
2389
1984
  }
2390
1985
  });
2391
- Object.defineProperty(exports, 'hasAttributeOnElement', {
2392
- enumerable: true,
2393
- get: function () {
2394
- return hasAttributeOnElement;
2395
- }
2396
- });
2397
- Object.defineProperty(exports, 'hasImport_default', {
2398
- enumerable: true,
2399
- get: function () {
2400
- return hasImport_default;
2401
- }
2402
- });
2403
- Object.defineProperty(exports, 'iconUtils_default', {
2404
- enumerable: true,
2405
- get: function () {
2406
- return iconUtils_default;
2407
- }
2408
- });
2409
1986
  Object.defineProperty(exports, 'loadTransformModules_default', {
2410
1987
  enumerable: true,
2411
1988
  get: function () {
@@ -2418,12 +1995,6 @@ Object.defineProperty(exports, 'logToInquirer', {
2418
1995
  return logToInquirer;
2419
1996
  }
2420
1997
  });
2421
- Object.defineProperty(exports, 'removeAttributeByName', {
2422
- enumerable: true,
2423
- get: function () {
2424
- return removeAttributeByName;
2425
- }
2426
- });
2427
1998
  Object.defineProperty(exports, 'reportManualReview_default', {
2428
1999
  enumerable: true,
2429
2000
  get: function () {
@@ -2436,10 +2007,4 @@ Object.defineProperty(exports, 'runTransformPrompts', {
2436
2007
  return runTransformPrompts;
2437
2008
  }
2438
2009
  });
2439
- Object.defineProperty(exports, 'setNameIfJSXIdentifier', {
2440
- enumerable: true,
2441
- get: function () {
2442
- return setNameIfJSXIdentifier;
2443
- }
2444
- });
2445
- //# sourceMappingURL=helpers-59xSDDPO.js.map
2010
+ //# sourceMappingURL=helpers-BneL7s1f.js.map