-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstrict_lints.yaml
More file actions
133 lines (129 loc) · 4.8 KB
/
strict_lints.yaml
File metadata and controls
133 lines (129 loc) · 4.8 KB
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
include: package:flutter_lints/flutter.yaml
# https://dart.dev/tools/analysis#the-analysis-options-file
analyzer:
exclude: [build/**]
language:
strict-casts: true
strict-inference: true
strict-raw-types: true
# https://dart.dev/tools/linter-rules
linter:
rules:
# Error rules.
always_use_package_imports: true
avoid_dynamic_calls: true
avoid_slow_async_io: true
avoid_type_to_string: true
cancel_subscriptions: true
close_sinks: true
comment_references: true
deprecated_member_use_from_same_package: true
diagnostic_describe_all_properties: false # will make code complex
discarded_futures: true
implicit_reopen: true
invalid_case_patterns: true
literal_only_boolean_expressions: true
no_adjacent_strings_in_list: true
no_self_assignments: true
prefer_relative_imports: false # Always use package imports.
prefer_void_to_null: true
test_types_in_equals: true
throw_in_finally: true
unnecessary_statements: true
unsafe_html: true
# Style rules.
always_declare_return_types: true
always_put_control_body_on_new_line: false # might make code ugly
always_put_required_named_parameters_first: false # might make code ugly
always_specify_types: false # conflict: avoid_types_on_closure_parameters
annotate_redeclares: true
avoid_annotating_with_dynamic: true
avoid_bool_literals_in_conditional_expressions: true
avoid_catches_without_on_clauses: true
avoid_catching_errors: true
avoid_classes_with_only_static_members: true
avoid_double_and_int_checks: true
avoid_equals_and_hash_code_on_mutable_classes: true
avoid_escaping_inner_quotes: true
avoid_field_initializers_in_const_classes: true
avoid_final_parameters: true
avoid_implementing_value_types: true
avoid_js_rounded_ints: true
avoid_multiple_declarations_per_line: true
avoid_positional_boolean_parameters: true
avoid_private_typedef_functions: true
avoid_redundant_argument_values: 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
deprecated_consistency: true
directives_ordering: true
do_not_use_environment: true
eol_at_end_of_file: true
flutter_style_todos: true
join_return_with_assignment: true
leading_newlines_in_multiline_strings: true
lines_longer_than_80_chars: true
matching_super_parameters: true
missing_whitespace_between_adjacent_strings: true
no_default_cases: true
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: false # unnecessary to doc everything
package_prefixed_library_names: true
parameter_assignments: true
prefer_asserts_in_initializer_lists: true
prefer_asserts_with_message: false # might make code complex
prefer_constructors_over_static_methods: true
prefer_double_quotes: false # conflict: prefer_single_quotes
prefer_expression_function_bodies: false # might make code ugly.
prefer_final_in_for_each: true
prefer_final_locals: true
prefer_final_parameters: false # conflict: avoid_final_parameters
prefer_foreach: true
prefer_if_elements_to_conditional_expressions: true
prefer_int_literals: true
prefer_mixin: true
prefer_null_aware_method_calls: true
prefer_single_quotes: true
public_member_api_docs: false # unnecessary to doc everything
require_trailing_commas: false # might make code ugly
sized_box_shrink_expand: true
sort_constructors_first: true
sort_unnamed_constructors_first: true
tighten_type_of_initializing_formals: true
type_annotate_public_apis: true
unawaited_futures: true
unnecessary_await_in_return: true
unnecessary_breaks: true
unnecessary_final: false # conflict: prefer_final_locals
unnecessary_lambdas: true
unnecessary_library_directive: true
unnecessary_null_aware_operator_on_extension_on_nullable: true
unnecessary_null_checks: true
unnecessary_parenthesis: true
unnecessary_raw_strings: 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_test_throws_matchers: true
use_to_and_as_if_applicable: true
# Pub rules.
sort_pub_dependencies: true