-
Notifications
You must be signed in to change notification settings - Fork 1
/
analysis_options.yaml
135 lines (131 loc) · 5.08 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
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.
# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
analyzer:
language:
strict-casts: true
strict-inference: true
strict-raw-types: true
exclude:
- "**/*.g.dart"
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at
# https://dart-lang.github.io/linter/lints/index.html.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# Error
avoid_slow_async_io: true
comment_references: true
#discarded_futures: true # todo: use
implicit_reopen: true # experimental
invalid_case_patterns: true # experimental
literal_only_boolean_expressions: true
no_adjacent_strings_in_list: true
#no_self_assignments: true # unreleased
#no_wildcard_variable_uses: true # unreleased
prefer_relative_imports: true
test_types_in_equals: true
throw_in_finally: true
unnecessary_statements: true
# Style
always_declare_return_types: true
avoid_bool_literals_in_conditional_expressions: true
avoid_classes_with_only_static_members: true
avoid_equals_and_hash_code_on_mutable_classes: true
avoid_escaping_inner_quotes: true
avoid_field_initializers_in_const_classes: true
avoid_implementing_value_types: true
avoid_multiple_declarations_per_line: true
avoid_positional_boolean_parameters: true
avoid_private_typedef_functions: true
avoid_returning_this: true
avoid_setters_without_getters: true
avoid_types_on_closure_parameters: true
avoid_unused_constructor_parameters: true
avoid_void_async: true
cascade_invocations: true
cast_nullable_to_non_nullable: true
combinators_ordering: true
conditional_uri_does_not_exist: true
dangling_library_doc_comments: true
deprecated_consistency: true
directives_ordering: true
eol_at_end_of_file: true
implicit_call_tearoffs: true
join_return_with_assignment: true
leading_newlines_in_multiline_strings: true
library_annotations: true
lines_longer_than_80_chars: false # I use 100 chars
matching_super_parameters: true
missing_whitespace_between_adjacent_strings: true
no_default_cases: true # experimental
no_literal_bool_comparisons: true
no_runtimeType_toString: true
noop_primitive_operations: true
omit_local_variable_types: true
one_member_abstracts: true
only_throw_errors: true
#package_api_docs: true # todo: use
parameter_assignments: true
prefer_asserts_in_initializer_lists: true
prefer_asserts_with_message: true
prefer_constructors_over_static_methods: true
prefer_double_quotes: true
prefer_expression_function_bodies: true
prefer_final_in_for_each: true
prefer_final_locals: true
prefer_foreach: true
prefer_if_elements_to_conditional_expressions: true
prefer_int_literals: true
prefer_mixin: true
prefer_null_aware_method_calls: true
#public_member_api_docs: true # todo: use
require_trailing_commas: true
sized_box_shrink_expand: true
#sort_constructors_first: true # todo: reconsider
sort_unnamed_constructors_first: true
tighten_type_of_initializing_formals: true
type_annotate_public_apis: true
type_literal_in_constant_pattern: true
unawaited_futures: true
unnecessary_await_in_return: true
unnecessary_breaks: true
unnecessary_lambdas: true
unnecessary_library_directive: true
unnecessary_null_aware_operator_on_extension_on_nullable: true
unnecessary_null_checks: true # experimental
unnecessary_parenthesis: true
unnecessary_raw_strings: true
unnecessary_to_list_in_spreads: true
unreachable_from_main: true
use_colored_box: true
use_decorated_box: true
use_enums: true
use_if_null_to_convert_nulls_to_bools: true
use_is_even_rather_than_modulo: true
use_late_for_private_fields_and_variables: true
use_named_constants: true
use_raw_strings: true
use_setters_to_change_properties: true
use_string_buffers: true
use_super_parameters: true # experimental
use_test_throws_matchers: true
use_to_and_as_if_applicable: true
# Pub
sort_pub_dependencies: true
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options