Flutter
FVM
Install project version:
fvm install
Install new version:
fvm install x.y.z
Set new project version:
fvm use x.y.z
Common commands:
Run build runner:
fvm dart run build_runner watch -d
Misc
Define dart environment variables:
--dart-define="LOG_LEVEL=trace"
Useful lint rules
| Name | Link |
|---|---|
| use_truncating_division | https://dart.dev/tools/linter-rules/use_truncating_division |
| use_test_throws_matchers | https://dart.dev/tools/linter-rules/use_test_throws_matchers |
| use_named_constants | https://dart.dev/tools/linter-rules/use_named_constants |
| use_if_null_to_convert_nulls_to_bools | https://dart.dev/tools/linter-rules/use_if_null_to_convert_nulls_to_bools |
| use_enums | https://dart.dev/tools/linter-rules/use_enums |
| unnecessary_statements | https://dart.dev/tools/linter-rules/unnecessary_statements |
| unnecessary_raw_strings | https://dart.dev/tools/linter-rules/unnecessary_raw_strings |
| unnecessary_ignore | https://dart.dev/tools/linter-rules/unnecessary_ignore |
| unnecessary_lambdas | https://dart.dev/tools/linter-rules/unnecessary_lambdas |
| unnecessary_breaks | https://dart.dev/tools/linter-rules/unnecessary_breaks |
| unnecessary_await_in_return | https://dart.dev/tools/linter-rules/unnecessary_await_in_return |
| unawaited_futures | https://dart.dev/tools/linter-rules/unawaited_futures |
| type_annotate_public_apis | https://dart.dev/tools/linter-rules/type_annotate_public_apis |
| tighten_type_of_initializing_formals | https://dart.dev/tools/linter-rules/tighten_type_of_initializing_formals |
| throw_in_finally | https://dart.dev/tools/linter-rules/throw_in_finally |
| sort_unnamed_constructors_first | https://dart.dev/tools/linter-rules/sort_unnamed_constructors_first |
| sort_pub_dependencies | https://dart.dev/tools/linter-rules/sort_pub_dependencies |
| sort_constructors_first | https://dart.dev/tools/linter-rules/sort_constructors_first |
| sized_box_shrink_expand | https://dart.dev/tools/linter-rules/sized_box_shrink_expand |
| public_member_api_docs | https://dart.dev/tools/linter-rules/public_member_api_docs |
| prefer_void_to_null | https://dart.dev/tools/linter-rules/prefer_void_to_null |
| prefer_null_aware_method_calls | https://dart.dev/tools/linter-rules/prefer_null_aware_method_calls |
| prefer_if_elements_to_conditional_expressions | https://dart.dev/tools/linter-rules/prefer_if_elements_to_conditional_expressions |
| prefer_foreach | https://dart.dev/tools/linter-rules/prefer_foreach |
| prefer_final_parameters | https://dart.dev/tools/linter-rules/prefer_final_parameters |
| prefer_final_locals | https://dart.dev/tools/linter-rules/prefer_final_locals |
| prefer_final_in_for_each | https://dart.dev/tools/linter-rules/prefer_final_in_for_each |
| prefer_final_fields | https://dart.dev/tools/linter-rules/prefer_final_fields |
| prefer_expression_function_bodies | https://dart.dev/tools/linter-rules/prefer_expression_function_bodies |
| prefer_constructors_over_static_methods | https://dart.dev/tools/linter-rules/prefer_constructors_over_static_methods |
| prefer_double_quotes | https://dart.dev/tools/linter-rules/prefer_double_quotes |
| prefer_const_literals_to_create_immutables | https://dart.dev/tools/linter-rules/prefer_const_literals_to_create_immutables |
| prefer_const_declarations | https://dart.dev/tools/linter-rules/prefer_const_declarations |
| prefer_const_constructors | https://dart.dev/tools/linter-rules/prefer_const_constructors |
| prefer_asserts_with_message | https://dart.dev/tools/linter-rules/prefer_asserts_with_message |
| prefer_asserts_in_initializer_lists | https://dart.dev/tools/linter-rules/prefer_asserts_in_initializer_lists |
| parameter_assignments | https://dart.dev/tools/linter-rules/parameter_assignments |
| only_throw_errors | https://dart.dev/tools/linter-rules/only_throw_errors |
| omit_local_variable_types | https://dart.dev/tools/linter-rules/omit_local_variable_types |
| noop_primitive_operations | https://dart.dev/tools/linter-rules/noop_primitive_operations |
| no_self_assignments | https://dart.dev/tools/linter-rules/no_self_assignments |
| no_literal_bool_comparisons | https://dart.dev/tools/linter-rules/no_literal_bool_comparisons |
| no_adjacent_strings_in_list | https://dart.dev/tools/linter-rules/no_adjacent_strings_in_list |
| missing_whitespace_between_adjacent_strings | https://dart.dev/tools/linter-rules/missing_whitespace_between_adjacent_strings |
| matching_super_parameters | https://dart.dev/tools/linter-rules/matching_super_parameters |
| leading_newlines_in_multiline_strings | https://dart.dev/tools/linter-rules/leading_newlines_in_multiline_strings |
| eol_at_end_of_file | https://dart.dev/tools/linter-rules/eol_at_end_of_file |
| empty_catches | https://dart.dev/tools/linter-rules/empty_catches |
| document_ignores | https://dart.dev/tools/linter-rules/document_ignores |
| directives_ordering | https://dart.dev/tools/linter-rules/directives_ordering |
| deprecated_consistency | https://dart.dev/tools/linter-rules/deprecated_consistency |
| conditional_uri_does_not_exist | https://dart.dev/tools/linter-rules/conditional_uri_does_not_exist |
| close_sinks | https://dart.dev/tools/linter-rules/close_sinks |
| cast_nullable_to_non_nullable | https://dart.dev/tools/linter-rules/cast_nullable_to_non_nullable |
| cascade_invocations | https://dart.dev/tools/linter-rules/cascade_invocations |
| cancel_subscriptions | https://dart.dev/tools/linter-rules/cancel_subscriptions |
| avoid_web_libraries_in_flutter | https://dart.dev/tools/linter-rules/avoid_web_libraries_in_flutter |
| avoid_type_to_string | https://dart.dev/tools/linter-rules/avoid_type_to_string |
| avoid_returning_this | https://dart.dev/tools/linter-rules/avoid_returning_this |
| avoid_bool_literals_in_conditional_expressions | https://dart.dev/tools/linter-rules/avoid_bool_literals_in_conditional_expressions |
| always_put_required_named_parameters_first | https://dart.dev/tools/linter-rules/always_put_required_named_parameters_first |
| https://dart.dev/tools/linter-rules/always_declare_return_types |