lint_barrel_self_import 0.1.1 copy "lint_barrel_self_import: ^0.1.1" to clipboard
lint_barrel_self_import: ^0.1.1 copied to clipboard

A custom lint rule to avoid importing a package's own barrel file from within that package.

120/ 160
pub points
16
downloads

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

Passed report section
Follow Dart file conventions
30 / 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

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

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

13 out of 13 API elements (100.0 %) have documentation comments.

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:lint_barrel_self_import/lint_barrel_self_import.dart that imports:
  • package:lint_barrel_self_import/src/lint_barrel_self_import_base.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/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/reference.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/dart/element/element.dart that imports:
  • package:analyzer/src/dart/constant/evaluation.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/ast/visitor.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/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/library_builder.dart that imports:
  • package:analyzer/src/summary2/reference_resolver.dart that imports:
  • package:analyzer/src/dart/element/scope.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/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

INFO: Catch clause should use 'on' to specify the type of exception being caught.

lib/src/lint_barrel_self_import_base.dart:65:11

   ╷
65 │         } catch (e) {
   │           ^^^^^
   ╵

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

/tmp/pana_SMAKHK/lib/src/lint_barrel_self_import_base.dart doesn't match the Dart formatter.

To format your files run: dart format .

Failed report section
Support up-to-date dependencies
10 / 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 >=6.0.0 <8.0.0 7.6.0 9.0.0
custom_lint_builder >=0.6.0 <1.0.0 0.8.0 0.8.1
path ^1.9.0 1.9.1 1.9.1
Transitive dependencies
Package Constraint Compatible Latest Notes
_fe_analyzer_shared - 85.0.0 92.0.0
analyzer_plugin - 0.13.4 0.13.11
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
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
crypto - 3.0.7 3.0.7
custom_lint - 0.8.0 0.8.1
custom_lint_core - 0.8.0 0.8.2
custom_lint_visitor - 1.0.0+7.7.0 1.0.0+9.0.0
dart_style - 3.1.1 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
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
yaml - 3.1.3 3.1.3

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

The constraint `>=6.0.0 <8.0.0` on analyzer does not support the stable version `8.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

Failed check 0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 2 errors:

  • UNDEFINED_METHOD - lib/src/lint_barrel_self_import_base.dart:39:18 - The method 'atNode' isn't defined for the type 'ErrorReporter'.
  • UNDEFINED_METHOD - lib/src/lint_barrel_self_import_base.dart:63:22 - The method 'atNode' isn't defined for the type 'ErrorReporter'.

Run dart pub downgrade and then dart analyze to reproduce the above problem.

You may run dart pub upgrade --tighten to update your dependency constraints, see dart.dev/go/downgrade-testing for details.

Analyzed with Pana 0.23.3, Dart 3.10.4.

Check the analysis log for details.

Weekly downloads

Display as:
By versions:
0
likes
120
points
16
downloads

Publisher

verified publishersotaatos.dev

Weekly Downloads

A custom lint rule to avoid importing a package's own barrel file from within that package.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, custom_lint_builder, path

More

Packages that depend on lint_barrel_self_import