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
MD001 - Heading levels should only increment by one level at a time ✅markdown/heading-increment
MD003 - Heading style ✅md/consistent-heading-style
MD004 - Unordered list style ✅md/consistent-unordered-list-style
MD010 - Hard tabs ✅md/no-tab
MD012 - Multiple consecutive blank lines ✅md/no-consecutive-blank-line
MD014 - Dollar signs used before commands without showing output ✅md/no-shell-dollar
MD019 - Multiple spaces after hash on atx style heading ✅md/no-multiple-atx-heading-space
MD021 - Multiple spaces inside hashes on closed atx style heading ✅md/no-multiple-atx-heading-space
MD026 - Trailing punctuation in heading ✅md/no-trailing-heading-punctuation
MD029 - Ordered list item prefix ⚠️md/consistent-ordered-list-style
MD031 - Fenced code blocks should be surrounded by blank lines ⚠️md/consistent-code-style
MD035 - Horizontal rule style ✅md/consistent-thematic-break-style
MD038 - Spaces inside code span elements ✅md/consistent-inline-code-style
MD046 - Code block style ⚠️md/consistent-code-style
MD048 - Code fence style ⚠️md/consistent-code-style
MD049 - Emphasis style ✅md/consistent-emphasis-style
MD050 - Strong style ✅md/consistent-strong-style
markdownlint-rule-no-trailing-slash-in-links ✅md/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-marker ✅md/consistent-emphasis-style
remark-lint-heading-style ⚠️md/consistent-heading-style
remark-lint-fenced-code-marker ⚠️md/consistent-code-style
remark-lint-no-consecutive-blank-lines ✅md/no-consecutive-blank-line
remark-lint-no-heading-content-indent ⚠️md/no-multiple-atx-heading-space
remark-lint-no-heading-punctuation ⚠️md/no-trailing-heading-punctuation
remark-lint-no-shell-dollars ⚠️md/no-shell-dollar
remark-lint-no-tabs ✅md/no-tab
remark-lint-no-url-trailing-slash ✅md/no-url-trailing-slash
remark-lint-ordered-list-marker-value ⚠️md/consistent-ordered-list-style
remark-lint-rule-style ✅md/consistent-thematic-break-style
remark-lint-strikethrough-marker ✅md/consistent-delete-style
remark-lint-strong-marker ✅md/consistent-strong-style
remark-lint-unordered-list-marker-style ✅md/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-uris ✅md/allow-image-url
md/allow-link-url
markdown/no-unused-definitions
textlint-rule-doubled-spaces ✅md/no-double-space
textlint-rule-no-curly-quotes ✅md/no-curly-quote
textlint-rule-no-invalid-control-character ⚠️md/no-control-character
textlint-rule-no-zero-width-spaces ✅md/no-irregular-whitespace
textlint-rule-require-header-id ✅md/require-heading-id