@arcgis/codemod 5.2.0-next.86 → 5.2.0-next.88

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/README.md CHANGED
@@ -8,6 +8,7 @@ This package provides automated refactors to help migrate away from deprecated o
8
8
 
9
9
  - Automated refactor to remove `__esri` namespace usage
10
10
  - Converts global namespace types to explicit `@arcgis/core` imports
11
+ - Normalizes legacy Calcite icon names
11
12
  - Detects edge cases and warns when changes can’t be safely automated
12
13
  - Respects `.gitignore` by default
13
14
 
@@ -17,9 +18,18 @@ This package provides automated refactors to help migrate away from deprecated o
17
18
  - A project using the ArcGIS Maps SDK for JavaScript
18
19
  - This codemod operates exclusively on TypeScript files. Do not need to run this tool, if the project does not use TypeScript.
19
20
 
21
+ ## Before you begin
22
+
23
+ If your project uses **ESLint, Prettier, or other formatters/linters**, run them after the codemod to ensure consistent formatting.
24
+
25
+ > [!Note]
26
+ > This codemod modifies files in place and does not provide an interactive dry-run mode. We recommend running it in a project that is under version control (Git) so you can review changes using `git diff` or your IDE’s diff tools. If your project is not under version control, create a backup before running the codemod.
27
+
20
28
  ## Usage
21
29
 
22
- The codemod replaces `__esri` types with explicit imports from @arcgis/core.
30
+ ### Refactor out the `__esri` namespace
31
+
32
+ The `refactor-out-esri-namespace` codemod replaces `__esri` types with explicit imports from `@arcgis/core`.
23
33
 
24
34
  > Note: Before running the codemod, update all `@arcgis/*` packages in your `package.json` to the most recent version.
25
35
 
@@ -36,7 +46,7 @@ You can manually run it on a different directory by providing an argument:
36
46
  npx @arcgis/codemod run refactor-out-esri-namespace target-directory
37
47
  ```
38
48
 
39
- ### What codemod does
49
+ #### What the codemod does
40
50
 
41
51
  **Before:**
42
52
 
@@ -56,7 +66,7 @@ let geometry: Geometry;
56
66
  let featureSet: FeatureSet;
57
67
  ```
58
68
 
59
- ### Warnings (Manual review required)
69
+ #### Warnings (manual review required)
60
70
 
61
71
  The codemod will emit warnings for cases it cannot safely rewrite, including:
62
72
 
@@ -65,9 +75,34 @@ The codemod will emit warnings for cases it cannot safely rewrite, including:
65
75
  - Unresolvable symbols
66
76
 
67
77
  These will be reported in the console, manually review all changes before committing.
68
- If your project uses **ESLint, Prettier, or other formatters/linters**, run them after the codemod to ensure consistent formatting.
69
78
 
