@openrewrite/rewrite 8.92.14 → 8.92.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"add-import.d.ts","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-import.d.ts","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"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"}
@@ -375,13 +375,33 @@ function quoteOf(expression) {
375
375
  ? quote
376
376
  : undefined;
377
377
  }
378
+ /**
379
+ * The value a Prettier configuration on `cu` gives `option`, or Prettier's own `fallback` where the
380
+ * configuration does not name it; `undefined` without a configuration in force. A configuration
381
+ * outranks the file's own evidence, since running Prettier would arrive at its answer anyway.
382
+ */
383
+ function prettierOption(cu, option, fallback) {
384
+ const prettier = (0, prettier_format_1.getPrettierStyle)(cu);
385
+ if (!prettier || prettier.ignored) {
386
+ return undefined;
387
+ }
388
+ const value = prettier.config[option];
389
+ return typeof value === typeof fallback ? value : fallback;
390
+ }
378
391
  /**
379
392
  * Pick the quote character for a module specifier being added to `cu`, so that it agrees
380
- * with the file it lands in. An existing specifier is the most direct precedent; a Prettier
381
- * config states intent even where the file itself has not been formatted to match.
393
+ * with the file it lands in. A Prettier configuration settles it; short of one, the caller's
394
+ * `requested` quote, then an existing specifier as the most direct precedent.
382
395
  */
