mirror of
https://github.com/zhigang1992/facebook-ios-sdk.git
synced 2026-01-12 09:03:54 +08:00
Reviewed By: samodom Differential Revision: D40039657 fbshipit-source-id: 5c18105639832320c30b5d5caa6d9c3ab54adbaf
228 lines
6.4 KiB
YAML
228 lines
6.4 KiB
YAML
excluded:
|
|
- internal
|
|
- samples
|
|
- testing
|
|
- Package.swift
|
|
|
|
cyclomatic_complexity: 11
|
|
file_header:
|
|
required_string:
|
|
"/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n * All rights reserved.\n *\n * This source code is
|
|
licensed under the license found in the\n * LICENSE file in the root directory of this source tree.\n */"
|
|
|
|
identifier_name:
|
|
max_length: 56 # default 40
|
|
excluded: [ui, EU, id, to]
|
|
large_tuple: 3
|
|
line_length:
|
|
warning: 120
|
|
ignores_comments: true
|
|
ignores_urls: true
|
|
ignores_interpolated_strings: true
|
|
nesting:
|
|
type_level: 2
|
|
private_outlet:
|
|
allow_private_set: true
|
|
file_name:
|
|
excluded: [
|
|
Enums+Extensions.swift,
|
|
BridgeAPI+ApplicationOpenUrlTests.swift,
|
|
BridgeAPI+SessionCompletionHandlerTests.swift,
|
|
ShareAppEventNames.swift,
|
|
ShareAppEventParameters.swift,
|
|
ShareDialogMode.swift,
|
|
LoginAppEventNames.swift,
|
|
FBSDKAppEventConversionsAPITransformer.swift,
|
|
AppLinkNavigationTestDependencies.swift,
|
|
ValueClamping.swift,
|
|
]
|
|
trailing_comma:
|
|
mandatory_comma: true
|
|
type_name:
|
|
excluded: [RawAppEventsConfigurationResponseFixtures, GraphRequestPiggybackManagerProviderTests]
|
|
allowed_symbols: "_"
|
|
|
|
# Use 10x the defaults for these to essentially disable these rules
|
|
type_body_length:
|
|
warning: 2000 # default 200
|
|
error: 3500 # default 350
|
|
|
|
file_length:
|
|
warning: 4000 # default 400
|
|
error: 10000 # default 1000
|
|
|
|
function_body_length:
|
|
warning: 400 # default 40
|
|
error: 1000 # default 100
|
|
|
|
# Xcode fixits insert these as "public override" vs "override public" so overriding Swiftlint's defaullt of "override, acl, ..." to "acl, override, ..."
|
|
modifier_order:
|
|
preferred_modifier_order:
|
|
[acl, override, setterACL, dynamic, mutators, lazy, final, required, convenience, typeMethods, owned]
|
|
|
|
custom_rules:
|
|
blank_line_after_single_line_guard:
|
|
regex: "guard [^\n]*? else \\{ return (:?\\w+ )?\\}\n[^\n]"
|
|
message: "Prefer a blank line after a guard with a return."
|
|
objc_members_above_objc:
|
|
regex: "@objc[^\n]*?\n@objcMembers"
|
|
message: "Place @objcMembers above @objc"
|
|
objc_used_without_importing_foundation:
|
|
regex: "LICENSE file in the root directory of this source tree.\n \\*/\n+@objc"
|
|
message: "@objc attribute used without importing module 'Foundation'"
|
|
swiftlint_disable_without_this_or_next:
|
|
regex: "// swiftlint:disable (?!implicitly_unwrapped_optional|force_unwrapping)"
|
|
message: "Prefer using swiftlint:disable:this or swiftlint:disable:next over swiftlint:disable"
|
|
one_let_per_line:
|
|
regex: " let [^\n]*?, let "
|
|
message: "Place each let statement and condition on its own line"
|
|
test_classes_should_be_final:
|
|
regex: "(?<!final )class.*XCTestCase\\b"
|
|
message: "Make test classes final"
|
|
prefer_final_classes:
|
|
regex: "(?<!(?:final|open) )class (?!func|var)[^\n]*\\{"
|
|
message: "Most classes should be declared as final even when not declared as open"
|
|
|
|
only_rules:
|
|
- array_init
|
|
- block_based_kvo
|
|
- class_delegate_protocol
|
|
- closing_brace
|
|
- closure_end_indentation
|
|
- closure_parameter_position
|
|
- closure_spacing
|
|
- collection_alignment
|
|
- colon
|
|
- comma
|
|
- comment_spacing
|
|
- compiler_protocol_init
|
|
- computed_accessors_order
|
|
- contains_over_filter_is_empty
|
|
- contains_over_first_not_nil
|
|
- control_statement
|
|
- convenience_type
|
|
- custom_rules
|
|
- cyclomatic_complexity
|
|
- deployment_target
|
|
- discarded_notification_center_observer
|
|
- discouraged_direct_init
|
|
- discouraged_optional_boolean
|
|
- duplicate_enum_cases
|
|
- duplicate_imports
|
|
- dynamic_inline
|
|
- empty_count
|
|
- empty_enum_arguments
|
|
- empty_parameters
|
|
- empty_parentheses_with_trailing_closure
|
|
- empty_string
|
|
- empty_xctest_method
|
|
- explicit_init
|
|
- fallthrough
|
|
- fatal_error_message
|
|
- file_header
|
|
- file_length
|
|
- file_name
|
|
- first_where
|
|
- for_where
|
|
- force_cast
|
|
- force_try
|
|
- force_unwrapping
|
|
- function_body_length
|
|
- function_parameter_count
|
|
- generic_type_name
|
|
- identifier_name
|
|
- implicit_getter
|
|
- implicit_return
|
|
- implicitly_unwrapped_optional
|
|
- inclusive_language
|
|
- inert_defer
|
|
- is_disjoint
|
|
- joined_default_parameter
|
|
- large_tuple
|
|
- leading_whitespace
|
|
- legacy_cggeometry_functions
|
|
- legacy_constant
|
|
- legacy_constructor
|
|
- legacy_hashing
|
|
- legacy_nsgeometry_functions
|
|
- let_var_whitespace
|
|
- line_length
|
|
- literal_expression_end_indentation
|
|
- lower_acl_than_parent
|
|
- mark
|
|
- modifier_order
|
|
- multiline_arguments
|
|
- multiline_function_chains
|
|
- multiline_literal_brackets
|
|
- multiline_parameters
|
|
- multiline_parameters_brackets
|
|
- multiple_closures_with_trailing_closure
|
|
- nesting
|
|
- nimble_operator
|
|
- no_fallthrough_only
|
|
- no_space_in_method_call
|
|
- notification_center_detachment
|
|
- nsobject_prefer_isequal
|
|
- opening_brace
|
|
- operator_usage_whitespace
|
|
- operator_whitespace
|
|
- orphaned_doc_comment
|
|
- overridden_super_call
|
|
- override_in_extension
|
|
- pattern_matching_keywords
|
|
# - prefer_self_in_static_references # prevent "'prefer_self_in_static_references' is not a valid rule identifier" warning in older version of swiftlint
|
|
- private_action
|
|
- private_outlet
|
|
- private_over_fileprivate
|
|
- private_unit_test
|
|
- prohibited_super_call
|
|
- protocol_property_accessors_order
|
|
- quick_discouraged_call
|
|
- quick_discouraged_focused_test
|
|
- quick_discouraged_pending_test
|
|
- reduce_boolean
|
|
- redundant_discardable_let
|
|
- redundant_nil_coalescing
|
|
- redundant_objc_attribute
|
|
- redundant_optional_initialization
|
|
- redundant_set_access_control
|
|
- redundant_string_enum_value
|
|
- redundant_type_annotation
|
|
- redundant_void_return
|
|
- required_enum_case
|
|
- return_arrow_whitespace
|
|
- shorthand_operator
|
|
- single_test_class
|
|
- sorted_first_last
|
|
- sorted_imports
|
|
- statement_position
|
|
- superfluous_disable_command
|
|
- switch_case_alignment
|
|
- syntactic_sugar
|
|
- trailing_closure
|
|
- trailing_comma
|
|
- trailing_newline
|
|
- trailing_semicolon
|
|
- trailing_whitespace
|
|
- type_body_length
|
|
- type_name
|
|
- unavailable_function
|
|
- unneeded_break_in_switch
|
|
- unneeded_parentheses_in_closure_argument
|
|
- untyped_error_in_catch
|
|
- unused_capture_list
|
|
- unused_closure_parameter
|
|
- unused_control_flow_label
|
|
- unused_enumerated
|
|
- unused_optional_binding
|
|
- unused_setter_value
|
|
- valid_ibinspectable
|
|
- vertical_parameter_alignment
|
|
- vertical_parameter_alignment_on_call
|
|
- vertical_whitespace
|
|
- vertical_whitespace_closing_braces
|
|
- void_return
|
|
- xct_specific_matcher
|
|
- xctfail_message
|
|
- yoda_condition
|