heimdall_test 0.4.0
heimdall_test: ^0.4.0 copied to clipboard
Architecture rules for Dart source trees inspired by ArchUnit.
0.4.0 #
- Renamed the global empty-selection configuration from
failOnEmptyShouldtofailOnEmptySelection. - Empty-selection failures now distinguish between selectors that return no candidates and
.that()predicates that match no items. - Rules remain strict by default; tests that intentionally allow empty selections should opt in with
.allowEmpty().
0.3.1 #
- Added predicate builder
.not()support for negating the next selection predicate in fluent rule chains. - Documented the difference between builder
.not()calls and reusableHeimdallPredicate.not()/HeimdallCondition.not()composition.
0.3.0 #
- Reworked the package around analyzer AST nodes as the primary source of rule information.
- Expanded the fluent API for files, classes, members, constructors, code units, dependencies, layers, slices, plugins, and freezing.
- Added broader built-in architecture checks for code hygiene, dependency policies, public class/file conventions, dynamic signatures, barrels, layers, and feature slices.
- Improved importer behavior, package URI resolution, parse diagnostics, path matching, and dependency graph traversal.
- Reduced source-text based checks in favor of AST-backed rule validation.
- Added more regression coverage and package self-architecture tests.
- This release contains breaking API and behavior changes from the 0.2.x line.
0.2.0 #
- Added typed all/any/none variants across file, class, and member selectors and conditions.
- Improved path matching for exact paths, path fragments,
..patterns, and glob combinations. - Expanded layer architecture coverage to report every problematic file.
0.1.0 #
- Added Dart source importer with package URI resolution, parse diagnostics, content hashes, and import options.
- Added fluent rules for classes, files, members, code units, dependencies, layers, and slices.
- Added built-in code, dependency, layer, slice, plugin, and freezing support.
- Added AST-aware dependency detection, including barrel exports, combinators, static calls, aliases, and local-scope handling.
- Added stricter path matching, duplicate export/import finding reduction, and public signature checks.
- Added regression fixtures and architecture tests for importer, DSL, dependency, layer, slice, and member behavior.