fast_equatable_lint 0.5.0 copy "fast_equatable_lint: ^0.5.0" to clipboard
fast_equatable_lint: ^0.5.0 copied to clipboard

This is a set of rules to make classes using FastEquatable more maintainable. We validate that every fields in an FastEquatable class is linked to the hashParameters getter.

135/ 160
pub points
48
downloads

We analyzed this package 12 days ago, and awarded it 135 pub points (of a possible 160):

Failed report section
Follow Dart file conventions
25 / 30trigger folding of the section

Passed check 10/10 points: Provide a valid pubspec.yaml

Passed check 5/5 points: Provide a valid README.md

Failed check 0/5 points: Provide a valid CHANGELOG.md

`CHANGELOG.md` does not contain reference to the current version ("0.5.0").

Changelog entries help developers follow the progress of your package. Check out the Dart conventions for Maintaining a package changelog.

Passed check 10/10 points: Use an OSI-approved license

Detected license: MIT.

Passed report section
Provide documentation
20 / 20trigger folding of the section

Passed check 10/10 points: 20% or more of the public API has dartdoc comments

5 out of 8 API elements (62.5 %) have documentation comments.

Some symbols that are missing documentation: const, fast_equatable_lint, fast_equatable_lint.FastEquatableLint.FastEquatableLint.new.

Passed check 10/10 points: Package has an example

Passed report section
Platform support
20 / 20trigger folding of the section

Passed check 20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Web

Because:

  • package:fast_equatable_lint/fast_equatable_lint.dart that imports:
  • package:fast_equatable_lint/src/lints/missing_field_in_equatable_props/missing_field_in_equatable_props.dart that imports:
  • package:fast_equatable_lint/src/lints/missing_field_in_equatable_props/helpers/add_equatable_class_field_declaration_listener.dart that imports:
  • package:fast_equatable_lint/src/helpers/get_equatable_props_expression_infos.dart that imports:
  • package:analyzer/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/lint/constants.dart that imports:
  • package:analyzer/src/error/codes.dart that imports:
  • package:analyzer/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type.dart that imports:
  • package:analyzer/src/utilities/extensions/element.dart that imports:
  • package:analyzer/src/dart/element/member.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.dart that imports:
  • package:analyzer/src/summary2/linked_element_factory.dart that imports:
  • package:analyzer/src/summary2/export.dart that imports:
  • package:analyzer/src/summary2/library_builder.dart that imports:
  • package:analyzer/src/summary2/types_builder.dart that imports:
  • package:analyzer/src/summary2/link.dart that imports:
  • package:analyzer/src/summary2/variance_builder.dart that imports:
  • package:analyzer/src/summary2/record_type_builder.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/named_type_builder.dart that imports:
  • package:analyzer/src/dart/element/type_system.dart that imports:
  • package:analyzer/src/generated/inference_log.dart that imports:
  • package:analyzer/src/generated/resolver.dart that imports:
  • package:analyzer/src/util/ast_data_extractor.dart that imports:
  • package:analyzer/dart/element/element.dart that imports:
  • package:analyzer/src/dart/resolver/scope.dart that imports:
  • package:analyzer/src/generated/engine.dart that imports:
  • package:analyzer/src/dart/analysis/analysis_options.dart that imports:
  • package:analyzer/src/lint/registry.dart that imports:
  • package:analyzer/src/analysis_rule/rule_context.dart that imports:
  • package:analyzer/analysis_rule/analysis_rule.dart that imports:
  • package:analyzer/src/lint/pub.dart that imports:
  • package:analyzer/source/file_source.dart that imports:
  • package:analyzer/file_system/file_system.dart that imports:
  • package:watcher/watcher.dart that imports:
  • package:watcher/src/file_watcher/polling.dart that imports:
  • package:watcher/src/polling.dart that imports:
  • dart:io
Partially passed report section
Pass static analysis
40 / 50trigger folding of the section

Partially passed check 40/50 points: code has no errors, warnings, lints, or formatting issues

Found 31 issues. Showing the first 2:

INFO: 'package:analyzer/dart/element/element2.dart' is deprecated and shouldn't be used. Import element.dart instead.

lib/src/helpers/get_ast_node_from_element.dart:3:1

  ╷
3 │ import 'package:analyzer/dart/element/element2.dart';
  │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/helpers/get_ast_node_from_element.dart

INFO: 'Element2' is deprecated and shouldn't be used. Use Element instead.

lib/src/helpers/get_ast_node_from_element.dart:6:32

  ╷
6 │ AstNode? getAstNodeFromElement(Element2 element) {
  │                                ^^^^^^^^
  ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/helpers/get_ast_node_from_element.dart

Failed report section
Support up-to-date dependencies
30 / 40trigger folding of the section

Failed check 0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest Notes
analyzer >=7.0.0 <9.0.0 8.4.0 9.0.0
analyzer_plugin ^0.13.0 0.13.10 0.13.11
collection ^1.16.0 1.19.1 1.19.1
custom_lint_builder ^0.8.0 0.8.1 0.8.1
fast_equatable ^1.3.1 1.3.1 1.3.1
Transitive dependencies
Package Constraint Compatible Latest Notes
_fe_analyzer_shared - 91.0.0 92.0.0
args - 2.7.0 2.7.0
async - 2.13.0 2.13.0
boolean_selector - 2.1.2 2.1.2
checked_yaml - 2.0.4 2.0.4
ci - 0.1.0 0.1.0
cli_util - 0.4.2 0.4.2
convert - 3.1.2 3.1.2
crypto - 3.0.7 3.0.7
custom_lint - 0.8.1 0.8.1
custom_lint_core - 0.8.1 0.8.1
custom_lint_visitor - 1.0.0+8.4.0 1.0.0+8.4.0
dart_style - 3.1.3 3.1.3
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
freezed_annotation - 3.1.0 3.1.0
glob - 2.1.3 2.1.3
hotreloader - 4.3.0 4.3.0
json_annotation - 4.9.0 4.9.0
logging - 1.3.0 1.3.0
matcher - 0.12.18 0.12.18
meta - 1.17.0 1.17.0
package_config - 2.2.0 2.2.0
path - 1.9.1 1.9.1
pub_semver - 2.2.0 2.2.0
pubspec_parse - 1.5.0 1.5.0
rxdart - 0.28.0 0.28.0
source_span - 1.10.1 1.10.1
stack_trace - 1.12.1 1.12.1
stream_channel - 2.1.4 2.1.4
stream_transform - 2.1.1 2.1.1
string_scanner - 1.4.1 1.4.1
term_glyph - 1.2.2 1.2.2
test_api - 0.7.8 0.7.8
typed_data - 1.4.0 1.4.0
uuid - 4.5.2 4.5.2
vm_service - 15.0.2 15.0.2
watcher - 1.2.0 1.2.0
xxh3 - 1.2.0 1.2.0
yaml - 3.1.3 3.1.3

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

The constraint `>=7.0.0 <9.0.0` on analyzer does not support the stable version `9.0.0`.

Try running dart pub upgrade --major-versions analyzer to update the constraint.

Passed check 10/10 points: Package supports latest stable Dart and Flutter SDKs

Passed check 20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.23.3, Dart 3.10.4.

Check the analysis log for details.

Weekly downloads

Display as:
By versions:
1
likes
135
points
48
downloads

Publisher

verified publisherfabi.online

Weekly Downloads

This is a set of rules to make classes using FastEquatable more maintainable. We validate that every fields in an FastEquatable class is linked to the hashParameters getter.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, analyzer_plugin, collection, custom_lint_builder, fast_equatable

More

Packages that depend on fast_equatable_lint