created: 2024-06-25T09:53:31.143Z

madge で TypeScript 依存関係を可視化する

ヤバい感じで依存し合ってるコードがあったので、どのへんから手をつけたものか難しかったのでいったん見えるようにしてみた。

よかった

  • svg で出力してくれるので画像を github に貼ったりとかすると具合がよい
  • パスエイリアスにも対応してくれてて不足なくみられた

docker で実行したい

本筋とは関係ないが、Graphviz でいろんな依存が mac に入るのが嫌だったので docker run で実行している。

FROM node
RUN apt update
RUN apt-get install -y graphviz
RUN npm install -g madge
WORKDIR /home/app
ENTRYPOINT ["madge"]
$ docker build --tag madge .
$ docker run --rm -i \
    -v $(pwd):/home/app:rw madge \
    --webpack-config ./webpack.config.js \
    --ts-config ./tsconfig.json \
    --exclude 'test.tsx?' \
    --image /home/app/graph.svg \
    ./src/index.ts

ffmpeg

依存がたくさん入るのがイヤで、似たようなことを ffmpeg でもやっていた。

やりすぎの経済学 -中毒・不摂生と社会政策
[ad] やりすぎの経済学 -中毒・不摂生と社会政策
ハロルド・ウィンター, 河越正明 (単行本(ソフトカバー))