{
  "name": "todolab-mobile",
  "main": "expo-router/entry",
  "version": "1.0.0",
  "dependencies": {
    "@expo/ui": "~56.0.18",
    "@tanstack/react-query": "^5.101.0",
    "expo": "~56.0.12",
    "expo-constants": "~56.0.18",
    "expo-device": "~56.0.4",
    "expo-font": "~56.0.7",
    "expo-glass-effect": "~56.0.4",
    "expo-image": "~56.0.11",
    "expo-linking": "~56.0.14",
    "expo-notifications": "~56.0.18",
    "expo-router": "~56.2.11",
    "expo-secure-store": "~56.0.4",
    "expo-splash-screen": "~56.0.10",
    "expo-status-bar": "~56.0.4",
    "expo-symbols": "~56.0.6",
    "expo-system-ui": "~56.0.5",
    "expo-web-browser": "~56.0.5",
    "react": "19.2.3",
    "react-dom": "19.2.3",
    "react-native": "0.85.3",
    "react-native-gesture-handler": "~2.31.1",
    "react-native-reanimated": "4.3.1",
    "react-native-safe-area-context": "~5.7.0",
    "react-native-screens": "4.25.2",
    "react-native-web": "~0.21.0",
    "react-native-worklets": "0.8.3"
  },
  "devDependencies": {
    "@types/jest": "29.5.14",
    "@types/react": "~19.2.2",
    "eslint": "^9.39.4",
    "eslint-config-expo": "~56.0.4",
    "eslint-config-prettier": "^10.1.8",
    "jest": "~29.7.0",
    "jest-expo": "~56.0.5",
    "prettier": "^3.8.4",
    "typescript": "~6.0.3"
  },
  "scripts": {
    "start": "expo start",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "web:mock": "EXPO_PUBLIC_API_MODE_OVERRIDE=mock expo start --web",
    "web:real": "EXPO_PUBLIC_API_MODE_OVERRIDE=real EXPO_PUBLIC_API_URL_OVERRIDE=http://localhost:8080 expo start --web --localhost",
    "web:export:production": "npm run check:web-production-config && expo export --platform web",
    "typecheck": "tsc --noEmit",
    "lint": "expo lint --max-warnings=0",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "docs:check": "node scripts/check-doc-links.js",
    "check:release-static": "npm run check:release-assets && npm run check:android-apk",
    "check:release-assets": "node scripts/check-release-assets-config.js",
    "check:android-apk": "node scripts/check-android-apk-config.js",
    "check:eas-setup": "node scripts/check-eas-setup.js",
    "check:workspace-openapi": "node scripts/check-workspace-openapi.js",
    "check:web-production-config": "node scripts/check-web-production-config.js",
    "apk:filename": "node scripts/get-android-apk-filename.js",
    "apk:save": "node scripts/save-eas-apk.js",
    "smoke:auth:real": "node scripts/smoke-auth-real.js",
    "smoke:guest:real": "node scripts/smoke-guest-real.js",
    "smoke:search:real": "node scripts/smoke-search-real.js",
    "smoke:workspace-roles:real": "node scripts/smoke-workspace-roles-real.js",
    "smoke:recurrence:real": "node scripts/smoke-recurrence-real.js",
    "smoke:recurrence-actions:real": "node scripts/smoke-recurrence-actions-real.js",
    "test": "jest --runInBand",
    "validate": "npm run typecheck && npm run lint && npm run format:check && npm run docs:check && npm run check:release-static && npm test"
  },
  "jest": {
    "preset": "jest-expo",
    "moduleNameMapper": {
      "^@/(.*)$": "<rootDir>/src/$1"
    }
  },
  "private": true
}