70
- > Note: This codemod modifies files in place and does not provide an interactive dry-run mode. We recommend running it in a project that is under version control (Git) so you can review changes using `git diff` or your IDE’s diff tools. If your project is not under version control, create a backup before running the codemod.
79
+ ### Normalize Calcite icon names
80
+
81
+ The `normalize-calcite-icon-names` codemod updates camelCase and legacy Calcite icon names to their normalized kebab-case equivalents. It handles icon attributes on Calcite components and traces icon values through variables, properties, assignments, function returns, and forwarded component properties. This helps prepare for [calcite-design-system#14967](https://github.com/Esri/calcite-design-system/issues/14967) and [calcite-design-system#14966](https://github.com/Esri/calcite-design-system/issues/14966).
82
+
83
+ Run it in the root of your project:
84
+
85
+ ```sh
86
+ npx @arcgis/codemod run normalize-calcite-icon-names
87
+ ```
88
+
89
+ You can also provide a target directory:
90
+
91
+ ```sh
92
+ npx @arcgis/codemod run normalize-calcite-icon-names target-directory
93
+ ```
94
+
95
+ **Before:**
96
+
97
+ ```tsx
98
+ <calcite-button iconStart="i3dGlasses" iconEnd="arrowLeft10" />
99
+ ```
100
+
101
+ **After:**
102
+
103
+ ```tsx
104
+ <calcite-button iconStart="3d-glasses" iconEnd="arrow-left-10" />
105
+ ```
71
106
 
72
107
  ## License
73
108
 
@@ -1,6 +1,6 @@
1
1
  import { path as T } from "@arcgis/node-toolkit/path";
2
2
  import { SyntaxKind as g } from "ts-morph";
3
- import { g as x } from "./cli-BIg5ZLTm.js";
3
+ import { g as x } from "./cli-COx17UK8.js";
4
4
  import { ModuleResolutionKind as D } from "typescript";
5
5
  import { capitalize as S } from "@arcgis/toolkit/string";
6
6
  import { log as q } from "@arcgis/toolkit/log";
@@ -0,0 +1,354 @@
1
+ import { path as T } from "@arcgis/node-toolkit/path";
2
+ import { SyntaxKind as g } from "ts-morph";
3
+ import { g as x } from "./cli-DllOIioe.js";
4
+ import { ModuleResolutionKind as D } from "typescript";
5
+ import { capitalize as S } from "@arcgis/toolkit/string";
6
+ import { log as q } from "@arcgis/toolkit/log";
7
+ function w(e) {
8
+ const n = e.typeScriptConfig?.compilerOptions?.moduleResolution ?? D.Bundler;
9
+ return n >= D.Node16 && n <= D.NodeNext;
10
+ }
11
+ function b(e) {
12
+ return C(e.getFilePath());
13
+ }
14
+ function C(e) {
15
+ return T.relative(process.cwd(), e);
16
+ }
17
+ function J(e, n) {
18
+ const o = {};
19
+ K(e);
20
+ const { specifiers: l, names: u, lastImportIndex: a } = A(e), d = [], t = {};
21
+ let c = w(x.project.projectData);
22
+ for (const [i, m] of Object.entries(n)) {
23
+ let s = l.get(i) ?? (i.startsWith(".") ? l.get(
24
+ T.relative(e.getDirectoryPath(), T.resolve(x.project.projectData.cwd, i))
25
+ ) : void 0);
26
+ if (s === void 0) {
27
+ const f = l.get(`${i}.js`);
28
+ f !== void 0 && (c = !0, s === void 0 ? s = f : s = [...s, ...f]);
29
+ }
30
+ for (const [f, y] of Object.entries(m)) {
31
+ const N = Array.isArray(y) ? y : [y];
32
+ for (const I of N)
33
+ I.do === "deprecate" ? P(f, i, o, s) : I.do === "add" ? E(i, f, I, s, d, t, u) : I.do === "rename" && W(i, f, I, s, d, t, u);
34
+ }
35
+ }
36
+ const p = Object.entries(t);
37
+ let r = a;
38
+ for (let i = 0; i < p.length; i += 1) {
39
+ const [m, s] = p[i], f = m.startsWith(".") ? M(
40
+ T.relative(e.getDirectoryPath(), T.resolve(x.project.projectData.cwd, m))
41
+ ) : m, y = c && f.startsWith("@arcgis/core") ? `${f}.js` : f, N = s.afterDeclaration === void 0 ? r : s.afterDeclaration.getChildIndex() + 1;
42
+ if (s.named.length > 0) {
43
+ let I = !0;
44
+ for (let v = 0; v < s.named.length; v += 1)
45
+ I &&= s.named[v].isTypeOnly;
46
+ e.insertImportDeclaration(N, {
47
+ isTypeOnly: I,
48
+ moduleSpecifier: y,
49
+ namedImports: s.named.map((v) => ({
50
+ name: v.name,
51
+ alias: v.alias,
52
+ isTypeOnly: v.isTypeOnly && !I
53
+ }))
54
+ }), r += 1;
55
+ }
56
+ s.default !== void 0 && (e.insertImportDeclaration(N, {
57
+ isTypeOnly: s.default.isTypeOnly,
58
+ moduleSpecifier: y,
59
+ defaultImport: s.default.name
60
+ }), r += 1), s["*"] !== void 0 && (e.insertImportDeclaration(N, {
61
+ isTypeOnly: s["*"].isTypeOnly,
62
+ moduleSpecifier: y,
63
+ namespaceImport: s["*"].name
64
+ }), r += 1);
65
+ }
66
+ if (Object.keys(o).length > 0) {
67
+ const i = Object.entries(o).map(([m, s]) => `${s.join(", ")} from ${m}`).join("; ");
68
+ q("warn", b(e), `Deprecated API usages found: ${i}`);
69
+ }
70
+ return d;
71
+ }
72
+ function K(e) {
73
+ const n = e.getChildSyntaxList()?.getFirstChild();
74
+ if (j === n)
75
+ return;
76
+ j = n, h.clear();
77
+ const o = /* @__PURE__ */ new Set();
78
+ l(e);
79
+ function l(u) {
80
+ for (const a of u.getStatements())
81
+ if (a.isKind(g.ImportDeclaration)) {
82
+ const d = a.getDefaultImport(), t = a.getNamespaceImport(), c = a.getNamedImports();
83
+ d && o.add(d.getText()), t && o.add(t.getText());
84
+ for (const p of c)
85
+ o.add(p.getAliasNode()?.getText() ?? p.getName());
86
+ } else a.isKind(g.ImportEqualsDeclaration) ? o.add(a.getName()) : a.isKind(g.ModuleDeclaration) ? l(a) : u.forEachDescendant((d) => {
87
+ if (!d.isKind(g.Identifier))
88
+ return;
89
+ const t = d.getParent();
90
+ if (t.isKind(g.QualifiedName) && t.getLeft() !== d || t.isKind(g.PropertyAccessExpression) && t.getExpression() !== d || (t.isKind(g.PropertyDeclaration) || t.isKind(g.PropertySignature) || t.isKind(g.PropertyAssignment)) && t.getNameNode() === d)
91
+ return;
92
+ const c = d.getText();
93
+ o.has(c) || h.add(d.getText());
94
+ });
95
+ }
96
+ }
97
+ function A(e) {
98
+ const n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), l = e.getStatements();
99
+ let u;
100
+ for (let d = 0; d < l.length; d += 1) {
101
+ const t = l[d];
102
+ if (!t.isKind(g.ImportDeclaration)) {
103
+ const f = t.getName?.();
104
+ f !== void 0 && o.add(f);
105
+ continue;
106
+ }
107
+ u = t;
108
+ const c = t.getModuleSpecifierValue(), p = n.get(c);
109
+ p === void 0 ? n.set(c, [t]) : p.push(t);
110
+ const r = t.getImportClause();
111
+ if (r === void 0)
112
+ continue;
113
+ const i = r.getDefaultImport()?.getText();
114
+ i !== void 0 && o.add(i);
115
+ const m = r.getNamedBindings();
116
+ if (m !== void 0)
117
+ if (m.isKind(g.NamedImports))
118
+ for (const s of m.getElements()) {
119
+ const f = s.getName();
120
+ o.add(f);
121
+ }
122
+ else {
123
+ const s = m.getName();
124
+ o.add(s);
125
+ }
126
+ }
127
+ const a = u === void 0 ? 0 : u.getChildIndex() + 1;
128
+ return { specifiers: n, names: o, lastImportIndex: a };
129
+ }
130
+ function P(e, n, o, l) {
131
+ if (l !== void 0) {
132
+ if (e === "default")
133
+ for (const u of l) {
134
+ const a = u.getDefaultImport();
135
+ if (a !== void 0) {
136
+ o[n] ??= [], o[n].push(a.getText());
137
+ return;
138
+ }
139
+ }
140
+ else if (e === "*")
141
+ for (const u of l) {
142
+ const a = u.getNamespaceImport();
143
+ if (a !== void 0) {
144
+ o[n] ??= [], o[n].push(a.getText());
145
+ return;
146
+ }
147
+ }
148
+ else
149
+ for (const u of l)
150
+ for (const a of u.getNamedImports())
151
+ if (a.getName() === e) {
152
+ o[n] ??= [], o[n].push(a.getName());
153
+ return;
154
+ }
155
+ }
156
+ }
157
+ function E(e, n, o, l, u, a, d) {
158
+ const t = n === "default";
159
+ if (t || n === "*") {
160
+ if (l !== void 0)
161
+ for (const p of l) {
162
+ const r = t ? p.getDefaultImport() : p.getNamespaceImport();
163
+ if (r !== void 0) {
164
+ o.isTypeOnly !== !0 && p.isTypeOnly() && p.setIsTypeOnly(!1), u.push({
165
+ specifier: e,
166
+ requestedName: n,
167
+ actualName: r.getText()
168
+ });
169
+ return;
170
+ }
171
+ }
172
+ const c = O(o.preferredAlias, void 0, e, d);
173
+ u.push({ specifier: e, requestedName: n, actualName: c }), a[e] ??= {
174
+ afterDeclaration: void 0,
175
+ named: [],
176
+ default: void 0,
177
+ "*": void 0
178
+ }, a[e].afterDeclaration ??= l?.[0], a[e][n] = {
179
+ name: c,
180
+ isTypeOnly: o.isTypeOnly === !0
181
+ };
182
+ } else {
183
+ let c, p;
184
+ if (l !== void 0) {
185
+ let m = !1;
186
+ for (const s of l)
187
+ if (s.getNamespaceImport() === void 0) {
188
+ p ??= s, c ??= s.isTypeOnly() && s.getDefaultImport() === void 0 ? s : void 0;
189
+ for (const f of s.getNamedImports())
190
+ if (f.getNameNode().getText() === n) {
191
+ if (m = !0, o.isTypeOnly !== !0) {
192
+ if (f.isTypeOnly())
193
+ f.setIsTypeOnly(!1);
194
+ else if (s.isTypeOnly()) {
195
+ for (const y of s.getNamedImports())
196
+ y !== f && y.setIsTypeOnly(!0);
197
+ s.setIsTypeOnly(!1);
198
+ }
199
+ }
200
+ u.push({
201
+ specifier: e,
202
+ requestedName: n,
203
+ actualName: f.getAliasNode()?.getText() ?? n
204
+ });
205
+ break;
206
+ }
207
+ }
208
+ if (m)
209
+ return;
210
+ }
211
+ const r = O(
212
+ o.preferAlias === !0 ? o.preferredAlias : n,
213
+ o.preferAlias === !0 ? n : o.preferredAlias,
214
+ e,
215
+ d
216
+ ), i = n === r ? void 0 : r;
217
+ if (o.isTypeOnly && c !== void 0)
218
+ c.addNamedImport({
219
+ name: n,
220
+ alias: i
221
+ });
222
+ else if (p !== void 0 && (!o.isTypeOnly || p.getDefaultImport() === void 0)) {
223
+ if (p.isTypeOnly() && !o.isTypeOnly) {
224
+ p.setIsTypeOnly(!1);
225
+ for (const m of p.getNamedImports())
226
+ m.setIsTypeOnly(!0);
227
+ }
228
+ p.addNamedImport({
229
+ name: n,
230
+ alias: i,
231
+ isTypeOnly: o.isTypeOnly && !p.isTypeOnly()
232
+ });
233
+ } else
234
+ a[e] ??= {
235
+ afterDeclaration: void 0,
236
+ named: [],
237
+ default: void 0,
238
+ "*": void 0
239
+ }, a[e].afterDeclaration ??= l?.[0], a[e].named.push({
240
+ name: n,
241
+ alias: i,
242
+ isTypeOnly: o.isTypeOnly === !0
243
+ });
244
+ u.push({ specifier: e, requestedName: n, actualName: r });
245
+ }
246
+ }
247
+ function W(e, n, o, l, u, a, d) {
248
+ if (l === void 0)
249
+ return;
250
+ const t = o.name ?? n, c = o.specifier ?? e, p = n === "default";
251
+ if (p || n === "*") {
252
+ for (const r of l) {
253
+ const i = p ? r.getDefaultImport() : r.getNamespaceImport();
254
+ if (i === void 0)
255
+ continue;
256
+ if (o.isTypeOnly === !1 && r.isTypeOnly()) {
257
+ r.setIsTypeOnly(!1);
258
+ for (const s of r.getNamedImports())
259
+ s.setIsTypeOnly(!0);
260
+ }
261
+ let m = t;
262
+ if (t !== n) {
263
+ const s = O(t, n, e, d);
264
+ t === s ? i.rename(t) : m = i.getText();
265
+ } else
266
+ m = i.getText();
267
+ e !== c && (r.getNamedImports().length === 0 ? r.setModuleSpecifier(c) : (p ? r.removeDefaultImport() : r.removeNamespaceImport(), a[c] ??= {
268
+ afterDeclaration: void 0,
269
+ named: [],
270
+ default: void 0,
271
+ "*": void 0
272
+ }, a[c].afterDeclaration ??= r, a[c][n] = {
273
+ name: m,
274
+ isTypeOnly: r.isTypeOnly()
275
+ })), u.push({
276
+ specifier: c,
277
+ requestedName: n,
278
+ actualName: m
279
+ });
280
+ break;
281
+ }
282
+ return;
283
+ }
284
+ for (const r of l)
285
+ for (const i of r.getNamedImports()) {
286
+ if (i.getNameNode().getText() !== n)
287
+ continue;
288
+ if (o.isTypeOnly === !1) {
289
+ if (i.isTypeOnly())
290
+ i.setIsTypeOnly(!1);
291
+ else if (r.isTypeOnly()) {
292
+ r.setIsTypeOnly(!1);
293
+ for (const f of r.getNamedImports())
294
+ f !== i && f.setIsTypeOnly(!0);
295
+ }
296
+ }
297
+ let m = t;
298
+ const s = i.getAliasNode();
299
+ if (t !== n)
300
+ if (s === void 0) {
301
+ const f = O(t, n, e, d);
302
+ t === f ? i.getNameNode().asKind(g.Identifier)?.rename(t) : (i.setAlias(n), i.getNameNode().replaceWithText(t), m = n);
303
+ } else
304
+ i.getNameNode().replaceWithText(t), m = s.getText();
305
+ if (c !== e) {
306
+ const y = (w(x.project.projectData) || r.getModuleSpecifierValue().endsWith(".js")) && c.startsWith("@arcgis/core") ? `${c}.js` : c;
307
+ r.getNamedImports().length === 1 && r.getDefaultImport() === void 0 ? r.setModuleSpecifier(y) : (a[y] ??= {
308
+ afterDeclaration: void 0,
309
+ named: [],
310
+ default: void 0,
311
+ "*": void 0
312
+ }, a[y].afterDeclaration ??= l?.[0], a[y].named.push({
313
+ name: t,
314
+ alias: t === m ? void 0 : m,
315
+ isTypeOnly: i.isTypeOnly()
316
+ }), i.remove());
317
+ }
318
+ u.push({
319
+ specifier: c,
320
+ requestedName: t,
321
+ actualName: s?.getText() ?? m
322
+ });
323
+ return;
324
+ }
325
+ }
326
+ function O(e, n, o, l) {
327
+ if (e !== void 0) {
328
+ if (!l.has(e) && !h.has(e))
329
+ return l.add(e), e;
330
+ if (n !== void 0)
331
+ return O(n, void 0, o, l);
332
+ }
333
+ o.startsWith("@arcgis/core") && (o = `arcgisCore${o.slice(12)}`);
334
+ const u = o.split("/");
335
+ let a = e ?? "";
336
+ for (let d = u.length - 1; d >= 0; d--) {
337
+ const t = u[d].replaceAll($, "");
338
+ if (t !== a && (a = t + S(a), !l.has(a) && !h.has(a)))
339
+ return l.add(a), a;
340
+ }
341
+ for (let d = 2; ; d++) {
342
+ const t = a + d;
343
+ if (!l.has(t) && !h.has(t))
344
+ return l.add(t), t;
345
+ }
346
+ }
347
+ const $ = /[^a-zA-Z0-9$_]/gu, M = (e) => e.startsWith(".") ? e : `./${e}`, h = /* @__PURE__ */ new Set();
348
+ let j;
349
+ export {
350
+ b as a,
351
+ C as f,
352
+ J as p,
353
+ K as u
354
+ };
@@ -10,10 +10,10 @@ import { glob as T } from "tinyglobby";
10
10
  import { gitIgnoreFileToGlobs as $ } from "@arcgis/node-toolkit/glob";
