@openrewrite/rewrite 8.91.1 → 8.91.2
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/dist/javascript/add-import.d.ts +68 -34
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +322 -160
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/amd.d.ts +138 -0
- package/dist/javascript/amd.d.ts.map +1 -0
- package/dist/javascript/amd.js +768 -0
- package/dist/javascript/amd.js.map +1 -0
- package/dist/javascript/binding.d.ts +94 -0
- package/dist/javascript/binding.d.ts.map +1 -0
- package/dist/javascript/binding.js +335 -0
- package/dist/javascript/binding.js.map +1 -0
- package/dist/javascript/index.d.ts +8 -1
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +26 -1
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/parser-utils.d.ts.map +1 -1
- package/dist/javascript/parser-utils.js +2 -0
- package/dist/javascript/parser-utils.js.map +1 -1
- package/dist/javascript/parser.d.ts +7 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +7 -1
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/recipes/change-import.d.ts +2 -4
- package/dist/javascript/recipes/change-import.d.ts.map +1 -1
- package/dist/javascript/recipes/change-import.js +8 -240
- package/dist/javascript/recipes/change-import.js.map +1 -1
- package/dist/javascript/remove-import.d.ts +2 -28
- package/dist/javascript/remove-import.d.ts.map +1 -1
- package/dist/javascript/remove-import.js +19 -57
- package/dist/javascript/remove-import.js.map +1 -1
- package/dist/javascript/scope.d.ts +49 -0
- package/dist/javascript/scope.d.ts.map +1 -0
- package/dist/javascript/scope.js +324 -0
- package/dist/javascript/scope.js.map +1 -0
- package/dist/javascript/templating/bindings.d.ts +0 -11
- package/dist/javascript/templating/bindings.d.ts.map +1 -1
- package/dist/javascript/templating/bindings.js +0 -29
- package/dist/javascript/templating/bindings.js.map +1 -1
- package/dist/javascript/templating/comparator.d.ts +10 -0
- package/dist/javascript/templating/comparator.d.ts.map +1 -1
- package/dist/javascript/templating/comparator.js +43 -14
- package/dist/javascript/templating/comparator.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts +17 -4
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +43 -17
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/index.d.ts +1 -1
- package/dist/javascript/templating/index.d.ts.map +1 -1
- package/dist/javascript/templating/index.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +2 -2
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.d.ts +2 -0
- package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +10 -5
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/templating/precedence.d.ts +12 -4
- package/dist/javascript/templating/precedence.d.ts.map +1 -1
- package/dist/javascript/templating/precedence.js +18 -11
- package/dist/javascript/templating/precedence.js.map +1 -1
- package/dist/javascript/templating/rewrite.d.ts.map +1 -1
- package/dist/javascript/templating/rewrite.js +7 -1
- package/dist/javascript/templating/rewrite.js.map +1 -1
- package/dist/javascript/templating/template.d.ts +7 -1
- package/dist/javascript/templating/template.d.ts.map +1 -1
- package/dist/javascript/templating/template.js +48 -28
- package/dist/javascript/templating/template.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +10 -18
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/templating/utils.d.ts +1 -1
- package/dist/javascript/templating/utils.d.ts.map +1 -1
- package/dist/javascript/templating/utils.js +3 -2
- package/dist/javascript/templating/utils.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/package.json +2 -2
- package/src/javascript/add-import.ts +342 -198
- package/src/javascript/amd.ts +915 -0
- package/src/javascript/binding.ts +449 -0
- package/src/javascript/index.ts +12 -1
- package/src/javascript/parser-utils.ts +2 -0
- package/src/javascript/parser.ts +13 -0
- package/src/javascript/recipes/change-import.ts +10 -260
- package/src/javascript/remove-import.ts +20 -56
- package/src/javascript/scope.ts +338 -0
- package/src/javascript/templating/bindings.ts +0 -30
- package/src/javascript/templating/comparator.ts +52 -14
- package/src/javascript/templating/engine.ts +70 -28
- package/src/javascript/templating/index.ts +0 -1
- package/src/javascript/templating/pattern.ts +4 -2
- package/src/javascript/templating/placeholder-replacement.ts +16 -6
- package/src/javascript/templating/precedence.ts +21 -13
- package/src/javascript/templating/rewrite.ts +9 -1
- package/src/javascript/templating/template.ts +62 -29
- package/src/javascript/templating/types.ts +11 -18
- package/src/javascript/templating/utils.ts +4 -2
|
@@ -20,7 +20,7 @@ import { ExecutionContext } from "../../execution";
|
|
|
20
20
|
* // After: import { act } from 'react';
|
|
21
21
|
*
|
|
22
22
|
* @example
|
|
23
|
-
* // Change
|
|
23
|
+
* // Change which member of the module a name is bound to
|
|
24
24
|
* const recipe = new ChangeImport({
|
|
25
25
|
* oldModule: "lodash",
|
|
26
26
|
* oldMember: "extend",
|
|
@@ -28,7 +28,7 @@ import { ExecutionContext } from "../../execution";
|
|
|
28
28
|
* newMember: "assign"
|
|
29
29
|
* });
|
|
30
30
|
* // Before: import { extend } from 'lodash';
|
|
31
|
-
* // After: import { assign } from 'lodash';
|
|
31
|
+
* // After: import { assign as extend } from 'lodash';
|
|
32
32
|
*/
|
|
33
33
|
export declare class ChangeImport extends Recipe {
|
|
34
34
|
readonly name = "org.openrewrite.javascript.change-import";
|
|
@@ -38,13 +38,11 @@ export declare class ChangeImport extends Recipe {
|
|
|
38
38
|
oldMember: string;
|
|
39
39
|
newModule: string;
|
|
40
40
|
newMember?: string;
|
|
41
|
-
newAlias?: string;
|
|
42
41
|
constructor(options?: {
|
|
43
42
|
oldModule?: string;
|
|
44
43
|
oldMember?: string;
|
|
45
44
|
newModule?: string;
|
|
46
45
|
newMember?: string;
|
|
47
|
-
newAlias?: string;
|
|
48
46
|
});
|
|
49
47
|
editor(): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
50
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-import.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/change-import.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAU,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACpC,QAAQ,CAAC,IAAI,8CAA8C;IAC3D,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,0FAA0F;IAO9G,SAAS,EAAG,MAAM,CAAC;IAOnB,SAAS,EAAG,MAAM,CAAC;IAOnB,SAAS,EAAG,MAAM,CAAC;IAQnB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"change-import.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/change-import.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAU,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACpC,QAAQ,CAAC,IAAI,8CAA8C;IAC3D,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,0FAA0F;IAO9G,SAAS,EAAG,MAAM,CAAC;IAOnB,SAAS,EAAG,MAAM,CAAC;IAOnB,SAAS,EAAG,MAAM,CAAC;IAQnB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,OAAO,CAAC,EAAE;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB;IAIK,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAqW9D"}
|
|
@@ -24,7 +24,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
24
24
|
exports.ChangeImport = void 0;
|
|
25
25
|
const recipe_1 = require("../../recipe");
|
|
26
26
|
const index_1 = require("../index");
|
|
27
|
-
const
|
|
27
|
+
const binding_1 = require("../binding");
|
|
28
28
|
const java_1 = require("../../java");
|
|
29
29
|
const mutative_1 = require("mutative");
|
|
30
30
|
/**
|
|
@@ -46,7 +46,7 @@ const mutative_1 = require("mutative");
|
|
|
46
46
|
* // After: import { act } from 'react';
|
|
47
47
|
*
|
|
48
48
|
* @example
|
|
49
|
-
* // Change
|
|
49
|
+
* // Change which member of the module a name is bound to
|
|
50
50
|
* const recipe = new ChangeImport({
|
|
51
51
|
* oldModule: "lodash",
|
|
52
52
|
* oldMember: "extend",
|
|
@@ -54,7 +54,7 @@ const mutative_1 = require("mutative");
|
|
|
54
54
|
* newMember: "assign"
|
|
55
55
|
* });
|
|
56
56
|
* // Before: import { extend } from 'lodash';
|
|
57
|
-
* // After: import { assign } from 'lodash';
|
|
57
|
+
* // After: import { assign as extend } from 'lodash';
|
|
58
58
|
*/
|
|
59
59
|
class ChangeImport extends recipe_1.Recipe {
|
|
60
60
|
constructor(options) {
|
|
@@ -69,7 +69,6 @@ class ChangeImport extends recipe_1.Recipe {
|
|
|
69
69
|
const oldMember = this.oldMember;
|
|
70
70
|
const newModule = this.newModule;
|
|
71
71
|
const newMember = (_a = this.newMember) !== null && _a !== void 0 ? _a : oldMember;
|
|
72
|
-
const newAlias = this.newAlias;
|
|
73
72
|
// Build the old and new FQNs for type attribution updates
|
|
74
73
|
const oldFqn = oldMember === 'default' || oldMember === '*'
|
|
75
74
|
? oldModule
|
|
@@ -81,172 +80,13 @@ class ChangeImport extends recipe_1.Recipe {
|
|
|
81
80
|
constructor() {
|
|
82
81
|
super(...arguments);
|
|
83
82
|
this.hasOldImport = false;
|
|
84
|
-
this.transformedImport = false;
|
|
85
83
|
}
|
|
86
84
|
async visitJsCompilationUnit(cu, ctx) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
// First pass: check if the old import exists and capture any alias
|
|
93
|
-
for (const statement of cu.statements) {
|
|
94
|
-
const stmt = (_a = statement.element) !== null && _a !== void 0 ? _a : statement;
|
|
95
|
-
if (stmt.kind === index_1.JS.Kind.Import) {
|
|
96
|
-
const jsImport = stmt;
|
|
97
|
-
const aliasInfo = this.checkForOldImport(jsImport);
|
|
98
|
-
if (aliasInfo.found) {
|
|
99
|
-
this.hasOldImport = true;
|
|
100
|
-
this.oldAlias = aliasInfo.alias;
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Visit the compilation unit (this will transform imports via visitJsImport)
|
|
106
|
-
let result = await super.visitJsCompilationUnit(cu, ctx);
|
|
107
|
-
// If we transformed an import but need to add to existing import from new module,
|
|
108
|
-
// or if we only removed a member from a multi-import, use maybeAddImport
|
|
109
|
-
if (this.hasOldImport && !this.transformedImport) {
|
|
110
|
-
const aliasToUse = newAlias !== null && newAlias !== void 0 ? newAlias : this.oldAlias;
|
|
111
|
-
if (newMember === 'default') {
|
|
112
|
-
(0, add_import_1.maybeAddImport)(this, {
|
|
113
|
-
module: newModule,
|
|
114
|
-
member: 'default',
|
|
115
|
-
alias: aliasToUse,
|
|
116
|
-
onlyIfReferenced: false
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
else if (newMember === '*') {
|
|
120
|
-
(0, add_import_1.maybeAddImport)(this, {
|
|
121
|
-
module: newModule,
|
|
122
|
-
member: '*',
|
|
123
|
-
alias: aliasToUse,
|
|
124
|
-
onlyIfReferenced: false
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
(0, add_import_1.maybeAddImport)(this, {
|
|
129
|
-
module: newModule,
|
|
130
|
-
member: newMember,
|
|
131
|
-
// A moved binding keeps the local name it had. Pinning it also tells
|
|
132
|
-
// `maybeAddImport` not to deconflict against the import being replaced,
|
|
133
|
-
// which is still present in the tree it reads.
|
|
134
|
-
alias: aliasToUse !== null && aliasToUse !== void 0 ? aliasToUse : newMember,
|
|
135
|
-
onlyIfReferenced: false
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return result;
|
|
140
|
-
}
|
|
141
|
-
async visitImportDeclaration(jsImport, ctx) {
|
|
142
|
-
var _a;
|
|
143
|
-
let imp = await super.visitImportDeclaration(jsImport, ctx);
|
|
144
|
-
if (!this.hasOldImport) {
|
|
145
|
-
return imp;
|
|
146
|
-
}
|
|
147
|
-
const aliasInfo = this.checkForOldImport(imp);
|
|
148
|
-
if (!aliasInfo.found) {
|
|
149
|
-
return imp;
|
|
150
|
-
}
|
|
151
|
-
// Check if this is the only import from the old module
|
|
152
|
-
const namedImports = this.getNamedImports(imp);
|
|
153
|
-
const isOnlyImport = namedImports.length === 1 ||
|
|
154
|
-
(oldMember === 'default' && !((_a = imp.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings)) ||
|
|
155
|
-
(oldMember === '*');
|
|
156
|
-
if (isOnlyImport) {
|
|
157
|
-
// Transform the module specifier in place
|
|
158
|
-
this.transformedImport = true;
|
|
159
|
-
return (0, mutative_1.create)(imp, draft => {
|
|
160
|
-
var _a;
|
|
161
|
-
if (draft.moduleSpecifier) {
|
|
162
|
-
const literal = draft.moduleSpecifier.element;
|
|
163
|
-
literal.value = newModule;
|
|
164
|
-
// Update valueSource to preserve quote style
|
|
165
|
-
const originalSource = literal.valueSource || `"${oldModule}"`;
|
|
166
|
-
const quoteChar = originalSource.startsWith("'") ? "'" : '"';
|
|
167
|
-
literal.valueSource = `${quoteChar}${newModule}${quoteChar}`;
|
|
168
|
-
}
|
|
169
|
-
// If we're also renaming the member, update the import specifier
|
|
170
|
-
if (newMember !== oldMember && oldMember !== 'default' && oldMember !== '*') {
|
|
171
|
-
const importClause = draft.importClause;
|
|
172
|
-
if (((_a = importClause === null || importClause === void 0 ? void 0 : importClause.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === index_1.JS.Kind.NamedImports) {
|
|
173
|
-
const namedImports = importClause.namedBindings;
|
|
174
|
-
for (const elem of namedImports.elements.elements) {
|
|
175
|
-
const specifier = elem.element;
|
|
176
|
-
if (specifier.specifier.kind === java_1.J.Kind.Identifier &&
|
|
177
|
-
specifier.specifier.simpleName === oldMember) {
|
|
178
|
-
specifier.specifier.simpleName = newMember;
|
|
179
|
-
}
|
|
180
|
-
else if (specifier.specifier.kind === index_1.JS.Kind.Alias) {
|
|
181
|
-
const aliasNode = specifier.specifier;
|
|
182
|
-
const propertyName = aliasNode.propertyName.element;
|
|
183
|
-
if (propertyName.kind === java_1.J.Kind.Identifier &&
|
|
184
|
-
propertyName.simpleName === oldMember) {
|
|
185
|
-
propertyName.simpleName = newMember;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
// Remove just the specific member from the import
|
|
195
|
-
// maybeAddImport will add the new import
|
|
196
|
-
return this.removeNamedImportMember(imp, oldMember, ctx);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
async removeNamedImportMember(imp, memberToRemove, _ctx) {
|
|
200
|
-
return (0, mutative_1.create)(imp, draft => {
|
|
201
|
-
const importClause = draft.importClause;
|
|
202
|
-
if (!(importClause === null || importClause === void 0 ? void 0 : importClause.namedBindings))
|
|
203
|
-
return;
|
|
204
|
-
if (importClause.namedBindings.kind !== index_1.JS.Kind.NamedImports)
|
|
205
|
-
return;
|
|
206
|
-
const namedImports = importClause.namedBindings;
|
|
207
|
-
const elements = namedImports.elements.elements;
|
|
208
|
-
const filteredElements = elements.filter(elem => {
|
|
209
|
-
const specifier = elem.element;
|
|
210
|
-
const specifierNode = specifier.specifier;
|
|
211
|
-
if (specifierNode.kind === java_1.J.Kind.Identifier) {
|
|
212
|
-
return specifierNode.simpleName !== memberToRemove;
|
|
213
|
-
}
|
|
214
|
-
if (specifierNode.kind === index_1.JS.Kind.Alias) {
|
|
215
|
-
const alias = specifierNode;
|
|
216
|
-
const propertyName = alias.propertyName.element;
|
|
217
|
-
if (propertyName.kind === java_1.J.Kind.Identifier) {
|
|
218
|
-
return propertyName.simpleName !== memberToRemove;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
return true;
|
|
222
|
-
});
|
|
223
|
-
namedImports.elements.elements = filteredElements;
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
getNamedImports(imp) {
|
|
227
|
-
const imports = [];
|
|
228
|
-
const importClause = imp.importClause;
|
|
229
|
-
if (!importClause)
|
|
230
|
-
return imports;
|
|
231
|
-
const namedBindings = importClause.namedBindings;
|
|
232
|
-
if (!namedBindings || namedBindings.kind !== index_1.JS.Kind.NamedImports)
|
|
233
|
-
return imports;
|
|
234
|
-
const namedImports = namedBindings;
|
|
235
|
-
for (const elem of namedImports.elements.elements) {
|
|
236
|
-
const specifier = elem.element;
|
|
237
|
-
const specifierNode = specifier.specifier;
|
|
238
|
-
if ((0, java_1.isIdentifier)(specifierNode)) {
|
|
239
|
-
imports.push(specifierNode.simpleName);
|
|
240
|
-
}
|
|
241
|
-
else if (specifierNode.kind === index_1.JS.Kind.Alias) {
|
|
242
|
-
const alias = specifierNode;
|
|
243
|
-
const propertyName = alias.propertyName.element;
|
|
244
|
-
if ((0, java_1.isIdentifier)(propertyName)) {
|
|
245
|
-
imports.push(propertyName.simpleName);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
return imports;
|
|
85
|
+
this.hasOldImport = (0, binding_1.maybeRebind)(this, {
|
|
86
|
+
from: { module: oldModule, member: oldMember },
|
|
87
|
+
to: { module: newModule, member: newMember }
|
|
88
|
+
}) !== undefined;
|
|
89
|
+
return super.visitJsCompilationUnit(cu, ctx);
|
|
250
90
|
}
|
|
251
91
|
async visitIdentifier(identifier, ctx) {
|
|
252
92
|
let ident = await super.visitIdentifier(identifier, ctx);
|
|
@@ -506,71 +346,6 @@ class ChangeImport extends recipe_1.Recipe {
|
|
|
506
346
|
}
|
|
507
347
|
return arrayType;
|
|
508
348
|
}
|
|
509
|
-
checkForOldImport(jsImport) {
|
|
510
|
-
// Check if this import is from the old module
|
|
511
|
-
const moduleSpecifier = jsImport.moduleSpecifier;
|
|
512
|
-
if (!moduleSpecifier)
|
|
513
|
-
return { found: false };
|
|
514
|
-
const literal = moduleSpecifier.element;
|
|
515
|
-
if (literal.kind !== java_1.J.Kind.Literal)
|
|
516
|
-
return { found: false };
|
|
517
|
-
const value = literal.value;
|
|
518
|
-
if (value !== oldModule)
|
|
519
|
-
return { found: false };
|
|
520
|
-
const importClause = jsImport.importClause;
|
|
521
|
-
if (!importClause) {
|
|
522
|
-
// Side-effect import - not what we're looking for
|
|
523
|
-
return { found: false };
|
|
524
|
-
}
|
|
525
|
-
// Check for default import
|
|
526
|
-
if (oldMember === 'default') {
|
|
527
|
-
if (importClause.name) {
|
|
528
|
-
const nameElem = importClause.name.element;
|
|
529
|
-
if ((0, java_1.isIdentifier)(nameElem)) {
|
|
530
|
-
return { found: true, alias: nameElem.simpleName };
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
return { found: false };
|
|
534
|
-
}
|
|
535
|
-
// Check for namespace import
|
|
536
|
-
if (oldMember === '*') {
|
|
537
|
-
const namedBindings = importClause.namedBindings;
|
|
538
|
-
if ((namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) === index_1.JS.Kind.Alias) {
|
|
539
|
-
const alias = namedBindings;
|
|
540
|
-
if ((0, java_1.isIdentifier)(alias.alias)) {
|
|
541
|
-
return { found: true, alias: alias.alias.simpleName };
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
return { found: false };
|
|
545
|
-
}
|
|
546
|
-
// Check for named imports
|
|
547
|
-
const namedBindings = importClause.namedBindings;
|
|
548
|
-
if (!namedBindings)
|
|
549
|
-
return { found: false };
|
|
550
|
-
if (namedBindings.kind !== index_1.JS.Kind.NamedImports)
|
|
551
|
-
return { found: false };
|
|
552
|
-
const namedImports = namedBindings;
|
|
553
|
-
const elements = namedImports.elements.elements;
|
|
554
|
-
for (const elem of elements) {
|
|
555
|
-
const specifier = elem.element;
|
|
556
|
-
const specifierNode = specifier.specifier;
|
|
557
|
-
// Handle direct import: import { act }
|
|
558
|
-
if ((0, java_1.isIdentifier)(specifierNode) && specifierNode.simpleName === oldMember) {
|
|
559
|
-
return { found: true };
|
|
560
|
-
}
|
|
561
|
-
// Handle aliased import: import { act as something }
|
|
562
|
-
if (specifierNode.kind === index_1.JS.Kind.Alias) {
|
|
563
|
-
const alias = specifierNode;
|
|
564
|
-
const propertyName = alias.propertyName.element;
|
|
565
|
-
if ((0, java_1.isIdentifier)(propertyName) && propertyName.simpleName === oldMember) {
|
|
566
|
-
if ((0, java_1.isIdentifier)(alias.alias)) {
|
|
567
|
-
return { found: true, alias: alias.alias.simpleName };
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
}
|
|
572
|
-
return { found: false };
|
|
573
|
-
}
|
|
574
349
|
}();
|
|
575
350
|
}
|
|
576
351
|
}
|
|
@@ -604,11 +379,4 @@ __decorate([
|
|
|
604
379
|
required: false
|
|
605
380
|
})
|
|
606
381
|
], ChangeImport.prototype, "newMember", void 0);
|
|
607
|
-
__decorate([
|
|
608
|
-
(0, recipe_1.Option)({
|
|
609
|
-
displayName: "New alias",
|
|
610
|
-
description: "Optional alias for the new import. Required when newMember is 'default' or '*'.",
|
|
611
|
-
required: false
|
|
612
|
-
})
|
|
613
|
-
], ChangeImport.prototype, "newAlias", void 0);
|
|
614
382
|
//# sourceMappingURL=change-import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-import.js","sourceRoot":"","sources":["../../../src/javascript/recipes/change-import.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"change-import.js","sourceRoot":"","sources":["../../../src/javascript/recipes/change-import.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,6 @@
|
|
|
1
1
|
import { JavaScriptVisitor } from "./visitor";
|
|
2
2
|
import { J } from "../java";
|
|
3
3
|
import { JS } from "./tree";
|
|
4
|
-
/**
|
|
5
|
-
* @param visitor The visitor to add the import removal to
|
|
6
|
-
* @param module The module name (e.g., 'fs', 'react') to remove imports from
|
|
7
|
-
* @param member Optionally, the specific member to remove from the import.
|
|
8
|
-
* If not specified, removes all unused imports from the module.
|
|
9
|
-
* Special values:
|
|
10
|
-
* - 'default': Removes the default import from the module if unused,
|
|
11
|
-
* regardless of its local name (e.g., `import React from 'react'`)
|
|
12
|
-
* - '*': Removes the namespace import if unused (e.g., `import * as fs from 'fs'`)
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // Remove a specific named import if unused
|
|
16
|
-
* maybeRemoveImport(visitor, 'fs', 'readFile');
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* // Remove the default import from 'react' if unused (regardless of local name)
|
|
20
|
-
* maybeRemoveImport(visitor, 'react', 'default');
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* // Remove all unused imports from 'react' module
|
|
24
|
-
* maybeRemoveImport(visitor, 'react');
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* // Remove namespace import if unused
|
|
28
|
-
* maybeRemoveImport(visitor, 'fs', '*');
|
|
29
|
-
*/
|
|
30
|
-
export declare function maybeRemoveImport(visitor: JavaScriptVisitor<any>, module: string, member?: string): void;
|
|
31
4
|
export declare class RemoveImport<P> extends JavaScriptVisitor<P> {
|
|
32
5
|
readonly module: string;
|
|
33
6
|
readonly member?: string | undefined;
|
|
@@ -80,7 +53,8 @@ export declare class RemoveImport<P> extends JavaScriptVisitor<P> {
|
|
|
80
53
|
private processObjectBindingPattern;
|
|
81
54
|
private getImportName;
|
|
82
55
|
private getImportAlias;
|
|
83
|
-
|
|
56
|
+
/** The names a pattern element binds, and for each the member of the module it reads. */
|
|
57
|
+
private boundByPatternElement;
|
|
84
58
|
private shouldRemoveImport;
|
|
85
59
|
private isTargetModule;
|
|
86
60
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-import.d.ts","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"remove-import.d.ts","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAE1B,OAAO,EAAC,EAAE,EAAM,MAAM,QAAQ,CAAC;AAY/B,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAUzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAVpC;;;;;;;;OAQG;gBACkB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA;IAIpC;;;;;OAKG;YACW,oCAAoC;IAgDlD;;OAEG;YACW,kBAAkB;IAejB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YA+F1F,aAAa;IAqK3B;;;OAGG;YACW,0BAA0B;IAmCxC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAOhB,mBAAmB;YA+DnB,0BAA0B;IA8DxC;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAclB,2BAA2B;IAgDzC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IActB,yFAAyF;IACzF,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,cAAc;IActB;;OAEG;YACW,kBAAkB;IA2BhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YAsOtB,gBAAgB;CAmFjC"}
|
|
@@ -1,46 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RemoveImport = void 0;
|
|
4
|
-
exports.maybeRemoveImport = maybeRemoveImport;
|
|
5
4
|
const visitor_1 = require("./visitor");
|
|
6
5
|
const java_1 = require("../java");
|
|
6
|
+
const scope_1 = require("./scope");
|
|
7
7
|
const tree_1 = require("./tree");
|
|
8
8
|
const util_1 = require("../util");
|
|
9
9
|
const java_2 = require("../java");
|
|
10
|
-
/**
|
|
11
|
-
* @param visitor The visitor to add the import removal to
|
|
12
|
-
* @param module The module name (e.g., 'fs', 'react') to remove imports from
|
|
13
|
-
* @param member Optionally, the specific member to remove from the import.
|
|
14
|
-
* If not specified, removes all unused imports from the module.
|
|
15
|
-
* Special values:
|
|
16
|
-
* - 'default': Removes the default import from the module if unused,
|
|
17
|
-
* regardless of its local name (e.g., `import React from 'react'`)
|
|
18
|
-
* - '*': Removes the namespace import if unused (e.g., `import * as fs from 'fs'`)
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* // Remove a specific named import if unused
|
|
22
|
-
* maybeRemoveImport(visitor, 'fs', 'readFile');
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* // Remove the default import from 'react' if unused (regardless of local name)
|
|
26
|
-
* maybeRemoveImport(visitor, 'react', 'default');
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* // Remove all unused imports from 'react' module
|
|
30
|
-
* maybeRemoveImport(visitor, 'react');
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* // Remove namespace import if unused
|
|
34
|
-
* maybeRemoveImport(visitor, 'fs', '*');
|
|
35
|
-
*/
|
|
36
|
-
function maybeRemoveImport(visitor, module, member) {
|
|
37
|
-
for (const v of visitor.afterVisit || []) {
|
|
38
|
-
if (v instanceof RemoveImport && v.module === module && v.member === member) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
visitor.afterVisit.push(new RemoveImport(module, member));
|
|
43
|
-
}
|
|
44
10
|
class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
45
11
|
/**
|
|
46
12
|
* @param module The module name (e.g., 'fs', 'react') to remove imports from
|
|
@@ -225,7 +191,7 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
225
191
|
}
|
|
226
192
|
else {
|
|
227
193
|
// Regular case: check if the import name matches the removal criteria
|
|
228
|
-
shouldRemove = this.shouldRemoveImport(name, usedIdentifiers, usedTypes);
|
|
194
|
+
shouldRemove = this.shouldRemoveImport(name, usedIdentifiers, usedTypes, name);
|
|
229
195
|
}
|
|
230
196
|
if (shouldRemove) {
|
|
231
197
|
// If there are no named imports, remove the entire import
|
|
@@ -275,7 +241,7 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
275
241
|
}
|
|
276
242
|
// Namespace is used, we can't remove individual members from it
|
|
277
243
|
}
|
|
278
|
-
else if (this.shouldRemoveImport(name, usedIdentifiers, usedTypes)) {
|
|
244
|
+
else if (this.shouldRemoveImport(name, usedIdentifiers, usedTypes, name)) {
|
|
279
245
|
// If there's no default import, remove the entire import
|
|
280
246
|
if (!importClause.name) {
|
|
281
247
|
return undefined;
|
|
@@ -306,7 +272,7 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
306
272
|
}
|
|
307
273
|
// Namespace is used, we can't remove individual members from it
|
|
308
274
|
}
|
|
309
|
-
else if (this.shouldRemoveImport(aliasName, usedIdentifiers, usedTypes)) {
|
|
275
|
+
else if (this.shouldRemoveImport(aliasName, usedIdentifiers, usedTypes, aliasName)) {
|
|
310
276
|
// If there's no default import, remove the entire import
|
|
311
277
|
if (!importClause.name) {
|
|
312
278
|
return undefined;
|
|
@@ -418,7 +384,7 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
418
384
|
}
|
|
419
385
|
else {
|
|
420
386
|
// We're removing based on the import name itself
|
|
421
|
-
return !this.shouldRemoveImport(importName, usedIdentifiers, usedTypes);
|
|
387
|
+
return !this.shouldRemoveImport(importName, usedIdentifiers, usedTypes, importName);
|
|
422
388
|
}
|
|
423
389
|
}
|
|
424
390
|
return true; // Keep non-ImportSpecifier elements
|
|
@@ -506,15 +472,10 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
506
472
|
}
|
|
507
473
|
async processObjectBindingPattern(pattern, usedIdentifiers, p) {
|
|
508
474
|
const { filtered, allRemoved } = await this.filterElementsWithPrefixPreservation(pattern.bindings.elements, (elem) => {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
else if (elem.kind === java_1.J.Kind.Identifier) {
|
|
514
|
-
const name = elem.simpleName;
|
|
515
|
-
return !this.shouldRemoveImport(name, usedIdentifiers, new Set());
|
|
516
|
-
}
|
|
517
|
-
return true; // Keep other element types
|
|
475
|
+
const bound = this.boundByPatternElement(elem);
|
|
476
|
+
// An element whose names cannot be read is left alone.
|
|
477
|
+
return bound.length === 0 ||
|
|
478
|
+
bound.some(b => !this.shouldRemoveImport(b.name, usedIdentifiers, new Set(), b.member));
|
|
518
479
|
}, async (elem, prefix) => {
|
|
519
480
|
if (elem.kind === java_1.J.Kind.Identifier) {
|
|
520
481
|
return this.produceJava(elem, p, async (draft) => {
|
|
@@ -569,18 +530,19 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
569
530
|
// No alias for regular imports
|
|
570
531
|
return undefined;
|
|
571
532
|
}
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
533
|
+
/** The names a pattern element binds, and for each the member of the module it reads. */
|
|
534
|
+
boundByPatternElement(elem) {
|
|
535
|
+
// Shorthand, so the name it binds is the member it reads.
|
|
536
|
+
return elem.kind === java_1.J.Kind.Identifier
|
|
537
|
+
? [{ name: elem.simpleName, member: elem.simpleName }]
|
|
538
|
+
: (0, scope_1.bindingNames)(elem);
|
|
578
539
|
}
|
|
579
|
-
shouldRemoveImport(name, usedIdentifiers, usedTypes) {
|
|
540
|
+
shouldRemoveImport(name, usedIdentifiers, usedTypes, member) {
|
|
580
541
|
// If member is specified, we're removing a specific member from the module
|
|
581
542
|
if (this.member !== undefined) {
|
|
582
|
-
//
|
|
583
|
-
|
|
543
|
+
// A name bound under an alias reads one member and is referenced by another, and a name
|
|
544
|
+
// a nested pattern binds reads a property of a property, so it reads no member at all.
|
|
545
|
+
if (this.member !== member) {
|
|
584
546
|
return false;
|
|
585
547
|
}
|
|
586
548
|
}
|