@openrewrite/rewrite 8.91.0 → 8.91.2

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 (153) hide show
  1. package/dist/java/formatting-utils.d.ts +8 -5
  2. package/dist/java/formatting-utils.d.ts.map +1 -1
  3. package/dist/java/formatting-utils.js +14 -10
  4. package/dist/java/formatting-utils.js.map +1 -1
  5. package/dist/java/type.d.ts +2 -0
  6. package/dist/java/type.d.ts.map +1 -1
  7. package/dist/java/type.js +5 -0
  8. package/dist/java/type.js.map +1 -1
  9. package/dist/javascript/add-import.d.ts +96 -43
  10. package/dist/javascript/add-import.d.ts.map +1 -1
  11. package/dist/javascript/add-import.js +668 -236
  12. package/dist/javascript/add-import.js.map +1 -1
  13. package/dist/javascript/amd.d.ts +138 -0
  14. package/dist/javascript/amd.d.ts.map +1 -0
  15. package/dist/javascript/amd.js +768 -0
  16. package/dist/javascript/amd.js.map +1 -0
  17. package/dist/javascript/assertions.d.ts +7 -0
  18. package/dist/javascript/assertions.d.ts.map +1 -1
  19. package/dist/javascript/assertions.js +31 -5
  20. package/dist/javascript/assertions.js.map +1 -1
  21. package/dist/javascript/binding.d.ts +94 -0
  22. package/dist/javascript/binding.d.ts.map +1 -0
  23. package/dist/javascript/binding.js +335 -0
  24. package/dist/javascript/binding.js.map +1 -0
  25. package/dist/javascript/comparator.d.ts +5 -0
  26. package/dist/javascript/comparator.d.ts.map +1 -1
  27. package/dist/javascript/comparator.js +34 -9
  28. package/dist/javascript/comparator.js.map +1 -1
  29. package/dist/javascript/format/format.d.ts.map +1 -1
  30. package/dist/javascript/format/format.js +8 -9
  31. package/dist/javascript/format/format.js.map +1 -1
  32. package/dist/javascript/format/tabs-and-indents-visitor.d.ts +2 -0
  33. package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
  34. package/dist/javascript/format/tabs-and-indents-visitor.js +17 -11
  35. package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
  36. package/dist/javascript/index.d.ts +8 -1
  37. package/dist/javascript/index.d.ts.map +1 -1
  38. package/dist/javascript/index.js +26 -1
  39. package/dist/javascript/index.js.map +1 -1
  40. package/dist/javascript/node-resolution-result.d.ts +19 -1
  41. package/dist/javascript/node-resolution-result.d.ts.map +1 -1
  42. package/dist/javascript/node-resolution-result.js +37 -2
  43. package/dist/javascript/node-resolution-result.js.map +1 -1
  44. package/dist/javascript/package-exported-types.d.ts.map +1 -1
  45. package/dist/javascript/package-exported-types.js +56 -72
  46. package/dist/javascript/package-exported-types.js.map +1 -1
  47. package/dist/javascript/parser-utils.d.ts.map +1 -1
  48. package/dist/javascript/parser-utils.js +2 -0
  49. package/dist/javascript/parser-utils.js.map +1 -1
  50. package/dist/javascript/parser.d.ts +7 -1
  51. package/dist/javascript/parser.d.ts.map +1 -1
  52. package/dist/javascript/parser.js +17 -4
  53. package/dist/javascript/parser.js.map +1 -1
  54. package/dist/javascript/recipes/change-import.d.ts +2 -4
  55. package/dist/javascript/recipes/change-import.d.ts.map +1 -1
  56. package/dist/javascript/recipes/change-import.js +8 -244
  57. package/dist/javascript/recipes/change-import.js.map +1 -1
  58. package/dist/javascript/remove-import.d.ts +2 -28
  59. package/dist/javascript/remove-import.d.ts.map +1 -1
  60. package/dist/javascript/remove-import.js +19 -57
  61. package/dist/javascript/remove-import.js.map +1 -1
  62. package/dist/javascript/scope.d.ts +49 -0
  63. package/dist/javascript/scope.d.ts.map +1 -0
  64. package/dist/javascript/scope.js +324 -0
  65. package/dist/javascript/scope.js.map +1 -0
  66. package/dist/javascript/style.d.ts.map +1 -1
  67. package/dist/javascript/style.js +3 -10
  68. package/dist/javascript/style.js.map +1 -1
  69. package/dist/javascript/templating/bindings.d.ts +8 -0
  70. package/dist/javascript/templating/bindings.d.ts.map +1 -0
  71. package/dist/javascript/templating/bindings.js +92 -0
  72. package/dist/javascript/templating/bindings.js.map +1 -0
  73. package/dist/javascript/templating/comparator.d.ts +10 -0
  74. package/dist/javascript/templating/comparator.d.ts.map +1 -1
  75. package/dist/javascript/templating/comparator.js +48 -20
  76. package/dist/javascript/templating/comparator.js.map +1 -1
  77. package/dist/javascript/templating/engine.d.ts +34 -10
  78. package/dist/javascript/templating/engine.d.ts.map +1 -1
  79. package/dist/javascript/templating/engine.js +109 -55
  80. package/dist/javascript/templating/engine.js.map +1 -1
  81. package/dist/javascript/templating/index.d.ts +1 -1
  82. package/dist/javascript/templating/index.d.ts.map +1 -1
  83. package/dist/javascript/templating/index.js.map +1 -1
  84. package/dist/javascript/templating/pattern.d.ts.map +1 -1
  85. package/dist/javascript/templating/pattern.js +13 -10
  86. package/dist/javascript/templating/pattern.js.map +1 -1
  87. package/dist/javascript/templating/placeholder-replacement.d.ts +4 -0
  88. package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
  89. package/dist/javascript/templating/placeholder-replacement.js +24 -10
  90. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  91. package/dist/javascript/templating/precedence.d.ts +12 -4
  92. package/dist/javascript/templating/precedence.d.ts.map +1 -1
  93. package/dist/javascript/templating/precedence.js +18 -11
  94. package/dist/javascript/templating/precedence.js.map +1 -1
  95. package/dist/javascript/templating/rewrite.d.ts.map +1 -1
  96. package/dist/javascript/templating/rewrite.js +19 -17
  97. package/dist/javascript/templating/rewrite.js.map +1 -1
  98. package/dist/javascript/templating/template.d.ts +14 -0
  99. package/dist/javascript/templating/template.d.ts.map +1 -1
  100. package/dist/javascript/templating/template.js +63 -3
  101. package/dist/javascript/templating/template.js.map +1 -1
  102. package/dist/javascript/templating/types.d.ts +39 -1
  103. package/dist/javascript/templating/types.d.ts.map +1 -1
  104. package/dist/javascript/templating/utils.d.ts +6 -1
  105. package/dist/javascript/templating/utils.d.ts.map +1 -1
  106. package/dist/javascript/templating/utils.js +20 -2
  107. package/dist/javascript/templating/utils.js.map +1 -1
  108. package/dist/javascript/type-mapping.d.ts +1 -0
  109. package/dist/javascript/type-mapping.d.ts.map +1 -1
  110. package/dist/javascript/type-mapping.js +52 -2
  111. package/dist/javascript/type-mapping.js.map +1 -1
  112. package/dist/rewrite-javascript-version.txt +1 -1
  113. package/dist/style.d.ts +2 -0
  114. package/dist/style.d.ts.map +1 -1
  115. package/dist/style.js +5 -0
  116. package/dist/style.js.map +1 -1
  117. package/dist/test/rewrite-test.d.ts +12 -0
  118. package/dist/test/rewrite-test.d.ts.map +1 -1
  119. package/dist/test/rewrite-test.js +40 -3
  120. package/dist/test/rewrite-test.js.map +1 -1
  121. package/package.json +2 -2
  122. package/src/java/formatting-utils.ts +14 -10
  123. package/src/java/type.ts +5 -0
  124. package/src/javascript/add-import.ts +751 -247
  125. package/src/javascript/amd.ts +915 -0
  126. package/src/javascript/assertions.ts +33 -5
  127. package/src/javascript/binding.ts +449 -0
  128. package/src/javascript/comparator.ts +39 -10
  129. package/src/javascript/format/format.ts +9 -10
  130. package/src/javascript/format/tabs-and-indents-visitor.ts +18 -12
  131. package/src/javascript/index.ts +12 -1
  132. package/src/javascript/node-resolution-result.ts +59 -4
  133. package/src/javascript/package-exported-types.ts +60 -74
  134. package/src/javascript/parser-utils.ts +2 -0
  135. package/src/javascript/parser.ts +23 -3
  136. package/src/javascript/recipes/change-import.ts +10 -263
  137. package/src/javascript/remove-import.ts +20 -56
  138. package/src/javascript/scope.ts +338 -0
  139. package/src/javascript/style.ts +3 -11
  140. package/src/javascript/templating/bindings.ts +99 -0
  141. package/src/javascript/templating/comparator.ts +57 -20
  142. package/src/javascript/templating/engine.ts +148 -68
  143. package/src/javascript/templating/index.ts +1 -0
  144. package/src/javascript/templating/pattern.ts +19 -16
  145. package/src/javascript/templating/placeholder-replacement.ts +32 -11
  146. package/src/javascript/templating/precedence.ts +21 -13
  147. package/src/javascript/templating/rewrite.ts +23 -17
  148. package/src/javascript/templating/template.ts +84 -9
  149. package/src/javascript/templating/types.ts +46 -1
  150. package/src/javascript/templating/utils.ts +21 -2
  151. package/src/javascript/type-mapping.ts +54 -2
  152. package/src/style.ts +5 -0
  153. package/src/test/rewrite-test.ts +61 -3
