You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# - always_put_required_named_parameters_first # we prefer having parameters in the same order as fields https://github.com/flutter/flutter/issues/10219
40
+
- always_specify_types
41
+
# - always_use_package_imports # we do this commonly
42
+
- annotate_overrides
43
+
- annotate_redeclares
44
+
# - avoid_annotating_with_dynamic # conflicts with always_specify_types
45
+
- avoid_bool_literals_in_conditional_expressions
46
+
# - avoid_catches_without_on_clauses # blocked on https://github.com/dart-lang/linter/issues/3023
47
+
# - avoid_catching_errors # blocked on https://github.com/dart-lang/linter/issues/4998
48
+
# - avoid_classes_with_only_static_members # we do this commonly for `abstract final class`es
49
+
- avoid_double_and_int_checks
50
+
- avoid_dynamic_calls
51
+
- avoid_empty_else
52
+
- avoid_equals_and_hash_code_on_mutable_classes
53
+
- avoid_escaping_inner_quotes
54
+
- avoid_field_initializers_in_const_classes
55
+
# - avoid_final_parameters # incompatible with prefer_final_parameters
56
+
- avoid_function_literals_in_foreach_calls
57
+
# - avoid_implementing_value_types # see https://github.com/dart-lang/linter/issues/4558
58
+
- avoid_init_to_null
59
+
- avoid_js_rounded_ints
60
+
# - avoid_multiple_declarations_per_line # seems to be a stylistic choice we don't subscribe to
61
+
- avoid_null_checks_in_equality_operators
62
+
# - avoid_positional_boolean_parameters # would have been nice to enable this but by now there's too many places that break it
63
+
- avoid_print
64
+
# - avoid_private_typedef_functions # we prefer having typedef (discussion in https://github.com/flutter/flutter/pull/16356)
65
+
- avoid_redundant_argument_values
66
+
- avoid_relative_lib_imports
67
+
- avoid_renaming_method_parameters
68
+
- avoid_return_types_on_setters
69
+
- avoid_returning_null_for_void
70
+
# - avoid_returning_this # there are enough valid reasons to return `this` that this lint ends up with too many false positives
71
+
- avoid_setters_without_getters
72
+
- avoid_shadowing_type_parameters
73
+
- avoid_single_cascade_in_expression_statements
74
+
- avoid_slow_async_io
75
+
- avoid_type_to_string
76
+
- avoid_types_as_parameter_names
77
+
# - avoid_types_on_closure_parameters # conflicts with always_specify_types
78
+
- avoid_unnecessary_containers
79
+
- avoid_unused_constructor_parameters
80
+
- avoid_void_async
81
+
# - avoid_web_libraries_in_flutter # we use web libraries in web-specific code, and our tests prevent us from using them elsewhere
82
+
- await_only_futures
83
+
- camel_case_extensions
84
+
- camel_case_types
85
+
- cancel_subscriptions
86
+
# - cascade_invocations # doesn't match the typical style of this repo
87
+
- cast_nullable_to_non_nullable
88
+
# - close_sinks # not reliable enough
89
+
- collection_methods_unrelated_type
90
+
- combinators_ordering
91
+
# - comment_references # blocked on https://github.com/dart-lang/linter/issues/1142
92
+
- conditional_uri_does_not_exist
93
+
# - constant_identifier_names # needs an opt-out https://github.com/dart-lang/linter/issues/204
94
+
- control_flow_in_finally
95
+
- curly_braces_in_flow_control_structures
96
+
- dangling_library_doc_comments
97
+
- depend_on_referenced_packages
98
+
- deprecated_consistency
99
+
# - deprecated_member_use_from_same_package # we allow self-references to deprecated members
100
+
# - diagnostic_describe_all_properties # enabled only at the framework level (packages/flutter/lib)
101
+
- directives_ordering
102
+
# - discarded_futures # too many false positives, similar to unawaited_futures
103
+
# - do_not_use_environment # there are appropriate times to use the environment, especially in our tests and build logic
104
+
# - document_ignores # not yet tested
105
+
- empty_catches
106
+
- empty_constructor_bodies
107
+
- empty_statements
108
+
- eol_at_end_of_file
109
+
- exhaustive_cases
110
+
- file_names
111
+
- flutter_style_todos
112
+
- hash_and_equals
113
+
- implementation_imports
114
+
- implicit_call_tearoffs
115
+
- implicit_reopen
116
+
- invalid_case_patterns
117
+
- invalid_runtime_check_with_js_interop_types
118
+
# - join_return_with_assignment # not required by flutter style
119
+
- leading_newlines_in_multiline_strings
120
+
- library_annotations
121
+
- library_names
122
+
- library_prefixes
123
+
- library_private_types_in_public_api
124
+
# - lines_longer_than_80_chars # not required by flutter style
125
+
- literal_only_boolean_expressions
126
+
# - matching_super_parameters # blocked on https://github.com/dart-lang/language/issues/2509
127
+
- missing_code_block_language_in_doc_comment
128
+
- missing_whitespace_between_adjacent_strings
129
+
- no_adjacent_strings_in_list
130
+
- no_default_cases
131
+
- no_duplicate_case_values
132
+
- no_leading_underscores_for_library_prefixes
133
+
- no_leading_underscores_for_local_identifiers
134
+
- no_literal_bool_comparisons
135
+
- no_logic_in_create_state
136
+
# - no_runtimeType_toString # ok in tests; we enable this only in packages/
137
+
- no_self_assignments
138
+
- no_wildcard_variable_uses
139
+
- non_constant_identifier_names
140
+
- noop_primitive_operations
141
+
- null_check_on_nullable_type_parameter
142
+
- null_closures
143
+
# - omit_local_variable_types # opposite of always_specify_types
144
+
# - omit_obvious_local_variable_types # not yet tested
145
+
# - one_member_abstracts # too many false positives
146
+
- only_throw_errors # this does get disabled in a few places where we have legacy code that uses strings et al
# - prefer_asserts_with_message # not required by flutter style
155
+
- prefer_collection_literals
156
+
- prefer_conditional_assignment
157
+
- prefer_const_constructors
158
+
- prefer_const_constructors_in_immutables
159
+
- prefer_const_declarations
160
+
- prefer_const_literals_to_create_immutables
161
+
# - prefer_constructors_over_static_methods # far too many false positives
162
+
- prefer_contains
163
+
# - prefer_double_quotes # opposite of prefer_single_quotes
164
+
# - prefer_expression_function_bodies # conflicts with ./docs/contributing/Style-guide-for-Flutter-repo.md#consider-using--for-short-functions-and-methods
165
+
- prefer_final_fields
166
+
- prefer_final_in_for_each
167
+
- prefer_final_locals
168
+
# - prefer_final_parameters # adds too much verbosity
169
+
- prefer_for_elements_to_map_fromIterable
170
+
- prefer_foreach
171
+
- prefer_function_declarations_over_variables
172
+
- prefer_generic_function_type_aliases
173
+
- prefer_if_elements_to_conditional_expressions
174
+
- prefer_if_null_operators
175
+
- prefer_initializing_formals
176
+
- prefer_inlined_adds
177
+
# - prefer_int_literals # conflicts with ./docs/contributing/Style-guide-for-Flutter-repo.md#use-double-literals-for-double-constants
178
+
- prefer_interpolation_to_compose_strings
179
+
- prefer_is_empty
180
+
- prefer_is_not_empty
181
+
- prefer_is_not_operator
182
+
- prefer_iterable_whereType
183
+
- prefer_mixin
184
+
# - prefer_null_aware_method_calls # "call()" is confusing to people new to the language since it's not documented anywhere
185
+
- prefer_null_aware_operators
186
+
- prefer_relative_imports
187
+
- prefer_single_quotes
188
+
- prefer_spread_collections
189
+
- prefer_typing_uninitialized_variables
190
+
- prefer_void_to_null
191
+
- provide_deprecation_message
192
+
# - public_member_api_docs # enabled on a case-by-case basis; see e.g. packages/analysis_options.yaml
193
+
- recursive_getters
194
+
# - require_trailing_commas # would be nice, but requires a lot of manual work: 10,000+ code locations would need to be reformatted by hand after bulk fix is applied
0 commit comments