@openrewrite/rewrite 8.91.1 → 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 (96) hide show
  1. package/dist/javascript/add-import.d.ts +68 -34
  2. package/dist/javascript/add-import.d.ts.map +1 -1
  3. package/dist/javascript/add-import.js +322 -160
  4. package/dist/javascript/add-import.js.map +1 -1
  5. package/dist/javascript/amd.d.ts +138 -0
  6. package/dist/javascript/amd.d.ts.map +1 -0
  7. package/dist/javascript/amd.js +768 -0
  8. package/dist/javascript/amd.js.map +1 -0
  9. package/dist/javascript/binding.d.ts +94 -0
  10. package/dist/javascript/binding.d.ts.map +1 -0
  11. package/dist/javascript/binding.js +335 -0
  12. package/dist/javascript/binding.js.map +1 -0
  13. package/dist/javascript/index.d.ts +8 -1
  14. package/dist/javascript/index.d.ts.map +1 -1
  15. package/dist/javascript/index.js +26 -1
  16. package/dist/javascript/index.js.map +1 -1
  17. package/dist/javascript/parser-utils.d.ts.map +1 -1
  18. package/dist/javascript/parser-utils.js +2 -0
  19. package/dist/javascript/parser-utils.js.map +1 -1
  20. package/dist/javascript/parser.d.ts +7 -1
  21. package/dist/javascript/parser.d.ts.map +1 -1
  22. package/dist/javascript/parser.js +7 -1
  23. package/dist/javascript/parser.js.map +1 -1
  24. package/dist/javascript/recipes/change-import.d.ts +2 -4
  25. package/dist/javascript/recipes/change-import.d.ts.map +1 -1
  26. package/dist/javascript/recipes/change-import.js +8 -240
  27. package/dist/javascript/recipes/change-import.js.map +1 -1
  28. package/dist/javascript/remove-import.d.ts +2 -28
  29. package/dist/javascript/remove-import.d.ts.map +1 -1
  30. package/dist/javascript/remove-import.js +19 -57
  31. package/dist/javascript/remove-import.js.map +1 -1
  32. package/dist/javascript/scope.d.ts +49 -0
  33. package/dist/javascript/scope.d.ts.map +1 -0
  34. package/dist/javascript/scope.js +324 -0
  35. package/dist/javascript/scope.js.map +1 -0
  36. package/dist/javascript/templating/bindings.d.ts +0 -11
  37. package/dist/javascript/templating/bindings.d.ts.map +1 -1
  38. package/dist/javascript/templating/bindings.js +0 -29
  39. package/dist/javascript/templating/bindings.js.map +1 -1
  40. package/dist/javascript/templating/comparator.d.ts +10 -0
  41. package/dist/javascript/templating/comparator.d.ts.map +1 -1
  42. package/dist/javascript/templating/comparator.js +43 -14
  43. package/dist/javascript/templating/comparator.js.map +1 -1
  44. package/dist/javascript/templating/engine.d.ts +17 -4
  45. package/dist/javascript/templating/engine.d.ts.map +1 -1
  46. package/dist/javascript/templating/engine.js +43 -17
  47. package/dist/javascript/templating/engine.js.map +1 -1
  48. package/dist/javascript/templating/index.d.ts +1 -1
  49. package/dist/javascript/templating/index.d.ts.map +1 -1
  50. package/dist/javascript/templating/index.js.map +1 -1
  51. package/dist/javascript/templating/pattern.d.ts.map +1 -1
  52. package/dist/javascript/templating/pattern.js +2 -2
  53. package/dist/javascript/templating/pattern.js.map +1 -1
  54. package/dist/javascript/templating/placeholder-replacement.d.ts +2 -0
  55. package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
  56. package/dist/javascript/templating/placeholder-replacement.js +10 -5
  57. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  58. package/dist/javascript/templating/precedence.d.ts +12 -4
  59. package/dist/javascript/templating/precedence.d.ts.map +1 -1
  60. package/dist/javascript/templating/precedence.js +18 -11
  61. package/dist/javascript/templating/precedence.js.map +1 -1
  62. package/dist/javascript/templating/rewrite.d.ts.map +1 -1
  63. package/dist/javascript/templating/rewrite.js +7 -1
  64. package/dist/javascript/templating/rewrite.js.map +1 -1
  65. package/dist/javascript/templating/template.d.ts +7 -1
  66. package/dist/javascript/templating/template.d.ts.map +1 -1
  67. package/dist/javascript/templating/template.js +48 -28
  68. package/dist/javascript/templating/template.js.map +1 -1
  69. package/dist/javascript/templating/types.d.ts +10 -18
  70. package/dist/javascript/templating/types.d.ts.map +1 -1
  71. package/dist/javascript/templating/utils.d.ts +1 -1
  72. package/dist/javascript/templating/utils.d.ts.map +1 -1
  73. package/dist/javascript/templating/utils.js +3 -2
  74. package/dist/javascript/templating/utils.js.map +1 -1
  75. package/dist/rewrite-javascript-version.txt +1 -1
  76. package/package.json +2 -2
  77. package/src/javascript/add-import.ts +342 -198
  78. package/src/javascript/amd.ts +915 -0
  79. package/src/javascript/binding.ts +449 -0
  80. package/src/javascript/index.ts +12 -1
  81. package/src/javascript/parser-utils.ts +2 -0
  82. package/src/javascript/parser.ts +13 -0
  83. package/src/javascript/recipes/change-import.ts +10 -260
  84. package/src/javascript/remove-import.ts +20 -56
  85. package/src/javascript/scope.ts +338 -0
  86. package/src/javascript/templating/bindings.ts +0 -30
  87. package/src/javascript/templating/comparator.ts +52 -14
  88. package/src/javascript/templating/engine.ts +70 -28
  89. package/src/javascript/templating/index.ts +0 -1
  90. package/src/javascript/templating/pattern.ts +4 -2
  91. package/src/javascript/templating/placeholder-replacement.ts +16 -6
  92. package/src/javascript/templating/precedence.ts +21 -13
  93. package/src/javascript/templating/rewrite.ts +9 -1
  94. package/src/javascript/templating/template.ts +62 -29
  95. package/src/javascript/templating/types.ts +11 -18
  96. package/src/javascript/templating/utils.ts +4 -2
