npmパッケージはnpmに公開しなくても、npm pack
すればパッケージ(tgz)を生成してくれる。
そしてできたtgzのパスをyarn add
の引数に指定すれば、ふだんライブラリをインストールするような形で追加されてくれる。(たぶんnpm install
でも同じなはず)
$ cd [developing-peoject-root]
$ npm run build
$ npm pack # プロジェクトルートに[package-name]-[version].tgzが生成される
$ cd [test-project-root]
$ yarn add [your-tgz-path]
何か修正して再度npm pack
した際は、yarn add
する前にyarn cache clean
する必要がある。
(ちなみに変更がtgzに反映されているかどうかはtgzを解凍すればわかる)
$ cd [developing-peoject-root]
$ npm run build
$ npm pack # 変更を加えたtgzが生成される
$ cd [test-project-root]
$ yarn cache clean # これをしないと、yarnがキャッシュしたバージョンを再度インストールするので変更が反映されない
$ # ちなみに一度yarn removeする必要はなさそう
$ yarn add [your-tgz-path]
余談だが、yarnのドキュメントにはyarn cache clean [<module_name...>]
で指定したパッケージだけのcleanができるように書いてあるが、何か間違っているのか、これでは次のyarn add
で前のバージョンがインストールされてしまった。
何か凡ミスをしてる気もするが、いまのところとりあえずyarn cache clean
を使っている。