{ "name": "mobile", "description": "An Ionic project", "private": true, "version": "0.0.1", "type": "module", "scripts": { "dev": "vite", "build": "tsc && vite build", "preview": "vite preview", "test.e2e": "cypress run", "test.unit": "vitest", "lint": "eslint", "presync": "npm run build", "sync": "npx cap sync", "android": "npx cap run android", "ios": "npx cap run ios", "android:open": "npx cap open android", "ios:open": "npx cap open ios" }, "dependencies": { "@aparajita/capacitor-dark-mode": "^5.0.2", "@capacitor-community/safe-area": "7.0.0-alpha.1", "@capacitor-community/speech-recognition": "^7.0.0", "@capacitor/android": "7.2.0", "@capacitor/app": "7.0.1", "@capacitor/assets": "^3.0.5", "@capacitor/barcode-scanner": "^2.0.3", "@capacitor/camera": "^7.0.1", "@capacitor/core": "7.2.0", "@capacitor/device": "7.0.1", "@capacitor/dialog": "^7.0.1", "@capacitor/haptics": "7.0.1", "@capacitor/inappbrowser": "^2.1.0", "@capacitor/ios": "7.2.0", "@capacitor/keyboard": "7.0.1", "@capacitor/local-notifications": "^7.0.1", "@capacitor/share": "^7.0.1", "@capacitor/splash-screen": "^7.0.1", "@capacitor/status-bar": "7.0.1", "@capacitor/toast": "^7.0.1", "@capawesome/capacitor-app-review": "^7.0.1", "@capawesome/capacitor-app-shortcuts": "^7.5.0", "@capgo/capacitor-navigation-bar": "^7.1.19", "@capgo/capacitor-social-login": "7.5.9", "@ionic/core": "^8.5.7", "@ionic/react": "^8.5.0", "@ionic/react-router": "^8.5.0", "@penx/api": "workspace:*", "@penx/components": "workspace:*", "@penx/constants": "workspace:*", "@penx/content-render": "workspace:*", "@penx/contexts": "workspace:*", "@penx/domain": "workspace:*", "@penx/emitter": "workspace:*", "@penx/encryption": "workspace:*", "@penx/hooks": "workspace:*", "@penx/icons": "workspace:*", "@penx/libs": "workspace:*", "@penx/local-db": "workspace:*", "@penx/locales": "workspace:*", "@penx/math": "workspace:*", "@penx/model-type": "workspace:*", "@penx/novel-editor": "workspace:*", "@penx/query-client": "workspace:*", "@penx/services": "workspace:*", "@penx/session": "workspace:*", "@penx/store": "workspace:*", "@penx/types": "workspace:*", "@penx/uikit": "workspace:*", "@penx/unique-id": "workspace:*", "@penx/utils": "workspace:*", "@penx/vaul": "workspace:*", "@penx/widgets": "workspace:*", "@penx/worker": "workspace:*", "@revenuecat/purchases-capacitor": "^10.3.3", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "capacitor-voice-recorder": "^7.0.5", "ionicons": "^7.4.0", "keen-slider": "^6.8.6", "react": "^19.0.0", "react-dom": "^19.0.0", "react-router": "5.3.4", "react-router-dom": "5.3.4", "react-virtuoso": "4.7.1" }, "devDependencies": { "@capacitor/cli": "7.2.0", "@iconify/json": "^2.2.311", "@iconify/tailwind4": "^1.0.4", "@lingui/vite-plugin": "^5.3.2", "@penx/typescript-config": "workspace:*", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/postcss": "4.0.17", "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.1.4", "@testing-library/dom": ">=7.21.4", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^16.2.0", "@testing-library/user-event": "^14.4.3", "@types/jest": "29.5.12", "@types/node": "20.11.30", "@types/react-router": "5.1.20", "@types/react-router-dom": "5.3.3", "@vitejs/plugin-legacy": "^5.0.0", "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "10.4.18", "css-loader": "^7.1.2", "cypress": "^13.5.0", "globals": "^15.15.0", "ionicons": "7.2.2", "jsdom": "^22.1.0", "postcss": "^8.5.1", "pullstate": "1.25", "reselect": "5.1.0", "style-loader": "^4.0.0", "tailwindcss": "^4.1.4", "terser": "^5.4.0", "vite": "^6.3.5", "vitest": "^0.34.6" } }