@openrewrite/rewrite 8.91.1 → 8.91.3

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 (160) hide show
  1. package/dist/execution.d.ts +8 -0
  2. package/dist/execution.d.ts.map +1 -1
  3. package/dist/execution.js +31 -0
  4. package/dist/execution.js.map +1 -1
  5. package/dist/javascript/add-import.d.ts +127 -38
  6. package/dist/javascript/add-import.d.ts.map +1 -1
  7. package/dist/javascript/add-import.js +684 -195
  8. package/dist/javascript/add-import.js.map +1 -1
  9. package/dist/javascript/amd.d.ts +148 -0
  10. package/dist/javascript/amd.d.ts.map +1 -0
  11. package/dist/javascript/amd.js +802 -0
  12. package/dist/javascript/amd.js.map +1 -0
  13. package/dist/javascript/binding.d.ts +102 -0
  14. package/dist/javascript/binding.d.ts.map +1 -0
  15. package/dist/javascript/binding.js +308 -0
  16. package/dist/javascript/binding.js.map +1 -0
  17. package/dist/javascript/comparator.d.ts +2 -0
  18. package/dist/javascript/comparator.d.ts.map +1 -1
  19. package/dist/javascript/comparator.js +5 -1
  20. package/dist/javascript/comparator.js.map +1 -1
  21. package/dist/javascript/format/format.d.ts +5 -2
  22. package/dist/javascript/format/format.d.ts.map +1 -1
  23. package/dist/javascript/format/format.js +51 -11
  24. package/dist/javascript/format/format.js.map +1 -1
  25. package/dist/javascript/format/minimum-viable-spacing-visitor.d.ts +19 -0
  26. package/dist/javascript/format/minimum-viable-spacing-visitor.d.ts.map +1 -1
  27. package/dist/javascript/format/minimum-viable-spacing-visitor.js +180 -7
  28. package/dist/javascript/format/minimum-viable-spacing-visitor.js.map +1 -1
  29. package/dist/javascript/format/prettier-format.d.ts +2 -1
  30. package/dist/javascript/format/prettier-format.d.ts.map +1 -1
  31. package/dist/javascript/format/prettier-format.js +33 -23
  32. package/dist/javascript/format/prettier-format.js.map +1 -1
  33. package/dist/javascript/index.d.ts +8 -1
  34. package/dist/javascript/index.d.ts.map +1 -1
  35. package/dist/javascript/index.js +46 -1
  36. package/dist/javascript/index.js.map +1 -1
  37. package/dist/javascript/parser-utils.d.ts.map +1 -1
  38. package/dist/javascript/parser-utils.js +7 -9
  39. package/dist/javascript/parser-utils.js.map +1 -1
  40. package/dist/javascript/parser.d.ts +7 -1
  41. package/dist/javascript/parser.d.ts.map +1 -1
  42. package/dist/javascript/parser.js +55 -4
  43. package/dist/javascript/parser.js.map +1 -1
  44. package/dist/javascript/print.d.ts +1 -0
  45. package/dist/javascript/print.d.ts.map +1 -1
  46. package/dist/javascript/print.js +9 -0
  47. package/dist/javascript/print.js.map +1 -1
  48. package/dist/javascript/recipes/change-import.d.ts +4 -3
  49. package/dist/javascript/recipes/change-import.d.ts.map +1 -1
  50. package/dist/javascript/recipes/change-import.js +12 -504
  51. package/dist/javascript/recipes/change-import.js.map +1 -1
  52. package/dist/javascript/remove-import.d.ts +2 -28
  53. package/dist/javascript/remove-import.d.ts.map +1 -1
  54. package/dist/javascript/remove-import.js +19 -57
  55. package/dist/javascript/remove-import.js.map +1 -1
  56. package/dist/javascript/rpc.js +2 -0
  57. package/dist/javascript/rpc.js.map +1 -1
  58. package/dist/javascript/scope.d.ts +82 -0
  59. package/dist/javascript/scope.d.ts.map +1 -0
  60. package/dist/javascript/scope.js +476 -0
  61. package/dist/javascript/scope.js.map +1 -0
  62. package/dist/javascript/templating/bindings.d.ts +0 -11
  63. package/dist/javascript/templating/bindings.d.ts.map +1 -1
  64. package/dist/javascript/templating/bindings.js +2 -49
  65. package/dist/javascript/templating/bindings.js.map +1 -1
  66. package/dist/javascript/templating/comparator.d.ts +12 -0
  67. package/dist/javascript/templating/comparator.d.ts.map +1 -1
  68. package/dist/javascript/templating/comparator.js +68 -14
  69. package/dist/javascript/templating/comparator.js.map +1 -1
  70. package/dist/javascript/templating/engine.d.ts +22 -4
  71. package/dist/javascript/templating/engine.d.ts.map +1 -1
  72. package/dist/javascript/templating/engine.js +68 -24
  73. package/dist/javascript/templating/engine.js.map +1 -1
  74. package/dist/javascript/templating/index.d.ts +1 -1
  75. package/dist/javascript/templating/index.d.ts.map +1 -1
  76. package/dist/javascript/templating/index.js.map +1 -1
  77. package/dist/javascript/templating/pattern.d.ts.map +1 -1
  78. package/dist/javascript/templating/pattern.js +2 -2
  79. package/dist/javascript/templating/pattern.js.map +1 -1
  80. package/dist/javascript/templating/placeholder-replacement.d.ts +2 -0
  81. package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
  82. package/dist/javascript/templating/placeholder-replacement.js +10 -5
  83. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  84. package/dist/javascript/templating/precedence.d.ts +12 -4
  85. package/dist/javascript/templating/precedence.d.ts.map +1 -1
  86. package/dist/javascript/templating/precedence.js +18 -11
  87. package/dist/javascript/templating/precedence.js.map +1 -1
  88. package/dist/javascript/templating/rewrite.d.ts.map +1 -1
  89. package/dist/javascript/templating/rewrite.js +7 -1
  90. package/dist/javascript/templating/rewrite.js.map +1 -1
  91. package/dist/javascript/templating/template.d.ts +7 -1
  92. package/dist/javascript/templating/template.d.ts.map +1 -1
  93. package/dist/javascript/templating/template.js +54 -28
  94. package/dist/javascript/templating/template.js.map +1 -1
  95. package/dist/javascript/templating/types.d.ts +15 -18
  96. package/dist/javascript/templating/types.d.ts.map +1 -1
  97. package/dist/javascript/templating/utils.d.ts +1 -1
  98. package/dist/javascript/templating/utils.d.ts.map +1 -1
  99. package/dist/javascript/templating/utils.js +3 -2
  100. package/dist/javascript/templating/utils.js.map +1 -1
  101. package/dist/javascript/tree.d.ts +1 -0
  102. package/dist/javascript/tree.d.ts.map +1 -1
  103. package/dist/javascript/tree.js.map +1 -1
  104. package/dist/javascript/type-mapping.d.ts.map +1 -1
  105. package/dist/javascript/type-mapping.js +14 -0
  106. package/dist/javascript/type-mapping.js.map +1 -1
  107. package/dist/javascript/visitor.d.ts.map +1 -1
  108. package/dist/javascript/visitor.js +1 -0
  109. package/dist/javascript/visitor.js.map +1 -1
  110. package/dist/parser.d.ts +6 -0
  111. package/dist/parser.d.ts.map +1 -1
  112. package/dist/parser.js +23 -1
  113. package/dist/parser.js.map +1 -1
  114. package/dist/print.d.ts.map +1 -1
  115. package/dist/print.js +5 -2
  116. package/dist/print.js.map +1 -1
  117. package/dist/rewrite-javascript-version.txt +1 -1
  118. package/dist/rpc/request/parse-project.d.ts +11 -1
  119. package/dist/rpc/request/parse-project.d.ts.map +1 -1
  120. package/dist/rpc/request/parse-project.js +7 -2
  121. package/dist/rpc/request/parse-project.js.map +1 -1
  122. package/dist/rpc/request/parse.d.ts +13 -1
  123. package/dist/rpc/request/parse.d.ts.map +1 -1
  124. package/dist/rpc/request/parse.js +8 -2
  125. package/dist/rpc/request/parse.js.map +1 -1
  126. package/package.json +2 -2
  127. package/src/execution.ts +23 -0
  128. package/src/javascript/add-import.ts +753 -238
  129. package/src/javascript/amd.ts +954 -0
  130. package/src/javascript/binding.ts +435 -0
  131. package/src/javascript/comparator.ts +6 -1
  132. package/src/javascript/format/format.ts +56 -12
  133. package/src/javascript/format/minimum-viable-spacing-visitor.ts +196 -7
  134. package/src/javascript/format/prettier-format.ts +35 -25
  135. package/src/javascript/index.ts +19 -1
  136. package/src/javascript/parser-utils.ts +7 -11
  137. package/src/javascript/parser.ts +78 -6
  138. package/src/javascript/print.ts +10 -0
  139. package/src/javascript/recipes/change-import.ts +13 -593
  140. package/src/javascript/remove-import.ts +20 -56
  141. package/src/javascript/rpc.ts +2 -0
  142. package/src/javascript/scope.ts +517 -0
  143. package/src/javascript/templating/bindings.ts +2 -55
  144. package/src/javascript/templating/comparator.ts +81 -16
  145. package/src/javascript/templating/engine.ts +107 -38
  146. package/src/javascript/templating/index.ts +0 -1
  147. package/src/javascript/templating/pattern.ts +4 -2
  148. package/src/javascript/templating/placeholder-replacement.ts +16 -6
  149. package/src/javascript/templating/precedence.ts +21 -13
  150. package/src/javascript/templating/rewrite.ts +9 -1
  151. package/src/javascript/templating/template.ts +68 -29
  152. package/src/javascript/templating/types.ts +17 -18
  153. package/src/javascript/templating/utils.ts +4 -2
  154. package/src/javascript/tree.ts +1 -0
  155. package/src/javascript/type-mapping.ts +15 -0
  156. package/src/javascript/visitor.ts +1 -0
  157. package/src/parser.ts +24 -1
  158. package/src/print.ts +5 -2
  159. package/src/rpc/request/parse-project.ts +6 -2
  160. package/src/rpc/request/parse.ts +7 -2
