2022-04-19 19:01:44 +02:00
..
2022-04-19 18:08:27 +02:00
2022-04-19 18:08:27 +02:00
2022-04-19 19:01:44 +02:00
2022-04-19 18:08:27 +02:00
2022-04-19 19:01:44 +02:00
2022-04-19 18:08:27 +02:00

Wyatt Analysis

SDK: Dart & Flutter

This package provides lint rules for Dart and Flutter which are used at Wyatt and Wyatt Studio. For more information, see the complete list of options in lib/analysis_options.1.1.1.yaml.

Note: This package was heavily inspired by pedantic, Very Good Analysis and the official flutter_lints.

Usage

To use the lints, add a dependency in your pubspec.yaml:

# If you use `package:wyatt_analysis/wyatt_analysis.dart`, add a normal dependency, you'll get unawaited function.
dependencies:
  wyatt_analysis:
    git:
      url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
      ref: v1.1.1
      path: packages/wyatt_analysis

# Or, if you just want `analysis_options.yaml`, it can be a dev dependency.
dev_dependencies:
  wyatt_analysis:
    git:
      url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
      ref: v1.1.1
      path: packages/wyatt_analysis

Then, add an include in analysis_options.yaml:

include: package:wyatt_analysis/analysis_options.yaml

This will ensure you always use the latest Dart version of the lints. To get the latest Flutter superset:

include: package:wyatt_analysis/analysis_options.flutter.yaml

If you wish to restrict the lint version, specify a version of analysis_options.yaml instead:

include: package:wyatt_analysis/analysis_options.flutter.1.1.1.yaml

If you just want Dart version:

include: package:wyatt_analysis/analysis_options.1.1.1.yaml

Suppressing Lints

There may be cases where specific lint rules are undesirable. Lint rules can be surpressed at the line, file, or project level.

An example use case for suppressing lint rules at the file level is suppressing the prefer_const_constructors in order to achieve 100% code coverage. This is due to the fact that const constructors are executed before the tests are run, resulting in no coverage collection.

Line Level

To surpress a specific lint rule for a specific line of code, use an ignore comment directly above the line:

// ignore: public_member_api_docs
class A {}

File Level

To surpress a specific lint rule of a specific file, use an ignore_for_file comment at the top of the file:

// ignore_for_file: public_member_api_docs

class A {}

class B {}

Project Level

To surpress a specific lint rule for an entire project, modify analysis_options.yaml:

include: package:wyatt_analysis/analysis_options.yaml
linter:
  rules:
    public_member_api_docs: false

Badge

To indicate your project is using wyatt_analysisstyle: wyatt analysis

[![style: wyatt analysis](https://img.shields.io/badge/Style-Wyatt%20Analysis-blue)](https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt_analysis)