openfoodfacts / smooth-app

🤳🥫 The new Open Food Facts mobile application for Android and iOS, crafted with Flutter and Dart
https://world.openfoodfacts.org/open-food-facts-mobile-app?utm_source=off&utf_medium=web&utm_campaign=github-repo
Apache License 2.0
793 stars 272 forks source link

Remove unused dependencies #1888

Open g123k opened 2 years ago

g123k commented 2 years ago

Quoted from @monsieurtanuki in #1882

Regarding app size in general as in OP, maybe we could get rid of external packages that we don't use often. For the record, those are all the external packages we use:

% grep -rh ".dart';" * | grep -v "package:smooth_app" | grep -v "package:flutter" | grep -v "package:openfoodfacts" | sort | uniq -c | sort
   1 import 'package:camera_web/camera_web.dart';
   1 import 'package:carousel_slider/carousel_slider.dart';
   1 import 'package:collection/collection.dart';
   1 import 'package:device_preview/device_preview.dart';
   1 import 'package:fwfh_selectable_text/fwfh_selectable_text.dart';
   1 import 'package:hive/hive.dart';
   1 import 'package:http/http.dart';
   1 import 'package:image_cropper/image_cropper.dart';
   1 import 'package:image_cropper_for_web/image_cropper_for_web.dart';
   1 import 'package:image_picker/image_picker.dart';
   1 import 'package:image_picker_for_web/image_picker_for_web.dart';
   1 import 'package:intl/intl.dart';
   1 import 'package:iso_countries/iso_countries.dart';
   1 import 'package:latlong2/latlong.dart';
   1 import 'package:matomo_forever/matomo_forever.dart';
   1 import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
   1 import 'package:package_info_plus_web/package_info_plus_web.dart';
   1 import 'package:path/path.dart';
   1 import 'package:path_provider/path_provider.dart';
   1 import 'package:percent_indicator/percent_indicator.dart';
   1 import 'package:photo_view/photo_view.dart';
   1 import 'package:photo_view/photo_view_gallery.dart';
   1 import 'package:qr_code_scanner/qr_code_scanner.dart';
   1 import 'package:rxdart/rxdart.dart';
   1 import 'package:sentry_flutter/sentry_flutter_web.dart';
   1 import 'package:shared_preferences/shared_preferences.dart';
   1 import 'package:shared_preferences_web/shared_preferences_web.dart';
   1 import 'package:typed_data/typed_buffers.dart';
   1 import 'package:url_launcher_web/url_launcher_web.dart';
   1 import 'package:uuid/uuid.dart';
   2 import 'package:mailto/mailto.dart';
   2 import 'package:permission_handler/permission_handler.dart';
   2 import 'package:sentry_flutter/sentry_flutter.dart';
   2 import 'package:visibility_detector/visibility_detector.dart';
   4 import 'package:google_ml_barcode_scanner/google_ml_barcode_scanner.dart';
   4 import 'package:package_info_plus/package_info_plus.dart';
   4 import 'package:url_launcher/url_launcher.dart';
   6 import 'package:camera/camera.dart';
   6 import 'package:hive_flutter/hive_flutter.dart';
   8 import 'package:auto_size_text/auto_size_text.dart';
  44 import 'package:provider/provider.dart';

Originally posted by @monsieurtanuki in https://github.com/openfoodfacts/smooth-app/issues/1882#issuecomment-1129950841

M123-dev commented 2 years ago

We should check how much space the packages need not just plain code but after building

M123-dev commented 2 years ago

https://docs.flutter.dev/perf/app-size