The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build SwiftlyImageLoader, reference main (b5609b), with Swift 6.1 for Wasm on 31 May 2025 01:51:20 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/mohsinbmwm3/SwiftlyImageLoader
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at b5609bb Updated ImageTransforms to Apply custom resizing, cropping, grayscale, or circular masks before caching or display — with per-request flexibility.
Cloned https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Revision (git rev-parse @):
b5609bb888c7a4410abac6891b8874ae073be740
SUCCESS checkout https://github.com/mohsinbmwm3/SwiftlyImageLoader.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftlyImageLoader",
  "name" : "SwiftlyImageLoader",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftlyImageLoader",
      "targets" : [
        "SwiftlyImageLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderUIKit",
      "targets" : [
        "SwiftlyImageLoaderUIKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderAppKit",
      "targets" : [
        "SwiftlyImageLoaderAppKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderSwiftUI",
      "targets" : [
        "SwiftlyImageLoaderSwiftUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftlyImageLoaderUIKit",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderUIKit",
      "path" : "Sources/SwiftlyImageLoaderUIKit",
      "product_memberships" : [
        "SwiftlyImageLoaderUIKit"
      ],
      "sources" : [
        "UIImageView+ImageLoader.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoaderSwiftUI",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderSwiftUI",
      "path" : "Sources/SwiftlyImageLoaderSwiftUI",
      "product_memberships" : [
        "SwiftlyImageLoaderSwiftUI"
      ],
      "sources" : [
        "SwiftlyAsyncImage.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoaderAppKit",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderAppKit",
      "path" : "Sources/SwiftlyImageLoaderAppKit",
      "product_memberships" : [
        "SwiftlyImageLoaderAppKit"
      ],
      "sources" : [
        "NSImageView+ImageLoader.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoader",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoader",
      "path" : "Sources/SwiftlyImageLoader",
      "product_memberships" : [
        "SwiftlyImageLoader",
        "SwiftlyImageLoaderUIKit",
        "SwiftlyImageLoaderAppKit",
        "SwiftlyImageLoaderSwiftUI"
      ],
      "sources" : [
        "DiskCache.swift",
        "ImageCache.swift",
        "ImageLoader.swift",
        "LogLevel.swift",
        "SwiftlyImageLoader.swift",
        "SwiftlyImageLoaderConfiguration.swift",
        "Utils/ImageResizer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/13] Emitting module SwiftlyImageLoader
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
[7/13] Compiling SwiftlyImageLoader ImageResizer.swift
[8/13] Compiling SwiftlyImageLoader LogLevel.swift
[9/13] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[10/13] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
[11/13] Compiling SwiftlyImageLoader ImageCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
[12/13] Compiling SwiftlyImageLoader ImageLoader.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:64:85: error: cannot find 'CrossPlatformImage' in scope
 62 |                 let key = url.absoluteString
 63 |
 64 |                 if let data = await ImageCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                     `- error: cannot find 'CrossPlatformImage' in scope
 65 |                     self.log("✅ Loaded from memory cache: \(url.absoluteString)", level: .basic)
 66 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:75:84: error: cannot find 'CrossPlatformImage' in scope
 73 |                 }
 74 |
 75 |                 if let data = await DiskCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                    `- error: cannot find 'CrossPlatformImage' in scope
 76 |                     self.log("✅ Loaded from disk cache: \(url.absoluteString)", level: .basic)
 77 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:92:36: error: cannot find 'CrossPlatformImage' in scope
 90 |                 do {
 91 |                     let (data, _) = try await self.session.data(from: url)
 92 |                     if let image = CrossPlatformImage(data: data) {
    |                                    `- error: cannot find 'CrossPlatformImage' in scope
 93 |                         self.log("✅ Downloaded from network: \(url.absoluteString)", level: .basic)
 94 |                         let finalImage = await MainActor.run {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:132:13: error: cannot find 'DispatchQueue' in scope
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
131 |             self.ongoingTasks[url] = nil
132 |             DispatchQueue.main.async {
    |             `- error: cannot find 'DispatchQueue' in scope
133 |                 completions.forEach { $0(image) }
134 |             }
[13/13] Compiling SwiftlyImageLoader DiskCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling SwiftlyImageLoader ImageResizer.swift
[3/9] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[4/9] Compiling SwiftlyImageLoader LogLevel.swift
[5/9] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/9] Emitting module SwiftlyImageLoader
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
[7/9] Compiling SwiftlyImageLoader ImageCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
[8/9] Compiling SwiftlyImageLoader DiskCache.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
[9/9] Compiling SwiftlyImageLoader ImageLoader.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:27:29: error: cannot find 'DispatchQueue' in scope
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
    |                             `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private init() {}
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:50: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                  `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:49:73: error: cannot find type 'CrossPlatformImage' in scope
 47 |
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
    |                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 51 |         taskQueue.async {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:50:60: error: cannot find type 'CrossPlatformImage' in scope
 48 |     public func loadImage(from url: URL,
 49 |                           transform: (@Sendable (CrossPlatformImage) -> CrossPlatformImage)?,
 50 |                           completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 51 |         taskQueue.async {
 52 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:128:60: error: cannot find type 'CrossPlatformImage' in scope
126 |     }
127 |
128 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
129 |         taskQueue.async {
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:64:85: error: cannot find 'CrossPlatformImage' in scope
 62 |                 let key = url.absoluteString
 63 |
 64 |                 if let data = await ImageCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                     `- error: cannot find 'CrossPlatformImage' in scope
 65 |                     self.log("✅ Loaded from memory cache: \(url.absoluteString)", level: .basic)
 66 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:75:84: error: cannot find 'CrossPlatformImage' in scope
 73 |                 }
 74 |
 75 |                 if let data = await DiskCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                    `- error: cannot find 'CrossPlatformImage' in scope
 76 |                     self.log("✅ Loaded from disk cache: \(url.absoluteString)", level: .basic)
 77 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:92:36: error: cannot find 'CrossPlatformImage' in scope
 90 |                 do {
 91 |                     let (data, _) = try await self.session.data(from: url)
 92 |                     if let image = CrossPlatformImage(data: data) {
    |                                    `- error: cannot find 'CrossPlatformImage' in scope
 93 |                         self.log("✅ Downloaded from network: \(url.absoluteString)", level: .basic)
 94 |                         let finalImage = await MainActor.run {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:132:13: error: cannot find 'DispatchQueue' in scope
130 |             let completions = self.ongoingTasks[url]?.completions ?? []
131 |             self.ongoingTasks[url] = nil
132 |             DispatchQueue.main.async {
    |             `- error: cannot find 'DispatchQueue' in scope
133 |                 completions.forEach { $0(image) }
134 |             }
BUILD FAILURE 6.1 wasm