{
  "name": "play-by-ear",
  "main": "expo-router/entry",
  "version": "2026.06.5",
  "dependencies": {
    "@expo/vector-icons": "^15.1.1",
    "@tonejs/midi": "^2.0.28",
    "expo": "~54.0.35",
    "expo-asset": "~12.0.13",
    "expo-constants": "~18.0.13",
    "expo-device": "~8.0.10",
    "expo-document-picker": "~14.0.8",
    "expo-file-system": "~19.0.23",
    "expo-font": "~14.0.12",
    "expo-glass-effect": "~0.1.10",
    "expo-image": "~3.0.11",
    "expo-linking": "~8.0.12",
    "expo-router": "~6.0.24",
    "expo-screen-orientation": "~9.0.9",
    "expo-sharing": "~14.0.8",
    "expo-splash-screen": "~31.0.13",
    "expo-status-bar": "~3.0.9",
    "expo-symbols": "~1.0.8",
    "expo-system-ui": "~6.0.9",
    "expo-web-browser": "~15.0.11",
    "glob": "^13.0.6",
    "marked": "^18.0.4",
    "react": "19.1.0",
    "react-dom": "19.1.0",
    "react-native": "0.81.5",
    "react-native-gesture-handler": "~2.28.0",
    "react-native-logs": "^5.6.0",
    "react-native-reanimated": "~4.1.1",
    "react-native-safe-area-context": "~5.6.0",
    "react-native-screens": "~4.16.0",
    "react-native-web": "~0.21.0",
    "react-native-webview": "13.15.0",
    "react-native-worklets": "0.5.1",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@types/jest": "^29.5.14",
    "@types/react": "~19.1.10",
    "eslint": "^9.0.0",
    "eslint-config-expo": "~10.0.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.6",
    "jest": "^29.7.0",
    "jest-expo": "~54.0.17",
    "prettier": "^3.8.3",
    "typescript": "~5.9.2"
  },
  "scripts": {
    "start": "ELECTRON_DISABLE_SANDBOX=1 expo start -- --web",
    "ios": "ELECTRON_DISABLE_SANDBOX=1 expo start --ios",
    "web": "ELECTRON_DISABLE_SANDBOX=1 expo start --web",
    "test": "jest",
    "lint": "npx expo-doctor && tsc --noEmit && expo lint --fix && expo lint",
    "android": "expo run:android",
    "build": "npx eas-cli build --platform android --profile preview",
    "eas-build-pre-install": "node scripts/download_assets.js"
  },
  "private": true
}
