0 purchases
very good analysis
Very Good Analysis #
Developed with 💙 by Very Good Ventures 🦄
This package provides lint rules for Dart and Flutter which are used at Very Good Ventures. For more information, see the complete list of options.
Note: This package was heavily inspired by pedantic.
Usage #
To use the lints, add as a dev dependency in your pubspec.yaml:
dart pub add dev:very_good_analysis
# or
flutter pub add dev:very_good_analysis
copied to clipboard
Then, add an include in analysis_options.yaml:
include: package:very_good_analysis/analysis_options.yaml
copied to clipboard
This will ensure you always use the latest version of the lints. If you wish to restrict the lint version, specify a version of analysis_options.yaml instead:
include: package:very_good_analysis/analysis_options.6.0.0.yaml
copied to clipboard
Suppressing 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 {}
copied to clipboard
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 {}
copied to clipboard
Project Level #
To suppress a specific lint rule for an entire project, modify analysis_options.yaml:
include: package:very_good_analysis/analysis_options.yaml
linter:
rules:
public_member_api_docs: false
copied to clipboard
Badge #
To indicate your project is using very_good_analysis →
[![style: very good analysis](https://img.shields.io/badge/style-very_good_analysis-B22C89.svg)](https://pub.dev/packages/very_good_analysis)
copied to clipboard
Excluded rules #
Below is a list of rules that are not enabled by default together with the reason on why they have been excluded:
Rule
Reason
always_put_control_body_on_new_line
Can conflict with the Dart formatter
always_specify_types
Incompatible with omit_local_variable_types
annotate_redeclares
Experimental
avoid_annotating_with_dynamic
Not specified
avoid_catches_without_on_clauses
Has unresolved false positives
avoid_classes_with_only_static_members
Not specified
avoid_implementing_value_types
Not specified
avoid_types_on_closure_parameters
Not specified
close_sinks
Has unresolved false positives
deprecated_member_use_from_same_package
Not specified
diagnostic_describe_all_properties
Not specified
discarded_futures
Has unresolved false positives
do_not_use_environment
Not specified
matching_super_parameters
Not specified
no_literal_bool_comparisons
Not specified
prefer_double_quotes
Incompatible with prefer_single_quotes
prefer_expression_function_bodies
Not specified
prefer_final_parameters
Not specified
prefer_foreach
Not specified
prefer_mixin
Not specified
prefer_relative_imports
Incompatible with always_use_package_imports
type_literal_in_constant_pattern
Not specified
unnecessary_final
Not specified
unnecessary_library_name
Pending recommendation
unnecessary_null_aware_operator_on_extension_on_nullable
Not specified
unreachable_from_main
Not specified
unsafe_html
Not specified
use_decorated_box
Has unresolved malfunctions
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.