Skip to content

Commit

Permalink
fix: fix overlapping errors between newlines-between and comment-afte…
Browse files Browse the repository at this point in the history
…r fixes
  • Loading branch information
hugop95 authored Jan 13, 2025
1 parent afdda90 commit a6e1daf
Show file tree
Hide file tree
Showing 29 changed files with 691 additions and 208 deletions.
27 changes: 9 additions & 18 deletions rules/sort-classes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ import { isNodeEslintDisabled } from '../utils/is-node-eslint-disabled'
import { hasPartitionComment } from '../utils/has-partition-comment'
import { sortNodesByGroups } from '../utils/sort-nodes-by-groups'
import { getCommentsBefore } from '../utils/get-comments-before'
import { makeNewlinesFixes } from '../utils/make-newlines-fixes'
import { getNewlinesErrors } from '../utils/get-newlines-errors'
import { createEslintRule } from '../utils/create-eslint-rule'
import { getLinesBetween } from '../utils/get-lines-between'
Expand All @@ -52,8 +51,8 @@ import { toSingleLine } from '../utils/to-single-line'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { useGroups } from '../utils/use-groups'
import { makeFixes } from '../utils/make-fixes'
import { useGroups } from '../utils/use-groups'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'
import { matches } from '../utils/matches'
Expand Down Expand Up @@ -652,29 +651,21 @@ export default createEslintRule<SortClassesOptions, MESSAGE_ID>({

for (let messageId of messageIds) {
context.report({
fix: (fixer: TSESLint.RuleFixer) => [
...makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
...makeNewlinesFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
],
data: {
nodeDependentOnRight: firstUnorderedNodeDependentOnRight?.name,
right: toSingleLine(right.name),
left: toSingleLine(left.name),
rightGroup: right.group,
leftGroup: left.group,
},
fix: (fixer: TSESLint.RuleFixer) =>
makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
node: right.node,
messageId,
})
Expand Down
2 changes: 1 addition & 1 deletion rules/sort-decorators.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ import { toSingleLine } from '../utils/to-single-line'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { useGroups } from '../utils/use-groups'
import { makeFixes } from '../utils/make-fixes'
import { useGroups } from '../utils/use-groups'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down
2 changes: 1 addition & 1 deletion rules/sort-enums.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ import { toSingleLine } from '../utils/to-single-line'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { sortNodes } from '../utils/sort-nodes'
import { makeFixes } from '../utils/make-fixes'
import { sortNodes } from '../utils/sort-nodes'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down
2 changes: 1 addition & 1 deletion rules/sort-exports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ import { getLinesBetween } from '../utils/get-lines-between'
import { getSourceCode } from '../utils/get-source-code'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { sortNodes } from '../utils/sort-nodes'
import { makeFixes } from '../utils/make-fixes'
import { sortNodes } from '../utils/sort-nodes'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down
14 changes: 7 additions & 7 deletions rules/sort-heritage-clauses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ import { toSingleLine } from '../utils/to-single-line'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { useGroups } from '../utils/use-groups'
import { makeFixes } from '../utils/make-fixes'
import { useGroups } from '../utils/use-groups'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down Expand Up @@ -176,19 +176,19 @@ let sortHeritageClauses = (
let leftNumber = getGroupNumber(options.groups, left)
let rightNumber = getGroupNumber(options.groups, right)
context.report({
data: {
right: toSingleLine(right.name),
left: toSingleLine(left.name),
rightGroup: right.group,
leftGroup: left.group,
},
fix: fixer =>
makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
fixer,
nodes,
}),
data: {
right: toSingleLine(right.name),
left: toSingleLine(left.name),
rightGroup: right.group,
leftGroup: left.group,
},
messageId:
leftNumber === rightNumber
? 'unexpectedHeritageClausesOrder'
Expand Down
15 changes: 3 additions & 12 deletions rules/sort-imports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import { hasPartitionComment } from '../utils/has-partition-comment'
import { createNodeIndexMap } from '../utils/create-node-index-map'
import { sortNodesByGroups } from '../utils/sort-nodes-by-groups'
import { getCommentsBefore } from '../utils/get-comments-before'
import { makeNewlinesFixes } from '../utils/make-newlines-fixes'
import { getNewlinesErrors } from '../utils/get-newlines-errors'
import { createEslintRule } from '../utils/create-eslint-rule'
import { getLinesBetween } from '../utils/get-lines-between'
Expand All @@ -37,8 +36,8 @@ import { getSourceCode } from '../utils/get-source-code'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { useGroups } from '../utils/use-groups'
import { makeFixes } from '../utils/make-fixes'
import { useGroups } from '../utils/use-groups'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'
import { matches } from '../utils/matches'
Expand Down Expand Up @@ -571,15 +570,8 @@ export default createEslintRule<Options<string[]>, MESSAGE_ID>({

for (let messageId of messageIds) {
context.report({
fix: fixer => [
...makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
nodes: nodeList,
sourceCode,
options,
fixer,
}),
...makeNewlinesFixes({
fix: fixer =>
makeFixes({
options: {
...options,
customGroups: [],
Expand All @@ -589,7 +581,6 @@ export default createEslintRule<Options<string[]>, MESSAGE_ID>({
sourceCode,
fixer,
}),
],
data: {
rightGroup: right.group,
leftGroup: left.group,
Expand Down
2 changes: 1 addition & 1 deletion rules/sort-jsx-props.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ import { getSourceCode } from '../utils/get-source-code'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { useGroups } from '../utils/use-groups'
import { makeFixes } from '../utils/make-fixes'
import { useGroups } from '../utils/use-groups'
import { pairwise } from '../utils/pairwise'
import { complete } from '../utils/complete'
import { matches } from '../utils/matches'
Expand Down
2 changes: 1 addition & 1 deletion rules/sort-maps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import { toSingleLine } from '../utils/to-single-line'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { sortNodes } from '../utils/sort-nodes'
import { makeFixes } from '../utils/make-fixes'
import { sortNodes } from '../utils/sort-nodes'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down
27 changes: 9 additions & 18 deletions rules/sort-modules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ import { hasPartitionComment } from '../utils/has-partition-comment'
import { createNodeIndexMap } from '../utils/create-node-index-map'
import { sortNodesByGroups } from '../utils/sort-nodes-by-groups'
import { getNewlinesErrors } from '../utils/get-newlines-errors'
import { makeNewlinesFixes } from '../utils/make-newlines-fixes'
import { getCommentsBefore } from '../utils/get-comments-before'
import { getNodeDecorators } from '../utils/get-node-decorators'
import { createEslintRule } from '../utils/create-eslint-rule'
Expand All @@ -56,8 +55,8 @@ import { toSingleLine } from '../utils/to-single-line'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { useGroups } from '../utils/use-groups'
import { makeFixes } from '../utils/make-fixes'
import { useGroups } from '../utils/use-groups'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down Expand Up @@ -442,29 +441,21 @@ let analyzeModule = ({

for (let messageId of messageIds) {
context.report({
fix: (fixer: TSESLint.RuleFixer) => [
...makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
...makeNewlinesFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
],
data: {
nodeDependentOnRight: firstUnorderedNodeDependentOnRight?.name,
right: toSingleLine(right.name),
left: toSingleLine(left.name),
rightGroup: right.group,
leftGroup: left.group,
},
fix: (fixer: TSESLint.RuleFixer) =>
makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
node: right.node,
messageId,
})
Expand Down
2 changes: 1 addition & 1 deletion rules/sort-named-exports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ import { getSourceCode } from '../utils/get-source-code'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { sortNodes } from '../utils/sort-nodes'
import { makeFixes } from '../utils/make-fixes'
import { sortNodes } from '../utils/sort-nodes'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down
2 changes: 1 addition & 1 deletion rules/sort-named-imports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ import { getSourceCode } from '../utils/get-source-code'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { sortNodes } from '../utils/sort-nodes'
import { makeFixes } from '../utils/make-fixes'
import { sortNodes } from '../utils/sort-nodes'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'

Expand Down
13 changes: 2 additions & 11 deletions rules/sort-object-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ import { isNodeFunctionType } from '../utils/is-node-function-type'
import { createNodeIndexMap } from '../utils/create-node-index-map'
import { sortNodesByGroups } from '../utils/sort-nodes-by-groups'
import { getCommentsBefore } from '../utils/get-comments-before'
import { makeNewlinesFixes } from '../utils/make-newlines-fixes'
import { getNewlinesErrors } from '../utils/get-newlines-errors'
import { createEslintRule } from '../utils/create-eslint-rule'
import { getLinesBetween } from '../utils/get-lines-between'
Expand Down Expand Up @@ -447,22 +446,14 @@ export let sortObjectTypeElements = <MessageIds extends string>({

for (let messageId of messageIds) {
context.report({
fix: fixer => [
...makeFixes({
fix: fixer =>
makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
...makeNewlinesFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
],
data: {
right: toSingleLine(right.name),
left: toSingleLine(left.name),
Expand Down
27 changes: 9 additions & 18 deletions rules/sort-objects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ import { singleCustomGroupJsonSchema } from './sort-objects/types'
import { sortNodesByGroups } from '../utils/sort-nodes-by-groups'
import { allModifiers, allSelectors } from './sort-objects/types'
import { getCommentsBefore } from '../utils/get-comments-before'
import { makeNewlinesFixes } from '../utils/make-newlines-fixes'
import { getNewlinesErrors } from '../utils/get-newlines-errors'
import { createEslintRule } from '../utils/create-eslint-rule'
import { getLinesBetween } from '../utils/get-lines-between'
Expand All @@ -48,8 +47,8 @@ import { getSourceCode } from '../utils/get-source-code'
import { rangeToDiff } from '../utils/range-to-diff'
import { getSettings } from '../utils/get-settings'
import { isSortable } from '../utils/is-sortable'
import { useGroups } from '../utils/use-groups'
import { makeFixes } from '../utils/make-fixes'
import { useGroups } from '../utils/use-groups'
import { sortNodes } from '../utils/sort-nodes'
import { complete } from '../utils/complete'
import { pairwise } from '../utils/pairwise'
Expand Down Expand Up @@ -502,29 +501,21 @@ export default createEslintRule<Options, MESSAGE_ID>({

for (let messageId of messageIds) {
context.report({
fix: fixer => [
...makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
...makeNewlinesFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
],
data: {
nodeDependentOnRight: firstUnorderedNodeDependentOnRight?.name,
rightGroup: right.group,
leftGroup: left.group,
right: right.name,
left: left.name,
},
fix: fixer =>
makeFixes({
sortedNodes: sortedNodesExcludingEslintDisabled,
sourceCode,
options,
fixer,
nodes,
}),
node: right.node,
messageId,
})
Expand Down
6 changes: 3 additions & 3 deletions rules/sort-switch-case.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import {
localesJsonSchema,
orderJsonSchema,
} from '../utils/common-json-schemas'
import { makeSingleNodeCommentAfterFixes } from '../utils/make-single-node-comment-after-fixes'
import { validateCustomSortConfiguration } from '../utils/validate-custom-sort-configuration'
import { makeCommentAfterFixes } from '../utils/make-comment-after-fixes'
import { createNodeIndexMap } from '../utils/create-node-index-map'
import { createEslintRule } from '../utils/create-eslint-rule'
import { getSourceCode } from '../utils/get-source-code'
Expand Down Expand Up @@ -182,13 +182,13 @@ export default createEslintRule<Options, MESSAGE_ID>({
lastCaseRange,
sourceCode.getText(defaultCase.node),
),
...makeCommentAfterFixes({
...makeSingleNodeCommentAfterFixes({
sortedNode: punctuatorAfterLastCase,
node: defaultCase.node,
sourceCode,
fixer,
}),
...makeCommentAfterFixes({
...makeSingleNodeCommentAfterFixes({
node: punctuatorAfterLastCase,
sortedNode: defaultCase.node,
sourceCode,
Expand Down
Loading

0 comments on commit a6e1daf

Please sign in to comment.