Skip to content

Migration Guide

This chapter provides guidance for migrating to eslint-markdown and @eslint/markdown from other Markdown linting tools like markdownlint, remark-lint, and textlint.

EmojiCompatibility
Fully Compatible
⚠️Partially Compatible
Not Compatible

Migrating from @eslint/markdown

This plugin does not include any rules that overlap with ESLint's built-in Markdown rules provided by @eslint/markdown. As a result, eslint-markdown is completely disjoint from @eslint/markdown, and no migration is needed.

If the upstream @eslint/markdown project adopts any rules from this plugin, we will deprecate and remove the overlapping rules in this plugin.

You can use both @eslint/markdown and eslint-markdown together to get full support and additional features when migrating your Markdown linting setup, which is covered in the following section.

NOTE

You can find more information on using @eslint/markdown together with eslint-markdown in the Configurations chapter.

Migrating from markdownlint

If you are a user of markdownlint, markdownlint-cli, or markdownlint-cli2, this section will guide you through migrating your existing configuration to eslint-markdown and @eslint/markdown.

🚧 This section is a work in progress 🚧

This section is currently under construction and will be updated soon.

markdownlinteslint-markdown or @eslint/markdown
MD004 - Unordered list stylemd/consistent-unordered-list-style
MD010 - Hard tabsmd/no-tab
MD031 - Fenced code blocks should be surrounded by blank lines ⚠️md/consistent-code-style
MD035 - Horizontal rule stylemd/consistent-thematic-break-style
MD038 - Spaces inside code span elementsmd/consistent-inline-code-style
MD046 - Code block style ⚠️md/consistent-code-style
MD048 - Code fence style ⚠️md/consistent-code-style
MD049 - Emphasis stylemd/consistent-emphasis-style
MD050 - Strong stylemd/consistent-strong-style
markdownlint-rule-no-trailing-slash-in-linksmd/no-url-trailing-slash

Migrating from remark-lint

If you are a user of remark-lint, this section will guide you through migrating your existing configuration to eslint-markdown and @eslint/markdown.

🚧 This section is a work in progress 🚧

This section is currently under construction and will be updated soon.

remark-linteslint-markdown or @eslint/markdown
remark-lint-code-block-style ⚠️md/consistent-code-style
remark-lint-emphasis-markermd/consistent-emphasis-style
remark-lint-fenced-code-marker ⚠️md/consistent-code-style
remark-lint-no-tabsmd/no-tab
remark-lint-no-url-trailing-slashmd/no-url-trailing-slash
remark-lint-rule-stylemd/consistent-thematic-break-style
remark-lint-strikethrough-markermd/consistent-delete-style
remark-lint-strong-markermd/consistent-strong-style
remark-lint-unordered-list-marker-stylemd/consistent-unordered-list-style

Migrating from textlint

If you are a user of textlint, this section will guide you through migrating your existing configuration to eslint-markdown and @eslint/markdown.

🚧 This section is a work in progress 🚧

This section is currently under construction and will be updated soon.

textlinteslint-markdown or @eslint/markdown
textlint-rule-allowed-urismd/allow-image-url
md/allow-link-url
markdown/no-unused-definitions
textlint-rule-doubled-spacesmd/no-double-space
textlint-rule-no-curly-quotesmd/no-curly-quote
textlint-rule-no-invalid-control-character ⚠️md/no-control-character
textlint-rule-no-zero-width-spacesmd/no-irregular-whitespace