strict 2.0.0 strict: ^2.0.0 copied to clipboard
A heavily opinionated analysis_options for Dart/Flutter projects with strict - but justified - lint rules
2.0.0 #
Breaking changes:
-
Bumped Dart sdk min version from
2.16.1
to3.1.0
. -
Updated the deprecated
analyzer.strong-mode
in favor of theanalyzer.language
new options. All three new options were set totrue
. -
Added and enabled:
collection_methods_unrelated_type
,combinators_ordering
,dangling_library_doc_comments
,deprecated_member_use_from_same_package
,discarded_futures
,implicit_call_tearoffs
,invalid_case_patterns
,library_annotations
,matching_super_parameters
,no_literal_bool_comparisons
,no_self_assignments
,no_wildcard_variable_uses
,type_literal_in_constant_pattern
,unnecessary_breaks
,unnecessary_library_directive
,unnecessary_null_aware_operator_on_extension_on_nullable
,unnecessary_to_list_in_spreads
,unreachable_from_main
,use_colored_box
,use_enums
,use_string_in_part_of_directives
anduse_super_parameters
. -
Added and disabled:
implicit_reopen
. -
Disabled and removed:
always_require_non_null_named_parameters
,invariant_booleans
,iterable_contains_unrelated_type
,list_remove_unrelated_type
,prefer_equal_for_default_values
,invariant_booleans
anditerable_contains_unrelated_type
. -
Removed:
avoid_returning_null
andavoid_returning_null_for_future
.
1.4.0 #
- Added and enabled:
conditional_uri_does_not_exist
andunnecessary_late
. - Enabled
avoid_final_parameters
,no_leading_underscores_for_library_prefixes
,no_leading_underscores_for_local_identifiers
,secure_pubspec_urls
,sized_box_shrink_expand
,unnecessary_constructor_name
anduse_decorated_box
.
1.3.0 #
- Added references to unreleased rules:
avoid_final_parameters
,no_leading_underscores_for_library_prefixes
,no_leading_underscores_for_local_identifiers
,secure_pubspec_urls
,sized_box_shrink_expand
,unnecessary_constructor_name
anduse_decorated_box
. - Enabled
avoid_dynamic_calls
,avoid_multiple_declarations_per_line
,depend_on_referenced_packages
,deprecated_consistency
,eol_at_end_of_file
,library_private_types_in_public_api
,noop_primitive_operations
,prefer_null_aware_method_calls
,require_trailing_commas
,use_build_context_synchronously
,use_if_null_to_convert_nulls_to_bools
,use_named_constants
anduse_test_throws_matchers
. - Updated explanations on
avoid_final_parameters
andprefer_final_parameters
.
1.2.0 #
- Added references to unreleased rules:
depend_on_referenced_packages
,noop_primitive_operations
,prefer_final_parameters
anduse_test_throws_matchers
. - Disabled
avoid_annotating_with_dynamic
.
1.1.0 #
- Added references to unreleased rules:
library_private_types_in_public_api
,prefer_null_aware_method_calls
,require_trailing_commas
anduse_build_context_synchronously
; - Disabled
one_member_abstracts
.
1.0.0 #
First stable release of strict
.
- Added references to unreleased rules:
deprecated_consistency
,use_if_null_to_convert_nulls_to_bools
anduse_named_constants
; - Removed
avoid_as
.
1.0.0-nullsafety.1 #
- Enabled
implicit-casts
; - Disabled
avoid_as
,prefer_expression_function_bodies
,sort_pub_dependencies
anduse_key_in_widget_constructors
.
1.0.0-nullsafety.0 #
Addressed the remaining TODOs, while improving the description of some decisions. Also fixing the bad version naming.
- Updated
dart-lang/linter
rules up to version0.1.129
: added ruleavoid_dynamic_calls
(experimental, still not enabled); - Enabled
avoid_annotating_with_dynamic
- which was erroneously disabled (misconception of what it really did); - Enabled strong-mode rule of
implicit-dynamic
tofalse
; - Enabled
cast_nullable_to_non_nullable
,tighten_type_of_initializing_formals
,unnecessary_null_checks
andunnecessary_nullable_for_final_variable_declarations
due to NNBD; - Disabled
avoid_returning_null
,avoid_returning_null_for_future
andavoid_returning_null_for_void
due to NNBD; - Customized
avoid_as
to show awarning
, with the according explanation to why;
Contains all rules up to version 0.1.127
of dart-lang/linter
, with pending TODOs (non-critical) in the
analysis_options.yaml
.
1.0.0-0 #
First version of strict
.
Contains all rules up to version 0.1.127
of dart-lang/linter
, with pending TODOs (non-critical) in the
analysis_options.yaml
.