Search packages, repositories and app categories

Package detailsv0.0.2

flutterando_analysis

Lint rules for Flutter and Dart, created for the open source projects of the Flutterando Community.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
352
Likes
24
Pub points
160

Install package

flutter pub add flutterando_analysis

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A collection of custom lint rules for Flutter and Dart, designed specifically for the open source projects within the Flutterando Community. These rules promote code consistency, readability, and best practices across Flutter applications. The package integrates seamlessly with the Dart analysis tool and is tailored to support modern Flutter development standards. It helps maintain high-quality codebases by enforcing community-driven guidelines and catching common issues early in development.

Use cases

  • Enforcing consistent coding style in open source Flutter projects
  • Improving code quality through community-approved linting rules
  • Integrating standardized checks in CI/CD pipelines
  • Supporting team-wide codebase uniformity
  • Automatically detecting anti-patterns in Flutter/Dart code

Key features

  • Community-driven lint rules
  • Tailored for Flutter and Dart best practices
  • Easy integration via pub add
  • Compatible with all major platforms
  • Extensible and maintainable configuration

Suitable for

  • Open source Flutter developers
  • Teams maintaining large Flutter codebases
  • Projects aiming for high code quality
  • CI/CD environments using static analysis
  • Developers following Flutterando's coding standards

Considerations

  • Requires understanding of Dart linter configuration
  • May need customization for non-Flutterando projects
  • Depends on correct setup in analysis_options.yaml
  • Not intended for standalone use without additional linter setup
  • Best used alongside other quality tools like flutter_lints

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Flutterando Analysis


Logo

This package provides lint rules for Dart and Flutter which are used in Flutterando's packages and projects. For more information, see the complete list of options.

Report Bug · Request Feature


Version Pub Points Pub Points

Pub Publisher



Table of Contents
  1. About The Project
  2. Sponsors
  3. How to Use
  4. How to Supress Lints
  5. Badge
  6. Contributing
  7. Contact
  8. Acknowledgements


About The Project


Flutterando Analysis are a set of Flutter and Dart Lint rules that are the basis of our projects here at the community. They were inspired and selected from our work experience with other companies, and are backed up by several senior Flutter developers that can guarantee it's usefullness.

This project is distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Sponsors

Logo

(back to top)


How To Use

To use our linter rules import it to your project like this:

a) Adding the package as a dependency in your Pubspec.yaml:

# Add it as a dev dependency
dev_dependencies:
  flutterando_analysis: ^0.0.2

# Or as a normal dependency if you need to
dependencies: 
  flutterando_analysis: ^0.0.2

b) Alternatively, use Dart Pub. You can take out the tag --dev if you want to install as a normal dependency:

  dart pub add --dev flutterando_analysis

After importing it, add an include in your project's analysis_options.yaml:

include: package:flutterando_analysis/flutter.yaml

or, for Dart:

include: package:flutterando_analysis/dart.yaml

There are 4 sets of linter rules that you can choose from:

  • dart.yaml

  • flutter.yaml

  • dart_package.yaml

  • flutter_package.yaml (this second set has the rule "public_member_api_docs" set to True)

See also the analysis_options.0.0.1.yaml to know which rules we are using.


How To Suppress Lints

There may be cases where specific lint rules are undesirable. Lint rules can be suppressed 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 suppress 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 suppress 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 suppress a specific lint rule for an entire project, modify analysis_options.yaml:

Example (change flutterando_analysis.yaml for the analysis file you are using, like in the Getting Started section above):

include: package:flutterando_analysis/flutterando_analysis.yaml
linter:
  rules:
    public_member_api_docs: false

(back to top)


Badge

To indicate that your project is using flutterando_analysis you can use this badge:


Just copy and paste in your readme.md the code below:

[![style: Flutterando analysis](https://img.shields.io/badge/style-flutterando__analysis-blueviolet)](https://pub.dev/packages/flutterando_analysis)

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better or questions, please open an issue here, with the appropriate tag. Don't forget to give the project a star! Thanks!

Remember to include a tag, and to follow Conventional Commits and Semantic Versioning when uploading your commit and/or creating the issue.

(back to top)

Contact

Flutterando Community

(back to top)

Acknowledgements

Thanks to the people who contributed to this project.

Disclaimer: this project's readme was based on very_good_analysis' readme.


(back to top)

Maintaned by


Built and maintained by Flutterando.

Categories

Source repository

Projects using this package