Replace markdownlint-cli2 with ESLint plugin#48
Merged
gtbuchanan merged 1 commit intomainfrom Apr 21, 2026
Merged
Conversation
35873c7 to
8ce4074
Compare
Add @gtbuchanan/eslint-plugin-markdownlint, a thin wrapper around markdownlint's sync API that runs structural Markdown linting as an ESLint rule. This consolidates markdownlint into the ESLint pipeline, eliminating the separate markdownlint-cli2 tool and the @gtbuchanan/markdownlint-config package. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
8ce4074 to
778dffb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@gtbuchanan/eslint-plugin-markdownlint— a thin ESLint pluginwrapping markdownlint's sync API directly (no worker threads)
@gtbuchanan/eslint-configwith Prettier-conflictingrules disabled and
.changeset/**ignored@gtbuchanan/markdownlint-configpackage andmarkdownlint-cli2from the repo — ESLint is now the sole linter for Markdown
(
<!-- markdownlint-disable MD024 -->) for per-rule granularityhookTimeoutto matchtestTimeoutin shared e2e config toprevent hook starvation from concurrent child process spawns
Test plan
pnpm -C packages/eslint-plugin-markdownlint run test:vitest:fast— 5 unit tests (clean pass, violation detection, rule disabling, prettier conflict, autofix)pnpm -C packages/eslint-config run test:vitest:e2e— 5 new e2e tests (violation detection, prettier suppression, Prettier+markdownlint coexistence, autofix, .changeset ignore)pnpm exec eslint README.md— markdownlint rules fire alongside format/prettier on.mdfiles🤖 Generated with Claude Code