Skip to content

Replace markdownlint-cli2 with ESLint plugin#48

Merged
gtbuchanan merged 1 commit intomainfrom
feature/mdl-eslint
Apr 21, 2026
Merged

Replace markdownlint-cli2 with ESLint plugin#48
gtbuchanan merged 1 commit intomainfrom
feature/mdl-eslint

Conversation

@gtbuchanan
Copy link
Copy Markdown
Owner

@gtbuchanan gtbuchanan commented Apr 20, 2026

Summary

  • Add @gtbuchanan/eslint-plugin-markdownlint — a thin ESLint plugin
    wrapping markdownlint's sync API directly (no worker threads)
  • Integrate into @gtbuchanan/eslint-config with Prettier-conflicting
    rules disabled and .changeset/** ignored
  • Remove @gtbuchanan/markdownlint-config package and markdownlint-cli2
    from the repo — ESLint is now the sole linter for Markdown
  • Inline suppression uses markdownlint's own comment syntax
    (<!-- markdownlint-disable MD024 -->) for per-rule granularity
  • Set hookTimeout to match testTimeout in shared e2e config to
    prevent hook starvation from concurrent child process spawns

Test plan

  • CI passes (Build, E2E Test, Config Check, Pre-Commit, Codecov)
  • 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 .md files

🤖 Generated with Claude Code

@gtbuchanan gtbuchanan force-pushed the feature/mdl-eslint branch 8 times, most recently from 35873c7 to 8ce4074 Compare April 21, 2026 02:14
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>
@gtbuchanan gtbuchanan marked this pull request as ready for review April 21, 2026 02:33
@gtbuchanan gtbuchanan merged commit 7620474 into main Apr 21, 2026
7 of 8 checks passed
@gtbuchanan gtbuchanan deleted the feature/mdl-eslint branch April 21, 2026 02:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant