TypeScriptのProject Referencesを使ってソースコードを分割し、レイヤー間の依存関係を強制する
BRANK

サマリProject Referencesを使うと、1つの巨大なtypescriptプロジェクトを、複数のプロジェクトに分割し、プロジェクト間の依存関係を整理することができる。これにより、例えば以下のようなことができるtest/ ディレクトリで export しているテスト用の関数を、 src/ ディレクトリの本番用コードでは参照できなくするレイヤードアーキテクチャで設計しているとき、プレゼンテーション層で定義している関数を ドメイン層から参照できなくし、レイヤー間の依存関係を強制するまた、プロジェクトの分割によりビルド時のパフォーマンスが大幅に改善する。…と公式で書いているが、ビルド時の挙動を正確に把握しないとむしろ悪化するので、注意が必要適切なプロジェクト分割を行う必要があること、eslintが遅くなること、 ts-node や ts-jest がデフォルトで動かなくなることなど、運用するのはやや大変で、コストがメリットに見合うかはやや微妙(個人の感想)サンプルこの記事では以下のサンプルを使って説明します。詳細はレポジトリのコードを参考にしてください。 ReferencesとはTypeScript 3.0から導入された機能です。 a/ b/ c/ のディレクトリの *.ts ファイルをビルド…

zenn.dev
Related Topics: TypeScript
2 comments