Last updated:
0 purchases
fd lints
fd_lints #
An opiniated set of lint rules for Dart and Flutter projects. Made by yours truly Floating Dartists.
You can use 2 different sets of rules:
dart: for Dart projects
flutter: for Flutter projects (includes dart rules)
Installing fd_lints #
Add both fd_lints and custom_lint to your pubspec.yaml file:
dev_dependencies:
custom_lint:
fd_lints:
copied to clipboard
Include the set of rules you want to use and enable custom_lint's plugin in your analysis_options.yaml file:
include: package:fd_lints/dart.yaml # Recommended for Dart projects
# include: package:fd_lints/flutter.yaml # Recommended for Flutter projects
analyzer:
plugins:
- custom_lint
copied to clipboard
Analyzer #
Language #
Stricter type check is enabled by default. Applying the following rules:
strict-casts
strict-inference
strict-raw-types
Exclude #
The following files are excluded by default:
**/*.g.dart
**/*.freezed.dart, exclude files generated by freezed
**/*.mocks.dart, exclude files generated by mockito
**/*.mapper.dart, exclude files generated by dart_mappable
**/*.tailor.dart, exclude files generated by theme_tailor
Linter rules #
ℹ️ : info
⚠️ : warning
❌ : error
Custom #
Those rules were created by us by using the custom_lint package.
Rule
Severity
avoid_non_null_assertion
⚠️
avoid_as
⚠️
use_const_on_env_constructors
❌
Dart #
Rule
Severity
always_use_package_imports
ℹ️
avoid_dynamic_calls
ℹ️
avoid_empty_else
ℹ️
avoid_relative_lib_imports
ℹ️
avoid_slow_async_io
⚠️
avoid_types_as_parameter_names
ℹ️
cancel_subscriptions
⚠️
close_sinks
⚠️
control_flow_in_finally
ℹ️
collection_methods_unrelated_type
❌
empty_statements
ℹ️
hash_and_equals
⚠️
literal_only_boolean_expressions
ℹ️
no_duplicate_case_values
ℹ️
prefer_void_to_null
ℹ️
test_types_in_equals
⚠️
unnecessary_statements
ℹ️
unrelated_type_equality_checks
❌
valid_regexps
ℹ️
always_declare_return_types
ℹ️
annotate_overrides
ℹ️
avoid_annotating_with_dynamic
⚠️
avoid_bool_literals_in_conditional_expressions
ℹ️
avoid_catching_errors
⚠️
avoid_classes_with_only_static_members
ℹ️
avoid_double_and_int_checks
ℹ️
avoid_equals_and_hash_code_on_mutable_classes
ℹ️
avoid_escaping_inner_quotes
ℹ️
avoid_field_initializers_in_const_classes
ℹ️
avoid_final_parameters
ℹ️
avoid_init_to_null
ℹ️
avoid_multiple_declarations_per_line
ℹ️
avoid_null_checks_in_equality_operators
⚠️
avoid_positional_boolean_parameters
ℹ️
avoid_redundant_argument_values
ℹ️
avoid_renaming_method_parameters
ℹ️
avoid_return_types_on_setters
ℹ️
avoid_returning_null_for_void
ℹ️
avoid_shadowing_type_parameters
⚠️
avoid_single_cascade_in_expression_statements
ℹ️
avoid_unused_constructor_parameters
ℹ️
avoid_void_async
⚠️
await_only_futures
❌
camel_case_extensions
ℹ️
camel_case_types
ℹ️
cascade_invocations
ℹ️
cast_nullable_to_non_nullable
❌
combinators_ordering
ℹ️
conditional_uri_does_not_exist
❌
constant_identifier_names
ℹ️
curly_braces_in_flow_control_structures
ℹ️
deprecated_consistency
ℹ️
directives_ordering
ℹ️
empty_catches
ℹ️
empty_constructor_bodies
ℹ️
eol_at_end_of_file
ℹ️
exhaustive_cases
⚠️
file_names
ℹ️
implementation_imports
ℹ️
implicit_call_tearoffs
ℹ️
join_return_with_assignment
ℹ️
leading_newlines_in_multiline_strings
ℹ️
library_names
ℹ️
library_prefixes
ℹ️
library_private_types_in_public_api
ℹ️
no_leading_underscores_for_library_prefixes
ℹ️
no_leading_underscores_for_local_identifiers
ℹ️
no_runtimeType_toString
⚠️
non_constant_identifier_names
ℹ️
noop_primitive_operations
ℹ️
null_check_on_nullable_type_parameter
❌
null_closures
❌
only_throw_errors
⚠️
overridden_fields
ℹ️
package_prefixed_library_names
ℹ️
parameter_assignments
⚠️
prefer_adjacent_string_concatenation
ℹ️
prefer_asserts_in_initializer_lists
ℹ️
prefer_collection_literals
ℹ️
prefer_conditional_assignment
ℹ️
prefer_const_constructors
ℹ️
prefer_const_declarations
ℹ️
prefer_constructors_over_static_methods
ℹ️
prefer_contains
⚠️
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_int_literals
ℹ️
prefer_interpolation_to_compose_strings
ℹ️
prefer_is_empty
⚠️
prefer_is_not_empty
⚠️
prefer_is_not_operator
ℹ️
prefer_iterable_whereType
ℹ️
prefer_mixin
ℹ️
prefer_null_aware_method_calls
❌
prefer_null_aware_operators
❌
prefer_spread_collections
ℹ️
prefer_typing_uninitialized_variables
❌
provide_deprecation_message
ℹ️
recursive_getters
❌
require_trailing_commas
ℹ️
slash_for_doc_comments
ℹ️
sort_constructors_first
ℹ️
sort_unnamed_constructors_first
ℹ️
tighten_type_of_initializing_formals
❌
type_annotate_public_apis
❌
type_init_formals
ℹ️
unawaited_futures
⚠️
unnecessary_await_in_return
ℹ️
unnecessary_brace_in_string_interps
ℹ️
unnecessary_breaks
ℹ️
unnecessary_const
ℹ️
unnecessary_constructor_name
ℹ️
unnecessary_getters_setters
ℹ️
unnecessary_lambdas
ℹ️
unnecessary_late
ℹ️
unnecessary_new
ℹ️
unnecessary_null_aware_assignments
ℹ️
unnecessary_null_aware_operator_on_extension_on_nullable
ℹ️
unnecessary_null_checks
ℹ️
unnecessary_null_in_if_null_operators
ℹ️
unnecessary_nullable_for_final_variable_declarations
ℹ️
unnecessary_overrides
ℹ️
unnecessary_parenthesis
ℹ️
unnecessary_raw_strings
ℹ️
unnecessary_string_escapes
ℹ️
unnecessary_string_interpolations
ℹ️
unnecessary_this
ℹ️
unnecessary_to_list_in_spreads
ℹ️
use_enums
⚠️
use_function_type_syntax_for_parameters
ℹ️
use_if_null_to_convert_nulls_to_bools
ℹ️
use_is_even_rather_than_modulo
ℹ️
use_late_for_private_fields_and_variables
ℹ️
use_named_constants
ℹ️
use_rethrow_when_possible
ℹ️
use_setters_to_change_properties
ℹ️
use_string_buffers
⚠️
use_string_in_part_of_directives
ℹ️
use_super_parameters
ℹ️
use_test_throws_matchers
ℹ️
void_checks
ℹ️
invalid_use_of_visible_for_testing_member
❌
missing_return
❌
missing_required_param
❌
invalid_annotation_target
ignored
Flutter #
Rule
Severity
avoid_print
ℹ️
avoid_web_libraries_in_flutter
ℹ️
avoid_unnecessary_containers
ℹ️
no_logic_in_create_state
ℹ️
use_build_context_synchronously
❌
use_key_in_widget_constructors
ℹ️
avoid_function_literals_in_foreach_calls
ℹ️
avoid_js_rounded_ints
⚠️
sized_box_for_whitespace
ℹ️
sized_box_shrink_expand
ℹ️
sort_child_properties_last
ℹ️
use_colored_box
ℹ️
use_decorated_box
ℹ️
use_full_hex_values_for_flutter_colors
⚠️
prefer_const_constructors_in_immutables
ℹ️
prefer_const_literals_to_create_immutables
ℹ️
flutter_style_todos
ℹ️
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.