@openrewrite/rewrite 8.62.3 → 8.62.5
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/execution.d.ts.map +1 -1
- package/dist/execution.js.map +1 -1
- package/dist/java/rpc.d.ts +1 -0
- package/dist/java/rpc.d.ts.map +1 -1
- package/dist/java/rpc.js +81 -0
- package/dist/java/rpc.js.map +1 -1
- package/dist/java/tree.d.ts +12 -6
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js +12 -92
- package/dist/java/tree.js.map +1 -1
- package/dist/java/type.d.ts +2 -0
- package/dist/java/type.d.ts.map +1 -1
- package/dist/java/type.js +12 -0
- package/dist/java/type.js.map +1 -1
- package/dist/java/visitor.d.ts +12 -4
- package/dist/java/visitor.d.ts.map +1 -1
- package/dist/java/visitor.js +23 -1
- package/dist/java/visitor.js.map +1 -1
- package/dist/javascript/format.d.ts +2 -2
- package/dist/javascript/format.d.ts.map +1 -1
- package/dist/javascript/format.js.map +1 -1
- package/dist/javascript/index.d.ts +3 -0
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +3 -0
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/method-matcher.d.ts +16 -0
- package/dist/javascript/method-matcher.d.ts.map +1 -0
- package/dist/javascript/method-matcher.js +222 -0
- package/dist/javascript/method-matcher.js.map +1 -0
- package/dist/javascript/parser.d.ts +1 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +27 -5
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/preconditions.d.ts +6 -0
- package/dist/javascript/preconditions.d.ts.map +1 -0
- package/dist/javascript/preconditions.js +58 -0
- package/dist/javascript/preconditions.js.map +1 -0
- package/dist/javascript/print.d.ts +2 -2
- package/dist/javascript/print.d.ts.map +1 -1
- package/dist/javascript/print.js.map +1 -1
- package/dist/javascript/remove-import.d.ts +56 -0
- package/dist/javascript/remove-import.d.ts.map +1 -0
- package/dist/javascript/remove-import.js +715 -0
- package/dist/javascript/remove-import.js.map +1 -0
- package/dist/javascript/rpc.js +3 -18
- package/dist/javascript/rpc.js.map +1 -1
- package/dist/javascript/search/index.d.ts +3 -0
- package/dist/javascript/search/index.d.ts.map +1 -0
- package/dist/javascript/search/index.js +19 -0
- package/dist/javascript/search/index.js.map +1 -0
- package/dist/javascript/search/uses-method.d.ts +8 -0
- package/dist/javascript/search/uses-method.d.ts.map +1 -0
- package/dist/javascript/search/uses-method.js +35 -0
- package/dist/javascript/search/uses-method.js.map +1 -0
- package/dist/javascript/search/uses-type.d.ts +8 -0
- package/dist/javascript/search/uses-type.d.ts.map +1 -0
- package/dist/javascript/search/uses-type.js +71 -0
- package/dist/javascript/search/uses-type.js.map +1 -0
- package/dist/javascript/templating.d.ts +1 -1
- package/dist/javascript/templating.d.ts.map +1 -1
- package/dist/javascript/templating.js +1 -1
- package/dist/javascript/templating.js.map +1 -1
- package/dist/javascript/tree.d.ts +3 -3
- package/dist/javascript/tree.d.ts.map +1 -1
- package/dist/javascript/tree.js +28 -0
- package/dist/javascript/tree.js.map +1 -1
- package/dist/javascript/type-mapping.d.ts +7 -18
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +290 -203
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/javascript/visitor.d.ts +1 -1
- package/dist/javascript/visitor.d.ts.map +1 -1
- package/dist/javascript/visitor.js +1 -1
- package/dist/javascript/visitor.js.map +1 -1
- package/dist/json/print.js.map +1 -1
- package/dist/json/rpc.js +46 -17
- package/dist/json/rpc.js.map +1 -1
- package/dist/json/visitor.d.ts +2 -2
- package/dist/json/visitor.d.ts.map +1 -1
- package/dist/json/visitor.js.map +1 -1
- package/dist/print.d.ts +1 -0
- package/dist/print.d.ts.map +1 -1
- package/dist/print.js +6 -0
- package/dist/print.js.map +1 -1
- package/dist/rpc/queue.d.ts +15 -6
- package/dist/rpc/queue.d.ts.map +1 -1
- package/dist/rpc/queue.js +37 -13
- package/dist/rpc/queue.js.map +1 -1
- package/dist/rpc/request/generate.d.ts +4 -0
- package/dist/rpc/request/generate.d.ts.map +1 -1
- package/dist/rpc/request/generate.js +9 -4
- package/dist/rpc/request/generate.js.map +1 -1
- package/dist/rpc/request/get-object.d.ts +2 -2
- package/dist/rpc/request/get-object.d.ts.map +1 -1
- package/dist/rpc/request/get-object.js +4 -12
- package/dist/rpc/request/get-object.js.map +1 -1
- package/dist/rpc/request/parse.d.ts.map +1 -1
- package/dist/rpc/request/parse.js.map +1 -1
- package/dist/rpc/request/print.d.ts +1 -1
- package/dist/rpc/request/print.d.ts.map +1 -1
- package/dist/rpc/request/print.js +1 -1
- package/dist/rpc/request/print.js.map +1 -1
- package/dist/rpc/request/visit.d.ts +3 -2
- package/dist/rpc/request/visit.d.ts.map +1 -1
- package/dist/rpc/request/visit.js +5 -4
- package/dist/rpc/request/visit.js.map +1 -1
- package/dist/rpc/rewrite-rpc.d.ts +4 -4
- package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
- package/dist/rpc/rewrite-rpc.js +16 -17
- package/dist/rpc/rewrite-rpc.js.map +1 -1
- package/dist/search/index.d.ts +2 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +18 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/is-source-file.d.ts +8 -0
- package/dist/search/is-source-file.d.ts.map +1 -0
- package/dist/search/is-source-file.js +70 -0
- package/dist/search/is-source-file.js.map +1 -0
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +3 -0
- package/dist/test/rewrite-test.js.map +1 -1
- package/dist/text/rpc.js +37 -40
- package/dist/text/rpc.js.map +1 -1
- package/dist/util.d.ts +1 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +13 -0
- package/dist/util.js.map +1 -1
- package/dist/version.txt +1 -1
- package/dist/visitor.d.ts +1 -1
- package/dist/visitor.d.ts.map +1 -1
- package/dist/visitor.js +3 -2
- package/dist/visitor.js.map +1 -1
- package/package.json +3 -1
- package/src/execution.ts +0 -2
- package/src/java/rpc.ts +68 -0
- package/src/java/tree.ts +20 -76
- package/src/java/type.ts +14 -0
- package/src/java/visitor.ts +32 -12
- package/src/javascript/format.ts +2 -2
- package/src/javascript/index.ts +4 -0
- package/src/javascript/method-matcher.ts +250 -0
- package/src/javascript/parser.ts +20 -6
- package/src/javascript/preconditions.ts +40 -0
- package/src/javascript/print.ts +3 -3
- package/src/javascript/remove-import.ts +780 -0
- package/src/javascript/rpc.ts +6 -19
- package/src/javascript/search/index.ts +2 -0
- package/src/javascript/search/uses-method.ts +21 -0
- package/src/javascript/search/uses-type.ts +27 -0
- package/src/javascript/templating.ts +4 -3
- package/src/javascript/tree.ts +47 -3
- package/src/javascript/type-mapping.ts +320 -214
- package/src/javascript/visitor.ts +126 -126
- package/src/json/print.ts +1 -1
- package/src/json/rpc.ts +40 -19
- package/src/json/visitor.ts +2 -2
- package/src/print.ts +9 -3
- package/src/rpc/queue.ts +36 -12
- package/src/rpc/request/generate.ts +18 -6
- package/src/rpc/request/get-object.ts +6 -13
- package/src/rpc/request/parse.ts +1 -1
- package/src/rpc/request/print.ts +2 -2
- package/src/rpc/request/visit.ts +6 -5
- package/src/rpc/rewrite-rpc.ts +22 -21
- package/src/search/index.ts +1 -0
- package/src/search/is-source-file.ts +26 -0
- package/src/test/rewrite-test.ts +5 -2
- package/src/text/rpc.ts +33 -37
- package/src/util.ts +19 -4
- package/src/visitor.ts +3 -3
package/src/javascript/parser.ts
CHANGED
|
@@ -57,6 +57,19 @@ export interface JavaScriptParserOptions extends ParserOptions {
|
|
|
57
57
|
sourceFileCache?: Map<string, ts.SourceFile>
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
function getScriptKindFromFileName(fileName: string): ts.ScriptKind {
|
|
61
|
+
const ext = fileName.toLowerCase();
|
|
62
|
+
if (ext.endsWith('.tsx')) return ts.ScriptKind.TSX;
|
|
63
|
+
if (ext.endsWith('.jsx')) return ts.ScriptKind.JSX;
|
|
64
|
+
if (ext.endsWith('.ts')) return ts.ScriptKind.TS;
|
|
65
|
+
if (ext.endsWith('.js')) return ts.ScriptKind.JS;
|
|
66
|
+
if (ext.endsWith('.mjs')) return ts.ScriptKind.JS;
|
|
67
|
+
if (ext.endsWith('.cjs')) return ts.ScriptKind.JS;
|
|
68
|
+
if (ext.endsWith('.mts')) return ts.ScriptKind.TS;
|
|
69
|
+
if (ext.endsWith('.cts')) return ts.ScriptKind.TS;
|
|
70
|
+
return ts.ScriptKind.TS;
|
|
71
|
+
}
|
|
72
|
+
|
|
60
73
|
export class JavaScriptParser extends Parser {
|
|
61
74
|
|
|
62
75
|
private readonly compilerOptions: ts.CompilerOptions;
|
|
@@ -138,7 +151,9 @@ export class JavaScriptParser extends Parser {
|
|
|
138
151
|
}
|
|
139
152
|
|
|
140
153
|
if (sourceText !== undefined) {
|
|
141
|
-
|
|
154
|
+
// Determine script kind based on file extension
|
|
155
|
+
const scriptKind = getScriptKindFromFileName(fileName);
|
|
156
|
+
sourceFile = ts.createSourceFile(fileName, sourceText, languageVersion, true, scriptKind);
|
|
142
157
|
// Cache the SourceFile if it's a dependency
|
|
143
158
|
if (!input && this.sourceFileCache) {
|
|
144
159
|
this.sourceFileCache.set(fileName, sourceFile);
|
|
@@ -192,7 +207,7 @@ export class JavaScriptParser extends Parser {
|
|
|
192
207
|
|
|
193
208
|
try {
|
|
194
209
|
yield produce(
|
|
195
|
-
new JavaScriptParserVisitor(sourceFile, this.relativePath(input), typeChecker
|
|
210
|
+
new JavaScriptParserVisitor(sourceFile, this.relativePath(input), typeChecker)
|
|
196
211
|
.visit(sourceFile) as SourceFile,
|
|
197
212
|
draft => {
|
|
198
213
|
if (this.styles) {
|
|
@@ -222,9 +237,8 @@ export class JavaScriptParserVisitor {
|
|
|
222
237
|
constructor(
|
|
223
238
|
private readonly sourceFile: ts.SourceFile,
|
|
224
239
|
private readonly sourcePath: string,
|
|
225
|
-
typeChecker: ts.TypeChecker
|
|
226
|
-
|
|
227
|
-
this.typeMapping = new JavaScriptTypeMapping(typeChecker, projectRoot);
|
|
240
|
+
typeChecker: ts.TypeChecker) {
|
|
241
|
+
this.typeMapping = new JavaScriptTypeMapping(typeChecker);
|
|
228
242
|
}
|
|
229
243
|
|
|
230
244
|
visit = (node: ts.Node): any => {
|
|
@@ -1884,7 +1898,7 @@ export class JavaScriptParserVisitor {
|
|
|
1884
1898
|
function: select,
|
|
1885
1899
|
typeParameters: typeArguments,
|
|
1886
1900
|
arguments: this.mapCommaSeparatedList(node.getChildren(this.sourceFile).slice(-3)),
|
|
1887
|
-
|
|
1901
|
+
methodType: this.mapMethodType(node)
|
|
1888
1902
|
}
|
|
1889
1903
|
}
|
|
1890
1904
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 the original author or authors.
|
|
3
|
+
* <p>
|
|
4
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
* <p>
|
|
8
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
9
|
+
* <p>
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import {RewriteRpc} from "../rpc";
|
|
17
|
+
import {Recipe} from "../recipe";
|
|
18
|
+
import {UsesMethod, UsesType} from "./search";
|
|
19
|
+
import {ExecutionContext} from "../execution";
|
|
20
|
+
import {TreeVisitor} from "../visitor";
|
|
21
|
+
import {IsSourceFile} from "../search";
|
|
22
|
+
|
|
23
|
+
export async function hasSourcePath(filePattern: string): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
24
|
+
return await (await RewriteRpc.get()?.prepareRecipe("org.openrewrite.FindSourceFiles", {
|
|
25
|
+
filePattern
|
|
26
|
+
}))?.editor() || new IsSourceFile(filePattern);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export async function usesMethod(methodMatcher: string, matchOverrides: boolean = false): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
30
|
+
return await (await RewriteRpc.get()?.prepareRecipe("org.openrewrite.java.search.UsesMethod", {
|
|
31
|
+
methodMatcher,
|
|
32
|
+
matchOverrides
|
|
33
|
+
}))?.editor() || new UsesMethod(methodMatcher)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export async function usesType(fullyQualifiedType: string): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
37
|
+
return await (await RewriteRpc.get()?.prepareRecipe("org.openrewrite.java.search.UsesType", {
|
|
38
|
+
fullyQualifiedType
|
|
39
|
+
}))?.editor() || new UsesType(fullyQualifiedType);
|
|
40
|
+
}
|
package/src/javascript/print.ts
CHANGED
|
@@ -21,7 +21,7 @@ import {PrintOutputCapture, TreePrinters} from "../print";
|
|
|
21
21
|
import {Cursor, isTree, Tree} from "../tree";
|
|
22
22
|
import {Comment, emptySpace, J, Statement, TextComment, TrailingComma, TypedTree} from "../java";
|
|
23
23
|
import {findMarker, Marker, Markers} from "../markers";
|
|
24
|
-
import {
|
|
24
|
+
import {DelegatedYield, FunctionDeclaration, Generator, NonNullAssertion, Optional, Spread} from "./markers";
|
|
25
25
|
|
|
26
26
|
export class JavaScriptPrinter extends JavaScriptVisitor<PrintOutputCapture> {
|
|
27
27
|
|
|
@@ -81,7 +81,7 @@ export class JavaScriptPrinter extends JavaScriptVisitor<PrintOutputCapture> {
|
|
|
81
81
|
return statement;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
override async visitStatementExpression(statementExpression: JS.StatementExpression, p: PrintOutputCapture): Promise<J |
|
|
84
|
+
override async visitStatementExpression(statementExpression: JS.StatementExpression, p: PrintOutputCapture): Promise<J | undefined> {
|
|
85
85
|
await this.visitSpace(statementExpression.prefix, p);
|
|
86
86
|
await this.visitMarkers(statementExpression.markers, p);
|
|
87
87
|
await this.visit(statementExpression.statement, p);
|
|
@@ -1823,7 +1823,7 @@ export class JavaScriptPrinter extends JavaScriptVisitor<PrintOutputCapture> {
|
|
|
1823
1823
|
}
|
|
1824
1824
|
}
|
|
1825
1825
|
|
|
1826
|
-
|
|
1826
|
+
public async visitRightPadded<T extends J | boolean>(right: J.RightPadded<T>, p: PrintOutputCapture): Promise<J.RightPadded<T>> {
|
|
1827
1827
|
if (isTree(right.element)) {
|
|
1828
1828
|
await this.visit(right.element, p);
|
|
1829
1829
|
}
|