@openrewrite/rewrite 8.69.0-20251207-184829 → 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.
- package/dist/cli/cli-utils.d.ts.map +1 -1
- package/dist/cli/cli-utils.js +3 -2
- package/dist/cli/cli-utils.js.map +1 -1
- package/dist/cli/rewrite.js +2 -1
- package/dist/cli/rewrite.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +48 -8
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/recipes/change-import.d.ts +51 -0
- package/dist/javascript/recipes/change-import.d.ts.map +1 -0
- package/dist/javascript/recipes/change-import.js +658 -0
- package/dist/javascript/recipes/change-import.js.map +1 -0
- package/dist/javascript/recipes/index.d.ts +2 -0
- package/dist/javascript/recipes/index.d.ts.map +1 -1
- package/dist/javascript/recipes/index.js +2 -0
- package/dist/javascript/recipes/index.js.map +1 -1
- package/dist/javascript/recipes/order-imports.d.ts +10 -0
- package/dist/javascript/recipes/order-imports.d.ts.map +1 -0
- package/dist/javascript/recipes/order-imports.js +240 -0
- package/dist/javascript/recipes/order-imports.js.map +1 -0
- package/dist/json/parser.js +78 -30
- package/dist/json/parser.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/cli/cli-utils.ts +3 -2
- package/src/cli/rewrite.ts +2 -1
- package/src/index.ts +2 -2
- package/src/javascript/parser.ts +49 -8
- package/src/javascript/recipes/change-import.ts +700 -0
- package/src/javascript/recipes/index.ts +2 -0
- package/src/javascript/recipes/order-imports.ts +242 -0
- package/src/json/parser.ts +69 -24
- package/dist/recipe/index.d.ts +0 -2
- package/dist/recipe/index.d.ts.map +0 -1
- package/dist/recipe/index.js +0 -21
- package/dist/recipe/index.js.map +0 -1
- package/dist/recipe/order-imports.d.ts +0 -10
- package/dist/recipe/order-imports.d.ts.map +0 -1
- package/dist/recipe/order-imports.js +0 -213
- package/dist/recipe/order-imports.js.map +0 -1
- package/src/recipe/index.ts +0 -17
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":"AAgBA,cAAc,uCAAuC,CAAC;AACtD,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"}
|
|
@@ -31,4 +31,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
__exportStar(require("./async-callback-in-sync-array-method"), exports);
|
|
33
33
|
__exportStar(require("./upgrade-dependency-version"), exports);
|
|
34
|
+
__exportStar(require("./order-imports"), exports);
|
|
35
|
+
__exportStar(require("./change-import"), exports);
|
|
34
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,wEAAsD;AACtD,+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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"}
|
package/dist/json/parser.js
CHANGED
|
@@ -89,42 +89,78 @@ class ParseJsonReader extends parser_1.ParserSourceReader {
|
|
|
89
89
|
};
|
|
90
90
|
if (Array.isArray(parsed)) {
|
|
91
91
|
this.cursor++; // skip '['
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
let values;
|
|
93
|
+
if (parsed.length === 0) {
|
|
94
|
+
// Empty array - capture whitespace in an Empty element
|
|
94
95
|
const afterWhitespace = this.whitespace();
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
96
|
+
values = [{
|
|
97
|
+
kind: tree_1.Json.Kind.RightPadded,
|
|
98
|
+
element: {
|
|
99
|
+
kind: tree_1.Json.Kind.Empty,
|
|
100
|
+
id: (0, uuid_1.randomId)(),
|
|
101
|
+
prefix: tree_1.emptySpace,
|
|
102
|
+
markers: markers_1.emptyMarkers
|
|
103
|
+
},
|
|
104
|
+
after: (0, tree_1.space)(afterWhitespace),
|
|
105
|
+
markers: markers_1.emptyMarkers
|
|
106
|
+
}];
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
values = parsed.map((p, i) => {
|
|
110
|
+
const element = this.json(p);
|
|
111
|
+
const afterWhitespace = this.whitespace();
|
|
112
|
+
// Check if there's a comma after this element
|
|
113
|
+
const hasComma = this.source[this.cursor] === ',';
|
|
114
|
+
if (hasComma) {
|
|
115
|
+
this.cursor++; // skip ','
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
kind: tree_1.Json.Kind.RightPadded,
|
|
119
|
+
element,
|
|
120
|
+
after: (0, tree_1.space)(afterWhitespace),
|
|
121
|
+
markers: markers_1.emptyMarkers
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
}
|
|
107
125
|
this.cursor++; // skip ']'
|
|
108
126
|
return Object.assign(Object.assign({ kind: tree_1.Json.Kind.Array }, base), { values });
|
|
109
127
|
}
|
|
110
128
|
else if (parsed !== null && typeof parsed === "object") {
|
|
111
129
|
this.cursor++; // skip '{'
|
|
112
130
|
const keys = Object.keys(parsed);
|
|
113
|
-
|
|
114
|
-
|
|
131
|
+
let members;
|
|
132
|
+
if (keys.length === 0) {
|
|
133
|
+
// Empty object - capture whitespace in an Empty element
|
|
115
134
|
const afterWhitespace = this.whitespace();
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
135
|
+
members = [{
|
|
136
|
+
kind: tree_1.Json.Kind.RightPadded,
|
|
137
|
+
element: {
|
|
138
|
+
kind: tree_1.Json.Kind.Empty,
|
|
139
|
+
id: (0, uuid_1.randomId)(),
|
|
140
|
+
prefix: tree_1.emptySpace,
|
|
141
|
+
markers: markers_1.emptyMarkers
|
|
142
|
+
},
|
|
143
|
+
after: (0, tree_1.space)(afterWhitespace),
|
|
144
|
+
markers: markers_1.emptyMarkers
|
|
145
|
+
}];
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
members = keys.map((key, i) => {
|
|
149
|
+
const element = this.member(parsed, key);
|
|
150
|
+
const afterWhitespace = this.whitespace();
|
|
151
|
+
// Check if there's a comma after this element
|
|
152
|
+
const hasComma = this.source[this.cursor] === ',';
|
|
153
|
+
if (hasComma) {
|
|
154
|
+
this.cursor++; // skip ','
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
kind: tree_1.Json.Kind.RightPadded,
|
|
158
|
+
element,
|
|
159
|
+
after: (0, tree_1.space)(afterWhitespace),
|
|
160
|
+
markers: markers_1.emptyMarkers
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
}
|
|
128
164
|
this.cursor++; // skip '}'
|
|
129
165
|
return Object.assign(Object.assign({ kind: tree_1.Json.Kind.Object }, base), { members });
|
|
130
166
|
}
|
|
@@ -149,8 +185,20 @@ class ParseJsonReader extends parser_1.ParserSourceReader {
|
|
|
149
185
|
return Object.assign(Object.assign({ kind: tree_1.Json.Kind.Literal }, base), { source, value: parsed });
|
|
150
186
|
}
|
|
151
187
|
else if (typeof parsed === "number") {
|
|
152
|
-
|
|
153
|
-
|
|
188
|
+
// Extract original source to preserve precision for large numbers
|
|
189
|
+
const sourceStart = this.cursor;
|
|
190
|
+
// Numbers can have optional sign, digits, decimal point, and exponent
|
|
191
|
+
while (this.cursor < this.source.length) {
|
|
192
|
+
const char = this.source[this.cursor];
|
|
193
|
+
if (/[\d.eE+\-]/.test(char)) {
|
|
194
|
+
this.cursor++;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const source = this.source.slice(sourceStart, this.cursor);
|
|
201
|
+
return Object.assign(Object.assign({ kind: tree_1.Json.Kind.Literal }, base), { source, value: parsed });
|
|
154
202
|
}
|
|
155
203
|
else if (typeof parsed === "boolean") {
|
|
156
204
|
const source = parsed ? "true" : "false";
|
package/dist/json/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/json/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,wCAAoF;AACpF,sCAAmF;AACnF,kCAAiC;AAEjC,iCAA+C;AAC/C,gDAA0D;AAE1D,MAAa,UAAW,SAAQ,eAAM;IAE3B,KAAK,CAAC,GAAG,WAA0B;;YACtC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACD,oDACO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,KAC1C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAC5C,CAAC;gBACN,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,iFAAiF;oBACjF,MAAM,IAAI,GAAG,IAAA,wBAAe,EAAC,UAAU,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAe;wBAC3B,IAAI,EAAE,4BAAc;wBACpB,EAAE,EAAE,IAAA,eAAQ,GAAE;wBACd,OAAO,EAAE,IAAA,iBAAO,EAAC;4BACb,IAAI,EAAE,qBAAW,CAAC,oBAAoB;4BACtC,EAAE,EAAE,IAAA,eAAQ,GAAE;4BACd,UAAU,EAAE,YAAY;4BACxB,aAAa,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO;4BAChC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,qBAAqB;yBACS,CAAC;wBACzD,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;wBACzC,IAAI;qBACP,CAAC;oBACF,oBAAM,UAAU,CAAA,CAAC;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;KAAA;CACJ;AA7BD,gCA6BC;AAED,MAAM,eAAgB,SAAQ,2BAAkB;IAC5C,YAAY,UAAuB;QAC/B,KAAK,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAEO,MAAM;QACV,OAAO,IAAA,YAAK,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACD,OAAO;YACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,QAAQ;YACxB,EAAE,EAAE,IAAA,eAAQ,GAAE;YACd,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,sBAAY;YACrB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAe;YACvD,GAAG,EAAE,IAAA,YAAK,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7C,CAAA;IACL,CAAC;IAEO,IAAI,CAAC,MAAW;QACpB,MAAM,IAAI,GAAG;YACT,EAAE,EAAE,IAAA,eAAQ,GAAE;YACd,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,sBAAY;SACxB,CAAA;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/json/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,wCAAoF;AACpF,sCAAmF;AACnF,kCAAiC;AAEjC,iCAA+C;AAC/C,gDAA0D;AAE1D,MAAa,UAAW,SAAQ,eAAM;IAE3B,KAAK,CAAC,GAAG,WAA0B;;YACtC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACD,oDACO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,KAC1C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAC5C,CAAC;gBACN,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,iFAAiF;oBACjF,MAAM,IAAI,GAAG,IAAA,wBAAe,EAAC,UAAU,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAe;wBAC3B,IAAI,EAAE,4BAAc;wBACpB,EAAE,EAAE,IAAA,eAAQ,GAAE;wBACd,OAAO,EAAE,IAAA,iBAAO,EAAC;4BACb,IAAI,EAAE,qBAAW,CAAC,oBAAoB;4BACtC,EAAE,EAAE,IAAA,eAAQ,GAAE;4BACd,UAAU,EAAE,YAAY;4BACxB,aAAa,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO;4BAChC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,qBAAqB;yBACS,CAAC;wBACzD,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;wBACzC,IAAI;qBACP,CAAC;oBACF,oBAAM,UAAU,CAAA,CAAC;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;KAAA;CACJ;AA7BD,gCA6BC;AAED,MAAM,eAAgB,SAAQ,2BAAkB;IAC5C,YAAY,UAAuB;QAC/B,KAAK,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAEO,MAAM;QACV,OAAO,IAAA,YAAK,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACD,OAAO;YACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,QAAQ;YACxB,EAAE,EAAE,IAAA,eAAQ,GAAE;YACd,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,sBAAY;YACrB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAe;YACvD,GAAG,EAAE,IAAA,YAAK,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7C,CAAA;IACL,CAAC;IAEO,IAAI,CAAC,MAAW;QACpB,MAAM,IAAI,GAAG;YACT,EAAE,EAAE,IAAA,eAAQ,GAAE;YACd,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,sBAAY;SACxB,CAAA;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;YAC1B,IAAI,MAAsC,CAAC;YAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,uDAAuD;gBACvD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1C,MAAM,GAAG,CAAC;wBACN,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,WAAW;wBAC3B,OAAO,EAAE;4BACL,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,KAAK;4BACrB,EAAE,EAAE,IAAA,eAAQ,GAAE;4BACd,MAAM,EAAE,iBAAU;4BAClB,OAAO,EAAE,sBAAY;yBACW;wBACpC,KAAK,EAAE,IAAA,YAAK,EAAC,eAAe,CAAC;wBAC7B,OAAO,EAAE,sBAAY;qBAC+C,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAe,CAAC;oBAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC1C,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;oBAClD,IAAI,QAAQ,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;oBAC9B,CAAC;oBACD,OAAO;wBACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,WAAW;wBAC3B,OAAO;wBACP,KAAK,EAAE,IAAA,YAAK,EAAC,eAAe,CAAC;wBAC7B,OAAO,EAAE,sBAAY;qBAC+C,CAAC;gBAC7E,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,8BACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,KAAK,IAClB,IAAI,KACP,MAAM,GAC0B,CAAC;QACzC,CAAC;aAAM,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,OAAwC,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,wDAAwD;gBACxD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC;wBACP,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,WAAW;wBAC3B,OAAO,EAAE;4BACL,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,KAAK;4BACrB,EAAE,EAAE,IAAA,eAAQ,GAAE;4BACd,MAAM,EAAE,iBAAU;4BAClB,OAAO,EAAE,sBAAY;yBACqC;wBAC9D,KAAK,EAAE,IAAA,YAAK,EAAC,eAAe,CAAC;wBAC7B,OAAO,EAAE,sBAAY;qBACiD,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACzC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC1C,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;oBAClD,IAAI,QAAQ,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;oBAC9B,CAAC;oBACD,OAAO;wBACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,WAAW;wBAC3B,OAAO;wBACP,KAAK,EAAE,IAAA,YAAK,EAAC,eAAe,CAAC;wBAC7B,OAAO,EAAE,sBAAY;qBACiD,CAAC;gBAC/E,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,8BACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,MAAM,IACnB,IAAI,KACP,OAAO,GAC2B,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,uDAAuD;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,qBAAqB;YACpC,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,uBAAuB;gBAC7C,CAAC;qBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,qBAAqB;oBACpC,MAAM;gBACV,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,8BACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,OAAO,IACpB,IAAI,KACP,MAAM,EACN,KAAK,EAAE,MAAM,GACuB,CAAC;QAC7C,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,kEAAkE;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,sEAAsE;YACtE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,MAAM;gBACV,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,8BACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,OAAO,IACpB,IAAI,KACP,MAAM,EACN,KAAK,EAAE,MAAM,GACuB,CAAC;QAC7C,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;YAC7B,OAAO,8BACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,OAAO,IACpB,IAAI,KACP,MAAM,EACN,KAAK,EAAE,MAAM,GACuB,CAAC;QAC7C,CAAC;aAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,gBAAgB;YAClC,OAAO,8BACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,OAAO,IACpB,IAAI,KACP,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,IAAI,GACyB,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,MAAW,EAAE,GAAW;QACnC,OAAO;YACH,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,MAAM;YACtB,EAAE,EAAE,IAAA,eAAQ,GAAE;YACd,MAAM,EAAE,iBAAU;YAClB,OAAO,EAAE,sBAAY;YACrB,GAAG,EAAE;gBACD,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,WAAW;gBAC3B,OAAO,EAAE,sBAAY;gBACrB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa;gBACnC,KAAK,EAAE,IAAA,YAAK,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aAC4B;YACpE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAe;SACT,CAAC;IAC3C,CAAC;CACJ"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.69.0-20251207-
|
|
1
|
+
8.69.0-20251207-214914
|
package/package.json
CHANGED
package/src/cli/cli-utils.ts
CHANGED
|
@@ -391,9 +391,10 @@ export async function discoverFiles(projectRoot: string, verbose: boolean = fals
|
|
|
391
391
|
return files.filter(isAcceptedFile);
|
|
392
392
|
}
|
|
393
393
|
|
|
394
|
-
// Filter to accepted file types
|
|
394
|
+
// Filter to accepted file types that exist on disk
|
|
395
|
+
// (git ls-files returns deleted files that are still tracked)
|
|
395
396
|
for (const file of trackedFiles) {
|
|
396
|
-
if (!ignoredFiles.has(file) && isAcceptedFile(file)) {
|
|
397
|
+
if (!ignoredFiles.has(file) && isAcceptedFile(file) && fs.existsSync(file)) {
|
|
397
398
|
files.push(file);
|
|
398
399
|
}
|
|
399
400
|
}
|
package/src/cli/rewrite.ts
CHANGED
|
@@ -176,7 +176,7 @@ async function main() {
|
|
|
176
176
|
program
|
|
177
177
|
.name('rewrite')
|
|
178
178
|
.description('Run OpenRewrite recipes on your codebase')
|
|
179
|
-
.argument('<recipe>', 'Recipe to run in format "package:recipe" (e.g., "@openrewrite/recipes-nodejs:replace-deprecated-slice")')
|
|
179
|
+
.argument('<recipe>', 'Recipe to run in format "package:recipe" or "path:recipe" (e.g., "@openrewrite/recipes-nodejs:replace-deprecated-slice" or "./dist:my-recipe")')
|
|
180
180
|
.argument('[paths...]', 'Files or directories to process (defaults to project root)')
|
|
181
181
|
.option('--apply', 'Apply changes to files (default is dry-run showing diffs)', false)
|
|
182
182
|
.option('-l, --list', 'Only list paths of files that would be changed', false)
|
|
@@ -212,6 +212,7 @@ async function main() {
|
|
|
212
212
|
if (!recipeSpec) {
|
|
213
213
|
console.error(`Invalid recipe format: ${recipeArg}`);
|
|
214
214
|
console.error('Expected format: "package:recipe" (e.g., "@openrewrite/recipes-nodejs:replace-deprecated-slice")');
|
|
215
|
+
console.error('The package can also be a path to a local directory (e.g., "./dist:my-recipe" or "/path/to/recipes:my-recipe")');
|
|
215
216
|
console.error('Or use "builtin:recipe" for built-in recipes (e.g., "builtin:prefer-optional-chain")');
|
|
216
217
|
console.error('Or use "validate-parsing" to check for parse errors and idempotence.');
|
|
217
218
|
process.exit(1);
|
package/src/index.ts
CHANGED
|
@@ -35,16 +35,16 @@ export * from "./run";
|
|
|
35
35
|
|
|
36
36
|
// register all recipes in this package
|
|
37
37
|
export async function activate(registry: RecipeRegistry): Promise<void> {
|
|
38
|
-
const {OrderImports} = await import("./recipe/index.js");
|
|
39
38
|
const {ModernizeOctalEscapeSequences, ModernizeOctalLiterals, RemoveDuplicateObjectKeys} = await import("./javascript/migrate/es6/index.js");
|
|
40
39
|
const {ExportAssignmentToExportDefault} = await import("./javascript/migrate/typescript/index.js");
|
|
41
40
|
const {UseObjectPropertyShorthand, PreferOptionalChain, AddParseIntRadix} = await import("./javascript/cleanup/index.js");
|
|
42
|
-
const {AsyncCallbackInSyncArrayMethod, UpgradeDependencyVersion} = await import("./javascript/recipes/index.js");
|
|
41
|
+
const {AsyncCallbackInSyncArrayMethod, UpgradeDependencyVersion, OrderImports, ChangeImport} = await import("./javascript/recipes/index.js");
|
|
43
42
|
const {FindDependency} = await import("./javascript/search/index.js");
|
|
44
43
|
|
|
45
44
|
registry.register(ExportAssignmentToExportDefault);
|
|
46
45
|
registry.register(FindDependency);
|
|
47
46
|
registry.register(OrderImports);
|
|
47
|
+
registry.register(ChangeImport);
|
|
48
48
|
registry.register(ModernizeOctalEscapeSequences);
|
|
49
49
|
registry.register(ModernizeOctalLiterals);
|
|
50
50
|
registry.register(RemoveDuplicateObjectKeys);
|