@openrewrite/rewrite 8.65.0-20251025-111616 → 8.65.0-20251026-012648
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/javascript/format.d.ts +26 -5
- package/dist/javascript/format.d.ts.map +1 -1
- package/dist/javascript/format.js +188 -12
- package/dist/javascript/format.js.map +1 -1
- package/dist/javascript/visitor.d.ts.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/javascript/format.ts +127 -13
- package/src/javascript/visitor.ts +1 -1
|
@@ -3,15 +3,26 @@ import { JavaScriptVisitor } from "./visitor";
|
|
|
3
3
|
import { J, Statement } from "../java";
|
|
4
4
|
import { Cursor, Tree } from "../tree";
|
|
5
5
|
import { BlankLinesStyle, SpacesStyle, TabsAndIndentsStyle, WrappingAndBracesStyle } from "./style";
|
|
6
|
+
export declare function maybeAutoFormat<J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2>;
|
|
7
|
+
export declare function autoFormat<J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2>;
|
|
6
8
|
export declare class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
|
|
9
|
+
private stopAfter?;
|
|
10
|
+
constructor(stopAfter?: Tree | undefined);
|
|
7
11
|
visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined>;
|
|
8
12
|
}
|
|
9
13
|
export declare class NormalizeWhitespaceVisitor<P> extends JavaScriptVisitor<P> {
|
|
14
|
+
private stopAfter?;
|
|
15
|
+
constructor(stopAfter?: Tree | undefined);
|
|
16
|
+
visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
|
|
17
|
+
postVisit(tree: J, p: P): Promise<J | undefined>;
|
|
10
18
|
private concatenatePrefix;
|
|
11
19
|
}
|
|
12
20
|
export declare class SpacesVisitor<P> extends JavaScriptVisitor<P> {
|
|
13
21
|
private style;
|
|
14
|
-
|
|
22
|
+
private stopAfter?;
|
|
23
|
+
constructor(style: SpacesStyle, stopAfter?: Tree | undefined);
|
|
24
|
+
visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
|
|
25
|
+
postVisit(tree: J, p: P): Promise<J | undefined>;
|
|
15
26
|
protected visitAlias(alias: JS.Alias, p: P): Promise<J | undefined>;
|
|
16
27
|
protected visitArrayAccess(arrayAccess: J.ArrayAccess, p: P): Promise<J | undefined>;
|
|
17
28
|
protected visitAssignment(assignment: J.Assignment, p: P): Promise<J | undefined>;
|
|
@@ -47,7 +58,10 @@ export declare class SpacesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
47
58
|
}
|
|
48
59
|
export declare class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
|
|
49
60
|
private readonly style;
|
|
50
|
-
|
|
61
|
+
private stopAfter?;
|
|
62
|
+
constructor(style: WrappingAndBracesStyle, stopAfter?: Tree | undefined);
|
|
63
|
+
visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
|
|
64
|
+
postVisit(tree: J, p: P): Promise<J | undefined>;
|
|
51
65
|
visitStatement(statement: Statement, p: P): Promise<Statement>;
|
|
52
66
|
protected visitVariableDeclarations(multiVariable: J.VariableDeclarations, p: P): Promise<J.VariableDeclarations>;
|
|
53
67
|
protected visitMethodDeclaration(method: J.MethodDeclaration, p: P): Promise<J.MethodDeclaration>;
|
|
@@ -60,7 +74,10 @@ export declare class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
60
74
|
private withNewlineModifiers;
|
|
61
75
|
}
|
|
62
76
|
export declare class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P> {
|
|
63
|
-
|
|
77
|
+
private stopAfter?;
|
|
78
|
+
constructor(stopAfter?: Tree | undefined);
|
|
79
|
+
visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
|
|
80
|
+
postVisit(tree: J, p: P): Promise<J | undefined>;
|
|
64
81
|
protected visitAwait(await_: JS.Await, p: P): Promise<J | undefined>;
|
|
65
82
|
protected visitClassDeclaration(classDecl: J.ClassDeclaration, p: P): Promise<J | undefined>;
|
|
66
83
|
protected visitMethodDeclaration(method: J.MethodDeclaration, p: P): Promise<J | undefined>;
|
|
@@ -77,7 +94,8 @@ export declare class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P>
|
|
|
77
94
|
}
|
|
78
95
|
export declare class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
|
|
79
96
|
private readonly style;
|
|
80
|
-
|
|
97
|
+
private stopAfter?;
|
|
98
|
+
constructor(style: BlankLinesStyle, stopAfter?: Tree | undefined);
|
|
81
99
|
visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined>;
|
|
82
100
|
protected visitClassDeclaration(classDecl: J.ClassDeclaration, p: P): Promise<J.ClassDeclaration>;
|
|
83
101
|
visitStatement(statement: Statement, p: P): Promise<Statement>;
|
|
@@ -87,16 +105,19 @@ export declare class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
87
105
|
private minimumBlankLines;
|
|
88
106
|
private ensurePrefixHasNewLine;
|
|
89
107
|
private static countNewlines;
|
|
108
|
+
postVisit(tree: J, p: P): Promise<J | undefined>;
|
|
90
109
|
}
|
|
91
110
|
export declare class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
92
111
|
private readonly tabsAndIndentsStyle;
|
|
112
|
+
private stopAfter?;
|
|
93
113
|
private readonly newline;
|
|
94
114
|
private readonly singleIndent;
|
|
95
|
-
constructor(tabsAndIndentsStyle: TabsAndIndentsStyle);
|
|
115
|
+
constructor(tabsAndIndentsStyle: TabsAndIndentsStyle, stopAfter?: Tree | undefined);
|
|
96
116
|
protected preVisit(tree: J, p: P): Promise<J | undefined>;
|
|
97
117
|
visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined>;
|
|
98
118
|
visitLeftPadded<T extends J | J.Space | number | string | boolean>(left: J.LeftPadded<T>, p: P): Promise<J.LeftPadded<T>>;
|
|
99
119
|
private get currentIndent();
|
|
100
120
|
private combineIndent;
|
|
121
|
+
postVisit(tree: J, p: P): Promise<J | undefined>;
|
|
101
122
|
}
|
|
102
123
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAsB,CAAC,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TabsAndIndentsVisitor = exports.BlankLinesVisitor = exports.MinimumViableSpacingVisitor = exports.WrappingAndBracesVisitor = exports.SpacesVisitor = exports.NormalizeWhitespaceVisitor = exports.AutoformatVisitor = void 0;
|
|
13
|
+
exports.maybeAutoFormat = maybeAutoFormat;
|
|
14
|
+
exports.autoFormat = autoFormat;
|
|
13
15
|
/*
|
|
14
16
|
* Copyright 2025 the original author or authors.
|
|
15
17
|
* <p>
|
|
@@ -29,18 +31,36 @@ const tree_1 = require("./tree");
|
|
|
29
31
|
const visitor_1 = require("./visitor");
|
|
30
32
|
const java_1 = require("../java");
|
|
31
33
|
const immer_1 = require("immer");
|
|
34
|
+
const tree_2 = require("../tree");
|
|
32
35
|
const style_1 = require("./style");
|
|
33
36
|
const visitor_2 = require("../visitor");
|
|
37
|
+
function maybeAutoFormat(before, after, p, stopAfter, parent) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
if (before !== after) {
|
|
40
|
+
return autoFormat(after, p, stopAfter, parent);
|
|
41
|
+
}
|
|
42
|
+
return after;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function autoFormat(j, p, stopAfter, parent) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
return yield new AutoformatVisitor(stopAfter).visit(j, p, parent);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
34
50
|
class AutoformatVisitor extends visitor_1.JavaScriptVisitor {
|
|
51
|
+
constructor(stopAfter) {
|
|
52
|
+
super();
|
|
53
|
+
this.stopAfter = stopAfter;
|
|
54
|
+
}
|
|
35
55
|
visit(tree, p, cursor) {
|
|
36
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
57
|
const visitors = [
|
|
38
|
-
new NormalizeWhitespaceVisitor(),
|
|
39
|
-
new MinimumViableSpacingVisitor(),
|
|
40
|
-
new BlankLinesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.BlankLinesStyle, tree)),
|
|
41
|
-
new WrappingAndBracesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.WrappingAndBracesStyle, tree)),
|
|
42
|
-
new SpacesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.SpacesStyle, tree)),
|
|
43
|
-
new TabsAndIndentsVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.TabsAndIndentsStyle, tree)),
|
|
58
|
+
new NormalizeWhitespaceVisitor(this.stopAfter),
|
|
59
|
+
new MinimumViableSpacingVisitor(this.stopAfter),
|
|
60
|
+
new BlankLinesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.BlankLinesStyle, tree), this.stopAfter),
|
|
61
|
+
new WrappingAndBracesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.WrappingAndBracesStyle, tree), this.stopAfter),
|
|
62
|
+
new SpacesVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.SpacesStyle, tree), this.stopAfter),
|
|
63
|
+
new TabsAndIndentsVisitor((0, style_1.styleFromSourceFile)(style_1.StyleKind.TabsAndIndentsStyle, tree), this.stopAfter),
|
|
44
64
|
];
|
|
45
65
|
let t = tree;
|
|
46
66
|
for (const visitor of visitors) {
|
|
@@ -56,6 +76,34 @@ class AutoformatVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
56
76
|
exports.AutoformatVisitor = AutoformatVisitor;
|
|
57
77
|
class NormalizeWhitespaceVisitor extends visitor_1.JavaScriptVisitor {
|
|
58
78
|
// called NormalizeFormat in Java
|
|
79
|
+
constructor(stopAfter) {
|
|
80
|
+
super();
|
|
81
|
+
this.stopAfter = stopAfter;
|
|
82
|
+
}
|
|
83
|
+
visit(tree, p, parent) {
|
|
84
|
+
const _super = Object.create(null, {
|
|
85
|
+
visit: { get: () => super.visit }
|
|
86
|
+
});
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
var _a;
|
|
89
|
+
if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
|
|
90
|
+
return tree;
|
|
91
|
+
}
|
|
92
|
+
return _super.visit.call(this, tree, p, parent);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
postVisit(tree, p) {
|
|
96
|
+
const _super = Object.create(null, {
|
|
97
|
+
postVisit: { get: () => super.postVisit }
|
|
98
|
+
});
|
|
99
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
var _a;
|
|
101
|
+
if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
|
|
102
|
+
(_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
|
|
103
|
+
}
|
|
104
|
+
return _super.postVisit.call(this, tree, p);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
59
107
|
concatenatePrefix(node, right) {
|
|
60
108
|
// TODO look at https://github.com/openrewrite/rewrite/commit/990a366fab9e5656812d81d0eb15ecb6bfd2fde0#diff-ec2e977fe8f1e189735e71b817f8f1ebaf79c1490c0210652e8a559f7f7877de
|
|
61
109
|
// and possibly incorporate it here - some special logic needed to merge comments better (?)
|
|
@@ -65,9 +113,34 @@ class NormalizeWhitespaceVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
65
113
|
}
|
|
66
114
|
exports.NormalizeWhitespaceVisitor = NormalizeWhitespaceVisitor;
|
|
67
115
|
class SpacesVisitor extends visitor_1.JavaScriptVisitor {
|
|
68
|
-
constructor(style) {
|
|
116
|
+
constructor(style, stopAfter) {
|
|
69
117
|
super();
|
|
70
118
|
this.style = style;
|
|
119
|
+
this.stopAfter = stopAfter;
|
|
120
|
+
}
|
|
121
|
+
visit(tree, p, parent) {
|
|
122
|
+
const _super = Object.create(null, {
|
|
123
|
+
visit: { get: () => super.visit }
|
|
124
|
+
});
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
var _a;
|
|
127
|
+
if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
|
|
128
|
+
return tree;
|
|
129
|
+
}
|
|
130
|
+
return _super.visit.call(this, tree, p, parent);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
postVisit(tree, p) {
|
|
134
|
+
const _super = Object.create(null, {
|
|
135
|
+
postVisit: { get: () => super.postVisit }
|
|
136
|
+
});
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
var _a;
|
|
139
|
+
if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
|
|
140
|
+
(_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
|
|
141
|
+
}
|
|
142
|
+
return _super.postVisit.call(this, tree, p);
|
|
143
|
+
});
|
|
71
144
|
}
|
|
72
145
|
visitAlias(alias, p) {
|
|
73
146
|
const _super = Object.create(null, {
|
|
@@ -606,9 +679,34 @@ class SpacesVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
606
679
|
}
|
|
607
680
|
exports.SpacesVisitor = SpacesVisitor;
|
|
608
681
|
class WrappingAndBracesVisitor extends visitor_1.JavaScriptVisitor {
|
|
609
|
-
constructor(style) {
|
|
682
|
+
constructor(style, stopAfter) {
|
|
610
683
|
super();
|
|
611
684
|
this.style = style;
|
|
685
|
+
this.stopAfter = stopAfter;
|
|
686
|
+
}
|
|
687
|
+
visit(tree, p, parent) {
|
|
688
|
+
const _super = Object.create(null, {
|
|
689
|
+
visit: { get: () => super.visit }
|
|
690
|
+
});
|
|
691
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
692
|
+
var _a;
|
|
693
|
+
if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
|
|
694
|
+
return tree;
|
|
695
|
+
}
|
|
696
|
+
return _super.visit.call(this, tree, p, parent);
|
|
697
|
+
});
|
|
698
|
+
}
|
|
699
|
+
postVisit(tree, p) {
|
|
700
|
+
const _super = Object.create(null, {
|
|
701
|
+
postVisit: { get: () => super.postVisit }
|
|
702
|
+
});
|
|
703
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
704
|
+
var _a;
|
|
705
|
+
if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
|
|
706
|
+
(_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
|
|
707
|
+
}
|
|
708
|
+
return _super.postVisit.call(this, tree, p);
|
|
709
|
+
});
|
|
612
710
|
}
|
|
613
711
|
visitStatement(statement, p) {
|
|
614
712
|
const _super = Object.create(null, {
|
|
@@ -781,8 +879,33 @@ class WrappingAndBracesVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
781
879
|
}
|
|
782
880
|
exports.WrappingAndBracesVisitor = WrappingAndBracesVisitor;
|
|
783
881
|
class MinimumViableSpacingVisitor extends visitor_1.JavaScriptVisitor {
|
|
784
|
-
constructor() {
|
|
882
|
+
constructor(stopAfter) {
|
|
785
883
|
super();
|
|
884
|
+
this.stopAfter = stopAfter;
|
|
885
|
+
}
|
|
886
|
+
visit(tree, p, parent) {
|
|
887
|
+
const _super = Object.create(null, {
|
|
888
|
+
visit: { get: () => super.visit }
|
|
889
|
+
});
|
|
890
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
891
|
+
var _a;
|
|
892
|
+
if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
|
|
893
|
+
return tree;
|
|
894
|
+
}
|
|
895
|
+
return _super.visit.call(this, tree, p, parent);
|
|
896
|
+
});
|
|
897
|
+
}
|
|
898
|
+
postVisit(tree, p) {
|
|
899
|
+
const _super = Object.create(null, {
|
|
900
|
+
postVisit: { get: () => super.postVisit }
|
|
901
|
+
});
|
|
902
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
903
|
+
var _a;
|
|
904
|
+
if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
|
|
905
|
+
(_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
|
|
906
|
+
}
|
|
907
|
+
return _super.postVisit.call(this, tree, p);
|
|
908
|
+
});
|
|
786
909
|
}
|
|
787
910
|
visitAwait(await_, p) {
|
|
788
911
|
const _super = Object.create(null, {
|
|
@@ -1024,15 +1147,20 @@ class MinimumViableSpacingVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
1024
1147
|
}
|
|
1025
1148
|
exports.MinimumViableSpacingVisitor = MinimumViableSpacingVisitor;
|
|
1026
1149
|
class BlankLinesVisitor extends visitor_1.JavaScriptVisitor {
|
|
1027
|
-
constructor(style) {
|
|
1150
|
+
constructor(style, stopAfter) {
|
|
1028
1151
|
super();
|
|
1029
1152
|
this.style = style;
|
|
1153
|
+
this.stopAfter = stopAfter;
|
|
1030
1154
|
}
|
|
1031
1155
|
visit(tree, p, cursor) {
|
|
1032
1156
|
const _super = Object.create(null, {
|
|
1033
1157
|
visit: { get: () => super.visit }
|
|
1034
1158
|
});
|
|
1035
1159
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1160
|
+
var _a;
|
|
1161
|
+
if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
|
|
1162
|
+
return tree;
|
|
1163
|
+
}
|
|
1036
1164
|
if (tree.kind === tree_1.JS.Kind.CompilationUnit) {
|
|
1037
1165
|
const cu = (0, immer_1.produce)(tree, draft => {
|
|
1038
1166
|
if (draft.prefix.comments.length == 0) {
|
|
@@ -1208,12 +1336,25 @@ class BlankLinesVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
1208
1336
|
static countNewlines(s) {
|
|
1209
1337
|
return [...s].filter(c => c === "\n").length;
|
|
1210
1338
|
}
|
|
1339
|
+
postVisit(tree, p) {
|
|
1340
|
+
const _super = Object.create(null, {
|
|
1341
|
+
postVisit: { get: () => super.postVisit }
|
|
1342
|
+
});
|
|
1343
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1344
|
+
var _a;
|
|
1345
|
+
if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
|
|
1346
|
+
(_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
|
|
1347
|
+
}
|
|
1348
|
+
return _super.postVisit.call(this, tree, p);
|
|
1349
|
+
});
|
|
1350
|
+
}
|
|
1211
1351
|
}
|
|
1212
1352
|
exports.BlankLinesVisitor = BlankLinesVisitor;
|
|
1213
1353
|
class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
1214
|
-
constructor(tabsAndIndentsStyle) {
|
|
1354
|
+
constructor(tabsAndIndentsStyle, stopAfter) {
|
|
1215
1355
|
super();
|
|
1216
1356
|
this.tabsAndIndentsStyle = tabsAndIndentsStyle;
|
|
1357
|
+
this.stopAfter = stopAfter;
|
|
1217
1358
|
this.newline = "\n"; // TODO this should be configurable and come from some style too
|
|
1218
1359
|
if (this.tabsAndIndentsStyle.useTabCharacter) {
|
|
1219
1360
|
this.singleIndent = "\t";
|
|
@@ -1228,7 +1369,26 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
1228
1369
|
});
|
|
1229
1370
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1230
1371
|
const ret = yield _super.preVisit.call(this, tree, p);
|
|
1231
|
-
|
|
1372
|
+
let indentShouldIncrease = tree.kind === java_1.J.Kind.Block || tree.kind === java_1.J.Kind.Case;
|
|
1373
|
+
// Increase indent for control structures with non-block bodies
|
|
1374
|
+
if (tree.kind === java_1.J.Kind.If) {
|
|
1375
|
+
const ifStmt = tree;
|
|
1376
|
+
if (ifStmt.thenPart.element.kind !== java_1.J.Kind.Block) {
|
|
1377
|
+
indentShouldIncrease = true;
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
else if (tree.kind === java_1.J.Kind.WhileLoop) {
|
|
1381
|
+
const whileLoop = tree;
|
|
1382
|
+
if (whileLoop.body.element.kind !== java_1.J.Kind.Block) {
|
|
1383
|
+
indentShouldIncrease = true;
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
else if (tree.kind === java_1.J.Kind.ForLoop) {
|
|
1387
|
+
const forLoop = tree;
|
|
1388
|
+
if (forLoop.body.element.kind !== java_1.J.Kind.Block) {
|
|
1389
|
+
indentShouldIncrease = true;
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1232
1392
|
if (indentShouldIncrease) {
|
|
1233
1393
|
this.cursor.messages.set("indentToUse", this.currentIndent + this.singleIndent);
|
|
1234
1394
|
}
|
|
@@ -1240,6 +1400,10 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
1240
1400
|
visit: { get: () => super.visit }
|
|
1241
1401
|
});
|
|
1242
1402
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1403
|
+
var _a;
|
|
1404
|
+
if (((_a = this.cursor) === null || _a === void 0 ? void 0 : _a.getNearestMessage("stop")) != null) {
|
|
1405
|
+
return tree;
|
|
1406
|
+
}
|
|
1243
1407
|
let ret = yield _super.visit.call(this, tree, p, parent);
|
|
1244
1408
|
if (ret == undefined) {
|
|
1245
1409
|
return ret;
|
|
@@ -1292,6 +1456,18 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
1292
1456
|
combineIndent(oldWs, relativeIndent) {
|
|
1293
1457
|
return oldWs.substring(0, oldWs.lastIndexOf("\n") + 1) + relativeIndent;
|
|
1294
1458
|
}
|
|
1459
|
+
postVisit(tree, p) {
|
|
1460
|
+
const _super = Object.create(null, {
|
|
1461
|
+
postVisit: { get: () => super.postVisit }
|
|
1462
|
+
});
|
|
1463
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1464
|
+
var _a;
|
|
1465
|
+
if (this.stopAfter != null && (0, tree_2.isScope)(this.stopAfter, tree)) {
|
|
1466
|
+
(_a = this.cursor) === null || _a === void 0 ? void 0 : _a.root.messages.set("stop", true);
|
|
1467
|
+
}
|
|
1468
|
+
return _super.postVisit.call(this, tree, p);
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1295
1471
|
}
|
|
1296
1472
|
exports.TabsAndIndentsVisitor = TabsAndIndentsVisitor;
|
|
1297
1473
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/javascript/visitor.ts"],"names":[],"mappings":"AAkBA,OAAO,
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/javascript/visitor.ts"],"names":[],"mappings":"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"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.65.0-
|
|
1
|
+
8.65.0-20251026-005741
|
package/package.json
CHANGED
package/src/javascript/format.ts
CHANGED
|
@@ -17,7 +17,7 @@ import {JS} from "./tree";
|
|
|
17
17
|
import {JavaScriptVisitor} from "./visitor";
|
|
18
18
|
import {Comment, emptySpace, J, Statement} from "../java";
|
|
19
19
|
import {Draft, produce} from "immer";
|
|
20
|
-
import {Cursor, Tree} from "../tree";
|
|
20
|
+
import {Cursor, isScope, Tree} from "../tree";
|
|
21
21
|
import {
|
|
22
22
|
BlankLinesStyle,
|
|
23
23
|
SpacesStyle,
|
|
@@ -28,15 +28,30 @@ import {
|
|
|
28
28
|
} from "./style";
|
|
29
29
|
import {produceAsync} from "../visitor";
|
|
30
30
|
|
|
31
|
+
export async function maybeAutoFormat<J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> {
|
|
32
|
+
if (before !== after) {
|
|
33
|
+
return autoFormat(after, p, stopAfter, parent);
|
|
34
|
+
}
|
|
35
|
+
return after;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export async function autoFormat<J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> {
|
|
39
|
+
return await new AutoformatVisitor(stopAfter).visit(j, p, parent) as J2;
|
|
40
|
+
}
|
|
41
|
+
|
|
31
42
|
export class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
|
|
43
|
+
constructor(private stopAfter?: Tree) {
|
|
44
|
+
super();
|
|
45
|
+
}
|
|
46
|
+
|
|
32
47
|
async visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined> {
|
|
33
48
|
const visitors = [
|
|
34
|
-
new NormalizeWhitespaceVisitor(),
|
|
35
|
-
new MinimumViableSpacingVisitor(),
|
|
36
|
-
new BlankLinesVisitor(styleFromSourceFile(StyleKind.BlankLinesStyle, tree) as BlankLinesStyle),
|
|
37
|
-
new WrappingAndBracesVisitor(styleFromSourceFile(StyleKind.WrappingAndBracesStyle, tree) as WrappingAndBracesStyle),
|
|
38
|
-
new SpacesVisitor(styleFromSourceFile(StyleKind.SpacesStyle, tree) as SpacesStyle),
|
|
39
|
-
new TabsAndIndentsVisitor(styleFromSourceFile(StyleKind.TabsAndIndentsStyle, tree) as TabsAndIndentsStyle),
|
|
49
|
+
new NormalizeWhitespaceVisitor(this.stopAfter),
|
|
50
|
+
new MinimumViableSpacingVisitor(this.stopAfter),
|
|
51
|
+
new BlankLinesVisitor(styleFromSourceFile(StyleKind.BlankLinesStyle, tree) as BlankLinesStyle, this.stopAfter),
|
|
52
|
+
new WrappingAndBracesVisitor(styleFromSourceFile(StyleKind.WrappingAndBracesStyle, tree) as WrappingAndBracesStyle, this.stopAfter),
|
|
53
|
+
new SpacesVisitor(styleFromSourceFile(StyleKind.SpacesStyle, tree) as SpacesStyle, this.stopAfter),
|
|
54
|
+
new TabsAndIndentsVisitor(styleFromSourceFile(StyleKind.TabsAndIndentsStyle, tree) as TabsAndIndentsStyle, this.stopAfter),
|
|
40
55
|
]
|
|
41
56
|
|
|
42
57
|
let t: R | undefined = tree as R;
|
|
@@ -53,6 +68,24 @@ export class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
53
68
|
export class NormalizeWhitespaceVisitor<P> extends JavaScriptVisitor<P> {
|
|
54
69
|
// called NormalizeFormat in Java
|
|
55
70
|
|
|
71
|
+
constructor(private stopAfter?: Tree) {
|
|
72
|
+
super();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
|
|
76
|
+
if (this.cursor?.getNearestMessage("stop") != null) {
|
|
77
|
+
return tree as R;
|
|
78
|
+
}
|
|
79
|
+
return super.visit(tree, p, parent);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
override async postVisit(tree: J, p: P): Promise<J | undefined> {
|
|
83
|
+
if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
|
|
84
|
+
this.cursor?.root.messages.set("stop", true);
|
|
85
|
+
}
|
|
86
|
+
return super.postVisit(tree, p);
|
|
87
|
+
}
|
|
88
|
+
|
|
56
89
|
private concatenatePrefix(node: Draft<J>, right: J.Space) {
|
|
57
90
|
// TODO look at https://github.com/openrewrite/rewrite/commit/990a366fab9e5656812d81d0eb15ecb6bfd2fde0#diff-ec2e977fe8f1e189735e71b817f8f1ebaf79c1490c0210652e8a559f7f7877de
|
|
58
91
|
// and possibly incorporate it here - some special logic needed to merge comments better (?)
|
|
@@ -62,10 +95,24 @@ export class NormalizeWhitespaceVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
62
95
|
}
|
|
63
96
|
|
|
64
97
|
export class SpacesVisitor<P> extends JavaScriptVisitor<P> {
|
|
65
|
-
constructor(private style: SpacesStyle) {
|
|
98
|
+
constructor(private style: SpacesStyle, private stopAfter?: Tree) {
|
|
66
99
|
super();
|
|
67
100
|
}
|
|
68
101
|
|
|
102
|
+
override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
|
|
103
|
+
if (this.cursor?.getNearestMessage("stop") != null) {
|
|
104
|
+
return tree as R;
|
|
105
|
+
}
|
|
106
|
+
return super.visit(tree, p, parent);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
override async postVisit(tree: J, p: P): Promise<J | undefined> {
|
|
110
|
+
if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
|
|
111
|
+
this.cursor?.root.messages.set("stop", true);
|
|
112
|
+
}
|
|
113
|
+
return super.postVisit(tree, p);
|
|
114
|
+
}
|
|
115
|
+
|
|
69
116
|
protected async visitAlias(alias: JS.Alias, p: P): Promise<J | undefined> {
|
|
70
117
|
const ret = await super.visitAlias(alias, p) as JS.Alias;
|
|
71
118
|
return produce(ret, draft => {
|
|
@@ -517,10 +564,24 @@ export class SpacesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
517
564
|
}
|
|
518
565
|
|
|
519
566
|
export class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
|
|
520
|
-
constructor(private readonly style: WrappingAndBracesStyle) {
|
|
567
|
+
constructor(private readonly style: WrappingAndBracesStyle, private stopAfter?: Tree) {
|
|
521
568
|
super();
|
|
522
569
|
}
|
|
523
570
|
|
|
571
|
+
override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
|
|
572
|
+
if (this.cursor?.getNearestMessage("stop") != null) {
|
|
573
|
+
return tree as R;
|
|
574
|
+
}
|
|
575
|
+
return super.visit(tree, p, parent);
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
override async postVisit(tree: J, p: P): Promise<J | undefined> {
|
|
579
|
+
if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
|
|
580
|
+
this.cursor?.root.messages.set("stop", true);
|
|
581
|
+
}
|
|
582
|
+
return super.postVisit(tree, p);
|
|
583
|
+
}
|
|
584
|
+
|
|
524
585
|
public async visitStatement(statement: Statement, p: P): Promise<Statement> {
|
|
525
586
|
const j = await super.visitStatement(statement, p) as Statement;
|
|
526
587
|
// TODO is it needed?
|
|
@@ -662,10 +723,24 @@ export class WrappingAndBracesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
662
723
|
|
|
663
724
|
|
|
664
725
|
export class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P> {
|
|
665
|
-
constructor() {
|
|
726
|
+
constructor(private stopAfter?: Tree) {
|
|
666
727
|
super();
|
|
667
728
|
}
|
|
668
729
|
|
|
730
|
+
override async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
|
|
731
|
+
if (this.cursor?.getNearestMessage("stop") != null) {
|
|
732
|
+
return tree as R;
|
|
733
|
+
}
|
|
734
|
+
return super.visit(tree, p, parent);
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
override async postVisit(tree: J, p: P): Promise<J | undefined> {
|
|
738
|
+
if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
|
|
739
|
+
this.cursor?.root.messages.set("stop", true);
|
|
740
|
+
}
|
|
741
|
+
return super.postVisit(tree, p);
|
|
742
|
+
}
|
|
743
|
+
|
|
669
744
|
protected async visitAwait(await_: JS.Await, p: P): Promise<J | undefined> {
|
|
670
745
|
const ret = await super.visitAwait(await_, p) as JS.Await;
|
|
671
746
|
return produce(ret, draft => {
|
|
@@ -877,11 +952,14 @@ export class MinimumViableSpacingVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
877
952
|
}
|
|
878
953
|
|
|
879
954
|
export class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
|
|
880
|
-
constructor(private readonly style: BlankLinesStyle) {
|
|
955
|
+
constructor(private readonly style: BlankLinesStyle, private stopAfter?: Tree) {
|
|
881
956
|
super();
|
|
882
957
|
}
|
|
883
958
|
|
|
884
959
|
override async visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined> {
|
|
960
|
+
if (this.cursor?.getNearestMessage("stop") != null) {
|
|
961
|
+
return tree as R;
|
|
962
|
+
}
|
|
885
963
|
if (tree.kind === JS.Kind.CompilationUnit) {
|
|
886
964
|
const cu = produce(tree as JS.CompilationUnit, draft => {
|
|
887
965
|
if (draft.prefix.comments.length == 0) {
|
|
@@ -1041,13 +1119,20 @@ export class BlankLinesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
1041
1119
|
private static countNewlines(s: string): number {
|
|
1042
1120
|
return [...s].filter(c => c === "\n").length;
|
|
1043
1121
|
}
|
|
1122
|
+
|
|
1123
|
+
override async postVisit(tree: J, p: P): Promise<J | undefined> {
|
|
1124
|
+
if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
|
|
1125
|
+
this.cursor?.root.messages.set("stop", true);
|
|
1126
|
+
}
|
|
1127
|
+
return super.postVisit(tree, p);
|
|
1128
|
+
}
|
|
1044
1129
|
}
|
|
1045
1130
|
|
|
1046
1131
|
export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
1047
1132
|
private readonly newline: string;
|
|
1048
1133
|
private readonly singleIndent: string;
|
|
1049
1134
|
|
|
1050
|
-
constructor(private readonly tabsAndIndentsStyle: TabsAndIndentsStyle) {
|
|
1135
|
+
constructor(private readonly tabsAndIndentsStyle: TabsAndIndentsStyle, private stopAfter?: Tree) {
|
|
1051
1136
|
super();
|
|
1052
1137
|
this.newline = "\n"; // TODO this should be configurable and come from some style too
|
|
1053
1138
|
|
|
@@ -1060,7 +1145,26 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
1060
1145
|
|
|
1061
1146
|
protected async preVisit(tree: J, p: P): Promise<J | undefined> {
|
|
1062
1147
|
const ret = await super.preVisit(tree, p);
|
|
1063
|
-
|
|
1148
|
+
let indentShouldIncrease = tree.kind === J.Kind.Block || tree.kind === J.Kind.Case;
|
|
1149
|
+
|
|
1150
|
+
// Increase indent for control structures with non-block bodies
|
|
1151
|
+
if (tree.kind === J.Kind.If) {
|
|
1152
|
+
const ifStmt = tree as J.If;
|
|
1153
|
+
if (ifStmt.thenPart.element.kind !== J.Kind.Block) {
|
|
1154
|
+
indentShouldIncrease = true;
|
|
1155
|
+
}
|
|
1156
|
+
} else if (tree.kind === J.Kind.WhileLoop) {
|
|
1157
|
+
const whileLoop = tree as J.WhileLoop;
|
|
1158
|
+
if (whileLoop.body.element.kind !== J.Kind.Block) {
|
|
1159
|
+
indentShouldIncrease = true;
|
|
1160
|
+
}
|
|
1161
|
+
} else if (tree.kind === J.Kind.ForLoop) {
|
|
1162
|
+
const forLoop = tree as J.ForLoop;
|
|
1163
|
+
if (forLoop.body.element.kind !== J.Kind.Block) {
|
|
1164
|
+
indentShouldIncrease = true;
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1064
1168
|
if (indentShouldIncrease) {
|
|
1065
1169
|
this.cursor.messages.set("indentToUse", this.currentIndent + this.singleIndent);
|
|
1066
1170
|
}
|
|
@@ -1068,6 +1172,9 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
1068
1172
|
}
|
|
1069
1173
|
|
|
1070
1174
|
async visit<R extends J>(tree: Tree, p: P, parent?: Cursor): Promise<R | undefined> {
|
|
1175
|
+
if (this.cursor?.getNearestMessage("stop") != null) {
|
|
1176
|
+
return tree as R;
|
|
1177
|
+
}
|
|
1071
1178
|
let ret = await super.visit(tree, p, parent) as R;
|
|
1072
1179
|
if (ret == undefined) {
|
|
1073
1180
|
return ret;
|
|
@@ -1116,4 +1223,11 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
1116
1223
|
private combineIndent(oldWs: string, relativeIndent: string): string {
|
|
1117
1224
|
return oldWs.substring(0, oldWs.lastIndexOf("\n") + 1) + relativeIndent;
|
|
1118
1225
|
}
|
|
1226
|
+
|
|
1227
|
+
override async postVisit(tree: J, p: P): Promise<J | undefined> {
|
|
1228
|
+
if (this.stopAfter != null && isScope(this.stopAfter, tree)) {
|
|
1229
|
+
this.cursor?.root.messages.set("stop", true);
|
|
1230
|
+
}
|
|
1231
|
+
return super.postVisit(tree, p);
|
|
1232
|
+
}
|
|
1119
1233
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
import {mapAsync, updateIfChanged} from "../util";
|
|
19
|
-
import {SourceFile} from "../tree";
|
|
19
|
+
import {Cursor, SourceFile} from "../tree";
|
|
20
20
|
import {ValidImmerRecipeReturnType} from "../visitor";
|
|
21
21
|
import {Expression, J, Type, JavaVisitor, NameTree, Statement, TypedTree} from "../java";
|
|
22
22
|
import {createDraft, Draft, finishDraft} from "immer";
|