Skip to content

Commit 42d8204

Browse files
committed
Fix specifier sorting inserting semicolons
1 parent 97f276f commit 42d8204

File tree

4 files changed

+9
-1
lines changed

4 files changed

+9
-1
lines changed

.changeset/funny-jars-teach.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'eslint-plugin-import-sorting': patch
3+
---
4+
5+
Fix semicolons being added to end of import specifiers after sorting

src/rules/order.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ export default createRule<unknown[], MessageId>({
8383
isEslintDisabled: isNodeEslintDisabled(node, eslintDisabledLines),
8484
name,
8585
node,
86+
shouldAddSafetySemicolonWhenInline: true,
8687
size: rangeToDiff(node, sourceCode),
8788
})
8889
}

src/utils/make-fixes.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export function makeFixes({
2525
let sortingNode = nodes.at(index)!
2626
let sortedSortingNode = sortedNodes.at(index)!
2727
let { node } = sortingNode
28-
let { node: sortedNode } = sortedSortingNode
28+
let { shouldAddSafetySemicolonWhenInline, node: sortedNode } = sortedSortingNode
2929
let isNodeFirstNode = node === nodes.at(0)!.node
3030
let isSortedNodeFirstNode = sortedNode === nodes.at(0)!.node
3131

@@ -50,6 +50,7 @@ export function makeFixes({
5050
let isNextTokenOnSameLineAsNode = nextToken?.loc.start.line === node.loc.end.line
5151
let isNextTokenSafeCharacter = nextToken?.value === ';' || nextToken?.value === ','
5252
if (
53+
shouldAddSafetySemicolonWhenInline &&
5354
isNextTokenOnSameLineAsNode &&
5455
!willSortedNextNodeEndWithSafeCharacter &&
5556
!isNextTokenSafeCharacter

src/utils/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export interface SortingNode<Node extends TSESTree.Node = TSESTree.Node> {
1515
group?: string
1616
isEslintDisabled: boolean
1717
hasMultipleImportDeclarations?: boolean
18+
shouldAddSafetySemicolonWhenInline?: boolean
1819
}
1920

2021
export interface MemberSortingNode extends SortingNode<TSESTree.ImportClause> {

0 commit comments

Comments
 (0)