Travis CI で npm package を自動リリースできるっぽいので、設定してみた。
そして、失敗したので deprecate した話。
参考ページ
npm Releasing
https://docs.travis-ci.com/user/deployment/npm
やったこと
clairvoyance の npm publish を自動化してみようと、上記のページを参考に設定してみた。
# .travis.yml deploy: provider: npm email: sinsoku.listy@gmail.com on: tags: true
npm の api token は npm login
を実行すると、 ~/.npmrc
に追記されるので、それを travis
コマンドで設定する。
$ travis encrypt YOUR_API_KEY --add deploy.api_key
あとは git tag
でタグを作成し、 git push origin v0.4.1
でプッシュすると自動的に publish された。
リリース失敗
新しいバージョンである v0.4.1 が自動的に publish されたが、パッケージが壊れていた。
原因は gulp build
した後のファイルがパッケージに含まれていないため。
修正&再リリース
このあたり を読むと、 .npmignore
がない場合、デフォルトでは .gitignore
を参照するっぽい。というわけで、 .npmignore
を用意した。
coverage/ maps/ node_modules/ src/ test/
そして、新たに v0.4.2
のタグを作ってプッシュしたところ、動くようになった。
npm-deprecate
公開してしまった v0.4.1
は deprecate
にしておいた。
$ npm deprecate clairvoyance@0.4.1 "v0.4.1 does not work, please upgrade to v0.4.2."
ちゃんとインストールするときに WARNING が出るようになってた。
$ npm i clairvoyance@0.4.1 npm WARN deprecated clairvoyance@0.4.1: v0.4.1 does not work, please upgrade to v0.4.2.