The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of JSBridge, reference master (cb5846), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 02:01:48 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/LinusU/JSBridge.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/LinusU/JSBridge
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at cb5846a Merge pull request #8 from LinusU/lu-fix
Cloned https://github.com/LinusU/JSBridge.git
Revision (git rev-parse @):
cb5846a525a31c79f7040fd9df024438883d8924
SUCCESS checkout https://github.com/LinusU/JSBridge.git at master
Fetching https://github.com/mxcl/PromiseKit
[1/17137] Fetching promisekit
Fetched https://github.com/mxcl/PromiseKit from cache (1.88s)
Computing version for https://github.com/mxcl/PromiseKit
Computed https://github.com/mxcl/PromiseKit at 6.16.0 (0.58s)
Creating working copy for https://github.com/mxcl/PromiseKit
Working copy of https://github.com/mxcl/PromiseKit resolved at 6.16.0
========================================
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",
  "dependencies": [
    {
      "identity": "jsbridge",
      "name": "JSBridge",
      "url": "https://github.com/LinusU/JSBridge.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/JSBridge",
      "dependencies": [
        {
          "identity": "promisekit",
          "name": "PromiseKit",
          "url": "https://github.com/mxcl/PromiseKit",
          "version": "6.22.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PromiseKit",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/LinusU/JSBridge.git
[1/252] Fetching jsbridge
Fetched https://github.com/LinusU/JSBridge.git from cache (0.76s)
Fetching https://github.com/mxcl/PromiseKit from cache
Fetched https://github.com/mxcl/PromiseKit from cache (0.61s)
Computing version for https://github.com/mxcl/PromiseKit
Computed https://github.com/mxcl/PromiseKit at 6.22.1 (0.03s)
Creating working copy for https://github.com/LinusU/JSBridge.git
Working copy of https://github.com/LinusU/JSBridge.git resolved at master (cb5846a)
Creating working copy for https://github.com/mxcl/PromiseKit
Working copy of https://github.com/mxcl/PromiseKit resolved at 6.22.1
warning: '.resolve-product-dependencies': dependency 'jsbridge' is not used by any target
Found 1 product dependencies
  - PromiseKit
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/LinusU/JSBridge.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/18] Compiling PromiseKit firstly.swift
[5/19] Compiling PromiseKit race.swift
[6/19] Compiling PromiseKit hang.swift
[7/19] Compiling PromiseKit after.swift
[8/19] Compiling PromiseKit LogEvent.swift
[9/19] Compiling PromiseKit Promise.swift
[10/19] Emitting module PromiseKit
[11/19] Compiling PromiseKit Box.swift
[12/19] Compiling PromiseKit Catchable.swift
[13/19] Compiling PromiseKit Resolver.swift
[14/19] Compiling PromiseKit Thenable.swift
[15/19] Compiling PromiseKit Configuration.swift
[16/19] Compiling PromiseKit CustomStringConvertible.swift
[17/19] Compiling PromiseKit Error.swift
[18/19] Compiling PromiseKit Guarantee.swift
[19/19] Compiling PromiseKit when.swift
[20/22] Compiling JSBridge JSBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:45:24: warning: call to main actor-isolated initializer 'init(libraryCode:customOrigin:incognito:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 43 |
 44 |     public init(libraryCode: String, customOrigin: URL? = nil, headless: Bool = true, incognito: Bool = false) {
 45 |         self.context = Context(libraryCode: libraryCode, customOrigin: customOrigin, incognito: incognito)
    |                        `- warning: call to main actor-isolated initializer 'init(libraryCode:customOrigin:incognito:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 46 |         self.headless = headless
 47 |         self.webView = headless ? nil : self.context.webView
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:154:5: note: calls to initializer 'init(libraryCode:customOrigin:incognito:)' from outside of its actor context are implicitly asynchronous
152 |     internal let webView: WKWebView
153 |
154 |     init(libraryCode: String, customOrigin: URL?, incognito: Bool) {
    |     `- note: calls to initializer 'init(libraryCode:customOrigin:incognito:)' from outside of its actor context are implicitly asynchronous
155 |         webView = WKWebView.init(frame: .zero, configuration: buildWebViewConfig(libraryCode: libraryCode, incognito: incognito))
156 |
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:72:21: warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 70 |     internal func call(function: String, withStringifiedArgs args: String) -> Promise<Void> {
 71 |         return firstly {
 72 |             context.rawCall(function: function, args: args)
    |                     `- warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 73 |         }.then { _ in
 74 |             Promise.value(()) as Promise<Void>
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:222:19: note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
220 |     }
221 |
222 |     internal func rawCall(function: String, args: String) -> Promise<String> {
    |                   `- note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
223 |         return Promise<String> { seal in
224 |             let id = self.nextIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:80:21: warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 78 |     internal func call<Result: Decodable>(function: String, withStringifiedArgs args: String) -> Promise<Result> {
 79 |         return firstly {
 80 |             context.rawCall(function: function, args: args)
    |                     `- warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 81 |         }.map { stringified in
 82 |             try self.decode(stringified)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:222:19: note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
220 |     }
221 |
222 |     internal func rawCall(function: String, args: String) -> Promise<String> {
    |                   `- note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
223 |         return Promise<String> { seal in
224 |             let id = self.nextIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:159:22: warning: call to main actor-isolated instance method 'register(namespace:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
156 |     }
157 |
158 |     private func rawRegister(namespace: String) {
    |                  `- note: add '@MainActor' to make instance method 'rawRegister(namespace:)' part of global actor 'MainActor'
159 |         self.context.register(namespace: namespace)
    |                      `- warning: call to main actor-isolated instance method 'register(namespace:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
160 |     }
161 |
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:234:19: note: calls to instance method 'register(namespace:)' from outside of its actor context are implicitly asynchronous
232 |     }
233 |
234 |     internal func register(namespace: String) {
    |                   `- note: calls to instance method 'register(namespace:)' from outside of its actor context are implicitly asynchronous
235 |         self.evaluateJavaScript("window.\(namespace) = {}")
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:163:22: warning: call to main actor-isolated instance method 'register(functionNamed:_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
160 |     }
161 |
162 |     private func rawRegister(functionNamed name: String, _ fn: @escaping ([String]) throws -> Promise<String>) {
    |                  `- note: add '@MainActor' to make instance method 'rawRegister(functionNamed:_:)' part of global actor 'MainActor'
163 |         self.context.register(functionNamed: name, fn)
    |                      `- warning: call to main actor-isolated instance method 'register(functionNamed:_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:238:19: note: calls to instance method 'register(functionNamed:_:)' from outside of its actor context are implicitly asynchronous
236 |     }
237 |
238 |     internal func register(functionNamed name: String, _ fn: @escaping ([String]) throws -> Promise<String>) {
    |                   `- note: calls to instance method 'register(functionNamed:_:)' from outside of its actor context are implicitly asynchronous
239 |         self.functions[name] = fn
240 |         self.evaluateJavaScript("window.\(name) = (...args) => __JSBridge__send__('\(name)', ...args)")
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:163:22: warning: sending 'fn' risks causing data races; this is an error in the Swift 6 language mode
161 |
162 |     private func rawRegister(functionNamed name: String, _ fn: @escaping ([String]) throws -> Promise<String>) {
163 |         self.context.register(functionNamed: name, fn)
    |                      |- warning: sending 'fn' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: sending task-isolated 'fn' to main actor-isolated instance method 'register(functionNamed:_:)' risks causing data races between main actor-isolated and task-isolated uses
164 |     }
165 |
[21/22] Compiling JSBridge Context.swift
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:125:18: warning: call to main actor-isolated initializer 'init(source:injectionTime:forMainFrameOnly:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
    |                  `- warning: call to main actor-isolated initializer 'init(source:injectionTime:forMainFrameOnly:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
126 |     let controller = WKUserContentController()
127 |     let configuration = WKWebViewConfiguration()
WebKit.WKUserScript:8:23: note: calls to initializer 'init(source:injectionTime:forMainFrameOnly:)' from outside of its actor context are implicitly asynchronous
 6 |     @available(swift, obsoleted: 3, renamed: "isForMainFrameOnly")
 7 |     open var forMainFrameOnly: Bool { get }
 8 |     @MainActor public init(source: String, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: Bool)
   |                       `- note: calls to initializer 'init(source:injectionTime:forMainFrameOnly:)' from outside of its actor context are implicitly asynchronous
 9 |     @available(macOS 11.0, *)
10 |     public init(source: String, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: Bool, in contentWorld: WKContentWorld)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:126:22: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
126 |     let controller = WKUserContentController()
    |                      `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 |     let configuration = WKWebViewConfiguration()
128 |
WebKit.WKUserContentController:46:23: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
44 |     @available(macOS 10.13, *)
45 |     open func removeAllContentRuleLists()
46 |     @MainActor public init()
   |                       `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
47 |     @available(macOS 10.10, *)
48 |     open class var supportsSecureCoding: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:127:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
126 |     let controller = WKUserContentController()
127 |     let configuration = WKWebViewConfiguration()
    |                         `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
128 |
129 |     controller.addUserScript(script)
WebKit.WKWebViewConfiguration:34:23: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
32 |     @available(macOS 15.0, *)
33 |     open var supportsAdaptiveImageGlyph: Bool { get set }
34 |     @MainActor public init()
   |                       `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
35 |     @available(macOS 10.10, *)
36 |     open class var supportsSecureCoding: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:129:16: warning: call to main actor-isolated instance method 'addUserScript' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
    :
127 |     let configuration = WKWebViewConfiguration()
128 |
129 |     controller.addUserScript(script)
    |                `- warning: call to main actor-isolated instance method 'addUserScript' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
130 |     configuration.userContentController = controller
131 |
WebKit.WKUserContentController:4:26: note: calls to instance method 'addUserScript' from outside of its actor context are implicitly asynchronous
 2 | @MainActor open class WKUserContentController : NSObject, NSSecureCoding {
 3 |     open var userScripts: [WKUserScript] { get }
 4 |     @MainActor open func addUserScript(_ userScript: WKUserScript)
   |                          `- note: calls to instance method 'addUserScript' from outside of its actor context are implicitly asynchronous
 5 |     open func removeAllUserScripts()
 6 |     @available(macOS 11.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:130:19: warning: main actor-isolated property 'userContentController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
    :
128 |
129 |     controller.addUserScript(script)
130 |     configuration.userContentController = controller
    |                   `- warning: main actor-isolated property 'userContentController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
131 |
132 |     configuration.setURLSchemeHandler(BridgeSchemeHandler(), forURLScheme: "bridge")
WebKit.WKWebViewConfiguration:5:14: note: mutation of this property is only permitted within the actor
 3 |     open var processPool: WKProcessPool { get set }
 4 |     open var preferences: WKPreferences { get set }
 5 |     open var userContentController: WKUserContentController { get set }
   |              `- note: mutation of this property is only permitted within the actor
 6 |     @available(macOS 10.11, *)
 7 |     open var websiteDataStore: WKWebsiteDataStore { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:132:19: warning: call to main actor-isolated instance method 'setURLSchemeHandler(_:forURLScheme:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
    :
130 |     configuration.userContentController = controller
131 |
132 |     configuration.setURLSchemeHandler(BridgeSchemeHandler(), forURLScheme: "bridge")
    |                   `- warning: call to main actor-isolated instance method 'setURLSchemeHandler(_:forURLScheme:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |
134 |     if incognito {
WebKit.WKWebViewConfiguration:26:26: note: calls to instance method 'setURLSchemeHandler(_:forURLScheme:)' from outside of its actor context are implicitly asynchronous
24 |     open var userInterfaceDirectionPolicy: WKUserInterfaceDirectionPolicy { get set }
25 |     @available(macOS 10.13, *)
26 |     @MainActor open func setURLSchemeHandler(_ urlSchemeHandler: (any WKURLSchemeHandler)?, forURLScheme urlScheme: String)
   |                          `- note: calls to instance method 'setURLSchemeHandler(_:forURLScheme:)' from outside of its actor context are implicitly asynchronous
27 |     @available(macOS 10.13, *)
28 |     open func urlSchemeHandler(forURLScheme urlScheme: String) -> (any WKURLSchemeHandler)?
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:132:39: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 96 |
 97 | @available(iOS 11.0, macOS 10.13, *)
 98 | fileprivate class BridgeSchemeHandler: NSObject, WKURLSchemeHandler {
    |                                                                     `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
 99 |     func webView(_ webView: WKWebView, start urlSchemeTask: WKURLSchemeTask) {
100 |         let url = urlSchemeTask.request.url!
    :
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
    :
130 |     configuration.userContentController = controller
131 |
132 |     configuration.setURLSchemeHandler(BridgeSchemeHandler(), forURLScheme: "bridge")
    |                                       `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |
134 |     if incognito {
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:135:23: warning: main actor-isolated property 'websiteDataStore' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
    :
133 |
134 |     if incognito {
135 |         configuration.websiteDataStore = .nonPersistent()
    |                       `- warning: main actor-isolated property 'websiteDataStore' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
136 |     }
137 |
WebKit.WKWebViewConfiguration:7:14: note: mutation of this property is only permitted within the actor
 5 |     open var userContentController: WKUserContentController { get set }
 6 |     @available(macOS 10.11, *)
 7 |     open var websiteDataStore: WKWebsiteDataStore { get set }
   |              `- note: mutation of this property is only permitted within the actor
 8 |     open var suppressesIncrementalRendering: Bool { get set }
 9 |     @available(macOS 10.11, *)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:135:43: warning: call to main actor-isolated class method 'nonPersistent()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
    |                  `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 |     let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 |     let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
    :
133 |
134 |     if incognito {
135 |         configuration.websiteDataStore = .nonPersistent()
    |                                           `- warning: call to main actor-isolated class method 'nonPersistent()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
136 |     }
137 |
WebKit.WKWebsiteDataStore:6:32: note: calls to class method 'nonPersistent()' from outside of its actor context are implicitly asynchronous
 4 |     @available(swift, obsoleted: 3, renamed: "default()")
 5 |     open class func defaultDataStore() -> WKWebsiteDataStore
 6 |     @MainActor open class func nonPersistent() -> WKWebsiteDataStore
   |                                `- note: calls to class method 'nonPersistent()' from outside of its actor context are implicitly asynchronous
 7 |     @available(swift, obsoleted: 3, renamed: "nonPersistent()")
 8 |     open class func nonPersistentDataStore() -> WKWebsiteDataStore
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:216:82: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
210 |     }
211 |
212 |     private func evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, Error?) -> Void)? = nil) {
    |                                                                 `- note: parameter 'completionHandler' is implicitly non-sendable
213 |         firstly {
214 |             self.ready
215 |         }.done {
216 |             self.webView.evaluateJavaScript(javaScriptString, completionHandler: completionHandler)
    |                                                                                  `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
217 |         }.catch {
218 |             completionHandler?(nil, $0)
[22/22] Emitting module JSBridge
Build complete! (15.08s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "promisekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.0",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mxcl/PromiseKit"
    }
  ],
  "manifest_display_name" : "JSBridge",
  "name" : "JSBridge",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "JSBridge",
      "targets" : [
        "JSBridge"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "JSBridgeTests",
      "module_type" : "SwiftTarget",
      "name" : "JSBridgeTests",
      "path" : "Tests",
      "sources" : [
        "JSBridgeTests.swift"
      ],
      "target_dependencies" : [
        "JSBridge"
      ],
      "type" : "test"
    },
    {
      "c99name" : "JSBridge",
      "module_type" : "SwiftTarget",
      "name" : "JSBridge",
      "path" : "Sources",
      "product_dependencies" : [
        "PromiseKit"
      ],
      "product_memberships" : [
        "JSBridge"
      ],
      "sources" : [
        "Context.swift",
        "JSBridge.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.