-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathanalysis_options.yaml
134 lines (131 loc) · 4.6 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
# Specify analysis options.
#
# Until there are meta linter rules, each desired lint must be explicitly enabled.
# See: https://github.com/dart-lang/linter/issues/288
#
# For a list of lints, see: http://dart-lang.github.io/linter/lints/
# See the configuration guide for more
# https://github.com/dart-lang/sdk/tree/master/pkg/analyzer#configuring-the-analyzer
#
# There are other similar analysis options files in the flutter repos,
# which should be kept in sync with this file:
#
# - analysis_options.yaml (this file)
# - packages/flutter/lib/analysis_options_user.yaml
# - https://github.com/flutter/plugins/blob/master/analysis_options.yaml
# - https://github.com/flutter/engine/blob/master/analysis_options.yaml
#
# This file contains the analysis options used by Flutter tools, such as IntelliJ,
# Android Studio, and the `flutter analyze` command.
# include: package:pedantic/analysis_options.1.9.0.yaml
analyzer:
strong-mode:
implicit-casts: false
# implicit-dynamic: false
errors:
# treat missing required parameters as a warning (not a hint)
missing_required_param: warning
# treat missing returns as a warning (not a hint)
missing_return: warning
# allow having TODOs in the code
todo: ignore
# allow self-reference to deprecated members (we do this because otherwise we have
# to annotate every member in every test, assert, etc, when we deprecate something)
# deprecated_member_use_from_same_package: ignore
# Ignore analyzer hints for updating pubspecs when using Future or
# Stream and not importing dart:async
# Please see https://github.com/flutter/flutter/pull/24528 for details.
sdk_version_async_exported_from_core: ignore
exclude:
- "bin/cache/**"
# the following two are relative to the stocks example and the flutter package respectively
# see https://github.com/dart-lang/sdk/issues/28463
- "lib/i18n/messages_*.dart"
- "lib/src/http/**"
- "**/*.json"
- "**/*.g.dart"
- "**/*.freezed.dart"
linter:
rules:
# - always_declare_return_types
- always_require_non_null_named_parameters
- annotate_overrides
# - avoid_annotating_with_dynamic
# - avoid_catches_without_on_clauses
- avoid_empty_else
- avoid_init_to_null
- avoid_null_checks_in_equality_operators
- avoid_positional_boolean_parameters
- avoid_print
- avoid_renaming_method_parameters
- avoid_return_types_on_setters
# - avoid_returning_null
- avoid_returning_null_for_void
- avoid_returning_null_for_future
- avoid_shadowing_type_parameters
- avoid_types_as_parameter_names
- avoid_void_async
- await_only_futures
- camel_case_extensions
- cancel_subscriptions
- close_sinks
- curly_braces_in_flow_control_structures
- directives_ordering
- empty_catches
- empty_constructor_bodies
- exhaustive_cases
- flutter_style_todos
- join_return_with_assignment
- library_names
- library_prefixes
- no_duplicate_case_values
- null_closures
# - omit_local_variable_types # This is sometimes preferred for readability
- package_api_docs
- prefer_adjacent_string_concatenation
- prefer_const_constructors
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_literals_to_create_immutables
- prefer_contains
- prefer_equal_for_default_values
- prefer_expression_function_bodies
- prefer_final_fields
- prefer_final_in_for_each
- prefer_final_locals
- prefer_for_elements_to_map_fromIterable
- prefer_function_declarations_over_variables
- prefer_generic_function_type_aliases
# - prefer_if_elements_to_conditional_expressions
- prefer_if_null_operators
- prefer_initializing_formals
- prefer_inlined_adds
- prefer_is_empty
- prefer_is_not_empty
- prefer_is_not_operator
- prefer_iterable_whereType
# - prefer_single_quotes
- prefer_spread_collections
- recursive_getters
# - sized_box_for_whitespace
- slash_for_doc_comments
- type_init_formals
- unawaited_futures
- unnecessary_await_in_return
- unnecessary_const
- unnecessary_lambdas
- unnecessary_new
- unnecessary_null_in_if_null_operators
- unnecessary_parenthesis
- unnecessary_raw_strings
- unnecessary_string_escapes
# - unnecessary_string_interpolations # Not always accurate
- unnecessary_this
- unrelated_type_equality_checks
- use_function_type_syntax_for_parameters
- use_raw_strings
- use_rethrow_when_possible
- valid_regexps
- void_checks