name: immich_mobile
description: Immich - selfhosted backup media file on mobile phone

publish_to: 'none'
version: 1.134.0+200

environment:
  sdk: '>=3.3.0 <4.0.0'
  flutter: 3.29.3

isar_version: &isar_version 3.1.8

dependencies:
  flutter:
    sdk: flutter

  async: ^2.11.0
  auto_route: ^9.2.0
  background_downloader: ^9.2.0
  cached_network_image: ^3.4.1
  cancellation_token_http: ^2.1.0
  collection: ^1.18.0
  connectivity_plus: ^6.1.3
  crop_image: ^1.0.16
  crypto: ^3.0.6
  device_info_plus: ^11.3.3
  dynamic_color: ^1.7.0
  easy_image_viewer: ^1.5.1
  easy_localization: ^3.0.7+1
  file_picker: ^8.0.0+1
  flutter_cache_manager: ^3.4.1
  flutter_displaymode: ^0.6.0
  flutter_hooks: ^0.21.2
  flutter_local_notifications: ^17.2.1+2
  flutter_secure_storage: ^9.2.4
  flutter_svg: ^2.0.17
  flutter_udid: ^3.0.0
  flutter_web_auth_2: ^5.0.0-alpha.0
  fluttertoast: ^8.2.12
  geolocator: ^14.0.0
  hooks_riverpod: ^2.6.1
  http: ^1.3.0
  image_picker: ^1.1.2
  intl: ^0.19.0
  local_auth: ^2.3.0
  logging: ^1.3.0
  maplibre_gl: ^0.21.0
  network_info_plus: ^6.1.3
  octo_image: ^2.1.0
  package_info_plus: ^8.3.0
  path: ^1.9.1
  path_provider: ^2.1.5
  path_provider_foundation: ^2.4.1
  permission_handler: ^11.4.0
  photo_manager: ^3.6.4
  photo_manager_image_provider: ^2.2.0
  pinput: ^5.0.1
  platform: ^3.1.6
  punycode: ^1.0.0
  riverpod_annotation: ^2.6.1
  scrollable_positioned_list: ^0.3.8
  share_handler: ^0.0.22
  share_plus: ^10.1.4
  socket_io_client: ^2.0.3+1
  thumbhash: 0.1.0+1
  timezone: ^0.9.4
  url_launcher: ^6.3.1
  uuid: ^4.5.1
  wakelock_plus: ^1.2.10
  worker_manager: ^7.2.3

  native_video_player:
    git:
      url: https://github.com/immich-app/native_video_player
      ref: '5459d54'
  openapi:
    path: openapi
  isar:
    version: *isar_version
    hosted: https://pub.isar-community.dev/
  isar_flutter_libs: # contains Isar Core
    version: *isar_version
    hosted: https://pub.isar-community.dev/
  # DB
  drift: ^2.23.1
  drift_flutter: ^0.2.4

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^5.0.0
  build_runner: ^2.4.8
  auto_route_generator: ^9.0.0
  flutter_launcher_icons: ^0.14.3
  flutter_native_splash: ^2.4.5
  isar_generator:
    git:
      url: https://github.com/immich-app/isar
      ref: v3
      path: packages/isar_generator/
  integration_test:
    sdk: flutter
  custom_lint: ^0.7.5
  riverpod_lint: ^2.6.1
  riverpod_generator: ^2.6.1
  mocktail: ^1.0.4
  immich_mobile_immich_lint:
    path: './immich_lint'
  fake_async: ^1.3.1
  file: ^7.0.1 # for MemoryFileSystem
  # Drift generator
  drift_dev: ^2.23.1
  # Type safe platform code
  pigeon: ^25.3.1

flutter:
  uses-material-design: true
  assets:
    - assets/
  fonts:
    - family: Inconsolata
      fonts:
        - asset: fonts/Inconsolata-Regular.ttf
    - family: Overpass
      fonts:
        - asset: fonts/overpass/Overpass-Regular.ttf
          weight: 400
        - asset: fonts/overpass/Overpass-Italic.ttf
          style: italic
        - asset: fonts/overpass/Overpass-Medium.ttf
          weight: 500
        - asset: fonts/overpass/Overpass-SemiBold.ttf
          weight: 600
        - asset: fonts/overpass/Overpass-Bold.ttf
          weight: 700
    - family: OverpassMono
      fonts:
        - asset: fonts/overpass/OverpassMono.ttf

flutter_launcher_icons:
  image_path_android: 'assets/immich-logo.png'
  adaptive_icon_background: '#ffffff'
  adaptive_icon_foreground: 'assets/immich-logo-android-adaptive-icon.png'
  image_path_ios: 'assets/immich-logo-w-bg.png'
  android: 'ic_launcher'
  ios: false
  remove_alpha_ios: true

analyzer:
  exclude:
    - openapi/**
