'How to get path excludes working in Madge?
I'm trying to run madge on a fairly big typescript project. Its compiled output goes to dist/*, and its React frontend are in public/*. Madge's documentation is pretty clear about how to exclude directories, but no matter what I try, it appears to still be checking these directories.
First attempt:
madge --circular --extensions ts,js --exclude '^(dist|public)' --ts-config ./tsconfig.json --warning .
The reason I think it's still checking there is because, first, I still see it scanning those directories as it runs:
And also, its warnings show imports that only occur in public/:
(the '@'-style import is from module-alias)
What I've tried:
- Using a regex like
^.*public.*$ - Specifying the excludes in .madgerc rather than on cli:
{
"fileExtensions": ["js","ts"],
"tsConfig": "tsconfig.json",
"excludeRegExp": ["^.*dist.*$", "^.*public.*$"]
}
- Running with --debug (the output is so massive I can't really make much of it - if I run it to console it crashes with out-of-memory, and if I pipe to a file, it gets so big that it literally fills up my SSD - I had to cancel when the log file surpassed 25 gigs).
Interestingly, it doesn't seem to be reporting any cycles in public/ or dist/, so I think it might be "partially" working. However, it does still seem to be scanning & processing those excluded paths, so I can't get rid of all the warnings that shouldn't be relevant to this run.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|


