PackageTrack
Sign in Get early access

brew_dart

Programmatic access to Homebrew on macOS and Linux. Strongly-typed freezed models, JSON v2 parsing, streaming output, batch operations, and a Brew facade.

0.3.0 17K downloads/mo #2371 most downloaded on pub.dev jwinarske/brew_dart

What this package is like to depend on

Last release 4 months ago

02 Apr 2026

Too new to tell

only 2 dated releases

Nearly every release is documented

notes for 2 of 2 stable releases

Nothing withdrawn

no release was ever pulled

4 months old

2 releases · first in 2026

2 releases in the last 12 months

see the full history below

Release timeline

2 releases · Apr 2026 to Apr 2026
Release Pre-release

Releases

latest 2
  1. 0.3.0 02 Apr 2026
    Release notes
    • Bump version to 0.3.0
    • Update CHANGELOG with 0.3.0 entries
    • Remove *.g.dart and *.freezed.dart from .pubignore so pub.dev
      static analysis can resolve generated freezed types
    • Shorten pubspec description to pass pub points validation (154 chars)

    Signed-off-by: Joel Winarske [email protected]

    Open source →
    Release notes

    Fixed

    • pub.dev static analysis: committed generated *.freezed.dart and *.g.dart files so pub.dev's analyzer can resolve types without running build_runner. Updated .gitignore to only exclude generated files under example/, not lib/.

    Changed

    • pubspec.yaml description shortened to 154 characters (within the 60–180 pub point limit) to achieve a perfect 160/160 pub points score.
    • analysis_options.yaml updated to use package:lints/recommended.yaml (was package:lints/core.yaml).

    Docs

    • Added Flutter example app screenshot (doc/flutter_example_01.png) to README.
    Open source →
  2. 0.2.0 02 Apr 2026
    Release notes

    Bump version to 0.2.0, document the release in CHANGELOG, and tighten
    the .pubignore to keep the published package lean.

    • pubspec.yaml: version 0.1.0 → 0.2.0
    • CHANGELOG.md: promote [Unreleased] to [0.2.0] - 2026-04-01
    • .pubignore: exclude coverage/, coverage_fresh/, coverage_new/,
      coverage_final/, and codecov.yml from the published archive;
      package size drops from 667 KB → 44 KB

    Signed-off-by: Joel Winarske [email protected]

    Open source →
    Release notes

    Changed

    • CI coverage threshold raised from 30% to 60% now that auto-generated files are excluded from measurement.

    Fixed

    • Coverage reporting: codecov.yml added to instruct Codecov to ignore *.g.dart and *.freezed.dart files; CI pipeline now strips those files from lcov.info via a post-processing step before uploading, removing ~1,900 lines of boilerplate from the headline number.

    Tests

    • Test count increased from 140 → 256 (+116 tests); hand-written-code coverage reaches 99%.
    • FakeBrewCli extended with whenRunThrows() to exercise exception-catch branches without spawning a real process.
    • New test groups covering previously untested paths:
      • Brew facade: upgradeAll, uninstallAll, parallel installAll, upgradeStream, updateStream, listInstalled filtering, error-throw paths for every Phase 1–6 method, isInstalled exception branches, default constructor, cli getter, search/install/uninstall/cleanup/upgrade/bundle/bundleCheck flag variants.
      • BrewCli: run() success/stderr/extraEnv, runJson() success, stream() stdout, stderr, and non-zero exit.
      • ServicesParser: _parseFallback path, multi-token file path, none/unknown status values.
      • JsonV2Parser: outdated casks, installed_versions as legacy string, missing current_version fallback, null/absent versions.
      • BrewfileParser: Ruby :symbol, true/false booleans, quoted string option values, whalebrew entry type.
      • SearchParser: ==> Formulae header branch, _Section.none pre-header lines, unknown section header handling.
      • DoctorParser: Error: severity, mixed warning + error output.
      • BrewApiClient: installAnalytics fallback to formulae key, string-valued counts, 90-day range, empty items; CaskDetail with depends_on/auto_updates.
      • New file test/models/additional_models_test.dart: BundleResult/BundleCheckResult toString(); fromJson round-trips for BrewConfig, BrewfileEntry, Brewfile, MissingDependency, Diagnostic, DoctorReport, OutdatedPackage, BrewService.
    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