hyena_dart 2.0.0 copy "hyena_dart: ^2.0.0" to clipboard
hyena_dart: ^2.0.0 copied to clipboard

A Flutter/Dart codebase analyzer for dead code detection and complexity metrics.

2.0.0 - 2026-08-30 #

Changed #

  • Report unused exported public declarations by default; reusable package APIs can be preserved with ignore_exports: true or --ignore-exports
  • Support only project-local dev-dependency execution, removing global executable mappings and global-activation instructions
  • Emit project- or workspace-relative paths in console, JSON, Markdown, and HTML reports, matching existing SARIF, baseline, and MCP behavior

Added #

  • Support --ignore-exports and --ignore-private on the combined analyze command

1.2.4 - 2026-08-30 #

Fixed #

  • Apply Dart analyzer context boundaries to complexity source discovery, preventing nested SDKs and tool-managed checkouts from being parsed as project source without hard-coded directory exclusions

1.2.3 - 2026-08-30 #

Fixed #

  • Normalize and absolutize analysis targets and discovered source paths before creating analyzer contexts, so current-directory and trailing-separator targets work reliably
  • Verify that each discovered source belongs to the selected analyzer context before resolving it, preventing nested tool worktrees from crashing analysis

1.2.2 - 2026-08-27 #

Added #

  • Add deterministic single-package and workspace performance corpora, structured timing and memory results, an advisory v1.2.1 baseline, and a manually triggered benchmark workflow
  • Add opt-in read-only benchmarking for an existing production repository without running its code or dependency setup
  • Publish pinned Melos, Flame, and Flutter packages benchmark results with methodology, limitations, and concrete review leads

Fixed #

  • Parse modern Dart dot-shorthand syntax and tolerate non-error dartdoc parser diagnostics in complexity analysis
  • Exclude .dart_tool and build artifacts from source analysis
  • Keep fields that implement inherited getters, and their initializer dependencies, reachable in dead-code analysis
  • Reject benchmark baseline comparisons when corpus metadata or correctness signatures differ
  • Prevent external benchmark output from being written inside the target, including through symlink aliases

1.2.1 - 2026-08-27 #

Added #

  • Add a Flutter-style workspace fixture plus Windows-native path, recursive glob, symlink-alias, and malformed-workspace regressions
  • Add normalized golden compatibility coverage for console, JSON, Markdown, HTML, and SARIF reports

Fixed #

  • Preserve resolved dead-code reachability across workspace package boundaries without conflating same-named declarations or references from unreachable callers

1.2.0 - 2026-08-27 #

Added #

  • Add --version to both executables and enforce runtime/package version consistency in CI and publishing
  • Analyze Dart workspaces package by package with nested/glob discovery, per-package configuration, package-scoped reports, and workspace-relative findings
  • Add configurable dead-code entry points and entry-point annotations for routes, generated callbacks, serializers, dependency injection, and plugin registrations

Fixed #

  • Keep workspace members out of parent scans so files are not double-counted or analyzed with the wrong package configuration
  • Preserve baselines, SARIF locations, and MCP summaries across package-scoped workspace results

1.1.2 - 2026-08-27 #

Added #

  • Add a stdio-only, workspace-confined MCP server with one read-only analysis tool
  • Add a repository-local agent skill for safe Hyena MCP and JSON CLI workflows

1.1.1 - 2026-08-27 #

Fixed #

  • Correct the minimum analyzer and glob constraints so supported lower-bound dependency resolution compiles and runs

CI #

  • Validate lower dependency bounds with static analysis and an end-to-end CLI smoke test

1.1.0 - 2026-08-27 #

Added #

  • Analyze individual Dart files as well as directories
  • Detect unused explicit constructors
  • Support hyena:ignore source suppressions for dead code and individual complexity rules
  • Add versioned finding baselines with stable, line-independent fingerprints
  • Add opt-in --fail-on exit codes for dead-code and complexity findings
  • Add SARIF 2.1 output for code-scanning integrations

Fixed #

  • Preserve public APIs from directly importable package libraries and library parts
  • Follow every conditional import and export branch
  • Recognize inherited member implementations without requiring an @override annotation
  • Conservatively retain unresolved dynamic member targets

1.0.1 - 2026-08-27 #

Fixed #

  • Honor configured complexity thresholds, dead-code settings, and target-project configuration without CLI defaults overriding YAML
  • Detect dead code through declaration reachability, including exported APIs, extensions, extension types, and their dependencies
  • Respect barrel export visibility and show/hide combinators
  • Report accurate one-based source locations and physical line totals
  • Analyze constructors, closures, modern control flow, and constructor initializer lists in their correct complexity scopes
  • Exclude nested closure bodies from outer-function metrics
  • Calculate token-based Halstead volume and a normalized maintainability index
  • Surface parse and resolution failures instead of silently omitting source files
  • Escape source-controlled content in HTML reports

1.0.0 - 2026-05-23 #

Added #

  • Initial release of Hyena Dart codebase analyzer
  • Dead code detection for unused classes, functions, methods, enums, variables, fields, and typedefs
  • Code complexity metrics including cyclomatic complexity, lines of code, nesting levels, parameter count, and maintainability index
  • Multiple output formats: Console (colored), JSON, Markdown, and HTML
  • CLI tool with three main commands: analyze, dead-code, and complexity
  • Configuration file support via hyena.yaml or analysis_options.yaml
  • Configurable exclusion patterns for generated files (.g.dart, .freezed.dart, etc.)
  • Comprehensive documentation and CLI reference
  • Unit tests for core models and configuration
  • AST-based analysis using Dart's official analyzer package
  • Export tracking for dead code detection accuracy
  • Progress indicators and detailed reporting
  • MIT License
0
likes
150
points
5
downloads

Documentation

API reference

Publisher

verified publisheronlychan.xyz

Weekly Downloads

A Flutter/Dart codebase analyzer for dead code detection and complexity metrics.

Repository (GitHub)
View/report issues

Topics

#analyzer #dead-code #complexity #linter #cli

License

MIT (license)

Dependencies

analyzer, args, dart_mcp, glob, path, yaml

More

Packages that depend on hyena_dart