383
- async function detectQuote(cu) {
396
+ async function detectQuote(cu, requested) {
384
397
  var _a, _b;
398
+ const singleQuote = prettierOption(cu, 'singleQuote', false);
399
+ if (singleQuote !== undefined) {
400
+ return singleQuote ? "'" : '"';
401
+ }
402
+ if (requested) {
403
+ return requested;
404
+ }
385
405
  // Static imports are top-level, so the highest-ranked signal needs no traversal to find.
386
406
  for (const statement of cu.statements) {
387
407
  const element = statement.element;
@@ -438,23 +458,83 @@ async function detectQuote(cu) {
438
458
  if (specifierQuote) {
439
459
  return specifierQuote;
440
460
  }
441
- const prettier = (0, prettier_format_1.getPrettierStyle)(cu);
442
- if (prettier && !prettier.ignored) {
443
- const singleQuote = prettier.config.singleQuote;
444
- if (typeof singleQuote === 'boolean') {
445
- return singleQuote ? "'" : '"';
461
+ return double > single ? '"' : "'";
462
+ }
463
+ /** Top-level statements that end in `;` in a file that uses semicolons at all. */
464
+ const semicolonTerminated = new Set([
465
+ tree_1.JS.Kind.Import, tree_1.JS.Kind.ExportDeclaration, tree_1.JS.Kind.ExportAssignment, tree_1.JS.Kind.TypeDeclaration,
466
+ tree_1.JS.Kind.ExpressionStatement, java_1.J.Kind.VariableDeclarations, java_1.J.Kind.MethodInvocation, java_1.J.Kind.Assignment
467
+ ]);
468
+ /**
469
+ * Whether an import statement added to `cu` should end in `;`. A Prettier configuration settles
470
+ * it; short of one, the file's imports, then its other statements that would take one.
471
+ */
472
+ function detectSemi(cu) {
473
+ const semi = prettierOption(cu, 'semi', true);
474
+ if (semi !== undefined) {
475
+ return semi;
476
+ }
477
+ const tally = (kinds) => {
478
+ let score = 0;
479
+ for (const statement of cu.statements) {
480
+ if (statement.element && kinds(statement.element.kind)) {
481
+ score += (0, markers_1.findMarker)(statement, java_1.J.Markers.Semicolon) ? 1 : -1;
482
+ }
446
483
  }
484
+ return score;
485
+ };
486
+ const score = cu.statements.some(s => { var _a; return ((_a = s.element) === null || _a === void 0 ? void 0 : _a.kind) === tree_1.JS.Kind.Import; })
487
+ ? tally(kind => kind === tree_1.JS.Kind.Import)
488
+ : tally(kind => semicolonTerminated.has(kind));
489
+ return score >= 0;
490
+ }
491
+ /**
492
+ * Whether a brace list added to `cu` is written `{ x }` rather than `{x}`. A Prettier configuration
493
+ * settles it; short of one, the file's own single-line import lists, then the style in force.
494
+ */
495
+ function detectBraceSpacing(cu) {
496
+ var _a, _b, _c;
497
+ const bracketSpacing = prettierOption(cu, 'bracketSpacing', true);
498
+ if (bracketSpacing !== undefined) {
499
+ return bracketSpacing;
447
500
  }
448
- return double > single ? '"' : "'";
501
+ let score = 0;
502
+ for (const statement of cu.statements) {
503
+ const namedBindings = ((_a = statement.element) === null || _a === void 0 ? void 0 : _a.kind) === tree_1.JS.Kind.Import
504
+ ? (_b = statement.element.importClause) === null || _b === void 0 ? void 0 : _b.namedBindings
505
+ : undefined;
506
+ if ((namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) !== tree_1.JS.Kind.NamedImports) {
507
+ continue;
508
+ }
509
+ const first = (_c = namedBindings.elements.elements[0]) === null || _c === void 0 ? void 0 : _c.element;
510
+ // A list laid out one per line says nothing about how a one-line list is spaced.
511
+ if (first && !first.prefix.whitespace.includes('\n')) {
512
+ score += first.prefix.whitespace.length > 0 ? 1 : -1;
513
+ }
514
+ }
515
+ if (score !== 0) {
516
+ return score > 0;
517
+ }
518
+ return (0, style_1.getStyle)(style_1.StyleKind.SpacesStyle, cu).within.es6ImportExportBraces;
449
519
  }
450
520
  /**
451
- * Lays out the import statement `AddImport` wrote, so that the file's own style — a Prettier
452
- * configuration's brace spacing and print width, say — reaches it.
521
+ * Lays out the import statement `AddImport` wrote, so that a Prettier configuration's print width,
522
+ * say, reaches it. Its quote, brace spacing and semicolon were already chosen to match the file.
453
523
  */
454
- async function formatImport(cu, id, p) {
524
+ async function formatImport(cu, id, p, braceSpacing) {
525
+ // The formatter would otherwise re-space the braces by the style in force, over the file's own evidence.
526
+ const spaces = (0, style_1.getStyle)(style_1.StyleKind.SpacesStyle, cu);
527
+ const styles = braceSpacing === undefined || braceSpacing === spaces.within.es6ImportExportBraces ? undefined : [{
528
+ kind: markers_1.MarkersKind.NamedStyles,
529
+ id: (0, uuid_1.randomId)(),
530
+ name: "org.openrewrite.javascript.AddImport",
531
+ displayName: "Brace spacing detected by AddImport",
532
+ tags: [],
533
+ styles: [Object.assign(Object.assign({}, spaces), { within: Object.assign(Object.assign({}, spaces.within), { es6ImportExportBraces: braceSpacing }) })]
534
+ }];
455
535
  return await new class extends visitor_1.JavaScriptVisitor {
456
536
  async visitImportDeclaration(jsImport, p) {
457
- return jsImport.id === id ? await (0, format_1.autoFormat)(jsImport, p, undefined, this.cursor.parent) : jsImport;
537
+ return jsImport.id === id ? await (0, format_1.autoFormat)(jsImport, p, undefined, this.cursor.parent, styles) : jsImport;
458
538
  }
459
539
  }().visit(cu, p);
460
540
  }
@@ -687,14 +767,12 @@ class AddImport extends visitor_1.JavaScriptVisitor {
687
767
  const newImport = await this.createImportStatement(compilationUnit, insertionIndex, p);
688
768
  const withImport = await this.produceJavaScript(compilationUnit, p, async (draft) => {
689
769
  // Insert the import at the appropriate position
690
- // Create semicolon marker for the import statement
691
- const semicolonMarkers = (0, markers_1.markers)({
692
- kind: java_1.J.Markers.Semicolon,
693
- id: (0, uuid_1.randomId)()
694
- });
770
+ const semicolonMarkers = detectSemi(compilationUnit)
771
+ ? (0, markers_1.markers)({ kind: java_1.J.Markers.Semicolon, id: (0, uuid_1.randomId)() })
772
+ : markers_1.emptyMarkers;
695
773
  if (insertionIndex === 0) {
696
774
  // Insert at the beginning
697
- // The `after` space should be empty since semicolon is printed after it
775
+ // The `after` space should be empty since any semicolon is printed after it
698
776
  // The spacing comes from updating the next statement's prefix
699
777
  const updatedStatements = compilationUnit.statements.length > 0
700
778
  ? [
@@ -732,7 +810,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
732
810
  }
733
811
  }
734
812
  });
735
- return formatImport(withImport, newImport.id, p);
813
+ return formatImport(withImport, newImport.id, p, detectBraceSpacing(compilationUnit));
736
814
  }
737
815
  /**
738
816
  * Try to merge the new member into an existing import from the same module
@@ -951,6 +1029,9 @@ class AddImport extends visitor_1.JavaScriptVisitor {
951
1029
  * or extracting it from the FQN.
952
1030
  */
953
1031
  getModuleFromClassType(classType) {
1032
+ if (java_1.Type.isFunctionType(classType)) {
1033
+ return undefined;
1034
+ }
954
1035
  // Traverse owningClass chain to find the root
955
1036
  let current = classType;
956
1037
  while (current.owningClass && java_1.Type.isClass(current.owningClass)) {
@@ -1063,6 +1144,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1063
1144
  const targetModule = this.module;
1064
1145
  let found = false;
1065
1146
  const self = this;
1147
+ const matchesModule = (name) => name !== undefined && (name === expectedDeclaringType || name === targetModule);
1066
1148
  // If no existing imports from this module, look for unresolved references
1067
1149
  // If there ARE existing imports, look for references with the expected declaring type
1068
1150
  const collector = new class extends visitor_1.JavaScriptVisitor {
@@ -1074,12 +1156,13 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1074
1156
  // We have an expected declaring type - check for exact match
1075
1157
  if (type && java_1.Type.isMethod(type)) {
1076
1158
  const declaringTypeName = java_1.Type.FullyQualified.getFullyQualifiedName(type.declaringType);
1077
- if (declaringTypeName === expectedDeclaringType) {
1159
+ if (matchesModule(declaringTypeName)) {
1078
1160
  found = true;
1079
1161
  }
1080
1162
  }
1081
1163
  else if (type && java_1.Type.isClass(type)) {
1082
- if (self.classTypeMatchesModule(type, expectedDeclaringType)) {
1164
+ if (self.classTypeMatchesModule(type, expectedDeclaringType) ||
1165
+ self.classTypeMatchesModule(type, targetModule)) {
1083
1166
  found = true;
1084
1167
  }
1085
1168
  }
@@ -1087,7 +1170,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1087
1170
  const ownerTypeName = fieldType.owner
1088
1171
  ? java_1.Type.FullyQualified.getFullyQualifiedName(fieldType.owner)
1089
1172
  : undefined;
1090
- if (ownerTypeName === expectedDeclaringType) {
1173
+ if (matchesModule(ownerTypeName)) {
1091
1174
  found = true;
1092
1175
  }
1093
1176
  }
@@ -1133,24 +1216,16 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1133
1216
  return super.visitIdentifier(identifier, p);
1134
1217
  }
1135
1218
  async visitMethodInvocation(methodInvocation, p) {
1136
- if (methodInvocation.methodType && methodInvocation.methodType.name === targetName) {
1137
- if (expectedDeclaringType) {
1138
- const declaringTypeName = java_1.Type.FullyQualified.getFullyQualifiedName(methodInvocation.methodType.declaringType);
1139
- if (declaringTypeName === expectedDeclaringType) {
1140
- found = true;
1141
- }
1142
- }
1219
+ if (expectedDeclaringType && methodInvocation.methodType && methodInvocation.methodType.name === targetName &&
1220
+ matchesModule(java_1.Type.FullyQualified.getFullyQualifiedName(methodInvocation.methodType.declaringType))) {
1221
+ found = true;
1143
1222
  }
1144
1223
  return super.visitMethodInvocation(methodInvocation, p);
1145
1224
  }
1146
1225
  async visitFunctionCall(functionCall, p) {
1147
- if (functionCall.methodType && functionCall.methodType.name === targetName) {
1148
- if (expectedDeclaringType) {
1149
- const declaringTypeName = java_1.Type.FullyQualified.getFullyQualifiedName(functionCall.methodType.declaringType);
1150
- if (declaringTypeName === expectedDeclaringType) {
1151
- found = true;
1152
- }
1153
- }
1226
+ if (expectedDeclaringType && functionCall.methodType && functionCall.methodType.name === targetName &&
1227
+ matchesModule(java_1.Type.FullyQualified.getFullyQualifiedName(functionCall.methodType.declaringType))) {
1228
+ found = true;
1154
1229
  }
1155
1230
  return super.visitFunctionCall(functionCall, p);
1156
1231
  }
@@ -1158,13 +1233,9 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1158
1233
  const type = fieldAccess.type;
1159
1234
  if (type && java_1.Type.isMethod(type)) {
1160
1235
  const methodType = type;
1161
- if (methodType.name === targetName) {
1162
- if (expectedDeclaringType) {
1163
- const declaringTypeName = java_1.Type.FullyQualified.getFullyQualifiedName(methodType.declaringType);
1164
- if (declaringTypeName === expectedDeclaringType) {
1165
- found = true;
1166
- }
1167
- }
1236
+ if (expectedDeclaringType && methodType.name === targetName &&
1237
+ matchesModule(java_1.Type.FullyQualified.getFullyQualifiedName(methodType.declaringType))) {
1238
+ found = true;
1168
1239
  }
1169
1240
  }
1170
1241
  return super.visitFieldAccess(fieldAccess, p);
@@ -1177,7 +1248,6 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1177
1248
  * Create a new import statement
1178
1249
  */
1179
1250
  async createImportStatement(compilationUnit, insertionIndex, p) {
1180
- var _a;
1181
1251
  // Determine the appropriate prefix (spacing before the import)
1182
1252
  const prefix = this.determineImportPrefix(compilationUnit, insertionIndex);
1183
1253
  // Whitespace throughout follows the parser's placement, so that formatting the result is a
@@ -1185,7 +1255,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1185
1255
  // Note: value is the unquoted module name; valueSource and unicodeEscapes are its printed form
1186
1256
  let valueSource = this.moduleValueSource;
1187
1257
  if (valueSource === undefined) {
1188
- const quote = (_a = this.quoteStyle) !== null && _a !== void 0 ? _a : await detectQuote(compilationUnit);
1258
+ const quote = await detectQuote(compilationUnit, this.quoteStyle);
1189
1259
  valueSource = `${quote}${this.module}${quote}`;
1190
1260
  }
1191
1261
  const moduleSpecifier = {
@@ -1268,9 +1338,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
1268
1338
  }
1269
1339
  else {
1270
1340
  // Named import: import { member } from 'module'
1271
- // Get the spaces style for brace spacing
1272
- const spacesStyle = (0, style_1.getStyle)(style_1.StyleKind.SpacesStyle, compilationUnit);
1273
- const braceSpace = spacesStyle.within.es6ImportExportBraces ? java_1.singleSpace : java_1.emptySpace;
1341
+ const braceSpace = detectBraceSpacing(compilationUnit) ? java_1.singleSpace : java_1.emptySpace;
1274
1342
  const importSpec = this.createImportSpecifier();
1275
1343
  // Apply brace spacing: the space after { is in the specifier's prefix,
1276
1344
  // and the space before } is in the rightPadded's after
@@ -1569,7 +1637,7 @@ function aliasing(local, member) {
1569
1637
  * Drops the binding for `member` from `jsImport`'s clause — the default, the namespace alias, or
1570
1638
  * one entry of the named list, whichever `member` names — keeping everything else the clause
1571
1639
  * binds. `ElementRemovalFormatter` carries the dropped binding's prefix onto whatever prints
1572
- * next, the same way `RemoveImport` keeps formatting sane when trimming a list.
1640
+ * next, and a dropped last entry's trailing space onto the new last, as `RemoveImport` does.
1573
1641
  */
1574
1642
  function removeBinding(jsImport, member) {
1575
1643
  var _a;
@@ -1619,6 +1687,12 @@ function removeBinding(jsImport, member) {
1619
1687
  // last member; the caller drops the whole statement when no default remains either.
1620
1688
  return Object.assign(Object.assign({}, jsImport), { importClause: Object.assign(Object.assign({}, importClause), { namedBindings: undefined }) });
1621
1689
  }
1690
+ // The space before `}` and any trailing comma belong to the last entry, so they move onto the
1691
+ // new last entry when the old one is dropped.
1692
+ const originalLast = namedImports.elements.elements[namedImports.elements.elements.length - 1];
1693
+ if (namedSpecifierImports(originalLast.element.specifier, key)) {
1694
+ kept[kept.length - 1] = Object.assign(Object.assign({}, kept[kept.length - 1]), { after: originalLast.after, markers: originalLast.markers });
1695
+ }
1622
1696
  const updatedNamedImports = Object.assign(Object.assign({}, namedImports), { elements: Object.assign(Object.assign({}, namedImports.elements), { elements: kept }) });
1623
1697
  return Object.assign(Object.assign({}, jsImport), { importClause: Object.assign(Object.assign({}, importClause), { namedBindings: updatedNamedImports }) });
1624
1698
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-import.js","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-import.js","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- 8.92.14
1
+ 8.92.15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.92.14",
3
+ "version": "8.92.15",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "repository": {
@@ -2,7 +2,8 @@ import {JavaScriptVisitor} from "./visitor";
2
2
  import {ElementRemovalFormatter, emptySpace, isIdentifier, J, NameTree, rightPadded, singleSpace, space, Statement, TrailingComma, Type} from "../java";
3
3
  import {JS, JSX} from "./tree";
4
4
  import {randomId, UUID} from "../uuid";
5
- import {emptyMarkers, findMarker, markers} from "../markers";
5
+ import {emptyMarkers, findMarker, markers, MarkersKind} from "../markers";
6
+ import {NamedStyles} from "../style";
6
7
  import {getStyle, SpacesStyle, StyleKind} from "./style";
7
8
  import {bindingNames, compilationUnitOf, cursorOf, declarationsOf, deconflict, isValueReference, namesDeclaredIn, scopeOf, walk} from "./scope";
8
9
  import {create as produce, Draft} from "mutative";
@@ -455,12 +456,34 @@ function quoteOf(expression: J | undefined): QuoteChar | undefined {
455
456
  : undefined;
456
457
  }
457
458
 
459
+ /**
460
+ * The value a Prettier configuration on `cu` gives `option`, or Prettier's own `fallback` where the
461
+ * configuration does not name it; `undefined` without a configuration in force. A configuration
462
+ * outranks the file's own evidence, since running Prettier would arrive at its answer anyway.
463
+ */
464
+ function prettierOption<T>(cu: JS.CompilationUnit, option: string, fallback: T): T | undefined {
465
+ const prettier = getPrettierStyle(cu);
466
+ if (!prettier || prettier.ignored) {
467
+ return undefined;
468
+ }
469
+ const value = prettier.config[option];
470
+ return typeof value === typeof fallback ? value as T : fallback;
471
+ }
472
+
458
473
  /**
459
474
  * Pick the quote character for a module specifier being added to `cu`, so that it agrees
460
- * with the file it lands in. An existing specifier is the most direct precedent; a Prettier
461
- * config states intent even where the file itself has not been formatted to match.
475
+ * with the file it lands in. A Prettier configuration settles it; short of one, the caller's
476
+ * `requested` quote, then an existing specifier as the most direct precedent.
462
477
  */
463
- async function detectQuote(cu: JS.CompilationUnit): Promise<QuoteChar> {
478
+ async function detectQuote(cu: JS.CompilationUnit, requested?: QuoteChar): Promise<QuoteChar> {
479
+ const singleQuote = prettierOption(cu, 'singleQuote', false);
480
+ if (singleQuote !== undefined) {
481
+ return singleQuote ? "'" : '"';
482
+ }
483
+ if (requested) {
484
+ return requested;
485
+ }
486
+
464
487
  // Static imports are top-level, so the highest-ranked signal needs no traversal to find.
465
488
  for (const statement of cu.statements) {
466
489
  const element = statement.element;
@@ -521,25 +544,87 @@ async function detectQuote(cu: JS.CompilationUnit): Promise<QuoteChar> {
521
544
  return specifierQuote;
522
545
  }
523
546
 
524
- const prettier = getPrettierStyle(cu);
525
- if (prettier && !prettier.ignored) {
526
- const singleQuote = prettier.config.singleQuote;
527
- if (typeof singleQuote === 'boolean') {
528
- return singleQuote ? "'" : '"';
547
+ return double > single ? '"' : "'";
548
+ }
549
+
550
+ /** Top-level statements that end in `;` in a file that uses semicolons at all. */
551
+ const semicolonTerminated = new Set<string>([
552
+ JS.Kind.Import, JS.Kind.ExportDeclaration, JS.Kind.ExportAssignment, JS.Kind.TypeDeclaration,
553
+ JS.Kind.ExpressionStatement, J.Kind.VariableDeclarations, J.Kind.MethodInvocation, J.Kind.Assignment
554
+ ]);
555
+
556
+ /**
557
+ * Whether an import statement added to `cu` should end in `;`. A Prettier configuration settles
558
+ * it; short of one, the file's imports, then its other statements that would take one.
559
+ */
560
+ function detectSemi(cu: JS.CompilationUnit): boolean {
561
+ const semi = prettierOption(cu, 'semi', true);
562
+ if (semi !== undefined) {
563
+ return semi;
564
+ }
565
+ const tally = (kinds: (kind: string) => boolean): number => {
566
+ let score = 0;
567
+ for (const statement of cu.statements) {
568
+ if (statement.element && kinds(statement.element.kind)) {
569
+ score += findMarker(statement, J.Markers.Semicolon) ? 1 : -1;
570
+ }
529
571
  }
530
- }
572
+ return score;
573
+ };
574
+ const score = cu.statements.some(s => s.element?.kind === JS.Kind.Import)
575
+ ? tally(kind => kind === JS.Kind.Import)
576
+ : tally(kind => semicolonTerminated.has(kind));
577
+ return score >= 0;
578
+ }
531
579
 
532
- return double > single ? '"' : "'";
580
+ /**
581
+ * Whether a brace list added to `cu` is written `{ x }` rather than `{x}`. A Prettier configuration
582
+ * settles it; short of one, the file's own single-line import lists, then the style in force.
583
+ */
584
+ function detectBraceSpacing(cu: JS.CompilationUnit): boolean {
585
+ const bracketSpacing = prettierOption(cu, 'bracketSpacing', true);
586
+ if (bracketSpacing !== undefined) {
587
+ return bracketSpacing;
588
+ }
589
+ let score = 0;
590
+ for (const statement of cu.statements) {
591
+ const namedBindings = statement.element?.kind === JS.Kind.Import
592
+ ? (statement.element as JS.Import).importClause?.namedBindings
593
+ : undefined;
594
+ if (namedBindings?.kind !== JS.Kind.NamedImports) {
595
+ continue;
596
+ }
597
+ const first = (namedBindings as JS.NamedImports).elements.elements[0]?.element;
598
+ // A list laid out one per line says nothing about how a one-line list is spaced.
599
+ if (first && !first.prefix.whitespace.includes('\n')) {
600
+ score += first.prefix.whitespace.length > 0 ? 1 : -1;
601
+ }
602
+ }
603
+ if (score !== 0) {
604
+ return score > 0;
605
+ }
606
+ return (getStyle(StyleKind.SpacesStyle, cu) as SpacesStyle).within.es6ImportExportBraces;
533
607
  }
534
608
 
535
609
  /**
536
- * Lays out the import statement `AddImport` wrote, so that the file's own style — a Prettier
537
- * configuration's brace spacing and print width, say — reaches it.
610
+ * Lays out the import statement `AddImport` wrote, so that a Prettier configuration's print width,
611
+ * say, reaches it. Its quote, brace spacing and semicolon were already chosen to match the file.
538
612
  */
539
- async function formatImport<P>(cu: JS.CompilationUnit, id: UUID, p: P): Promise<JS.CompilationUnit> {
613
+ async function formatImport<P>(cu: JS.CompilationUnit, id: UUID, p: P, braceSpacing?: boolean): Promise<JS.CompilationUnit> {
614
+ // The formatter would otherwise re-space the braces by the style in force, over the file's own evidence.
615
+ const spaces = getStyle(StyleKind.SpacesStyle, cu) as SpacesStyle;
616
+ const styles: NamedStyles<string>[] | undefined =
617
+ braceSpacing === undefined || braceSpacing === spaces.within.es6ImportExportBraces ? undefined : [{
618
+ kind: MarkersKind.NamedStyles,
619
+ id: randomId(),
620
+ name: "org.openrewrite.javascript.AddImport",
621
+ displayName: "Brace spacing detected by AddImport",
622
+ tags: [],
623
+ styles: [{...spaces, within: {...spaces.within, es6ImportExportBraces: braceSpacing}} as SpacesStyle]
624
+ }];
540
625
  return await new class extends JavaScriptVisitor<P> {
541
626
  override async visitImportDeclaration(jsImport: JS.Import, p: P): Promise<J | undefined> {
542
- return jsImport.id === id ? await autoFormat(jsImport, p, undefined, this.cursor.parent) : jsImport;
627
+ return jsImport.id === id ? await autoFormat(jsImport, p, undefined, this.cursor.parent, styles) : jsImport;
543
628
  }
544
629
  }().visit(cu, p) as JS.CompilationUnit;
545
630
  }
@@ -820,15 +905,13 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
820
905
 
821
906
  const withImport = await this.produceJavaScript(compilationUnit, p, async draft => {
822
907
  // Insert the import at the appropriate position
823
- // Create semicolon marker for the import statement
824
- const semicolonMarkers = markers({
825
- kind: J.Markers.Semicolon,
826
- id: randomId()
827
- });
908
+ const semicolonMarkers = detectSemi(compilationUnit)
909
+ ? markers({kind: J.Markers.Semicolon, id: randomId()})
910
+ : emptyMarkers;
828
911
 
829
912
  if (insertionIndex === 0) {
830
913
  // Insert at the beginning
831
- // The `after` space should be empty since semicolon is printed after it
914
+ // The `after` space should be empty since any semicolon is printed after it
832
915
  // The spacing comes from updating the next statement's prefix
833
916
  const updatedStatements = compilationUnit.statements.length > 0
834
917
  ? [
@@ -876,7 +959,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
876
959
  }
877
960
  });
878
961
 
879
- return formatImport(withImport, newImport.id, p);
962
+ return formatImport(withImport, newImport.id, p, detectBraceSpacing(compilationUnit));
880
963
  }
881
964
 
882
965
  /**
@@ -1150,6 +1233,9 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1150
1233
  * or extracting it from the FQN.
1151
1234
  */
1152
1235
  private getModuleFromClassType(classType: Type.Class): string | undefined {
1236
+ if (Type.isFunctionType(classType)) {
1237
+ return undefined;
1238
+ }
1153
1239
  // Traverse owningClass chain to find the root
1154
1240
  let current: Type.Class = classType;
1155
1241
  while (current.owningClass && Type.isClass(current.owningClass)) {
@@ -1272,6 +1358,8 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1272
1358
  const targetModule = this.module;
1273
1359
  let found = false;
1274
1360
  const self = this;
1361
+ const matchesModule = (name: string | undefined) =>
1362
+ name !== undefined && (name === expectedDeclaringType || name === targetModule);
1275
1363
 
1276
1364
  // If no existing imports from this module, look for unresolved references
1277
1365
  // If there ARE existing imports, look for references with the expected declaring type
@@ -1285,12 +1373,13 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1285
1373
  // We have an expected declaring type - check for exact match
1286
1374
  if (type && Type.isMethod(type)) {
1287
1375
  const declaringTypeName = Type.FullyQualified.getFullyQualifiedName((type as Type.Method).declaringType);
1288
- if (declaringTypeName === expectedDeclaringType) {
1376
+ if (matchesModule(declaringTypeName)) {
1289
1377
  found = true;
1290
1378
  }
1291
1379
  }
1292
1380
  else if (type && Type.isClass(type)) {
1293
- if (self.classTypeMatchesModule(type as Type.Class, expectedDeclaringType)) {
1381
+ if (self.classTypeMatchesModule(type as Type.Class, expectedDeclaringType) ||
1382
+ self.classTypeMatchesModule(type as Type.Class, targetModule)) {
1294
1383
  found = true;
1295
1384
  }
1296
1385
  }
@@ -1298,7 +1387,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1298
1387
  const ownerTypeName = (fieldType as Type.Variable).owner
1299
1388
  ? Type.FullyQualified.getFullyQualifiedName((fieldType as Type.Variable).owner!)
1300
1389
  : undefined;
1301
- if (ownerTypeName === expectedDeclaringType) {
1390
+ if (matchesModule(ownerTypeName)) {
1302
1391
  found = true;
1303
1392
  }
1304
1393
  }
@@ -1346,25 +1435,17 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1346
1435
  }
1347
1436
 
1348
1437
  override async visitMethodInvocation(methodInvocation: J.MethodInvocation, p: void): Promise<J | undefined> {
1349
- if (methodInvocation.methodType && methodInvocation.methodType.name === targetName) {
1350
- if (expectedDeclaringType) {
1351
- const declaringTypeName = Type.FullyQualified.getFullyQualifiedName(methodInvocation.methodType.declaringType);
1352
- if (declaringTypeName === expectedDeclaringType) {
1353
- found = true;
1354
- }
1355
- }
1438
+ if (expectedDeclaringType && methodInvocation.methodType && methodInvocation.methodType.name === targetName &&
1439
+ matchesModule(Type.FullyQualified.getFullyQualifiedName(methodInvocation.methodType.declaringType))) {
1440
+ found = true;
1356
1441
  }
1357
1442
  return super.visitMethodInvocation(methodInvocation, p);
1358
1443
  }
1359
1444
 
1360
1445
  override async visitFunctionCall(functionCall: JS.FunctionCall, p: void): Promise<J | undefined> {
1361
- if (functionCall.methodType && functionCall.methodType.name === targetName) {
1362
- if (expectedDeclaringType) {
1363
- const declaringTypeName = Type.FullyQualified.getFullyQualifiedName(functionCall.methodType.declaringType);
1364
- if (declaringTypeName === expectedDeclaringType) {
1365
- found = true;
1366
- }
1367
- }
1446
+ if (expectedDeclaringType && functionCall.methodType && functionCall.methodType.name === targetName &&
1447
+ matchesModule(Type.FullyQualified.getFullyQualifiedName(functionCall.methodType.declaringType))) {
1448
+ found = true;
1368
1449
  }
1369
1450
  return super.visitFunctionCall(functionCall, p);
1370
1451
  }
@@ -1373,13 +1454,9 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1373
1454
  const type = fieldAccess.type;
1374
1455
  if (type && Type.isMethod(type)) {
1375
1456
  const methodType = type as Type.Method;
1376
- if (methodType.name === targetName) {
1377
- if (expectedDeclaringType) {
1378
- const declaringTypeName = Type.FullyQualified.getFullyQualifiedName(methodType.declaringType);
1379
- if (declaringTypeName === expectedDeclaringType) {
1380
- found = true;
1381
- }
1382
- }
1457
+ if (expectedDeclaringType && methodType.name === targetName &&
1458
+ matchesModule(Type.FullyQualified.getFullyQualifiedName(methodType.declaringType))) {
1459
+ found = true;
1383
1460
  }
1384
1461
  }
1385
1462
  return super.visitFieldAccess(fieldAccess, p);
@@ -1403,7 +1480,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1403
1480
  // Note: value is the unquoted module name; valueSource and unicodeEscapes are its printed form
1404
1481
  let valueSource = this.moduleValueSource;
1405
1482
  if (valueSource === undefined) {
1406
- const quote = this.quoteStyle ?? await detectQuote(compilationUnit);
1483
+ const quote = await detectQuote(compilationUnit, this.quoteStyle);
1407
1484
  valueSource = `${quote}${this.module}${quote}`;
1408
1485
  }
1409
1486
  const moduleSpecifier: J.Literal = {
@@ -1490,9 +1567,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
1490
1567
  } else {
1491
1568
  // Named import: import { member } from 'module'
1492
1569
 
1493
- // Get the spaces style for brace spacing
1494
- const spacesStyle = getStyle(StyleKind.SpacesStyle, compilationUnit) as SpacesStyle;
1495
- const braceSpace = spacesStyle.within.es6ImportExportBraces ? singleSpace : emptySpace;
1570
+ const braceSpace = detectBraceSpacing(compilationUnit) ? singleSpace : emptySpace;
1496
1571
 
1497
1572
  const importSpec = this.createImportSpecifier();
1498
1573
  // Apply brace spacing: the space after { is in the specifier's prefix,
@@ -1822,7 +1897,7 @@ function aliasing(local: J.Identifier, member: string): JS.Alias {
1822
1897
  * Drops the binding for `member` from `jsImport`'s clause — the default, the namespace alias, or
1823
1898
  * one entry of the named list, whichever `member` names — keeping everything else the clause
1824
1899
  * binds. `ElementRemovalFormatter` carries the dropped binding's prefix onto whatever prints
1825
- * next, the same way `RemoveImport` keeps formatting sane when trimming a list.
1900
+ * next, and a dropped last entry's trailing space onto the new last, as `RemoveImport` does.
1826
1901
  */
1827
1902
  function removeBinding(jsImport: JS.Import, member: string | undefined): JS.Import {
1828
1903
  const importClause = jsImport.importClause;
@@ -1876,6 +1951,12 @@ function removeBinding(jsImport: JS.Import, member: string | undefined): JS.Impo
1876
1951
  // last member; the caller drops the whole statement when no default remains either.
1877
1952
  return {...jsImport, importClause: {...importClause, namedBindings: undefined}};
1878
1953
  }
1954
+ // The space before `}` and any trailing comma belong to the last entry, so they move onto the
1955
+ // new last entry when the old one is dropped.
1956
+ const originalLast = namedImports.elements.elements[namedImports.elements.elements.length - 1];
1957
+ if (namedSpecifierImports(originalLast.element.specifier, key)) {
1958
+ kept[kept.length - 1] = {...kept[kept.length - 1], after: originalLast.after, markers: originalLast.markers};
1959
+ }
1879
1960
  const updatedNamedImports: JS.NamedImports = {...namedImports, elements: {...namedImports.elements, elements: kept}};
1880
1961
  return {...jsImport, importClause: {...importClause, namedBindings: updatedNamedImports}};
1881
1962
  }