PackageTrack
Sign in Get early access

barrel_file_lints

A Dart 3.10+ analyzer plugin that enforces barrel file import rules for feature-based Flutter architecture. Supports both feature_xxx/ and features/xxx/ naming conventions.

1.0.5 teklund/barrel_file_lints

What this package is like to depend on

Last release 8 months ago

06 Dec 2025

Too new to tell

only 2 release windows

Nearly every release is documented

notes for 6 of 6 stable releases

Nothing withdrawn

no release was ever pulled

9 months old

6 releases · first in 2025

6 releases in the last 12 months

see the full history below

Release timeline

6 releases · Nov 2025 to Dec 2025
2026
Release Pre-release

Releases

latest 6
  1. 1.0.5 06 Dec 2025
    Release notes

    What's Changed

    • feat(rules): add split barrel support with clean architecture rules by @teklund in #8

    Full Changelog: v1.0.4...v1.0.5

    Open source →
    Release notes

    New Features

    • feat(rules): add avoid_relative_barrel_imports rule to encourage package imports over relative imports for cross-feature barrel files
    • feat(rules): add avoid_ui_framework_in_logic rule to enforce framework independence in domain/data layers
    • feat(rules): add avoid_improper_layer_import rule to enforce clean architecture layer boundaries (UI → Data → Domain)
    • feat(quickfix): add ConvertToPackageImport quick fix to automatically convert relative barrel imports to package imports
    • feat(quickfix): add UseLayerSpecificBarrel quick fix to suggest layer-specific barrel imports (e.g., xxx_data.dart instead of xxx.dart)

    Improvements

    • perf: significantly improved analysis performance with cached regex patterns and early test file exits
    • fix(rules): avoid_self_barrel_import now correctly detects split barrel self-imports and allows cross-layer imports within the same feature
    • fix(rules): avoid_improper_layer_import now flags monolithic barrel usage in data/domain layers and suggests split barrels

    Breaking Changes

    • BREAKING: removed avoid_barrel_cycle rule due to performance concerns (synchronous file I/O caused 150-1250ms overhead)
      • Use CLI tool instead: dart run barrel_file_lints:check_cycles (detects both immediate and transitive cycles)
      • Integrate into CI/CD for comprehensive cycle detection without impacting real-time analysis

    Documentation

    • Add comprehensive documentation for all rules and split barrel architecture
    • Add "Setting Up Split Barrel Files" guide to README
    Open source →
  2. 1.0.4 26 Nov 2025
    Release notes

    What's Changed

    • feat: add cross-feature export validation, cycle detection, and CLI tool by @teklund in #7

    Full Changelog: v1.0.3...v1.0.4

    Open source →
    Release notes
    • feat(rules): add avoid_cross_feature_barrel_exports rule to ensure barrel files only export from their own feature folder
    • feat(cli): add check_cycles CLI tool for detecting circular dependencies (both immediate and transitive: A → B → C → A)
    • feat(quickfix): add quick fix to remove cross-feature exports from barrel files
    • feat(quickfix): add RemoveSelfBarrelImport quick fix for circular self-imports
    • feat(quickfix): add SimplifyRelativePath quick fix for redundant relative paths within same feature
    • fix(rules): avoid_self_barrel_import now correctly handles relative imports at different directory depths
    Open source →
  3. 1.0.3 25 Nov 2025
    Release notes

    What's Changed

    • feat: implement AvoidSelfBarrelImport lint rule to prevent circular dependencies and update documentation by @teklund in #6
    • chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #5
    • chore(deps): Bump lints from 5.1.1 to 6.0.0 by @dependabot[bot] in #4

    New Contributors

    Full Changelog: v1.0.2...v1.0.3

    Open source →
    Release notes
    • feat(rules): add avoid_self_barrel_import rule to prevent circular dependencies
    • feat(rules): extend internal directory detection to include common Flutter/Dart patterns: /services/, /repositories/, /providers/, /bloc/, /cubit/, /notifiers/, /widgets/, /utils/, /config/, /helpers/
    • fix(config): analysis_options.yaml now uses root-level plugins: (Dart 3.10+ standard)
    Open source →
  4. 1.0.2 24 Nov 2025
    Release notes

    What's Changed

    • chore: update changelog for version 1.0.2 and enhance documentation c… by @teklund in #3

    Full Changelog: v1.0.1...v1.0.2

    Open source →
    Release notes
    • Improved documentation and API coverage
    Open source →
  5. 1.0.1 24 Nov 2025
    Release notes

    What's Changed

    • refactor: simplify publish workflow by consolidating steps and improv… by @teklund in #1
    • chore: update version to 1.0.1 and enhance changelog with workflow im… by @teklund in #2

    Full Changelog: v1.0.0...v1.0.1

    Open source →
    Release notes
    • Improved CI/CD and publishing workflows
    Open source →
  6. 1.0.0 24 Nov 2025
    Release notes

    Full Changelog: v1.0.0...v1.0.0

    Open source →
    Release notes
    • feat: initial stable release
    • feat(rules): add avoid_internal_feature_imports rule - features must import other features via barrel files only
    • feat(rules): add avoid_core_importing_features rule - core module must not import from feature modules
    • feat(quickfix): add quick fix to replace internal import with barrel file import
    • feat(quickfix): add quick fix to comment out feature import in core with TODO
    • feat: support both naming conventions: feature_xxx/ (underscore) and features/xxx/ (clean architecture)
    • feat: support both absolute (package:) and relative (../) imports
    • feat: automatically exclude test files from checks
    • test: add comprehensive test suite (47 tests across 7 test files)
    • ci: add full CI/CD pipeline with GitHub Actions
    • docs: add complete documentation and examples
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive