まえがき 案件でサーバーとクライアントがJavaScript/TypeScriptで作られてる場合、サーバーとクライアントでAPIの型定義やバリデーションのユーティリティーなどを共通化したくなります。 共通化する部分だけを別リポジトリに切り出すと、開発中公開しないと使えないので面倒です。今回はサーバー側にYarn Workspaces モノリポ(モノリシックリポジトリ)の共通化部分をNPMで公開します。 また案件で使うときは共通化はしたいけど、パブリックに公開したくはないっという矛盾があります。プライベートNPMとして公開できるにようにします。 要件まとめ サーバーもクライアントもプライベートリポジトリで管理されている サーバー側が共通化ソースを含むモノリポ構成になっている クライアント側はNPMパッケージとして読み込む 非公開のNPMパッケージとして公開したい 今回はGitHub Pac