TL;DR
スクリプトを組んで出力結果を持っておく。
Background
利用しているOSS、ライセンス、NOTICE文があるかどうかをまとめておきたいが、一つ一つ見るのは面倒くさいので、スクリプトかなにかで一発でやりたいと思った。
やってみる
npmプロジェクトで依存OSSの一覧を出す
簡単だった。コマンド一発でポン。
npm install --production
npx license-checker -production --json --y
注意点として、node_modulesに入ってるモノが漏れ出てしまう可能性があるらしいので、事前にnode_modulesを削除して、npm installをproductionモードで実行する。
その後、license-checkerを実行することで、本番利用(dependencies)のOSSのライセンス一覧がJSON形式で出力される。
"esbuild@0.25.2": {
"licenses": "MIT",
"repository": "https://github.com/evanw/esbuild",
"path": "C:\\Users\\akagoma\\Documents\\akagoma\\node_modules\\esbuild",
"licenseFile": "C:\\Users\\akagoma\\Documents\\akagoma\\node_modules\\esbuild\\LICENSE.md"
}
これで利用しているOSSと、ライセンス、リポジトリが表示される。
このデータをCSV化するスクリプトも書いた。
npmプロジェクトでNOTICE文の一覧を出す
これはスクリプトを組むのがよかった。(GPTに書かせた)
実行するとTable形式で表示してくれる。
所感
こういう維持保守しなくていい実装はAI活用が冴えるなぁ。と思った。