@openrewrite/rewrite 8.69.0-20251207-160255 → 8.69.0-20251207-214914

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.
Files changed (68) hide show
  1. package/dist/cli/cli-utils.d.ts.map +1 -1
  2. package/dist/cli/cli-utils.js +3 -2
  3. package/dist/cli/cli-utils.js.map +1 -1
  4. package/dist/cli/rewrite.js +2 -1
  5. package/dist/cli/rewrite.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/javascript/add-import.d.ts.map +1 -1
  10. package/dist/javascript/add-import.js +99 -56
  11. package/dist/javascript/add-import.js.map +1 -1
  12. package/dist/javascript/parser.d.ts.map +1 -1
  13. package/dist/javascript/parser.js +48 -8
  14. package/dist/javascript/parser.js.map +1 -1
  15. package/dist/javascript/recipes/async-callback-in-sync-array-method.d.ts +40 -0
  16. package/dist/javascript/recipes/async-callback-in-sync-array-method.d.ts.map +1 -0
  17. package/dist/javascript/recipes/async-callback-in-sync-array-method.js +232 -0
  18. package/dist/javascript/recipes/async-callback-in-sync-array-method.js.map +1 -0
  19. package/dist/javascript/recipes/change-import.d.ts +51 -0
  20. package/dist/javascript/recipes/change-import.d.ts.map +1 -0
  21. package/dist/javascript/recipes/change-import.js +658 -0
  22. package/dist/javascript/recipes/change-import.js.map +1 -0
  23. package/dist/javascript/recipes/index.d.ts +3 -0
  24. package/dist/javascript/recipes/index.d.ts.map +1 -1
  25. package/dist/javascript/recipes/index.js +3 -0
  26. package/dist/javascript/recipes/index.js.map +1 -1
  27. package/dist/javascript/recipes/order-imports.d.ts +10 -0
  28. package/dist/javascript/recipes/order-imports.d.ts.map +1 -0
  29. package/dist/javascript/recipes/order-imports.js +240 -0
  30. package/dist/javascript/recipes/order-imports.js.map +1 -0
  31. package/dist/javascript/templating/index.d.ts +1 -1
  32. package/dist/javascript/templating/index.d.ts.map +1 -1
  33. package/dist/javascript/templating/index.js +2 -1
  34. package/dist/javascript/templating/index.js.map +1 -1
  35. package/dist/javascript/templating/rewrite.d.ts +36 -2
  36. package/dist/javascript/templating/rewrite.d.ts.map +1 -1
  37. package/dist/javascript/templating/rewrite.js +76 -0
  38. package/dist/javascript/templating/rewrite.js.map +1 -1
  39. package/dist/json/parser.js +78 -30
  40. package/dist/json/parser.js.map +1 -1
  41. package/dist/run.d.ts.map +1 -1
  42. package/dist/run.js +7 -4
  43. package/dist/run.js.map +1 -1
  44. package/dist/version.txt +1 -1
  45. package/package.json +1 -1
  46. package/src/cli/cli-utils.ts +3 -2
  47. package/src/cli/rewrite.ts +2 -1
  48. package/src/index.ts +3 -2
  49. package/src/javascript/add-import.ts +125 -69
  50. package/src/javascript/parser.ts +49 -8
  51. package/src/javascript/recipes/async-callback-in-sync-array-method.ts +237 -0
  52. package/src/javascript/recipes/change-import.ts +700 -0
  53. package/src/javascript/recipes/index.ts +3 -0
  54. package/src/javascript/recipes/order-imports.ts +242 -0
  55. package/src/javascript/templating/index.ts +2 -1
  56. package/src/javascript/templating/rewrite.ts +89 -4
  57. package/src/json/parser.ts +69 -24
  58. package/src/run.ts +5 -4
  59. package/dist/recipe/index.d.ts +0 -2
  60. package/dist/recipe/index.d.ts.map +0 -1
  61. package/dist/recipe/index.js +0 -21
  62. package/dist/recipe/index.js.map +0 -1
  63. package/dist/recipe/order-imports.d.ts +0 -10
  64. package/dist/recipe/order-imports.d.ts.map +0 -1
  65. package/dist/recipe/order-imports.js +0 -213
  66. package/dist/recipe/order-imports.js.map +0 -1
  67. package/src/recipe/index.ts +0 -17
  68. package/src/recipe/order-imports.ts +0 -195
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-import.js","sourceRoot":"","sources":["../../../src/javascript/recipes/change-import.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
+ export * from "./async-callback-in-sync-array-method";
1
2
  export * from "./upgrade-dependency-version";
