This repository has been archived by the owner on Jan 12, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathanalysis_options.yaml
293 lines (292 loc) · 11.3 KB
/
analysis_options.yaml
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
include: package:austerity/analysis_options.yaml
#Changing the severity of rules
#https://dart-lang.github.io/linter/lints/options/options.html
analyzer:
language:
strict-inference: true
strict-raw-types: true
strict-casts: true
exclude:
- "**/*.g.dart"
- "bin/cache/**"
- "lib/generated/relai_network/**"
errors:
always_declare_return_types: error
# This is a readability vs succintness tradeoff. I prefer succintness.
always_put_control_body_on_new_line: ignore
always_put_required_named_parameters_first: error
always_require_non_null_named_parameters: error
# We shouldn't specify types explicitly. However, this rule also
# forces us to specify type arguments so not sure what to do here...
# On top of this, even if we specify false, this rule can conflict with rules that
# require us to remove explicit types
#always_specify_types: false
always_use_package_imports: ignore
annotate_overrides: error
avoid_annotating_with_dynamic: info
avoid_bool_literals_in_conditional_expressions: error
avoid_catches_without_on_clauses: ignore
avoid_catching_errors: error
avoid_classes_with_only_static_members: error
avoid_double_and_int_checks: error
avoid_dynamic_calls: error
avoid_empty_else: error
avoid_equals_and_hash_code_on_mutable_classes: ignore
avoid_escaping_inner_quotes: error
avoid_field_initializers_in_const_classes: error
avoid_final_parameters: error
avoid_function_literals_in_foreach_calls: error
avoid_implementing_value_types: error
avoid_init_to_null: error
avoid_js_rounded_ints: error
# There is no good reason not to put multiple declarations on a single line.
avoid_multiple_declarations_per_line: ignore
avoid_null_checks_in_equality_operators: error
# This rule is not very useful. It's not uncommon to have a boolean parameter
# While good design would be to have two methods, it's not always possible and
# warnings end up stacking up in the code
avoid_positional_boolean_parameters: ignore
avoid_print: error
avoid_private_typedef_functions: error
avoid_redundant_argument_values: error
avoid_relative_lib_imports: error
avoid_renaming_method_parameters: ignore
avoid_return_types_on_setters: error
avoid_returning_null: error
avoid_returning_null_for_future: error
avoid_returning_null_for_void: error
avoid_returning_this: error
avoid_setters_without_getters: error
avoid_shadowing_type_parameters: error
avoid_single_cascade_in_expression_statements: error
avoid_slow_async_io: error
avoid_type_to_string: error
avoid_types_as_parameter_names: error
avoid_types_on_closure_parameters: error
avoid_unnecessary_containers: error
avoid_unused_constructor_parameters: error
avoid_void_async: error
avoid_web_libraries_in_flutter: error
await_only_futures: error
body_might_complete_normally_catch_error: error
body_might_complete_normally_nullable: error
camel_case_extensions: error
camel_case_types: error
cancel_subscriptions: error
cascade_invocations: error
cast_nullable_to_non_nullable: error
close_sinks: error
collection_methods_unrelated_type: error
combinators_ordering: error
comment_references: error
conditional_uri_does_not_exist: error
constant_identifier_names: error
control_flow_in_finally: error
curly_braces_in_flow_control_structures: error
dangling_library_doc_comments: error
dead_code: error
dead_null_aware_expression: error
# If you depend on a package, you also need to provide a version constraint.
# Often it becomes easy to specify conflicting ones. It's often best to allow
# the dependency tree to automatically pick a version.
depend_on_referenced_packages: ignore
deprecated_consistency: error
deprecated_member_use_from_same_package: error
deprecated_member_use: error
# deprecated_member_use_from_same_package: error - Not recognised
# If you're building a public Flutter package, switch this to error.
# Otherwise, a warning is probably more appropriate
diagnostic_describe_all_properties: ignore #As much as this is useful, it is too problematic because auto fix goes wild with this
directives_ordering: error
discarded_futures: error
do_not_use_environment: error
duplicate_import: error
equal_keys_in_map: error
empty_catches: error
empty_constructor_bodies: error
empty_statements: error
eol_at_end_of_file: error
exhaustive_cases: error
file_names: error
# I think you can format TODOs however you like
flutter_style_todos: ignore
hash_and_equals: error
implementation_imports: error
implicit_call_tearoffs: error
implicit_reopen: error
inference_failure_on_collection_literal: error
inference_failure_on_instance_creation: error
inference_failure_on_function_invocation: error
inference_failure_on_function_return_type: error
inference_failure_on_untyped_parameter: error
invalid_case_patterns: error
invalid_null_aware_operator: error
invalid_return_type_for_catch_error: error
invalid_use_of_protected_member: error
invalid_use_of_visible_for_testing_member: error
invalid_visibility_annotation: error
invariant_booleans: error
iterable_contains_unrelated_type: error
join_return_with_assignment: info
leading_newlines_in_multiline_strings: error
library_annotations: error
library_names: error
library_prefixes: error
library_private_types_in_public_api: error
lines_longer_than_80_chars: info
list_remove_unrelated_type: error
literal_only_boolean_expressions: error
matching_super_parameters: error
missing_enum_constant_in_switch: error
missing_whitespace_between_adjacent_strings: error
must_be_immutable: error
must_call_super: error
no_adjacent_strings_in_list: error
no_default_cases: error
no_duplicate_case_values: error
no_leading_underscores_for_library_prefixes: error
no_leading_underscores_for_local_identifiers: error
no_literal_bool_comparisons: error
no_logic_in_create_state: error
no_runtimeType_toString: error
non_constant_identifier_names: error
noop_primitive_operations: error
null_argument_to_non_null_type: error
null_check_always_fails: error
null_check_on_nullable_type_parameter: error
null_closures: error
omit_local_variable_types: info
one_member_abstracts: error
only_throw_errors: error
overridden_fields: error
override_on_non_overriding_member: error
package_api_docs: error
package_names: error
package_prefixed_library_names: error
parameter_assignments: error
prefer_adjacent_string_concatenation: error
prefer_asserts_in_initializer_lists: error
prefer_asserts_with_message: error
prefer_collection_literals: error
prefer_conditional_assignment: error
prefer_const_constructors: error
prefer_const_constructors_in_immutables: error
prefer_const_declarations: error
prefer_const_literals_to_create_immutables: error
prefer_constructors_over_static_methods: error
prefer_contains: error
# Most people prefer single quotes
# prefer_double_quotes: ignore
prefer_equal_for_default_values: error
prefer_expression_function_bodies: ignore
prefer_final_fields: error
prefer_final_in_for_each: error
prefer_final_locals: error
prefer_final_parameters: ignore
prefer_for_elements_to_map_fromIterable: error
prefer_foreach: error
prefer_function_declarations_over_variables: error
prefer_generic_function_type_aliases: error
prefer_if_elements_to_conditional_expressions: error
prefer_if_null_operators: error
prefer_initializing_formals: error
prefer_inlined_adds: error
prefer_int_literals: error
prefer_interpolation_to_compose_strings: error
prefer_is_empty: error
prefer_is_not_empty: error
prefer_is_not_operator: error
prefer_iterable_whereType: error
prefer_mixin: error
prefer_null_aware_method_calls: error
prefer_null_aware_operators: error
# package imports are usually better
#prefer_relative_imports: ignore
prefer_single_quotes: error
prefer_spread_collections: error
prefer_typing_uninitialized_variables: error
prefer_void_to_null: error
provide_deprecation_message: error
# All public SDKs should document all public members, however...
# Arguably, apps may not require this. The warning is a nice reminder.
# If you see too many of these, try prefixing more members with _
public_member_api_docs: ignore
recursive_getters: error
require_trailing_commas: info
secure_pubspec_urls: error
sdk_version_constructor_tearoffs: error
sized_box_for_whitespace: error
sized_box_shrink_expand: error
slash_for_doc_comments: error
sort_child_properties_last: error
sort_constructors_first: error
sort_pub_dependencies: error
sort_unnamed_constructors_first: error
strict_raw_type: error
subtype_of_sealed_class: error
test_types_in_equals: error
throw_in_finally: error
tighten_type_of_initializing_formals: error
type_annotate_public_apis: error
type_init_formals: error
type_literal_in_constant_pattern: info
unawaited_futures: error
unnecessary_await_in_return: error
unnecessary_brace_in_string_interps: error
unnecessary_breaks: info
unnecessary_cast: error
unnecessary_const: error
unnecessary_constructor_name: error
unnecessary_final: error
unnecessary_getters_setters: error
unnecessary_import: error
unnecessary_lambdas: error
unnecessary_late: error
unnecessary_library_directive: error
unnecessary_new: error
unnecessary_non_null_assertion: error
unnecessary_null_aware_assignments: error
unnecessary_null_aware_operator_on_extension_on_nullable: error
unnecessary_null_checks: error
unnecessary_null_comparison: error
unnecessary_null_in_if_null_operators: error
unnecessary_nullable_for_final_variable_declarations: error
unnecessary_overrides: error
unnecessary_parenthesis: error
unnecessary_raw_strings: error
unnecessary_set_literal: error
unnecessary_statements: error
unnecessary_string_escapes: error
unnecessary_string_interpolations: error
unnecessary_this: error
unnecessary_to_list_in_spreads: error
unnecessary_type_check: error
unreachable_from_main: error
unreachable_switch_case: error
unrelated_type_equality_checks: error
unsafe_html: error
unused_element: error
unused_field: error
unused_import: error
unused_local_variable: error
use_build_context_synchronously: error
use_colored_box: error
use_decorated_box: error
use_enums: error
use_full_hex_values_for_flutter_colors: error
use_function_type_syntax_for_parameters: error
use_if_null_to_convert_nulls_to_bools: error
use_is_even_rather_than_modulo: error
use_key_in_widget_constructors: error
use_late_for_private_fields_and_variables: error
use_named_constants: error
use_raw_strings: error
use_rethrow_when_possible: error
use_setters_to_change_properties: error
use_string_buffers: error
use_string_in_part_of_directives: error
use_super_parameters: error
use_test_throws_matchers: error
use_to_and_as_if_applicable: error
valid_regexps: error
void_checks: error