lerna使い方メモ
コマンド集
lerna add typescript
lerna addは依存を追加(この場合はfrontendをその他のパッケージのpackage.json)に追記する。 --scope backendと指定すればbackendのパッケージのみに追加される。lerna addで追加する場合はnpm scriptで呼び出したいものに関しては個別のパッケージのnode_modulesを参照するので個別のパッケージを指定してインストールする必要がある。
なお、lerna addでは一つのパッケージしか追加できない点に注意
lerna clean
全てのpackageのnode_modulesを削除する。現状、前述のlerna addで追加した依存を解消する方法が見当たっていない為、package.jsonのdependencyを編集した後、lerna cleanを行い、インストールを行う。
lerana bootstrap
lerna bootstrapを行った場合、
①全てのパッケージにおいてnpm installを個別に実行する
②パッケージ間のsymlinkを作成する
③npm run prepublishを実行
④npm run prepareを実行
通常の場合、npm ci (clean install)が実行される。
npm ciを実行すると常にpackage-lock.jsonを参照して依存とパッケージのインストールが行われる。通常のnpm installではpackage.jsonを参照し、矛盾があればpackage-lock.jsonを更新した上で両方参照してインストールが行われるが、npm ciでは整合性チェックと依存パッケージの更新を行うので早く処理が終了する。package.jsonを参照したい場合は、lerna bootstrap --no-ciを入力する
lerna ls -al
lernaによって管理されているパッケージの一覧を表示する。
lerna.jsonのpackagesに指定されているパッケージのpackage.jsonを取得しリストとして出力している。
lerna run
全てのパッケージごとにnpm scriptを実行する。例えばlerna run startを入力した場合、 npm scriptでstartが登録されているpackageでnpm startを実行する
Discussion