@openrewrite/rewrite 8.92.13 → 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":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAoD,CAAC,EAAE,QAAQ,EAAkE,MAAM,SAAS,CAAC;AACxJ,OAAO,EAAC,EAAE,EAAM,MAAM,QAAQ,CAAC;
|
|
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.
|
|
381
|
-
*
|
|
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
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
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
|
-
|
|
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
|
|
452
|
-
*
|
|
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
|
-
|
|
691
|
-
|
|
692
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
1138
|
-
|
|
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
|
-
|
|
1149
|
-
|
|
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
|
-
|
|
1163
|
-
|
|
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 = (
|
|
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
|
-
|
|
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,
|
|
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.
|
|
1
|
+
8.92.15
|
package/package.json
CHANGED
|
@@ -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.
|
|
461
|
-
*
|
|
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
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
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
|
-
|
|
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
|
|
537
|
-
*
|
|
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
|
-
|
|
824
|
-
|
|
825
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
1351
|
-
|
|
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
|
-
|
|
1363
|
-
|
|
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
|
-
|
|
1378
|
-
|
|
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 =
|
|
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
|
-
|
|
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,
|
|
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
|
}
|