# Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

include: package:lints/recommended.yaml

analyzer:
  errors:
    todo: ignore
  exclude:
    - 'test/**_expected*'
    # Goldens cannot be generated outside MacOS causing analysis errors.
    - test/native_objc_test/**
  language:
    strict-casts: true
    strict-inference: true

linter:
  rules:
    # Enabled.
    dangling_library_doc_comments: true
    directives_ordering: true
    prefer_final_locals: true
    prefer_final_in_for_each: true
    use_super_parameters: true

    # Disabled.
    constant_identifier_names: false
