現在、Headless CMS を使ったサービスを制作しているのですが、その中で使用するnpmパッケージにバグが見つかりました。そのモジュールのGithubを確認してみたところ、まさにこのバグの issueが上がっていましたが、 ややマイナーなモジュールのためか、放置されているようです。
1か所「new」が抜けてるだけですので、npm install した後に、ちょっと修正すれば済むのですが、これをいちいち覚えておいて運用するのはちょっとつらい。
今回のように、放置気味のモジュールの修正には、「patch-package」を使うと便利です。
使い方はとても簡単で、まず「patch-package」をインストールします。
npm install patch-package --save-dev
次に、「packege.json」にスクリプトを追加します。
{
...
scripts: {
...
"postinstall": "patch-package"
}
}
これで、npm insatll 後にパッチが自動的に当てられるようになります。
次に、node_modulesの中のファイルを修正します。
修正したら、以下のコマンドを叩きます。
npx patch-package << 修正したモジュール名 >>
すると、npmのサーバ上のファイルと、修正後のファイル違いが自動的にチェックされて、「 patches 」フォルダの中にパッチファイルが生成されます。
つまり、このパッチファイルと「patch-package」モジュールをプロジェクトに追加して、スクリプトを1行追加しておけば、自動的にmoduleの修正が行われるようになります。
例えば、Dockerイメージのビルドで npm insatall する場合にも、安心して使うことができます。(まさに今回がそう)
npmモジュールにバグがあって困った場合に、お試しください。
ホームページの制作(デザイン・コーディング・プログラミング)に加え、ネットショップの販売促進に関するアドバイスも致します。 20年以上に渡って実際にネットショップを運営した経験を生かし、聞きかじりではない実績を伴ったノウハウを、自分の言葉でお伝えいたします。 プログラミングの経験は30年以上。HTML、CSS、JavaScript、TypeScript、Vue、NuxtJS、Node.js、MySQL、MongoDB、Elasticsearch、WordPress、PHP、Docker、Electronなど、幅広く対応します。
コメント