11
11
  import { identity as L } from "@arcgis/toolkit/function";
12
12
  import { styleText as S } from "node:util";
13
- const q = (t, o, n) => {
14
- const r = t[o];
13
+ const q = (o, t, n) => {
14
+ const r = o[t];
15
15
  return r ? typeof r == "function" ? r() : Promise.resolve(r) : new Promise((c, i) => {
16
- (typeof queueMicrotask == "function" ? queueMicrotask : setTimeout)(i.bind(null, /* @__PURE__ */ new Error("Unknown variable dynamic import: " + o + (o.split("/").length !== n ? ". Note that variables only represent file names one level deep." : ""))));
16
+ (typeof queueMicrotask == "function" ? queueMicrotask : setTimeout)(i.bind(null, /* @__PURE__ */ new Error("Unknown variable dynamic import: " + t + (t.split("/").length !== n ? ". Note that variables only represent file names one level deep." : ""))));
17
17
  });
18
18
  }, ye = {
19
19
  allowImportingTsExtensions: !0,
@@ -41,15 +41,15 @@ const q = (t, o, n) => {
41
41
  project: void 0
42
42
  };
43
43
  async function z() {
44
- const { ignorePatterns: t, globRoot: o } = await H(), n = await Q(o);
45
- return t.push(...n), { ignorePatterns: t, globRoot: o };
44
+ const { ignorePatterns: o, globRoot: t } = await H(), n = await Q(t);
45
+ return o.push(...n), { ignorePatterns: o, globRoot: t };
46
46
  }
47
47
  async function H() {
48
- const t = [];
49
- let o, n = F(), r = e.dirname(n);
48
+ const o = [];
49
+ let t, n = F(), r = e.dirname(n);
50
50
  do {
51
- o = r;
52
- const c = e.join(o, ".gitignore");
51
+ t = r;
52
+ const c = e.join(t, ".gitignore");
53
53
  if (await B(c)) {
54
54
  n = e.dirname(c);
55
55
  const w = e.relative(n, F()).split("/"), y = $(c);
@@ -61,14 +61,14 @@ async function H() {
61
61
  p = !1;
62
62
  break;
63
63
  }
64
- p && (f.startsWith("!") || t.push(f));
64
+ p && (f.startsWith("!") || o.push(f));
65
65
  }
66
66
  }
67
- r = e.dirname(o);
68
- } while (r !== o);
69
- return { ignorePatterns: t, globRoot: n };
67
+ r = e.dirname(t);
68
+ } while (r !== t);
69
+ return { ignorePatterns: o, globRoot: n };
70
70
  }
