The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftyAlert, reference v1.0.8 (593eac), with Swift 6.3 for macOS (SPM) on 15 Apr 2026 02:09:16 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/chocoford/SwiftyAlert.git
Reference: v1.0.8
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/chocoford/SwiftyAlert
 * tag               v1.0.8     -> FETCH_HEAD
HEAD is now at 593eac6 Create NotificationAlertAction.swift
Cloned https://github.com/chocoford/SwiftyAlert.git
Revision (git rev-parse @):
593eac6fe95b7765f012040c3d6685ca7c4176d8
SUCCESS checkout https://github.com/chocoford/SwiftyAlert.git at v1.0.8
Fetching https://github.com/elai950/AlertToast.git
[1/1566] Fetching alerttoast
Fetched https://github.com/elai950/AlertToast.git from cache (1.49s)
Creating working copy for https://github.com/elai950/AlertToast.git
Working copy of https://github.com/elai950/AlertToast.git resolved at master (76a1c17)
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "swiftyalert",
      "name": "SwiftyAlert",
      "url": "https://github.com/chocoford/SwiftyAlert.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftyAlert",
      "traits": [
        "default"
      ],
      "dependencies": [
        {
          "identity": "alerttoast",
          "name": "AlertToast",
          "url": "https://github.com/elai950/AlertToast.git",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/AlertToast",
          "traits": [
            "default"
          ],
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/chocoford/SwiftyAlert.git
[1/291] Fetching swiftyalert
Fetched https://github.com/chocoford/SwiftyAlert.git from cache (0.69s)
Fetching https://github.com/elai950/AlertToast.git from cache
Fetched https://github.com/elai950/AlertToast.git from cache (0.45s)
Creating working copy for https://github.com/elai950/AlertToast.git
Working copy of https://github.com/elai950/AlertToast.git resolved at master (76a1c17)
Creating working copy for https://github.com/chocoford/SwiftyAlert.git
Working copy of https://github.com/chocoford/SwiftyAlert.git resolved at v1.0.8 (593eac6)
warning: '.resolve-product-dependencies': dependency 'swiftyalert' is not used by any target
Found 1 product dependencies
  - AlertToast
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/chocoford/SwiftyAlert.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--6988338F2F200930.txt
[4/7] Compiling AlertToast AlertToast.swift
[5/7] Compiling AlertToast BlurView.swift
[6/7] Compiling AlertToast ActivityIndicator.swift
[7/7] Emitting module AlertToast
[8/15] Compiling SwiftyAlert NotificationAlertAction.swift
[9/15] Compiling SwiftyAlert SwiftyAlert.swift
[10/15] Compiling SwiftyAlert Refreshable+SwiftyAlert.swift
[11/15] Compiling SwiftyAlert Alert.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:13:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 11 | // 1. Create the key with a default value
 12 | private struct AlertActionKey: EnvironmentKey {
 13 |     static let defaultValue: AlertAction = .init(
    |                |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         title: .constant("Alert"),
 15 |         isPresented: .constant(false),
    :
 19 | }
 20 |
 21 | public struct AlertAction {
    |               `- note: consider making struct 'AlertAction' conform to the 'Sendable' protocol
 22 |     @Binding var title: LocalizedStringKey
 23 |     @Binding var isPresented: Bool
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:17: warning: capture of 'self' with non-Sendable type 'AlertAction' in a '@Sendable' closure [#SendableClosureCaptures]
 19 | }
 20 |
 21 | public struct AlertAction {
    |               `- note: consider making struct 'AlertAction' conform to the 'Sendable' protocol
 22 |     @Binding var title: LocalizedStringKey
 23 |     @Binding var isPresented: Bool
    :
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                 `- warning: capture of 'self' with non-Sendable type 'AlertAction' in a '@Sendable' closure [#SendableClosureCaptures]
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:41: warning: capture of 'title' with non-Sendable type 'LocalizedStringKey' in a '@Sendable' closure [#SendableClosureCaptures]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                                         `- warning: capture of 'title' with non-Sendable type 'LocalizedStringKey' in a '@Sendable' closure [#SendableClosureCaptures]
 36 |             }
 37 |         } else {
SwiftUI.LocalizedStringKey:2:23: note: struct 'LocalizedStringKey' does not conform to the 'Sendable' protocol
 1 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 2 | @frozen public struct LocalizedStringKey : Equatable, ExpressibleByStringInterpolation {
   |                       `- note: struct 'LocalizedStringKey' does not conform to the 'Sendable' protocol
 3 |     public init(_ value: String)
 4 |     public init(stringLiteral value: String)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:57: warning: capture of 'actions' with non-Sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                                                         |- warning: capture of 'actions' with non-Sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
    |                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:75: warning: capture of 'message' with non-Sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                                                                           |- warning: capture of 'message' with non-Sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
    |                                                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:22: warning: capture of non-Sendable type '(some View).Type' in an isolated closure [#SendableMetatypes]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                      `- warning: capture of non-Sendable type '(some View).Type' in an isolated closure [#SendableMetatypes]
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:22: warning: capture of non-Sendable type '(some View).Type' in an isolated closure [#SendableMetatypes]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                      `- warning: capture of non-Sendable type '(some View).Type' in an isolated closure [#SendableMetatypes]
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:22: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                      |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                      `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:22: warning: sending 'title' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                      |- warning: sending 'title' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                      `- note: task-isolated 'title' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:57: warning: sending 'actions' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                                                         |- warning: sending 'actions' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                                         `- note: task-isolated 'actions' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 36 |             }
 37 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:75: warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 33 |             self.isPresented.toggle()
 34 |             DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
 35 |                 self.toggleAlert(title: title, actions: actions, message: message)
    |                                                                           |- warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                                                           `- note: task-isolated 'message' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 36 |             }
 37 |         } else {
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[12/15] Compiling SwiftyAlert FakeAlertToast.swift
[13/15] Emitting module SwiftyAlert
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:19:16: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
 17 | // 1. Create the key with a default value
 18 | private struct AlertToastActionKey: EnvironmentKey {
 19 |     static let defaultValue: AlertToastAction = AlertToastAction(
    |                `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
 20 |         isPresented: .constant(false),
 21 |         alertToast: .constant(AlertToast(displayMode: .hud, type: .error(.red))),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:36:18: warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 34 |     @Binding var tapToDismiss: Bool
 35 |     @Binding var offsetY: CGFloat
 36 |     @Binding var onTap: (() -> Void)?
    |                  |- warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 37 |     @Binding var onCompletion: (() -> Void)?
 38 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:37:18: warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 35 |     @Binding var offsetY: CGFloat
 36 |     @Binding var onTap: (() -> Void)?
 37 |     @Binding var onCompletion: (() -> Void)?
    |                  |- warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 38 |
 39 |     @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 37 |     @Binding var onCompletion: (() -> Void)?
 38 |
 39 |     @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
    |                        |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 40 |
 41 |     public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 37 |     @Binding var onCompletion: (() -> Void)?
 38 |
 39 |     @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
    |                        |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 40 |
 41 |     public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:13:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 11 | // 1. Create the key with a default value
 12 | private struct AlertActionKey: EnvironmentKey {
 13 |     static let defaultValue: AlertAction = .init(
    |                |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         title: .constant("Alert"),
 15 |         isPresented: .constant(false),
    :
 19 | }
 20 |
 21 | public struct AlertAction {
    |               `- note: consider making struct 'AlertAction' conform to the 'Sendable' protocol
 22 |     @Binding var title: LocalizedStringKey
 23 |     @Binding var isPresented: Bool
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[14/15] Compiling SwiftyAlert AlertToast+Extension.swift
[15/15] Compiling SwiftyAlert AlertToastBus.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:19:16: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
 17 | // 1. Create the key with a default value
 18 | private struct AlertToastActionKey: EnvironmentKey {
 19 |     static let defaultValue: AlertToastAction = AlertToastAction(
    |                `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
 20 |         isPresented: .constant(false),
 21 |         alertToast: .constant(AlertToast(displayMode: .hud, type: .error(.red))),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:36:18: warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 34 |     @Binding var tapToDismiss: Bool
 35 |     @Binding var offsetY: CGFloat
 36 |     @Binding var onTap: (() -> Void)?
    |                  |- warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 37 |     @Binding var onCompletion: (() -> Void)?
 38 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:37:18: warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 35 |     @Binding var offsetY: CGFloat
 36 |     @Binding var onTap: (() -> Void)?
 37 |     @Binding var onCompletion: (() -> Void)?
    |                  |- warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 38 |
 39 |     @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 37 |     @Binding var onCompletion: (() -> Void)?
 38 |
 39 |     @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
    |                        |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 40 |
 41 |     public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
 37 |     @Binding var onCompletion: (() -> Void)?
 38 |
 39 |     @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
    |                        |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' contains non-Sendable type '() -> ()'; this is an error in the Swift 6 language mode
    |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 40 |
 41 |     public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:78:29: warning: call to main actor-isolated initializer 'init(error:displayMode:type:)' in a synchronous nonisolated context [#ActorIsolatedCall]
 75 |     }
 76 |
 77 |     public func callAsFunction(_ error: Error) {
    |                 `- note: add '@MainActor' to make instance method 'callAsFunction' part of global actor 'MainActor'
 78 |         self.callAsFunction(AlertToast(error: error))
    |                             `- warning: call to main actor-isolated initializer 'init(error:displayMode:type:)' in a synchronous nonisolated context [#ActorIsolatedCall]
 79 |     }
 80 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToast+Extension.swift:15:12: note: calls to initializer 'init(error:displayMode:type:)' from outside of its actor context are implicitly asynchronous
13 |
14 | extension AlertToast {
15 |     public init(
   |            `- note: calls to initializer 'init(error:displayMode:type:)' from outside of its actor context are implicitly asynchronous
16 |         error: Error,
17 |         displayMode: DisplayMode = DisplayMode.hud,
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
Build complete! (13.27s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "alerttoast",
      "requirement" : {
        "branch" : [
          "master"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elai950/AlertToast.git"
    }
  ],
  "manifest_display_name" : "SwiftyAlert",
  "name" : "SwiftyAlert",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftyAlert",
      "targets" : [
        "SwiftyAlert"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftyAlertTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftyAlertTests",
      "path" : "Tests/SwiftyAlertTests",
      "sources" : [
        "SwiftyAlertTests.swift"
      ],
      "target_dependencies" : [
        "SwiftyAlert"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftyAlert",
      "module_type" : "SwiftTarget",
      "name" : "SwiftyAlert",
      "path" : "Sources/SwiftyAlert",
      "product_dependencies" : [
        "AlertToast"
      ],
      "product_memberships" : [
        "SwiftyAlert"
      ],
      "sources" : [
        "AlertToast+/AlertToast+Extension.swift",
        "AlertToast+/AlertToastBus.swift",
        "AlertToast+/FakeAlertToast.swift",
        "Environments/Alert.swift",
        "Extensions/Refreshable+SwiftyAlert.swift",
        "NotificationAlert/NotificationAlertAction.swift",
        "SwiftyAlert.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.