😄

JavaScript・TypeScriptを使用したプロジェクトで依存関係を可視化するツールを作った

に公開

JavaScript・TypeScriptを使用したプロジェクトで依存関係を可視化するツールを作った

概要

開発理由

プロジェクトでファイル数が増えてくると、どこで呼び出されているかを追っていくのが億劫になるのでそれを一瞬で解決できるようなものがほしくAIと共に作ってみました。

Repree

React Dependencies Treeをもじったのが由来

トップ画像

トップ画像

サイトURL

Githubリポジトリ

コード汚い・page.tsxにべた書きはお許しください。

機能・画面

js・ts・jsx・tsxを抽出します。

サイドバー

サイドバーにはファイルの各種情報が表示されます。accordionコンポーネントを使用することで見たいファイルの情報のみ見れるようにしました。
サイドバー

ノードの選択時

ノードを選択すると選択されていることがわかるように色付きborder, アニメーションのある接続エッジを表示するようにしました。以下のサイトに感化されてオプションの意味とか調べながら何とか実装できました。

ノードの選択時

関係のあるノードのみ表示

ノードを選択した状態で👁ボタンをクリックすると、選択したノードとつながっているノードのみ表示することができます。つながっている全階層の全ノードを可視化することができます。
関係のあるノードのみ表示

ダークモード

もうおなじみのダークモード。next-themeを使用することでさくっと実装可能。

ダークモード

アップデート

  1. node_modulesも表示できるようになりました

node_modulesを表示

  1. 検索機能の実装
    サイドバー、モバイルではヘッダーにある検索バーからノードを検索し、遷移する機能を実装しました。

今後の展望

現在はファイルのみつながりを表示するようになっているので、node_modulesから呼び出したモジュールも対象にできればいいなと思ってます。

最後に

改善点、感想などをお教え頂ければ幸いです。よろしくお願いいたします。

GitHubで編集を提案

Discussion