firebase_rules_linter 0.1.6 copy "firebase_rules_linter: ^0.1.6" to clipboard
firebase_rules_linter: ^0.1.6 copied to clipboard

A linter for the firebase_rules package to prevent common issues

0
likes
140/ 160
pub points
54
downloads

We analyzed this package 26 hours ago, and awarded it 140 pub points (of a possible 160):

OK
Follow Dart file conventions
30 / 30trigger folding of the section

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: BSD-3-Clause.

OK
Provide documentation
20 / 20trigger folding of the section

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

86 out of 95 API elements (90.5 %) have documentation comments.

Some symbols that are missing documentation: avoid_raw_rules, firebase_rules_linter, invalid_match_function, invalid_match_path, invalid_rules_function.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

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

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Android

Because:

  • package:firebase_rules_linter/firebase_rules_linter.dart that imports:
  • package:firebase_rules_linter/lints/undeclared_enum_value.dart that imports:
  • package:source_helper/source_helper.dart that imports:
  • package:source_helper/src/dart_type_extension.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/type_checker.dart that imports:
  • dart:mirrors
Package not compatible with platform iOS

Because:

  • package:firebase_rules_linter/firebase_rules_linter.dart that imports:
  • package:firebase_rules_linter/lints/undeclared_enum_value.dart that imports:
  • package:source_helper/source_helper.dart that imports:
  • package:source_helper/src/dart_type_extension.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/type_checker.dart that imports:
  • dart:mirrors
Package not compatible with platform Web

Because:

  • package:firebase_rules_linter/firebase_rules_linter.dart that imports:
  • package:firebase_rules_linter/lints/undeclared_function.dart that imports:
  • package:firebase_rules_linter/util.dart that imports:
  • package:custom_lint_builder/custom_lint_builder.dart that imports:
  • package:custom_lint_core/custom_lint_core.dart that imports:
  • package:custom_lint_core/src/type_checker.dart that imports:
  • package:analyzer/dart/element/type.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/element.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.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/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/resolver/typed_literal_resolver.dart that imports:
  • package:analyzer/src/dart/element/type_schema.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/record_type_builder.dart that imports:
  • package:analyzer/src/dart/ast/extensions.dart that imports:
  • package:analyzer/dart/element/element2.dart that imports:
  • package:analyzer/dart/analysis/session.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/stat.dart that imports:
  • dart:io

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:firebase_rules_linter/firebase_rules_linter.dart that imports:
  • package:firebase_rules_linter/lints/undeclared_function.dart that imports:
  • package:firebase_rules_linter/util.dart that imports:
  • package:custom_lint_builder/custom_lint_builder.dart that imports:
  • package:custom_lint_core/custom_lint_core.dart that imports:
  • package:custom_lint_core/src/type_checker.dart that imports:
  • package:analyzer/dart/element/type.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/element.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.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/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/resolver/typed_literal_resolver.dart that imports:
  • package:analyzer/src/dart/element/type_schema.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/record_type_builder.dart that imports:
  • package:analyzer/src/dart/ast/extensions.dart that imports:
  • package:analyzer/dart/element/element2.dart that imports:
  • package:analyzer/dart/analysis/session.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/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.

partial
Pass static analysis
40 / 50trigger folding of the section

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

INFO: Statements in an if should be enclosed in a block.

lib/lints/avoid_raw_rules.dart:31:63

   ╷
31 │           !rulesMethodsTypeChecker.isExactlyType(targetType)) return;
   │                                                               ^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/lints/avoid_raw_rules.dart

INFO: Statements in an if should be enclosed in a block.

lib/lints/undeclared_enum_value.dart:42:58

   ╷
42 │           libraryTypeChecker.isAssignableFromType(type)) return;
   │                                                          ^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/lints/undeclared_enum_value.dart

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

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

Package Constraint Compatible Latest
analyzer ^6.5.0 6.11.0 7.1.0
analyzer_plugin ^0.11.3 0.11.3 0.12.0
collection ^1.16.0 1.19.1 1.19.1
custom_lint_builder ^0.6.2 0.6.10 0.7.0
source_helper ^1.3.4 1.3.5 1.3.5
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 76.0.0 78.0.0
_macros - 0.3.3 0.3.3
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
boolean_selector - 2.1.2 2.1.2
build - 2.4.2 2.4.2
checked_yaml - 2.0.3 2.0.3
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.6 3.0.6
custom_lint - 0.6.10 0.7.0
custom_lint_core - 0.6.10 0.7.0
dart_style - 2.3.7 3.0.0
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
freezed_annotation - 2.4.4 2.4.4
glob - 2.1.2 2.1.2
hotreloader - 4.2.0 4.2.0
json_annotation - 4.9.0 4.9.0
logging - 1.3.0 1.3.0
macros - 0.1.3-main.0 0.1.3-main.0
matcher - 0.12.17 0.12.17
meta - 1.16.0 1.16.0
package_config - 2.1.1 2.1.1
path - 1.9.1 1.9.1
pub_semver - 2.1.5 2.1.5
pubspec_parse - 1.4.0 1.4.0
rxdart - 0.28.0 0.28.0
source_gen - 2.0.0 2.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.3 2.1.3
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.4 0.7.4
typed_data - 1.4.0 1.4.0
uuid - 4.5.1 4.5.1
vm_service - 14.3.1 15.0.0
watcher - 1.1.1 1.1.1
yaml - 3.1.3 3.1.3

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

Found 3 issues. Showing the first 2:

The constraint `^6.5.0` on analyzer does not support the stable version `7.0.0`, that was published 29 days ago.

When analyzer is 30 days old, this package will no longer be awarded points in this category.

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

The constraint `^0.11.3` on analyzer_plugin does not support the stable version `0.12.0`, that was published 16 days ago.

When analyzer_plugin is 30 days old, this package will no longer be awarded points in this category.

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

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.17, Dart 3.6.0.

Check the analysis log for details.

0
likes
140
points
54
downloads

Publisher

verified publisheriodesignteam.com

Weekly Downloads

A linter for the firebase_rules package to prevent common issues

Repository (GitHub)
View/report issues

License

(pending) (license)

Dependencies

analyzer, analyzer_plugin, collection, custom_lint_builder, source_helper

More

Packages that depend on firebase_rules_linter