@@ -24,9 +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 add_import_1 = require("../add-import");
28
- const java_1 = require("../../java");
29
- const mutative_1 = require("mutative");
27
+ const binding_1 = require("../binding");
30
28
  /**
31
29
  * Changes an import from one module to another, updating all type attributions.
32
30
  *
@@ -46,15 +44,16 @@ const mutative_1 = require("mutative");
46
44
  * // After: import { act } from 'react';
47
45
  *
48
46
  * @example
49
- * // Change a named import to a different name
47
+ * // Rename a member, carrying the references that resolve to it
50
48
  * const recipe = new ChangeImport({
51
49
  * oldModule: "lodash",
52
50
  * oldMember: "extend",
53
51
  * newModule: "lodash",
54
52
  * newMember: "assign"
55
53
  * });
56
- * // Before: import { extend } from 'lodash';
57
- * // After: import { assign } from 'lodash';
54
+ * // Before: import { extend } from 'lodash'; extend({}, {});
55
+ * // After: import { assign } from 'lodash'; assign({}, {});
56
+ * // Adding `newAlias: "extend"` instead binds it as `import { assign as extend }`.
58
57
  */
59
58
  class ChangeImport extends recipe_1.Recipe {
60
59
  constructor(options) {
@@ -70,506 +69,13 @@ class ChangeImport extends recipe_1.Recipe {
70
69
  const newModule = this.newModule;
71
70
  const newMember = (_a = this.newMember) !== null && _a !== void 0 ? _a : oldMember;
72
71
  const newAlias = this.newAlias;
73
- // Build the old and new FQNs for type attribution updates
74
- const oldFqn = oldMember === 'default' || oldMember === '*'
75
- ? oldModule
76
- : `${oldModule}.${oldMember}`;
77
- const newFqn = newMember === 'default' || newMember === '*'
78
- ? newModule
79
- : `${newModule}.${newMember}`;
80
72
  return new class extends index_1.JavaScriptVisitor {
81
- constructor() {
82
- super(...arguments);
83
- this.hasOldImport = false;
84
- this.transformedImport = false;
85
- }
86
73
  async visitJsCompilationUnit(cu, ctx) {
87
- var _a;
88
- // Reset tracking for each file
89
- this.hasOldImport = false;
90
- this.oldAlias = undefined;
91
- this.transformedImport = false;
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;
74
+ (0, binding_1.maybeRebind)(this, {
75
+ from: { module: oldModule, member: oldMember },
76
+ to: { module: newModule, member: newMember, alias: newAlias }
224
77
  });
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;
250
- }
251
- async visitIdentifier(identifier, ctx) {
252
- let ident = await super.visitIdentifier(identifier, ctx);
253
- if (!this.hasOldImport) {
254
- return ident;
255
- }
256
- // Check and update type attribution
257
- let changed = false;
258
- // Update type if it references the old module
259
- const updatedType = this.updateType(ident.type);
260
- if (updatedType !== ident.type) {
261
- changed = true;
262
- }
263
- // Update fieldType if it references the old module
264
- // fieldType is specifically Type.Variable, so we need to handle it specially
265
- let updatedFieldType = ident.fieldType;
266
- if (ident.fieldType) {
267
- const updated = this.updateVariableType(ident.fieldType);
268
- if (updated !== ident.fieldType) {
269
- updatedFieldType = updated;
270
- changed = true;
271
- }
272
- }
273
- if (changed) {
274
- return (0, mutative_1.create)(ident, draft => {
275
- if (updatedType !== ident.type) {
276
- draft.type = updatedType;
277
- }
278
- if (updatedFieldType !== ident.fieldType) {
279
- draft.fieldType = updatedFieldType;
280
- }
281
- });
282
- }
283
- return ident;
284
- }
285
- async visitMethodInvocation(method, ctx) {
286
- let m = await super.visitMethodInvocation(method, ctx);
287
- if (!this.hasOldImport) {
288
- return m;
289
- }
290
- // Update methodType if it references the old module
291
- const updatedMethodType = this.updateMethodType(m.methodType);
292
- if (updatedMethodType !== m.methodType) {
293
- return (0, mutative_1.create)(m, draft => {
294
- draft.methodType = updatedMethodType;
295
- });
296
- }
297
- return m;
298
- }
299
- async visitFieldAccess(fieldAccess, ctx) {
300
- let fa = await super.visitFieldAccess(fieldAccess, ctx);
301
- if (!this.hasOldImport) {
302
- return fa;
303
- }
304
- // Update type if it references the old module
305
- const updatedType = this.updateType(fa.type);
306
- if (updatedType !== fa.type) {
307
- return (0, mutative_1.create)(fa, draft => {
308
- draft.type = updatedType;
309
- });
310
- }
311
- return fa;
312
- }
313
- async visitFunctionCall(functionCall, ctx) {
314
- let fc = await super.visitFunctionCall(functionCall, ctx);
315
- if (!this.hasOldImport) {
316
- return fc;
317
- }
318
- // Update methodType if it references the old module
319
- const updatedMethodType = this.updateMethodType(fc.methodType);
320
- if (updatedMethodType !== fc.methodType) {
321
- return (0, mutative_1.create)(fc, draft => {
322
- draft.methodType = updatedMethodType;
323
- });
324
- }
325
- return fc;
326
- }
327
- async visitNewClass(newClass, ctx) {
328
- let nc = await super.visitNewClass(newClass, ctx);
329
- if (!this.hasOldImport) {
330
- return nc;
331
- }
332
- let changed = false;
333
- // Update methodType if it references the old module
334
- const updatedMethodType = this.updateMethodType(nc.methodType);
335
- if (updatedMethodType !== nc.methodType) {
336
- changed = true;
337
- }
338
- // Update constructorType if it references the old module
339
- const updatedConstructorType = this.updateMethodType(nc.constructorType);
340
- if (updatedConstructorType !== nc.constructorType) {
341
- changed = true;
342
- }
343
- // Update type if it references the old module
344
- const updatedType = this.updateType(nc.type);
345
- if (updatedType !== nc.type) {
346
- changed = true;
347
- }
348
- if (changed) {
349
- return (0, mutative_1.create)(nc, draft => {
350
- if (updatedMethodType !== nc.methodType) {
351
- draft.methodType = updatedMethodType;
352
- }
353
- if (updatedConstructorType !== nc.constructorType) {
354
- draft.constructorType = updatedConstructorType;
355
- }
356
- if (updatedType !== nc.type) {
357
- draft.type = updatedType;
358
- }
359
- });
360
- }
361
- return nc;
362
- }
363
- /**
364
- * Update a type if it references the old module
365
- */
366
- updateType(type) {
367
- if (!type)
368
- return type;
369
- switch (type.kind) {
370
- case java_1.Type.Kind.Class:
371
- case java_1.Type.Kind.ShallowClass:
372
- return this.updateClassType(type);
373
- case java_1.Type.Kind.Method:
374
- return this.updateMethodType(type);
375
- case java_1.Type.Kind.Variable:
376
- return this.updateVariableType(type);
377
- case java_1.Type.Kind.Parameterized:
378
- return this.updateParameterizedType(type);
379
- case java_1.Type.Kind.Array:
380
- return this.updateArrayType(type);
381
- default:
382
- return type;
383
- }
384
- }
385
- /**
386
- * Update a Class type if its FQN references the old module
387
- */
388
- updateClassType(classType) {
389
- let changed = false;
390
- let newFullyQualifiedName = classType.fullyQualifiedName;
391
- let newOwningClass = classType.owningClass;
392
- // Check if the FQN matches or starts with the old module
393
- if (classType.fullyQualifiedName === oldFqn) {
394
- newFullyQualifiedName = newFqn;
395
- changed = true;
396
- }
397
- else if (classType.fullyQualifiedName === oldModule) {
398
- newFullyQualifiedName = newModule;
399
- changed = true;
400
- }
401
- else if (classType.fullyQualifiedName.startsWith(oldModule + '.')) {
402
- newFullyQualifiedName = newModule + classType.fullyQualifiedName.substring(oldModule.length);
403
- changed = true;
404
- }
405
- // Recursively update owningClass
406
- if (classType.owningClass) {
407
- const updatedOwningClass = this.updateClassType(classType.owningClass);
408
- if (updatedOwningClass !== classType.owningClass) {
409
- newOwningClass = updatedOwningClass;
410
- changed = true;
411
- }
412
- }
413
- if (changed) {
414
- // Type objects are marked as non-draftable, so we manually create new objects
415
- return Object.assign(Object.assign({}, classType), { fullyQualifiedName: newFullyQualifiedName, owningClass: newOwningClass });
416
- }
417
- return classType;
418
- }
419
- /**
420
- * Update a Method type if its declaringType references the old module
421
- */
422
- updateMethodType(methodType) {
423
- if (!methodType)
424
- return methodType;
425
- // Update the declaring type
426
- if (java_1.Type.isFullyQualified(methodType.declaringType)) {
427
- const declaringTypeFqn = java_1.Type.FullyQualified.getFullyQualifiedName(methodType.declaringType);
428
- if (declaringTypeFqn === oldModule ||
429
- declaringTypeFqn === oldFqn ||
430
- declaringTypeFqn.startsWith(oldModule + '.')) {
431
- // Need to update the declaring type
432
- const updatedDeclaringType = this.updateType(methodType.declaringType);
433
- // Also update the method name if we're renaming the member
434
- const updatedName = (oldMember !== 'default' && oldMember !== '*' &&
435
- methodType.name === oldMember && newMember !== oldMember)
436
- ? newMember
437
- : methodType.name;
438
- // Type objects are marked as non-draftable, so we manually create new objects
439
- return Object.assign(Object.assign({}, methodType), { declaringType: updatedDeclaringType, name: updatedName });
440
- }
441
- }
442
- return methodType;
443
- }
444
- /**
445
- * Update a Variable type if its owner references the old module
446
- */
447
- updateVariableType(variableType) {
448
- let changed = false;
449
- let newOwner = variableType.owner;
450
- let newInnerType = variableType.type;
451
- // Update owner if it references the old module
452
- if (variableType.owner) {
453
- const updatedOwner = this.updateType(variableType.owner);
454
- if (updatedOwner !== variableType.owner) {
455
- newOwner = updatedOwner;
456
- changed = true;
457
- }
458
- }
459
- // Update inner type if it references the old module
460
- const updatedInnerType = this.updateType(variableType.type);
461
- if (updatedInnerType !== variableType.type) {
462
- newInnerType = updatedInnerType;
463
- changed = true;
464
- }
465
- if (changed) {
466
- // Type objects are marked as non-draftable, so we manually create new objects
467
- return Object.assign(Object.assign({}, variableType), { owner: newOwner, type: newInnerType });
468
- }
469
- return variableType;
470
- }
471
- /**
472
- * Update a Parameterized type if its base type references the old module
473
- */
474
- updateParameterizedType(paramType) {
475
- let changed = false;
476
- let newBaseType = paramType.type;
477
- let newTypeParams = paramType.typeParameters;
478
- // Update base type
479
- if (java_1.Type.isFullyQualified(paramType.type)) {
480
- const updatedType = this.updateType(paramType.type);
481
- if (updatedType !== paramType.type) {
482
- newBaseType = updatedType;
483
- changed = true;
484
- }
485
- }
486
- // Update type parameters
487
- const updatedParams = paramType.typeParameters.map(tp => this.updateType(tp));
488
- if (updatedParams.some((p, i) => p !== paramType.typeParameters[i])) {
489
- newTypeParams = updatedParams;
490
- changed = true;
491
- }
492
- if (changed) {
493
- // Type objects are marked as non-draftable, so we manually create new objects
494
- return Object.assign(Object.assign({}, paramType), { type: newBaseType, typeParameters: newTypeParams });
495
- }
496
- return paramType;
497
- }
498
- /**
499
- * Update an Array type if its element type references the old module
500
- */
501
- updateArrayType(arrayType) {
502
- const updatedElemType = this.updateType(arrayType.elemType);
503
- if (updatedElemType !== arrayType.elemType) {
504
- // Type objects are marked as non-draftable, so we manually create new objects
505
- return Object.assign(Object.assign({}, arrayType), { elemType: updatedElemType });
506
- }
507
- return arrayType;
508
- }
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 };
78
+ return super.visitJsCompilationUnit(cu, ctx);
573
79
  }
574
80
  }();
575
81
  }
