プログラミング
Show HN: Codemap – one-page interactive map of any Go repository
Show HN: Codemap – one-page interactive map of any Go repository (github.com)
要約
Codemapは、Goリポジトリを対象としたインタラクティブな1ページのマッピングツールです。Goモジュール内の各パッケージ、その依存関係、およびファイル内の関数を視覚化します。GitHub上のモジュールであれば、特定の関数まで直接ジャンプすることも可能です。このツールは、`go run` コマンドで簡単に利用でき、生成されるHTMLファイルは単一ファイルで配布可能なため、Webサイトへの組み込みも容易です。
全文翻訳
Folders and files
Goモジュールをマッピングする1つのHTMLページ:各パッケージ、モジュール内でのビルド対象、および各ファイル内の関数。テストは除外されています。
例:yggstoreのマップ、40パッケージと1,850関数。
使用方法
モジュールのフォルダ内で、Go 1.24以降を使用してください:
go run github.com/peterretief/codemap@latest -o code-map.html
その後、code-map.html をブラウザで開きます。これは単一ファイルで、サーバーを必要としないため、どのウェブサイトにも配置できます。-root DIR で別のフォルダをマッピングすることもできます。
GitHub Actions での使用
- uses: actions/checkout@v4
- uses: peterretief/codemap@v0.1.0
with:
output: code-map.html
- uses: actions/upload-artifact@v4
with:
name: code-map
path: code-map.html
マップの読み方
- 各行は下の行にのみ依存するため、基盤は下部に、コマンドは上部に配置されます。
- 幅の広いボックスは関数が多く、色はトップレベルのフォルダを示します。
internal/は名前から除外されます。vendor、testdata、および独自のgo.modを持つフォルダは除外されます。- ページはGoogle Fontsからフォントを読み込み、それらが利用できない場合はシステムフォントにフォールバックします。