mirror of
https://github.com/flutter/flutter
synced 2024-10-14 04:02:56 +00:00
a52c7b470d
This yak shave went as follows: Fix https://github.com/flutter/flutter/issues/8795 by adding stocks to the examples README. Notice the layers entry in that README isn't quite right either. Update that. Check the layers/README file is worth pointing at. Update the layers/README. Let's run some of the layer tests to see if they still work. Oops, need to update them to gradle. Ok let's try running them again. Oops, sector is broken. Add a test for sector. Fix sector. Find you need to add an assert to a const constructor. Notice we need to turn const asserts on for the analyzer. Notice the analysis_options files are out of sync with each other and with the full list of lints. Turn on the lints that should be on. Fix the bugs that finds.
103 lines
3.7 KiB
Plaintext
103 lines
3.7 KiB
Plaintext
# 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 three similar analysis options files in the flutter repo:
|
|
# - .analysis_options
|
|
# - .analysis_options_repo (this file)
|
|
# - packages/flutter/lib/analysis_options_user.yaml
|
|
#
|
|
# This file contains the analysis options used by 'flutter analyze' when analyzing
|
|
# the flutter repository. It is very similar to .analysis_options;
|
|
# the only difference (currently) is the public_member_api_docs option,
|
|
# which is turned on and programmatically reduced to a single output line
|
|
# indicating the # of violations for that rule.
|
|
|
|
analyzer:
|
|
language:
|
|
enableStrictCallChecks: true
|
|
enableSuperMixins: true
|
|
enableAssertInitializer: true
|
|
strong-mode:
|
|
implicit-dynamic: false
|
|
errors:
|
|
# treat missing required parameters as a warning (not a hint)
|
|
missing_required_param: warning
|
|
# treat missing returns as a warning (not a hint)
|
|
missing_return: warning
|
|
# allow overriding fields (if they use super, ideally...)
|
|
strong_mode_invalid_field_override: ignore
|
|
# allow having TODOs in the code
|
|
todo: ignore
|
|
# `flutter analyze` (without `--watch`) just ignores directories
|
|
# that contain a .dartignore file, and this file does not have any
|
|
# effect on what files are actually analyzed.
|
|
|
|
linter:
|
|
rules:
|
|
# these rules are documented on and in the same order as
|
|
# the Dart Lint rules page to make maintenance easier
|
|
# http://dart-lang.github.io/linter/lints/
|
|
|
|
# === error rules ===
|
|
- avoid_empty_else
|
|
- avoid_slow_async_io
|
|
- cancel_subscriptions
|
|
# - close_sinks # https://github.com/flutter/flutter/issues/5789
|
|
# - comment_references # blocked on https://github.com/dart-lang/dartdoc/issues/1153
|
|
- control_flow_in_finally
|
|
- empty_statements
|
|
- hash_and_equals
|
|
# - invariant_booleans # https://github.com/flutter/flutter/issues/5790
|
|
# - iterable_contains_unrelated_type
|
|
- list_remove_unrelated_type
|
|
# - literal_only_boolean_expressions # https://github.com/flutter/flutter/issues/5791
|
|
- test_types_in_equals
|
|
- throw_in_finally
|
|
- unrelated_type_equality_checks
|
|
- valid_regexps
|
|
|
|
# === style rules ===
|
|
- always_declare_return_types
|
|
- always_specify_types
|
|
- annotate_overrides
|
|
- avoid_as
|
|
- avoid_init_to_null
|
|
- avoid_return_types_on_setters
|
|
- await_only_futures
|
|
- camel_case_types
|
|
# - constant_identifier_names # https://github.com/dart-lang/linter/issues/204
|
|
- empty_catches
|
|
- empty_constructor_bodies
|
|
- implementation_imports
|
|
- library_names
|
|
- library_prefixes
|
|
- non_constant_identifier_names
|
|
# - one_member_abstracts # too many false positives
|
|
# - only_throw_errors # https://github.com/flutter/flutter/issues/5792
|
|
# - overridden_fields
|
|
- package_api_docs
|
|
- package_prefixed_library_names
|
|
# - parameter_assignments # we do this commonly
|
|
# - prefer_final_fields # https://github.com/dart-lang/sdk/issues/29197
|
|
- prefer_final_locals
|
|
- prefer_is_not_empty
|
|
- public_member_api_docs # this is the only difference from .analysis_options
|
|
- slash_for_doc_comments
|
|
- sort_constructors_first
|
|
- sort_unnamed_constructors_first
|
|
- super_goes_last
|
|
# - type_annotate_public_apis # subset of always_specify_types
|
|
- type_init_formals
|
|
# - unawaited_futures # https://github.com/flutter/flutter/issues/5793
|
|
- unnecessary_brace_in_string_interp
|
|
- unnecessary_getters_setters
|
|
|
|
# === pub rules ===
|
|
- package_names
|