@@ -607,7 +113,9 @@ __decorate([
607
113
  __decorate([
608
114
  (0, recipe_1.Option)({
609
115
  displayName: "New alias",
610
- description: "Optional alias for the new import. Required when newMember is 'default' or '*'.",
116
+ description: "The local name to bind the new member under. Defaults to the alias the import " +
117
+ "already had, or to the new member name where it had none.",
118
+ example: "act",
611
119
  required: false
612
120
  })
613
121
  ], ChangeImport.prototype, "newAlias", void 0);
@@ -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":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;AAEH,yCAA8C;AAG9C,oCAAiD;AACjD,wCAAyC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,YAAa,SAAQ,eAAM;IA2CpC,YAAY,OAMX;QACG,KAAK,CAAC,OAAO,CAAC,CAAC;QAjDV,SAAI,GAAG,0CAA0C,CAAC;QAClD,gBAAW,GAAG,eAAe,CAAC;QAC9B,gBAAW,GAAG,sFAAsF,CAAC;IAgD9G,CAAC;IAED,KAAK,CAAC,MAAM;;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,SAAS,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,OAAO,IAAI,KAAM,SAAQ,yBAAmC;YAC/C,KAAK,CAAC,sBAAsB,CAAC,EAAsB,EAAE,GAAqB;gBAC/E,IAAA,qBAAW,EAAC,IAAI,EAAE;oBACd,IAAI,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAC;oBAC5C,EAAE,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAC;iBAC9D,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;SACJ,EAAE,CAAC;IACR,CAAC;CACJ;AAtED,oCAsEC;AA5DG;IALC,IAAA,eAAM,EAAC;QACJ,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,sBAAsB;KAClC,CAAC;+CACiB;AAOnB;IALC,IAAA,eAAM,EAAC;QACJ,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,oFAAoF;QACjG,OAAO,EAAE,KAAK;KACjB,CAAC;+CACiB;AAOnB;IALC,IAAA,eAAM,EAAC;QACJ,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,OAAO;KACnB,CAAC;+CACiB;AAQnB;IANC,IAAA,eAAM,EAAC;QACJ,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,oEAAoE;QACjF,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;KAClB,CAAC;+CACiB;AASnB;IAPC,IAAA,eAAM,EAAC;QACJ,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,gFAAgF;YACzF,2DAA2D;QAC/D,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;KAClB,CAAC;8CACgB"}
@@ -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
- private getBindingElementName;
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;AAC1B,OAAO,EAAC,EAAE,EAAM,MAAM,QAAQ,CAAC;AAI/B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,QAOjG;AAUD,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;IAoDzC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,cAAc;IActB;;OAEG;YACW,kBAAkB;IA2BhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YAsOtB,gBAAgB;CAmFjC"}
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"}