<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Monorepo on たかおの解説</title><link>https://takao.blog/ja/tags/monorepo/</link><description>Recent content in Monorepo on たかおの解説</description><generator>Hugo -- gohugo.io</generator><language>ja</language><copyright>たかおの解説</copyright><lastBuildDate>Sat, 13 Jun 2026 23:11:50 +0900</lastBuildDate><atom:link href="https://takao.blog/ja/tags/monorepo/index.xml" rel="self" type="application/rss+xml"/><item><title>Turborepoによるモノレポ管理：開発のスケーリング</title><link>https://takao.blog/ja/web/monorepo-turborepo/</link><pubDate>Tue, 24 Sep 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/ja/web/monorepo-turborepo/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Turborepoによるモノレポ管理：開発のスケーリング" /&gt;&lt;h2 id="はじめに"&gt;はじめに
&lt;/h2&gt;&lt;p&gt;JavaScript/TypeScriptのモノレポが成長するにつれて、ビルド時間の増大、CIパイプラインの飽和、開発者生産性の低下が課題となります。Vercelが作成したTurborepoは、インテリジェントなキャッシングと並列タスク実行でこれらの課題に対処します。LernaやNxとは異なり、Turborepoはビルドツールではなくタスクランナーに特化し、実際のコンパイルはesbuild、webpack、tscに任せます。&lt;/p&gt;</description></item><item><title>TypeScript Project References：大規模コードベースの拡張</title><link>https://takao.blog/ja/web/typescript-project-references/</link><pubDate>Tue, 13 Aug 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/ja/web/typescript-project-references/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post TypeScript Project References：大規模コードベースの拡張" /&gt;&lt;h2 id="はじめに"&gt;はじめに
&lt;/h2&gt;&lt;p&gt;TypeScriptのコードベースが成長するにつれ、単一の&lt;code&gt;tsconfig.json&lt;/code&gt;による管理は限界を迎えます。&lt;code&gt;tsc&lt;/code&gt;を呼び出すたびにプロジェクト全体の型チェックと出力が実行され、大規模モノレポでは&lt;code&gt;--noEmit&lt;/code&gt;でも数分かかることがあります。さらに、モジュール境界がないため任意のファイルが他のファイルをインポートでき、複雑な依存グラフが生まれてリファクタリングが困難になります。&lt;strong&gt;TypeScript Project References&lt;/strong&gt;は、コードベースを独立したサブプロジェクトに分割し、それぞれに個別の&lt;code&gt;tsconfig.json&lt;/code&gt;を持たせることで、インクリメンタルビルド、強制されたAPI境界、劇的に高速な型チェックを実現します。&lt;/p&gt;</description></item></channel></rss>