Skip to content

Commit 825893f

Browse files
committed
feat: add new rules
1 parent 11ccf79 commit 825893f

File tree

5 files changed

+26
-31
lines changed

5 files changed

+26
-31
lines changed

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ Below is a list of rules that are not enabled by default together with the reaso
100100
| [`avoid_futureor_void`](https://dart.dev/tools/linter-rules/avoid_futureor_void) | Not specified |
101101
| [`avoid_implementing_value_types`](https://dart.dev/tools/linter-rules/avoid_implementing_value_types) | Not specified |
102102
| [`avoid_null_checks_in_equality_operators`](https://dart.dev/tools/linter-rules/avoid_null_checks_in_equality_operators) | Has been deprecated and [will be removed](https://github.com/dart-lang/sdk/issues/59514) |
103-
| [`avoid_types_on_closure_parameters`](https://dart.dev/tools/linter-rules/avoid_types_on_closure_parameters) | Not specified |
104103
| [`close_sinks`](https://dart.dev/tools/linter-rules/close_sinks) | [Has unresolved false positives](https://github.com/dart-lang/linter/issues/1381) |
105104
| [`diagnostic_describe_all_properties`](https://dart.dev/tools/linter-rules/diagnostic_describe_all_properties) | Not specified |
106105
| [`do_not_use_environment`](https://dart.dev/tools/linter-rules/do_not_use_environment) | Not specified |
@@ -109,12 +108,9 @@ Below is a list of rules that are not enabled by default together with the reaso
109108
| [`omit_obvious_property_types`](https://dart.dev/tools/linter-rules/omit_obvious_property_types) | Incompatible with [type_annotate_public_apis](https://github.com/dart-lang/sdk/issues/60642) |
110109
| [`package_prefixed_library_names`](https://dart.dev/tools/linter-rules/package_prefixed_library_names) | [Broken; superseded by `unnecessary_library_name`](https://github.com/dart-lang/lints/issues/172) |
111110
| [`prefer_double_quotes`](https://dart.dev/tools/linter-rules/prefer_double_quotes) | Incompatible with [prefer_single_quotes](https://dart.dev/tools/linter-rules/prefer_single_quotes) |
112-
| [`prefer_expression_function_bodies`](https://dart.dev/tools/linter-rules/prefer_expression_function_bodies) | Not specified |
113111
| [`prefer_final_parameters`](https://dart.dev/tools/linter-rules/prefer_final_parameters) | Incompatible with [avoid_final_parameters](https://dart.dev/tools/linter-rules/avoid_final_parameters) |
114-
| [`prefer_mixin`](https://dart.dev/tools/linter-rules/prefer_mixin) | Not specified |
115112
| [`prefer_relative_imports`](https://dart.dev/tools/linter-rules/prefer_relative_imports) | Incompatible with [always_use_package_imports](https://dart.dev/tools/linter-rules/always_use_package_imports) |
116113
| [`prefer_void_to_null`](https://dart.dev/tools/linter-rules/prefer_void_to_null) | [Has unresolved false positives](https://github.com/dart-lang/linter/issues/4758) |
117-
| [`remove_deprecations_in_breaking_versions`](https://dart.dev/tools/linter-rules/remove_deprecations_in_breaking_versions) | Not specified |
118114
| [`specify_nonobvious_local_variable_types`](https://dart.dev/tools/linter-rules/specify_nonobvious_local_variable_types) | Experimental |
119115
| [`unnecessary_async`](https://dart.dev/tools/linter-rules/unnecessary_async) | Experimental |
120116
| [`unnecessary_final`](https://dart.dev/tools/linter-rules/unnecessary_final) | Incompatible with [prefer_final_locals](https://dart.dev/tools/linter-rules/prefer_final_locals) |

lib/analysis_options.10.1.0.yaml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ analyzer:
66

77
errors:
88
close_sinks: ignore
9-
missing_required_param: error
9+
unrelated_type_equality_checks: warning
10+
collection_methods_unrelated_type: warning
1011
missing_return: error
12+
missing_required_param: error
1113
record_literal_one_positional_no_trailing_comma: error
12-
collection_methods_unrelated_type: warning
13-
unrelated_type_equality_checks: warning
1414

1515
exclude:
1616
- test/.test_coverage.dart
@@ -54,6 +54,7 @@ linter:
5454
- avoid_slow_async_io
5555
- avoid_type_to_string
5656
- avoid_types_as_parameter_names
57+
- avoid_types_on_closure_parameters
5758
- avoid_unnecessary_containers
5859
- avoid_unused_constructor_parameters
5960
- avoid_void_async
@@ -86,8 +87,8 @@ linter:
8687
- file_names
8788
- flutter_style_todos
8889
- hash_and_equals
89-
- implicit_call_tearoffs
9090
- implementation_imports
91+
- implicit_call_tearoffs
9192
- implicit_reopen
9293
- invalid_case_patterns
9394
- invalid_runtime_check_with_js_interop_types
@@ -132,6 +133,7 @@ linter:
132133
- prefer_const_literals_to_create_immutables
133134
- prefer_constructors_over_static_methods
134135
- prefer_contains
136+
- prefer_expression_function_bodies
135137
- prefer_final_fields
136138
- prefer_final_in_for_each
137139
- prefer_final_locals
@@ -149,6 +151,7 @@ linter:
149151
- prefer_is_not_empty
150152
- prefer_is_not_operator
151153
- prefer_iterable_whereType
154+
- prefer_mixin
152155
- prefer_null_aware_method_calls
153156
- prefer_null_aware_operators
154157
- prefer_single_quotes
@@ -157,6 +160,7 @@ linter:
157160
- provide_deprecation_message
158161
- public_member_api_docs
159162
- recursive_getters
163+
- remove_deprecations_in_breaking_versions
160164
- require_trailing_commas
161165
- secure_pubspec_urls
162166
- sized_box_for_whitespace
@@ -178,8 +182,8 @@ linter:
178182
- unawaited_futures
179183
- unintended_html_in_doc_comment
180184
- unnecessary_await_in_return
181-
- unnecessary_breaks
182185
- unnecessary_brace_in_string_interps
186+
- unnecessary_breaks
183187
- unnecessary_const
184188
- unnecessary_constructor_name
185189
- unnecessary_getters_setters

tool/linter_rules/exclusion_reasons.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
"avoid_futureor_void": "Not specified",
88
"avoid_implementing_value_types": "Not specified",
99
"avoid_null_checks_in_equality_operators": "Has been deprecated and [will be removed](https://github.com/dart-lang/sdk/issues/59514)",
10-
"avoid_types_on_closure_parameters": "Not specified",
1110
"close_sinks": "[Has unresolved false positives](https://github.com/dart-lang/linter/issues/1381)",
1211
"diagnostic_describe_all_properties": "Not specified",
1312
"do_not_use_environment": "Not specified",
@@ -16,12 +15,9 @@
1615
"omit_obvious_property_types": "Incompatible with [type_annotate_public_apis](https://github.com/dart-lang/sdk/issues/60642)",
1716
"package_prefixed_library_names": "[Broken; superseded by `unnecessary_library_name`](https://github.com/dart-lang/lints/issues/172)",
1817
"prefer_double_quotes": "Incompatible with [prefer_single_quotes](https://dart.dev/tools/linter-rules/prefer_single_quotes)",
19-
"prefer_expression_function_bodies": "Not specified",
2018
"prefer_final_parameters": "Incompatible with [avoid_final_parameters](https://dart.dev/tools/linter-rules/avoid_final_parameters)",
21-
"prefer_mixin": "Not specified",
2219
"prefer_relative_imports": "Incompatible with [always_use_package_imports](https://dart.dev/tools/linter-rules/always_use_package_imports)",
2320
"prefer_void_to_null": "[Has unresolved false positives](https://github.com/dart-lang/linter/issues/4758)",
24-
"remove_deprecations_in_breaking_versions": "Not specified",
2521
"specify_nonobvious_local_variable_types": "Experimental",
2622
"unnecessary_async": "Experimental",
2723
"unnecessary_final": "Incompatible with [prefer_final_locals](https://dart.dev/tools/linter-rules/prefer_final_locals)",

tool/linter_rules/lib/src/models/linter_rule.dart

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ enum LinterRuleState {
1515
experimental,
1616

1717
/// The rule is deprecated and should not be used.
18-
deprecated;
18+
deprecated
19+
;
1920

2021
/// Converts a [String] value to a [LinterRuleState].
2122
static LinterRuleState _fromJson(String value) {
@@ -49,7 +50,8 @@ enum FixStatus {
4950
needsFix,
5051

5152
/// The automated fix for the rule needs evaluation.
52-
needsEvaluation;
53+
needsEvaluation
54+
;
5355

5456
/// Converts a [String] value to a [FixStatus].
5557
static FixStatus _fromJson(String value) {
@@ -92,19 +94,17 @@ class LinterRule {
9294
});
9395

9496
/// Converts JSON to a [LinterRule].
95-
factory LinterRule.fromJson(Map<String, dynamic> json) {
96-
return LinterRule(
97-
name: json['name'] as String,
98-
description: json['description'] as String,
99-
details: json['details'] as String,
100-
categories: (json['categories'] as List).cast<String>(),
101-
state: LinterRuleState._fromJson(json['state'] as String),
102-
incompatible: (json['incompatible'] as List).cast<String>(),
103-
sets: (json['sets'] as List).cast<String>(),
104-
fixStatus: FixStatus._fromJson(json['fixStatus'] as String),
105-
sinceDartSdk: json['sinceDartSdk'] as String,
106-
);
107-
}
97+
factory LinterRule.fromJson(Map<String, dynamic> json) => LinterRule(
98+
name: json['name'] as String,
99+
description: json['description'] as String,
100+
details: json['details'] as String,
101+
categories: (json['categories'] as List).cast<String>(),
102+
state: LinterRuleState._fromJson(json['state'] as String),
103+
incompatible: (json['incompatible'] as List).cast<String>(),
104+
sets: (json['sets'] as List).cast<String>(),
105+
fixStatus: FixStatus._fromJson(json['fixStatus'] as String),
106+
sinceDartSdk: json['sinceDartSdk'] as String,
107+
);
108108

109109
/// The unique name of the linter rule.
110110
final String name;

tool/linter_rules/lib/src/shared.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ final Uri allLinterRulesUri = Uri.parse(
44
);
55

66
/// Returns the link to the documentation for the given linter [rule].
7-
String linterRuleLink(String rule) {
8-
return 'https://dart.dev/tools/linter-rules/$rule';
9-
}
7+
String linterRuleLink(String rule) =>
8+
'https://dart.dev/tools/linter-rules/$rule';
109

1110
/// The tag delimiting the start and end of the excluded rules table in the
1211
/// README.md file.

0 commit comments

Comments
 (0)