diff --git a/eslint.config.js b/eslint.config.js index 9343eea553..58699781c4 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1103,20 +1103,38 @@ copy( name: 'markdown', files: ['**/*.md'], plugins: { - // @ts-expect-error markdown }, - language: 'markdown/commonmark', + language: 'markdown/gfm', rules: { + // `@eslint/markdown` rules + // https://github.com/eslint/markdown/blob/main/README.md#rules + /* +// copy all the rules from the rules table for easy pasting +copy( + Iterator.from( + document + // select rules table + .querySelector('.markdown-heading:has(> a[href="#rules"]) ~ markdown-accessiblity-table tbody') + // select all rule links + .querySelectorAll(':any-link') + ) + // map link to rule declaration + .map((link) => `'markdown/${link.textContent}': 1,`) + .toArray() + .join('\n') +); + */ 'markdown/fenced-code-language': 1, + 'markdown/fenced-code-meta': 0, 'markdown/heading-increment': 1, 'markdown/no-bare-urls': 1, 'markdown/no-duplicate-definitions': 1, - 'markdown/no-duplicate-headings': 0, + 'markdown/no-duplicate-headings': [1, { checkSiblingsOnly: true }], 'markdown/no-empty-definitions': 1, 'markdown/no-empty-images': 1, 'markdown/no-empty-links': 1, - 'markdown/no-html': 0, + 'markdown/no-html': [1, { allowed: ['br', 'kbd'] }], 'markdown/no-invalid-label-refs': 1, 'markdown/no-missing-atx-heading-space': 1, 'markdown/no-missing-label-refs': 1, diff --git a/package.json b/package.json index 45ecde9136..da1256623f 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ }, "devDependencies": { "@eslint-react/eslint-plugin": "^3.0.0", - "@eslint/markdown": "^7.5.1", + "@eslint/markdown": "^8.0.1", "@faker-js/faker": "^10.3.0", "@tanstack/react-router": "^1.166.7", "@tanstack/router-plugin": "^1.166.7",