Skip to content

Commit 0fc5001

Browse files
Dimitri POSTOLOVJounQin
andauthored
fix: line/column sorted error output (#390)
Co-authored-by: JounQin <[email protected]>
1 parent fd18bed commit 0fc5001

File tree

3 files changed

+32
-29
lines changed

3 files changed

+32
-29
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ coverage
77
lib
88
node_modules
99
/test.mdx
10+
.idea/

packages/eslint-plugin-mdx/src/processors/remark.ts

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,29 @@ export const remark: Linter.Processor = {
3030
return [
3131
...mdxMessages,
3232
...processors.markdown.postprocess(markdownMessages, filename),
33-
].map(lintMessage => {
34-
const {
35-
message,
36-
ruleId: eslintRuleId,
37-
severity: eslintSeverity,
38-
} = lintMessage
33+
]
34+
.sort((a, b) => a.line - b.line || a.column - b.column)
35+
.map(lintMessage => {
36+
const {
37+
message,
38+
ruleId: eslintRuleId,
39+
severity: eslintSeverity,
40+
} = lintMessage
3941

40-
if (eslintRuleId !== 'mdx/remark') {
41-
return lintMessage
42-
}
42+
if (eslintRuleId !== 'mdx/remark') {
43+
return lintMessage
44+
}
4345

44-
const { source, ruleId, reason, severity } = JSON.parse(
45-
message,
46-
) as RemarkLintMessage
46+
const { source, ruleId, reason, severity } = JSON.parse(
47+
message,
48+
) as RemarkLintMessage
4749

48-
return {
49-
...lintMessage,
50-
ruleId: `${source}-${ruleId}`,
51-
message: reason,
52-
severity: Math.max(eslintSeverity, severity) as Linter.Severity,
53-
}
54-
})
50+
return {
51+
...lintMessage,
52+
ruleId: `${source}-${ruleId}`,
53+
message: reason,
54+
severity: Math.max(eslintSeverity, severity) as Linter.Severity,
55+
}
56+
})
5557
},
5658
}

test/__snapshots__/fixtures.test.ts.snap

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,6 @@ import React from 'react'
7878
"ruleId": "remark-lint-no-duplicate-headings-in-section",
7979
"severity": 1,
8080
},
81-
Object {
82-
"column": 1,
83-
"endColumn": 4,
84-
"endLine": 17,
85-
"line": 15,
86-
"message": "Missing code language flag",
87-
"nodeType": "Program",
88-
"ruleId": "remark-lint-fenced-code-flag",
89-
"severity": 1,
90-
},
9181
Object {
9282
"column": 18,
9383
"endColumn": 30,
@@ -106,6 +96,16 @@ import React from 'react'
10696
"ruleId": "unicorn/prefer-array-flat",
10797
"severity": 2,
10898
},
99+
Object {
100+
"column": 1,
101+
"endColumn": 4,
102+
"endLine": 17,
103+
"line": 15,
104+
"message": "Missing code language flag",
105+
"nodeType": "Program",
106+
"ruleId": "remark-lint-fenced-code-flag",
107+
"severity": 1,
108+
},
109109
Object {
110110
"column": 1,
111111
"endColumn": 6,

0 commit comments

Comments
 (0)