Skip to content

Commit 5f0a071

Browse files
committed
Swift v6
1 parent 2a76401 commit 5f0a071

4 files changed

Lines changed: 105 additions & 71 deletions

File tree

.swift-format

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"indentation" : {
3+
"spaces": 4
4+
},
5+
"tabWidth": 4,
6+
"version": 1
7+
}

Package.resolved

Lines changed: 53 additions & 44 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 37 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,58 @@
1-
// swift-tools-version: 5.6
1+
// swift-tools-version: 5.9
22

33
import PackageDescription
44

55
let package = Package(
66
name: "Vercel",
77
platforms: [
8-
.macOS(.v12),
9-
.iOS(.v15),
10-
.tvOS(.v15),
11-
.watchOS(.v8)
8+
.macOS(.v12)
129
],
1310
products: [
1411
.library(name: "Vercel", targets: ["Vercel"]),
1512
.library(name: "VercelVapor", targets: ["VercelVapor"]),
16-
.plugin(name: "VercelPackager", targets: ["VercelPackager"])
13+
.plugin(name: "VercelPackager", targets: ["VercelPackager"]),
1714
],
1815
dependencies: [
19-
.package(url: "https://github.com/apple/swift-crypto", "1.0.0" ..< "3.0.0"),
20-
.package(url: "https://github.com/swift-server/swift-aws-lambda-runtime", from: "1.0.0-alpha.1"),
21-
.package(url: "https://github.com/vapor/vapor", from: "4.0.0")
16+
.package(url: "https://github.com/apple/swift-crypto", from: "3.0.0"),
17+
.package(
18+
url: "https://github.com/swift-server/swift-aws-lambda-runtime", from: "1.0.0-alpha.2"),
19+
.package(url: "https://github.com/vapor/vapor", from: "4.0.0"),
2220
],
2321
targets: [
24-
.target(name: "Vercel", dependencies: [
25-
.product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime"),
26-
.product(name: "Crypto", package: "swift-crypto")
27-
]),
28-
.target(name: "VercelVapor", dependencies: [
29-
.product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime"),
30-
.product(name: "Vapor", package: "vapor"),
31-
.byName(name: "Vercel")
32-
]),
22+
.target(
23+
name: "Vercel",
24+
dependencies: [
25+
.product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime"),
26+
.product(name: "Crypto", package: "swift-crypto"),
27+
],
28+
swiftSettings: [
29+
.enableExperimentalFeature("StrictConcurrency")
30+
]
31+
),
32+
.target(
33+
name: "VercelVapor",
34+
dependencies: [
35+
.product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime"),
36+
.product(name: "Vapor", package: "vapor"),
37+
.byName(name: "Vercel"),
38+
],
39+
swiftSettings: [
40+
.enableExperimentalFeature("StrictConcurrency")
41+
]
42+
),
3343
.plugin(
3444
name: "VercelPackager",
3545
capability: .command(
36-
intent: .custom(verb: "vercel", description: "Build and deploy your Swift application to Vercel")
46+
intent: .custom(
47+
verb: "vercel", description: "Build and deploy your Swift application to Vercel"
48+
)
3749
)
3850
),
39-
.testTarget(name: "VercelTests", dependencies: [
40-
.byName(name: "Vercel")
41-
])
51+
.testTarget(
52+
name: "VercelTests",
53+
dependencies: [
54+
.byName(name: "Vercel")
55+
]
56+
),
4257
]
4358
)

Sources/VercelVapor/VaporHandler.swift

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//
22
// VaporHandler.swift
3-
//
3+
//
44
//
55
// Created by Andrew Barba on 8/25/23.
66
//
@@ -29,13 +29,15 @@ extension VaporHandler {
2929
// Configure vercel server
3030
app.servers.use(.vercel)
3131
// Start the application
32-
try app.start()
32+
try await app.startup()
3333
// Cache the app instance
34-
Shared.app = app
34+
await MainActor.run {
35+
Shared.app = app
36+
}
3537
}
3638

3739
public func onRequest(_ req: Vercel.Request) async throws -> Vercel.Response {
38-
guard let app = Shared.app else {
40+
guard let app = await Shared.app else {
3941
return .status(.serviceUnavailable).send("Vapor application not configured")
4042
}
4143
let vaporRequest = try Vapor.Request.from(request: req, for: app)
@@ -44,8 +46,9 @@ extension VaporHandler {
4446
}
4547
}
4648

47-
fileprivate struct Shared {
49+
private struct Shared {
4850

51+
@MainActor
4952
static var app: Application?
5053
}
5154

0 commit comments

Comments
 (0)