@@ -1,9 +1,14 @@
1
1
  import { Cursor } from '../..';
2
2
  import { J } from '../../java';
3
- import { Any, Capture, JS } from '..';
3
+ import { Any, Capture } from '..';
4
4
  import { RawCode } from './capture';
5
5
  import { JavaCoordinates } from './template';
6
6
  import ts from "typescript";
7
+ import { ModuleScopeBinding } from '../add-import';
8
+ /** A module a template's context binds, and whether the parse resolved it well enough to attribute. */
9
+ export interface ContextBinding extends ModuleScopeBinding {
10
+ attributed: boolean;
11
+ }
7
12
  import { Parameter } from "./types";
8
13
  /**
9
14
  * Configure the sourceFileCache used for template parsing.
@@ -31,7 +36,15 @@ export declare class TemplateEngine {
31
36
  * @param dependencies NPM dependencies for type attribution
32
37
  * @returns A Promise resolving to the extracted template AST
33
38
  */
34
- static getTemplateTree(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>): Promise<J>;
39
+ /** The template parsed with its context, which is what gives its code types to attribute against. */
40
+ private static parseWithContext;
41
+ /**
42
+ * The modules the template's context binds, for the caller to bind in the file being edited.
43
+ * An `import` or `require` states one; anything else — a `declare`, a helper signature — types
44
+ * the template without asking for a binding.
45
+ */
46
+ static getContextBindings(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<ContextBinding[]>;
47
+ static getTemplateTree(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<J>;
35
48
  /**
36
49
  * Applies a template from a pre-parsed AST and returns the resulting AST.
37
50
  * This method is used by Template.apply() after getting the cached template tree.
@@ -42,16 +55,22 @@ export declare class TemplateEngine {
42
55
  * @param coordinates The coordinates specifying where and how to insert the generated AST
43
56
  * @param values Map of capture names to values to replace the parameters with
44
57
  * @param wrappersMap Map of capture names to J.RightPadded wrappers (for preserving markers)
58
+ * @param format Whether to fit the result to where it lands
59
+ * @param renames Local names for the template's declared bindings, keyed as declared
60
+ * @param modules The module each declared binding names, keyed as declared
45
61
  * @returns A Promise resolving to the generated AST node
46
62
  */
47
- static applyTemplateFromAst(ast: JS.CompilationUnit, parameters: Parameter[], cursor: Cursor, coordinates: JavaCoordinates, values?: Pick<Map<string, J>, 'get'>, wrappersMap?: Pick<Map<string, J.RightPadded<J> | J.RightPadded<J>[]>, 'get'>): Promise<J | undefined>;
63
+ static applyTemplateFromAst(ast: J, parameters: Parameter[], cursor: Cursor, coordinates: JavaCoordinates, values?: Pick<Map<string, J>, 'get'>, wrappersMap?: Pick<Map<string, J.RightPadded<J> | J.RightPadded<J>[]>, 'get'>, format?: boolean, renames?: Record<string, string>, modules?: Record<string, string>): Promise<J | undefined>;
48
64
  /**
49
65
  * Generates type preamble declarations for captures/parameters with type annotations.
50
66
  *
51
67
  * @param parameters The parameters
52
68
  * @returns Array of preamble statements
53
69
  */
54
- private static generateTypePreamble;
70
+ /** The declarations that give a capture's placeholder its type while the pattern is parsed. */
71
+ static capturePreamble(captures: (Capture | Any | RawCode)[]): string[];
72
+ /** The parameter counterpart of {@link capturePreamble}. */
73
+ static parameterPreamble(parameters: Parameter[]): string[];
55
74
  /**
56
75
  * Builds a template string with parameter placeholders.
57
76
  * RawCode parameters are spliced directly into the template at construction time.
@@ -70,17 +89,21 @@ export declare class TemplateEngine {
70
89
  */
71
90
  private static typeToString;
72
91
  /**
73
- * Gets the parsed and extracted pattern tree with capture markers attached.
74
- * This is the entry point for pattern processing, providing pattern-specific
75
- * functionality on top of the shared template tree generation.
92
+ * Gets the parsed and extracted pattern tree, with placeholder identifiers left bare;
93
+ * `attachCaptureMarkers` binds it to a particular set of captures.
76
94
  *
77
95
  * @param templateParts The string parts of the template
78
96
  * @param captures The captures between the string parts (can include RawCode)
79
97
  * @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
80
98
  * @param dependencies NPM dependencies for type attribution
81
- * @returns A Promise resolving to the extracted pattern AST with capture markers
99
+ * @returns A Promise resolving to the extracted pattern AST
100
+ */
101
+ static getPatternTree(templateParts: TemplateStringsArray, captures: (Capture | Any | RawCode)[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<J>;
102
+ /**
103
+ * Binds a pattern tree to a set of captures by attaching a CaptureMarker, carrying that
104
+ * capture's constraint and variadic options, to each placeholder identifier.
82
105
  */
83
- static getPatternTree(templateParts: TemplateStringsArray, captures: (Capture | Any | RawCode)[], contextStatements?: string[], dependencies?: Record<string, string>): Promise<J>;
106
+ static attachCaptureMarkers(tree: J, captures: (Capture | Any | RawCode)[]): Promise<J>;
84
107
  }
85
108
  /**
86
109
  * Helper class for applying a template to an AST.
@@ -89,7 +112,8 @@ export declare class TemplateApplier {
89
112
  private readonly cursor;
90
113
  private readonly coordinates;
91
114
  private readonly ast;
92
- constructor(cursor: Cursor, coordinates: JavaCoordinates, ast: J);
115
+ private readonly shouldFormat;
116
+ constructor(cursor: Cursor, coordinates: JavaCoordinates, ast: J, shouldFormat?: boolean);
93
117
  /**
94
118
  * Applies the template to the current AST.
95
119
  *
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAA8C,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAa,CAAC,EAAkB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAC,GAAG,EAAE,OAAO,EAAuC,EAAE,EAAC,MAAM,IAAI,CAAC;AAGzE,OAAO,EAAuF,OAAO,EAAC,MAAM,WAAW,CAAC;AAGxH,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAgDlC;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAEnF;AA0FD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB;;;;;;;;;OASG;WACU,eAAe,CACxB,aAAa,EAAE,oBAAoB,EACnC,UAAU,EAAE,SAAS,EAAE,EACvB,iBAAiB,GAAE,MAAM,EAAO,EAChC,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC1C,OAAO,CAAC,CAAC,CAAC;IAkCb;;;;;;;;;;;OAWG;WACU,oBAAoB,CAC7B,GAAG,EAAE,EAAE,CAAC,eAAe,EACvB,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,eAAe,EAC5B,MAAM,GAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAa,EAC/C,WAAW,GAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAa,GACzF,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA8BzB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAuDnC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA2BlC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAyC3B;;;;;;;;;;OAUG;WACU,cAAc,CACvB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,EAAE,EACrC,iBAAiB,GAAE,MAAM,EAAO,EAChC,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC1C,OAAO,CAAC,CAAC,CAAC;CAgFhB;AA8HD;;GAEG;AACH,qBAAa,eAAe;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAFH,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,eAAe,EAC5B,GAAG,EAAE,CAAC;IAI3B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAcrC;;;;OAIG;YACW,aAAa;IAiB3B,6FAA6F;IAC7F,OAAO,CAAC,YAAY;YA2BN,MAAM;IAiBpB,OAAO,CAAC,QAAQ;CAmDnB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,13 @@ const capture_1 = require("./capture");
27
27
  const placeholder_replacement_1 = require("./placeholder-replacement");
28
28
  const precedence_1 = require("./precedence");
29
29
  const format_1 = require("../format");
30
+ const bindings_1 = require("./bindings");
30
31
  const parser_utils_1 = require("../parser-utils");
31
32
  const uuid_1 = require("../../uuid");
32
33
  const dependency_workspace_1 = require("../dependency-workspace");
34
+ const add_import_1 = require("../add-import");
35
+ const scope_1 = require("../scope");
36
+ const java_2 = require("../../java");
33
37
  /**
34
38
  * Simple LRU (Least Recently Used) cache implementation.
35
39
  * Used for template/pattern compilation caching with bounded memory usage.
@@ -77,6 +81,21 @@ let templateSourceFileCache;
77
81
  */
78
82
  function setTemplateSourceFileCache(cache) {
79
83
  templateSourceFileCache = cache;
84
+ templateParsers.clear();
85
+ }
86
+ // Every template parses under `template.tsx`, so one parser per workspace carries its program
87
+ // from one compile to the next; see `JavaScriptParser.parse`.
88
+ const templateParsers = new Map();
89
+ function templateParser(workspaceDir, types) {
90
+ // `types` changes what the compiler loads, so parsers cannot be shared across differing sets.
91
+ // An empty list loads nothing where absence loads the defaults, so the two encode apart.
92
+ const key = `${workspaceDir !== null && workspaceDir !== void 0 ? workspaceDir : ""}::${JSON.stringify(types !== null && types !== void 0 ? types : null)}`;
93
+ let parser = templateParsers.get(key);
94
+ if (!parser) {
95
+ parser = new __2.JavaScriptParser({ relativeTo: workspaceDir, sourceFileCache: templateSourceFileCache, types });
96
+ templateParsers.set(key, parser);
97
+ }
98
+ return parser;
80
99
  }
81
100
  /**
82
101
  * Cache for compiled templates and patterns.
@@ -90,7 +109,7 @@ class TemplateCache {
90
109
  /**
91
110
  * Generates a cache key from template string, captures, and options.
92
111
  */
93
- generateKey(templateString, captures, contextStatements, dependencies) {
112
+ generateKey(templateString, captures, contextStatements, dependencies, types) {
94
113
  // Use the actual template string (with placeholders) as the primary key
95
114
  const templateKey = templateString;
96
115
  // Capture names
@@ -99,13 +118,13 @@ class TemplateCache {
99
118
  const contextKey = contextStatements.join(';');
100
119
  // Dependencies
101
120
  const depsKey = JSON.stringify(dependencies || {});
102
- return `${templateKey}::${capturesKey}::${contextKey}::${depsKey}`;
121
+ return `${templateKey}::${capturesKey}::${contextKey}::${depsKey}::${JSON.stringify(types !== null && types !== void 0 ? types : null)}`;
103
122
  }
104
123
  /**
105
124
  * Gets a cached compilation unit or creates and caches a new one.
106
125
  */
107
- async getOrParse(templateString, captures, contextStatements, dependencies) {
108
- const key = this.generateKey(templateString, captures, contextStatements, dependencies);
126
+ async getOrParse(templateString, captures, contextStatements, dependencies, types) {
127
+ const key = this.generateKey(templateString, captures, contextStatements, dependencies, types);
109
128
  let cu = this.cache.get(key);
110
129
  if (cu) {
111
130
  return cu;
@@ -123,10 +142,7 @@ class TemplateCache {
123
142
  : templateString;
124
143
  // Parse and cache (workspace only needed during parsing)
125
144
  // Use templateSourceFileCache if configured for ~3.2x speedup on dependency file parsing
126
- const parser = new __2.JavaScriptParser({
127
- relativeTo: workspaceDir,
128
- sourceFileCache: templateSourceFileCache
129
- });
145
+ const parser = templateParser(workspaceDir, types);
130
146
  const parseGenerator = parser.parse({ text: fullTemplateString, sourcePath: 'template.tsx' });
131
147
  cu = (await parseGenerator.next()).value;
132
148
  this.cache.set(key, cu);
@@ -166,20 +182,41 @@ class TemplateEngine {
166
182
  * @param dependencies NPM dependencies for type attribution
167
183
  * @returns A Promise resolving to the extracted template AST
168
184
  */
169
- static async getTemplateTree(templateParts, parameters, contextStatements = [], dependencies = {}) {
170
- // Generate type preamble for captures/parameters with types
171
- const preamble = TemplateEngine.generateTypePreamble(parameters);
172
- // Build the template string with parameter placeholders
185
+ /** The template parsed with its context, which is what gives its code types to attribute against. */
186
+ static async parseWithContext(templateParts, parameters, contextStatements, dependencies, types) {
187
+ // A capture's declared type reaches the parse as a declaration, so it belongs with context.
188
+ const preamble = TemplateEngine.parameterPreamble(parameters);
173
189
  const templateString = TemplateEngine.buildTemplateString(templateParts, parameters);
174
- // Add preamble to context statements (so they're skipped during extraction)
175
190
  const contextWithPreamble = preamble.length > 0
176
191
  ? [...contextStatements, ...preamble]
177
192
  : contextStatements;
178
- // Use cache to get or parse the compilation unit
179
- const cu = await templateCache.getOrParse(templateString, [], contextWithPreamble, dependencies);
193
+ return templateCache.getOrParse(templateString, [], contextWithPreamble, dependencies, types);
194
+ }
195
+ /**
196
+ * The modules the template's context binds, for the caller to bind in the file being edited.
197
+ * An `import` or `require` states one; anything else — a `declare`, a helper signature — types
198
+ * the template without asking for a binding.
199
+ */
200
+ static async getContextBindings(templateParts, parameters, contextStatements = [], dependencies = {}, types) {
201
+ const cu = await TemplateEngine.parseWithContext(templateParts, parameters, contextStatements, dependencies, types);
202
+ // The template's own code is the last statement, so everything ahead of it is context.
203
+ const context = Object.assign(Object.assign({}, cu), { statements: cu.statements.slice(0, -1) });
204
+ const attributed = new Set();
205
+ (0, scope_1.walk)(context.statements, node => {
206
+ if ((0, java_2.isIdentifier)(node) && (node.type !== undefined || node.fieldType !== undefined)) {
207
+ attributed.add(node.simpleName);
208
+ }
209
+ return true;
210
+ });
211
+ return (0, add_import_1.moduleScopeBindings)(context)
212
+ .filter(b => b.module !== undefined)
213
+ .map(b => (Object.assign(Object.assign({}, b), { attributed: attributed.has(b.name) })));
214
+ }
215
+ static async getTemplateTree(templateParts, parameters, contextStatements = [], dependencies = {}, types) {
216
+ const cu = await TemplateEngine.parseWithContext(templateParts, parameters, contextStatements, dependencies, types);
180
217
  // Check if there are any statements
181
218
  if (!cu.statements || cu.statements.length === 0) {
182
- throw new Error(`Failed to parse template code (no statements):\n${templateString}`);
219
+ throw new Error(`Failed to parse template code (no statements):\n${TemplateEngine.buildTemplateString(templateParts, parameters)}`);
183
220
  }
184
221
  // The template code is always the last statement (after context + preamble)
185
222
  const lastStatement = cu.statements[cu.statements.length - 1].element;
@@ -197,9 +234,12 @@ class TemplateEngine {
197
234
  * @param coordinates The coordinates specifying where and how to insert the generated AST
198
235
  * @param values Map of capture names to values to replace the parameters with
199
236
  * @param wrappersMap Map of capture names to J.RightPadded wrappers (for preserving markers)
237
+ * @param format Whether to fit the result to where it lands
238
+ * @param renames Local names for the template's declared bindings, keyed as declared
239
+ * @param modules The module each declared binding names, keyed as declared
200
240
  * @returns A Promise resolving to the generated AST node
201
241
  */
202
- static async applyTemplateFromAst(ast, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map()) {
242
+ static async applyTemplateFromAst(ast, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map(), format = true, renames = {}, modules = {}) {
203
243
  // Create substitutions map for placeholders
204
244
  const substitutions = new Map();
205
245
  for (let i = 0; i < parameters.length; i++) {
@@ -208,9 +248,12 @@ class TemplateEngine {
208
248
  }
209
249
  // Before substitution, so that ids carried over from the source tree survive this pass
210
250
  const fresh = await (0, utils_1.randomizeIds)(ast);
251
+ const bound = Object.keys(renames).length > 0
252
+ ? await (0, bindings_1.renameBindings)(fresh.tree, renames, modules)
253
+ : fresh.tree;
211
254
  // Unsubstitute placeholders with actual parameter values and match results
212
255
  const visitor = new placeholder_replacement_1.PlaceholderReplacementVisitor(substitutions, values, wrappersMap);
213
- const unsubstitutedAst = (await visitor.visit(fresh.tree, null));
256
+ const unsubstitutedAst = (await visitor.visit(bound, null));
214
257
  // An id may only be kept where the node answering to it is leaving the tree, which is the
215
258
  // subtree this application replaces. A parameter named twice, or spliced in from somewhere
216
259
  // that stays, would otherwise put one id in two places.
@@ -222,7 +265,7 @@ class TemplateEngine {
222
265
  }
223
266
  const uniqueAst = await (0, utils_1.retainIds)(unsubstitutedAst, retainable);
224
267
  // Apply the template to the current AST
225
- return new TemplateApplier(cursor, coordinates, uniqueAst).apply();
268
+ return new TemplateApplier(cursor, coordinates, uniqueAst, format).apply();
226
269
  }
227
270
  /**
228
271
  * Generates type preamble declarations for captures/parameters with type annotations.
@@ -230,7 +273,31 @@ class TemplateEngine {
230
273
  * @param parameters The parameters
231
274
  * @returns Array of preamble statements
232
275
  */
233
- static generateTypePreamble(parameters) {
276
+ /** The declarations that give a capture's placeholder its type while the pattern is parsed. */
277
+ static capturePreamble(captures) {
278
+ const preamble = [];
279
+ for (const capture of captures) {
280
+ // Raw code is spliced in as source, so it declares nothing
281
+ if (capture instanceof capture_1.RawCode || (capture && typeof capture === 'object' && capture[capture_1.RAW_CODE_SYMBOL])) {
282
+ continue;
283
+ }
284
+ const captureName = capture[capture_1.CAPTURE_NAME_SYMBOL] || capture.getName();
285
+ const captureType = capture[capture_1.CAPTURE_TYPE_SYMBOL];
286
+ if (captureType) {
287
+ const typeString = typeof captureType === 'string'
288
+ ? captureType
289
+ : this.typeToString(captureType);
290
+ // `any` attributes nothing, so a declaration for it would only cost a parse
291
+ if (typeString !== 'any') {
292
+ const placeholder = utils_1.PlaceholderUtils.createCapture(captureName, undefined);
293
+ preamble.push(`let ${placeholder}: ${typeString};`);
294
+ }
295
+ }
296
+ }
297
+ return preamble;
298
+ }
299
+ /** The parameter counterpart of {@link capturePreamble}. */
300
+ static parameterPreamble(parameters) {
234
301
  const preamble = [];
235
302
  for (let i = 0; i < parameters.length; i++) {
236
303
  const param = parameters[i].value;
@@ -311,7 +378,7 @@ class TemplateEngine {
311
378
  }
312
379
  // Always wrap in function body - let the parser decide what it is,
313
380
  // then we'll extract intelligently based on what was parsed
314
- return `function ${utils_1.WRAPPER_FUNCTION_NAME}() { ${result} }`;
381
+ return `function ${utils_1.WRAPPER_FUNCTION_NAME}() { ${(0, utils_1.dedentTemplate)(result)} }`;
315
382
  }
316
383
  /**
317
384
  * Converts a Type instance to a TypeScript type string.
@@ -357,39 +424,17 @@ class TemplateEngine {
357
424
  return 'any';
358
425
  }
359
426
  /**
360
- * Gets the parsed and extracted pattern tree with capture markers attached.
361
- * This is the entry point for pattern processing, providing pattern-specific
362
- * functionality on top of the shared template tree generation.
427
+ * Gets the parsed and extracted pattern tree, with placeholder identifiers left bare;
428
+ * `attachCaptureMarkers` binds it to a particular set of captures.
363
429
  *
364
430
  * @param templateParts The string parts of the template
365
431
  * @param captures The captures between the string parts (can include RawCode)
366
432
  * @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
367
433
  * @param dependencies NPM dependencies for type attribution
368
- * @returns A Promise resolving to the extracted pattern AST with capture markers
434
+ * @returns A Promise resolving to the extracted pattern AST
369
435
  */
370
- static async getPatternTree(templateParts, captures, contextStatements = [], dependencies = {}) {
371
- // Generate type preamble for captures with types (skip RawCode)
372
- const preamble = [];
373
- for (const capture of captures) {
374
- // Skip raw code - it's not a capture
375
- if (capture instanceof capture_1.RawCode || (capture && typeof capture === 'object' && capture[capture_1.RAW_CODE_SYMBOL])) {
376
- continue;
377
- }
378
- const captureName = capture[capture_1.CAPTURE_NAME_SYMBOL] || capture.getName();
379
- const captureType = capture[capture_1.CAPTURE_TYPE_SYMBOL];
380
- if (captureType) {
381
- // Convert Type to string if needed
382
- const typeString = typeof captureType === 'string'
383
- ? captureType
384
- : this.typeToString(captureType);
385
- // Only add preamble if we have a concrete type (not 'any')
386
- if (typeString !== 'any') {
387
- const placeholder = utils_1.PlaceholderUtils.createCapture(captureName, undefined);
388
- preamble.push(`let ${placeholder}: ${typeString};`);
389
- }
390
- }
391
- // Don't add preamble declarations without types - they don't provide type attribution
392
- }
436
+ static async getPatternTree(templateParts, captures, contextStatements = [], dependencies = {}, types) {
437
+ const preamble = TemplateEngine.capturePreamble(captures);
393
438
  // Build the template string with placeholders for captures and raw code
394
439
  let result = '';
395
440
  for (let i = 0; i < templateParts.length; i++) {
@@ -417,7 +462,7 @@ class TemplateEngine {
417
462
  // Filter out RawCode from captures for cache and marker attachment
418
463
  const actualCaptures = captures.filter(c => !(c instanceof capture_1.RawCode || (c && typeof c === 'object' && c[capture_1.RAW_CODE_SYMBOL])));
419
464
  // Use cache to get or parse the compilation unit
420
- const cu = await templateCache.getOrParse(templateString, actualCaptures, contextWithPreamble, dependencies);
465
+ const cu = await templateCache.getOrParse(templateString, actualCaptures, contextWithPreamble, dependencies, types);
421
466
  // Check if there are any statements
422
467
  if (!cu.statements || cu.statements.length === 0) {
423
468
  throw new Error(`Failed to parse pattern code (no statements):\n${templateString}`);
@@ -425,17 +470,22 @@ class TemplateEngine {
425
470
  // The pattern code is always the last statement (after context + preamble)
426
471
  const lastStatement = cu.statements[cu.statements.length - 1].element;
427
472
  // Extract from wrapper using shared utility
428
- const extracted = utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Pattern');
429
- // Attach CaptureMarkers to capture identifiers (only for actual captures, not raw code)
430
- const visitor = new MarkerAttachmentVisitor(actualCaptures);
431
- return (await visitor.visit(extracted, undefined));
473
+ return utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Pattern');
474
+ }
475
+ /**
476
+ * Binds a pattern tree to a set of captures by attaching a CaptureMarker, carrying that
477
+ * capture's constraint and variadic options, to each placeholder identifier.
478
+ */
479
+ static async attachCaptureMarkers(tree, captures) {
480
+ const actualCaptures = captures.filter(c => !(c instanceof capture_1.RawCode || (c && typeof c === 'object' && c[capture_1.RAW_CODE_SYMBOL])));
481
+ return (await new MarkerAttachmentVisitor(actualCaptures).visit(tree, undefined));
432
482
  }
433
483
  }
434
484
  exports.TemplateEngine = TemplateEngine;
435
485
  /**
436
486
  * Visitor that attaches CaptureMarkers to capture identifiers in pattern ASTs.
437
487
  * This allows efficient capture detection without string parsing during matching.
438
- * Used by TemplateEngine.getPatternTree() for pattern-specific processing.
488
+ * Reached through TemplateEngine.attachCaptureMarkers().
439
489
  */
440
490
  class MarkerAttachmentVisitor extends __2.JavaScriptVisitor {
441
491
  constructor(captures) {
@@ -540,10 +590,11 @@ class MarkerAttachmentVisitor extends __2.JavaScriptVisitor {
540
590
  * Helper class for applying a template to an AST.
541
591
  */
542
592
  class TemplateApplier {
543
- constructor(cursor, coordinates, ast) {
593
+ constructor(cursor, coordinates, ast, shouldFormat = true) {
544
594
  this.cursor = cursor;
545
595
  this.coordinates = coordinates;
546
596
  this.ast = ast;
597
+ this.shouldFormat = shouldFormat;
547
598
  }
548
599
  /**
549
600
  * Applies the template to the current AST.
@@ -613,6 +664,9 @@ class TemplateApplier {
613
664
  const result = Object.assign(Object.assign({}, resultToUse), {
614
665
  // We temporarily set the ID so that the formatter can identify the tree
615
666
  id: originalTree.id, prefix: originalTree.prefix });
667
+ if (!this.shouldFormat) {
668
+ return Object.assign(Object.assign({}, result), { id: resultToUse.id });
669
+ }
616
670
  // Apply auto-formatting to the result
617
671
  const formatted = await (0, format_1.maybeAutoFormat)(originalTree, result, null, undefined, (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.parent);
618
672
  // Restore the original ID
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type { VariadicOptions, CaptureOptions, Capture, Any, TemplateParam, PatternOptions, MatchOptions, TemplateParameter, TemplateOptions, RewriteRule, RewriteConfig, DebugOptions, DebugLogEntry, MatchExplanation, MatchAttemptResult } from './types';
1
+ export type { VariadicOptions, CaptureOptions, Capture, Any, TemplateParam, PatternOptions, MatchOptions, TemplateParameter, TemplateOptions, RewriteRule, TryOnOptions, 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
4
  export { rewrite, fromRecipe, flattenBlock } from './rewrite';
@@ -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,EACV,YAAY,EACf,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,EACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,kBAAkB,EACrB,MAAM,UAAU,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,YAAY,EACZ,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;AAGpB,OAAO,EACH,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,kBAAkB,EACrB,MAAM,UAAU,CAAC"}
@@ -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,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;AAGZ,2FAA2F;AAC3F,2CAKsB;AAJlB,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,+GAAA,iBAAiB,OAAA;AACjB,0GAAA,YAAY,OAAA;AAGhB,wCAAwC;AACxC,mCAEkB;AADd,4GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAsBH,+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;AAGZ,2FAA2F;AAC3F,2CAKsB;AAJlB,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,+GAAA,iBAAiB,OAAA;AACjB,0GAAA,YAAY,OAAA;AAGhB,wCAAwC;AACxC,mCAEkB;AADd,4GAAA,kBAAkB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"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"}
@@ -191,17 +191,20 @@ class Pattern {
191
191
  }
192
192
  return c.getName();
193
193
  }).join(',');
194
- const cacheKey = (0, utils_1.generateCacheKey)(this.templateParts, capturesKey, contextStatements, this._options.dependencies || {});
194
+ const cacheKey = (0, utils_1.generateCacheKey)(this.templateParts, capturesKey,
195
+ // A capture's type reaches the parse as a declaration, so it shapes the tree the same
196
+ // way an explicit context statement does and belongs in the key alongside one.
197
+ [...contextStatements, ...engine_1.TemplateEngine.capturePreamble(this.captures)], this._options.dependencies || {}, this._options.types);
195
198
  // Level 2: Global cache (fast path - shared with Template)
196
- const cached = utils_1.globalAstCache.get(cacheKey);
197
- if (cached) {
198
- this._cachedAstPattern = cached;
199
- return cached;
200
- }
201
- // Level 3: Compute via TemplateEngine (slow path)
202
- const result = await engine_1.TemplateEngine.getPatternTree(this.templateParts, this.captures, contextStatements, this._options.dependencies || {});
203
- // Cache in both levels
204
- utils_1.globalAstCache.set(cacheKey, result);
199
+ let tree = utils_1.globalAstCache.get(cacheKey);
200
+ if (!tree) {
201
+ // Level 3: Compute via TemplateEngine (slow path)
202
+ tree = await engine_1.TemplateEngine.getPatternTree(this.templateParts, this.captures, contextStatements, this._options.dependencies || {}, this._options.types);
203
+ utils_1.globalAstCache.set(cacheKey, tree);
204
+ }
205
+ // The key names captures but says nothing about their constraints, so two patterns of the
206
+ // same shape share an entry; markers are attached per instance to keep them apart.
207
+ const result = await engine_1.TemplateEngine.attachCaptureMarkers(tree, this.captures);
205
208
  this._cachedAstPattern = result;
206
209
  return result;
207
210
  }