diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml new file mode 100644 index 0000000..dfad1eb --- /dev/null +++ b/xcode/.swiftlint.yml @@ -0,0 +1,152 @@ +opt_in_rules: + - closure_spacing + - closure_end_indentation + - conditional_returns_on_newline + + - empty_count + - explicit_init + - extension_access_modifier + + - fatal_error_message + - file_header + - first_where + - force_unwrapping + + - implicit_return + + - let_var_whitespace + + - multiline_parameters + + - nimble_operator - discuss + - number_separator + + - object_literal + - overridden_super_call + + - private_outlet + - prohibited_super_call + + - redundant_nil_coalescing + + - unneeded_parentheses_in_closure_argument + + - vertical_parameter_alignment_on_call + +excluded: + - Carthage + - Pods + - Generated + +line_length: 128 + +cyclomatic_complexity: + ignores_case_statements: true + +type_body_length: + - 500 # warning + - 700 # error + +file_length: + warning: 500 + error: 1200 + +function_parameter_count: + error: 5 + +identifier_name: + excluded: + - id + - ok + - URL + - x + - y + - z + +warning_threshold: 1 + +custom_rules: + uiwebview_disabled: + included: ".*.swift" + name: "UIWebView Usage Disabled" + regex: 'UIWebView' + message: "Do not use UIWebView. Use WKWebView Instead. https://developer.apple.com/reference/uikit/uiwebview" + severity: error + + native_print: + name: "print -> DDLog" + regex: '(print|NSLog)\(' + message: "Please use CocoaLumberjack instead `print` and `NSlog`" + severity: error + + zero: + name: "Short .zero" + regex: '\(top: 0, left: 0, bottom: 0, right: 0\)' + message: "Please use short init `.zero`." + severity: error + + private_variable: + name: "Private variable" + regex: '(?