「4Dバージョンに追随する」のルールの導入に続き、4D 20 R10 では、新たなレベルの自動化と信頼性を実現する機能を発表いたします: 完全な再帰的依存関係の解決です。
コンポーネントの追加・更新・削除のいずれにおいても、依存関係マネージャーが再帰的に動作するようになり、依存関係ツリー全体を通して、すべてのアクションが正確に反映されるようになりました。
1つのアクションですべての依存関係を解決
GitHub やローカルフォルダーから、プライマリ依存関係を追加すると、4Dは:
- 必要なすべての依存関係を再帰的に読み込みます。
- dependencies.json で定義されたバージョン制約を適用します。
欠落したパーツや、バージョンの競合を心配する必要はありません。依存関係ツリー全体が自動的に解決され、読み込まれます。
再帰的なバージョン管理
複数のコンポーネントが同じ依存関係の異なるバージョンを必要とする場合:
- 依存関係マネージャーは、必要な範囲をチェックし、可能な場合はすべての制約を満たすバージョンを選択します。
- あるバージョンが直接プライマリ依存関係として宣言されている場合、そのバージョンは間接的に要求されるバージョンよりも優先されます。
このアプローチにより、プロジェクトが大きくなっても、環境の安定性と一貫性が保たれます。
完全な構造を反映した UI
プロジェクトの依存関係の再帰的な性質を表示するために、プロジェクト依存関係のインターフェースが更新されました:
- 「全て」タブ: プロジェクトで使用されているすべての依存関係 (プライマリとセカンダリの両方) のフラットリストを表示します。
- 「宣言済み」タブ: 「全て」と「アクティブ」の間にある新しいセクションで、dependencies.json で明示的に宣言されている依存関係だけをリストアップします。
- セカンダリ依存関係は明確にマークされ、その上にカーソルを置くと、どのコンポーネントがその依存関係を必要としているかがツールチップで表示されます。すべてが透明です。
1つのアクションで、あとは 4D が処理
コンポーネントの追加・削除・更新など、すべての変更は、依存関係全体に再帰的に伝搬されます。
これにより、次のような利点があります:
- 必要なサブ依存関係の自動読み込み
- 明確な優先順位ルールによるスマートなバージョン解決
- 影響を考慮した安全な削除
- プロジェクトの実際の構造を反映した UI
コンポーネントデベロッパー向け
独自のコンポーネントを開発している場合、「依存関係をどのように宣言すればいいのか」と疑問に思うかもしれません。各コンポーネントには、独自の dependencies.json ファイルを含める必要があります。このファイルは、コンポーネントが正しく機能するために必要な依存関係を、バージョンの制約とともに指定します。
この仕組みは、ローカルの依存関係でも GitHub でホストされている依存関係でも機能します。しかし、より良い移植性と共有のためには、GitHub を使うのがベストプラクティスと考えられています。コンポーネントをビルドする際には、dependencies.json ファイルが最終パッケージに含まれていることを確認してください。この機能の完全なサポートは、4D 20 R10 から利用可能です。古いコンポーネントを使用している場合は、自動再帰的解決を利用するためにビルドしなおす必要があります。
今すぐお試しいただき、よりスマートで時間を節約できる依存関係の管理方法を体験し、トラブルシューティングに費やす時間を減らしてください。

