以前、「【Cordova】package.jsonからライセンス一覧を自動生成できる「license-checker」」という記事で、ライセンスの自動生成ができるライブラリについて紹介しました。
で、その後も便利に使っていたのですが、この license-checker はそのまま使うと、プロジェクト自身のライセンス情報まで生成されたファイルに含まれてしまうので、わざわざ生成した JSON ファイルから削除する…という作業を行っていました。
そこまで面倒な作業でもなかったのですが、何とかならないかな…と思っていたところ、以前参考にさせていただいた記事に方法が書いてありました。
ハイブリッドアプリのライセンス一覧を自動生成しよう – Qiita
https://qiita.com/kishisuke/items/bdf9a7e83b2193108a8c
除外する方法ですが、まずプロジェクトの package.json を開き、ライセンス一覧から除外したい項目に "private": true を追加します。
サンプルコードは下記のとおりです。
{
"name": "AppName",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
},
"author": "",
"private": true,
"dependencies": {
...
}
...
}
9行目がその記述です。
上記のように追加したら、あとはターミナルアプリでプロジェクト直下に移動した後、下記のコマンドを実行します。
license-checker --production --excludePrivatePackages --json > [生成されるライセンス一覧の保存場所]
上記を実行すると、指定したパスに JSON ファイルが生成されます。
内容を確認したところ、確かに "private": true を追加した項目は、このファイルに含まれていませんでした!
手作業での削除作業自体はそこまで手間ではなかったのですが…やはり楽できるのは良いですね。
また、削除し忘れが防げるので、こちらの方が良いと思います。
以上、ライセンス一覧を自動生成できるライブラリ「license-checker」で生成したライセンス一覧から特定の項目を除外する方法でした。
ご参考になれば幸いです。