- 指定した OSS リポジトリが依存しているライブラリ群を取得し、共通 JSON 形式で出力します。
- 取得方式は 2 種類(切り替え可能)。共通の使い方は本書、各方式の詳細は各
document.md
を参照してください。
- 取得方式ごとにフォルダ分割
- 各方式ディレクトリ直下に配置
- 実行する
main.sh
- 出力結果が入る
results/
- 方式ごとの説明
document.md
- 実行する
freeism-depchecker/
├─ github-osi/
│ ├─ main.sh
│ ├─ results/
│ └─ document.md
└─ libraries.io/
├─ main.sh
├─ results/
└─ document.md
- GitHub API + Google Open Source Insights(deps.dev)
github-osi/main.sh
- GitHub SBOM API と deps.dev を組み合わせて解決
- Libraries.io API
libraries.io/main.sh
- Libraries.io の API から依存とリポジトリ情報を収集
- bash が動作する環境(macOS / Linux)
- 以下のコマンドが利用可能であること
- 必須:
curl
,jq
- 方式別に追加要件あり(詳細は各
document.md
)- GitHub + deps.dev 方式:
gh
(GitHub CLI, 認証必須),sed
,awk
,tr
(URL 正規化で使用),fzf
は任意(結果削除 UI) - Libraries.io 方式: 環境変数に API キーを設定(
LIBRARIES_IO_API_KEY
またはLIBRARIES_API_KEY
)
- GitHub + deps.dev 方式:
- 必須:
- 実行権限を付与
chmod +x ./github-osi/main.sh chmod +x ./libraries.io/main.sh
- 方式別の前提条件を満たす
- GitHub CLI 認証や API キー設定など。詳細は各
document.md
を参照。
- GitHub CLI 認証や API キー設定など。詳細は各
- 方式を選ぶ(
github-osi
かlibraries.io
) - 引数を決める
- GitHub + deps.dev 方式:
OWNER REPO
- Libraries.io 方式:
OWNER REPO SERVICE
(github|gitlab|bitbucket
)
- GitHub + deps.dev 方式:
- 実行例
- GitHub + deps.dev 方式
./github-osi/main.sh ryoppippi ccusage
- Libraries.io 方式
./libraries.io/main.sh yoshiko-pg difit github
- GitHub + deps.dev 方式
- 完了メッセージのパスに出力(詳細は下記「出力先」)
より詳しいオプションや注意点は各 document.md
を参照してください。
-
2 種類のファイルを出力
- raw データ: 取得元 API の生データ
- formatted データ: 共通スキーマの JSON
-
共通 JSON スキーマ(例)
host
,owner
,repo
は必須package_manager_url
,repository_url
,homepage
は任意
{ "meta": { "createdAt": "2025-08-20", "specified-oss": { "owner": "ryoppippi", "Repository": "ccusage" } }, "data": [ { "host": "gitlab.com", "owner": "group", "repo": "lib-b" }, { "host": "github.com", "owner": "acme", "repo": "lib-a", "package_manager_url": "pack-D", "homepage": "page-p", "repository_url": "git/e" } ] }
- GitHub + deps.dev 方式
github-osi/results/{OWNER}_{REPO}/raw-data/*.json
github-osi/results/{OWNER}_{REPO}/formatted-data/output_*.json
- Libraries.io 方式
libraries.io/results/{OWNER}-{REPO}-{SERVICE}/raw-data/**/*.json
libraries.io/results/{OWNER}-{REPO}-{SERVICE}/formatted-data/dependency_*.json
- GitHub Dependency Graph SBOM:
https://docs.github.com/ja/rest/dependency-graph/sboms
- Google Open Source Insights(deps.dev):
https://github.com/google/deps.dev?tab=readme-ov-file#data
- Libraries.io API:
https://libraries.io/api