{ "name": "lnreader", "version": "2.0.0", "private": true, "scripts": { "android": "npm run prestart && react-native run-android --appIdSuffix \"debug\" --active-arch-only", "ios": "react-native run-ios", "prestart": "node scripts/setEnvFile.cjs Debug", "start": "react-native start", "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", "type-check": "tsc --noEmit", "prettier": "prettier --write \"./src/**/*.{js,jsx,ts,tsx}\" ./scripts", "buildRelease": "node scripts/setEnvFile.cjs Release && cd android && ./gradlew clean && ./gradlew assembleRelease", "open": "open ./android/app/build/outputs/apk/release/", "strings": "node scripts/stringTypes.cjs", "prepare": "husky install", "rebuild": "rm -rf node_modules/ ./android/build/ ./android/app/build/ ./android/app/.cxx && npm i && cd android/ && ./gradlew clean && cd .. && npm start -- --reset-cache" }, "codegenConfig": { "name": "LNReaderSpec", "type": "modules", "jsSrcsDir": "specs", "android": { "javaPackageName": "com.lnreader.spec" } }, "dependencies": { "@cd-z/react-native-epub-creator": "^2.0.4", "@gorhom/bottom-sheet": "^5.1.2", "@legendapp/list": "^1.0.0-beta.24", "@react-native-community/slider": "4.5.6", "@react-native-cookies/cookies": "^6.2.1", "@react-native-google-signin/google-signin": "^13.2.0", "@react-native-vector-icons/common": "^11.0.0", "@react-native-vector-icons/material-design-icons": "^7.4.47", "@react-navigation/native": "^7.0.14", "@react-navigation/native-stack": "^7.2.0", "@react-navigation/stack": "^7.0.17", "@shopify/flash-list": "1.8.0", "cheerio": "1.0.0-rc.12", "color": "^4.2.3", "dayjs": "^1.11.10", "expo": "^53.0.4", "expo-clipboard": "~7.1.4", "expo-document-picker": "~13.1.5", "expo-file-system": "~18.1.8", "expo-haptics": "~14.1.4", "expo-keep-awake": "~14.1.4", "expo-linear-gradient": "~14.1.4", "expo-linking": "~7.1.4", "expo-localization": "~16.1.5", "expo-navigation-bar": "~4.2.3", "expo-notifications": "~0.31.1", "expo-speech": "~13.1.6", "expo-sqlite": "~15.2.9", "expo-web-browser": "~14.1.6", "htmlparser2": "^9.1.0", "i18n-js": "^3.8.0", "lodash-es": "^4.17.21", "protobufjs": "^7.2.6", "react": "19.0.0", "react-native": "0.79.2", "react-native-background-actions": "^4.0.1", "react-native-device-info": "^14.0.4", "react-native-drawer-layout": "^4.0.3", "react-native-error-boundary": "^1.1.16", "react-native-gesture-handler": "^2.24.0", "react-native-lottie-splash-screen": "^1.0.1", "react-native-mmkv": "^3.1.0", "react-native-pager-view": "6.7.1", "react-native-paper": "^5.13.1", "react-native-reanimated": "~3.17.4", "react-native-saf-x": "^2.2.3", "react-native-safe-area-context": "^5.4.0", "react-native-screens": "~4.10.0", "react-native-shimmer-placeholder": "^2.0.9", "react-native-tab-view": "^4.0.5", "react-native-url-polyfill": "^2.0.0", "react-native-webview": "13.13.5", "react-native-zip-archive": "^7.0.0", "sanitize-html": "^2.13.0", "urlencode": "^2.0.0" }, "devDependencies": { "@babel/core": "7.25.2", "@babel/preset-env": "7.25.3", "@babel/runtime": "7.25.0", "@react-native-community/cli": "15.0.1", "@react-native-community/cli-platform-android": "15.0.1", "@react-native/babel-preset": "0.78.2", "@react-native/eslint-config": "0.78.2", "@react-native/metro-config": "0.78.2", "@react-native/typescript-config": "0.78.2", "@types/color": "^3.0.3", "@types/i18n-js": "^3.8.2", "@types/lodash-es": "^4.17.6", "@types/react": "19.0.10", "@types/sanitize-html": "^2.11.0", "babel-plugin-module-resolver": "^5.0.2", "babel-plugin-react-compiler": "19.1.0-rc.1", "eslint": "^8.19.0", "husky": "^7.0.4", "lint-staged": "^12.3.7", "prettier": "2.8.8", "react-native-dotenv": "^3.4.9", "typescript": "5.0.4" }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ "eslint --fix", "prettier --check" ] }, "engines": { "node": ">=20" } }