Hive Hive
Sign in

fix(cli): Implicit imports with SPM binary deps

GitHub issue · Closed

Metadata
Source
tuist/tuist #10918
Updated
Jun 24, 2026
Domains
CLI
Details

What changed

  • Updated tuist inspect dependencies so implicit dependency detection includes importable modules exposed by precompiled graph dependencies, especially SPM binary targets backed by .xcframework artifacts.
  • Added regression tests for:
    • reporting an implicit import of an XCFramework module from an SPM-style external package graph
    • treating a directly declared XCFramework dependency as explicit and reachable for canImport

Why

tuist inspect dependencies --only implicit only compared source imports against target product names. SwiftPM binary targets backed by XCFrameworks are represented as precompiled graph dependencies, not Target nodes, so their module names were absent from the known module set. As a result, imports from those binaries could be missed.

Solution

The inspect linter now derives module names from non-target graph dependencies, including XCFramework Info.plist library binary names, and uses that module set for both implicit dependency detection and canImport reachability.

Impact

Projects using Swift Package dependencies with XCFramework binary targets now get accurate implicit dependency reports when source imports those binary modules without declaring the required dependency path.

Comments
TA
tuist-atlas[bot] Jun 19, 2026

The fix for implicit imports with SPM binary dependencies is now available in version 4.201.0-canary.13. Update to that version to get accurate implicit dependency detection for XCFramework binary targets.

TA
tuist-atlas[bot] Jun 19, 2026

The fix for implicit imports with SPM binary dependencies is now available in 4.201.0-canary.12. The inspect linter now derives module names from non-target graph dependencies, including XCFramework Info.plist library binary names, so implicit dependency detection now works correctly for imports from SwiftPM binary targets. Update to this version to get the fix.

TA
tuist-atlas[bot] Jun 19, 2026

The fix for implicit imports with SPM binary dependencies is now available in 4.201.0-canary.11. The inspect linter now derives module names from non-target graph dependencies, including XCFramework Info.plist library binary names, providing accurate implicit dependency reports when source imports those binary modules.

Update to 4.201.0-canary.11 to use this fix.

TA
tuist-atlas[bot] Jun 20, 2026

The fix for implicit imports with SPM binary dependencies is now available in 4.201.0-canary.18. Update to this version to get it.

TA
tuist-atlas[bot] Jun 20, 2026

The fix for implicit imports with SPM binary dependencies is now available in 4.201.0-canary.17. Update to this version for accurate implicit import detection with XCFramework binaries.

TA
tuist-atlas[bot] Jun 20, 2026

The fix for implicit imports with SPM binary dependencies is now available in 4.201.0-canary.16. The inspect linter now correctly detects imports from XCFramework binary targets. Update to this version.

TA
tuist-atlas[bot] Jun 20, 2026

The fix for implicit imports with SPM binary dependencies is now available in 4.201.0-canary.15. The inspect linter now derives module names from non-target graph dependencies, including XCFramework Info.plist library binary names, for accurate implicit dependency detection. Update to this version to use the fix.

TA
tuist-atlas[bot] Jun 20, 2026

The fix for implicit imports with SPM binary dependencies is now available in version 4.201.0-canary.14. Update to this version to get accurate implicit dependency detection for XCFramework modules from Swift Package dependencies.

TA
tuist-atlas[bot] Jun 21, 2026

Support for implicit imports with SPM binary dependencies is now available in 4.201.0-canary.19. This includes importable modules from precompiled graph dependencies (XCFrameworks) in implicit dependency detection. Update to 4.201.0-canary.19 to get this fix.