flutter_diet 0.0.1
flutter_diet: ^0.0.1 copied to clipboard
The ultimate terminal-based Flutter App Size Analyzer & CI/CD size budget guard.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog version 1.1.0, and this project adheres to Semantic Versioning version 2.0.0.
0.0.1 - 2026-05-17 #
Added #
- Bootstrapping & Setup: Created full architecture structure for
flutter_dietpackage, adding dependencies (args,mason_logger,yaml) and exporting public APIs cleanly. - Robust Size JSON Parsing: Designed
SizeNodeandSizeParsersupporting both longhand (name,value,size) and shorthand (n,v) JSON formats with fallback support for wrapping top-level JSON lists into virtual root nodes. - Programmatic & WASM Optimization: Refactored the core library under
lib/to completely abstract away dependencies onpackage:mason_loggerand platform-specific FFI. Core library is now 100% WASM-compatible. - Standalone String Parsing: Added
SizeParser.parseString(String content)programmatic entry point to support fileless stream or network string parsing. - Abstract Logger & ANSI Color Palette: Implemented
DietLoggerinterface and pure-DartAnsicolor palette with zero third-party packages to print beautiful color logs anywhere. - Beautiful CLI Tree View: Built a terminal-based nested hierarchy size analyzer featuring color-coded weight visualizer (red/yellow/green/cyan), emoji classifications (📦, ⚙️, 🎨, 📄), and relative parent percentage calculations.
- Advanced CLI Options: Implemented
max-depthtraversal limits,min-sizebyte thresholds, and search filters with terminal background highlighting. - CI/CD Size Guarding: Created a strict budget enforcement command
flutter_diet checkthat parses customdiet_config.yamlrules, outputs assertions, and exits with code 1 upon size violations. - Comprehensive Test Coverage: Written 100% passing unit and integration tests verifying parsers, formatting, and budget evaluations.
- Standalone Examples: Bootstrapped
example/example.dartdemonstrating standard library usage. - Package Integration: Configured repository, homepage, funding, and pub.dev topics.