build_laser 1.0.0
build_laser: ^1.0.0 copied to clipboard
A CLI tool to run build_runner with clean, actionable output.
Build Laser โก๏ธ #
A beautiful, readable, and intelligent wrapper for Dart's build_runner.
Stop scrolling through thousands of lines of terminal noise. Build Laser parses your build output in real-time, hides the clutter, highlights the slow tasks, and gives you a precise progress bar based on historical performance.
๐ธ Screenshots #

| Standard build_runner | Build Laser โก๏ธ |
|---|---|
| โ Walls of text โ Hard to find errors โ "Log overflowed" โ No time estimate |
โ
Live Progress Bar โ Smart Filtering (hides <1s tasks) โ Warning Summary at the end โ Time Estimation |
โจ Features #
- โก๏ธ Noise Reduction: Automatically hides tasks that take 0s, keeping your console clean.
- ๐ Live Progress Bar: Learns from your previous builds to show a "Time Remaining" estimate and a visual progress bar.
- โ ๏ธ Warning Collector: Captures W lines (warnings) and re-prints them in a summary at the end. No more missing deprecation warnings in the scroll-back.
- ๐งน Deep Clean: A built-in command to nuke all generated files (.g.dart, .freezed.dart, etc.) and reset the cache.
- โฑ Performance Insights: Highlights slow builders in Red so you know what is slowing you down.
๐ Installation #
You can install it globally to use it in any project:
dart pub global activate build_laser
Or add it to your project as a dev dependency:
dart pub add --dev build_laser
๐ Usage #
Standard Build #
By default, running build_laser is equivalent to running dart run build_runner build --delete-conflicting-outputs.
build_laser
Watch Mode #
Pass any arguments you normally would. They are forwarded directly to build_runner.
build_laser watch
Deep Clean #
Delete all generated files (.g.dart, .freezed.dart, .hive.dart, etc.) and clear the build cache.
build_laser clean
๐ง How the Progress Bar Works #
- First Run: build_laser doesn't know how many tasks your project has, so it shows a Spinner (โ ) and a timer.
- Learning: Upon successful completion, it saves your project's metrics (Total Actions & Total Time) to .dart_tool/build_laser_cache.json.
- Subsequent Runs: It uses that cache to render a Determinate Progress Bar ([โโโโโโ] 60%) and estimates the remaining time.
โ Handling Errors #
If the build fails, build_laser will pass the exit code through (useful for CI/CD) and print the critical errors in Red so they stand out immediately.
๐ค Contributing #
This package is intended to make the Flutter/Dart development experience smoother. PRs are welcome!