71
- async function Q(t) {
71
+ async function Q(o) {
72
72
  return (await T("**/.gitignore", {
73
73
  cwd: F(),
74
74
  // Gitignore files are unlikely to be symbolic links
@@ -85,7 +85,7 @@ async function Q(t) {
85
85
  // Not applicable for our glob pattern
86
86
  expandDirectories: !1
87
87
  })).flatMap((n) => {
88
- const r = e.relative(t, e.dirname(n)), c = $(n), i = [];
88
+ const r = e.relative(o, e.dirname(n)), c = $(n), i = [];
89
89
  for (const w of c)
90
90
  w.startsWith("!") || i.push(e.join(r, w));
91
91
  return i;
@@ -93,9 +93,9 @@ async function Q(t) {
93
93
  }
94
94
  const V = ["js", "jsx", "mjs", "cjs"], X = ["ts", "tsx", "mts", "cts"], Y = ["json"], Z = `**/*.{${[...V, ...X, ...Y].join(",")}}`;
95
95
  async function ee() {
96
- const t = await z(), o = e.join(process.cwd(), Z), n = await T(o, {
97
- cwd: t.globRoot,
98
- ignore: t.ignorePatterns,
96
+ const o = await z(), t = e.join(process.cwd(), Z), n = await T(t, {
97
+ cwd: o.globRoot,
98
+ ignore: o.ignorePatterns,
99
99
  // The files we are looking for are unlikely to be symbolic links
100
100
  followSymbolicLinks: !1,
101
101
  // Not applicable for our glob pattern
@@ -104,9 +104,9 @@ async function ee() {
104
104
  // default behavior). If any tsconfig.json explicitly includes such files,
105
105
  // they will still be codemodded.
106
106
  });
107
- let r = e.relative(t.globRoot, process.cwd());
107
+ let r = e.relative(o.globRoot, process.cwd());
108
108
  r !== "" && (r += "/");
109
- const c = e.join(e.resolve(t.globRoot), "/"), i = c.length + r.length, w = [], y = [], f = /* @__PURE__ */ new Set();
109
+ const c = e.join(e.resolve(o.globRoot), "/"), i = c.length + r.length, w = [], y = [], f = /* @__PURE__ */ new Set();
110
110
  for (const s of n) {
111
111
  const l = c + s;
112
112
  if (s.endsWith(".json")) {
@@ -174,7 +174,7 @@ async function ee() {
174
174
  x = P;
175
175
  break;
176
176
  }
177
- } while (C !== t.globRoot && (C = e.dirname(C)));
177
+ } while (C !== o.globRoot && (C = e.dirname(C)));
178
178
  const E = x === void 0 ? void 0 : { filePath: x, contents: await M(e.dirname(x)) }, O = {
179
179
  typeScriptConfig: {
180
180
  filePath: s,
@@ -203,7 +203,7 @@ async function ee() {
203
203
  return p.sort((s, l) => s.cwd.localeCompare(l.cwd)), j.projectsData = p, p;
204
204
  }
205
205
  let _ = !1;
206
- function te() {
206
+ function oe() {
207
207
  _ || (_ = !0, process.exitCode !== void 0 && process.exitCode !== 0 ? h(
208
208
  "warn",
209
209
  j.codemodName,
@@ -218,49 +218,49 @@ function te() {
218
218
  - If your project uses TypeScript, run type checking to ensure there are no type errors.`
219
219
  ));
220
220
  }
221
- async function oe(t, o) {
222
- j.codemod = t, j.codemodName = o;
221
+ async function te(o, t) {
222
+ j.codemod = o, j.codemodName = t;
223
223
  const n = await ee();
224
224
  if (n.length === 0) {
225
- h("error", o, `Failed to find any .js or .ts files in ${process.cwd()} to run the codemod on.`), process.exitCode = 1;
225
+ h("error", t, `Failed to find any .js or .ts files in ${process.cwd()} to run the codemod on.`), process.exitCode = 1;
226
226
  return;
227
227
  }
228
- await t.run(n), te();
228
+ await o.run(n), oe();
229
229
  }
230
230
  const R = new K();
231
231
  R.name("@arcgis/codemod").description("Codemod for migrating or refactoring usages of ArcGIS Maps SDK for JavaScript");
232
232
  R.command("run").description("Run a single codemod").argument("<codemodName>", "Name of the transform").argument("[path]", "Directory to transform", process.cwd()).action(ne);
233
- async function ne(t, o) {
234
- const n = U(o, { throwIfNoEntry: !1 });
233
+ async function ne(o, t) {
234
+ const n = U(t, { throwIfNoEntry: !1 });
235
235
  if (n === void 0) {
236
- h("error", "@arcgis/codemod", `Failed to find the target path: ${o}`), process.exitCode = 1;
236
+ h("error", "@arcgis/codemod", `Failed to find the target path: ${t}`), process.exitCode = 1;
237
237
  return;
238
238
  }
239
239
  const r = n.isFile();
240
- process.chdir(r ? e.dirname(o) : o);
240
+ process.chdir(r ? e.dirname(t) : t);
241
241
  let c;
242
242
  try {
243
- c = await q(/* @__PURE__ */ Object.assign({ "./codemods/api-extractor-strict-mode/codemod.ts": () => import("./codemod-DOOtgv8R.js"), "./codemods/node-toolkit/codemod.ts": () => import("./codemod-CJvMRUCq.js"), "./codemods/refactor-out-esri-namespace/codemod.ts": () => import("./codemod-UDMxoQjk.js"), "./codemods/toolkit-5.2-renames/codemod.ts": () => import("./codemod-BD9n1ra2.js") }), `./codemods/${t}/codemod.ts`, 4);
243
+ c = await q(/* @__PURE__ */ Object.assign({ "./codemods/api-extractor-strict-mode/codemod.ts": () => import("./codemod-DPXaddAw.js"), "./codemods/node-toolkit/codemod.ts": () => import("./codemod-CTd7n0lD.js"), "./codemods/normalize-calcite-icon-names/codemod.ts": () => import("./codemod-Ce_Kk0Ir.js"), "./codemods/refactor-out-esri-namespace/codemod.ts": () => import("./codemod-BwRmX2eo.js"), "./codemods/toolkit-5.2-renames/codemod.ts": () => import("./codemod-D77Br2SQ.js") }), `./codemods/${o}/codemod.ts`, 4);
244
244
  } catch (i) {
245
245
  if (
246
246
  // direct Node execution
247
- typeof i == "object" && i !== null && "code" in i && i.code === "ERR_MODULE_NOT_FOUND" && "url" in i && typeof i.url == "string" && i.url.endsWith(`${e.sep}${t}${e.sep}codemod.ts`) || // Vite build execution
247
+ typeof i == "object" && i !== null && "code" in i && i.code === "ERR_MODULE_NOT_FOUND" && "url" in i && typeof i.url == "string" && i.url.endsWith(`${e.sep}${o}${e.sep}codemod.ts`) || // Vite build execution
248
248
  String(i).includes("Unknown variable dynamic import:")
249
249
  ) {
250
- h("error", "@arcgis/codemod", `Can't find codemod by name "${t}".`), process.exitCode = 1;
250
+ h("error", "@arcgis/codemod", `Can't find codemod by name "${o}".`), process.exitCode = 1;
251
251
  return;
252
252
  } else
253
253
  throw i;
254
254
  }
255
255
  if (typeof c.codemod != "object" || c.codemod === null) {
256
- h("error", "@arcgis/codemod", `Can't find codemod by name "${t}".`), process.exitCode = 1;
256
+ h("error", "@arcgis/codemod", `Can't find codemod by name "${o}".`), process.exitCode = 1;
257
257
  return;
258
258
  }
259
- await oe(c.codemod, S("blue", t));
259
+ await te(c.codemod, S("blue", o));
260
260
  }
261
261
  R.parse();
262
262
  export {
263
263
  ye as d,
264
264
  j as g,
265
- te as p
265
+ oe as p
266
266
  };