@openrewrite/rewrite 8.65.0-20251024-125815 → 8.65.0-20251024-144230

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.
@@ -31,6 +31,23 @@ export declare class RemoveImport<P> extends JavaScriptVisitor<P> {
31
31
  private updateImportClause;
32
32
  visitJsCompilationUnit(compilationUnit: JS.CompilationUnit, p: P): Promise<J | undefined>;
33
33
  private processImport;
34
+ /**
35
+ * Process TypeScript import-equals-require syntax: import util = require("util");
36
+ * This is represented as a JS.Import with an initializer containing the require() call.
37
+ */
38
+ private processImportEqualsRequire;
39
+ /**
40
+ * Check if a node is a require() method invocation
41
+ */
42
+ private isRequireCall;
43
+ /**
44
+ * Check if the module name matches the target module
45
+ */
46
+ private matchesTargetModule;
47
+ /**
48
+ * Check if an identifier should be removed based on usage
49
+ */
50
+ private shouldRemoveIdentifier;
34
51
  private processNamedImports;
35
52
  private processRequireFromVarDecls;
36
53
  /**
@@ -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,EAAC,MAAM,QAAQ,CAAC;AAI1B;;;;;;GAMG;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;IAOzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAPpC;;;;;OAKG;gBACkB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA;IAIpC;;;;OAIG;YACW,oCAAoC;IAqClD;;OAEG;YACW,kBAAkB;IAejB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YAqH1F,aAAa;YAqIb,mBAAmB;YA+DnB,0BAA0B;IAsExC;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAclB,2BAA2B;IAoDzC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,cAAc;IAmBtB;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YAkLtB,gBAAgB;CAmCjC"}
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,EAAC,MAAM,QAAQ,CAAC;AAI1B;;;;;;GAMG;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;IAOzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAPpC;;;;;OAKG;gBACkB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA;IAIpC;;;;OAIG;YACW,oCAAoC;IAqClD;;OAEG;YACW,kBAAkB;IAejB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YAqH1F,aAAa;IA0I3B;;;OAGG;YACW,0BAA0B;IAmCxC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAYhB,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;IAsB1B,OAAO,CAAC,cAAc;IAmBtB;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YA8LtB,gBAAgB;CAqDjC"}
@@ -204,6 +204,10 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
204
204
  }
205
205
  processImport(jsImport, usedIdentifiers, usedTypes, p) {
206
206
  return __awaiter(this, void 0, void 0, function* () {
207
+ // Handle import-equals-require syntax: import util = require("util");
208
+ if (jsImport.initializer) {
209
+ return this.processImportEqualsRequire(jsImport, usedIdentifiers, usedTypes, p);
210
+ }
207
211
  // Check if this import is from the target module
208
212
  if (!this.isTargetModule(jsImport)) {
209
213
  return jsImport;
@@ -325,6 +329,70 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
325
329
  return jsImport;
326
330
  });
327
331
  }
332
+ /**
333
+ * Process TypeScript import-equals-require syntax: import util = require("util");
334
+ * This is represented as a JS.Import with an initializer containing the require() call.
335
+ */
336
+ processImportEqualsRequire(jsImport, usedIdentifiers, usedTypes, p) {
337
+ return __awaiter(this, void 0, void 0, function* () {
338
+ var _a;
339
+ const initializer = (_a = jsImport.initializer) === null || _a === void 0 ? void 0 : _a.element;
340
+ if (!initializer || !this.isRequireCall(initializer)) {
341
+ return jsImport;
342
+ }
343
+ const methodInv = initializer;
344
+ const moduleName = this.getModuleNameFromRequire(methodInv);
345
+ if (!moduleName || !this.matchesTargetModule(moduleName)) {
346
+ return jsImport;
347
+ }
348
+ // Get the import name from the importClause
349
+ const importClause = jsImport.importClause;
350
+ if (!importClause || !importClause.name) {
351
+ // No name, this is unusual for import-equals-require
352
+ return jsImport;
353
+ }
354
+ const importedName = importClause.name.element.simpleName;
355
+ // For import-equals-require, we can only remove the entire import since
356
+ // it imports the whole module as a single identifier
357
+ if (this.shouldRemoveIdentifier(importedName, usedIdentifiers, usedTypes)) {
358
+ return undefined;
359
+ }
360
+ return jsImport;
361
+ });
362
+ }
363
+ /**
364
+ * Check if a node is a require() method invocation
365
+ */
366
+ isRequireCall(node) {
367
+ var _a;
368
+ if (node.kind !== java_1.J.Kind.MethodInvocation) {
369
+ return false;
370
+ }
371
+ const methodInv = node;
372
+ return ((_a = methodInv.name) === null || _a === void 0 ? void 0 : _a.kind) === java_1.J.Kind.Identifier &&
373
+ methodInv.name.simpleName === 'require';
374
+ }
375
+ /**
376
+ * Check if the module name matches the target module
377
+ */
378
+ matchesTargetModule(moduleName) {
379
+ return this.member === undefined ? moduleName === this.target : moduleName === this.target;
380
+ }
381
+ /**
382
+ * Check if an identifier should be removed based on usage
383
+ */
384
+ shouldRemoveIdentifier(name, usedIdentifiers, usedTypes) {
385
+ // If member is specified, we're removing a specific member
386
+ if (this.member !== undefined) {
387
+ // Only remove if the identifier is not used
388
+ return !usedIdentifiers.has(name) && !usedTypes.has(name);
389
+ }
390
+ else {
391
+ // We're removing based on the target name
392
+ // Check if the name matches and is not used
393
+ return this.target === name && !usedIdentifiers.has(name) && !usedTypes.has(name);
394
+ }
395
+ }
328
396
  processNamedImports(namedImports, usedIdentifiers, usedTypes, p) {
329
397
  return __awaiter(this, void 0, void 0, function* () {
330
398
  const { filtered, allRemoved } = yield this.filterElementsWithPrefixPreservation(namedImports.elements.elements, (elem) => {
@@ -372,7 +440,7 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
372
440
  }
373
441
  processRequireFromVarDecls(varDecls, usedIdentifiers, p) {
374
442
  return __awaiter(this, void 0, void 0, function* () {
375
- var _a, _b;
443
+ var _a;
376
444
  // Check if this is a require() call
377
445
  if (varDecls.variables.length !== 1) {
378
446
  return varDecls;
@@ -382,13 +450,10 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
382
450
  return varDecls;
383
451
  }
384
452
  const initializer = (_a = namedVar.initializer) === null || _a === void 0 ? void 0 : _a.element;
385
- if (!initializer || initializer.kind !== java_1.J.Kind.MethodInvocation) {
453
+ if (!initializer || !this.isRequireCall(initializer)) {
386
454
  return varDecls;
387
455
  }
388
456
  const methodInv = initializer;
389
- if (((_b = methodInv.name) === null || _b === void 0 ? void 0 : _b.kind) !== java_1.J.Kind.Identifier || methodInv.name.simpleName !== 'require') {
390
- return varDecls;
391
- }
392
457
  // This is a require() statement
393
458
  const pattern = namedVar.name;
394
459
  if (!pattern) {
@@ -399,12 +464,8 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
399
464
  const varName = pattern.simpleName;
400
465
  // For require() statements, check the module name from the require call
401
466
  const moduleName = this.getModuleNameFromRequire(methodInv);
402
- if (moduleName) {
403
- const matchesTarget = this.member === undefined ? moduleName === this.target :
404
- moduleName === this.target;
405
- if (matchesTarget && !usedIdentifiers.has(varName)) {
406
- return undefined; // Remove the entire require statement
407
- }
467
+ if (moduleName && this.matchesTargetModule(moduleName) && !usedIdentifiers.has(varName)) {
468
+ return undefined; // Remove the entire require statement
408
469
  }
409
470
  }
410
471
  // Handle: const { readFile } = require('fs')
@@ -739,6 +800,20 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
739
800
  yield this.collectUsedIdentifiers(method.body, usedIdentifiers, usedTypes);
740
801
  }
741
802
  }
803
+ else if (node.kind === tree_1.JS.Kind.TypeOf) {
804
+ // Handle typeof expressions like: typeof util
805
+ const typeOf = node;
806
+ if (typeOf.expression) {
807
+ yield this.collectUsedIdentifiers(typeOf.expression, usedIdentifiers, usedTypes);
808
+ }
809
+ }
810
+ else if (node.kind === tree_1.JS.Kind.TypeQuery) {
811
+ // Handle typeof type queries like: const x: typeof util
812
+ const typeQuery = node;
813
+ if (typeQuery.typeExpression) {
814
+ yield this.collectUsedIdentifiers(typeQuery.typeExpression, usedIdentifiers, usedTypes);
815
+ }
816
+ }
742
817
  else if (node.typeExpression) {
743
818
  // Handle nodes with type expressions (parameters, variables, etc.)
744
819
  yield this.checkTypeExpression(node, usedTypes);
@@ -811,6 +886,27 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
811
886
  }
812
887
  }
813
888
  }
889
+ else if (typeExpr.kind === tree_1.JS.Kind.TypeQuery) {
890
+ // Handle typeof type queries like: const x: typeof util
891
+ const typeQuery = typeExpr;
892
+ if (typeQuery.typeExpression) {
893
+ yield this.collectTypeUsage(typeQuery.typeExpression, usedTypes);
894
+ }
895
+ }
896
+ else if (typeExpr.kind === tree_1.JS.Kind.TypeOf) {
897
+ // Handle typeof expressions in types
898
+ const typeOf = typeExpr;
899
+ if (typeOf.expression) {
900
+ // For typeof expressions, the expression contains the identifier
901
+ // Add it to usedTypes since it's used in a type context
902
+ if (typeOf.expression.kind === java_1.J.Kind.Identifier) {
903
+ usedTypes.add(typeOf.expression.simpleName);
904
+ }
905
+ else {
906
+ yield this.collectTypeUsage(typeOf.expression, usedTypes);
907
+ }
908
+ }
909
+ }
814
910
  else if (typeExpr.kind === tree_1.JS.Kind.TypeTreeExpression) {
815
911
  // Handle TypeTreeExpression which wraps type identifiers
816
912
  const typeTree = typeExpr;
@@ -1 +1 @@
1
- {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"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"}
package/dist/version.txt CHANGED
@@ -1 +1 @@
1
- 8.65.0-20251024-125411
1
+ 8.65.0-20251024-143818
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.65.0-20251024-125815",
3
+ "version": "8.65.0-20251024-144230",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "homepage": "https://github.com/openrewrite/rewrite",
@@ -223,6 +223,11 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
223
223
  usedTypes: Set<string>,
224
224
  p: P
225
225
  ): Promise<JS.Import | undefined> {
226
+ // Handle import-equals-require syntax: import util = require("util");
227
+ if (jsImport.initializer) {
228
+ return this.processImportEqualsRequire(jsImport, usedIdentifiers, usedTypes, p);
229
+ }
230
+
226
231
  // Check if this import is from the target module
227
232
  if (!this.isTargetModule(jsImport)) {
228
233
  return jsImport;
@@ -350,6 +355,79 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
350
355
  return jsImport;
351
356
  }
352
357
 
358
+ /**
359
+ * Process TypeScript import-equals-require syntax: import util = require("util");
360
+ * This is represented as a JS.Import with an initializer containing the require() call.
361
+ */
362
+ private async processImportEqualsRequire(
363
+ jsImport: JS.Import,
364
+ usedIdentifiers: Set<string>,
365
+ usedTypes: Set<string>,
366
+ p: P
367
+ ): Promise<JS.Import | undefined> {
368
+ const initializer = jsImport.initializer?.element;
369
+ if (!initializer || !this.isRequireCall(initializer)) {
370
+ return jsImport;
371
+ }
372
+
373
+ const methodInv = initializer as J.MethodInvocation;
374
+ const moduleName = this.getModuleNameFromRequire(methodInv);
375
+ if (!moduleName || !this.matchesTargetModule(moduleName)) {
376
+ return jsImport;
377
+ }
378
+
379
+ // Get the import name from the importClause
380
+ const importClause = jsImport.importClause;
381
+ if (!importClause || !importClause.name) {
382
+ // No name, this is unusual for import-equals-require
383
+ return jsImport;
384
+ }
385
+
386
+ const importedName = (importClause.name.element as J.Identifier).simpleName;
387
+
388
+ // For import-equals-require, we can only remove the entire import since
389
+ // it imports the whole module as a single identifier
390
+ if (this.shouldRemoveIdentifier(importedName, usedIdentifiers, usedTypes)) {
391
+ return undefined;
392
+ }
393
+
394
+ return jsImport;
395
+ }
396
+
397
+ /**
398
+ * Check if a node is a require() method invocation
399
+ */
400
+ private isRequireCall(node: J): boolean {
401
+ if (node.kind !== J.Kind.MethodInvocation) {
402
+ return false;
403
+ }
404
+ const methodInv = node as J.MethodInvocation;
405
+ return methodInv.name?.kind === J.Kind.Identifier &&
406
+ (methodInv.name as J.Identifier).simpleName === 'require';
407
+ }
408
+
409
+ /**
410
+ * Check if the module name matches the target module
411
+ */
412
+ private matchesTargetModule(moduleName: string): boolean {
413
+ return this.member === undefined ? moduleName === this.target : moduleName === this.target;
414
+ }
415
+
416
+ /**
417
+ * Check if an identifier should be removed based on usage
418
+ */
419
+ private shouldRemoveIdentifier(name: string, usedIdentifiers: Set<string>, usedTypes: Set<string>): boolean {
420
+ // If member is specified, we're removing a specific member
421
+ if (this.member !== undefined) {
422
+ // Only remove if the identifier is not used
423
+ return !usedIdentifiers.has(name) && !usedTypes.has(name);
424
+ } else {
425
+ // We're removing based on the target name
426
+ // Check if the name matches and is not used
427
+ return this.target === name && !usedIdentifiers.has(name) && !usedTypes.has(name);
428
+ }
429
+ }
430
+
353
431
  private async processNamedImports(
354
432
  namedImports: JS.NamedImports,
355
433
  usedIdentifiers: Set<string>,
@@ -429,14 +507,11 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
429
507
  }
430
508
 
431
509
  const initializer = namedVar.initializer?.element;
432
- if (!initializer || initializer.kind !== J.Kind.MethodInvocation) {
510
+ if (!initializer || !this.isRequireCall(initializer)) {
433
511
  return varDecls;
434
512
  }
435
513
 
436
514
  const methodInv = initializer as J.MethodInvocation;
437
- if (methodInv.name?.kind !== J.Kind.Identifier || (methodInv.name as J.Identifier).simpleName !== 'require') {
438
- return varDecls;
439
- }
440
515
 
441
516
  // This is a require() statement
442
517
  const pattern = namedVar.name;
@@ -450,13 +525,8 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
450
525
 
451
526
  // For require() statements, check the module name from the require call
452
527
  const moduleName = this.getModuleNameFromRequire(methodInv);
453
- if (moduleName) {
454
- const matchesTarget = this.member === undefined ? moduleName === this.target :
455
- moduleName === this.target;
456
-
457
- if (matchesTarget && !usedIdentifiers.has(varName)) {
458
- return undefined; // Remove the entire require statement
459
- }
528
+ if (moduleName && this.matchesTargetModule(moduleName) && !usedIdentifiers.has(varName)) {
529
+ return undefined; // Remove the entire require statement
460
530
  }
461
531
  }
462
532
 
@@ -820,6 +890,18 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
820
890
  if (method.body) {
821
891
  await this.collectUsedIdentifiers(method.body, usedIdentifiers, usedTypes);
822
892
  }
893
+ } else if (node.kind === JS.Kind.TypeOf) {
894
+ // Handle typeof expressions like: typeof util
895
+ const typeOf = node as JS.TypeOf;
896
+ if (typeOf.expression) {
897
+ await this.collectUsedIdentifiers(typeOf.expression, usedIdentifiers, usedTypes);
898
+ }
899
+ } else if (node.kind === JS.Kind.TypeQuery) {
900
+ // Handle typeof type queries like: const x: typeof util
901
+ const typeQuery = node as JS.TypeQuery;
902
+ if (typeQuery.typeExpression) {
903
+ await this.collectUsedIdentifiers(typeQuery.typeExpression, usedIdentifiers, usedTypes);
904
+ }
823
905
  } else if ((node as any).typeExpression) {
824
906
  // Handle nodes with type expressions (parameters, variables, etc.)
825
907
  await this.checkTypeExpression(node, usedTypes);
@@ -884,6 +966,24 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
884
966
  }
885
967
  }
886
968
  }
969
+ } else if (typeExpr.kind === JS.Kind.TypeQuery) {
970
+ // Handle typeof type queries like: const x: typeof util
971
+ const typeQuery = typeExpr as JS.TypeQuery;
972
+ if (typeQuery.typeExpression) {
973
+ await this.collectTypeUsage(typeQuery.typeExpression, usedTypes);
974
+ }
975
+ } else if (typeExpr.kind === JS.Kind.TypeOf) {
976
+ // Handle typeof expressions in types
977
+ const typeOf = typeExpr as JS.TypeOf;
978
+ if (typeOf.expression) {
979
+ // For typeof expressions, the expression contains the identifier
980
+ // Add it to usedTypes since it's used in a type context
981
+ if (typeOf.expression.kind === J.Kind.Identifier) {
982
+ usedTypes.add((typeOf.expression as J.Identifier).simpleName);
983
+ } else {
984
+ await this.collectTypeUsage(typeOf.expression, usedTypes);
985
+ }
986
+ }
887
987
  } else if (typeExpr.kind === JS.Kind.TypeTreeExpression) {
888
988
  // Handle TypeTreeExpression which wraps type identifiers
889
989
  const typeTree = typeExpr as JS.TypeTreeExpression;