3
+ export * from "./order-imports";
4
+ export * from "./change-import";
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":"AAgBA,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":"AAgBA,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -29,5 +29,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
29
29
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
+ __exportStar(require("./async-callback-in-sync-array-method"), exports);
32
33
  __exportStar(require("./upgrade-dependency-version"), exports);
34
+ __exportStar(require("./order-imports"), exports);
35
+ __exportStar(require("./change-import"), exports);
33
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,wEAAsD;AACtD,+DAA6C;AAC7C,kDAAgC;AAChC,kDAAgC"}
@@ -0,0 +1,10 @@
1
+ import { Recipe } from "../../recipe";
2
+ import { TreeVisitor } from "../../visitor";
3
+ import { ExecutionContext } from "../../execution";
4
+ export declare class OrderImports extends Recipe {
5
+ readonly name = "org.openrewrite.javascript.cleanup.order-imports";
6
+ readonly displayName = "Order imports";
7
+ readonly description = "Sort imports by category and module path. Categories: side-effect, namespace, default, named, type. Within each category, imports are sorted alphabetically by module path. Named specifiers within each import are also sorted alphabetically.";
8
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
9
+ }
10
+ //# sourceMappingURL=order-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-imports.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/order-imports.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAe,WAAW,EAAC,MAAM,eAAe,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAsBjD,qBAAa,YAAa,SAAQ,MAAM;IACpC,QAAQ,CAAC,IAAI,sDAAsD;IACnE,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,qPAAqP;IAGnQ,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAmM9D"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2025 the original author or authors.
4
+ * <p>
5
+ * Licensed under the Moderne Source Available License (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ * <p>
9
+ * https://docs.moderne.io/licensing/moderne-source-available-license
10
+ * <p>
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.OrderImports = void 0;
28
+ const recipe_1 = require("../../recipe");
29
+ const visitor_1 = require("../../visitor");
30
+ const index_1 = require("../index");
31
+ const java_1 = require("../../java");
32
+ const immer_1 = require("immer");
33
+ const style_1 = require("../style");
34
+ /**
35
+ * Import type categories for sorting order:
36
+ * 1. Side-effect imports (no specifier): import 'module';
37
+ * 2. Namespace imports: import * as foo from 'module';
38
+ * 3. Default imports: import foo from 'module';
39
+ * 4. Named imports: import { foo } from 'module';
40
+ * 5. Type imports: import type { Foo } from 'module';
41
+ */
42
+ var ImportCategory;
43
+ (function (ImportCategory) {
44
+ ImportCategory[ImportCategory["SideEffect"] = 0] = "SideEffect";
45
+ ImportCategory[ImportCategory["Namespace"] = 1] = "Namespace";
46
+ ImportCategory[ImportCategory["Default"] = 2] = "Default";
47
+ ImportCategory[ImportCategory["Named"] = 3] = "Named";
48
+ ImportCategory[ImportCategory["Type"] = 4] = "Type";
49
+ })(ImportCategory || (ImportCategory = {}));
50
+ class OrderImports extends recipe_1.Recipe {
51
+ constructor() {
52
+ super(...arguments);
53
+ this.name = "org.openrewrite.javascript.cleanup.order-imports";
54
+ this.displayName = "Order imports";
55
+ this.description = "Sort imports by category and module path. Categories: side-effect, namespace, default, named, type. Within each category, imports are sorted alphabetically by module path. Named specifiers within each import are also sorted alphabetically.";
56
+ }
57
+ editor() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ return new class extends index_1.JavaScriptVisitor {
60
+ visitJsCompilationUnit(cu, p) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ var _a;
63
+ const importCount = this.countImports(cu);
64
+ if (importCount === 0) {
65
+ return cu;
66
+ }
67
+ const imports = cu.statements.slice(0, importCount);
68
+ const originalImportPosition = Object.fromEntries(imports.map((item, i) => [item.element.id, i]));
69
+ const restStatements = cu.statements.slice(importCount);
70
+ // Get style for consistent brace spacing
71
+ const spacesStyle = (0, style_1.styleFromSourceFile)(style_1.StyleKind.SpacesStyle, cu);
72
+ const useBraceSpaces = (_a = spacesStyle === null || spacesStyle === void 0 ? void 0 : spacesStyle.within.es6ImportExportBraces) !== null && _a !== void 0 ? _a : false;
73
+ // Sort named specifiers within each import
74
+ const sortedSpecifiers = this.sortNamedSpecifiersWithinImports(imports, useBraceSpaces);
75
+ // Sort imports by category and module path
76
+ sortedSpecifiers.sort((aPadded, bPadded) => {
77
+ const a = aPadded.element;
78
+ const b = bPadded.element;
79
+ // First, compare by category
80
+ const categoryA = this.getImportCategory(a);
81
+ const categoryB = this.getImportCategory(b);
82
+ if (categoryA !== categoryB) {
83
+ return categoryA - categoryB;
84
+ }
85
+ // Within same category, sort by module path (case-insensitive)
86
+ const modulePathA = this.getModulePath(a).toLowerCase();
87
+ const modulePathB = this.getModulePath(b).toLowerCase();
88
+ const pathComparison = modulePathA.localeCompare(modulePathB);
89
+ if (pathComparison !== 0) {
90
+ return pathComparison;
91
+ }
92
+ // Tiebreaker: keep original order for stability
93
+ return originalImportPosition[aPadded.element.id] - originalImportPosition[bPadded.element.id];
94
+ });
95
+ const cuWithImportsSorted = yield (0, visitor_1.produceAsync)(cu, (draft) => __awaiter(this, void 0, void 0, function* () {
96
+ draft.statements = [...sortedSpecifiers, ...restStatements];
97
+ }));
98
+ return (0, immer_1.produce)(cuWithImportsSorted, draft => {
99
+ for (let i = 0; i < importCount; i++) {
100
+ draft.statements[i].element.prefix.whitespace = i > 0 ? "\n" : "";
101
+ }
102
+ });
103
+ });
104
+ }
105
+ /**
106
+ * Determine the category of an import for sorting purposes.
107
+ */
108
+ getImportCategory(import_) {
109
+ var _a, _b;
110
+ // Type imports: import type { Foo } from 'module'
111
+ if ((_a = import_.importClause) === null || _a === void 0 ? void 0 : _a.typeOnly) {
112
+ return ImportCategory.Type;
113
+ }
114
+ // Side-effect imports: import 'module'
115
+ if (import_.importClause === undefined) {
116
+ return ImportCategory.SideEffect;
117
+ }
118
+ // Namespace imports: import * as foo from 'module'
119
+ if (((_b = import_.importClause.namedBindings) === null || _b === void 0 ? void 0 : _b.kind) === index_1.JS.Kind.Alias) {
120
+ const alias = import_.importClause.namedBindings;
121
+ if (alias.propertyName.element.simpleName === "*") {
122
+ return ImportCategory.Namespace;
123
+ }
124
+ }
125
+ // Default imports (without named imports): import foo from 'module'
126
+ if (import_.importClause.name && !import_.importClause.namedBindings) {
127
+ return ImportCategory.Default;
128
+ }
129
+ // Default with named imports or just named imports: import foo, { bar } from 'module' or import { foo } from 'module'
130
+ return ImportCategory.Named;
131
+ }
132
+ /**
133
+ * Extract the module path from an import statement.
134
+ */
135
+ getModulePath(import_) {
136
+ var _a, _b;
137
+ if (((_a = import_.moduleSpecifier) === null || _a === void 0 ? void 0 : _a.element.kind) === java_1.J.Kind.Literal) {
138
+ const literal = import_.moduleSpecifier.element;
139
+ // Remove quotes from the value
140
+ return String((_b = literal.value) !== null && _b !== void 0 ? _b : '');
141
+ }
142
+ return '';
143
+ }
144
+ countImports(cu) {
145
+ let i = 0;
146
+ while ((i < cu.statements.length) && (cu.statements[i].element.kind === index_1.JS.Kind.Import)) {
147
+ i++;
148
+ }
149
+ return i;
150
+ }
151
+ /**
152
+ * Sort named specifiers within each import statement alphabetically.
153
+ */
154
+ sortNamedSpecifiersWithinImports(imports, useBraceSpaces) {
155
+ const ret = [];
156
+ for (const importPadded of imports) {
157
+ const import_ = importPadded.element;
158
+ if (this.hasNamedImports(import_)) {
159
+ const importSorted = (0, immer_1.produce)(import_, draft => {
160
+ var _a;
161
+ const namedBindings = draft.importClause.namedBindings;
162
+ let elements = namedBindings.elements.elements;
163
+ if (elements.length <= 1) {
164
+ return; // Nothing to sort
165
+ }
166
+ // Handle trailing comma
167
+ const trailingComma = elements.length > 0 &&
168
+ ((_a = elements[elements.length - 1].markers) === null || _a === void 0 ? void 0 : _a.markers.find(m => m.kind === java_1.J.Markers.TrailingComma));
169
+ if (trailingComma) {
170
+ elements[elements.length - 1].markers.markers =
171
+ elements[elements.length - 1].markers.markers.filter(m => m.kind !== java_1.J.Markers.TrailingComma);
172
+ }
173
+ // Sort by the imported name (not alias)
174
+ elements.sort((a, b) => {
175
+ const nameA = this.getSpecifierSortKey(a.element);
176
+ const nameB = this.getSpecifierSortKey(b.element);
177
+ return nameA.localeCompare(nameB);
178
+ });
179
+ // Normalize spacing based on es6ImportExportBraces style
180
+ const braceSpace = useBraceSpaces ? " " : "";
181
+ for (let i = 0; i < elements.length; i++) {
182
+ if (i === 0) {
183
+ // First element: space after opening brace based on style
184
+ elements[i].element.prefix = { kind: java_1.J.Kind.Space, whitespace: braceSpace, comments: [] };
185
+ }
186
+ else {
187
+ // Other elements: space after comma
188
+ elements[i].element.prefix = { kind: java_1.J.Kind.Space, whitespace: ' ', comments: [] };
189
+ }
190
+ }
191
+ // Last element: space before closing brace based on style
192
+ elements[elements.length - 1].after = { kind: java_1.J.Kind.Space, whitespace: braceSpace, comments: [] };
193
+ // Restore trailing comma to last element
194
+ if (trailingComma && elements.length > 0 &&
195
+ !elements[elements.length - 1].markers.markers.find(m => m.kind === java_1.J.Markers.TrailingComma)) {
196
+ elements[elements.length - 1].markers.markers.push(trailingComma);
197
+ }
198
+ });
199
+ ret.push((0, immer_1.produce)(importPadded, draft => {
200
+ draft.element = importSorted;
201
+ }));
202
+ }
203
+ else {
204
+ ret.push(importPadded);
205
+ }
206
+ }
207
+ return ret;
208
+ }
209
+ /**
210
+ * Check if an import has named imports that can be sorted.
211
+ */
212
+ hasNamedImports(import_) {
213
+ var _a, _b;
214
+ if (((_b = (_a = import_.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings) === null || _b === void 0 ? void 0 : _b.kind) === index_1.JS.Kind.NamedImports) {
215
+ const namedImports = import_.importClause.namedBindings;
216
+ return namedImports.elements.kind === java_1.J.Kind.Container &&
217
+ namedImports.elements.elements.length > 1;
218
+ }
219
+ return false;
220
+ }
221
+ /**
222
+ * Get the sort key for an import specifier (the original name, not alias).
223
+ */
224
+ getSpecifierSortKey(specifier) {
225
+ if (specifier.specifier.kind === index_1.JS.Kind.Alias) {
226
+ // import { foo as bar } - sort by 'foo'
227
+ return specifier.specifier.propertyName.element.simpleName;
228
+ }
229
+ else if (specifier.specifier.kind === java_1.J.Kind.Identifier) {
230
+ // import { foo } - sort by 'foo'
231
+ return specifier.specifier.simpleName;
232
+ }
233
+ return '';
234
+ }
235
+ };
236
+ });
237
+ }
238
+ }
239
+ exports.OrderImports = OrderImports;
240
+ //# sourceMappingURL=order-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-imports.js","sourceRoot":"","sources":["../../../src/javascript/recipes/order-imports.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export type { VariadicOptions, CaptureOptions, Capture, Any, TemplateParam, PatternOptions, MatchOptions, TemplateParameter, TemplateOptions, RewriteRule, RewriteConfig, DebugOptions, DebugLogEntry, MatchExplanation, MatchAttemptResult } from './types';
2
2
  export { and, or, not, capture, any, param, raw, _ } from './capture';
