npm workspace でモノレポ環境を構築する

2022/06/12

npm

はじめに

モノレポ環境を構築するにあたり learnNxTurborepo などあるが npm7 から追加された npm workspace でモノレポ環境を作るのが、チームで開発するにあたり学習コスト少なく導入しやすいと思い今回 npm workspace にてモノレポ環境を構築する。

セットアップ

まずはじめに大本の package.json を生成します。

mkdir karaage-packages
cd karaage-packages
npm init

生成された package.jsonを以下のように編集します。

{
  "name": "karaage-packeages",
  "private": true,
  "version": "1.0.0",
  "description": ""
}

package 追加

先程作成した大本 Package に追加の package を登録します。

npm init -w packages/sushi.karaage.tokyo
npm install

今回は @karaage-packeages/〇〇としたいので packageName に @karaage-packeages/sushi.karaage.tokyo を指定します。
すべて完了すると node_module 内に作成した packege のシンボリックリンクが生成されてることが確認できるかと思います。
こちらの package に npm install する場合は以下のように引数をつけて実行すると特定 packege で使用する npm packege が作れます。

npm install 〇〇 -w packages/sushi.karaage.tokyo

型定義や componentSASS や sever 周りのコードを package に分けつつ一つのレポジトリにまとめられるので汎用性が高く良い