fast_equatable_lint 0.3.2
fast_equatable_lint: ^0.3.2 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.
We analyzed this package 2 days ago, and awarded it 150 pub points (of a possible 160):
10/10 points: Provide a valid pubspec.yaml
5/5 points: Provide a valid README.md
5/5 points: Provide a valid CHANGELOG.md
10/10 points: Use an OSI-approved license
Detected license: MIT
.
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
.
10/10 points: Package has an example
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/utilities/extensions/element.dart
that imports:package:analyzer/src/dart/element/type.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/element2.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/task/options.dart
that imports:package:analyzer/src/plugin/options.dart
that imports:package:analyzer/error/listener.dart
that imports:package:analyzer/src/dart/element/extensions.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/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/type_builder.dart
that imports:package:analyzer/dart/element/type.dart
that imports:package:analyzer/dart/element/element.dart
that imports:package:analyzer/src/dart/constant/evaluation.dart
that imports:package:analyzer/src/dart/element/type_algebra.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/summary2/link.dart
that imports:package:analyzer/src/summary2/top_level_inference.dart
that imports:package:analyzer/src/summary2/instance_member_inferrer.dart
that imports:package:analyzer/src/dart/element/inheritance_manager3.dart
that imports:package:analyzer/src/fine/requirements.dart
that imports:package:analyzer/src/summary2/linked_element_factory.dart
that imports:package:analyzer/src/summary2/bundle_reader.dart
that imports:package:analyzer/src/fine/library_manifest.dart
that imports:package:analyzer/src/dart/analysis/file_state.dart
that imports:package:analyzer/src/workspace/workspace.dart
that imports:package:analyzer/src/workspace/blaze.dart
that imports:package:analyzer/src/workspace/blaze_watcher.dart
that imports:package:watcher/watcher.dart
that imports:package:watcher/src/file_watcher/polling.dart
that imports:package:watcher/src/stat.dart
that imports:dart:io
0/0 points: WASM compatibility
Package not compatible with runtime wasm
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/utilities/extensions/element.dart
that imports:package:analyzer/src/dart/element/type.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/element2.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/task/options.dart
that imports:package:analyzer/src/plugin/options.dart
that imports:package:analyzer/error/listener.dart
that imports:package:analyzer/src/dart/element/extensions.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/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/type_builder.dart
that imports:package:analyzer/dart/element/type.dart
that imports:package:analyzer/dart/element/element.dart
that imports:package:analyzer/src/dart/constant/evaluation.dart
that imports:package:analyzer/src/dart/element/type_algebra.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/summary2/link.dart
that imports:package:analyzer/src/summary2/top_level_inference.dart
that imports:package:analyzer/src/summary2/instance_member_inferrer.dart
that imports:package:analyzer/src/dart/element/inheritance_manager3.dart
that imports:package:analyzer/src/fine/requirements.dart
that imports:package:analyzer/src/summary2/linked_element_factory.dart
that imports:package:analyzer/src/summary2/bundle_reader.dart
that imports:package:analyzer/src/fine/library_manifest.dart
that imports:package:analyzer/src/dart/analysis/file_state.dart
that imports:package:analyzer/src/workspace/workspace.dart
that imports:package:analyzer/src/workspace/blaze.dart
that imports:package:analyzer/src/workspace/blaze_watcher.dart
that imports:package:watcher/watcher.dart
that imports:package:watcher/src/file_watcher/polling.dart
that imports:package:watcher/src/stat.dart
that imports:dart:io
This package is not compatible with runtime wasm
, and will not be rewarded full points in a future version of the scoring model.
See https://dart.dev/web/wasm for details.
40/50 points: code has no errors, warnings, lints, or formatting issues
Found 20 issues. Showing the first 2:
INFO: 'Element' is deprecated and shouldn't be used. This is part of the old analyzer element model. Please see\nhttps://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/element_model_migration_guide.md\nfor information about how to migrate to the new element model.
lib/src/helpers/get_ast_node_from_element.dart:6:32
╷
6 │ AstNode? getAstNodeFromElement(Element element) {
│ ^^^^^^^
╵
To reproduce make sure you are using the lints_core and run dart analyze lib/src/helpers/get_ast_node_from_element.dart
INFO: 'getParsedLibraryByElement' is deprecated and shouldn't be used. Use getParsedLibraryByElement2() instead.
lib/src/helpers/get_ast_node_from_element.dart:8:36
╷
8 │ final parsedLibResult = session?.getParsedLibraryByElement(element.library!)
│ ^^^^^^^^^^^^^^^^^^^^^^^^^
╵
To reproduce make sure you are using the lints_core and run dart analyze lib/src/helpers/get_ast_node_from_element.dart
10/10 points: All of the package dependencies are supported in the latest version
Package | Constraint | Compatible | Latest | Notes |
---|---|---|---|---|
analyzer |
^7.0.0 |
7.4.5 | 7.5.4 | |
analyzer_plugin |
^0.13.0 |
0.13.1 | 0.13.4 | |
collection |
^1.16.0 |
1.19.1 | 1.19.1 | |
custom_lint_builder |
^0.7.0 |
0.7.5 | 0.7.5 | |
fast_equatable |
^1.1.0 |
1.3.1 | 1.3.1 | |
source_gen |
^2.0.0 |
2.0.0 | 2.0.0 |
Transitive dependencies
Package | Constraint | Compatible | Latest | Notes |
---|---|---|---|---|
_fe_analyzer_shared |
- | 82.0.0 | 85.0.0 | |
args |
- | 2.7.0 | 2.7.0 | |
async |
- | 2.13.0 | 2.13.0 | |
boolean_selector |
- | 2.1.2 | 2.1.2 | |
build |
- | 2.5.4 | 2.5.4 | |
build_config |
- | 1.1.2 | 1.1.2 | |
build_daemon |
- | 4.0.4 | 4.0.4 | |
build_resolvers |
- | 2.5.4 | 2.5.4 | |
build_runner |
- | 2.5.4 | 2.5.4 | |
build_runner_core |
- | 9.1.2 | 9.1.2 | |
built_collection |
- | 5.1.1 | 5.1.1 | |
built_value |
- | 8.10.1 | 8.10.1 | |
checked_yaml |
- | 2.0.4 | 2.0.4 | |
ci |
- | 0.1.0 | 0.1.0 | |
cli_util |
- | 0.4.2 | 0.4.2 | |
code_builder |
- | 4.10.1 | 4.10.1 | |
convert |
- | 3.1.2 | 3.1.2 | |
crypto |
- | 3.0.6 | 3.0.6 | |
custom_lint |
- | 0.7.5 | 0.7.5 | |
custom_lint_core |
- | 0.7.5 | 0.7.5 | |
custom_lint_visitor |
- | 1.0.0+7.4.5 | 1.0.0+7.4.5 | |
dart_style |
- | 3.1.0 | 3.1.0 | |
file |
- | 7.0.1 | 7.0.1 | |
fixnum |
- | 1.1.1 | 1.1.1 | |
freezed_annotation |
- | 3.1.0 | 3.1.0 | |
frontend_server_client |
- | 4.0.0 | 4.0.0 | |
glob |
- | 2.1.3 | 2.1.3 | |
graphs |
- | 2.3.2 | 2.3.2 | |
hotreloader |
- | 4.3.0 | 4.3.0 | |
http |
- | 1.4.0 | 1.4.0 | |
http_multi_server |
- | 3.2.2 | 3.2.2 | |
http_parser |
- | 4.1.2 | 4.1.2 | |
io |
- | 1.0.5 | 1.0.5 | |
js |
- | 0.7.2 | 0.7.2 | Discontinued |
json_annotation |
- | 4.9.0 | 4.9.0 | |
logging |
- | 1.3.0 | 1.3.0 | |
matcher |
- | 0.12.17 | 0.12.17 | |
meta |
- | 1.17.0 | 1.17.0 | |
mime |
- | 2.0.0 | 2.0.0 | |
package_config |
- | 2.2.0 | 2.2.0 | |
path |
- | 1.9.1 | 1.9.1 | |
pool |
- | 1.5.1 | 1.5.1 | |
pub_semver |
- | 2.2.0 | 2.2.0 | |
pubspec_parse |
- | 1.5.0 | 1.5.0 | |
rxdart |
- | 0.28.0 | 0.28.0 | |
shelf |
- | 1.4.2 | 1.4.2 | |
shelf_web_socket |
- | 3.0.0 | 3.0.0 | |
source_span |
- | 1.10.1 | 1.10.1 | |
sprintf |
- | 7.0.0 | 7.0.0 | |
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.6 | 0.7.6 | |
timing |
- | 1.0.2 | 1.0.2 | |
typed_data |
- | 1.4.0 | 1.4.0 | |
uuid |
- | 4.5.1 | 4.5.1 | |
vm_service |
- | 15.0.2 | 15.0.2 | |
watcher |
- | 1.1.2 | 1.1.2 | |
web |
- | 1.1.1 | 1.1.1 | |
web_socket |
- | 1.0.1 | 1.0.1 | |
web_socket_channel |
- | 3.0.3 | 3.0.3 | |
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
.
10/10 points: Package supports latest stable Dart and Flutter SDKs
20/20 points: Compatible with dependency constraint lower bounds
pub downgrade
does not expose any static analysis error.
Analyzed with Pana 0.22.21
, Dart 3.8.1
.
Check the analysis log for details.