# Analysis options for Worker Flutter app # This file configures static analysis and linting include: package:flutter_lints/flutter.yaml analyzer: # Enable custom_lint for Riverpod linting plugins: - custom_lint exclude: - "**/*.g.dart" - "**/*.freezed.dart" - "**/*.config.dart" - build/** - lib/generated/** errors: # Treat these as warnings instead of errors todo: ignore deprecated_member_use: warning deprecated_member_use_from_same_package: warning language: strict-casts: true strict-inference: true strict-raw-types: true linter: rules: # Core rules for code quality - always_declare_return_types - always_use_package_imports - annotate_overrides - avoid_bool_literals_in_conditional_expressions - avoid_catching_errors - avoid_dynamic_calls - avoid_empty_else - avoid_print - avoid_relative_lib_imports - avoid_returning_null_for_void - avoid_unnecessary_containers - avoid_unused_constructor_parameters - await_only_futures - camel_case_extensions - camel_case_types - cancel_subscriptions - cascade_invocations - close_sinks - constant_identifier_names - curly_braces_in_flow_control_structures - depend_on_referenced_packages - directives_ordering - empty_catches - empty_constructor_bodies - empty_statements - exhaustive_cases - file_names - hash_and_equals - implementation_imports - leading_newlines_in_multiline_strings - library_names - library_prefixes - no_duplicate_case_values - no_logic_in_create_state - non_constant_identifier_names - null_closures - overridden_fields - package_names - prefer_adjacent_string_concatenation - prefer_collection_literals - prefer_conditional_assignment - prefer_const_constructors - prefer_const_constructors_in_immutables - prefer_const_declarations - prefer_const_literals_to_create_immutables - 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_if_null_operators - prefer_initializing_formals - prefer_inlined_adds - prefer_interpolation_to_compose_strings - prefer_is_empty - prefer_is_not_empty - prefer_is_not_operator - prefer_iterable_whereType - prefer_null_aware_operators - prefer_single_quotes - prefer_spread_collections - prefer_typing_uninitialized_variables - prefer_void_to_null - provide_deprecation_message - recursive_getters - require_trailing_commas - slash_for_doc_comments - sort_child_properties_last - sort_constructors_first - type_init_formals - unawaited_futures - unnecessary_brace_in_string_interps - unnecessary_const - unnecessary_new - unnecessary_null_aware_assignments - unnecessary_null_checks - unnecessary_null_in_if_null_operators - unnecessary_overrides - unnecessary_parenthesis - unnecessary_statements - unnecessary_string_escapes - unnecessary_string_interpolations - unnecessary_this - unrelated_type_equality_checks - use_build_context_synchronously - use_full_hex_values_for_flutter_colors - use_function_type_syntax_for_parameters - use_key_in_widget_constructors - use_late_for_private_fields_and_variables - use_named_constants - use_rethrow_when_possible - use_super_parameters - valid_regexps - void_checks # Custom lint configuration for Riverpod custom_lint: rules: # Riverpod specific rules - provider_dependencies - scoped_providers_should_specify_dependencies - avoid_public_notifier_properties - avoid_ref_read_inside_build - avoid_manual_providers_as_generated_provider_dependency - functional_ref - notifier_build