{
  "name": "alerte-secours",
  "version": "1.10.9",
  "main": "index.js",
  "scripts": {
    "start": "expo start --dev-client --private-key-path ./keys/private-key.pem",
    "start:staging": "dotenv --override -e .env.staging -- yarn start",
    "start:prod": "dotenv --override -e .env.prod -- yarn start",
    "android": "expo run:android",
    "android:staging": "dotenv --override -e .env.staging -- expo run:android",
    "android:prod": "dotenv --override -e .env.prod -- expo run:android",
    "bundle:android": "dotenv --override -e .env.prod -- bundle-android",
    "bundle:android:fastdev": "SENTRY_ALLOW_FAILURE=true SENTRY_AUTH_TOKEN='' yarn bundle:android",
    "bundle:android:upload:internal": "fastlane supply --aab android/app/build/outputs/bundle/release/app-release.aab --track internal -j keys/alerte-secours-449609-469f820e5960.json -p com.alertesecours",
    "bundle:ios:archive": "./scripts/ios-archive.sh",
    "bundle:ios:export": "./scripts/ios-export.sh",
    "bundle:ios:upload": "./scripts/ios-upload.sh",
    "bundle:ios": "yarn bundle:ios:archive && yarn bundle:ios:export",
    "ios": "expo run:ios",
    "ios:staging": "dotenv --override -e .env.staging -- yarn run ios",
    "ios:prod": "dotenv --override -e .env.prod -- yarn run ios",
    "web": "expo start --web",
    "postinstall": "link-module-alias",
    "prepare": "husky || true",
    "deep-clean": "./node_modules/.bin/react-native-clean-project --keep-node-modules --remove-iOS-build --keep-brew --keep-pods --remove-iOS-pods --remove-android-build && yarn clean",
    "clean": "rm -rf ./node_modules dist/* ios/build ios/Pods ios/KScoreApp.xcarchive android/build android/app/build || true",
    "prebuild": "expo prebuild && yarn prebuild:hackfix",
    "prebuild:hackfix": "node scripts/removeDuplicates.js",
    "lint": "eslint .",
    "expo-updates:upload": "dotenv --override -e .env.prod -- expo-publish-selfhosted.sh release . $EXPO_UPLOAD_KEY https://expo-updates.alertesecours.fr",
    "release": "commit-and-tag-version",
    "delivery": "yarn release && yarn expo-updates:upload",
    "test": "jest",
    "e2e:build": "dotenv --override -e .env.staging -- detox build --configuration android.emu.debug",
    "e2e:deploy": "adb -s emulator-5554 install -r android/app/build/outputs/apk/debug/app-debug.apk",
    "e2e:start": "adb -s emulator-5554 shell am start -n com.alertesecours/.MainActivity",
    "e2e:test": "detox test --configuration android.emu.debug",
    "e2e:run": "yarn start & yarn e2e:build && yarn e2e:deploy && yarn e2e:test",
    "install:android": "./install-android.sh",
    "log:android": "adb -s $DEVICE logcat | grep -E 'ReactNativeJS: '",
    "log:ios:simulator": "xcrun simctl spawn booted log stream --level debug --predicate 'subsystem contains \"com.facebook.react.log\" and processImagePath contains \"AlerteSecours\"'",
    "log:ios": "idevicesyslog | grep -i 'AlerteSecours\\|ReactNative'",
    "log-android": "react-native log-android",
    "log-ios": "react-native log-ios",
    "open:deeplink:android": "yarn open:deeplink --android",
    "open:deeplink:ios": "yarn open:deeplink --ios",
    "open:deeplink": "npx uri-scheme open --android",
    "screenshot:ios": "scripts/screenshot-ios.sh",
    "screenshot:android": "scripts/screenshot-android.sh"
  },
  "customExpoVersioning": {
    "versionCode": 189,
    "buildNumber": 189
  },
  "commit-and-tag-version": {
    "scripts": {
      "prechangelog": "yarn prebuild",
      "postcommit": "git add android/app/build.gradle android/app/src/main/AndroidManifest.xml ios/AlerteSecours/Info.plist && git commit --amend --no-edit"
    }
  },
  "_moduleAliases": {
    "~": "src"
  },
  "lint-staged": {
    "*.{js,jsx}": "eslint --cache --fix"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
  "dependencies": {
    "@apollo/client": "^3.13.1",
    "@bam.tech/react-native-image-resizer": "^3.0.7",
    "@expo/config-plugins": "~9.0.0",
    "@hookform/resolvers": "^3.2.0",
    "@mapbox/geo-viewport": "^0.5.0",
    "@mapbox/locale-utils": "^0.0.6",
    "@mapbox/polyline": "^1.2.1",
    "@maplibre/maplibre-react-native": "10.0.0-alpha.23",
    "@notifee/react-native": "^9.1.8",
    "@react-native-async-storage/async-storage": "1.23.1",
    "@react-native-community/netinfo": "^11.4.1",
    "@react-native-community/slider": "4.5.5",
    "@react-native-firebase/app": "^20.5.0",
    "@react-native-firebase/messaging": "^20.5.0",
    "@react-native-masked-view/masked-view": "0.3.1",
    "@react-navigation/bottom-tabs": "^6.6.1",
    "@react-navigation/drawer": "^6.7.2",
    "@react-navigation/elements": "^1.3.31",
    "@react-navigation/material-top-tabs": "^6.6.14",
    "@react-navigation/native": "^6.1.18",
    "@react-navigation/stack": "^6.4.1",
    "@sentry/react-native": "~6.10.0",
    "@sentry/tracing": "^7.120.3",
    "@turf/along": "^7.1.0",
    "@turf/boolean-equal": "^7.1.0",
    "@turf/distance": "^7.1.0",
    "@turf/length": "^7.1.0",
    "@turf/line-slice": "^7.1.0",
    "@turf/meta": "^7.1.0",
    "@turf/nearest-point": "^7.1.0",
    "@turf/point-to-line-distance": "^7.1.0",
    "@types/react": "~18.3.12",
    "ajv": "^8.12.0",
    "ajv-errors": "^3.0.0",
    "ajv-formats": "^2.1.1",
    "ajv-keywords": "^5.1.0",
    "apollo-link-sentry": "^4.0.0",
    "axios": "^1.10.0",
    "axios-retry": "^4.5.0",
    "base62str": "^1.0.10",
    "country-codes-list": "^1.6.11",
    "delay": "^6.0.0",
    "eventemitter3": "^5.0.1",
    "expo": "52",
    "expo-av": "~15.0.2",
    "expo-build-properties": "~0.13.3",
    "expo-constants": "~17.0.8",
    "expo-contacts": "~14.0.5",
    "expo-dev-client": "~5.0.20",
    "expo-device": "~7.0.3",
    "expo-gradle-ext-vars": "^0.1.1",
    "expo-linear-gradient": "~14.0.2",
    "expo-linking": "~7.0.5",
    "expo-localization": "~16.0.1",
    "expo-location": "~18.0.10",
    "expo-notifications": "~0.29.14",
    "expo-secure-store": "~14.0.1",
    "expo-sensors": "~14.0.2",
    "expo-splash-screen": "~0.29.24",
    "expo-status-bar": "~2.0.1",
    "expo-system-ui": "~4.0.9",
    "expo-task-manager": "~12.0.6",
    "expo-updates": "~0.27.4",
    "fast-equals": "^5.0.1",
    "fuse.js": "^6.6.2",
    "geolib": "^3.3.4",
    "google-libphonenumber": "^3.2.32",
    "graphql": "^16.10.0",
    "graphql-ws": "^6.0.4",
    "hash.js": "^1.1.7",
    "i18next": "^23.2.10",
    "immer": "^10.0.2",
    "jwt-decode": "^3.1.2",
    "ky": "^0.33.3",
    "link-module-alias": "^1.2.0",
    "lodash.camelcase": "^4.3.0",
    "lodash.capitalize": "^4.2.1",
    "lodash.clonedeep": "^4.5.0",
    "lodash.debounce": "^4.0.8",
    "lodash.defaultsdeep": "^4.6.1",
    "lodash.get": "^4.4.2",
    "lodash.invert": "^4.3.0",
    "lodash.kebabcase": "^4.1.1",
    "lodash.mapkeys": "^4.6.0",
    "lodash.merge": "^4.6.2",
    "lodash.set": "^4.3.2",
    "lodash.snakecase": "^4.1.1",
    "lodash.upperfirst": "^4.3.1",
    "lottie-react-native": "7.1.0",
    "minisearch": "^6.1.0",
    "moment": "^2.29.4",
    "open-color": "^1.9.1",
    "open-location-code": "^1.0.3",
    "osrm-text-instructions": "^0.15.0",
    "react": "18.3.1",
    "react-countdown": "^2.3.5",
    "react-dom": "18.3.1",
    "react-hook-form": "^7.47.0",
    "react-i18next": "^13.0.2",
    "react-native": "0.76.9",
    "react-native-animatable": "^1.3.3",
    "react-native-app-link": "^1.0.1",
    "react-native-background-fetch": "^4.2.7",
    "react-native-background-geolocation": "^4.18.6",
    "react-native-battery-optimization-check": "^1.0.8",
    "react-native-contact-pick": "^0.1.2",
    "react-native-country-picker-modal": "^2.0.0",
    "react-native-device-country": "^1.0.5",
    "react-native-drawer": "^2.5.1",
    "react-native-dropdownalert": "^5.1.0",
    "react-native-error-boundary": "^1.2.8",
    "react-native-geolocation-service": "^5.3.1",
    "react-native-gesture-handler": "~2.20.2",
    "react-native-image-crop-picker": "^0.40.3",
    "react-native-immediate-phone-call": "^2.0.0",
    "react-native-map-link": "^3.6.1",
    "react-native-material-ripple": "^0.9.1",
    "react-native-modal-selector": "^2.1.2",
    "react-native-optiongroup": "^0.0.7",
    "react-native-pager-view": "6.5.1",
    "react-native-paper": "^5.9.1",
    "react-native-permissions": "^4.1.5",
    "react-native-phone-number-input": "^2.1.0",
    "react-native-reanimated": "~3.16.1",
    "react-native-safe-area-context": "4.12.0",
    "react-native-screens": "~4.4.0",
    "react-native-send-intent": "^1.3.0",
    "react-native-storage": "^1.0.1",
    "react-native-styled-text": "^2.0.0",
    "react-native-tab-view": "^3.5.2",
    "react-native-toast-notifications": "^3.3.1",
    "react-native-url-polyfill": "^2.0.0",
    "react-native-uuid": "^2.0.2",
    "react-native-vector-icons": "^9.2.0",
    "react-native-web": "~0.19.13",
    "supercluster": "^8.0.1",
    "typescript": "~5.8.3",
    "use-sync-external-store": "^1.4.0",
    "zustand": "^5.0.3",
    "zxcvbn": "^4.4.2"
  },
  "devDependencies": {
    "@babel/core": "^7.24.0",
    "@babel/eslint-parser": "^7.23.10",
    "@babel/plugin-proposal-class-properties": "^7.18.6",
    "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
    "@babel/plugin-proposal-private-methods": "^7.18.6",
    "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
    "@babel/plugin-transform-flow-strip-types": "^7.25.2",
    "@babel/preset-env": "^7.22.7",
    "@babel/preset-react": "^7.24.1",
    "@react-native-community/cli": "^18.0.0",
    "@react-native/metro-config": "^0.75.0",
    "@types/lodash.debounce": "^4",
    "@types/lodash.kebabcase": "^4",
    "@types/lodash.snakecase": "^4",
    "@welldone-software/why-did-you-render": "^8.0.1",
    "babel-eslint": "^10.1.0",
    "babel-plugin-module-resolver": "^5.0.0",
    "babel-plugin-root-import": "^6.6.0",
    "babel-plugin-transform-inline-environment-variables": "^0.4.4",
    "commit-and-tag-version": "^11.2.2",
    "concurrently": "^6.2.0",
    "detox": "^20.27.2",
    "dotenv-cli": "^7.4.2",
    "eslint": "^7.32.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-import-resolver-babel-module": "^5.3.2",
    "eslint-import-resolver-typescript": "^3.5.5",
    "eslint-plugin-autoimport-declarative": "^1.0.2",
    "eslint-plugin-babel": "^5.3.1",
    "eslint-plugin-detox": "^1.0.0",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-jest": "^28.10.0",
    "eslint-plugin-jsx-a11y": "^6.7.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prettier": "^5.0.0",
    "eslint-plugin-react": "^7.32.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-native": "^4.0.0",
    "eslint-plugin-sort-keys-fix": "^1.1.2",
    "eslint-plugin-unused-imports": "^3.0.0",
    "husky": "^9.0.11",
    "jest": "^29.2.1",
    "prettier": "^3.0.0",
    "react-native-clean-project": "^4.0.3",
    "xml2js": "^0.6.2"
  },
  "private": true,
  "resolutions": {
    "react-native-drawer@^2.5.1": "patch:react-native-drawer@npm%3A2.5.1#./.yarn/patches/react-native-drawer-npm-2.5.1-d9da0c325e.patch"
  },
  "detox": {
    "testRunner": "jest",
    "runnerConfig": "e2e/config.json",
    "configurations": {
      "android.emu.debug": {
        "type": "android.emulator",
        "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
        "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
        "device": {
          "avdName": "Pixel_6_API_30"
        }
      }
    }
  },
  "packageManager": "yarn@4.5.3"
}