HN 日本語サマリー

← 一覧へ戻る
プログラミング

Show HN: Codemap – one-page interactive map of any Go repository

Show HN: Codemap – one-page interactive map of any Go repository (github.com)

35 pointsby peter_retief16 コメント

要約

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からフォントを読み込み、それらが利用できない場合はシステムフォントにフォールバックします。