Skip to content

chore: migrate circular dependency checker from madge to dpdm#152

Merged
shinpr merged 2 commits intomainfrom
chore/migrate-madge-to-dpdm
Mar 30, 2026
Merged

chore: migrate circular dependency checker from madge to dpdm#152
shinpr merged 2 commits intomainfrom
chore/migrate-madge-to-dpdm

Conversation

@shinpr
Copy link
Copy Markdown
Owner

@shinpr shinpr commented Mar 30, 2026

Summary

  • Replace madge with dpdm for circular dependency detection (check:deps)
  • Remove .madgerc config file (settings migrated to dpdm CLI options)
  • Remove unused check:deps:graph script (graph.svg was never generated)
  • Bump version to 1.19.1

Motivation

madge has stale indirect dependencies with known security vulnerabilities (brace-expansion ReDoS via dependency-tree → precinct → detective-typescript → @typescript-eslint/typescript-estree → minimatch). As a boilerplate that scaffolds new projects, shipping an unmaintained tool with npm audit warnings is irresponsible to downstream users.

dpdm is actively maintained (last release 2026-01), uses TypeScript compiler API directly, and has a shallower dependency tree.

Test plan

  • npm run check:deps runs successfully with dpdm
  • npm run check:code chain (check → check:unused → check:deps → build) passes
  • npm audit returns 0 vulnerabilities after npm audit fix
  • No other files reference madge or check:deps:graph

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

shinpr and others added 2 commits March 30, 2026 23:23
madge has stale indirect dependencies with known security vulnerabilities
(brace-expansion ReDoS) that are not being addressed upstream. As a
boilerplate, shipping an unmaintained tool with audit warnings is
irresponsible. dpdm is actively maintained (last release 2026-01),
uses TypeScript compiler API directly, and has a shallower dependency tree.

- Remove madge and .madgerc configuration
- Add dpdm with equivalent CLI options for check:deps
- Remove unused check:deps:graph script (graph.svg was never generated)
- Bump version to 1.19.1

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shinpr shinpr self-assigned this Mar 30, 2026
@shinpr shinpr merged commit bd86ad9 into main Mar 30, 2026
1 check passed
@shinpr shinpr deleted the chore/migrate-madge-to-dpdm branch March 30, 2026 14:44
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