@openrewrite/rewrite 8.65.0-20251023-085912 → 8.65.0-20251023-122431
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/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/java/formatting-utils.d.ts +17 -0
- package/dist/java/formatting-utils.d.ts.map +1 -0
- package/dist/java/formatting-utils.js +75 -0
- package/dist/java/formatting-utils.js.map +1 -0
- package/dist/javascript/migrate/es6/index.d.ts +1 -0
- package/dist/javascript/migrate/es6/index.d.ts.map +1 -1
- package/dist/javascript/migrate/es6/index.js +3 -1
- package/dist/javascript/migrate/es6/index.js.map +1 -1
- package/dist/javascript/migrate/es6/modernize-octal-literals.js +1 -1
- package/dist/javascript/migrate/es6/modernize-octal-literals.js.map +1 -1
- package/dist/javascript/migrate/es6/remove-duplicate-object-keys.d.ts +10 -0
- package/dist/javascript/migrate/es6/remove-duplicate-object-keys.d.ts.map +1 -0
- package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js +139 -0
- package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js.map +1 -0
- package/dist/javascript/parser-utils.d.ts.map +1 -1
- package/dist/javascript/parser-utils.js +19 -4
- package/dist/javascript/parser-utils.js.map +1 -1
- package/dist/javascript/remove-import.d.ts +0 -11
- package/dist/javascript/remove-import.d.ts.map +1 -1
- package/dist/javascript/remove-import.js +16 -52
- package/dist/javascript/remove-import.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -1
- package/src/java/formatting-utils.ts +84 -0
- package/src/javascript/migrate/es6/index.ts +1 -0
- package/src/javascript/migrate/es6/modernize-octal-literals.ts +1 -1
- package/src/javascript/migrate/es6/remove-duplicate-object-keys.ts +137 -0
- package/src/javascript/parser-utils.ts +21 -4
- package/src/javascript/remove-import.ts +16 -63
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AAGtB,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AAGtB,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE"}
|
package/dist/index.js
CHANGED
|
@@ -60,9 +60,10 @@ __exportStar(require("./run"), exports);
|
|
|
60
60
|
function activate(registry) {
|
|
61
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
62
|
const { OrderImports } = yield import("./recipe/index.js");
|
|
63
|
-
const { ModernizeOctalLiterals } = yield import("./javascript/migrate/es6/index.js");
|
|
63
|
+
const { ModernizeOctalLiterals, RemoveDuplicateObjectKeys } = yield import("./javascript/migrate/es6/index.js");
|
|
64
64
|
registry.register(OrderImports);
|
|
65
65
|
registry.register(ModernizeOctalLiterals);
|
|
66
|
+
registry.register(RemoveDuplicateObjectKeys);
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
69
|
rpc_1.RpcCodecs.registerCodec(markers_1.MarkersKind.ParseExceptionResult, {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,4BAMC;AA1CD;;;;;;;;;;;;;;GAcG;AACH,+BAA+D;AAC/D,iCAAsD;AACtD,uCAA4D;AAG5D,+CAA6B;AAC7B,8CAA4B;AAC5B,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB;AACzB,gDAA8B;AAC9B,kDAAgC;AAChC,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB;AAEtB,uCAAuC;AACvC,SAAsB,QAAQ,CAAC,QAAwB;;QACnD,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,EAAC,sBAAsB,EAAE,yBAAyB,EAAC,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC9G,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACjD,CAAC;CAAA;AAED,eAAS,CAAC,aAAa,CAAC,qBAAW,CAAC,oBAAoB,EAAE;IAChD,OAAO,CAAC,KAA2B,EAAE,CAAe;;YACtD,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IACK,UAAU,CAAC,MAA4B,EAAE,CAAkB;;YAC7D,MAAM,KAAK,GAAgC,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;YAC/D,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5D,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChD,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;KAAA;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { J } from "../java";
|
|
2
|
+
/**
|
|
3
|
+
* Applies the prefix from a removed element to the next element.
|
|
4
|
+
*
|
|
5
|
+
* This is used when removing elements from a list to preserve formatting:
|
|
6
|
+
* - If the next element has no comments (or only an inline trailing comment to remove),
|
|
7
|
+
* uses the removed element's prefix whitespace
|
|
8
|
+
* - If the next element has comments to preserve, keeps the next element's whitespace
|
|
9
|
+
* to maintain proper spacing (e.g., blank lines before comments)
|
|
10
|
+
* - Removes inline line comments (//...) that were on the removed element's line
|
|
11
|
+
*
|
|
12
|
+
* @param removedElement The element that was removed
|
|
13
|
+
* @param nextElement The element that follows the removed one
|
|
14
|
+
* @returns The next element with adjusted prefix, or the original if no changes needed
|
|
15
|
+
*/
|
|
16
|
+
export declare function applyRemovedElementPrefix<T extends J>(removedElement: J, nextElement: T): T;
|
|
17
|
+
//# sourceMappingURL=formatting-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting-utils.d.ts","sourceRoot":"","sources":["../../src/java/formatting-utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAG1B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAkD3F"}
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.applyRemovedElementPrefix = applyRemovedElementPrefix;
|
|
19
|
+
const immer_1 = require("immer");
|
|
20
|
+
/**
|
|
21
|
+
* Applies the prefix from a removed element to the next element.
|
|
22
|
+
*
|
|
23
|
+
* This is used when removing elements from a list to preserve formatting:
|
|
24
|
+
* - If the next element has no comments (or only an inline trailing comment to remove),
|
|
25
|
+
* uses the removed element's prefix whitespace
|
|
26
|
+
* - If the next element has comments to preserve, keeps the next element's whitespace
|
|
27
|
+
* to maintain proper spacing (e.g., blank lines before comments)
|
|
28
|
+
* - Removes inline line comments (//...) that were on the removed element's line
|
|
29
|
+
*
|
|
30
|
+
* @param removedElement The element that was removed
|
|
31
|
+
* @param nextElement The element that follows the removed one
|
|
32
|
+
* @returns The next element with adjusted prefix, or the original if no changes needed
|
|
33
|
+
*/
|
|
34
|
+
function applyRemovedElementPrefix(removedElement, nextElement) {
|
|
35
|
+
if (!removedElement.prefix || !nextElement.prefix) {
|
|
36
|
+
return nextElement;
|
|
37
|
+
}
|
|
38
|
+
const removedPrefix = removedElement.prefix;
|
|
39
|
+
const currentPrefix = nextElement.prefix;
|
|
40
|
+
const currentComments = currentPrefix.comments || [];
|
|
41
|
+
// If the next element has no comments, just use the removed element's prefix entirely
|
|
42
|
+
if (currentComments.length === 0) {
|
|
43
|
+
if (currentPrefix === removedPrefix) {
|
|
44
|
+
return nextElement;
|
|
45
|
+
}
|
|
46
|
+
return (0, immer_1.produce)(nextElement, draft => {
|
|
47
|
+
draft.prefix = removedPrefix;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
// The next element has comments - check if we need to remove inline line comments
|
|
51
|
+
const currentWhitespace = currentPrefix.whitespace || '';
|
|
52
|
+
const hasLeadingNewline = /[\r\n]/.test(currentWhitespace);
|
|
53
|
+
let commentsToKeep = currentComments;
|
|
54
|
+
if (!hasLeadingNewline && currentComments.length > 0) {
|
|
55
|
+
// First comment has no leading newline - check if it's an inline line comment
|
|
56
|
+
const firstComment = currentComments[0];
|
|
57
|
+
const commentText = firstComment.text || firstComment.message || '';
|
|
58
|
+
const isLineComment = commentText.includes('//') || firstComment.multiline === false;
|
|
59
|
+
if (isLineComment) {
|
|
60
|
+
// Remove the inline line comment
|
|
61
|
+
commentsToKeep = currentComments.slice(1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// If we still have comments after filtering, use removed element's whitespace with filtered comments
|
|
65
|
+
if (commentsToKeep.length > 0) {
|
|
66
|
+
return (0, immer_1.produce)(nextElement, draft => {
|
|
67
|
+
draft.prefix = Object.assign(Object.assign({}, removedPrefix), { comments: commentsToKeep });
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// No comments left after filtering, use removed element's prefix entirely
|
|
71
|
+
return (0, immer_1.produce)(nextElement, draft => {
|
|
72
|
+
draft.prefix = removedPrefix;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=formatting-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting-utils.js","sourceRoot":"","sources":["../../src/java/formatting-utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAmBH,8DAkDC;AAlED,iCAA8B;AAE9B;;;;;;;;;;;;;GAaG;AACH,SAAgB,yBAAyB,CAAc,cAAiB,EAAE,WAAc;IACpF,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC;IAC5C,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IACzC,MAAM,eAAe,GAAG,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;IAErD,sFAAsF;IACtF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,OAAO,IAAA,eAAO,EAAC,WAAW,EAAE,KAAK,CAAC,EAAE;YAChC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kFAAkF;IAClF,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;IACzD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE3D,IAAI,cAAc,GAAG,eAAe,CAAC;IACrC,IAAI,CAAC,iBAAiB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,8EAA8E;QAC9E,MAAM,YAAY,GAAQ,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,SAAS,KAAK,KAAK,CAAC;QAErF,IAAI,aAAa,EAAE,CAAC;YAChB,iCAAiC;YACjC,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,qGAAqG;IACrG,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAA,eAAO,EAAC,WAAW,EAAE,KAAK,CAAC,EAAE;YAChC,KAAK,CAAC,MAAM,mCACL,aAAa,KAChB,QAAQ,EAAE,cAAc,GAC3B,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0EAA0E;IAC1E,OAAO,IAAA,eAAO,EAAC,WAAW,EAAE,KAAK,CAAC,EAAE;QAChC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC"}
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.ModernizeOctalLiterals = void 0;
|
|
18
|
+
exports.RemoveDuplicateObjectKeys = exports.ModernizeOctalLiterals = void 0;
|
|
19
19
|
var modernize_octal_literals_1 = require("./modernize-octal-literals");
|
|
20
20
|
Object.defineProperty(exports, "ModernizeOctalLiterals", { enumerable: true, get: function () { return modernize_octal_literals_1.ModernizeOctalLiterals; } });
|
|
21
|
+
var remove_duplicate_object_keys_1 = require("./remove-duplicate-object-keys");
|
|
22
|
+
Object.defineProperty(exports, "RemoveDuplicateObjectKeys", { enumerable: true, get: function () { return remove_duplicate_object_keys_1.RemoveDuplicateObjectKeys; } });
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uEAAkE;AAA1D,kIAAA,sBAAsB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uEAAkE;AAA1D,kIAAA,sBAAsB,OAAA;AAC9B,+EAAyE;AAAjE,yIAAA,yBAAyB,OAAA"}
|
|
@@ -38,7 +38,7 @@ class ModernizeOctalLiterals extends recipe_1.Recipe {
|
|
|
38
38
|
editor() {
|
|
39
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
40
|
return new class extends visitor_1.JavaScriptVisitor {
|
|
41
|
-
visitLiteral(literal,
|
|
41
|
+
visitLiteral(literal, _ctx) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
43
|
// Only process numeric literals
|
|
44
44
|
if (typeof literal.value !== 'number') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modernize-octal-literals.js","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/modernize-octal-literals.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH,4CAAuC;AAGvC,2CAAgD;AAEhD,iCAA8B;AAE9B,MAAa,sBAAuB,SAAQ,eAAM;IAAlD;;QACI,SAAI,GAAG,iEAAiE,CAAC;QACzE,gBAAW,GAAG,0BAA0B,CAAC;QACzC,gBAAW,GAAG,uFAAuF,CAAC;IAoC1G,CAAC;IAlCS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,2BAAmC;gBAExC,YAAY,CAAC,OAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"modernize-octal-literals.js","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/modernize-octal-literals.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH,4CAAuC;AAGvC,2CAAgD;AAEhD,iCAA8B;AAE9B,MAAa,sBAAuB,SAAQ,eAAM;IAAlD;;QACI,SAAI,GAAG,iEAAiE,CAAC;QACzE,gBAAW,GAAG,0BAA0B,CAAC;QACzC,gBAAW,GAAG,uFAAuF,CAAC;IAoC1G,CAAC;IAlCS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,2BAAmC;gBAExC,YAAY,CAAC,OAAkB,EAAE,IAAsB;;wBACnE,gCAAgC;wBAChC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;4BACpC,OAAO,OAAO,CAAC;wBACnB,CAAC;wBAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;wBACxC,IAAI,CAAC,WAAW,EAAE,CAAC;4BACf,OAAO,OAAO,CAAC;wBACnB,CAAC;wBAED,8CAA8C;wBAC9C,sEAAsE;wBACtE,yGAAyG;wBACzG,MAAM,oBAAoB,GAAG,aAAa,CAAC;wBAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;wBAEtD,IAAI,KAAK,EAAE,CAAC;4BACR,qCAAqC;4BACrC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC7B,MAAM,WAAW,GAAG,KAAK,WAAW,EAAE,CAAC;4BAEvC,OAAO,IAAA,eAAO,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gCAC5B,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;4BACpC,CAAC,CAAC,CAAC;wBACP,CAAC;wBAED,OAAO,OAAO,CAAC;oBACnB,CAAC;iBAAA;aACJ,CAAA;QACL,CAAC;KAAA;CACJ;AAvCD,wDAuCC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Recipe } from "../../../recipe";
|
|
2
|
+
import { TreeVisitor } from "../../../visitor";
|
|
3
|
+
import { ExecutionContext } from "../../../execution";
|
|
4
|
+
export declare class RemoveDuplicateObjectKeys extends Recipe {
|
|
5
|
+
name: string;
|
|
6
|
+
displayName: string;
|
|
7
|
+
description: string;
|
|
8
|
+
editor(): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=remove-duplicate-object-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-duplicate-object-keys.d.ts","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/remove-duplicate-object-keys.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAOpD,qBAAa,yBAA0B,SAAQ,MAAM;IACjD,IAAI,SAAyE;IAC7E,WAAW,SAAkC;IAC7C,WAAW,SAAuG;IAE5G,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA0G9D"}
|
|
@@ -0,0 +1,139 @@
|
|
|
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.RemoveDuplicateObjectKeys = void 0;
|
|
28
|
+
const recipe_1 = require("../../../recipe");
|
|
29
|
+
const visitor_1 = require("../../visitor");
|
|
30
|
+
const java_1 = require("../../../java");
|
|
31
|
+
const tree_1 = require("../../tree");
|
|
32
|
+
const immer_1 = require("immer");
|
|
33
|
+
const formatting_utils_1 = require("../../../java/formatting-utils");
|
|
34
|
+
class RemoveDuplicateObjectKeys extends recipe_1.Recipe {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this.name = "org.openrewrite.javascript.migrate.es6.remove-duplicate-object-keys";
|
|
38
|
+
this.displayName = "Remove duplicate object keys";
|
|
39
|
+
this.description = "Remove duplicate keys in object literals, keeping only the last occurrence (last-wins semantics).";
|
|
40
|
+
}
|
|
41
|
+
editor() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
return new class extends visitor_1.JavaScriptVisitor {
|
|
44
|
+
visitNewClass(newClass, ctx) {
|
|
45
|
+
const _super = Object.create(null, {
|
|
46
|
+
visitNewClass: { get: () => super.visitNewClass }
|
|
47
|
+
});
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
var _a;
|
|
50
|
+
newClass = (yield _super.visitNewClass.call(this, newClass, ctx));
|
|
51
|
+
// Only process object literals (NewClass with body but no class or arguments)
|
|
52
|
+
if (!newClass.body || newClass.class || (((_a = newClass.arguments) === null || _a === void 0 ? void 0 : _a.elements) && newClass.arguments.elements.length > 0)) {
|
|
53
|
+
return newClass;
|
|
54
|
+
}
|
|
55
|
+
const statements = newClass.body.statements;
|
|
56
|
+
if (!statements || statements.length === 0) {
|
|
57
|
+
return newClass;
|
|
58
|
+
}
|
|
59
|
+
// Build a map of property names to their last occurrence index
|
|
60
|
+
const propertyNameToLastIndex = new Map();
|
|
61
|
+
const propertyNames = [];
|
|
62
|
+
for (let i = 0; i < statements.length; i++) {
|
|
63
|
+
const stmt = statements[i];
|
|
64
|
+
if (stmt.element.kind === tree_1.JS.Kind.PropertyAssignment) {
|
|
65
|
+
const prop = stmt.element;
|
|
66
|
+
const propName = this.getPropertyName(prop);
|
|
67
|
+
propertyNames.push(propName);
|
|
68
|
+
if (propName !== null) {
|
|
69
|
+
propertyNameToLastIndex.set(propName, i);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
propertyNames.push(null);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Check if there are any duplicates to remove
|
|
77
|
+
const indicesToRemove = new Set();
|
|
78
|
+
for (let i = 0; i < propertyNames.length; i++) {
|
|
79
|
+
const propName = propertyNames[i];
|
|
80
|
+
if (propName !== null) {
|
|
81
|
+
const lastIndex = propertyNameToLastIndex.get(propName);
|
|
82
|
+
if (i < lastIndex) {
|
|
83
|
+
indicesToRemove.add(i);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (indicesToRemove.size === 0) {
|
|
88
|
+
return newClass;
|
|
89
|
+
}
|
|
90
|
+
// Remove duplicate properties and adjust prefixes
|
|
91
|
+
return (0, immer_1.produce)(newClass, draft => {
|
|
92
|
+
const filteredStatements = [];
|
|
93
|
+
let removedElement = undefined;
|
|
94
|
+
for (let i = 0; i < statements.length; i++) {
|
|
95
|
+
if (indicesToRemove.has(i)) {
|
|
96
|
+
// Track the first removed element
|
|
97
|
+
if (!removedElement && statements[i].element) {
|
|
98
|
+
removedElement = statements[i].element;
|
|
99
|
+
}
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const stmt = statements[i];
|
|
103
|
+
// If we removed previous elements, apply the removed element's prefix to this one
|
|
104
|
+
if (removedElement) {
|
|
105
|
+
const adjustedElement = (0, formatting_utils_1.applyRemovedElementPrefix)(removedElement, stmt.element);
|
|
106
|
+
filteredStatements.push(Object.assign(Object.assign({}, stmt), { element: adjustedElement }));
|
|
107
|
+
removedElement = undefined;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
filteredStatements.push(stmt);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
draft.body.statements = filteredStatements;
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
getPropertyName(prop) {
|
|
118
|
+
const name = prop.name.element;
|
|
119
|
+
// Handle identifier: { foo: 1 }
|
|
120
|
+
if (name.kind === java_1.J.Kind.Identifier) {
|
|
121
|
+
return name.simpleName;
|
|
122
|
+
}
|
|
123
|
+
// Handle string literal: { "foo": 1 }
|
|
124
|
+
if (name.kind === java_1.J.Kind.Literal) {
|
|
125
|
+
const literal = name;
|
|
126
|
+
if (typeof literal.value === 'string') {
|
|
127
|
+
return literal.value;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// For computed properties { [expr]: 1 }, we can't statically determine the name
|
|
131
|
+
// So we return null and don't consider them for deduplication
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.RemoveDuplicateObjectKeys = RemoveDuplicateObjectKeys;
|
|
139
|
+
//# sourceMappingURL=remove-duplicate-object-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-duplicate-object-keys.js","sourceRoot":"","sources":["../../../../src/javascript/migrate/es6/remove-duplicate-object-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-utils.d.ts","sourceRoot":"","sources":["../../src/javascript/parser-utils.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,UAAU,EAAE,CAAC,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAyIjD,wBAAgB,WAAW,CAAC,SAAS,EAAE,CAAC,GAAI,SAAS,IAAI,SAAS,CAEjE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,CAAC,GAAI,UAAU,IAAI,UAAU,CAErE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,SAAS,CA6DjE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,SAAS,CAyDrE;AAkBD,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,cAmBhE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,UAkBnF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,WAQ1D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,2CAqB/E;
|
|
1
|
+
{"version":3,"file":"parser-utils.d.ts","sourceRoot":"","sources":["../../src/javascript/parser-utils.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,UAAU,EAAE,CAAC,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAyIjD,wBAAgB,WAAW,CAAC,SAAS,EAAE,CAAC,GAAI,SAAS,IAAI,SAAS,CAEjE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,CAAC,GAAI,UAAU,IAAI,UAAU,CAErE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,SAAS,CA6DjE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,SAAS,CAyDrE;AAkBD,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,cAmBhE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,UAkBnF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,WAQ1D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,2CAqB/E;AA0ED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CA8BpE"}
|
|
@@ -361,7 +361,7 @@ function checkSyntaxErrors(program, sourceFile) {
|
|
|
361
361
|
// checking Parsing and Syntax Errors
|
|
362
362
|
let syntaxErrors = [];
|
|
363
363
|
if (diagnostics.length > 0) {
|
|
364
|
-
const errors = diagnostics.filter(d => (d.category === ts.DiagnosticCategory.Error) && isCriticalDiagnostic(d.code));
|
|
364
|
+
const errors = diagnostics.filter(d => (d.category === ts.DiagnosticCategory.Error) && isCriticalDiagnostic(d.code, sourceFile));
|
|
365
365
|
if (errors.length > 0) {
|
|
366
366
|
syntaxErrors = errors.map(e => {
|
|
367
367
|
let errorMsg;
|
|
@@ -389,10 +389,9 @@ const additionalCriticalCodes = new Set([
|
|
|
389
389
|
const excludedCodes = new Set([
|
|
390
390
|
1039, // Initializers are not allowed in ambient contexts.
|
|
391
391
|
1064, // The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?
|
|
392
|
-
1101, // 'with' statements are not allowed in strict mode.
|
|
393
392
|
1107, // Jump target cannot cross function boundary.
|
|
394
393
|
1111, // Private field '{0}' must be declared in an enclosing class.
|
|
395
|
-
|
|
394
|
+
1117, // An object literal cannot have multiple properties with the same name.
|
|
396
395
|
1155, // '{0}' declarations must be initialized.
|
|
397
396
|
1166, // A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type.
|
|
398
397
|
1170, // A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
|
@@ -427,7 +426,23 @@ const excludedCodes = new Set([
|
|
|
427
426
|
1378, // Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'node20', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher.
|
|
428
427
|
1432, // Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'node20', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher.
|
|
429
428
|
]);
|
|
430
|
-
|
|
429
|
+
// Errors to exclude only for JavaScript files (.js, .jsx, .mjs, .cjs)
|
|
430
|
+
// TypeScript files (.ts, .tsx, .mts, .cts) should still report these as errors
|
|
431
|
+
const jsOnlyExcludedCodes = new Set([
|
|
432
|
+
1101, // 'with' statements are not allowed in strict mode.
|
|
433
|
+
1121, // Octal literals are not allowed. Use the syntax '{0}'.
|
|
434
|
+
1125, // Hexadecimal digit expected.
|
|
435
|
+
]);
|
|
436
|
+
function isCriticalDiagnostic(code, sourceFile) {
|
|
437
|
+
// Check if this error should be excluded for JavaScript files
|
|
438
|
+
if (jsOnlyExcludedCodes.has(code)) {
|
|
439
|
+
const fileName = sourceFile.fileName.toLowerCase();
|
|
440
|
+
const isJavaScript = fileName.endsWith('.js') || fileName.endsWith('.jsx') ||
|
|
441
|
+
fileName.endsWith('.mjs') || fileName.endsWith('.cjs');
|
|
442
|
+
if (isJavaScript) {
|
|
443
|
+
return false; // Not critical for JS files
|
|
444
|
+
}
|
|
445
|
+
}
|
|
431
446
|
return (code > 1000 && code < 2000 && !excludedCodes.has(code)) || additionalCriticalCodes.has(code);
|
|
432
447
|
}
|
|
433
448
|
function isValidSurrogateRange(unicodeString) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-utils.js","sourceRoot":"","sources":["../../src/javascript/parser-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJA,kCAEC;AAED,oCAEC;AAED,wCA6DC;AAED,gDAyDC;AAoBD,4CAmBC;AAED,oCAkBC;AAED,8CAQC;AAED,8CAqBC;AAyDD,sDA8BC;AA5cD;;;;;;;;;;;;;;GAcG;AACH,+CAAiC;AACjC,kCAAiD;AACjD,iCAA0B;AAE1B,MAAM,aAAa,GAAa;IAC5B,QAAC,CAAC,IAAI,CAAC,MAAM;IACb,QAAC,CAAC,IAAI,CAAC,UAAU;IACjB,QAAC,CAAC,IAAI,CAAC,mBAAmB;IAC1B,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,IAAI;IACX,QAAC,CAAC,IAAI,CAAC,gBAAgB;IACvB,QAAC,CAAC,IAAI,CAAC,QAAQ;IACf,QAAC,CAAC,IAAI,CAAC,WAAW;IAClB,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,YAAY;IACnB,QAAC,CAAC,IAAI,CAAC,SAAS;IAChB,QAAC,CAAC,IAAI,CAAC,WAAW;IAClB,QAAC,CAAC,IAAI,CAAC,WAAW;IAClB,QAAC,CAAC,IAAI,CAAC,OAAO;IACd,QAAC,CAAC,IAAI,CAAC,EAAE;IACT,QAAC,CAAC,IAAI,CAAC,MAAM;IACb,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,MAAM;IACb,QAAC,CAAC,IAAI,CAAC,iBAAiB;IACxB,QAAC,CAAC,IAAI,CAAC,gBAAgB;IACvB,QAAC,CAAC,IAAI,CAAC,QAAQ;IACf,QAAC,CAAC,IAAI,CAAC,OAAO;IACd,QAAC,CAAC,IAAI,CAAC,MAAM;IACb,QAAC,CAAC,IAAI,CAAC,MAAM;IACb,QAAC,CAAC,IAAI,CAAC,YAAY;IACnB,QAAC,CAAC,IAAI,CAAC,OAAO;IACd,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,GAAG;IACV,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,OAAO;IACd,QAAC,CAAC,IAAI,CAAC,oBAAoB;IAC3B,QAAC,CAAC,IAAI,CAAC,SAAS;IAChB,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,SAAE,CAAC,IAAI,CAAC,aAAa;IACrB,SAAE,CAAC,IAAI,CAAC,cAAc;IACtB,SAAE,CAAC,IAAI,CAAC,MAAM;IACd,SAAE,CAAC,IAAI,CAAC,MAAM;IACd,SAAE,CAAC,IAAI,CAAC,gBAAgB;IACxB,SAAE,CAAC,IAAI,CAAC,iBAAiB;IACzB,SAAE,CAAC,IAAI,CAAC,SAAS;IACjB,SAAE,CAAC,IAAI,CAAC,SAAS;IACjB,SAAE,CAAC,IAAI,CAAC,eAAe;IACvB,SAAE,CAAC,IAAI,CAAC,yBAAyB;IACjC,SAAE,CAAC,IAAI,CAAC,mBAAmB;IAC3B,SAAE,CAAC,IAAI,CAAC,MAAM;IACd,SAAE,CAAC,IAAI,CAAC,iCAAiC;IACzC,SAAE,CAAC,IAAI,CAAC,uBAAuB;IAC/B,SAAE,CAAC,IAAI,CAAC,mBAAmB;IAC3B,SAAE,CAAC,IAAI,CAAC,oBAAoB;IAC5B,SAAE,CAAC,IAAI,CAAC,kBAAkB;IAC1B,SAAE,CAAC,IAAI,CAAC,0BAA0B;IAClC,SAAE,CAAC,IAAI,CAAC,wBAAwB;IAChC,SAAE,CAAC,IAAI,CAAC,kBAAkB;IAC1B,SAAE,CAAC,IAAI,CAAC,eAAe;IACvB,SAAE,CAAC,IAAI,CAAC,IAAI;IACZ,SAAE,CAAC,IAAI,CAAC,aAAa;IACrB,SAAE,CAAC,IAAI,CAAC,mBAAmB;IAC3B,SAAE,CAAC,IAAI,CAAC,mBAAmB;CAC9B,CAAA;AAED,MAAM,cAAc,GAAa;IAC7B,QAAC,CAAC,IAAI,CAAC,aAAa;IACpB,QAAC,CAAC,IAAI,CAAC,UAAU;IACjB,QAAC,CAAC,IAAI,CAAC,WAAW;IAClB,QAAC,CAAC,IAAI,CAAC,SAAS;IAChB,QAAC,CAAC,IAAI,CAAC,UAAU;IACjB,QAAC,CAAC,IAAI,CAAC,mBAAmB;IAC1B,QAAC,CAAC,IAAI,CAAC,MAAM;IACb,QAAC,CAAC,IAAI,CAAC,kBAAkB;IACzB,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,SAAS;IAChB,QAAC,CAAC,IAAI,CAAC,WAAW;IAClB,QAAC,CAAC,IAAI,CAAC,UAAU;IACjB,QAAC,CAAC,IAAI,CAAC,UAAU;IACjB,QAAC,CAAC,IAAI,CAAC,gBAAgB;IACvB,QAAC,CAAC,IAAI,CAAC,MAAM;IACb,QAAC,CAAC,IAAI,CAAC,OAAO;IACd,QAAC,CAAC,IAAI,CAAC,gBAAgB;IACvB,QAAC,CAAC,IAAI,CAAC,eAAe;IACtB,QAAC,CAAC,IAAI,CAAC,QAAQ;IACf,QAAC,CAAC,IAAI,CAAC,QAAQ;IACf,QAAC,CAAC,IAAI,CAAC,YAAY;IACnB,QAAC,CAAC,IAAI,CAAC,iBAAiB;IACxB,QAAC,CAAC,IAAI,CAAC,WAAW;IAClB,QAAC,CAAC,IAAI,CAAC,qBAAqB;IAC5B,QAAC,CAAC,IAAI,CAAC,SAAS;IAChB,QAAC,CAAC,IAAI,CAAC,gBAAgB;IACvB,QAAC,CAAC,IAAI,CAAC,OAAO;IACd,QAAC,CAAC,IAAI,CAAC,QAAQ;IACf,QAAC,CAAC,IAAI,CAAC,KAAK;IACZ,QAAC,CAAC,IAAI,CAAC,OAAO;IACd,QAAC,CAAC,IAAI,CAAC,QAAQ;IACf,SAAE,CAAC,IAAI,CAAC,KAAK;IACb,SAAE,CAAC,IAAI,CAAC,mBAAmB;IAC3B,SAAE,CAAC,IAAI,CAAC,aAAa;IACrB,SAAE,CAAC,IAAI,CAAC,KAAK;IACb,SAAE,CAAC,IAAI,CAAC,cAAc;IACtB,SAAE,CAAC,IAAI,CAAC,eAAe;IACvB,SAAE,CAAC,IAAI,CAAC,MAAM;IACd,SAAE,CAAC,IAAI,CAAC,eAAe;IACvB,SAAE,CAAC,IAAI,CAAC,2BAA2B;IACnC,SAAE,CAAC,IAAI,CAAC,YAAY;IACpB,SAAE,CAAC,IAAI,CAAC,UAAU;IAClB,SAAE,CAAC,IAAI,CAAC,iBAAiB;IACzB,SAAE,CAAC,IAAI,CAAC,0BAA0B;IAClC,SAAE,CAAC,IAAI,CAAC,SAAS;IACjB,SAAE,CAAC,IAAI,CAAC,YAAY;IACpB,SAAE,CAAC,IAAI,CAAC,mBAAmB;IAC3B,SAAE,CAAC,IAAI,CAAC,MAAM;IACd,SAAE,CAAC,IAAI,CAAC,eAAe;IACvB,SAAE,CAAC,IAAI,CAAC,WAAW;IACnB,SAAE,CAAC,IAAI,CAAC,UAAU;IAClB,SAAE,CAAC,IAAI,CAAC,YAAY;IACpB,SAAE,CAAC,IAAI,CAAC,YAAY;IACpB,SAAE,CAAC,IAAI,CAAC,oBAAoB;IAC5B,SAAE,CAAC,IAAI,CAAC,mBAAmB;IAC3B,SAAE,CAAC,IAAI,CAAC,wBAAwB;IAChC,SAAE,CAAC,IAAI,CAAC,kBAAkB;IAC1B,SAAE,CAAC,IAAI,CAAC,KAAK;IACb,SAAE,CAAC,IAAI,CAAC,QAAQ;IAChB,SAAE,CAAC,IAAI,CAAC,WAAW;IACnB,SAAE,CAAC,IAAI,CAAC,MAAM;IACd,SAAE,CAAC,IAAI,CAAC,YAAY;IACpB,SAAE,CAAC,IAAI,CAAC,aAAa;IACrB,SAAE,CAAC,IAAI,CAAC,SAAS;IACjB,SAAE,CAAC,IAAI,CAAC,kBAAkB;IAC1B,SAAE,CAAC,IAAI,CAAC,KAAK;IACb,SAAE,CAAC,IAAI,CAAC,IAAI;IACZ,SAAE,CAAC,IAAI,CAAC,mBAAmB;IAC3B,SAAE,CAAC,IAAI,CAAC,mBAAmB;CAC9B,CAAA;AAED,SAAgB,WAAW,CAAC,SAAY;IACpC,OAAO,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,YAAY,CAAC,UAAa;IACtC,OAAO,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,cAAc,CAAC,IAAa;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAElD,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,+FAA+F;QAC/F,IAAI,SAAS,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,sDAAsD;YACtD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YACrE,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,OAAO,iBAAiB,CAAC;YAC7B,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,OAAO,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IAED,6EAA6E;IAC7E,IAAI,SAAS,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,sDAAsD;QACtD,OAAO,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACvG,CAAC;IAED,qCAAqC;IACrC,OAAO,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAa;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAElD,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,oGAAoG;QACpG,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,yDAAyD;YACzD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;YACzE,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACJ,OAAO,qBAAqB,CAAC;YACjC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,OAAO,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IAED,kFAAkF;IAClF,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,yDAAyD;QACzD,OAAO,qBAAqB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,YAAY,EAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACrH,CAAC;IAED,yCAAyC;IACzC,OAAO,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAa;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/E,OAAO,KAAsB,CAAC;QAClC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAID,SAAgB,gBAAgB,CAAC,KAAe,EAAE,KAAe;IAC7D,oCAAoC;IACpC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,+DAA+D;IAC/D,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,8DAA8D;IAC9D,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,YAAY,CAAI,GAAQ,EAAE,MAAS,EAAE,OAA+B;IAChF,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1B,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,CAAE,8BAA8B;QAC/C,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAE,wBAAwB;QAC5C,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAE,uBAAuB;QAC5C,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAE,sEAAsE;AACxF,CAAC;AAED,SAAgB,iBAAiB,CAAC,UAAyB;IACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9E,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACtF,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAmB,EAAE,UAAyB;IAC5E,MAAM,WAAW,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,qCAAqC;IACrC,IAAI,YAAY,GAA6C,EAAE,CAAC;IAChE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC1B,IAAI,QAAQ,CAAC;gBACb,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACT,IAAI,EAAC,IAAI,EAAE,SAAS,EAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAM,CAAC,CAAC;oBAC3E,IAAI,OAAO,GAAG,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBACnE,QAAQ,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACJ,QAAQ,GAAG,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACpC,gBAAgB;IAChB,KAAK,EAAE,4FAA4F;IACnG,KAAK,EAAE,8FAA8F;IAErG,wBAAwB;CAC3B,CAAC,CAAC;AAEH,8HAA8H;AAC9H,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC1B,IAAI,EAAE,oDAAoD;IAC1D,IAAI,EAAE,2HAA2H;IACjI,IAAI,EAAE,oDAAoD;IAC1D,IAAI,EAAE,8CAA8C;IACpD,IAAI,EAAE,8DAA8D;IACpE,IAAI,EAAE,wDAAwD;IAC9D,IAAI,EAAE,0CAA0C;IAChD,IAAI,EAAE,sHAAsH;IAC5H,IAAI,EAAE,iIAAiI;IACvI,IAAI,EAAE,4DAA4D;IAClE,IAAI,EAAE,wIAAwI;IAC9I,IAAI,EAAE,+EAA+E;IACrF,IAAI,EAAE,kEAAkE;IACxE,IAAI,EAAE,+EAA+E;IACrF,IAAI,EAAE,mFAAmF;IACzF,IAAI,EAAE,kFAAkF;IACxF,IAAI,EAAE,gFAAgF;IACtF,IAAI,EAAE,6DAA6D;IACnE,IAAI,EAAE,2FAA2F;IACjG,IAAI,EAAE,+IAA+I;IACrJ,IAAI,EAAE,qIAAqI;IAC3I,IAAI,EAAE,gEAAgE;IACtE,IAAI,EAAE,6GAA6G;IACnH,IAAI,EAAE,gGAAgG;IACtG,IAAI,EAAE,yDAAyD;IAC/D,IAAI,EAAE,8DAA8D;IACpE,IAAI,EAAE,yJAAyJ;IAC/J,IAAI,EAAE,oHAAoH;IAC1H,IAAI,EAAE,8CAA8C;IACpD,IAAI,EAAE,yFAAyF;IAC/F,IAAI,EAAE,0GAA0G;IAChH,IAAI,EAAE,qKAAqK;IAC3K,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,gEAAgE;IACtE,IAAI,EAAE,gIAAgI;IACtI,IAAI,EAAE,uDAAuD;IAC7D,IAAI,EAAE,wMAAwM;IAC9M,IAAI,EAAE,iOAAiO;IACvO,IAAI,EAAE,+NAA+N;CACxO,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAAC,IAAY;IACtC,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzG,CAAC;AAED,SAAgB,qBAAqB,CAAC,aAAqB;IACvD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC1B,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAW,EAAE,CAAC,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC;IAChG,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAW,EAAE,CAAC,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC;IAE/F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEnB,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,sEAAsE;YACtE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,KAAK,CAAC,CAAC,sDAAsD;YACxE,CAAC;YACD,CAAC,EAAE,CAAC,CAAC,yBAAyB;QAClC,CAAC;aAAM,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,CAAC,wDAAwD;QAC1E,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"parser-utils.js","sourceRoot":"","sources":["../../src/javascript/parser-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,17 +30,6 @@ 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;
|
|
44
33
|
private processImport;
|
|
45
34
|
private processNamedImports;
|
|
46
35
|
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;
|
|
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;AAI1B;;;;;;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;YAgE1F,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"}
|
|
@@ -15,6 +15,7 @@ const visitor_1 = require("./visitor");
|
|
|
15
15
|
const java_1 = require("../java");
|
|
16
16
|
const tree_1 = require("./tree");
|
|
17
17
|
const util_1 = require("../util");
|
|
18
|
+
const formatting_utils_1 = require("../java/formatting-utils");
|
|
18
19
|
/**
|
|
19
20
|
* @param visitor The visitor to add the import removal to
|
|
20
21
|
* @param target Either the module name (e.g., 'fs') to remove specific members from,
|
|
@@ -102,8 +103,7 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
102
103
|
yield this.collectUsedIdentifiers(compilationUnit, usedIdentifiers, usedTypes);
|
|
103
104
|
// Now process imports with knowledge of what's used
|
|
104
105
|
return this.produceJavaScript(compilationUnit, p, (draft) => __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
let
|
|
106
|
-
let hasKeptStatement = false;
|
|
106
|
+
let removedElement = undefined;
|
|
107
107
|
draft.statements = yield (0, util_1.mapAsync)(compilationUnit.statements, (stmt) => __awaiter(this, void 0, void 0, function* () {
|
|
108
108
|
const statement = stmt.element;
|
|
109
109
|
// Handle ES6 imports
|
|
@@ -111,12 +111,13 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
111
111
|
const jsImport = statement;
|
|
112
112
|
const result = yield this.processImport(jsImport, usedIdentifiers, usedTypes, p);
|
|
113
113
|
if (result === undefined) {
|
|
114
|
-
//
|
|
115
|
-
|
|
114
|
+
// Track the removed import
|
|
115
|
+
if (!removedElement) {
|
|
116
|
+
removedElement = statement;
|
|
117
|
+
}
|
|
116
118
|
return undefined;
|
|
117
119
|
}
|
|
118
|
-
|
|
119
|
-
hasKeptStatement = true;
|
|
120
|
+
removedElement = undefined;
|
|
120
121
|
return Object.assign(Object.assign({}, stmt), { element: result });
|
|
121
122
|
}
|
|
122
123
|
// Handle CommonJS require statements
|
|
@@ -125,23 +126,22 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
125
126
|
const varDecl = statement;
|
|
126
127
|
const result = yield this.processRequireFromVarDecls(varDecl, usedIdentifiers, p);
|
|
127
128
|
if (result === undefined) {
|
|
128
|
-
//
|
|
129
|
-
|
|
129
|
+
// Track the removed require
|
|
130
|
+
if (!removedElement) {
|
|
131
|
+
removedElement = statement;
|
|
132
|
+
}
|
|
130
133
|
return undefined;
|
|
131
134
|
}
|
|
132
|
-
|
|
133
|
-
hasKeptStatement = true;
|
|
135
|
+
removedElement = undefined;
|
|
134
136
|
return Object.assign(Object.assign({}, stmt), { element: result });
|
|
135
137
|
}
|
|
136
138
|
// If the previous statement was removed, adjust this statement's prefix
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
hasKeptStatement = true;
|
|
139
|
+
if (removedElement && statement) {
|
|
140
|
+
const updatedStatement = (0, formatting_utils_1.applyRemovedElementPrefix)(removedElement, statement);
|
|
141
|
+
removedElement = undefined;
|
|
141
142
|
return Object.assign(Object.assign({}, stmt), { element: updatedStatement });
|
|
142
143
|
}
|
|
143
|
-
|
|
144
|
-
hasKeptStatement = true;
|
|
144
|
+
removedElement = undefined;
|
|
145
145
|
return stmt;
|
|
146
146
|
}));
|
|
147
147
|
// Filter out undefined (removed) statements
|
|
@@ -150,42 +150,6 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
|
|
|
150
150
|
}));
|
|
151
151
|
});
|
|
152
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
|
-
}
|
|
189
153
|
processImport(jsImport, usedIdentifiers, usedTypes, p) {
|
|
190
154
|
return __awaiter(this, void 0, void 0, function* () {
|
|
191
155
|
// 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.65.0-20251023-
|
|
1
|
+
8.65.0-20251023-115326
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -36,9 +36,10 @@ export * from "./run";
|
|
|
36
36
|
// register all recipes in this package
|
|
37
37
|
export async function activate(registry: RecipeRegistry): Promise<void> {
|
|
38
38
|
const {OrderImports} = await import("./recipe/index.js");
|
|
39
|
-
const {ModernizeOctalLiterals} = await import("./javascript/migrate/es6/index.js");
|
|
39
|
+
const {ModernizeOctalLiterals, RemoveDuplicateObjectKeys} = await import("./javascript/migrate/es6/index.js");
|
|
40
40
|
registry.register(OrderImports);
|
|
41
41
|
registry.register(ModernizeOctalLiterals);
|
|
42
|
+
registry.register(RemoveDuplicateObjectKeys);
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
RpcCodecs.registerCodec(MarkersKind.ParseExceptionResult, {
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 the original author or authors.
|
|
3
|
+
* <p>
|
|
4
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
* <p>
|
|
8
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
9
|
+
* <p>
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {J} from "../java";
|
|
18
|
+
import {produce} from "immer";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Applies the prefix from a removed element to the next element.
|
|
22
|
+
*
|
|
23
|
+
* This is used when removing elements from a list to preserve formatting:
|
|
24
|
+
* - If the next element has no comments (or only an inline trailing comment to remove),
|
|
25
|
+
* uses the removed element's prefix whitespace
|
|
26
|
+
* - If the next element has comments to preserve, keeps the next element's whitespace
|
|
27
|
+
* to maintain proper spacing (e.g., blank lines before comments)
|
|
28
|
+
* - Removes inline line comments (//...) that were on the removed element's line
|
|
29
|
+
*
|
|
30
|
+
* @param removedElement The element that was removed
|
|
31
|
+
* @param nextElement The element that follows the removed one
|
|
32
|
+
* @returns The next element with adjusted prefix, or the original if no changes needed
|
|
33
|
+
*/
|
|
34
|
+
export function applyRemovedElementPrefix<T extends J>(removedElement: J, nextElement: T): T {
|
|
35
|
+
if (!removedElement.prefix || !nextElement.prefix) {
|
|
36
|
+
return nextElement;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const removedPrefix = removedElement.prefix;
|
|
40
|
+
const currentPrefix = nextElement.prefix;
|
|
41
|
+
const currentComments = currentPrefix.comments || [];
|
|
42
|
+
|
|
43
|
+
// If the next element has no comments, just use the removed element's prefix entirely
|
|
44
|
+
if (currentComments.length === 0) {
|
|
45
|
+
if (currentPrefix === removedPrefix) {
|
|
46
|
+
return nextElement;
|
|
47
|
+
}
|
|
48
|
+
return produce(nextElement, draft => {
|
|
49
|
+
draft.prefix = removedPrefix;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// The next element has comments - check if we need to remove inline line comments
|
|
54
|
+
const currentWhitespace = currentPrefix.whitespace || '';
|
|
55
|
+
const hasLeadingNewline = /[\r\n]/.test(currentWhitespace);
|
|
56
|
+
|
|
57
|
+
let commentsToKeep = currentComments;
|
|
58
|
+
if (!hasLeadingNewline && currentComments.length > 0) {
|
|
59
|
+
// First comment has no leading newline - check if it's an inline line comment
|
|
60
|
+
const firstComment: any = currentComments[0];
|
|
61
|
+
const commentText = firstComment.text || firstComment.message || '';
|
|
62
|
+
const isLineComment = commentText.includes('//') || firstComment.multiline === false;
|
|
63
|
+
|
|
64
|
+
if (isLineComment) {
|
|
65
|
+
// Remove the inline line comment
|
|
66
|
+
commentsToKeep = currentComments.slice(1);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// If we still have comments after filtering, use removed element's whitespace with filtered comments
|
|
71
|
+
if (commentsToKeep.length > 0) {
|
|
72
|
+
return produce(nextElement, draft => {
|
|
73
|
+
draft.prefix = {
|
|
74
|
+
...removedPrefix,
|
|
75
|
+
comments: commentsToKeep
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// No comments left after filtering, use removed element's prefix entirely
|
|
81
|
+
return produce(nextElement, draft => {
|
|
82
|
+
draft.prefix = removedPrefix;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
@@ -29,7 +29,7 @@ export class ModernizeOctalLiterals extends Recipe {
|
|
|
29
29
|
async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
30
30
|
return new class extends JavaScriptVisitor<ExecutionContext> {
|
|
31
31
|
|
|
32
|
-
protected async visitLiteral(literal: J.Literal,
|
|
32
|
+
protected async visitLiteral(literal: J.Literal, _ctx: ExecutionContext): Promise<J | undefined> {
|
|
33
33
|
// Only process numeric literals
|
|
34
34
|
if (typeof literal.value !== 'number') {
|
|
35
35
|
return literal;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 the original author or authors.
|
|
3
|
+
* <p>
|
|
4
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
* <p>
|
|
8
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
9
|
+
* <p>
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {Recipe} from "../../../recipe";
|
|
18
|
+
import {TreeVisitor} from "../../../visitor";
|
|
19
|
+
import {ExecutionContext} from "../../../execution";
|
|
20
|
+
import {JavaScriptVisitor} from "../../visitor";
|
|
21
|
+
import {J} from "../../../java";
|
|
22
|
+
import {JS} from "../../tree";
|
|
23
|
+
import {produce} from "immer";
|
|
24
|
+
import {applyRemovedElementPrefix} from "../../../java/formatting-utils";
|
|
25
|
+
|
|
26
|
+
export class RemoveDuplicateObjectKeys extends Recipe {
|
|
27
|
+
name = "org.openrewrite.javascript.migrate.es6.remove-duplicate-object-keys";
|
|
28
|
+
displayName = "Remove duplicate object keys";
|
|
29
|
+
description = "Remove duplicate keys in object literals, keeping only the last occurrence (last-wins semantics).";
|
|
30
|
+
|
|
31
|
+
async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
32
|
+
return new class extends JavaScriptVisitor<ExecutionContext> {
|
|
33
|
+
|
|
34
|
+
protected async visitNewClass(newClass: J.NewClass, ctx: ExecutionContext): Promise<J | undefined> {
|
|
35
|
+
newClass = await super.visitNewClass(newClass, ctx) as J.NewClass;
|
|
36
|
+
|
|
37
|
+
// Only process object literals (NewClass with body but no class or arguments)
|
|
38
|
+
if (!newClass.body || newClass.class || (newClass.arguments?.elements && newClass.arguments.elements.length > 0)) {
|
|
39
|
+
return newClass;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const statements = newClass.body.statements;
|
|
43
|
+
if (!statements || statements.length === 0) {
|
|
44
|
+
return newClass;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Build a map of property names to their last occurrence index
|
|
48
|
+
const propertyNameToLastIndex = new Map<string, number>();
|
|
49
|
+
const propertyNames: (string | null)[] = [];
|
|
50
|
+
|
|
51
|
+
for (let i = 0; i < statements.length; i++) {
|
|
52
|
+
const stmt = statements[i];
|
|
53
|
+
if (stmt.element.kind === JS.Kind.PropertyAssignment) {
|
|
54
|
+
const prop = stmt.element as JS.PropertyAssignment;
|
|
55
|
+
const propName = this.getPropertyName(prop);
|
|
56
|
+
propertyNames.push(propName);
|
|
57
|
+
|
|
58
|
+
if (propName !== null) {
|
|
59
|
+
propertyNameToLastIndex.set(propName, i);
|
|
60
|
+
}
|
|
61
|
+
} else {
|
|
62
|
+
propertyNames.push(null);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Check if there are any duplicates to remove
|
|
67
|
+
const indicesToRemove = new Set<number>();
|
|
68
|
+
for (let i = 0; i < propertyNames.length; i++) {
|
|
69
|
+
const propName = propertyNames[i];
|
|
70
|
+
if (propName !== null) {
|
|
71
|
+
const lastIndex = propertyNameToLastIndex.get(propName)!;
|
|
72
|
+
if (i < lastIndex) {
|
|
73
|
+
indicesToRemove.add(i);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (indicesToRemove.size === 0) {
|
|
79
|
+
return newClass;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Remove duplicate properties and adjust prefixes
|
|
83
|
+
return produce(newClass, draft => {
|
|
84
|
+
const filteredStatements: typeof statements = [];
|
|
85
|
+
let removedElement: J | undefined = undefined;
|
|
86
|
+
|
|
87
|
+
for (let i = 0; i < statements.length; i++) {
|
|
88
|
+
if (indicesToRemove.has(i)) {
|
|
89
|
+
// Track the first removed element
|
|
90
|
+
if (!removedElement && statements[i].element) {
|
|
91
|
+
removedElement = statements[i].element;
|
|
92
|
+
}
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const stmt = statements[i];
|
|
97
|
+
|
|
98
|
+
// If we removed previous elements, apply the removed element's prefix to this one
|
|
99
|
+
if (removedElement) {
|
|
100
|
+
const adjustedElement = applyRemovedElementPrefix(removedElement, stmt.element);
|
|
101
|
+
filteredStatements.push({
|
|
102
|
+
...stmt,
|
|
103
|
+
element: adjustedElement
|
|
104
|
+
});
|
|
105
|
+
removedElement = undefined;
|
|
106
|
+
} else {
|
|
107
|
+
filteredStatements.push(stmt);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
draft.body!.statements = filteredStatements;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
private getPropertyName(prop: JS.PropertyAssignment): string | null {
|
|
116
|
+
const name = prop.name.element;
|
|
117
|
+
|
|
118
|
+
// Handle identifier: { foo: 1 }
|
|
119
|
+
if (name.kind === J.Kind.Identifier) {
|
|
120
|
+
return (name as J.Identifier).simpleName;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Handle string literal: { "foo": 1 }
|
|
124
|
+
if (name.kind === J.Kind.Literal) {
|
|
125
|
+
const literal = name as J.Literal;
|
|
126
|
+
if (typeof literal.value === 'string') {
|
|
127
|
+
return literal.value;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// For computed properties { [expr]: 1 }, we can't statically determine the name
|
|
132
|
+
// So we return null and don't consider them for deduplication
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -355,7 +355,7 @@ export function checkSyntaxErrors(program: ts.Program, sourceFile: ts.SourceFile
|
|
|
355
355
|
// checking Parsing and Syntax Errors
|
|
356
356
|
let syntaxErrors : [errorMsg: string, errorCode: number][] = [];
|
|
357
357
|
if (diagnostics.length > 0) {
|
|
358
|
-
const errors = diagnostics.filter(d => (d.category === ts.DiagnosticCategory.Error) && isCriticalDiagnostic(d.code));
|
|
358
|
+
const errors = diagnostics.filter(d => (d.category === ts.DiagnosticCategory.Error) && isCriticalDiagnostic(d.code, sourceFile));
|
|
359
359
|
if (errors.length > 0) {
|
|
360
360
|
syntaxErrors = errors.map(e => {
|
|
361
361
|
let errorMsg;
|
|
@@ -385,10 +385,9 @@ const additionalCriticalCodes = new Set([
|
|
|
385
385
|
const excludedCodes = new Set([
|
|
386
386
|
1039, // Initializers are not allowed in ambient contexts.
|
|
387
387
|
1064, // The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?
|
|
388
|
-
1101, // 'with' statements are not allowed in strict mode.
|
|
389
388
|
1107, // Jump target cannot cross function boundary.
|
|
390
389
|
1111, // Private field '{0}' must be declared in an enclosing class.
|
|
391
|
-
|
|
390
|
+
1117, // An object literal cannot have multiple properties with the same name.
|
|
392
391
|
1155, // '{0}' declarations must be initialized.
|
|
393
392
|
1166, // A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type.
|
|
394
393
|
1170, // A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
|
|
@@ -424,7 +423,25 @@ const excludedCodes = new Set([
|
|
|
424
423
|
1432, // Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'node20', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher.
|
|
425
424
|
]);
|
|
426
425
|
|
|
427
|
-
|
|
426
|
+
// Errors to exclude only for JavaScript files (.js, .jsx, .mjs, .cjs)
|
|
427
|
+
// TypeScript files (.ts, .tsx, .mts, .cts) should still report these as errors
|
|
428
|
+
const jsOnlyExcludedCodes = new Set([
|
|
429
|
+
1101, // 'with' statements are not allowed in strict mode.
|
|
430
|
+
1121, // Octal literals are not allowed. Use the syntax '{0}'.
|
|
431
|
+
1125, // Hexadecimal digit expected.
|
|
432
|
+
]);
|
|
433
|
+
|
|
434
|
+
function isCriticalDiagnostic(code: number, sourceFile: ts.SourceFile): boolean {
|
|
435
|
+
// Check if this error should be excluded for JavaScript files
|
|
436
|
+
if (jsOnlyExcludedCodes.has(code)) {
|
|
437
|
+
const fileName = sourceFile.fileName.toLowerCase();
|
|
438
|
+
const isJavaScript = fileName.endsWith('.js') || fileName.endsWith('.jsx') ||
|
|
439
|
+
fileName.endsWith('.mjs') || fileName.endsWith('.cjs');
|
|
440
|
+
if (isJavaScript) {
|
|
441
|
+
return false; // Not critical for JS files
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
428
445
|
return (code > 1000 && code < 2000 && !excludedCodes.has(code)) || additionalCriticalCodes.has(code);
|
|
429
446
|
}
|
|
430
447
|
|
|
@@ -2,6 +2,7 @@ import {JavaScriptVisitor} from "./visitor";
|
|
|
2
2
|
import {J} from "../java";
|
|
3
3
|
import {JS} from "./tree";
|
|
4
4
|
import {mapAsync} from "../util";
|
|
5
|
+
import {applyRemovedElementPrefix} from "../java/formatting-utils";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* @param visitor The visitor to add the import removal to
|
|
@@ -110,8 +111,7 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
|
|
|
110
111
|
|
|
111
112
|
// Now process imports with knowledge of what's used
|
|
112
113
|
return this.produceJavaScript<JS.CompilationUnit>(compilationUnit, p, async draft => {
|
|
113
|
-
let
|
|
114
|
-
let hasKeptStatement = false;
|
|
114
|
+
let removedElement: J | undefined = undefined;
|
|
115
115
|
|
|
116
116
|
draft.statements = await mapAsync(compilationUnit.statements, async (stmt) => {
|
|
117
117
|
const statement = stmt.element;
|
|
@@ -121,12 +121,13 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
|
|
|
121
121
|
const jsImport = statement as JS.Import;
|
|
122
122
|
const result = await this.processImport(jsImport, usedIdentifiers, usedTypes, p);
|
|
123
123
|
if (result === undefined) {
|
|
124
|
-
//
|
|
125
|
-
|
|
124
|
+
// Track the removed import
|
|
125
|
+
if (!removedElement) {
|
|
126
|
+
removedElement = statement;
|
|
127
|
+
}
|
|
126
128
|
return undefined;
|
|
127
129
|
}
|
|
128
|
-
|
|
129
|
-
hasKeptStatement = true;
|
|
130
|
+
removedElement = undefined;
|
|
130
131
|
return {...stmt, element: result};
|
|
131
132
|
}
|
|
132
133
|
|
|
@@ -136,25 +137,24 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
|
|
|
136
137
|
const varDecl = statement as J.VariableDeclarations;
|
|
137
138
|
const result = await this.processRequireFromVarDecls(varDecl, usedIdentifiers, p);
|
|
138
139
|
if (result === undefined) {
|
|
139
|
-
//
|
|
140
|
-
|
|
140
|
+
// Track the removed require
|
|
141
|
+
if (!removedElement) {
|
|
142
|
+
removedElement = statement;
|
|
143
|
+
}
|
|
141
144
|
return undefined;
|
|
142
145
|
}
|
|
143
|
-
|
|
144
|
-
hasKeptStatement = true;
|
|
146
|
+
removedElement = undefined;
|
|
145
147
|
return {...stmt, element: result};
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
// If the previous statement was removed, adjust this statement's prefix
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
hasKeptStatement = true;
|
|
151
|
+
if (removedElement && statement) {
|
|
152
|
+
const updatedStatement = applyRemovedElementPrefix(removedElement, statement);
|
|
153
|
+
removedElement = undefined;
|
|
153
154
|
return {...stmt, element: updatedStatement};
|
|
154
155
|
}
|
|
155
156
|
|
|
156
|
-
|
|
157
|
-
hasKeptStatement = true;
|
|
157
|
+
removedElement = undefined;
|
|
158
158
|
return stmt;
|
|
159
159
|
});
|
|
160
160
|
|
|
@@ -164,53 +164,6 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
|
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
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
|
-
|
|
214
167
|
private async processImport(
|
|
215
168
|
jsImport: JS.Import,
|
|
216
169
|
usedIdentifiers: Set<string>,
|