Skip to content

Commit

Permalink
fix: void attribute and empty attribute are different (#458)
Browse files Browse the repository at this point in the history
* fix: void attribute and empty attribute are different

close #450

* fix: void attribute range
  • Loading branch information
JounQin committed May 3, 2023
1 parent b038db9 commit 9a71318
Show file tree
Hide file tree
Showing 6 changed files with 4,198 additions and 164 deletions.
5 changes: 5 additions & 0 deletions .changeset/forty-jobs-boil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"eslint-mdx": patch
---

fix: void attribute and empty attribute are different
4 changes: 3 additions & 1 deletion packages/eslint-mdx/src/tokens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,9 @@ export const restoreTokens = (

const attrValue = attr.value

if (!attrValue) {
// void attribute and empty attribute are different
// @see #450
if (attrValue == null) {
lastAttrOffset = attrStart + attrNameLength
continue
}
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-mdx/src/worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ runAsWorker(

if (attrValue == null) {
return {
...normalizeNode(attrStart, lastAttrOffset + 1),
...normalizeNode(attrStart, lastAttrOffset),
type: 'JSXAttribute',
name: {
...attrNamePos,
Expand Down
167 changes: 167 additions & 0 deletions test/__snapshots__/fixtures.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,173 @@ exports[`fixtures should match all snapshots: 429.mdx 1`] = `
]
`;
exports[`fixtures should match all snapshots: 450.mdx 1`] = `
[
{
"column": 45,
"endColumn": 46,
"endLine": 1,
"fix": {
"range": [
44,
45,
],
"text": "",
},
"line": 1,
"message": "Delete \`;\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 15,
"fix": {
"range": [
193,
195,
],
"text": "",
},
"line": 15,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 16,
"fix": {
"range": [
216,
218,
],
"text": "",
},
"line": 16,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 17,
"fix": {
"range": [
230,
232,
],
"text": "",
},
"line": 17,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 18,
"fix": {
"range": [
245,
247,
],
"text": "",
},
"line": 18,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 19,
"fix": {
"range": [
263,
265,
],
"text": "",
},
"line": 19,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 20,
"fix": {
"range": [
294,
296,
],
"text": "",
},
"line": 20,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 21,
"fix": {
"range": [
333,
335,
],
"text": "",
},
"line": 21,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
{
"column": 1,
"endColumn": 3,
"endLine": 22,
"fix": {
"range": [
374,
376,
],
"text": "",
},
"line": 22,
"message": "Delete \`··\`",
"messageId": "delete",
"nodeType": null,
"ruleId": "prettier/prettier",
"severity": 2,
},
]
`;
exports[`fixtures should match all snapshots: acorn.mdx 1`] = `
[
{
Expand Down
Loading

0 comments on commit 9a71318

Please sign in to comment.