3
3
  export { Pattern, PatternBuilder, MatchResult, pattern } from './pattern';
4
- export { rewrite, fromRecipe } from './rewrite';
4
+ export { rewrite, fromRecipe, flattenBlock } from './rewrite';
5
5
  export { Template, TemplateBuilder, template } from './template';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EACR,eAAe,EACf,cAAc,EACd,OAAO,EACP,GAAG,EACH,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,KAAK,EACL,GAAG,EACH,CAAC,EACJ,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,UAAU,EACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,EACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EACR,eAAe,EACf,cAAc,EACd,OAAO,EACP,GAAG,EACH,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,KAAK,EACL,GAAG,EACH,CAAC,EACJ,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,UAAU,EACV,YAAY,EACf,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,EACX,MAAM,YAAY,CAAC"}
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.template = exports.TemplateBuilder = exports.Template = exports.fromRecipe = exports.rewrite = exports.pattern = exports.MatchResult = exports.PatternBuilder = exports.Pattern = exports._ = exports.raw = exports.param = exports.any = exports.capture = exports.not = exports.or = exports.and = void 0;
18
+ exports.template = exports.TemplateBuilder = exports.Template = exports.flattenBlock = exports.fromRecipe = exports.rewrite = exports.pattern = exports.MatchResult = exports.PatternBuilder = exports.Pattern = exports._ = exports.raw = exports.param = exports.any = exports.capture = exports.not = exports.or = exports.and = void 0;
19
19
  // Export capture functionality
