-
Notifications
You must be signed in to change notification settings - Fork 178
Expand file tree
/
Copy path.swiftlint.yml
More file actions
42 lines (39 loc) · 1.19 KB
/
.swiftlint.yml
File metadata and controls
42 lines (39 loc) · 1.19 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
excluded:
- .build
- .build-test
- .cache
- .swiftpm
- build
- Sources/LiveKit/Protos
disabled_rules:
- todo
- nesting
- identifier_name
- multiple_closures_with_trailing_closure
# SwiftFormat conflicts
- trailing_comma
- line_length
- opening_brace
type_name:
excluded:
- ID
- OS
custom_rules:
no_xctest_in_swift_tests:
name: "No XCTest in Swift Tests"
regex: "^import XCTest"
message: "Use Swift Testing (import Testing) instead of XCTest in Swift test targets."
severity: error
included:
- "Tests/LiveKitCoreTests/.*\\.swift"
- "Tests/LiveKitAudioTests/.*\\.swift"
no_manual_task_management:
name: "No Manual Task Management"
regex: "(let|var)\\s+\\w+\\s*:\\s*Task<Void,"
message: "Prefer AnyTaskCancellable over manually managing Task<Void, ...>. This allows for safer cleanup, similar to Combine's AnyCancellable."
severity: warning
prefer_objc_members:
name: "Prefer @objcMembers for classes"
regex: "@objc(?![(\\[])\\s+(?:(?:public|open|final|internal|package)\\s+)*class\\b"
message: "Use @objcMembers instead of @objc for classes to implicitly expose members to Objective-C."
severity: warning