Overview › Module Dependencies & API Surface

Module Dependencies & API Surface

iOS-specific report.

Source: codebase scan · 2026-05-07

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)

Features layer (21 packages)

Internal tooling / sample (3 packages)

CocoaPods (Podfile)

PodSourceNotes
RZVinylCustom git fork (Raizlabs)Legacy networking + caching — candidate for retirement
RZTransitions 1.2.1CocoaPodsAnimations
SDWebImageCustom git forkImage loading
SwiftLintCocoaPodsCode quality
iOSSnapshotTestCase 6.2.0CocoaPods (test)UIKit snapshot testing
SnapshotTesting ~> 1.8.1CocoaPods (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