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を実行する