PackageTrack
Sign in Get early access

anteater

Anteater is a static analyzer for Dart that provides SSA-based data flow analysis, Datalog-based reasoning, code metrics, and configurable lint rules.

0.4.0 51 downloads/mo #4253 most downloaded on pub.dev brody-0125/anteater

What this package is like to depend on

Last release 7 months ago

03 Jan 2026

Too new to tell

only 1 release windows

Nearly every release is documented

notes for 5 of 5 stable releases

Nothing withdrawn

no release was ever pulled

7 months old

5 releases · first in 2025

5 releases in the last 12 months

see the full history below

Release timeline

5 releases · Dec 2025 to Jan 2026
2026
Release Pre-release

Releases

latest 5
  1. 0.4.0 03 Jan 2026
    Release notes

    Added

    • Parallel Analysis API: Memory-efficient concurrent file analysis for large codebases
      • ParallelAnalyzer class with configurable concurrency and chunked processing
      • ParallelAnalysisConfig for tuning maxConcurrency (default: 4) and chunkSize (default: 50)
      • FileAnalysisResult for per-file analysis results with error handling
      • AnalysisProgressCallback for real-time progress tracking
      • analyzeWithProgress() method with progress callback support
      • analyzeStream() for sequential streaming results
      • analyzeParallelStream() for parallel streaming with chunked processing
      • Automatic exclusion of generated files (.g.dart, .freezed.dart)
    • MetricsAggregator Enhancement: addPrecomputedResult() method for parallel aggregation without AST retention
    • Library Documentation: Added parallel analysis usage examples to library doc comment

    Changed

    • Library Exports: Exported ParallelAnalyzer, ParallelAnalysisConfig, FileAnalysisResult, AnalysisProgressCallback from main library
    Open source →
  2. 0.3.2 30 Dec 2025
    Release notes

    What's Changed

    Full Changelog: 0.3.0...0.3.2

    Open source →
    Release notes

    Changed

    • SDK Version: Updated minimum SDK constraint from ^3.10.0 to ^3.10.7 to fix pub.dev dependency resolution failure

    Fixed

    • SSA Builder: Added result field versioning for CallInstruction, LoadFieldInstruction, LoadIndexInstruction, NullCheckInstruction, CastInstruction, TypeCheckInstruction
    • SSA Builder: Implemented trivial phi use-site replacement with substitution chain resolution
    • SSA Builder: Added AwaitInstruction result versioning
    • Datalog Facts: Preserved SSA versions in _getValueVarId using variable.toString()
    • Datalog Facts: Added flow-sensitive *At facts (AssignAt, AllocAt, CallAt, LoadFieldAt, StoreFieldAt, PhiAt) with block IDs
    • Abstract Interpreter: Added missing transfer functions for LoadField, Call, Await, LoadIndex, NullCheck, Cast, TypeCheck
    • Abstract Interpreter: Fixed unreachable predecessor filtering in phi transfer function
    Open source →
  3. 0.3.1 29 Dec 2025
    Release notes

    Changed

    • Halstead Metrics: Renamed N1/N2 fields to operatorTotal/operandTotal for Dart naming convention compliance
    • SDK Version: Updated minimum SDK constraint from ^3.5.0 to ^3.10.0 for dart_bert_tokenizer compatibility
    • Async I/O: Converted async file existence checks to sync versions for better performance

    Fixed

    • Library Documentation: Added library; directive to fix dangling doc comment warning
    • Doc Comments: Escaped angle brackets in documentation to prevent unintended HTML interpretation
    • String Interpolation: Fixed string concatenation to use interpolation
    • Const Usage: Applied const constructors and declarations throughout test files
    • Dynamic Calls: Fixed avoid_dynamic_calls warnings in server tests
    • Unnecessary Import: Removed redundant import in metrics_test.dart
    • Constructor Ordering: Moved constructors before field declarations per sort_constructors_first lint rule
    Open source →
  4. 0.3.0 28 Dec 2025
    Release notes

    What's Changed

    • feature : support technical debt cost model and neural analysis by @brody-0125 in #1
    • feature : support technical debt cost model and neural analysis (#1) by @brody-0125 in #2

    Full Changelog: 0.2.0...0.3.0

    Open source →
    Release notes

    Added

    • Neural Analysis Setup: Semantic clone detection using ONNX Runtime
      • Pre-trained nomic-embed-text model (~522MB) for 768-dimensional embeddings
      • WordPiece tokenization via dart_bert_tokenizer
      • Model file search order: --model option → ./model/~/.anteater/
      • Installation instructions for ONNX Runtime (brew install onnxruntime)
    • CLI Command: anteater clones --path <path> for semantic clone detection
      • Detects semantically similar code (same functionality, different syntax)
      • Configurable similarity threshold (--threshold)
      • Custom model/vocab paths (--model, --vocab)
      • Fallback to ~/.anteater/ for global installation
      • Output formats: text, json
    • Technical Debt Cost Model: Comprehensive debt tracking and cost estimation
      • DebtItem and DebtType models with 10 debt types (TODO, FIXME, ignore, as dynamic, etc.)
      • DebtSeverity with configurable cost multipliers (critical: 4x, high: 2x, medium: 1x, low: 0.5x)
      • DebtDetector for detecting debt from comments, casts, annotations, and metrics
      • DebtCostCalculator for item and total cost calculation
      • DebtReport with Markdown, JSON, and console output formats
      • DebtAggregator for project-level aggregation and hotspot analysis
      • DebtTrend for tracking debt changes over time
    • CLI Command: anteater debt --path <path> for technical debt analysis
      • Output formats: text, json, markdown
      • Threshold-based CI gate with --fail-on-threshold
      • Customizable threshold with --threshold flag
    • Debt Configuration: YAML configuration for debt costs and thresholds
      • Per-type cost configuration
      • Metrics-based debt thresholds (MI, complexity, LOC)
      • Configurable unit of measurement (hours, story points)
    Open source →
  5. 0.2.0 28 Dec 2025
    Release notes Open source →
    Release notes

    Added

    • Style Consistency Rules: 10 production-ready lint rules
      • Safety rules: avoid-dynamic, avoid-global-state, avoid-late-keyword, no-empty-block, no-equal-then-else
      • Quality rules: prefer-first-last, prefer-async-await, avoid-unnecessary-cast, prefer-trailing-comma, binary-expression-order
    • Rule Infrastructure
      • StyleRule abstract base class for custom rules
      • RuleRunner for coordinated rule execution
      • RuleRegistry for rule registration and configuration
      • RuleConfig for YAML-based configuration parsing
      • AnalysisResult and AnalysisResultBuilder for multi-file results
    • Rule Configuration
      • Per-rule severity override
      • Per-rule file exclusion patterns
      • Global exclusion patterns
    • CLI Command: anteater rules --path <path> for running style rules
    • Performance Optimizations
      • RegExp pattern caching for glob matching
      • Lazy computed properties in AnalysisResult
      • Unmodifiable collections in RuleSettings
      • Const empty list returns

    Changed

    • Improved error handling: rule execution failures reported as warnings instead of silent failures
    Open source →
    Release notes

    Added

    • Style Consistency Rules: 10 production-ready lint rules
      • Safety rules: avoid-dynamic, avoid-global-state, avoid-late-keyword, no-empty-block, no-equal-then-else
      • Quality rules: prefer-first-last, prefer-async-await, avoid-unnecessary-cast, prefer-trailing-comma, binary-expression-order
    • Rule Infrastructure
      • StyleRule abstract base class for custom rules
      • RuleRunner for coordinated rule execution
      • RuleRegistry for rule registration and configuration
      • RuleConfig for YAML-based configuration parsing
      • AnalysisResult and AnalysisResultBuilder for multi-file results
    • Rule Configuration
      • Per-rule severity override
      • Per-rule file exclusion patterns
      • Global exclusion patterns
    • CLI Command: anteater analyze -p <path> for running style rules analysis
    • Performance Optimizations
      • RegExp pattern caching for glob matching
      • Lazy computed properties in AnalysisResult
      • Unmodifiable collections in RuleSettings
      • Const empty list returns

    Changed

    • Improved error handling: rule execution failures reported as warnings instead of silent failures
    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