Skip to content

Commit d74664d

Browse files
Merge pull request #203 from SwiftFiddle/update
Update
2 parents bc0a4d2 + 3e0ca0c commit d74664d

File tree

12 files changed

+392
-2630
lines changed

12 files changed

+392
-2630
lines changed

.vscode/launch.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,26 @@
143143
"args": [],
144144
"cwd": "${workspaceFolder:swiftregex}",
145145
"preLaunchTask": "swift: Build Release BuilderTester"
146+
},
147+
{
148+
"type": "lldb",
149+
"request": "launch",
150+
"sourceLanguages": ["swift"],
151+
"name": "Debug App",
152+
"program": "${workspaceFolder:swiftregex}/.build/debug/App",
153+
"args": [],
154+
"cwd": "${workspaceFolder:swiftregex}",
155+
"preLaunchTask": "swift: Build Debug App"
156+
},
157+
{
158+
"type": "lldb",
159+
"request": "launch",
160+
"sourceLanguages": ["swift"],
161+
"name": "Release App",
162+
"program": "${workspaceFolder:swiftregex}/.build/release/App",
163+
"args": [],
164+
"cwd": "${workspaceFolder:swiftregex}",
165+
"preLaunchTask": "swift: Build Release App"
146166
}
147167
]
148168
}

.vscode/settings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"lldb.library": "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/LLDB",
3+
"lldb.launch.expressions": "native"
4+
}

Dockerfile

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ COPY Public ./Public/
1313
RUN npx webpack --config webpack.prod.js
1414

1515

16-
FROM swiftlang/swift:nightly-main-focal as swift
16+
FROM swiftlang/swift:nightly-main-jammy as swift
1717
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
1818
&& apt-get -q update && apt-get -q dist-upgrade -y \
1919
&& apt-get install -y --no-install-recommends libsqlite3-dev \
@@ -25,25 +25,36 @@ COPY ./Package.* ./
2525
RUN swift package resolve
2626

2727
COPY . .
28-
RUN swift build -c release -Xswiftc -enable-testing
28+
RUN swift build -c release --static-swift-stdlib -Xswiftc -enable-testing
2929

3030
WORKDIR /staging
31-
RUN cp "$(swift build --package-path /build -c release --show-bin-path)/Run" ./ \
32-
&& mv /build/Public ./Public && chmod -R a-w ./Public \
33-
&& mv /build/.build ./.build && chmod -R a-w ./.build
3431

32+
RUN cp "$(swift build --package-path /build -c release --show-bin-path)/App" ./
3533

36-
FROM swiftlang/swift:nightly-main-focal
34+
RUN find -L "$(swift build --package-path /build -c release --show-bin-path)/" -regex '.*\.resources$' -exec cp -Ra {} ./ \;
35+
36+
RUN [ -d /build/Public ] && { mv /build/Public ./Public && chmod -R a-w ./Public; } || true
37+
RUN [ -d /build/Resources ] && { mv /build/Resources ./Resources && chmod -R a-w ./Resources; } || true
38+
RUN [ -d /build/.build ] && { mv /build/.build ./.build && chmod -R a-w ./.build; } || true
39+
40+
41+
FROM swiftlang/swift:nightly-main-jammy
3742
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
38-
&& apt-get -q update && apt-get -q dist-upgrade -y && rm -r /var/lib/apt/lists/*\
39-
&& useradd --user-group --create-home --system --skel /dev/null --home-dir /app vapor
43+
&& apt-get -q update \
44+
&& apt-get -q dist-upgrade -y \
45+
&& apt-get -q install -y \
46+
ca-certificates \
47+
tzdata \
48+
&& rm -r /var/lib/apt/lists/*
49+
50+
RUN useradd --user-group --create-home --system --skel /dev/null --home-dir /app vapor
4051

4152
WORKDIR /app
4253
COPY --from=swift --chown=vapor:vapor /staging /app
4354

4455
USER vapor:vapor
4556
EXPOSE 8080
4657

47-
ENTRYPOINT ["./Run"]
58+
ENTRYPOINT ["./App"]
4859
CMD ["serve", "--env", "production", "--hostname", "0.0.0.0", "--port", "8080"]
4960

Package.resolved

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

Package.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:5.6
1+
// swift-tools-version:5.9
22
import PackageDescription
33

44
let package = Package(
@@ -19,7 +19,6 @@ let package = Package(
1919
.product(name: "_StringProcessing", package: "swift-experimental-string-processing"),
2020
.product(name: "_RegexParser", package: "swift-experimental-string-processing"),
2121
.product(name: "SwiftSyntax", package: "swift-syntax"),
22-
.product(name: "SwiftSyntaxParser", package: "swift-syntax"),
2322
],
2423
swiftSettings: [
2524
.unsafeFlags(["-Xfrontend", "-disable-availability-checking"]),
@@ -70,7 +69,7 @@ let package = Package(
7069
.unsafeFlags(["-cross-module-optimization"], .when(configuration: .release))
7170
]
7271
),
73-
.target(
72+
.executableTarget(
7473
name: "App",
7574
dependencies: [
7675
.product(name: "Vapor", package: "vapor"),
@@ -80,7 +79,6 @@ let package = Package(
8079
.unsafeFlags(["-cross-module-optimization"], .when(configuration: .release))
8180
]
8281
),
83-
.executableTarget(name: "Run", dependencies: [.target(name: "App")]),
8482
.testTarget(
8583
name: "RegexTests", dependencies: [
8684
.target(name: "BuilderTester"),

Public/scss/default.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@import "bootstrap/scss/functions";
22
@import "bootstrap/scss/variables";
3+
@import "bootstrap/scss/variables-dark";
34
@import "bootstrap/scss/mixins";
45
@import "bootstrap/scss/maps";
56
@import "bootstrap/scss/utilities";

Sources/App/configure.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@ public func configure(_ app: Application) throws {
55
app.middleware = Middlewares()
66
app.middleware.use(CommonErrorMiddleware())
77
app.middleware.use(CustomHeaderMiddleware())
8+
89
let publicDirectory = "\(app.directory.publicDirectory)/dist"
910
app.middleware.use(FileMiddleware(publicDirectory: publicDirectory))
1011

11-
app.http.server.configuration.supportPipelining = true
12+
app.http.server.configuration.port = Environment.process.PORT.flatMap { Int($0) } ?? 8080
1213
app.http.server.configuration.requestDecompression = .enabled
1314
app.http.server.configuration.responseCompression = .enabled
15+
app.http.server.configuration.supportPipelining = true
1416

1517
app.views.use(.leaf)
1618
app.leaf.configuration.rootDirectory = publicDirectory

0 commit comments

Comments
 (0)