Skip to content

Commit 9c20d1d

Browse files
author
Gilles Grousset
committed
fix(223): rule parser update
1 parent 9508310 commit 9c20d1d

File tree

4 files changed

+2435
-96
lines changed

4 files changed

+2435
-96
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#### Bug Fixes
1818

1919
- [#187](https://github.com/insideapp-oss/sonar-flutter/issues/187) pubspec.yaml parser fails when no dependencies are declared
20+
- [#223](https://github.com/insideapp-oss/sonar-flutter/issues/223) some dartanalyzer rules disappeared
2021

2122
## 0.5.1
2223

@@ -30,7 +31,7 @@
3031

3132
#### Enhancements
3233

33-
- Analyzer rules update (1 added)
34+
- Analyzer rules update: there are now 279 rules available
3435

3536
#### Bug Fixes
3637

dart-lang/src/main/resources/dartanalyzer/analysis_options.yaml

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,241 @@
11
linter:
22
rules:
3+
- always_declare_return_types
4+
- always_put_control_body_on_new_line
5+
- always_put_required_named_parameters_first
6+
- always_require_non_null_named_parameters
7+
- always_specify_types
8+
- always_use_package_imports
9+
- annotate_overrides
10+
- annotate_redeclares
11+
- avoid_annotating_with_dynamic
12+
- avoid_as
13+
- avoid_bool_literals_in_conditional_expressions
14+
- avoid_catches_without_on_clauses
15+
- avoid_catching_errors
16+
- avoid_classes_with_only_static_members
17+
- avoid_double_and_int_checks
18+
- avoid_dynamic_calls
19+
- avoid_empty_else
20+
- avoid_equals_and_hash_code_on_mutable_classes
21+
- avoid_escaping_inner_quotes
22+
- avoid_field_initializers_in_const_classes
23+
- avoid_final_parameters
24+
- avoid_function_literals_in_foreach_calls
25+
- avoid_implementing_value_types
26+
- avoid_init_to_null
27+
- avoid_js_rounded_ints
28+
- avoid_multiple_declarations_per_line
29+
- avoid_null_checks_in_equality_operators
30+
- avoid_positional_boolean_parameters
31+
- avoid_print
32+
- avoid_private_typedef_functions
33+
- avoid_redundant_argument_values
34+
- avoid_relative_lib_imports
35+
- avoid_renaming_method_parameters
36+
- avoid_return_types_on_setters
37+
- avoid_returning_null
38+
- avoid_returning_null_for_future
39+
- avoid_returning_null_for_void
40+
- avoid_returning_this
41+
- avoid_setters_without_getters
42+
- avoid_shadowing_type_parameters
43+
- avoid_single_cascade_in_expression_statements
44+
- avoid_slow_async_io
45+
- avoid_type_to_string
46+
- avoid_types_as_parameter_names
47+
- avoid_types_on_closure_parameters
48+
- avoid_unnecessary_containers
49+
- avoid_unstable_final_fields
50+
- avoid_unused_constructor_parameters
51+
- avoid_void_async
52+
- avoid_web_libraries_in_flutter
53+
- await_only_futures
54+
- camel_case_extensions
55+
- camel_case_types
56+
- cancel_subscriptions
57+
- cascade_invocations
58+
- cast_nullable_to_non_nullable
59+
- close_sinks
60+
- collection_methods_unrelated_type
61+
- combinators_ordering
62+
- comment_references
63+
- conditional_uri_does_not_exist
64+
- constant_identifier_names
65+
- control_flow_in_finally
66+
- curly_braces_in_flow_control_structures
67+
- dangling_library_doc_comments
68+
- depend_on_referenced_packages
69+
- deprecated_consistency
70+
- deprecated_member_use_from_same_package
71+
- diagnostic_describe_all_properties
72+
- directives_ordering
73+
- discarded_futures
74+
- do_not_use_environment
75+
- document_ignores
76+
- empty_catches
77+
- empty_constructor_bodies
78+
- empty_statements
79+
- enable_null_safety
80+
- eol_at_end_of_file
81+
- exhaustive_cases
82+
- file_names
83+
- flutter_style_todos
84+
- hash_and_equals
85+
- implementation_imports
86+
- implicit_call_tearoffs
87+
- implicit_reopen
88+
- invalid_case_patterns
89+
- invalid_runtime_check_with_js_interop_types
90+
- invariant_booleans
91+
- iterable_contains_unrelated_type
92+
- join_return_with_assignment
93+
- leading_newlines_in_multiline_strings
94+
- library_annotations
95+
- library_names
96+
- library_prefixes
97+
- library_private_types_in_public_api
98+
- lines_longer_than_80_chars
99+
- list_remove_unrelated_type
100+
- literal_only_boolean_expressions
101+
- matching_super_parameters
102+
- missing_code_block_language_in_doc_comment
103+
- missing_whitespace_between_adjacent_strings
104+
- no_adjacent_strings_in_list
105+
- no_default_cases
106+
- no_duplicate_case_values
107+
- no_leading_underscores_for_library_prefixes
108+
- no_leading_underscores_for_local_identifiers
109+
- no_literal_bool_comparisons
110+
- no_logic_in_create_state
111+
- no_runtimeType_toString
112+
- no_self_assignments
113+
- no_wildcard_variable_uses
114+
- non_constant_identifier_names
115+
- noop_primitive_operations
116+
- null_check_on_nullable_type_parameter
117+
- null_closures
118+
- omit_local_variable_types
119+
- omit_obvious_local_variable_types
120+
- one_member_abstracts
121+
- only_throw_errors
122+
- overridden_fields
123+
- package_api_docs
124+
- package_names
125+
- package_prefixed_library_names
126+
- parameter_assignments
127+
- prefer_adjacent_string_concatenation
128+
- prefer_asserts_in_initializer_lists
129+
- prefer_asserts_with_message
130+
- prefer_bool_in_asserts
131+
- prefer_collection_literals
132+
- prefer_conditional_assignment
133+
- prefer_const_constructors
134+
- prefer_const_constructors_in_immutables
135+
- prefer_const_declarations
136+
- prefer_const_literals_to_create_immutables
137+
- prefer_constructors_over_static_methods
138+
- prefer_contains
139+
- prefer_double_quotes
140+
- prefer_equal_for_default_values
141+
- prefer_expression_function_bodies
142+
- prefer_final_fields
143+
- prefer_final_in_for_each
144+
- prefer_final_locals
145+
- prefer_final_parameters
146+
- prefer_for_elements_to_map_fromIterable
147+
- prefer_foreach
148+
- prefer_function_declarations_over_variables
149+
- prefer_generic_function_type_aliases
150+
- prefer_if_elements_to_conditional_expressions
151+
- prefer_if_null_operators
152+
- prefer_initializing_formals
153+
- prefer_inlined_adds
154+
- prefer_int_literals
155+
- prefer_interpolation_to_compose_strings
156+
- prefer_is_empty
157+
- prefer_is_not_empty
158+
- prefer_is_not_operator
159+
- prefer_iterable_whereType
160+
- prefer_mixin
161+
- prefer_null_aware_method_calls
162+
- prefer_null_aware_operators
163+
- prefer_relative_imports
164+
- prefer_single_quotes
165+
- prefer_spread_collections
166+
- prefer_typing_uninitialized_variables
167+
- prefer_void_to_null
168+
- provide_deprecation_message
169+
- public_member_api_docs
170+
- recursive_getters
171+
- require_trailing_commas
172+
- secure_pubspec_urls
173+
- sized_box_for_whitespace
174+
- sized_box_shrink_expand
175+
- slash_for_doc_comments
176+
- sort_child_properties_last
177+
- sort_constructors_first
178+
- sort_pub_dependencies
179+
- sort_unnamed_constructors_first
180+
- super_goes_last
181+
- test_types_in_equals
182+
- throw_in_finally
183+
- tighten_type_of_initializing_formals
184+
- type_annotate_public_apis
185+
- type_init_formals
186+
- type_literal_in_constant_pattern
187+
- unawaited_futures
188+
- unintended_html_in_doc_comment
189+
- unnecessary_await_in_return
190+
- unnecessary_brace_in_string_interps
191+
- unnecessary_breaks
192+
- unnecessary_const
193+
- unnecessary_constructor_name
194+
- unnecessary_final
195+
- unnecessary_getters_setters
196+
- unnecessary_lambdas
197+
- unnecessary_late
198+
- unnecessary_library_directive
199+
- unnecessary_library_name
200+
- unnecessary_new
201+
- unnecessary_null_aware_assignments
202+
- unnecessary_null_aware_operator_on_extension_on_nullable
203+
- unnecessary_null_checks
204+
- unnecessary_null_in_if_null_operators
205+
- unnecessary_nullable_for_final_variable_declarations
206+
- unnecessary_overrides
207+
- unnecessary_parenthesis
208+
- unnecessary_raw_strings
209+
- unnecessary_statements
210+
- unnecessary_string_escapes
211+
- unnecessary_string_interpolations
212+
- unnecessary_this
213+
- unnecessary_to_list_in_spreads
214+
- unreachable_from_main
215+
- unrelated_type_equality_checks
216+
- unsafe_html
217+
- use_build_context_synchronously
218+
- use_colored_box
219+
- use_decorated_box
220+
- use_enums
221+
- use_full_hex_values_for_flutter_colors
222+
- use_function_type_syntax_for_parameters
223+
- use_if_null_to_convert_nulls_to_bools
224+
- use_is_even_rather_than_modulo
225+
- use_key_in_widget_constructors
226+
- use_late_for_private_fields_and_variables
227+
- use_named_constants
228+
- use_raw_strings
229+
- use_rethrow_when_possible
230+
- use_setters_to_change_properties
231+
- use_string_buffers
232+
- use_string_in_part_of_directives
233+
- use_super_parameters
234+
- use_test_throws_matchers
235+
- use_to_and_as_if_applicable
236+
- use_truncating_division
237+
- valid_regexps
238+
- void_checks
3239
- abi_specific_integer_invalid
4240
- abstract_field_initializer
5241
- argument_must_be_native

0 commit comments

Comments
 (0)