flutter_app_size_reducer 1.0.2 copy "flutter_app_size_reducer: ^1.0.2" to clipboard
flutter_app_size_reducer: ^1.0.2 copied to clipboard

A Flutter plugin for analyzing and reducing app size through CLI commands.

Flutter App Size Reducer #

pub package License: MIT CI codecov

A Flutter package that helps reduce your app size by analyzing, cleaning, and optimizing assets.

Features #

  • ๐Ÿ” Asset Analysis: Find unused and large assets in your Flutter project
  • ๐Ÿงน Asset Cleaning: Remove unused assets to reduce app size
  • ๐Ÿš€ Asset Optimization: Optimize large assets to improve performance
  • ๐Ÿ“Š Detailed Reports: Get comprehensive reports about your assets
  • ๐Ÿ”ง Configurable: Customize the behavior through a configuration file
  • ๐Ÿ› ๏ธ CLI Support: Use through command-line interface or programmatically

Installation #

Add this to your package's pubspec.yaml file:

name: flutter_app_size_reducer
description: A command-line tool to analyze and reduce Flutter app size by managing assets and dependencies.
version: 0.1.0
homepage: https://github.com/saty-a/flutter_app_size_reducer
repository: https://github.com/saty-a/flutter_app_size_reducer.git
issue_tracker: https://github.com/saty-a/flutter_app_size_reducer/issues

environment:
  sdk: '>=3.0.0 <4.0.0'

dependencies:
  args: ^2.4.2
  path: ^1.8.3
  yaml: ^3.1.1
  glob: ^2.1.2
  image: ^4.1.7
  console_bars: ^1.0.0

dev_dependencies:
  lints: ^2.1.1
  test: ^1.24.3
  mockito: ^5.4.4
  coverage: ^1.6.3

executables:
  flutter_app_size_reducer: flutter_app_size_reducer

topics:
  - flutter
  - cli
  - assets
  - optimization
  - tools

screenshots:
  - description: Command-line interface showing asset analysis
    path: images/screenshot1.png
  - description: Configuration file example
    path: images/screenshot2.png

funding:
  - type: github
    url: https://github.com/sponsors/saty-a

Usage #

Command Line Interface #

Initialize the configuration:

dart run flutter_app_size_reducer init

Analyze your assets:

dart run flutter_app_size_reducer analyse

Clean unused assets:

dart run flutter_app_size_reducer clean --dry-run

Optimize large assets:

dart run flutter_app_size_reducer optimize

Programmatic Usage #

import 'package:flutter_app_size_reducer/flutter_app_size_reducer.dart';

void main() async {
  // Initialize configuration
  await FlutterAppSizeReducer.init();
  
  // Analyze assets
  final results = await FlutterAppSizeReducer.analyze();
  print('Unused assets: ${results['unusedAssets']}');
  print('Large assets: ${results['largeAssets']}');
  
  // Clean unused assets
  await FlutterAppSizeReducer.clean(dryRun: true);
  
  // Optimize assets
  await FlutterAppSizeReducer.optimize(quality: 80);
}

Configuration #

Create a flutter_app_size_reducer.yaml file in your project root:

# Asset directories to analyze
asset_directories:
  - assets/
  - images/

# File extensions to consider as assets
asset_extensions:
  - .png
  - .jpg
  - .jpeg
  - .gif
  - .webp

# Maximum size for assets (in bytes)
max_asset_size: 100000

# Quality for optimized images (0-100)
optimization_quality: 80

# Exclude patterns
exclude_patterns:
  - "**/*.min.*"
  - "**/generated/*"

Example #

Check out the example directory for a complete usage example.

Contributing #

Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

Support #

If you encounter any issues or have questions, please open an issue.

Changelog #

1.0.2 #

  • Initial release
  • Added asset analysis functionality
  • Added asset cleaning functionality
  • Added asset optimization functionality
  • Added configuration system
  • Added CLI interface
  • Added programmatic API
  • Added example app
  • Added comprehensive documentation
  • Added test coverage

funding:

Enforcement #

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at https://github.com/saty-a/flutter_app_size_reducer/issues. All complaints will be reviewed and investigated promptly and fairly.

3
likes
145
points
28
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for analyzing and reducing app size through CLI commands.

Repository (GitHub)
View/report issues
Contributing

Topics

#flutter #cli #assets #optimization #tools

Documentation

API reference

License

MIT (license)

Dependencies

args, console_bars, flutter, image, path, yaml

More

Packages that depend on flutter_app_size_reducer