@openrewrite/rewrite 8.72.2 → 8.72.4
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.js +3 -16
- package/dist/execution.js.map +1 -1
- package/dist/index.js +34 -49
- package/dist/index.js.map +1 -1
- package/dist/java/markers.js +12 -29
- package/dist/java/markers.js.map +1 -1
- package/dist/java/print.js +2 -13
- package/dist/java/print.js.map +1 -1
- package/dist/java/rpc.js +1344 -1725
- package/dist/java/rpc.js.map +1 -1
- package/dist/java/type-visitor.js +143 -184
- package/dist/java/type-visitor.js.map +1 -1
- package/dist/java/visitor.js +1072 -1249
- package/dist/java/visitor.js.map +1 -1
- package/dist/javascript/add-import.js +495 -534
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/autodetect.js +116 -159
- package/dist/javascript/autodetect.js.map +1 -1
- package/dist/javascript/cleanup/add-parse-int-radix.js +41 -57
- package/dist/javascript/cleanup/add-parse-int-radix.js.map +1 -1
- package/dist/javascript/cleanup/prefer-optional-chain.js +89 -105
- package/dist/javascript/cleanup/prefer-optional-chain.js.map +1 -1
- package/dist/javascript/cleanup/use-object-property-shorthand.js +74 -95
- package/dist/javascript/cleanup/use-object-property-shorthand.js.map +1 -1
- package/dist/javascript/comparator.js +815 -1167
- package/dist/javascript/comparator.js.map +1 -1
- package/dist/javascript/dependency-workspace.js +206 -219
- package/dist/javascript/dependency-workspace.js.map +1 -1
- package/dist/javascript/format/format.js +682 -908
- package/dist/javascript/format/format.js.map +1 -1
- package/dist/javascript/format/minimum-viable-spacing-visitor.js +152 -231
- package/dist/javascript/format/minimum-viable-spacing-visitor.js.map +1 -1
- package/dist/javascript/format/normalize-whitespace-visitor.js +12 -31
- package/dist/javascript/format/normalize-whitespace-visitor.js.map +1 -1
- package/dist/javascript/format/prettier-config-loader.js +134 -153
- package/dist/javascript/format/prettier-config-loader.js.map +1 -1
- package/dist/javascript/format/prettier-format.js +112 -129
- package/dist/javascript/format/prettier-format.js.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.js +112 -136
- package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
- package/dist/javascript/markers.js +59 -92
- package/dist/javascript/markers.js.map +1 -1
- package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js +39 -52
- package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js.map +1 -1
- package/dist/javascript/migrate/es6/modernize-octal-literals.js +25 -38
- package/dist/javascript/migrate/es6/modernize-octal-literals.js.map +1 -1
- package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js +66 -82
- package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js.map +1 -1
- package/dist/javascript/migrate/typescript/export-assignment-to-export-default.js +10 -23
- package/dist/javascript/migrate/typescript/export-assignment-to-export-default.js.map +1 -1
- package/dist/javascript/node-resolution-result.js +137 -166
- package/dist/javascript/node-resolution-result.js.map +1 -1
- package/dist/javascript/package-json-parser.js +312 -343
- package/dist/javascript/package-json-parser.js.map +1 -1
- package/dist/javascript/package-manager.js +145 -170
- package/dist/javascript/package-manager.js.map +1 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +94 -68
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/print.js +1572 -1835
- package/dist/javascript/print.js.map +1 -1
- package/dist/javascript/project-parser.js +151 -172
- package/dist/javascript/project-parser.js.map +1 -1
- package/dist/javascript/recipes/add-dependency.js +140 -175
- package/dist/javascript/recipes/add-dependency.js.map +1 -1
- package/dist/javascript/recipes/async-callback-in-sync-array-method.js +20 -36
- package/dist/javascript/recipes/async-callback-in-sync-array-method.js.map +1 -1
- package/dist/javascript/recipes/auto-format.js +3 -14
- package/dist/javascript/recipes/auto-format.js.map +1 -1
- package/dist/javascript/recipes/change-import.js +447 -495
- package/dist/javascript/recipes/change-import.js.map +1 -1
- package/dist/javascript/recipes/order-imports.js +162 -175
- package/dist/javascript/recipes/order-imports.js.map +1 -1
- package/dist/javascript/recipes/upgrade-dependency-version.js +167 -197
- package/dist/javascript/recipes/upgrade-dependency-version.js.map +1 -1
- package/dist/javascript/recipes/upgrade-transitive-dependency-version.js +166 -193
- package/dist/javascript/recipes/upgrade-transitive-dependency-version.js.map +1 -1
- package/dist/javascript/remove-import.js +689 -724
- package/dist/javascript/remove-import.js.map +1 -1
- package/dist/javascript/rpc.js +1007 -1332
- package/dist/javascript/rpc.js.map +1 -1
- package/dist/javascript/search/find-dependency.js +84 -110
- package/dist/javascript/search/find-dependency.js.map +1 -1
- package/dist/javascript/search/uses-method.js +5 -19
- package/dist/javascript/search/uses-method.js.map +1 -1
- package/dist/javascript/search/uses-type.js +9 -20
- package/dist/javascript/search/uses-type.js.map +1 -1
- package/dist/javascript/templating/comparator.js +737 -822
- package/dist/javascript/templating/comparator.js.map +1 -1
- package/dist/javascript/templating/engine.js +211 -245
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/pattern.js +169 -190
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +172 -210
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/templating/rewrite.js +75 -97
- package/dist/javascript/templating/rewrite.js.map +1 -1
- package/dist/javascript/templating/template.js +69 -82
- package/dist/javascript/templating/template.js.map +1 -1
- package/dist/javascript/tree-debug.js +109 -137
- package/dist/javascript/tree-debug.js.map +1 -1
- package/dist/javascript/visitor.js +1090 -1254
- package/dist/javascript/visitor.js.map +1 -1
- package/dist/json/print.js +72 -103
- package/dist/json/print.js.map +1 -1
- package/dist/json/rpc.js +120 -181
- package/dist/json/rpc.js.map +1 -1
- package/dist/json/visitor.js +69 -100
- package/dist/json/visitor.js.map +1 -1
- package/dist/marketplace.js +20 -33
- package/dist/marketplace.js.map +1 -1
- package/dist/parse-error.js +41 -62
- package/dist/parse-error.js.map +1 -1
- package/dist/parser.js +7 -18
- package/dist/parser.js.map +1 -1
- package/dist/path-utils.js +46 -59
- package/dist/path-utils.js.map +1 -1
- package/dist/preconditions.js +30 -47
- package/dist/preconditions.js.map +1 -1
- package/dist/print.js +6 -19
- package/dist/print.js.map +1 -1
- package/dist/recipe.js +42 -73
- package/dist/recipe.js.map +1 -1
- package/dist/rpc/index.js +74 -115
- package/dist/rpc/index.js.map +1 -1
- package/dist/rpc/queue.js +71 -90
- package/dist/rpc/queue.js.map +1 -1
- package/dist/rpc/recipe.js +32 -57
- package/dist/rpc/recipe.js.map +1 -1
- package/dist/rpc/request/generate.js +4 -13
- package/dist/rpc/request/generate.js.map +1 -1
- package/dist/rpc/request/get-languages.js +2 -11
- package/dist/rpc/request/get-languages.js.map +1 -1
- package/dist/rpc/request/get-marketplace.js +9 -20
- package/dist/rpc/request/get-marketplace.js.map +1 -1
- package/dist/rpc/request/get-object.js +4 -13
- package/dist/rpc/request/get-object.js.map +1 -1
- package/dist/rpc/request/install-recipes.js +25 -36
- package/dist/rpc/request/install-recipes.js.map +1 -1
- package/dist/rpc/request/metrics.js +8 -17
- package/dist/rpc/request/metrics.js.map +1 -1
- package/dist/rpc/request/parse-project.js +36 -45
- package/dist/rpc/request/parse-project.js.map +1 -1
- package/dist/rpc/request/parse.js +5 -14
- package/dist/rpc/request/parse.js.map +1 -1
- package/dist/rpc/request/prepare-recipe.js +37 -52
- package/dist/rpc/request/prepare-recipe.js.map +1 -1
- package/dist/rpc/request/print.js +5 -14
- package/dist/rpc/request/print.js.map +1 -1
- package/dist/rpc/request/visit.js +56 -71
- package/dist/rpc/request/visit.js.map +1 -1
- package/dist/rpc/rewrite-rpc.js +70 -97
- package/dist/rpc/rewrite-rpc.js.map +1 -1
- package/dist/rpc/server.js +76 -89
- package/dist/rpc/server.js.map +1 -1
- package/dist/run.js +47 -66
- package/dist/run.js.map +1 -1
- package/dist/search/is-source-file.js +8 -19
- package/dist/search/is-source-file.js.map +1 -1
- package/dist/test/rewrite-test.js +154 -188
- package/dist/test/rewrite-test.js.map +1 -1
- package/dist/text/print.js +23 -38
- package/dist/text/print.js.map +1 -1
- package/dist/text/rpc.js +29 -44
- package/dist/text/rpc.js.map +1 -1
- package/dist/text/visitor.js +16 -33
- package/dist/text/visitor.js.map +1 -1
- package/dist/util.js +13 -24
- package/dist/util.js.map +1 -1
- package/dist/version.txt +1 -1
- package/dist/visitor.js +84 -115
- package/dist/visitor.js.map +1 -1
- package/dist/yaml/index.d.ts +2 -0
- package/dist/yaml/index.d.ts.map +1 -1
- package/dist/yaml/index.js +2 -0
- package/dist/yaml/index.js.map +1 -1
- package/dist/yaml/markers.d.ts +21 -0
- package/dist/yaml/markers.d.ts.map +1 -0
- package/dist/yaml/markers.js +37 -0
- package/dist/yaml/markers.js.map +1 -0
- package/dist/yaml/parser.d.ts.map +1 -1
- package/dist/yaml/parser.js +4 -1
- package/dist/yaml/parser.js.map +1 -1
- package/dist/yaml/print.d.ts +1 -1
- package/dist/yaml/print.d.ts.map +1 -1
- package/dist/yaml/print.js +175 -208
- package/dist/yaml/print.js.map +1 -1
- package/dist/yaml/rpc.js +154 -219
- package/dist/yaml/rpc.js.map +1 -1
- package/dist/yaml/visitor.js +78 -113
- package/dist/yaml/visitor.js.map +1 -1
- package/package.json +1 -1
- package/src/javascript/parser.ts +56 -14
- package/src/yaml/index.ts +2 -0
- package/src/yaml/markers.ts +70 -0
- package/src/yaml/parser.ts +5 -1
- package/src/yaml/print.ts +5 -2
|
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
36
|
exports.PrepareRecipe = void 0;
|
|
46
37
|
/*
|
|
@@ -71,7 +62,7 @@ class PrepareRecipe {
|
|
|
71
62
|
}
|
|
72
63
|
static handle(connection, marketplace, preparedRecipes, metricsCsv) {
|
|
73
64
|
const snowflake = (0, snowflake_id_1.SnowflakeId)();
|
|
74
|
-
connection.onRequest(new rpc.RequestType("PrepareRecipe"), (0, metrics_1.withMetrics)("PrepareRecipe", metricsCsv, (context) => (request) =>
|
|
65
|
+
connection.onRequest(new rpc.RequestType("PrepareRecipe"), (0, metrics_1.withMetrics)("PrepareRecipe", metricsCsv, (context) => async (request) => {
|
|
75
66
|
context.target = request.id;
|
|
76
67
|
const id = snowflake.generate();
|
|
77
68
|
const recipeCtor = marketplace.findRecipe(request.id);
|
|
@@ -83,67 +74,61 @@ class PrepareRecipe {
|
|
|
83
74
|
}
|
|
84
75
|
let recipe = new recipeCtor[1](request.options);
|
|
85
76
|
const editPreconditions = [];
|
|
86
|
-
recipe =
|
|
77
|
+
recipe = await this.optimizePreconditions(recipe, "edit", editPreconditions);
|
|
87
78
|
const scanPreconditions = [];
|
|
88
|
-
recipe =
|
|
79
|
+
recipe = await this.optimizePreconditions(recipe, "scan", scanPreconditions);
|
|
89
80
|
preparedRecipes.set(id, recipe);
|
|
90
81
|
const result = {
|
|
91
82
|
id: id,
|
|
92
|
-
descriptor:
|
|
83
|
+
descriptor: await recipe.descriptor(),
|
|
93
84
|
editVisitor: `edit:${id}`,
|
|
94
85
|
editPreconditions: editPreconditions,
|
|
95
86
|
scanVisitor: recipe instanceof recipe_1.ScanningRecipe ? `scan:${id}` : undefined,
|
|
96
87
|
scanPreconditions: scanPreconditions
|
|
97
88
|
};
|
|
98
89
|
return result;
|
|
99
|
-
}))
|
|
90
|
+
}));
|
|
100
91
|
}
|
|
101
92
|
/**
|
|
102
93
|
* For preconditions that can be evaluated on the remote peer, let the remote peer
|
|
103
94
|
* evaluate them and know that we will only have to do the visit work if the
|
|
104
95
|
* precondition passes.
|
|
105
96
|
*/
|
|
106
|
-
static optimizePreconditions(recipe, phase, preconditions) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
visitor = yield recipe.scanner(undefined);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
return recipe;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (visitor instanceof preconditions_1.Check) {
|
|
121
|
-
if (visitor.check instanceof recipe_2.RpcRecipe) {
|
|
122
|
-
preconditions.push({ visitorName: phase === "edit" ? visitor.check.editVisitor : visitor.check.scanVisitor });
|
|
123
|
-
recipe = Object.assign(Object.create(Object.getPrototypeOf(recipe)), recipe, phase === "edit" ?
|
|
124
|
-
{
|
|
125
|
-
editor() {
|
|
126
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
-
return visitor.v;
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
} :
|
|
131
|
-
{
|
|
132
|
-
scanner(acc) {
|
|
133
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
-
const checkVisitor = yield recipe.scanner(acc);
|
|
135
|
-
return checkVisitor.v;
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
this.visitorTypePrecondition(preconditions, visitor.v);
|
|
97
|
+
static async optimizePreconditions(recipe, phase, preconditions) {
|
|
98
|
+
let visitor;
|
|
99
|
+
if (phase === "edit") {
|
|
100
|
+
visitor = await recipe.editor();
|
|
101
|
+
}
|
|
102
|
+
else if (phase === "scan") {
|
|
103
|
+
if (recipe instanceof recipe_1.ScanningRecipe) {
|
|
104
|
+
visitor = await recipe.scanner(undefined);
|
|
141
105
|
}
|
|
142
106
|
else {
|
|
143
|
-
|
|
107
|
+
return recipe;
|
|
144
108
|
}
|
|
145
|
-
|
|
146
|
-
|
|
109
|
+
}
|
|
110
|
+
if (visitor instanceof preconditions_1.Check) {
|
|
111
|
+
if (visitor.check instanceof recipe_2.RpcRecipe) {
|
|
112
|
+
preconditions.push({ visitorName: phase === "edit" ? visitor.check.editVisitor : visitor.check.scanVisitor });
|
|
113
|
+
recipe = Object.assign(Object.create(Object.getPrototypeOf(recipe)), recipe, phase === "edit" ?
|
|
114
|
+
{
|
|
115
|
+
async editor() {
|
|
116
|
+
return visitor.v;
|
|
117
|
+
}
|
|
118
|
+
} :
|
|
119
|
+
{
|
|
120
|
+
async scanner(acc) {
|
|
121
|
+
const checkVisitor = await recipe.scanner(acc);
|
|
122
|
+
return checkVisitor.v;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
this.visitorTypePrecondition(preconditions, visitor.v);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.visitorTypePrecondition(preconditions, visitor);
|
|
130
|
+
}
|
|
131
|
+
return recipe;
|
|
147
132
|
}
|
|
148
133
|
static visitorTypePrecondition(preconditions, v) {
|
|
149
134
|
let treeType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-recipe.js","sourceRoot":"","sources":["../../../src/rpc/request/prepare-recipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepare-recipe.js","sourceRoot":"","sources":["../../../src/rpc/request/prepare-recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
36
|
exports.Print = exports.MarkerPrinter = void 0;
|
|
46
37
|
/*
|
|
@@ -75,8 +66,8 @@ class Print {
|
|
|
75
66
|
this.markerPrinter = markerPrinter;
|
|
76
67
|
}
|
|
77
68
|
static handle(connection, getObject, logger, metricsCsv) {
|
|
78
|
-
connection.onRequest(new rpc.RequestType("Print"), (0, metrics_1.withMetrics)("Print", metricsCsv, (context) => (request) =>
|
|
79
|
-
const tree =
|
|
69
|
+
connection.onRequest(new rpc.RequestType("Print"), (0, metrics_1.withMetrics)("Print", metricsCsv, (context) => async (request) => {
|
|
70
|
+
const tree = await getObject(request.treeId.toString(), request.sourceFileType);
|
|
80
71
|
context.target = (0, metrics_1.extractSourcePath)(tree);
|
|
81
72
|
if (logger) {
|
|
82
73
|
logger.log("Printing " + ((0, tree_1.isSourceFile)(tree) ? tree.sourcePath : `tree of type ${tree.kind} in ${context.target}`));
|
|
@@ -84,13 +75,13 @@ class Print {
|
|
|
84
75
|
const out = new print_1.PrintOutputCapture(print_1.MarkerPrinter[request.markerPrinter]);
|
|
85
76
|
let result;
|
|
86
77
|
if ((0, tree_1.isSourceFile)(tree)) {
|
|
87
|
-
result =
|
|
78
|
+
result = await (0, print_1.printer)(tree).print(tree, out);
|
|
88
79
|
}
|
|
89
80
|
else {
|
|
90
|
-
result =
|
|
81
|
+
result = await (0, print_1.printer)(request.sourceFileType).print(tree, out);
|
|
91
82
|
}
|
|
92
83
|
return result;
|
|
93
|
-
}))
|
|
84
|
+
}));
|
|
94
85
|
}
|
|
95
86
|
}
|
|
96
87
|
exports.Print = Print;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"print.js","sourceRoot":"","sources":["../../../src/rpc/request/print.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"print.js","sourceRoot":"","sources":["../../../src/rpc/request/print.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,qCAA8C;AAC9C,uCAA6F;AAE7F,uCAAyD;AAEzD,IAAkB,aAIjB;AAJD,WAAkB,aAAa;IAC3B,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;AAC3B,CAAC,EAJiB,aAAa,6BAAb,aAAa,QAI9B;AAED,MAAa,KAAK;IACd,YAA6B,MAAY,EACZ,cAAsB,EAC9B,gBAA+B,aAAa,CAAC,OAAO;QAF5C,WAAM,GAAN,MAAM,CAAM;QACZ,mBAAc,GAAd,cAAc,CAAQ;QAC9B,kBAAa,GAAb,aAAa,CAAuC;IACzE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAiC,EACjC,SAAsD,EACtD,MAAmB,EACnB,UAAmB;QAC7B,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAuB,OAAO,CAAC,EAClD,IAAA,qBAAW,EACP,OAAO,EACP,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACzB,MAAM,IAAI,GAAS,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACtF,OAAO,CAAC,MAAM,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,IAAI,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxH,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,0BAAkB,CAAC,qBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9E,IAAI,MAAc,CAAC;YACnB,IAAI,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CACJ,CACJ,CAAC;IACN,CAAC;CACJ;AAjCD,sBAiCC"}
|
|
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
36
|
exports.Visit = void 0;
|
|
46
37
|
/*
|
|
@@ -74,14 +65,14 @@ class Visit {
|
|
|
74
65
|
this.cursor = cursor;
|
|
75
66
|
}
|
|
76
67
|
static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, getCursor, metricsCsv) {
|
|
77
|
-
connection.onRequest(new rpc.RequestType("Visit"), (0, metrics_1.withMetrics)("Visit", metricsCsv, (context) => (request) =>
|
|
78
|
-
const p =
|
|
79
|
-
const before =
|
|
80
|
-
const cursor =
|
|
68
|
+
connection.onRequest(new rpc.RequestType("Visit"), (0, metrics_1.withMetrics)("Visit", metricsCsv, (context) => async (request) => {
|
|
69
|
+
const p = await getObject(request.p, undefined);
|
|
70
|
+
const before = await getObject(request.treeId, request.sourceFileType);
|
|
71
|
+
const cursor = await getCursor(request.cursor, request.sourceFileType);
|
|
81
72
|
context.target = (0, metrics_1.extractSourcePath)(before, cursor);
|
|
82
73
|
localObjects.set(before.id.toString(), before);
|
|
83
|
-
const visitor =
|
|
84
|
-
const after =
|
|
74
|
+
const visitor = await Visit.instantiateVisitor(request, preparedRecipes, recipeCursors, p);
|
|
75
|
+
const after = await visitor.visit(before, p, cursor);
|
|
85
76
|
if (!after) {
|
|
86
77
|
localObjects.delete(before.id.toString());
|
|
87
78
|
}
|
|
@@ -89,72 +80,66 @@ class Visit {
|
|
|
89
80
|
localObjects.set(after.id.toString(), after);
|
|
90
81
|
}
|
|
91
82
|
return { modified: before !== after };
|
|
92
|
-
}))
|
|
83
|
+
}));
|
|
93
84
|
}
|
|
94
|
-
static instantiateVisitor(request, preparedRecipes, recipeCursors, p) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
85
|
+
static async instantiateVisitor(request, preparedRecipes, recipeCursors, p) {
|
|
86
|
+
const visitorName = request.visitor;
|
|
87
|
+
if (visitorName.startsWith("scan:")) {
|
|
88
|
+
const recipeKey = visitorName.substring("scan:".length);
|
|
89
|
+
const recipe = preparedRecipes.get(recipeKey);
|
|
90
|
+
if (!recipe) {
|
|
91
|
+
throw new Error(`No scanning recipe found for key: ${recipeKey}`);
|
|
92
|
+
}
|
|
93
|
+
// If we're transitioning from edit back to scan, this is a new cycle.
|
|
94
|
+
// Clear the cursor so a fresh accumulator is created.
|
|
95
|
+
if (recipePhases.get(recipe) === 'edit') {
|
|
96
|
+
recipeCursors.delete(recipe);
|
|
97
|
+
}
|
|
98
|
+
recipePhases.set(recipe, 'scan');
|
|
99
|
+
let cursor = recipeCursors.get(recipe);
|
|
100
|
+
if (!cursor) {
|
|
101
|
+
cursor = (0, tree_1.rootCursor)();
|
|
102
|
+
recipeCursors.set(recipe, cursor);
|
|
103
|
+
}
|
|
104
|
+
const acc = recipe.accumulator(cursor, p);
|
|
105
|
+
return new class extends visitor_1.TreeVisitor {
|
|
106
|
+
// Delegate isAcceptable to the scanner visitor
|
|
107
|
+
// This ensures we only process source files the scanner can handle
|
|
108
|
+
async isAcceptable(sourceFile, ctx) {
|
|
109
|
+
return (await recipe.scanner(acc)).isAcceptable(sourceFile, ctx);
|
|
102
110
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
111
|
+
async preVisit(tree, ctx) {
|
|
112
|
+
await (await recipe.scanner(acc)).visit(tree, ctx);
|
|
113
|
+
this.stopAfterPreVisit();
|
|
114
|
+
return tree;
|
|
107
115
|
}
|
|
108
|
-
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
else if (visitorName.startsWith("edit:")) {
|
|
119
|
+
const recipeKey = visitorName.substring("edit:".length);
|
|
120
|
+
const recipe = preparedRecipes.get(recipeKey);
|
|
121
|
+
if (!recipe) {
|
|
122
|
+
throw new Error(`No editing recipe found for key: ${recipeKey}`);
|
|
123
|
+
}
|
|
124
|
+
recipePhases.set(recipe, 'edit');
|
|
125
|
+
// For ScanningRecipe, we need to use the same cursor that was used during scanning
|
|
126
|
+
// to retrieve the accumulator that was stored there
|
|
127
|
+
if (recipe instanceof recipe_1.ScanningRecipe) {
|
|
109
128
|
let cursor = recipeCursors.get(recipe);
|
|
110
129
|
if (!cursor) {
|
|
111
130
|
cursor = (0, tree_1.rootCursor)();
|
|
112
131
|
recipeCursors.set(recipe, cursor);
|
|
113
132
|
}
|
|
114
133
|
const acc = recipe.accumulator(cursor, p);
|
|
115
|
-
return
|
|
116
|
-
// Delegate isAcceptable to the scanner visitor
|
|
117
|
-
// This ensures we only process source files the scanner can handle
|
|
118
|
-
isAcceptable(sourceFile, ctx) {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
return (yield recipe.scanner(acc)).isAcceptable(sourceFile, ctx);
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
preVisit(tree, ctx) {
|
|
124
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
yield (yield recipe.scanner(acc)).visit(tree, ctx);
|
|
126
|
-
this.stopAfterPreVisit();
|
|
127
|
-
return tree;
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
else if (visitorName.startsWith("edit:")) {
|
|
133
|
-
const recipeKey = visitorName.substring("edit:".length);
|
|
134
|
-
const recipe = preparedRecipes.get(recipeKey);
|
|
135
|
-
if (!recipe) {
|
|
136
|
-
throw new Error(`No editing recipe found for key: ${recipeKey}`);
|
|
137
|
-
}
|
|
138
|
-
recipePhases.set(recipe, 'edit');
|
|
139
|
-
// For ScanningRecipe, we need to use the same cursor that was used during scanning
|
|
140
|
-
// to retrieve the accumulator that was stored there
|
|
141
|
-
if (recipe instanceof recipe_1.ScanningRecipe) {
|
|
142
|
-
let cursor = recipeCursors.get(recipe);
|
|
143
|
-
if (!cursor) {
|
|
144
|
-
cursor = (0, tree_1.rootCursor)();
|
|
145
|
-
recipeCursors.set(recipe, cursor);
|
|
146
|
-
}
|
|
147
|
-
const acc = recipe.accumulator(cursor, p);
|
|
148
|
-
return recipe.editorWithData(acc);
|
|
149
|
-
}
|
|
150
|
-
return yield recipe.editor();
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
return Reflect.construct(
|
|
154
|
-
// "as any" bypasses strict type checking
|
|
155
|
-
globalThis[visitorName], request.visitorOptions ? Array.from(request.visitorOptions.values()) : []);
|
|
134
|
+
return recipe.editorWithData(acc);
|
|
156
135
|
}
|
|
157
|
-
|
|
136
|
+
return await recipe.editor();
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return Reflect.construct(
|
|
140
|
+
// "as any" bypasses strict type checking
|
|
141
|
+
globalThis[visitorName], request.visitorOptions ? Array.from(request.visitorOptions.values()) : []);
|
|
142
|
+
}
|
|
158
143
|
}
|
|
159
144
|
}
|
|
160
145
|
exports.Visit = Visit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visit.js","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visit.js","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc/rewrite-rpc.js
CHANGED
|
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
36
|
exports.RewriteRpc = void 0;
|
|
46
37
|
/*
|
|
@@ -101,10 +92,10 @@ class RewriteRpc {
|
|
|
101
92
|
request_1.ParseProject.handle(this.connection, this.localObjects, options.metricsCsv);
|
|
102
93
|
request_1.Print.handle(this.connection, getObject, options.logger, options.metricsCsv);
|
|
103
94
|
install_recipes_1.InstallRecipes.handle(this.connection, (_a = options.recipeInstallDir) !== null && _a !== void 0 ? _a : ".rewrite", marketplace, options.logger, options.metricsCsv);
|
|
104
|
-
this.connection.onRequest(new rpc.RequestType("TraceGetObject"), (request) =>
|
|
95
|
+
this.connection.onRequest(new rpc.RequestType("TraceGetObject"), async (request) => {
|
|
105
96
|
this.traceGetObject = request;
|
|
106
97
|
return true;
|
|
107
|
-
})
|
|
98
|
+
});
|
|
108
99
|
RewriteRpc.set(this);
|
|
109
100
|
this.connection.listen();
|
|
110
101
|
}
|
|
@@ -118,96 +109,78 @@ class RewriteRpc {
|
|
|
118
109
|
this.connection.end();
|
|
119
110
|
return this;
|
|
120
111
|
}
|
|
121
|
-
getObject(id, sourceFileType) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
const cursorObject = yield this.getObject(cursorIds[i], sourceFileType);
|
|
144
|
-
this.remoteObjects.set(cursorIds[i], cursorObject);
|
|
145
|
-
cursor = new tree_1.Cursor(cursorObject, cursor);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
return cursor;
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
parse(inputs, sourceFileType, relativeTo) {
|
|
152
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
153
|
-
const parsed = [];
|
|
154
|
-
for (const g of yield this.connection.sendRequest(new rpc.RequestType("Parse"), new request_1.Parse(inputs, relativeTo))) {
|
|
155
|
-
parsed.push(yield this.getObject(g, sourceFileType));
|
|
156
|
-
}
|
|
157
|
-
return parsed;
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
print(tree, cursor) {
|
|
161
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
-
if (!cursor && !(0, tree_1.isSourceFile)(tree)) {
|
|
163
|
-
throw new Error("Cursor is required for non-SourceFile trees");
|
|
164
|
-
}
|
|
165
|
-
this.localObjects.set(tree.id.toString(), tree);
|
|
166
|
-
const sourceFile = (0, tree_1.isSourceFile)(tree) ? tree : cursor.firstEnclosing(t => (0, tree_1.isSourceFile)(t));
|
|
167
|
-
return yield this.connection.sendRequest(new rpc.RequestType("Print"), new request_1.Print(tree.id, sourceFile.kind));
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
languages() {
|
|
171
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
172
|
-
if (!this.remoteLanguages) {
|
|
173
|
-
this.remoteLanguages = yield this.connection.sendRequest(new rpc.RequestType0("GetLanguages"));
|
|
112
|
+
async getObject(id, sourceFileType) {
|
|
113
|
+
const localObject = this.localObjects.get(id);
|
|
114
|
+
const q = new queue_1.RpcReceiveQueue(this.remoteRefs, sourceFileType, () => {
|
|
115
|
+
return this.connection.sendRequest(new rpc.RequestType("GetObject"), new request_1.GetObject(id, sourceFileType));
|
|
116
|
+
}, this.logger, this.traceGetObject.receive);
|
|
117
|
+
const remoteObject = await q.receive(localObject);
|
|
118
|
+
const eof = (await q.take());
|
|
119
|
+
if (eof.state !== queue_1.RpcObjectState.END_OF_OBJECT) {
|
|
120
|
+
queue_1.RpcObjectData.logTrace(eof, this.traceGetObject.receive, this.logger);
|
|
121
|
+
throw new Error(`Expected END_OF_OBJECT but got: ${eof.state}`);
|
|
122
|
+
}
|
|
123
|
+
this.remoteObjects.set(id, remoteObject);
|
|
124
|
+
this.localObjects.set(id, remoteObject);
|
|
125
|
+
return remoteObject;
|
|
126
|
+
}
|
|
127
|
+
async getCursor(cursorIds, sourceFileType) {
|
|
128
|
+
let cursor = (0, tree_1.rootCursor)();
|
|
129
|
+
if (cursorIds) {
|
|
130
|
+
for (let i = cursorIds.length - 1; i >= 0; i--) {
|
|
131
|
+
const cursorObject = await this.getObject(cursorIds[i], sourceFileType);
|
|
132
|
+
this.remoteObjects.set(cursorIds[i], cursorObject);
|
|
133
|
+
cursor = new tree_1.Cursor(cursorObject, cursor);
|
|
174
134
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
marketplace() {
|
|
179
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
180
|
-
const rows = yield this.connection.sendRequest(new rpc.RequestType0("GetMarketplace"));
|
|
181
|
-
return yield (0, request_1.toMarketplace)(rows);
|
|
182
|
-
});
|
|
135
|
+
}
|
|
136
|
+
return cursor;
|
|
183
137
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}
|
|
138
|
+
async parse(inputs, sourceFileType, relativeTo) {
|
|
139
|
+
const parsed = [];
|
|
140
|
+
for (const g of await this.connection.sendRequest(new rpc.RequestType("Parse"), new request_1.Parse(inputs, relativeTo))) {
|
|
141
|
+
parsed.push(await this.getObject(g, sourceFileType));
|
|
142
|
+
}
|
|
143
|
+
return parsed;
|
|
189
144
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const response = yield this.connection.sendRequest(new rpc.RequestType("Visit"), new request_1.Visit(visitorName, sourceFileType, undefined, tree.id.toString(), pId, cursorIds));
|
|
198
|
-
return response.modified ? this.getObject(tree.id.toString(), sourceFileType) : tree;
|
|
199
|
-
});
|
|
145
|
+
async print(tree, cursor) {
|
|
146
|
+
if (!cursor && !(0, tree_1.isSourceFile)(tree)) {
|
|
147
|
+
throw new Error("Cursor is required for non-SourceFile trees");
|
|
148
|
+
}
|
|
149
|
+
this.localObjects.set(tree.id.toString(), tree);
|
|
150
|
+
const sourceFile = (0, tree_1.isSourceFile)(tree) ? tree : cursor.firstEnclosing(t => (0, tree_1.isSourceFile)(t));
|
|
151
|
+
return await this.connection.sendRequest(new rpc.RequestType("Print"), new request_1.Print(tree.id, sourceFile.kind));
|
|
200
152
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
153
|
+
async languages() {
|
|
154
|
+
if (!this.remoteLanguages) {
|
|
155
|
+
this.remoteLanguages = await this.connection.sendRequest(new rpc.RequestType0("GetLanguages"));
|
|
156
|
+
}
|
|
157
|
+
return this.remoteLanguages;
|
|
158
|
+
}
|
|
159
|
+
async marketplace() {
|
|
160
|
+
const rows = await this.connection.sendRequest(new rpc.RequestType0("GetMarketplace"));
|
|
161
|
+
return await (0, request_1.toMarketplace)(rows);
|
|
162
|
+
}
|
|
163
|
+
async prepareRecipe(id, options) {
|
|
164
|
+
const response = await this.connection.sendRequest(new rpc.RequestType("PrepareRecipe"), new request_1.PrepareRecipe(id, options));
|
|
165
|
+
return new recipe_1.RpcRecipe(this, response.id, response.descriptor, response.editVisitor, response.scanVisitor);
|
|
166
|
+
}
|
|
167
|
+
async visit(tree, visitorName, p, cursor) {
|
|
168
|
+
this.localObjects.set(tree.id.toString(), tree);
|
|
169
|
+
const pId = this.localObject(p);
|
|
170
|
+
const cursorIds = this.getCursorIds(cursor);
|
|
171
|
+
const sourceFileType = (0, tree_1.isSourceFile)(tree) ? tree.kind :
|
|
172
|
+
cursor.firstEnclosing(t => (0, tree_1.isSourceFile)(t)).kind;
|
|
173
|
+
const response = await this.connection.sendRequest(new rpc.RequestType("Visit"), new request_1.Visit(visitorName, sourceFileType, undefined, tree.id.toString(), pId, cursorIds));
|
|
174
|
+
return response.modified ? this.getObject(tree.id.toString(), sourceFileType) : tree;
|
|
175
|
+
}
|
|
176
|
+
async generate(remoteRecipeId, ctx) {
|
|
177
|
+
const ctxId = this.localObject(ctx);
|
|
178
|
+
const generated = [];
|
|
179
|
+
const response = await this.connection.sendRequest(new rpc.RequestType("Generate"), new request_1.Generate(remoteRecipeId, ctxId));
|
|
180
|
+
for (let i = 0; i < response.ids.length; i++) {
|
|
181
|
+
generated.push(await this.getObject(response.ids[i], response.sourceFileTypes[i]));
|
|
182
|
+
}
|
|
183
|
+
return generated;
|
|
211
184
|
}
|
|
212
185
|
installRecipes(recipes) {
|
|
213
186
|
return this.connection.sendRequest(new rpc.RequestType("InstallRecipes"), new install_recipes_1.InstallRecipes(recipes));
|