@@ -49,41 +49,35 @@ export interface AddImportOptions {
49
49
  quoteStyle?: QuoteChar;
50
50
  }
51
51
  /**
52
- * Register an AddImport visitor to add an import statement to a JavaScript/TypeScript file
53
- * @param visitor The visitor to add the import addition to
54
- * @param options Configuration options for the import to add
55
- * @returns The local name the module is bound to: an existing binding's where one answers this
56
- * request, otherwise the name the new import will use, suffixed if the file already binds it. `onlyIfReferenced` defaults to true, so
57
- * the import may never appear, and the name is then what it would have gone by. A side-effect
58
- * import binds no name and returns `undefined`.
59
- *
60
- * @example
61
- * // Add a named import
62
- * maybeAddImport(visitor, { module: 'fs', member: 'readFile' });
63
- *
64
- * @example
65
- * // Add a default import using the 'default' member specifier
66
- * maybeAddImport(visitor, { module: 'react', member: 'default', alias: 'React' });
67
- *
68
- * @example
69
- * // Add a default import (legacy way, without specifying member)
70
- * maybeAddImport(visitor, { module: 'react', alias: 'React' });
71
- *
72
- * @example
73
- * // Add a namespace import
74
- * maybeAddImport(visitor, { module: 'crypto', member: '*', alias: 'crypto' });
75
- *
76
- * @example
77
- * // Add a side-effect import
78
- * maybeAddImport(visitor, { module: 'core-js/stable', sideEffectOnly: true });
52
+ * Ensures an import for `options.module` exists, queuing an `AddImport` edit where none already
53
+ * serves the request. `maybeBind`'s ESM/CommonJS lane is this function; its own JSDoc carries the
54
+ * return-value contract. `refuseCreate` answers `undefined` instead of queuing a new import,
55
+ * without affecting whether an existing binding answers the request first.
56
+ */
57
+ export declare function bindImport(visitor: JavaScriptVisitor<any>, options: AddImportOptions, refuseCreate?: boolean): string | undefined;
58
+ /** `'default'` and an absent member both name a default import, which binds no member name of its own. */
59
+ export declare function memberName(member: string | undefined): string | undefined;
60
+ /** A name introduced into the file's module scope, and where it came from when that is an import. */
61
+ export interface ModuleScopeBinding {
62
+ name: string;
63
+ module?: string;
64
+ /** Carries the {@link AddImportOptions.member} spelling, so `undefined` means a default import. */
65
+ member?: string;
66
+ typeOnly?: boolean;
67
+ }
68
+ /** What the file's imports and `require`s bind at module scope, and the module each name comes from. */
69
+ export declare function moduleScopeBindings(cu: JS.CompilationUnit): ModuleScopeBinding[];
70
+ /**
71
+ * The module a `require(...)` call loads. `obj.require('x')` selects a method rather than loading a
72
+ * module, and a specifier that is not a string literal names none that can be read here.
79
73
  */
