{ "name": "@getpaseo/app", "version": "0.2.0-beta.3", "private": true, "main": "index.ts", "scripts": { "start": "npm run start:expo", "start:expo": "cross-env APP_VARIANT=development expo start", "reset-project": "node ./scripts/reset-project.js", "eas-build-post-install": "npm --prefix ../.. run build:app-deps && npm run build:terminal-webview", "android": "npm run android:development", "android:development": "npm --prefix ../.. run build:client && cross-env APP_VARIANT=development expo prebuild --platform android --non-interactive && cross-env APP_VARIANT=development expo run:android --variant=debug", "android:production": "npm --prefix ../.. run build:client && cross-env APP_VARIANT=production expo prebuild --platform android --non-interactive && cross-env APP_VARIANT=production expo run:android --variant=release", "android:release": "npm run android:production", "android:clear": "node -e \"require('node:fs').rmSync('android', { recursive: true, force: true })\"", "ios": "npm --prefix ../.. run build:client && expo run:ios", "ios:release": "npm --prefix ../.. run build:client && expo run:ios --configuration Release", "web": "npm --prefix ../.. run build:client && concurrently --kill-others --names protocol,client,expo --prefix-colors yellow,blue,magenta \"npm --prefix ../.. run watch:protocol\" \"npm --prefix ../.. run watch:client\" \"npm run web:expo\"", "web:expo": "expo start --web", "lint": "expo lint", "typecheck": "tsgo --noEmit", "test": "vitest run", "test:browser": "vitest run --project browser", "test:e2e": "playwright test --project='Desktop Chrome'", "test:e2e:desktop": "cross-env E2E_DESKTOP_RUNTIME=1 playwright test --project='Desktop Chrome' e2e/project-picker-desktop.spec.ts", "test:e2e:real": "cross-env E2E_FORK_PASEO_HOME_FROM=../../.dev/paseo-home playwright test --project=real-provider", "test:e2e:ui": "playwright test --ui", "build": "npm run build:web", "build:web": "npm --prefix ../.. run build:app-deps && expo export --platform web", "profile:workspace-tabs": "node ./scripts/profile-workspace-tabs.mjs", "deploy:web": "npm run build:web && wrangler pages deploy dist --project-name paseo-app --branch main", "build:terminal-webview": "node ./scripts/build-terminal-webview-html.mjs" }, "dependencies": { "@codemirror/commands": "6.10.4", "@codemirror/language": "6.12.4", "@codemirror/search": "6.7.1", "@codemirror/state": "6.7.1", "@codemirror/view": "6.43.6", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@floating-ui/react-native": "^0.10.7", "@getpaseo/client": "*", "@getpaseo/expo-two-way-audio": "*", "@getpaseo/highlight": "*", "@getpaseo/protocol": "*", "@gorhom/bottom-sheet": "^5.2.14", "@gorhom/portal": "^1.0.14", "@react-native-async-storage/async-storage": "2.2.0", "@react-native-masked-view/masked-view": "^0.3.2", "@react-native/normalize-colors": "^0.81.5", "@react-navigation/native": "^7.1.8", "@replit/codemirror-vim": "6.3.0", "@tanstack/react-query": "^5.90.11", "@tanstack/react-virtual": "^3.13.21", "@xterm/addon-clipboard": "^0.3.0-beta.213", "@xterm/addon-fit": "^0.12.0-beta.213", "@xterm/addon-image": "^0.10.0-beta.213", "@xterm/addon-ligatures": "^0.11.0-beta.213", "@xterm/addon-search": "^0.17.0-beta.213", "@xterm/addon-unicode11": "^0.10.0-beta.213", "@xterm/addon-web-links": "^0.13.0-beta.213", "@xterm/addon-webgl": "^0.20.0-beta.212", "@xterm/xterm": "^6.1.0-beta.213", "buffer": "^6.0.3", "expo": "^54.0.18", "expo-asset": "~12.0.12", "expo-audio": "~1.0.13", "expo-build-properties": "^1.0.9", "expo-camera": "~17.0.10", "expo-clipboard": "~8.0.7", "expo-constants": "~18.0.9", "expo-crypto": "^15.0.8", "expo-dev-client": "^6.0.15", "expo-document-picker": "~14.0.8", "expo-file-system": "~19.0.17", "expo-haptics": "~15.0.7", "expo-image": "~3.0.10", "expo-image-manipulator": "~14.0.8", "expo-image-picker": "^17.0.8", "expo-keep-awake": "^15.0.7", "expo-linking": "~8.0.8", "expo-localization": "~17.0.9", "expo-notifications": "^0.32.16", "expo-router": "~6.0.13", "expo-sharing": "^14.0.8", "expo-splash-screen": "~31.0.10", "expo-system-ui": "~6.0.7", "expo-updates": "~29.0.12", "fast-deep-equal": "^3.1.3", "htmlparser2": "^12.0.0", "i18next": "^26.3.0", "lucide-react-native": "^0.546.0", "markdown-it": "^10.0.0", "mnemonic-id": "^3.2.7", "qrcode": "^1.5.4", "react": "19.1.0", "react-dom": "19.1.0", "react-i18next": "^17.0.8", "react-native": "0.81.5", "react-native-draggable-flatlist": "^4.0.3", "react-native-edge-to-edge": "^1.7.0", "react-native-gesture-handler": "~2.28.0", "react-native-keyboard-controller": "^1.19.2", "react-native-markdown-display": "^7.0.2", "react-native-nitro-modules": "0.35.5", "react-native-reanimated": "~4.3.1", "react-native-safe-area-context": "~5.6.0", "react-native-screens": "~4.16.0", "react-native-svg": "^15.14.0", "react-native-uitextview": "^2.2.0", "react-native-unistyles": "^3.2.4", "react-native-web": "~0.21.0", "react-native-webview": "^13.16.0", "react-native-worklets": "~0.8.3", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.6.0", "zod": "^4.4.3", "zustand": "^5.0.9" }, "devDependencies": { "@playwright/test": "^1.56.1", "@testing-library/dom": "^10.4.1", "@testing-library/react": "^16.3.2", "@types/markdown-it": "^14.1.2", "@types/qrcode": "^1.5.6", "@types/react": "~19.2.0", "@types/ws": "^8.18.1", "@vitest/browser": "^4.1.7", "@vitest/browser-playwright": "^4.1.7", "@xterm/headless": "^6.1.0-beta.213", "dotenv": "^17.2.3", "eas-cli": "^16.24.1", "eslint": "^9.25.0", "eslint-config-expo": "~10.0.0", "expo-gradle-jvmargs": "^1.1.2", "jsdom": "^20.0.3", "material-icon-theme": "^5.32.0", "playwright": "^1.56.1", "serve-sim": "^0.1.40", "typescript": "~5.9.2", "vitest": "^4.1.6", "wrangler": "^4.105.0", "ws": "^8.20.0" } }