This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 SwiftScraper with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Nef10/SwiftScraper.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Nef10/SwiftScraper
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 502db4f 🔄 synced file(s) with Nef10/common-swift-package
Cloned https://github.com/Nef10/SwiftScraper.git
Revision (git rev-parse @):
502db4fdabe178d1791c13a76fd37957176d4922
SUCCESS checkout https://github.com/Nef10/SwiftScraper.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/Nef10/SwiftScraper.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[1/3] Copying SwiftScraper.js
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/21] Compiling SwiftScraper SwiftScraperError.swift
[5/22] Compiling SwiftScraper resource_bundle_accessor.swift
[6/22] Compiling SwiftScraper WaitForConditionStep.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitForConditionStep.swift:71:29: warning: capture of 'self' with non-sendable type 'WaitForConditionStep?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | /// Step that waits for condition to become true before proceeding,
12 | /// failing if the condition is still false when timeout occurs.
13 | public class WaitForConditionStep: Step {
   |              `- note: class 'WaitForConditionStep' does not conform to the 'Sendable' protocol
14 |
15 |     private enum Constants {
   :
69 |                     } else {
70 |                         DispatchQueue.main.asyncAfter(deadline: .now() + Constants.refreshInterval) { [weak self] in
71 |                             self?.handleTimer()
   |                             `- warning: capture of 'self' with non-sendable type 'WaitForConditionStep?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 |                         }
73 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:13: warning: capture of 'completion' with non-sendable type 'StepCompletionCallback' (aka '(StepCompletionResult) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |             |- warning: capture of 'completion' with non-sendable type 'StepCompletionCallback' (aka '(StepCompletionResult) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 |         }
27 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:33: warning: capture of 'model' with non-sendable type 'JSON' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |                                 `- warning: capture of 'model' with non-sendable type 'JSON' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 |         }
27 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitForConditionStep.swift:71:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
69 |                     } else {
70 |                         DispatchQueue.main.asyncAfter(deadline: .now() + Constants.refreshInterval) { [weak self] in
71 |                             self?.handleTimer()
   |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
   |                             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
72 |                         }
73 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |             |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |             `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
26 |         }
27 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:33: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |                                 |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
   |                                 `- note: task-isolated 'model' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
26 |         }
27 |     }
[7/22] Compiling SwiftScraper WaitStep.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitForConditionStep.swift:71:29: warning: capture of 'self' with non-sendable type 'WaitForConditionStep?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | /// Step that waits for condition to become true before proceeding,
12 | /// failing if the condition is still false when timeout occurs.
13 | public class WaitForConditionStep: Step {
   |              `- note: class 'WaitForConditionStep' does not conform to the 'Sendable' protocol
14 |
15 |     private enum Constants {
   :
69 |                     } else {
70 |                         DispatchQueue.main.asyncAfter(deadline: .now() + Constants.refreshInterval) { [weak self] in
71 |                             self?.handleTimer()
   |                             `- warning: capture of 'self' with non-sendable type 'WaitForConditionStep?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 |                         }
73 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:13: warning: capture of 'completion' with non-sendable type 'StepCompletionCallback' (aka '(StepCompletionResult) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |             |- warning: capture of 'completion' with non-sendable type 'StepCompletionCallback' (aka '(StepCompletionResult) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 |         }
27 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:33: warning: capture of 'model' with non-sendable type 'JSON' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |                                 `- warning: capture of 'model' with non-sendable type 'JSON' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 |         }
27 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitForConditionStep.swift:71:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
69 |                     } else {
70 |                         DispatchQueue.main.asyncAfter(deadline: .now() + Constants.refreshInterval) { [weak self] in
71 |                             self?.handleTimer()
   |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
   |                             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
72 |                         }
73 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |             |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |             `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
26 |         }
27 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/WaitStep.swift:25:33: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
23 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
24 |         DispatchQueue.main.asyncAfter(deadline: .now() + waitTimeInSeconds) {
25 |             completion(.proceed(model))
   |                                 |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
   |                                 `- note: task-isolated 'model' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
26 |         }
27 |     }
[8/22] Compiling SwiftScraper StepFlowResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/DownloadStep.swift:41:25: warning: call to main actor-isolated instance method 'startDownload(using:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
36 |     }
37 |
38 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
   |                 `- note: add '@MainActor' to make instance method 'run(with:model:completion:)' part of global actor 'MainActor'
39 |         self.completion = completion
40 |         self.model = model
41 |         browser.webView.startDownload(using: URLRequest(url: url)) { download in
   |                         `- warning: call to main actor-isolated instance method 'startDownload(using:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