80
- export declare function maybeAddImport(visitor: JavaScriptVisitor<any>, options: AddImportOptions & {
81
- sideEffectOnly: true;
82
- }): undefined;
83
- export declare function maybeAddImport(visitor: JavaScriptVisitor<any>, options: AddImportOptions & {
84
- sideEffectOnly?: false;
85
- }): string;
86
- export declare function maybeAddImport(visitor: JavaScriptVisitor<any>, options: AddImportOptions): string | undefined;
74
+ export declare function requiredModuleOf(methodInv: J.MethodInvocation): string | undefined;
75
+ /**
76
+ * The parser lifts surrogate pairs out of `valueSource` into `unicodeEscapes` and, when it does,
77
+ * sets `value` to the quoted source (`parser.ts` `mapLiteral`), so neither field alone is the
78
+ * module name. Reuniting them and stripping the quotes yields it for either shape of literal.
79
+ */
80
+ export declare function moduleNameOf(module: string | J.Literal): string;
87
81
  export declare class AddImport<P> extends JavaScriptVisitor<P> {
88
82
  readonly module: string;
89
83
  /** Set when the caller supplied the module specifier as a literal; printed verbatim. */
@@ -170,4 +164,44 @@ export declare class AddImport<P> extends JavaScriptVisitor<P> {
170
164
  */
171
165
  private findImportInsertionIndex;
172
166
  }
167
+ export interface ExistingImportBinding {
168
+ localName: string;
169
+ onlyMemberOfStatement: boolean;
170
+ }
171
+ /**
172
+ * The existing binding for `member` of `module`, read from `cu`'s own import statements — what
173
+ * `maybeRebind` reads before committing to a `RebindImport` edit.
174
+ */
175
+ export declare function existingImportBinding(cu: JS.CompilationUnit, module: string, member: string | undefined): ExistingImportBinding | undefined;
176
+ /**
177
+ * Moves the binding `from` names to `to`, keeping the local name it already had. In place when
178
+ * the statement that carries it binds nothing else — module and member specifier rewritten there
179
+ * directly; otherwise the old specifier drops and {@link bindImport} queues the replacement,
180
+ * aliased to the preserved name.
181
+ *
182
+ * Not built on `RemoveImport`/`maybeUnbind`: those only drop a binding once nothing references
183
+ * it, but a rebind moves one that is still in use — removal here has to be unconditional.
184
+ */
185
+ export declare class RebindImport<P> extends JavaScriptVisitor<P> {
186
+ readonly from: {
187
+ module: string;
188
+ member?: string;
189
+ };
190
+ readonly to: {
191
+ module: string;
192
+ member?: string;
193
+ };
194
+ readonly localName: string;
195
+ constructor(from: {
196
+ module: string;
197
+ member?: string;
198
+ }, to: {
199
+ module: string;
200
+ member?: string;
201
+ }, localName: string);
202
+ private transformedInPlace;
203
+ private typeOnly;
204
+ visitJsCompilationUnit(cu: JS.CompilationUnit, p: P): Promise<J | undefined>;
205
+ visitImportDeclaration(jsImport: JS.Import, p: P): Promise<J | undefined>;
206
+ }
173
207
  //# sourceMappingURL=add-import.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-import.d.ts","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-import.d.ts","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"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"}