20
20
  var capture_1 = require("./capture");
21
21
  Object.defineProperty(exports, "and", { enumerable: true, get: function () { return capture_1.and; } });
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "pattern", { enumerable: true, get: function () {
36
36
  var rewrite_1 = require("./rewrite");
37
37
  Object.defineProperty(exports, "rewrite", { enumerable: true, get: function () { return rewrite_1.rewrite; } });
38
38
  Object.defineProperty(exports, "fromRecipe", { enumerable: true, get: function () { return rewrite_1.fromRecipe; } });
39
+ Object.defineProperty(exports, "flattenBlock", { enumerable: true, get: function () { return rewrite_1.flattenBlock; } });
39
40
  // Export template functionality
40
41
  var template_1 = require("./template");
41
42
  Object.defineProperty(exports, "Template", { enumerable: true, get: function () { return template_1.Template; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAqBH,+BAA+B;AAC/B,qCASmB;AARf,8FAAA,GAAG,OAAA;AACH,6FAAA,EAAE,OAAA;AACF,8FAAA,GAAG,OAAA;AACH,kGAAA,OAAO,OAAA;AACP,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,8FAAA,GAAG,OAAA;AACH,4FAAA,CAAC,OAAA;AAGL,+BAA+B;AAC/B,qCAKmB;AAJf,kGAAA,OAAO,OAAA;AACP,yGAAA,cAAc,OAAA;AACd,sGAAA,WAAW,OAAA;AACX,kGAAA,OAAO,OAAA;AAGX,+BAA+B;AAC/B,qCAGmB;AAFf,kGAAA,OAAO,OAAA;AACP,qGAAA,UAAU,OAAA;AAGd,gCAAgC;AAChC,uCAIoB;AAHhB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAqBH,+BAA+B;AAC/B,qCASmB;AARf,8FAAA,GAAG,OAAA;AACH,6FAAA,EAAE,OAAA;AACF,8FAAA,GAAG,OAAA;AACH,kGAAA,OAAO,OAAA;AACP,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,8FAAA,GAAG,OAAA;AACH,4FAAA,CAAC,OAAA;AAGL,+BAA+B;AAC/B,qCAKmB;AAJf,kGAAA,OAAO,OAAA;AACP,yGAAA,cAAc,OAAA;AACd,sGAAA,WAAW,OAAA;AACX,kGAAA,OAAO,OAAA;AAGX,+BAA+B;AAC/B,qCAImB;AAHf,kGAAA,OAAO,OAAA;AACP,qGAAA,UAAU,OAAA;AACV,uGAAA,YAAY,OAAA;AAGhB,gCAAgC;AAChC,uCAIoB;AAHhB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA"}
@@ -1,5 +1,6 @@
1
- import { ExecutionContext, Recipe } from '../..';
2
- import { RewriteRule, RewriteConfig } from './types';
1
+ import { ExecutionContext, Recipe, TreeVisitor } from '../..';
2
+ import { J } from '../../java';
3
+ import { RewriteConfig, RewriteRule } from './types';
3
4
  /**
4
5
  * Creates a replacement rule using a capture context and configuration.
5
6
  *
@@ -81,4 +82,37 @@ export declare function rewrite(builderFn: () => RewriteConfig): RewriteRule;
81
82
  * ```
82
83
  */
83
84
  export declare const fromRecipe: (recipe: Recipe, ctx: ExecutionContext) => RewriteRule;
85
+ /**
86
+ * Registers an after-visitor that will flatten a block's statements into its parent block.
87
+ *
88
+ * When a rewrite template produces a J.Block containing multiple statements, but you want
89
+ * those statements to be inserted directly into the parent block (not nested), use this
90
+ * function to register a follow-up visitor that performs the flattening.
91
+ *
92
+ * @param visitor The current visitor instance (to register the after-visitor)
93
+ * @param block The block whose statements should be flattened into its parent
94
+ * @returns The block (for chaining in return statements)
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * override async visitReturn(ret: J.Return, ctx: ExecutionContext): Promise<J | undefined> {
99
+ * const result = await rewrite(() => ({
100
+ * before: pattern`return #{cond} || #{arr}.some(#{cb})`,
101
+ * after: template`{
102
+ * if (#{cond}) return true;
103
+ * for (const item of #{arr}) {
104
+ * if (await #{cb}(item)) return true;
105
+ * }
106
+ * return false;
107
+ * }`
108
+ * })).tryOn(this.cursor, ret);
109
+ *
110
+ * if (result && result.kind === J.Kind.Block) {
111
+ * return flattenBlock(this, result as J.Block);
112
+ * }
113
+ * return result ?? ret;
114
+ * }
115
+ * ```
116
+ */
117
+ export declare function flattenBlock<P>(visitor: TreeVisitor<any, P>, block: J.Block): J.Block;
84
118
  //# sourceMappingURL=rewrite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"AAeA,OAAO,EAAS,gBAAgB,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAC,WAAW,EAAE,aAAa,EAAoC,MAAM,SAAS,CAAC;AAmGtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,OAAO,CACnB,SAAS,EAAE,MAAM,aAAa,GAC/B,WAAW,CAcb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,gBAAgB,KAAG,WAgBlE,CAAA"}
1
+ {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"AAeA,OAAO,EAAS,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;AACpE,OAAO,EAAC,CAAC,EAAY,MAAM,YAAY,CAAC;AACxC,OAAO,EAAoC,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAoGtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,OAAO,CACnB,SAAS,EAAE,MAAM,aAAa,GAC/B,WAAW,CAcb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,gBAAgB,KAAG,WAgBlE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC1B,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,GACf,CAAC,CAAC,KAAK,CA+CT"}
@@ -11,6 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.fromRecipe = void 0;
13
13
  exports.rewrite = rewrite;
14
+ exports.flattenBlock = flattenBlock;
15
+ const visitor_1 = require("../visitor");
14
16
  /**
15
17
  * Implementation of a replacement rule.
16
18
  */
@@ -206,4 +208,78 @@ const fromRecipe = (recipe, ctx) => {
206
208
  })();
207
209
  };
208
210
  exports.fromRecipe = fromRecipe;
211
+ /**
212
+ * Registers an after-visitor that will flatten a block's statements into its parent block.
213
+ *
214
+ * When a rewrite template produces a J.Block containing multiple statements, but you want
215
+ * those statements to be inserted directly into the parent block (not nested), use this
216
+ * function to register a follow-up visitor that performs the flattening.
217
+ *
218
+ * @param visitor The current visitor instance (to register the after-visitor)
219
+ * @param block The block whose statements should be flattened into its parent
220
+ * @returns The block (for chaining in return statements)
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * override async visitReturn(ret: J.Return, ctx: ExecutionContext): Promise<J | undefined> {
225
+ * const result = await rewrite(() => ({
226
+ * before: pattern`return #{cond} || #{arr}.some(#{cb})`,
227
+ * after: template`{
228
+ * if (#{cond}) return true;
229
+ * for (const item of #{arr}) {
230
+ * if (await #{cb}(item)) return true;
231
+ * }
232
+ * return false;
233
+ * }`
234
+ * })).tryOn(this.cursor, ret);
235
+ *
236
+ * if (result && result.kind === J.Kind.Block) {
237
+ * return flattenBlock(this, result as J.Block);
238
+ * }
239
+ * return result ?? ret;
240
+ * }
241
+ * ```
242
+ */
243
+ function flattenBlock(visitor, block) {
244
+ // Create a visitor that will flatten this specific block when found in a parent block
245
+ const flattenVisitor = new class extends visitor_1.JavaScriptVisitor {
246
+ visitBlock(parentBlock, p) {
247
+ const _super = Object.create(null, {
248
+ visitBlock: { get: () => super.visitBlock }
249
+ });
250
+ return __awaiter(this, void 0, void 0, function* () {
251
+ let modified = false;
252
+ const newStatements = [];
253
+ for (const stmt of parentBlock.statements) {
254
+ // Check if this statement is the block we want to flatten
255
+ if (stmt.element === block || stmt.element.id === block.id) {
256
+ // Splice in the inner block's statements
257
+ for (let i = 0; i < block.statements.length; i++) {
258
+ const innerStmt = block.statements[i];
259
+ if (i === 0) {
260
+ // First statement inherits the outer statement's padding
261
+ newStatements.push(Object.assign(Object.assign({}, innerStmt), { element: Object.assign(Object.assign({}, innerStmt.element), { prefix: stmt.element.prefix // Use the original statement's prefix
262
+ }) }));
263
+ }
264
+ else {
265
+ newStatements.push(innerStmt);
266
+ }
267
+ }
268
+ modified = true;
269
+ }
270
+ else {
271
+ newStatements.push(stmt);
272
+ }
273
+ }
274
+ if (modified) {
275
+ return Object.assign(Object.assign({}, parentBlock), { statements: newStatements });
276
+ }
277
+ return _super.visitBlock.call(this, parentBlock, p);
278
+ });
279
+ }
280
+ }();
281
+ // Register the flatten visitor to run after the main visitor completes
282
+ visitor.afterVisit.push(flattenVisitor);
283
+ return block;
284
+ }
209
285
  //# sourceMappingURL=rewrite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":";;;;;;;;;;;;AA+JA,0BAgBC;AAyFD,oCAkDC;AAtSD,wCAA6C;AAE7C;;GAEG;AACH,MAAM,eAAe;IACjB,YACqB,MAAiB,EACjB,KAAoD,EACpD,QAA4E,EAC5E,SAA8E;QAH9E,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAA+C;QACpD,aAAQ,GAAR,QAAQ,CAAoE;QAC5E,cAAS,GAAT,SAAS,CAAqE;IAEnG,CAAC;IAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;YAC/B,2DAA2D;YAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC,CAAC,8CAA8C;gBACpE,CAAC;YACL,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,uEAAuE;gBACvE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAChD,IAAI,KAAK,EAAE,CAAC;oBACR,qDAAqD;oBACrD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBAChF,IAAI,CAAC,eAAe,EAAE,CAAC;4BACnB,SAAS,CAAC,yDAAyD;wBACvE,CAAC;oBACL,CAAC;oBAED,uBAAuB;oBACvB,IAAI,MAAqB,CAAC;oBAE1B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;wBACnC,qDAAqD;wBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACnC,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACJ,iCAAiC;wBACjC,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBACrE,CAAC;oBAED,IAAI,MAAM,EAAE,CAAC;wBACT,OAAO,MAAM,CAAC;oBAClB,CAAC;gBACL,CAAC;YACL,CAAC;YAED,uEAAuE;YACvE,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAED,OAAO,CAAC,IAAiB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,KAAM,SAAQ,eAAe;YACrC;gBACI,+DAA+D;gBAC/D,0BAA0B;gBAC1B,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAgC,CAAC,CAAC;YACtD,CAAC;YAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;oBAC/B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBAC3D,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,WAAW,CAAC;oBACvC,CAAC;oBACD,OAAO,SAAS,CAAC;gBACrB,CAAC;aAAA;SACJ,CAAC,EAAE,CAAC;IACT,CAAC;IAED,MAAM,CAAC,WAAwB;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,KAAM,SAAQ,eAAe;YACrC;gBACI,+DAA+D;gBAC/D,0BAA0B;gBAC1B,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAgC,CAAC,CAAC;YACtD,CAAC;YAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;oBAC/B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC5B,OAAO,WAAW,CAAC;oBACvB,CAAC;oBACD,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjD,CAAC;aAAA;SACJ,CAAC,EAAE,CAAC;IACT,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,OAAO,CACnB,SAA8B;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,mDAAmD;IACnD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,IAAI,eAAe,CACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAC9D,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,SAAS,CACnB,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,GAAqB,EAAe,EAAE;IAC7E,OAAO,IAAI,CAAC,KAAM,SAAQ,eAAe;QACrC;YACI,+DAA+D;YAC/D,0BAA0B;YAC1B,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAgC,CAAC,CAAC;QACtD,CAAC;QAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;gBAC/B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAI,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEzD,yDAAyD;gBACzD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,CAAC;SAAA;KACJ,CAAC,EAAE,CAAC;AACT,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAgB,YAAY,CACxB,OAA4B,EAC5B,KAAc;IAEd,sFAAsF;IACtF,MAAM,cAAc,GAAG,IAAI,KAAM,SAAQ,2BAAoB;QAChC,UAAU,CAAC,WAAoB,EAAE,CAAI;;;;;gBAC1D,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,MAAM,aAAa,GAAkC,EAAE,CAAC;gBAExD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;oBACxC,0DAA0D;oBAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;wBACzD,yCAAyC;wBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BACtC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gCACV,yDAAyD;gCACzD,aAAa,CAAC,IAAI,iCACX,SAAS,KACZ,OAAO,EAAE,gCACF,SAAS,CAAC,OAAO,KACpB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAE,sCAAsC;uCACzD,IAChB,CAAC;4BACP,CAAC;iCAAM,CAAC;gCACJ,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAClC,CAAC;wBACL,CAAC;wBACD,QAAQ,GAAG,IAAI,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACJ,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO,gCACA,WAAW,KACd,UAAU,EAAE,aAAa,GACjB,CAAC;gBACjB,CAAC;gBAED,OAAO,OAAM,UAAU,YAAC,WAAW,EAAE,CAAC,EAAE;YAC5C,CAAC;SAAA;KACJ,EAAE,CAAC;IAEJ,uEAAuE;IACvE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAExC,OAAO,KAAK,CAAC;AACjB,CAAC"}