メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.wyrly.dev/llms.txt

Use this file to discover all available pages before exploring further.

Wyrly DI は、依存関係を明示的に管理し、依存グラフを解析・検証できる、型安全な DI ツールキットです。 レガシーな decorator metadata や実行時の型推測、フレームワーク密結合なしで、モダンな TypeScript アプリに DI を導入したいときに使います。

はじめる

Deno、Node.js、Bun 向けに @wyrly/core をインストールし、最初の container を作ります。

なぜ Wyrly?

Wyrly が型付きトークン、明示的な依存定義、標準デコレーターを使う理由を学びます。

Framework adapters

Next.js、Express、Hono、Fresh、GraphQL に request-scoped DI を追加します。

API reference

Wyrly DI v2.0 の安定した public exports を確認します。

Wyrly が向いている用途

Wyrly は、明確な composition root、明示的な依存関係、framework に依存しない domain code を重視する TypeScript アプリケーション向けに設計されています。 特に DDD やクリーンアーキテクチャでは、use case が port(抽象)に依存し、composition root など外側の層で型付きトークンを使って具体的な実装を組み立てる構成と相性がよいです。

中核となる考え方

  • reflect-metadata なし
  • emitDecoratorMetadata なし
  • parameter decorators なし
  • 型安全なトークン
  • 明示的な依存定義
  • singleton / scoped / transient ライフタイム
  • Web フレームワーク向けリクエストスコープ
  • 検査・検証できる依存グラフ

Packages

PackagePurpose
@wyrly/coreCore container、typed tokens、lifetimes、validation、graph inspection
@wyrly/nextNext.js App Router request-scoped DI
@wyrly/express1 request につき 1 DI scope を作る Express middleware
@wyrly/honoエッジ向けの DI スコープを作る Hono ミドルウェア
@wyrly/freshFresh 2.x ミドルウェアとルートヘルパー
@wyrly/graphqlGraphQL リクエストコンテキスト連携

まず example から始める

初めて Wyrly を使う場合は、core quickstart から始め、その後で runtime に合う adapter を選んでください。

Core quickstart

プロバイダーを登録し、スコープから use case を解決します。

Examples

DDD、プロバイダーパターン、グラフ検証、各 Web フレームワーク向けの実行可能なサンプルを確認します。