アーキテクチャの概要
WordPress Playground は、次の高レベル コンポーネントで構成されています。
- WordPress
- WebAssembly PHP
- Browser bindings
- @php-wasm/node 経由の Node.js バインディング
- Public API
アーキテクチャの特定の部分について詳しく知るには、各セクションにアクセスしてください。
ツーリング
NX: パッケージとプロジェクトの構築
WordPress Playground は、モノレポ用に設計されたビルド システムである NX を使用します。
Playground パッケージとプロジェクト間の依存関係は、Webpack のようなバンドラーにとっては 複雑すぎる ですが、NX はこの複雑さをはるかに適切に処理します。

詳細については、NX 開発者ドキュメントをご覧ください。
Lerna: パッケージとプロジェクトの公開
WordPress Playground には、いくつかの NPM パッケージ、VS Code 拡張機能、WordPress プラグイン、Web アプリ、その他の GitHub リリースが含まれており、すべてメインの wordpress-playground と Playground Tools の 2 つのモノレポで管理されています。
すべての JavaScript/TypeScript パッケージのビルド、管理、公開にはLernaを使用しています。Lerna はすべての処理を同時に行います。バージョン番号のインクリメント、新しいタグの設定、そして変更されたパッケージのnpmへの公開まで行います。
公開されたパッケージは同じバージョン番号を共有するため、1 つのパッケージを更新すると、Lerna は依存するすべてのパッケージのバージョン番号を上げます。