42 |             download.delegate = self
43 |         }
WebKit.WKWebView:144:26: note: calls to instance method 'startDownload(using:completionHandler:)' from outside of its actor context are implicitly asynchronous
142 |     open class func handlesURLScheme(_ urlScheme: String) -> Bool
143 |     @available(macOS 11.3, *)
144 |     @MainActor open func startDownload(using request: URLRequest, completionHandler: @escaping (WKDownload) -> Void)
    |                          `- note: calls to instance method 'startDownload(using:completionHandler:)' from outside of its actor context are implicitly asynchronous
145 |     @available(macOS 11.3, *)
146 |     open func startDownload(using request: URLRequest) async -> WKDownload
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/DownloadStep.swift:41:25: warning: sending task-isolated value of type '(WKDownload) -> ()' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
39 |         self.completion = completion
40 |         self.model = model
41 |         browser.webView.startDownload(using: URLRequest(url: url)) { download in
   |                         `- warning: sending task-isolated value of type '(WKDownload) -> ()' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
42 |             download.delegate = self
43 |         }
[9/22] Compiling SwiftScraper DownloadStep.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/DownloadStep.swift:41:25: warning: call to main actor-isolated instance method 'startDownload(using:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
36 |     }
37 |
38 |     public func run(with browser: Browser, model: JSON, completion: @escaping StepCompletionCallback) {
   |                 `- note: add '@MainActor' to make instance method 'run(with:model:completion:)' part of global actor 'MainActor'
39 |         self.completion = completion
40 |         self.model = model
41 |         browser.webView.startDownload(using: URLRequest(url: url)) { download in
   |                         `- warning: call to main actor-isolated instance method 'startDownload(using:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
42 |             download.delegate = self
43 |         }
WebKit.WKWebView:144:26: note: calls to instance method 'startDownload(using:completionHandler:)' from outside of its actor context are implicitly asynchronous
142 |     open class func handlesURLScheme(_ urlScheme: String) -> Bool
143 |     @available(macOS 11.3, *)
144 |     @MainActor open func startDownload(using request: URLRequest, completionHandler: @escaping (WKDownload) -> Void)
    |                          `- note: calls to instance method 'startDownload(using:completionHandler:)' from outside of its actor context are implicitly asynchronous
145 |     @available(macOS 11.3, *)
146 |     open func startDownload(using request: URLRequest) async -> WKDownload
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Steps/DownloadStep.swift:41:25: warning: sending task-isolated value of type '(WKDownload) -> ()' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
39 |         self.completion = completion
40 |         self.model = model
41 |         browser.webView.startDownload(using: URLRequest(url: url)) { download in
   |                         `- warning: sending task-isolated value of type '(WKDownload) -> ()' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
