地味に作業が多いのでyarnpkgを開発環境・CI環境で使うときに必要な手順を書いておきます
開発環境
開発環境にyarnをinstallする
Installationを参考に行う
.gitattributes
でバイナリとして指定する
これが嬉しいかはチームによるかも?
yarn.lock binary
チームメンバーに周知
なにげに一番重要
CI環境
(以下、CircleCIベースで書きます)
参考URL:https://circleci.com/docs/yarn/
パッケージのインストール及びテストのコマンドをyarnに差し替え
yarn install
時に--pure-lockfile
を指定してlockファイル生成時のバージョンのパッケージを取得させます
circle.yml
dependencies:
override:
- yarn install --pure-lockfile
test:
override:
- yarn test
node_modules/.bin
へパスを明示的に通す
(CircleCIの都合なので他のCIサービスでは事情が異なりそう
circle.yml
machine:
environment:
PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"
キャッシュ使う
便利
circle.yml
dependencies:
cache_directories:
- ~/.cache/yarn
おわりに
yarn便利!
ちなみにこの記事書いたのは、CIでyarn install
したらTypeScript2.2が入ってきてlockファイルが更新されてしまい、Scalariform
使ったチェックが落ちたのがきっかけ。
というわけでCIで使うときやリリースビルド作るときはちゃんとyarn install --pure-lockfile
使いましょう、という話でした。