diff --git a/Package.swift b/Package.swift index 58915098..14b7c1c7 100644 --- a/Package.swift +++ b/Package.swift @@ -4,29 +4,6 @@ import Foundation import PackageDescription -var dependencies: [Package.Dependency] = [ - .package(url: "https://github.com/pointfreeco/swift-snapshot-testing", from: "1.8.1"), - .package(url: "https://github.com/pointfreeco/xctest-dynamic-overlay", from: "1.0.0"), - .package(url: "https://github.com/pointfreeco/swift-concurrency-extras", from: "1.0.0"), - .package(url: "https://github.com/apple/swift-crypto.git", "1.0.0" ..< "4.0.0"), - .package(url: "https://github.com/pointfreeco/swift-custom-dump", from: "1.0.0"), -] - -var goTrueDependencies: [Target.Dependency] = [ - "_Helpers", - .product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"), - .product(name: "Crypto", package: "swift-crypto"), -] - -#if !os(Windows) && !os(Linux) - dependencies += [ - .package(url: "https://github.com/kishikawakatsumi/KeychainAccess", from: "4.2.2"), - ] - goTrueDependencies += [ - .product(name: "KeychainAccess", package: "KeychainAccess"), - ] -#endif - let package = Package( name: "Supabase", platforms: [ @@ -37,17 +14,21 @@ let package = Package( .tvOS(.v13), ], products: [ - .library(name: "Functions", targets: ["Functions"]), .library(name: "Auth", targets: ["Auth"]), + .library(name: "Functions", targets: ["Functions"]), .library(name: "PostgREST", targets: ["PostgREST"]), .library(name: "Realtime", targets: ["Realtime"]), .library(name: "Storage", targets: ["Storage"]), - .library( - name: "Supabase", - targets: ["Supabase", "Functions", "PostgREST", "Auth", "Realtime", "Storage"] - ), + .library(name: "Supabase", targets: ["Supabase", "Functions", "PostgREST", "Auth", "Realtime", "Storage"]), + ], + dependencies: [ + .package(url: "https://github.com/apple/swift-crypto.git", "1.0.0" ..< "4.0.0"), + .package(url: "https://github.com/pointfreeco/swift-concurrency-extras", from: "1.0.0"), + .package(url: "https://github.com/pointfreeco/swift-custom-dump", from: "1.0.0"), + .package(url: "https://github.com/pointfreeco/swift-snapshot-testing", from: "1.8.1"), + .package(url: "https://github.com/pointfreeco/xctest-dynamic-overlay", from: "1.0.0"), + .package(url: "https://github.com/kishikawakatsumi/KeychainAccess", from: "4.2.2"), ], - dependencies: dependencies, targets: [ .target( name: "_Helpers", @@ -58,53 +39,66 @@ let package = Package( .testTarget( name: "_HelpersTests", dependencies: [ - "_Helpers", .product(name: "CustomDump", package: "swift-custom-dump"), + "_Helpers", ] ), - .target(name: "Functions", dependencies: ["_Helpers"]), - .testTarget( - name: "FunctionsTests", + .target( + name: "Auth", dependencies: [ - "Functions", - "TestHelpers", .product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"), - .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), - .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"), + .product(name: "Crypto", package: "swift-crypto"), + .product( + name: "KeychainAccess", + package: "KeychainAccess", + condition: .when( + platforms: [.macOS, .iOS, .macCatalyst, .visionOS, .tvOS, .watchOS] + ) + ), + "_Helpers", ] ), .testTarget( - name: "IntegrationTests", + name: "AuthTests", dependencies: [ .product(name: "CustomDump", package: "swift-custom-dump"), + .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"), - .product(name: "InlineSnapshotTesting", package: "swift-snapshot-testing"), "_Helpers", "Auth", "TestHelpers", - "PostgREST", - "Realtime", - "Storage", - ] + ], + exclude: [ + "__Snapshots__", + ], + resources: [.process("Resources")] ), - .target( - name: "Auth", - dependencies: goTrueDependencies + .target(name: "Functions", dependencies: ["_Helpers"]), + .testTarget( + name: "FunctionsTests", + dependencies: [ + .product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"), + .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), + .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"), + "Functions", + "TestHelpers", + ], + exclude: ["__Snapshots__"] ), .testTarget( - name: "AuthTests", + name: "IntegrationTests", dependencies: [ .product(name: "CustomDump", package: "swift-custom-dump"), - .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), + .product(name: "InlineSnapshotTesting", package: "swift-snapshot-testing"), .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"), "_Helpers", "Auth", + "PostgREST", + "Realtime", + "Storage", "TestHelpers", ], - exclude: [ - "__Snapshots__", - ], - resources: [.process("Resources")] + resources: [.process("Fixtures")] ), .target( name: "PostgREST", @@ -116,9 +110,9 @@ let package = Package( .testTarget( name: "PostgRESTTests", dependencies: [ - "PostgREST", - "_Helpers", .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), + "_Helpers", + "PostgREST", ], exclude: ["__Snapshots__"] ), @@ -132,19 +126,19 @@ let package = Package( .testTarget( name: "RealtimeTests", dependencies: [ - "Realtime", + .product(name: "CustomDump", package: "swift-custom-dump"), "PostgREST", + "Realtime", "TestHelpers", - .product(name: "CustomDump", package: "swift-custom-dump"), ] ), .target(name: "Storage", dependencies: ["_Helpers"]), .testTarget( name: "StorageTests", dependencies: [ - "Storage", - .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"), .product(name: "CustomDump", package: "swift-custom-dump"), + .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"), + "Storage", ] ), .target( @@ -152,17 +146,17 @@ let package = Package( dependencies: [ .product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"), "Auth", - "Storage", - "Realtime", - "PostgREST", "Functions", + "PostgREST", + "Realtime", + "Storage", ] ), .testTarget( name: "SupabaseTests", dependencies: [ - "Supabase", .product(name: "CustomDump", package: "swift-custom-dump"), + "Supabase", ] ), .target( diff --git a/Sources/Supabase/SupabaseClient.swift b/Sources/Supabase/SupabaseClient.swift index 5129c3a6..f06c8410 100644 --- a/Sources/Supabase/SupabaseClient.swift +++ b/Sources/Supabase/SupabaseClient.swift @@ -106,10 +106,8 @@ public final class SupabaseClient: Sendable { #if !os(Linux) /// Create a new client. /// - Parameters: - /// - supabaseURL: The unique Supabase URL which is supplied when you create a new project in - /// your project dashboard. - /// - supabaseKey: The unique Supabase Key which is supplied when you create a new project in - /// your project dashboard. + /// - supabaseURL: The unique Supabase URL which is supplied when you create a new project in your project dashboard. + /// - supabaseKey: The unique Supabase Key which is supplied when you create a new project in your project dashboard. public convenience init(supabaseURL: URL, supabaseKey: String) { self.init( supabaseURL: supabaseURL, @@ -293,8 +291,12 @@ public final class SupabaseClient: Sendable { } private func handleTokenChanged(event: AuthChangeEvent, session: Session?) async { - let supportedEvents: [AuthChangeEvent] = [.initialSession, .signedIn, .tokenRefreshed] - guard supportedEvents.contains(event) else { return } + guard [ + .initialSession, + .signedIn, + .tokenRefreshed, + .signedOut, + ].contains(event) else { return } realtime.setAuth(session?.accessToken) await realtimeV2.setAuth(session?.accessToken) diff --git a/supabase-swift.xcworkspace/xcshareddata/swiftpm/Package.resolved b/supabase-swift.xcworkspace/xcshareddata/swiftpm/Package.resolved index ca30a5a9..62754b64 100644 --- a/supabase-swift.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/supabase-swift.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -59,8 +59,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-case-paths", "state" : { - "revision" : "79623dbe2c7672f5e450d8325613d231454390b3", - "version" : "1.3.2" + "revision" : "8d712376c99fc0267aa0e41fea732babe365270a", + "version" : "1.3.3" } }, { @@ -86,8 +86,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-crypto.git", "state" : { - "revision" : "f0525da24dc3c6cbb2b6b338b65042bc91cbc4bb", - "version" : "3.3.0" + "revision" : "bc1c29221f6dfeb0ebbfbc98eb95cd3d4967868e", + "version" : "3.4.0" } }, { @@ -104,8 +104,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-identified-collections.git", "state" : { - "revision" : "d1e45f3e1eee2c9193f5369fa9d70a6ddad635e8", - "version" : "1.0.0" + "revision" : "2481e39ea43e14556ca9628259fa6b377427730c", + "version" : "1.0.1" } }, { @@ -122,8 +122,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-syntax", "state" : { - "revision" : "fa8f95c2d536d6620cc2f504ebe8a6167c9fc2dd", - "version" : "510.0.1" + "revision" : "303e5c5c36d6a558407d364878df131c3546fad8", + "version" : "510.0.2" } }, {