42 |             download.delegate = self
43 |         }
[10/22] Compiling SwiftScraper ProcessStep.swift
[11/22] Compiling SwiftScraper ScriptStep.swift
[12/22] Compiling SwiftScraper OpenPageStep.swift
[13/22] Compiling SwiftScraper PageChangeStep.swift
[14/22] Compiling SwiftScraper Browser.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:49:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 47 |     private let logger = Logger()
 48 |     /// The webview itself
 49 |     public private (set) var webView: WKWebView!
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 50 |     private let userContentController = WKUserContentController()
 51 |     private var navigationCallback: NavigationCallback?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:91:19: warning: call to main actor-isolated initializer 'init(frame:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 89 |         config.userContentController = userContentController
 90 |
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
    |                   `- warning: call to main actor-isolated initializer 'init(frame:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
WebKit.WKWebView:9:23: note: calls to initializer 'init(frame:configuration:)' from outside of its actor context are implicitly asynchronous
  7 |     weak open var UIDelegate: (any WKUIDelegate)? { get set }
  8 |     open var backForwardList: WKBackForwardList { get }
  9 |     @MainActor public init(frame: CGRect, configuration: WKWebViewConfiguration)
    |                       `- note: calls to initializer 'init(frame:configuration:)' from outside of its actor context are implicitly asynchronous
 10 |     public init?(coder: NSCoder)
 11 |     open func load(_ request: URLRequest) -> WKNavigation?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:92:17: warning: main actor-isolated property 'navigationDelegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 90 |
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
 92 |         webView.navigationDelegate = self
    |                 `- warning: main actor-isolated property 'navigationDelegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 93 |         webView.allowsBackForwardNavigationGestures = true
 94 |         webView.customUserAgent = customUserAgent
WebKit.WKWebView:4:19: note: mutation of this property is only permitted within the actor
  2 | @MainActor open class WKWebView : NSView {
  3 |     @NSCopying open var configuration: WKWebViewConfiguration { get }
  4 |     weak open var navigationDelegate: (any WKNavigationDelegate)? { get set }
    |                   `- note: mutation of this property is only permitted within the actor
  5 |     weak open var uiDelegate: (any WKUIDelegate)? { get set }
  6 |     @available(swift, obsoleted: 3, renamed: "uiDelegate")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:93:17: warning: main actor-isolated property 'allowsBackForwardNavigationGestures' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
    |                 `- warning: main actor-isolated property 'allowsBackForwardNavigationGestures' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 94 |         webView.customUserAgent = customUserAgent
 95 |     }
WebKit.WKWebView:122:14: note: mutation of this property is only permitted within the actor
120 |     @available(swift, obsoleted: 3, renamed: "__createWebArchiveData(completionHandler:)")
121 |     open func __createWebArchiveDataWithCompletionHandler(_ completionHandler: @escaping (Data, any Error) -> Void)
122 |     open var allowsBackForwardNavigationGestures: Bool { get set }
    |              `- note: mutation of this property is only permitted within the actor
123 |     @available(macOS 10.11, *)
124 |     open var customUserAgent: String? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:94:17: warning: main actor-isolated property 'customUserAgent' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
 94 |         webView.customUserAgent = customUserAgent
    |                 `- warning: main actor-isolated property 'customUserAgent' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 95 |     }
 96 |
WebKit.WKWebView:124:14: note: mutation of this property is only permitted within the actor
122 |     open var allowsBackForwardNavigationGestures: Bool { get set }
123 |     @available(macOS 10.11, *)
124 |     open var customUserAgent: String? { get set }
    |              `- note: mutation of this property is only permitted within the actor
125 |     @available(macOS 10.11, *)
126 |     open var allowsLinkPreview: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:177:16: warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
176 |         #else
177 |         parent.addSubview(webView)
    |                `- warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
AppKit.NSView:29:26: note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
 27 |     @available(macOS 10.5, *)
 28 |     open func viewDidUnhide()
 29 |     @MainActor open func addSubview(_ view: NSView)
    |                          `- note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
 30 |     open func addSubview(_ view: NSView, positioned place: NSWindow.OrderingMode, relativeTo otherView: NSView?)
 31 |     open func sortSubviews(_ compare: @convention(c) (NSView, NSView, UnsafeMutableRawPointer?) -> ComparisonResult, context: UnsafeMutableRawPointer?)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:179:17: warning: main actor-isolated property 'translatesAutoresizingMaskIntoConstraints' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
