@arcgis/codemod 5.2.0-next.9 → 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.
- package/LICENSE.md +4 -2
- package/README.md +42 -7
- package/dist/{actions-BBxr-9ge.js → actions-ACvjOtUF.js} +2 -2
- package/dist/actions-CKBQcIhe.js +354 -0
- package/dist/actions-CakrAPrI.js +354 -0
- package/dist/actions-CtxXjpuZ.js +354 -0
- package/dist/{cli-DPzs7oKq.js → cli-3BztOTDV.js} +33 -29
- package/dist/cli-BIg5ZLTm.js +266 -0
- package/dist/cli-BJ6P_2T-.js +266 -0
- package/dist/cli-CJfbqFa-.js +266 -0
- package/dist/cli.js +2 -2
- package/dist/codemod-3QuC4SaX.js +74 -0
- package/dist/codemod-8GvQmmZV.js +140 -0
- package/dist/codemod-BD9n1ra2.js +74 -0
- package/dist/{codemod-AVvtg1JZ.js → codemod-BNhkoGgL.js} +4 -4
- package/dist/{codemod-mhjHtX3y.js → codemod-BSrbZ8nr.js} +3 -3
- package/dist/codemod-BWZBr6IZ.js +140 -0
- package/dist/codemod-Bz1NfItD.js +436 -0
- package/dist/codemod-CJvMRUCq.js +140 -0
- package/dist/codemod-CRHygcg2.js +74 -0
- package/dist/codemod-CXiJ129U.js +436 -0
- package/dist/codemod-CzsItZhZ.js +74 -0
- package/dist/codemod-DOOtgv8R.js +436 -0
- package/dist/codemod-Dc4LGHgd.js +6080 -0
- package/dist/codemod-UDMxoQjk.js +6080 -0
- package/dist/codemod-Xx_q11AP.js +6080 -0
- package/dist/codemod-urnOPYsG.js +140 -0
- package/dist/{useProjectInstance-CiX-mY1O.js → useProjectInstance-5uuenLkM.js} +2 -2
- package/dist/useProjectInstance-CGaAin_6.js +50 -0
- package/dist/useProjectInstance-DiZc_C2o.js +50 -0
- package/dist/useProjectInstance-DixfNjtt.js +50 -0
- package/package.json +11 -9
- package/dist/codemod-Cv6_nCqP.js +0 -157
package/LICENSE.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# Licensing
|
|
2
2
|
|
|
3
|
-
COPYRIGHT
|
|
3
|
+
COPYRIGHT Esri
|
|
4
4
|
|
|
5
5
|
All rights reserved under the copyright laws of the United States and applicable international laws, treaties, and conventions.
|
|
6
6
|
|
|
7
|
-
This material is licensed for use under the
|
|
7
|
+
This material is licensed for use under the Esri Master License Agreement (MLA), and is bound by the terms of that agreement.
|
|
8
8
|
You may redistribute and use this code without modification, provided you adhere to the terms of the MLA and include this copyright notice.
|
|
9
9
|
|
|
10
|
+
See use restrictions at https://www.esri.com/content/dam/esrisites/en-us/media/legal/ma-full/ma-full.pdf.
|
|
11
|
+
|
|
10
12
|
For additional information, contact:
|
|
11
13
|
Environmental Systems Research Institute, Inc.
|
|
12
14
|
Attn: Contracts and Legal Services Department
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
69
|
+
#### Warnings (manual review required)
|
|
60
70
|
|
|
61
71
|
The codemod will emit warnings for cases it cannot safely rewrite, including:
|
|
62
72
|
|
|
@@ -65,11 +75,36 @@ 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
|
-
|
|
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
|
|
|
74
|
-
This package is licensed under the terms described in the `LICENSE.md` file, located in the root of the package, and at https://js.arcgis.com/5.
|
|
75
|
-
For third party notices, see https://js.arcgis.com/5.
|
|
109
|
+
This package is licensed under the terms described in the `LICENSE.md` file, located in the root of the package, and at https://js.arcgis.com/5.2/LICENSE.txt.
|
|
110
|
+
For third party notices, see https://js.arcgis.com/5.2/third-party-notices.txt.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { path as T } from "@arcgis/
|
|
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-
|
|
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";
|
|
@@ -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-BJ6P_2T-.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
|
+
};
|