@arcgis/codemod 5.2.0-next.89 → 5.2.0-next.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/{actions-Bb_DEEbb.js → actions-ACvjOtUF.js} +1 -1
  2. package/dist/{actions-WUUe1M5q.js → actions-CKBQcIhe.js} +1 -1
  3. package/dist/actions-CakrAPrI.js +354 -0
  4. package/dist/actions-CtxXjpuZ.js +354 -0
  5. package/dist/{cli-DllOIioe.js → cli-3BztOTDV.js} +36 -36
  6. package/dist/{cli-sk_fNnii.js → cli-BIg5ZLTm.js} +36 -36
  7. package/dist/cli-BJ6P_2T-.js +266 -0
  8. package/dist/cli-CJfbqFa-.js +266 -0
  9. package/dist/cli.js +1 -1
  10. package/dist/{codemod-B890VM89.js → codemod-3QuC4SaX.js} +3 -3
  11. package/dist/{codemod-B_q1vMhe.js → codemod-8GvQmmZV.js} +3 -3
  12. package/dist/{codemod-CBEff9_v.js → codemod-BD9n1ra2.js} +3 -3
  13. package/dist/{codemod-BO-WPlNF.js → codemod-BNhkoGgL.js} +3 -3
  14. package/dist/{codemod-C4uHtbD9.js → codemod-BSrbZ8nr.js} +3 -3
  15. package/dist/{codemod-D08yZcS_.js → codemod-BWZBr6IZ.js} +3 -3
  16. package/dist/{codemod-BRvc75aN.js → codemod-Bz1NfItD.js} +3 -3
  17. package/dist/codemod-CJvMRUCq.js +140 -0
  18. package/dist/codemod-CRHygcg2.js +74 -0
  19. package/dist/codemod-CXiJ129U.js +436 -0
  20. package/dist/codemod-CzsItZhZ.js +74 -0
  21. package/dist/codemod-DOOtgv8R.js +436 -0
  22. package/dist/{codemod-CrAFHyU9.js → codemod-Dc4LGHgd.js} +3 -3
  23. package/dist/codemod-UDMxoQjk.js +6080 -0
  24. package/dist/codemod-Xx_q11AP.js +6080 -0
  25. package/dist/codemod-urnOPYsG.js +140 -0
  26. package/dist/{useProjectInstance-BbuqPuaN.js → useProjectInstance-5uuenLkM.js} +16 -13
  27. package/dist/{useProjectInstance-DTIFNCFG.js → useProjectInstance-CGaAin_6.js} +16 -13
  28. package/dist/useProjectInstance-DiZc_C2o.js +50 -0
  29. package/dist/useProjectInstance-DixfNjtt.js +50 -0
  30. package/package.json +4 -4
  31. package/dist/codemod-DggNINhi.js +0 -240
  32. package/dist/codemod-OB5VGkjy.js +0 -240
@@ -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-DllOIioe.js";
3
+ import { g as x } from "./cli-CJfbqFa-.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";
@@ -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-sk_fNnii.js";
3
+ import { g as x } from "./cli-BJ6P_2T-.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-3BztOTDV.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
+ };