Skip to content

Commit 1717145

Browse files
committed
Add Swift Package Manager support
Fixes turbolinks#172.
1 parent bc5b78d commit 1717145

File tree

5 files changed

+40
-5
lines changed

5 files changed

+40
-5
lines changed

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
xcuserdata
2-
xcshareddata
3-
1+
.build/
2+
.swiftpm/
3+
xcuserdata/

Package.swift

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// swift-tools-version:5.3
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "Turbolinks",
7+
products: [
8+
.library(name: "Turbolinks", targets: ["Turbolinks"]),
9+
],
10+
targets: [
11+
.target(
12+
name: "Turbolinks",
13+
path: "Turbolinks",
14+
exclude: ["Info.plist", "Tests"],
15+
resources: [.copy("WebView.js")]
16+
),
17+
.testTarget(
18+
name: "TurbolinksTests",
19+
dependencies: ["Turbolinks"],
20+
path: "Turbolinks/Tests",
21+
exclude: ["Info.plist"]
22+
),
23+
]
24+
)

Turbolinks/Bundle.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import Foundation
2+
3+
extension Bundle {
4+
static var turbolinks: Bundle {
5+
#if SWIFT_PACKAGE
6+
return Bundle.module
7+
#else
8+
return Bundle(for: WebView.self)
9+
#endif
10+
}
11+
}

Turbolinks/VisitableView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import UIKit
12
import WebKit
23

34
open class VisitableView: UIView {

Turbolinks/WebView.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ class WebView: WKWebView {
2828
init(configuration: WKWebViewConfiguration) {
2929
super.init(frame: CGRect.zero, configuration: configuration)
3030

31-
let bundle = Bundle(for: type(of: self))
32-
let source = try! String(contentsOf: bundle.url(forResource: "WebView", withExtension: "js")!, encoding: String.Encoding.utf8)
31+
let source = try! String(contentsOf: Bundle.turbolinks.url(forResource: "WebView", withExtension: "js")!, encoding: String.Encoding.utf8)
3332
let userScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
3433
configuration.userContentController.addUserScript(userScript)
3534
configuration.userContentController.add(self, name: "turbolinks")

0 commit comments

Comments
 (0)