analyzer:
  enable-experiment:
    - non-nullable
  strong-mode:
    implicit-dynamic: false
  errors:
    missing_required_param: warning
    missing_return: warning

linter:
  rules:
    - avoid_catching_errors
    - avoid_function_literals_in_foreach_calls
    - avoid_private_typedef_functions
    - avoid_renaming_method_parameters
    - avoid_returning_null_for_void
    - avoid_unused_constructor_parameters
    - avoid_void_async
    - await_only_futures
    - camel_case_types
    - cancel_subscriptions
    - comment_references
    - constant_identifier_names
    - control_flow_in_finally
    - directives_ordering
    - empty_statements
    - file_names
    - hash_and_equals
    - implementation_imports
    - iterable_contains_unrelated_type
    - join_return_with_assignment
    - lines_longer_than_80_chars
    - list_remove_unrelated_type
    - missing_whitespace_between_adjacent_strings
    - no_runtimeType_toString
    - non_constant_identifier_names
    - only_throw_errors
    - overridden_fields
    - package_api_docs
    - package_names
    - package_prefixed_library_names
    - prefer_asserts_in_initializer_lists
    - prefer_const_constructors
    - prefer_const_declarations
    - prefer_expression_function_bodies
    - prefer_final_locals
    - prefer_function_declarations_over_variables
    - prefer_initializing_formals
    - prefer_inlined_adds
    - prefer_interpolation_to_compose_strings
    - prefer_is_not_operator
    - prefer_null_aware_operators
    - prefer_relative_imports
    - prefer_typing_uninitialized_variables
    - prefer_void_to_null
    - provide_deprecation_message
    - sort_pub_dependencies
    - test_types_in_equals
    - throw_in_finally
    - unnecessary_brace_in_string_interps
    - unnecessary_lambdas
    - unnecessary_null_aware_assignments
    - unnecessary_overrides
    - unnecessary_parenthesis
    - unnecessary_statements
    - unnecessary_string_interpolations
    - use_string_buffers
    - void_checks