177 |         parent.addSubview(webView)
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
    |                 `- warning: main actor-isolated property 'translatesAutoresizingMaskIntoConstraints' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
AppKit.NSView:3:25: note: mutation of this property is only permitted within the actor
1 | extension NSView {
2 |     @available(macOS 10.7, *)
3 |     @MainActor open var translatesAutoresizingMaskIntoConstraints: Bool { get set }
  |                         `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 10.7, *)
5 |     open class var requiresConstraintBasedLayout: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:180:17: warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
AppKit.NSView:11:25: note: property declared here
 9 |     open var rightAnchor: NSLayoutXAxisAnchor { get }
10 |     @available(macOS 10.11, *)
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
   |                         `- note: property declared here
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:180:54: warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
    |                                                      `- warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
AppKit.NSView:11:25: note: property declared here
 9 |     open var rightAnchor: NSLayoutXAxisAnchor { get }
10 |     @available(macOS 10.11, *)
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
   |                         `- note: property declared here
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:181:17: warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
AppKit.NSView:13:14: note: property declared here
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
   |              `- note: property declared here
14 |     @available(macOS 10.11, *)
15 |     open var widthAnchor: NSLayoutDimension { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:181:57: warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
    |                                                         `- warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
AppKit.NSView:13:14: note: property declared here
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
   |              `- note: property declared here
14 |     @available(macOS 10.11, *)
15 |     open var widthAnchor: NSLayoutDimension { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:182:17: warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
184 |     }
AppKit.NSView:3:14: note: property declared here
 1 | extension NSView {
 2 |     @available(macOS 10.11, *)
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:182:58: warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
    |                                                          `- warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
184 |     }
AppKit.NSView:3:14: note: property declared here
 1 | extension NSView {
 2 |     @available(macOS 10.11, *)
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:183:17: warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
184 |     }
185 |
AppKit.NSView:5:14: note: property declared here
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 6 |     @available(macOS 10.11, *)
 7 |     open var leftAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:183:59: warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
    |                                                           `- warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
184 |     }
185 |
AppKit.NSView:5:14: note: property declared here
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 6 |     @available(macOS 10.11, *)
 7 |     open var leftAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:189:17: warning: call to main actor-isolated instance method 'load' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
185 |
186 |     /// Loads a page with the given path into the WebView.
187 |     func load(path: String, completion: @escaping NavigationCallback) {
    |          `- note: add '@MainActor' to make instance method 'load(path:completion:)' part of global actor 'MainActor'
188 |         self.navigationCallback = completion
189 |         webView.load(URLRequest(url: URL(string: path)!))
    |                 `- warning: call to main actor-isolated instance method 'load' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
190 |     }
191 |
WebKit.WKWebView:11:15: note: calls to instance method 'load' from outside of its actor context are implicitly asynchronous
  9 |     @MainActor public init(frame: CGRect, configuration: WKWebViewConfiguration)
 10 |     public init?(coder: NSCoder)
 11 |     open func load(_ request: URLRequest) -> WKNavigation?
    |               `- note: calls to instance method 'load' from outside of its actor context are implicitly asynchronous
 12 |     @available(swift, obsoleted: 3, renamed: "load(_:)")
 13 |     open func loadRequest(_ request: URLRequest) -> WKNavigation?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:201:17: warning: call to main actor-isolated instance method 'evaluateJavaScript(_:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
191 |
192 |     /// Run some JavaScript with error handling and logging.
193 |     func runScript(functionName: String, params: [Any] = [], completion: @escaping ScriptResponseResultCallback) {
    |          `- note: add '@MainActor' to make instance method 'runScript(functionName:params:completion:)' part of global actor 'MainActor'
194 |         guard let script = try? JavaScriptGenerator.generateScript(moduleName: moduleName,
195 |                                                                    functionName: functionName,
    :
199 |         }
200 |         logger.debug("script to run: \(script)")
201 |         webView.evaluateJavaScript(script) { response, error in
    |                 `- warning: call to main actor-isolated instance method 'evaluateJavaScript(_:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
202 |             if let nsError = error as NSError?,
203 |                 nsError.domain == WKError.errorDomain,
WebKit.WKWebView:46:15: note: calls to instance method 'evaluateJavaScript(_:completionHandler:)' from outside of its actor context are implicitly asynchronous
 44 |     open func reloadFromOrigin() -> WKNavigation?
 45 |     open func stopLoading()
 46 |     open func evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, (any Error)?) -> Void)? = nil)
    |               `- note: calls to instance method 'evaluateJavaScript(_:completionHandler:)' from outside of its actor context are implicitly asynchronous
 47 |     open func evaluateJavaScript(_ javaScriptString: String) async throws -> Any
 48 |     @available(macOS 11.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:91:19: warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
 89 |         config.userContentController = userContentController
 90 |
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
    |                   |- warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending task-isolated 'config' to main actor-isolated initializer 'init(frame:configuration:)' risks causing data races between main actor-isolated and task-isolated uses
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:201:17: warning: sending task-isolated value of type '(Any?, (any Error)?) -> Void' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
199 |         }
200 |         logger.debug("script to run: \(script)")
201 |         webView.evaluateJavaScript(script) { response, error in
    |                 `- warning: sending task-isolated value of type '(Any?, (any Error)?) -> Void' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
202 |             if let nsError = error as NSError?,
203 |                 nsError.domain == WKError.errorDomain,
[15/22] Compiling SwiftScraper JavaScriptGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:49:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 47 |     private let logger = Logger()
 48 |     /// The webview itself
 49 |     public private (set) var webView: WKWebView!
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 50 |     private let userContentController = WKUserContentController()
 51 |     private var navigationCallback: NavigationCallback?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:91:19: warning: call to main actor-isolated initializer 'init(frame:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 89 |         config.userContentController = userContentController
 90 |
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
    |                   `- warning: call to main actor-isolated initializer 'init(frame:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
WebKit.WKWebView:9:23: note: calls to initializer 'init(frame:configuration:)' from outside of its actor context are implicitly asynchronous
  7 |     weak open var UIDelegate: (any WKUIDelegate)? { get set }
  8 |     open var backForwardList: WKBackForwardList { get }
  9 |     @MainActor public init(frame: CGRect, configuration: WKWebViewConfiguration)
    |                       `- note: calls to initializer 'init(frame:configuration:)' from outside of its actor context are implicitly asynchronous
 10 |     public init?(coder: NSCoder)
 11 |     open func load(_ request: URLRequest) -> WKNavigation?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:92:17: warning: main actor-isolated property 'navigationDelegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 90 |
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
 92 |         webView.navigationDelegate = self
    |                 `- warning: main actor-isolated property 'navigationDelegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 93 |         webView.allowsBackForwardNavigationGestures = true
 94 |         webView.customUserAgent = customUserAgent
WebKit.WKWebView:4:19: note: mutation of this property is only permitted within the actor
  2 | @MainActor open class WKWebView : NSView {
  3 |     @NSCopying open var configuration: WKWebViewConfiguration { get }
  4 |     weak open var navigationDelegate: (any WKNavigationDelegate)? { get set }
    |                   `- note: mutation of this property is only permitted within the actor
  5 |     weak open var uiDelegate: (any WKUIDelegate)? { get set }
  6 |     @available(swift, obsoleted: 3, renamed: "uiDelegate")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:93:17: warning: main actor-isolated property 'allowsBackForwardNavigationGestures' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
    |                 `- warning: main actor-isolated property 'allowsBackForwardNavigationGestures' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 94 |         webView.customUserAgent = customUserAgent
 95 |     }
WebKit.WKWebView:122:14: note: mutation of this property is only permitted within the actor
120 |     @available(swift, obsoleted: 3, renamed: "__createWebArchiveData(completionHandler:)")
121 |     open func __createWebArchiveDataWithCompletionHandler(_ completionHandler: @escaping (Data, any Error) -> Void)
122 |     open var allowsBackForwardNavigationGestures: Bool { get set }
    |              `- note: mutation of this property is only permitted within the actor
123 |     @available(macOS 10.11, *)
124 |     open var customUserAgent: String? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:94:17: warning: main actor-isolated property 'customUserAgent' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 66 |     }
 67 |
 68 |     private func setupWebView(moduleName: String, customUserAgent: String?, scriptBundle: Bundle) throws {
    |                  `- note: add '@MainActor' to make instance method 'setupWebView(moduleName:customUserAgent:scriptBundle:)' part of global actor 'MainActor'
 69 |
 70 |         let coreScriptURL = Bundle.module.path(forResource: Constants.coreScript, ofType: "js")
    :
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
 94 |         webView.customUserAgent = customUserAgent
    |                 `- warning: main actor-isolated property 'customUserAgent' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 95 |     }
 96 |
WebKit.WKWebView:124:14: note: mutation of this property is only permitted within the actor
122 |     open var allowsBackForwardNavigationGestures: Bool { get set }
123 |     @available(macOS 10.11, *)
124 |     open var customUserAgent: String? { get set }
    |              `- note: mutation of this property is only permitted within the actor
125 |     @available(macOS 10.11, *)
126 |     open var allowsLinkPreview: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:177:16: warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
176 |         #else
177 |         parent.addSubview(webView)
    |                `- warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
AppKit.NSView:29:26: note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
 27 |     @available(macOS 10.5, *)
 28 |     open func viewDidUnhide()
 29 |     @MainActor open func addSubview(_ view: NSView)
    |                          `- note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
 30 |     open func addSubview(_ view: NSView, positioned place: NSWindow.OrderingMode, relativeTo otherView: NSView?)
 31 |     open func sortSubviews(_ compare: @convention(c) (NSView, NSView, UnsafeMutableRawPointer?) -> ComparisonResult, context: UnsafeMutableRawPointer?)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:179:17: warning: main actor-isolated property 'translatesAutoresizingMaskIntoConstraints' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
177 |         parent.addSubview(webView)
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
    |                 `- warning: main actor-isolated property 'translatesAutoresizingMaskIntoConstraints' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
AppKit.NSView:3:25: note: mutation of this property is only permitted within the actor
1 | extension NSView {
2 |     @available(macOS 10.7, *)
3 |     @MainActor open var translatesAutoresizingMaskIntoConstraints: Bool { get set }
  |                         `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 10.7, *)
5 |     open class var requiresConstraintBasedLayout: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:180:17: warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
AppKit.NSView:11:25: note: property declared here
 9 |     open var rightAnchor: NSLayoutXAxisAnchor { get }
10 |     @available(macOS 10.11, *)
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
   |                         `- note: property declared here
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:180:54: warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
178 |         #endif
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
    |                                                      `- warning: main actor-isolated property 'topAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
AppKit.NSView:11:25: note: property declared here
 9 |     open var rightAnchor: NSLayoutXAxisAnchor { get }
10 |     @available(macOS 10.11, *)
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
   |                         `- note: property declared here
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:181:17: warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
AppKit.NSView:13:14: note: property declared here
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
   |              `- note: property declared here
14 |     @available(macOS 10.11, *)
15 |     open var widthAnchor: NSLayoutDimension { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:181:57: warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
179 |         webView.translatesAutoresizingMaskIntoConstraints = false
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
    |                                                         `- warning: main actor-isolated property 'bottomAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
AppKit.NSView:13:14: note: property declared here
11 |     @MainActor open var topAnchor: NSLayoutYAxisAnchor { get }
12 |     @available(macOS 10.11, *)
13 |     open var bottomAnchor: NSLayoutYAxisAnchor { get }
   |              `- note: property declared here
14 |     @available(macOS 10.11, *)
15 |     open var widthAnchor: NSLayoutDimension { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:182:17: warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
184 |     }
AppKit.NSView:3:14: note: property declared here
 1 | extension NSView {
 2 |     @available(macOS 10.11, *)
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:182:58: warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
180 |         webView.topAnchor.constraint(equalTo: parent.topAnchor).isActive = true
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
    |                                                          `- warning: main actor-isolated property 'leadingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
184 |     }
AppKit.NSView:3:14: note: property declared here
 1 | extension NSView {
 2 |     @available(macOS 10.11, *)
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:183:17: warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
    |                 `- warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
184 |     }
185 |
AppKit.NSView:5:14: note: property declared here
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 6 |     @available(macOS 10.11, *)
 7 |     open var leftAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:183:59: warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
171 |     /// Insert the WebView at index 0 of the given parent view,
172 |     /// using AutoLayout to pin all 4 sides to the parent.
173 |     func insertIntoView(parent: PlatformView) {
    |          `- note: add '@MainActor' to make instance method 'insertIntoView(parent:)' part of global actor 'MainActor'
174 |         #if canImport(UIKit)
175 |         parent.insertSubview(webView, at: 0)
    :
181 |         webView.bottomAnchor.constraint(equalTo: parent.bottomAnchor).isActive = true
182 |         webView.leadingAnchor.constraint(equalTo: parent.leadingAnchor).isActive = true
183 |         webView.trailingAnchor.constraint(equalTo: parent.trailingAnchor).isActive = true
    |                                                           `- warning: main actor-isolated property 'trailingAnchor' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
184 |     }
185 |
AppKit.NSView:5:14: note: property declared here
 3 |     open var leadingAnchor: NSLayoutXAxisAnchor { get }
 4 |     @available(macOS 10.11, *)
 5 |     open var trailingAnchor: NSLayoutXAxisAnchor { get }
   |              `- note: property declared here
 6 |     @available(macOS 10.11, *)
 7 |     open var leftAnchor: NSLayoutXAxisAnchor { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:189:17: warning: call to main actor-isolated instance method 'load' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
185 |
186 |     /// Loads a page with the given path into the WebView.
187 |     func load(path: String, completion: @escaping NavigationCallback) {
    |          `- note: add '@MainActor' to make instance method 'load(path:completion:)' part of global actor 'MainActor'
188 |         self.navigationCallback = completion
189 |         webView.load(URLRequest(url: URL(string: path)!))
    |                 `- warning: call to main actor-isolated instance method 'load' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
190 |     }
191 |
WebKit.WKWebView:11:15: note: calls to instance method 'load' from outside of its actor context are implicitly asynchronous
  9 |     @MainActor public init(frame: CGRect, configuration: WKWebViewConfiguration)
 10 |     public init?(coder: NSCoder)
 11 |     open func load(_ request: URLRequest) -> WKNavigation?
    |               `- note: calls to instance method 'load' from outside of its actor context are implicitly asynchronous
 12 |     @available(swift, obsoleted: 3, renamed: "load(_:)")
 13 |     open func loadRequest(_ request: URLRequest) -> WKNavigation?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:201:17: warning: call to main actor-isolated instance method 'evaluateJavaScript(_:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
191 |
192 |     /// Run some JavaScript with error handling and logging.
193 |     func runScript(functionName: String, params: [Any] = [], completion: @escaping ScriptResponseResultCallback) {
    |          `- note: add '@MainActor' to make instance method 'runScript(functionName:params:completion:)' part of global actor 'MainActor'
194 |         guard let script = try? JavaScriptGenerator.generateScript(moduleName: moduleName,
195 |                                                                    functionName: functionName,
    :
199 |         }
200 |         logger.debug("script to run: \(script)")
201 |         webView.evaluateJavaScript(script) { response, error in
    |                 `- warning: call to main actor-isolated instance method 'evaluateJavaScript(_:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
202 |             if let nsError = error as NSError?,
203 |                 nsError.domain == WKError.errorDomain,
WebKit.WKWebView:46:15: note: calls to instance method 'evaluateJavaScript(_:completionHandler:)' from outside of its actor context are implicitly asynchronous
 44 |     open func reloadFromOrigin() -> WKNavigation?
 45 |     open func stopLoading()
 46 |     open func evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, (any Error)?) -> Void)? = nil)
    |               `- note: calls to instance method 'evaluateJavaScript(_:completionHandler:)' from outside of its actor context are implicitly asynchronous
 47 |     open func evaluateJavaScript(_ javaScriptString: String) async throws -> Any
 48 |     @available(macOS 11.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:91:19: warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
 89 |         config.userContentController = userContentController
 90 |
 91 |         webView = WKWebView(frame: CGRect.zero, configuration: config)
    |                   |- warning: sending 'config' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending task-isolated 'config' to main actor-isolated initializer 'init(frame:configuration:)' risks causing data races between main actor-isolated and task-isolated uses
 92 |         webView.navigationDelegate = self
 93 |         webView.allowsBackForwardNavigationGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:201:17: warning: sending task-isolated value of type '(Any?, (any Error)?) -> Void' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
199 |         }
200 |         logger.debug("script to run: \(script)")
201 |         webView.evaluateJavaScript(script) { response, error in
    |                 `- warning: sending task-isolated value of type '(Any?, (any Error)?) -> Void' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
202 |             if let nsError = error as NSError?,
203 |                 nsError.domain == WKError.errorDomain,
[16/22] Compiling SwiftScraper AsyncScriptStep.swift
[17/22] Compiling SwiftScraper NavigableStep.swift
[18/22] Compiling SwiftScraper Step.swift
[19/22] Compiling SwiftScraper StepCompletionCallback.swift
[20/22] Compiling SwiftScraper StepRunner.swift
[21/22] Compiling SwiftScraper AsyncProcessStep.swift
[22/22] Emitting module SwiftScraper
/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Browser.swift:49:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 47 |     private let logger = Logger()
 48 |     /// The webview itself
 49 |     public private (set) var webView: WKWebView!
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 50 |     private let userContentController = WKUserContentController()
 51 |     private var navigationCallback: NavigationCallback?
Build complete! (30.33s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftScraper",
  "name" : "SwiftScraper",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftScraper",
      "targets" : [
        "SwiftScraper"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftScraperTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftScraperTests",
      "path" : "Tests/SwiftScraperTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftScraperTests/Resources/page1.html",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftScraperTests/StepRunnerTests.js",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftScraperTests/Resources/page2.html",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftScraperTests/Resources/waitTest.html",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "JavaScriptGeneratorTests.swift",
        "StepRunnerTests.swift",
        "Steps/AsyncProcessStepTests.swift",
        "Steps/AsyncScriptStepTests.swift",
        "Steps/DownloadStepTests.swift",
        "Steps/OpenPageStepTests.swift",
        "Steps/PageChangeStepTests.swift",
        "Steps/ProcessStepTests.swift",
        "Steps/ScriptStepTests.swift",
        "Steps/WaitForConditionStepTests.swift",
        "Steps/WaitStepTests.swift",
        "SwiftScraperErrorTests.swift"
      ],
      "target_dependencies" : [
        "SwiftScraper"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftScraper",
      "module_type" : "SwiftTarget",
      "name" : "SwiftScraper",
      "path" : "Sources/SwiftScraper",
      "product_memberships" : [
        "SwiftScraper"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftScraper/Resources/SwiftScraper.js",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Browser.swift",
        "JavaScriptGenerator.swift",
        "StepRunner.swift",
        "Steps/AsyncProcessStep.swift",
        "Steps/AsyncScriptStep.swift",
        "Steps/Common/NavigableStep.swift",
        "Steps/Common/Step.swift",
        "Steps/Common/StepCompletionCallback.swift",
        "Steps/Common/StepFlowResult.swift",
        "Steps/DownloadStep.swift",
        "Steps/OpenPageStep.swift",
        "Steps/PageChangeStep.swift",
        "Steps/ProcessStep.swift",
        "Steps/ScriptStep.swift",
        "Steps/WaitForConditionStep.swift",
        "Steps/WaitStep.swift",
        "SwiftScraperError.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.