cloudflare/workers-sdk
6 articles
前提知識
- ›モノレポの基本的な概念を理解していること
- ›pnpm / npm workspaces の基礎知識があること
- ›Turborepo などのビルドオーケストレーターを触ったことがあること
Cloudflare Workers SDK を読み解く:アーキテクチャとコードベース全体像
workers-sdk モノレポの概要ガイド。pnpm と Turborepo によるパッケージ構成、Wrangler から Miniflare を経て workerd バイナリに至る依存グラフ、そしてランタイム依存を最小限に抑える独自のバンドル戦略を解説します。
Wranglerの起動を解剖する:コマンドシステムとCLIパーサー
バイナリのシェルスクリプトから、yargs上に構築された宣言的なコマンド登録システム、そしてすべてのコマンドに横断的な関心事を注入するハンドラーラッパーまで、Wranglerの起動シーケンスを徹底的に掘り下げます。
DevEnv コントローラーパターン:`wrangler dev` がローカル開発環境をどう制御するか
イベント駆動型のコントローラーオーケストレーション層が、設定ファイルの監視・esbuild によるバンドル・ローカル/リモートランタイム・HTTP プロキシを、型付きメッセージバスで統合的に調整する仕組みを解説します。
Miniflareの内部構造:プラグインアーキテクチャとworkerdの統合
Miniflareは28個の独立したプラグインモジュールで構成されるシステムを通じてworkerdの子プロセスを制御し、Cloudflare Workersランタイムをローカルでシミュレートします。各プラグインはZodによるバリデーションとworkerdサービス設定の生成を担当しています。
ソースからエッジへ:バンドルシステムとデプロイパイプライン
Wrangler のデプロイパスは、TypeScript Worker のソースを、Workers 固有のカスタム esbuild plugin・モジュール収集・FormData 構築、そしてルート公開と設定差分を処理する deploy 関数を通じて、マルチパートフォームアップロードへと変換します。
Vite プラグインと設定システム:2つのインターフェース、1つのランタイム
@cloudflare/vite-plugin は、wrangler dev と同じ Miniflare コアを使いながらも独立したプラグインパイプラインで動作する、本格的な Vite インテグレーションです。両ツールは @cloudflare/workers-utils を通じて統一された設定レイヤーを共有しています。