エンジニアのはしがき

プログラミングの日々の知見を書き連ねているブログです

npm linkでローカルのnpmパッケージを参照できた

最近知ったnpm linkというものについて書いてみようと思います。

やりたかったこと

とあるnpmパッケージの実装を変更した後、npm publish前にパッケージをimportしている別プロジェクト側から動作が確認したいというケースがありました。

具体的には、プロジェクト側でimport MyPackage from '@hogefuga/my-package'という形で参照しているという状態において、ローカルでMyPackageを変更した場合の動作確認をしたいという状況でした。

npm linkでローカルのnpmパッケージを参照させる

npm linkの仕様は下記公式に載っています。

docs.npmjs.com

以下の手順でコマンドを叩くとやりたいことが実現できました。

  • ローカルのnpmパッケージのルートパスでnpm linkを実行する。
  • パッケージを参照しているプロジェクトのpackage.jsonの存在するパスでnpm link {パッケージ名}を実行する。

ローカルの参照が不要になった場合

参照側のプロジェクトでnpm installし直すことで、publishされたパッケージを参照するよう戻せます。

無用な混乱を避ける為、動作確認を終えたら戻すように癖付けしておいた方が良いかもしません。