analysis_options_user.yaml 2.92 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
# Specify analysis options.
#
# Until there are meta linter rules, each desired lint must be explicitly enabled.
# See: https://github.com/dart-lang/linter/issues/288
#
# For a list of lints, see: http://dart-lang.github.io/linter/lints/
# See the configuration guide for more
# https://github.com/dart-lang/sdk/tree/master/pkg/analyzer#configuring-the-analyzer
#
# There are four similar analysis options files in the flutter repos:
#   - analysis_options.yaml
#   - packages/flutter/lib/analysis_options_user.yaml (this file)
#   - https://github.com/flutter/plugins/blob/master/analysis_options.yaml
#   - https://github.com/flutter/engine/blob/master/analysis_options.yaml
#
# This file contains the analysis options used by "flutter analyze" and the
# dartanalyzer when analyzing code outside the flutter repository. It isn't named
# 'analysis_options.yaml' because otherwise editors would use it when analyzing
# the flutter tool itself.
#
# When editing, make sure you keep this and /analysis_options.yaml consistent.

analyzer:
  errors:
    # treat missing required parameters as a warning (not a hint)
    missing_required_param: warning

linter:
  rules:
    # these rules are documented on and in the same order as
    # the Dart Lint rules page to make maintenance easier
    # https://github.com/dart-lang/linter/blob/master/example/all.yaml
    # - always_declare_return_types
    # - always_specify_types
    # - annotate_overrides
    # - avoid_as
    - avoid_empty_else
    - avoid_init_to_null
    - avoid_return_types_on_setters
40
    - avoid_web_libraries_in_flutter
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
    - await_only_futures
    - camel_case_types
    - cancel_subscriptions
    - close_sinks
    # - comment_references # we do not presume as to what people want to reference in their dartdocs
    # - constant_identifier_names # https://github.com/dart-lang/linter/issues/204
    - control_flow_in_finally
    - empty_constructor_bodies
    - empty_statements
    - hash_and_equals
    - implementation_imports
    # - invariant_booleans
    # - iterable_contains_unrelated_type
    - library_names
    # - library_prefixes
    # - list_remove_unrelated_type
    # - literal_only_boolean_expressions
    - non_constant_identifier_names
    # - one_member_abstracts
    # - only_throw_errors
    # - overridden_fields
    - package_api_docs
    - package_names
    - package_prefixed_library_names
    - prefer_is_not_empty
    # - prefer_mixin # https://github.com/dart-lang/language/issues/32
    # - public_member_api_docs
    - slash_for_doc_comments
    # - sort_constructors_first
    # - sort_unnamed_constructors_first
71
    # - super_goes_last # no longer needed w/ Dart 2
72 73 74 75 76 77 78 79 80 81
    - test_types_in_equals
    - throw_in_finally
    # - type_annotate_public_apis # subset of always_specify_types
    - type_init_formals
    # - unawaited_futures
    - unnecessary_brace_in_string_interps
    - unnecessary_getters_setters
    - unnecessary_statements
    - unrelated_type_equality_checks
    - valid_regexps