オレオレ Handpick も作ってみた
昨日紹介した Handpick という npm パッケージコマンドだが、動作の仕組みを色々研究していた結果、ほぼ似たようなことを行うオレオレ Handpick を作ってしまった。その名も @neos21/handpick Neo's Handpick。
本家 Handpick との違いは以下のとおり。
- コマンド名は
handpickではなくnhp(Neo's HandPick の略) とした npm installのラップにしか対応していない。yarnやpnpmには非対応dependenciesとdevDependenciesはデフォルトでインストールする仕組みにした。除外はできない- Handpick は
dependenciesに全てのパッケージをマージする形式だったが、コチラはdevDependenciesにlintDependenciesなどをマージする形式とした- 特に意味はない。w
devDependenciesの元々の内容は__devDependenciesプロパティに退避させるようにした
- 引数は
handpick --target=hogeDependenciesと指定するのではなく、直接nhp hogeDependenciesとだけ書けば動くようにした- 名称は
Dependenciesで終わる名称のみ受け付けるようにしてある
- 名称は
package.jsonを一時的に書き換える際、package.json.tempファイルを作るようにしたCtrl + Cなど、何らかの理由でnpm installを中断してpackage.json.tempファイルが残ってしまった時に、$ nhp --cleanupコマンドを叩くことで、package.json.tempをpackage.jsonに戻すオプションも用意した
Handpick の機能簡略版という感じで、至らぬ点も多いと思う。常用利用するなら本家 Handpick がオススメ。
一応、単一の ES Modules ファイルで作っており、依存パッケージゼロというところがウリ (?)。個人的には yarn とか使わないので、お一人様プロジェクトではコレを使うことがあるかもしれないかなー、ぐらいのつもり。