@openrewrite/rewrite 8.64.0-20251021-125949 → 8.64.0-20251021-143418

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.
@@ -30,6 +30,17 @@ export declare class RemoveImport<P> extends JavaScriptVisitor<P> {
30
30
  */
31
31
  private updateImportClause;
32
32
  visitJsCompilationUnit(compilationUnit: JS.CompilationUnit, p: P): Promise<J | undefined>;
33
+ /**
34
+ * Adjusts the prefix of a statement that follows a removed import/require.
35
+ * Removes the import's line while preserving comments that belong to subsequent lines.
36
+ *
37
+ * If the prefix whitespace doesn't contain a newline, the first comment was inline
38
+ * on the removed import line - we remove that comment and one line terminator from its suffix.
39
+ *
40
+ * @param statement The statement following the removed import
41
+ * @param hasKeptPreviousStatement Whether there's a previous statement that wasn't removed
42
+ */
43
+ private adjustPrefixAfterRemoval;
33
44
  private processImport;
34
45
  private processNamedImports;
35
46
  private processRequireFromVarDecls;
@@ -1 +1 @@
1
- {"version":3,"file":"remove-import.d.ts","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAC1B,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAG1B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,QAOjG;AAUD,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAOzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAPpC;;;;;OAKG;gBACkB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA;IAIpC;;;;OAIG;YACW,oCAAoC;IAqClD;;OAEG;YACW,kBAAkB;IAejB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YAwE1F,aAAa;YAqIb,mBAAmB;YA+DnB,0BAA0B;YA8D1B,2BAA2B;IAoDzC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,cAAc;IAmBtB;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YA2LtB,gBAAgB;CAmCjC"}
1
+ {"version":3,"file":"remove-import.d.ts","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAC1B,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAG1B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,QAOjG;AAUD,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAOzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAPpC;;;;;OAKG;gBACkB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA;IAIpC;;;;OAIG;YACW,oCAAoC;IAqClD;;OAEG;YACW,kBAAkB;IAejB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiExG;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;YAqClB,aAAa;YAqIb,mBAAmB;YA+DnB,0BAA0B;YA8D1B,2BAA2B;IAoDzC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,cAAc;IAmBtB;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YA2LtB,gBAAgB;CAmCjC"}
@@ -102,24 +102,21 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
102
102
  yield this.collectUsedIdentifiers(compilationUnit, usedIdentifiers, usedTypes);
103
103
  // Now process imports with knowledge of what's used
104
104
  return this.produceJavaScript(compilationUnit, p, (draft) => __awaiter(this, void 0, void 0, function* () {
105
- let nextStatementPrefix;
106
- draft.statements = yield (0, util_1.mapAsync)(compilationUnit.statements, (stmt, index) => __awaiter(this, void 0, void 0, function* () {
105
+ let previousWasRemoved = false;
106
+ let hasKeptStatement = false;
107
+ draft.statements = yield (0, util_1.mapAsync)(compilationUnit.statements, (stmt) => __awaiter(this, void 0, void 0, function* () {
107
108
  const statement = stmt.element;
108
109
  // Handle ES6 imports
109
110
  if ((statement === null || statement === void 0 ? void 0 : statement.kind) === tree_1.JS.Kind.Import) {
110
111
  const jsImport = statement;
111
112
  const result = yield this.processImport(jsImport, usedIdentifiers, usedTypes, p);
112
113
  if (result === undefined) {
113
- // Store the prefix for the next statement to avoid leaving blank lines
114
- if (index < compilationUnit.statements.length - 1) {
115
- const nextStmt = compilationUnit.statements[index + 1];
116
- if (nextStmt === null || nextStmt === void 0 ? void 0 : nextStmt.element) {
117
- nextStatementPrefix = jsImport.prefix;
118
- }
119
- }
120
- // Remove the entire import
114
+ // Mark that we removed an import
115
+ previousWasRemoved = true;
121
116
  return undefined;
122
117
  }
118
+ previousWasRemoved = false;
119
+ hasKeptStatement = true;
123
120
  return Object.assign(Object.assign({}, stmt), { element: result });
124
121
  }
125
122
  // Handle CommonJS require statements
@@ -128,27 +125,23 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
128
125
  const varDecl = statement;
129
126
  const result = yield this.processRequireFromVarDecls(varDecl, usedIdentifiers, p);
130
127
  if (result === undefined) {
131
- // Store the prefix for the next statement to avoid leaving blank lines
132
- if (index < compilationUnit.statements.length - 1) {
133
- const nextStmt = compilationUnit.statements[index + 1];
134
- if (nextStmt === null || nextStmt === void 0 ? void 0 : nextStmt.element) {
135
- nextStatementPrefix = varDecl.prefix;
136
- }
137
- }
138
- // Remove the entire require statement
128
+ // Mark that we removed a require
129
+ previousWasRemoved = true;
139
130
  return undefined;
140
131
  }
132
+ previousWasRemoved = false;
133
+ hasKeptStatement = true;
141
134
  return Object.assign(Object.assign({}, stmt), { element: result });
142
135
  }
143
- // Apply stored prefix if this statement follows a removed import
144
- if (nextStatementPrefix && statement) {
145
- const updatedStatement = yield this.visit(statement, p);
146
- if (updatedStatement) {
147
- updatedStatement.prefix = nextStatementPrefix;
148
- nextStatementPrefix = undefined;
149
- return Object.assign(Object.assign({}, stmt), { element: updatedStatement });
150
- }
136
+ // If the previous statement was removed, adjust this statement's prefix
137
+ if (previousWasRemoved && statement) {
138
+ previousWasRemoved = false;
139
+ const updatedStatement = this.adjustPrefixAfterRemoval(statement, hasKeptStatement);
140
+ hasKeptStatement = true;
141
+ return Object.assign(Object.assign({}, stmt), { element: updatedStatement });
151
142
  }
143
+ previousWasRemoved = false;
144
+ hasKeptStatement = true;
152
145
  return stmt;
153
146
  }));
154
147
  // Filter out undefined (removed) statements
@@ -157,6 +150,42 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
157
150
  }));
158
151
  });
159
152
  }
153
+ /**
154
+ * Adjusts the prefix of a statement that follows a removed import/require.
155
+ * Removes the import's line while preserving comments that belong to subsequent lines.
156
+ *
157
+ * If the prefix whitespace doesn't contain a newline, the first comment was inline
158
+ * on the removed import line - we remove that comment and one line terminator from its suffix.
159
+ *
160
+ * @param statement The statement following the removed import
161
+ * @param hasKeptPreviousStatement Whether there's a previous statement that wasn't removed
162
+ */
163
+ adjustPrefixAfterRemoval(statement, hasKeptPreviousStatement) {
164
+ const prefix = statement.prefix;
165
+ if (!prefix) {
166
+ return statement;
167
+ }
168
+ let whitespace = prefix.whitespace || '';
169
+ let comments = prefix.comments || [];
170
+ // If the whitespace before the first comment doesn't contain a line terminator,
171
+ // the first comment was inline on the same line as the removed import
172
+ if (!/[\r\n]/.test(whitespace) && comments.length > 0) {
173
+ // Remove the first comment (which was inline with the import)
174
+ comments = comments.slice(1);
175
+ // Clear the whitespace (it was just spacing before the inline comment)
176
+ whitespace = '';
177
+ }
178
+ else if (!hasKeptPreviousStatement) {
179
+ // At the beginning of file - remove all leading newlines
180
+ // (The removed import was the first statement, so we don't want leading blank lines)
181
+ whitespace = whitespace.replace(/^[\r\n]+/, '');
182
+ }
183
+ // else: There's a previous kept statement and no inline comment - keep whitespace as-is
184
+ // (This preserves intentional blank lines between statements)
185
+ // Create a new Space with adjusted whitespace and comments
186
+ const newPrefix = Object.assign(Object.assign({}, prefix), { whitespace: whitespace, comments: comments });
187
+ return Object.assign(Object.assign({}, statement), { prefix: newPrefix });
188
+ }
160
189
  processImport(jsImport, usedIdentifiers, usedTypes, p) {
161
190
  return __awaiter(this, void 0, void 0, function* () {
162
191
  // Check if this import is from the target module
@@ -1 +1 @@
1
- {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"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"}
package/dist/version.txt CHANGED
@@ -1 +1 @@
1
- 8.64.0-20251021-125541
1
+ 8.64.0-20251021-143017
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.64.0-20251021-125949",
3
+ "version": "8.64.0-20251021-143418",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "homepage": "https://github.com/openrewrite/rewrite",
@@ -110,9 +110,10 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
110
110
 
111
111
  // Now process imports with knowledge of what's used
112
112
  return this.produceJavaScript<JS.CompilationUnit>(compilationUnit, p, async draft => {
113
- let nextStatementPrefix: J.Space | undefined;
113
+ let previousWasRemoved = false;
114
+ let hasKeptStatement = false;
114
115
 
115
- draft.statements = await mapAsync(compilationUnit.statements, async (stmt, index) => {
116
+ draft.statements = await mapAsync(compilationUnit.statements, async (stmt) => {
116
117
  const statement = stmt.element;
117
118
 
118
119
  // Handle ES6 imports
@@ -120,16 +121,12 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
120
121
  const jsImport = statement as JS.Import;
121
122
  const result = await this.processImport(jsImport, usedIdentifiers, usedTypes, p);
122
123
  if (result === undefined) {
123
- // Store the prefix for the next statement to avoid leaving blank lines
124
- if (index < compilationUnit.statements.length - 1) {
125
- const nextStmt = compilationUnit.statements[index + 1];
126
- if (nextStmt?.element) {
127
- nextStatementPrefix = jsImport.prefix;
128
- }
129
- }
130
- // Remove the entire import
124
+ // Mark that we removed an import
125
+ previousWasRemoved = true;
131
126
  return undefined;
132
127
  }
128
+ previousWasRemoved = false;
129
+ hasKeptStatement = true;
133
130
  return {...stmt, element: result};
134
131
  }
135
132
 
@@ -139,29 +136,25 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
139
136
  const varDecl = statement as J.VariableDeclarations;
140
137
  const result = await this.processRequireFromVarDecls(varDecl, usedIdentifiers, p);
141
138
  if (result === undefined) {
142
- // Store the prefix for the next statement to avoid leaving blank lines
143
- if (index < compilationUnit.statements.length - 1) {
144
- const nextStmt = compilationUnit.statements[index + 1];
145
- if (nextStmt?.element) {
146
- nextStatementPrefix = varDecl.prefix;
147
- }
148
- }
149
- // Remove the entire require statement
139
+ // Mark that we removed a require
140
+ previousWasRemoved = true;
150
141
  return undefined;
151
142
  }
143
+ previousWasRemoved = false;
144
+ hasKeptStatement = true;
152
145
  return {...stmt, element: result};
153
146
  }
154
147
 
155
- // Apply stored prefix if this statement follows a removed import
156
- if (nextStatementPrefix && statement) {
157
- const updatedStatement = await this.visit(statement, p) as J;
158
- if (updatedStatement) {
159
- (updatedStatement as any).prefix = nextStatementPrefix;
160
- nextStatementPrefix = undefined;
161
- return {...stmt, element: updatedStatement};
162
- }
148
+ // If the previous statement was removed, adjust this statement's prefix
149
+ if (previousWasRemoved && statement) {
150
+ previousWasRemoved = false;
151
+ const updatedStatement = this.adjustPrefixAfterRemoval(statement, hasKeptStatement);
152
+ hasKeptStatement = true;
153
+ return {...stmt, element: updatedStatement};
163
154
  }
164
155
 
156
+ previousWasRemoved = false;
157
+ hasKeptStatement = true;
165
158
  return stmt;
166
159
  });
167
160
 
@@ -171,6 +164,53 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
171
164
  });
172
165
  }
173
166
 
167
+ /**
168
+ * Adjusts the prefix of a statement that follows a removed import/require.
169
+ * Removes the import's line while preserving comments that belong to subsequent lines.
170
+ *
171
+ * If the prefix whitespace doesn't contain a newline, the first comment was inline
172
+ * on the removed import line - we remove that comment and one line terminator from its suffix.
173
+ *
174
+ * @param statement The statement following the removed import
175
+ * @param hasKeptPreviousStatement Whether there's a previous statement that wasn't removed
176
+ */
177
+ private adjustPrefixAfterRemoval(statement: J, hasKeptPreviousStatement: boolean): J {
178
+ const prefix = (statement as any).prefix;
179
+ if (!prefix) {
180
+ return statement;
181
+ }
182
+
183
+ let whitespace = prefix.whitespace || '';
184
+ let comments = prefix.comments || [];
185
+
186
+ // If the whitespace before the first comment doesn't contain a line terminator,
187
+ // the first comment was inline on the same line as the removed import
188
+ if (!/[\r\n]/.test(whitespace) && comments.length > 0) {
189
+ // Remove the first comment (which was inline with the import)
190
+ comments = comments.slice(1);
191
+ // Clear the whitespace (it was just spacing before the inline comment)
192
+ whitespace = '';
193
+ } else if (!hasKeptPreviousStatement) {
194
+ // At the beginning of file - remove all leading newlines
195
+ // (The removed import was the first statement, so we don't want leading blank lines)
196
+ whitespace = whitespace.replace(/^[\r\n]+/, '');
197
+ }
198
+ // else: There's a previous kept statement and no inline comment - keep whitespace as-is
199
+ // (This preserves intentional blank lines between statements)
200
+
201
+ // Create a new Space with adjusted whitespace and comments
202
+ const newPrefix = {
203
+ ...prefix,
204
+ whitespace: whitespace,
205
+ comments: comments
206
+ };
207
+
208
+ return {
209
+ ...statement,
210
+ prefix: newPrefix
211
+ } as J;
212
+ }
213
+
174
214
  private async processImport(
175
215
  jsImport: JS.Import,
176
216
  usedIdentifiers: Set<string>,