
【npm】最終手段で使えるpatch-package

IT技術
開発している上でパッケージ側に問題があり
それのアップデートなどでも修正できず諸々の事情で代替のパッケージも利用できない場合
最終手段としてパッケージ側のファイルを修正する必要が出てくる時があります
今回はそんな時に便利なpatch-packageを紹介します!
概要
基本的にパッケージのgit管理はnode_modulesフォルダをgitignoreに設定するため
パッケージの変更は他の開発者と共有できません
そこでgitignoreを変更せず簡単に共有できるようにできるようになるのがpatch-packageです
導入
導入は簡単で以下のようにpackage.jsonのscripts内に追加します
スクリプト名が独特ですがここを変えると失敗するので注意しましょう
1 "scripts": {
2 "postinstall": "patch-package"
3 }
あとはpatch-packageのインストールを行うだけです
1npm i patch-package
パッケージを修正する
通常と同じくnode_modulesフォルダ内にあるパッケージのファイルを直接修正します
その後にpatch-packageのコマンドを実行します
1npx patch-package [修正したパッケージ名]
成功するとpatchesフォルダが生成され
その下にパッケージ名+バージョン.patchファイルが作成されます
これをリモートにプッシュすることで他の開発者はnpm install
だけでパッケージの修正を反映することができます!
パッケージの修正を元に戻す
patchesフォルダ下にある対象のpatchファイルを削除して、再度npm install
すればOKです
まとめ
簡単な導入でパッケージ修正の共有を行うことができるのですごい便利なのですが
パッケージ修正する内容については該当パッケージのissueなど吟味した上で対応したいですね!
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