Repository navigation
Expand file tree
/
Copy pathPackages.swift
More file actions
142 lines (133 loc) · 8.72 KB
/
Copy pathPackages.swift
File metadata and controls
142 lines (133 loc) · 8.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import Kiln
private let routingKit = Module("RoutingKit", description: "High-performance routing engine for HTTP requests.")
private let consoleKit = Module("ConsoleKit", description: "APIs for creating interactive CLI tools.")
// ConsoleKit 4 splits its API across three products; 5 merges them back into ConsoleKit.
private let consoleKitCommands = Module("ConsoleKitCommands", description: "Command definitions, argument parsing, and command routing.")
private let consoleKitTerminal = Module("ConsoleKitTerminal", description: "Terminal I/O, output styling, and activity indicators.")
private let consoleLogger = Module("ConsoleLogger", description: "A SwiftLog LogHandler implementation for customizable logging to a console.")
private let multipartKit = Module("MultipartKit", description: "Multipart form data parsing and encoding.")
// Vapor modules shared across its version lines (v5 drops XCTVapor and adds VaporMacros).
private let vapor = Module("Vapor", description: "Core web framework for building server-side Swift applications.")
private let xctVapor = Module("XCTVapor", group: "Testing", description: "Testing utilities for Vapor applications when using XCTest.")
private let vaporTesting = Module("VaporTesting", group: "Testing", description: "Modern testing framework for Vapor apps when using Swift Testing.")
private let vaporMacros = Module("VaporMacros", description: "Macros used by Vapor.")
// JWT's v4 and v5 (`main`) lines both currently depend on Vapor 4.
private let jwt = Module("JWT", description: "JWT integration for Vapor authentication.")
private let jwtKit = Module("JWTKit", description: "JSON Web Token signing and verification framework.")
let packages: [APIPackage] = [
APIPackage("vapor/vapor", group: "Core", versions: [
PackageVersion("4", name: "4.x", ref: "vapor4", isDefault: true, dependencies: [
DependencyPin("vapor/routing-kit", "4"),
DependencyPin("vapor/console-kit", "4"),
DependencyPin("vapor/multipart-kit", "4"),
DependencyPin("vapor/websocket-kit"),
DependencyPin("vapor/async-kit"),
], modules: [vapor, xctVapor, vaporTesting]),
// Vapor 5 uses the 5.x lines of these and no longer depends on
// websocket-kit or async-kit.
PackageVersion("5-beta", name: "5.0 (beta)", ref: "main", isPrerelease: true, dependencies: [
DependencyPin("vapor/routing-kit", "5-beta"),
DependencyPin("vapor/console-kit", "5-beta"),
DependencyPin("vapor/multipart-kit", "5-alpha"),
], modules: [vapor, vaporTesting, vaporMacros]),
]),
APIPackage("vapor/async-kit", group: "Core", versions: [
.single(ref: "main", modules: [Module("AsyncKit", description: "Async/await utilities and helpers for concurrent programming.")]),
]),
APIPackage("vapor/routing-kit", group: "Core", versions: [
PackageVersion("4", name: "4.x", ref: "v4", isDefault: true, modules: [routingKit]),
PackageVersion("5-beta", name: "5.0 (beta)", ref: "main", isPrerelease: true, modules: [routingKit]),
]),
APIPackage("vapor/console-kit", group: "Core", versions: [
PackageVersion("4", name: "4.x", ref: "v4", isDefault: true, modules: [consoleKit, consoleKitCommands, consoleKitTerminal]),
PackageVersion("5-beta", name: "5.0 (beta)", ref: "main", isPrerelease: true, modules: [consoleKit, consoleLogger]),
]),
APIPackage("vapor/websocket-kit", group: "Core", versions: [
.single(ref: "main", modules: [Module("WebSocketKit", description: "WebSocket client and server implementation.")]),
]),
APIPackage("vapor/multipart-kit", group: "Core", versions: [
PackageVersion("4", name: "4.x", ref: "v4", isDefault: true, modules: [multipartKit]),
PackageVersion("5-alpha", name: "5.0 (alpha)", ref: "main", isPrerelease: true, modules: [multipartKit]),
]),
APIPackage("vapor/jwt", group: "Authentication", versions: [
PackageVersion("4", name: "4.x", ref: "v4", isDefault: true, dependencies: [
DependencyPin("vapor/vapor", "4"),
DependencyPin("vapor/jwt-kit", "4"),
], modules: [jwt]),
PackageVersion("5-beta", name: "5.0 (beta)", ref: "main", isPrerelease: true, dependencies: [
DependencyPin("vapor/vapor", "4"),
DependencyPin("vapor/jwt-kit", "5-beta"),
], modules: [jwt]),
]),
APIPackage("vapor/jwt-kit", group: "Authentication", versions: [
PackageVersion("4", name: "4.x", ref: "v4", isDefault: true, modules: [jwtKit]),
PackageVersion("5-beta", name: "5.0 (beta)", ref: "main", isPrerelease: true, modules: [jwtKit]),
]),
APIPackage("vapor/authentication", group: "Authentication", versions: [
.single(ref: "main", modules: [Module("Authentication", description: "Authentication framework for Swift applications.")]),
]),
APIPackage("vapor/leaf", group: "Templating", versions: [
.single(ref: "main", modules: [Module("Leaf", description: "Vapor integration for LeafKit.")]),
]),
APIPackage("vapor/leaf-kit", group: "Templating", versions: [
.single(ref: "main", modules: [Module("LeafKit", description: "Core templating engine framework.")]),
]),
APIPackage("vapor/fluent", group: "Database", versions: [
.single(ref: "main", modules: [Module("Fluent", description: "Vapor integration package for FluentKit.")]),
]),
APIPackage("vapor/fluent-kit", group: "Database", versions: [
.single(ref: "main", modules: [
Module("FluentKit", description: "Core ORM framework for database operations."),
Module("FluentSQL", description: "SQL dialect support for Fluent ORM."),
Module("XCTFluent", group: "Testing", description: "Testing utilities for Fluent ORM."),
]),
]),
APIPackage("vapor/fluent-postgres-driver", group: "Database", versions: [
.single(ref: "main", modules: [Module("FluentPostgresDriver", description: "PostgreSQL driver for Fluent ORM.")]),
]),
APIPackage("vapor/fluent-mongo-driver", group: "Database", versions: [
.single(ref: "main", modules: [Module("FluentMongoDriver", description: "MongoDB driver for Fluent ORM.")]),
]),
APIPackage("vapor/fluent-mysql-driver", group: "Database", versions: [
.single(ref: "main", modules: [Module("FluentMySQLDriver", description: "MySQL driver for Fluent ORM.")]),
]),
APIPackage("vapor/fluent-sqlite-driver", group: "Database", versions: [
.single(ref: "main", modules: [Module("FluentSQLiteDriver", description: "SQLite driver for Fluent ORM.")]),
]),
APIPackage("vapor/sql-kit", group: "Database", versions: [
.single(ref: "main", modules: [Module("SQLKit", description: "SQL query building and execution framework.")]),
]),
APIPackage("vapor/postgres-kit", group: "Database", versions: [
.single(ref: "main", modules: [Module("PostgresKit", description: "PostgreSQL integration for SQLKit.")]),
]),
APIPackage("vapor/mysql-kit", group: "Database", versions: [
.single(ref: "main", modules: [Module("MySQLKit", description: "MySQL integration for SQLKit.")]),
]),
APIPackage("vapor/sqlite-kit", group: "Database", versions: [
.single(ref: "main", modules: [Module("SQLiteKit", description: "SQLite integration for SQLKit.")]),
]),
APIPackage("vapor/postgres-nio", group: "Database", versions: [
.single(ref: "main", modules: [Module("PostgresNIO", description: "Non-blocking PostgreSQL client built on SwiftNIO.")]),
]),
APIPackage("vapor/mysql-nio", group: "Database", versions: [
.single(ref: "main", modules: [Module("MySQLNIO", description: "Non-blocking MySQL client built on SwiftNIO.")]),
]),
APIPackage("vapor/sqlite-nio", group: "Database", versions: [
.single(ref: "main", modules: [Module("SQLiteNIO", description: "Non-blocking SQLite client built on SwiftNIO.")]),
]),
APIPackage("vapor/redis", group: "Database", versions: [
.single(ref: "main", modules: [Module("Redis", description: "Vapor wrapper for using Redis.")]),
]),
APIPackage("vapor/queues", group: "Queues", versions: [
.single(ref: "main", modules: [
Module("Queues", description: "Job queue system for background processing."),
Module("XCTQueues", group: "Testing", description: "Testing utilities for queue system."),
]),
]),
APIPackage("vapor/queues-redis-driver", group: "Queues", versions: [
.single(ref: "main", modules: [Module("QueuesRedisDriver", description: "Redis driver for job queue system.")]),
]),
APIPackage("vapor/apns", group: "Push Notifications", versions: [
.single(ref: "main", modules: [Module("VaporAPNS", title: "APNS", description: "Apple Push Notification Service integration.")]),
]),
]