-
Notifications
You must be signed in to change notification settings - Fork 16
/
.swiftlint.yml
153 lines (136 loc) · 3.54 KB
/
.swiftlint.yml
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
143
144
145
146
147
148
149
150
151
152
153
included:
- App
- Sources
- Tests
excluded:
- "**/.build"
- "**/Package"
disabled_rules:
- nesting
- vertical_parameter_alignment_on_call
- extension_access_modifier
opt_in_rules:
- anonymous_argument_in_multiline_closure
- array_init
- collection_alignment
- conditional_returns_on_newline
- contains_over_filter_count
- contains_over_filter_is_empty
- contains_over_first_not_nil
- contains_over_range_nil_comparison
- convenience_type
- discarded_notification_center_observer
- discouraged_assert
- discouraged_none_name
- discouraged_object_literal
- discouraged_optional_boolean
- empty_collection_literal
- empty_count
- empty_string
- empty_xctest_method
- explicit_init
- fallthrough
- fatal_error_message
- file_name_no_space
- first_where
- flatmap_over_map_reduce
- force_unwrapping
- identical_operands
- implicit_return
- implicitly_unwrapped_optional
- joined_default_parameter
- last_where
- literal_expression_end_indentation
- lower_acl_than_parent
- modifier_order
- number_separator
- operator_usage_whitespace
- overridden_super_call
- pattern_matching_keywords
- prefer_self_in_static_references
- prefer_self_type_over_type_of_self
- prefer_zero_over_explicit_init
- prohibited_interface_builder
- prohibited_super_call
- reduce_into
- redundant_nil_coalescing
- redundant_type_annotation
- single_test_class
- sorted_first_last
- sorted_imports
- static_operator
- switch_case_on_newline
- test_case_accessibility
- toggle_bool
- unneeded_parentheses_in_closure_argument
- untyped_error_in_catch
- vertical_parameter_alignment_on_call
- yoda_condition
analyzer_rules:
- capture_variable
- unused_import
- unused_declaration
conditional_returns_on_newline:
if_only: true
private_over_fileprivate:
validate_extensions: true
severity: error
force_unwrapping:
severity: error
line_length:
warning: 150
error: 175
ignores_function_declarations: true
ignores_comments: true
ignores_urls: true
type_name:
allowed_symbols: "_"
max_length:
warning: 60
error: 60
identifier_name:
allowed_symbols: ["_", "$"]
min_length: 3
max_length:
warning: 60
error: 60
min_length:
warning: 1
cyclomatic_complexity:
warning: 20
error: 30
file_length:
warning: 1000
error: 1300
function_body_length:
warning: 250
error: 300
custom_rules:
tca_internal_action_view_calls:
included: ".*\\+View\\.swift"
name: "View Action Boundary"
regex: ".send\\([\\t|\\n|\\s]*\\.(internal|delegate).*[\\t|\\n|\\s]*\\)"
capture_group: 1
message: "Only send view actions within a viewstore."
severity: error
tca_feature_reducer_actions:
included: ".*\\+Reducer\\.swift"
name: "Reducer Boundary"
regex: "(?<!action|send)\\(\\s*\\.(internal|view)\\s*(\\(.*\\))?\\)"
capture_group: 1
message: "Only access delegate actions of embedded features."
severity: error
tca_scope_unused_closure_parameter:
name: "TCA Scope Unused Closure Parameter"
regex: '\.scope\(\s*state\s*:\s*\{\s*\_'
message: "Explicitly use closure parameter when scoping store (ensures the right state is being mutated)"
severity: error
xctassertnodifference_preferred:
name: "XCTAssertNoDifference Preferred"
regex: 'XCTAssertEqual\('
message: "Use PointFree's XCTAssertNoDifference from CustomDump library when possible"
severity: warning
excluded:
- ".*/WasmInterpreterTests/.*\\.swift"
- ".*/ModuleClientTests/.*\\.swift"
- ".*/CoreORMTests/.*\\.swift"