Overview › Module Dependencies & API Surface
Module Dependencies & API Surface
iOS-specific report.
Executive summary
iOS architecture is hybrid: CocoaPods workspace at Costco/Costco.xcworkspace + 29 SPM packages under Costco-Digital/. The Features cluster has 21 packages; Core layer has 8 packages. SPM dependency graph is clean — Features depend on Core abstractions, not CoreImplementation.
SPM packages — complete list
Core layer (8 packages)
Core— protocols, models, base utilities. Deps: swift-algorithms.CoreImplementation— concrete classes (CostcoNetworkClient, ServerTrustManager, Analytics). Depends on Core.Storage— persistence abstraction (Keychain, UserDefaults, CoreData).Translation— localization service.CostcoDesignSystem— Pallet tokens (UIKit + SwiftUI), shared components.CostcoHeader— header/navigation component.CostcoContentstack— Contentstack 1.5+ + Adobe Target/Optimize.ClientTool— internal tooling.
Features layer (21 packages)
Home,Shop,Cart,MyAccount,Inbox,Search,DMC,PDP,List,Saving,GRS,Warehouse,Geofence,AppTutorial,AppRating,Accounts,Authentication,OnBoarding,PasskeyManagerKit,ThreatMetrixKit,CostcoCommon
Internal tooling / sample (3 packages)
Mockey— internal mocking frameworkSampleCoreApp— development sample appSampleCostcoDesignSystem— design system playground
CocoaPods (Podfile)
| Pod | Source | Notes |
|---|---|---|
| RZVinyl | Custom git fork (Raizlabs) | Legacy networking + caching — candidate for retirement |
| RZTransitions 1.2.1 | CocoaPods | Animations |
| SDWebImage | Custom git fork | Image loading |
| SwiftLint | CocoaPods | Code quality |
| iOSSnapshotTestCase 6.2.0 | CocoaPods (test) | UIKit snapshot testing |
| SnapshotTesting ~> 1.8.1 | CocoaPods (test) | SwiftUI / general snapshot testing |
Findings
PASS
Clean Core / CoreImplementation split
Features depend on Core (protocols), not CoreImplementation. Tests can substitute fakes for the protocols.
MEDIUM
RZVinyl + custom forks
Three custom git forks (RZVinyl, RZTransitions, SDWebImage) — security patches require forking the upstream.
Recommendation: Audit each: replace with maintained alternative or upstream the patches.
MEDIUM
Sample apps in production tree
SampleCoreApp, SampleCostcoDesignSystem.Recommendation: Move to
tools/ directory or separate repo.Costco iOS · Code Review Report · Generated 2026-05-07 · 88 machine-curated findings