{ "name": "rocket-chat-reactnative", "version": "4.40.0", "private": true, "scripts": { "start": "react-native start", "test": "jest", "test-update": "sb-rn-get-stories && jest --updateSnapshot", "lint": "eslint . && tsc", "prettier-lint": "prettier --write . && yarn lint", "ci": "npm run precommit && codecov", "ios": "npx react-native run-ios", "android": "npx react-native run-android --variant=experimentalPlayDebug", "android-whitelabel": "npx react-native run-android --main-activity chat.rocket.reactnative.MainActivity --variant=experimentalPlayDebug --appId", "log-android": "react-native log-android", "snyk-protect": "snyk protect", "precommit": "lint-staged", "generate-source-maps-ios": "react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios-release.bundle --sourcemap-output ios-release.bundle.map", "postinstall": "patch-package", "prepare": "husky install", "build-icon-set": "node scripts/build-icon-set.js", "e2e:android-build-debug": "yarn detox build -c android.emu.debug", "e2e:android-test-debug": "yarn detox test -c android.emu.debug", "e2e:android-build": "yarn detox build -c android.emu.release", "e2e:android-test": "yarn detox test -c android.emu.release", "e2e:ios-build-debug": "yarn detox build -c ios.sim.debug", "e2e:ios-test-debug": "yarn detox test -c ios.sim.debug", "e2e:ios-build": "yarn detox build -c ios.sim.release", "e2e:ios-test": "yarn detox test -c ios.sim.release", "e2e:start": "RUNNING_E2E_TESTS=true npx react-native start" }, "lint-staged": { "*.{js,ts,tsx}": [ "prettier --write", "eslint", "jest --bail --findRelatedTests --passWithNoTests" ] }, "dependencies": { "@bugsnag/react-native": "^7.19.0", "@codler/react-native-keyboard-aware-scroll-view": "^2.0.1", "@gorhom/bottom-sheet": "^4.4.5", "@hookform/resolvers": "^2.9.10", "@nozbe/watermelondb": "^0.25.5", "@react-native-async-storage/async-storage": "^1.17.11", "@react-native-camera-roll/camera-roll": "^5.7.2", "@react-native-clipboard/clipboard": "^1.8.5", "@react-native-community/art": "^1.2.0", "@react-native-community/blur": "^4.1.0", "@react-native-community/datetimepicker": "^6.7.5", "@react-native-community/hooks": "2.6.0", "@react-native-community/netinfo": "6.0.0", "@react-native-community/picker": "^1.8.1", "@react-native-community/slider": "^4.4.2", "@react-native-cookies/cookies": "6.2.1", "@react-native-firebase/analytics": "^14.11.0", "@react-native-firebase/app": "^14.11.0", "@react-native-firebase/crashlytics": "^14.11.0", "@react-native-masked-view/masked-view": "^0.2.8", "@react-navigation/drawer": "^6.6.2", "@react-navigation/elements": "^1.3.17", "@react-navigation/native": "^6.1.6", "@react-navigation/stack": "^6.3.16", "@rocket.chat/message-parser": "^0.31.14", "@rocket.chat/sdk": "RocketChat/Rocket.Chat.js.SDK#mobile", "@rocket.chat/ui-kit": "^0.31.19", "bytebuffer": "^5.0.1", "color2k": "1.2.4", "commonmark": "git+https://github.com/RocketChat/commonmark.js.git", "commonmark-react-renderer": "git+https://github.com/RocketChat/commonmark-react-renderer.git", "dequal": "^2.0.3", "ejson": "^2.2.3", "expo": "^49.0.0-beta", "expo-apple-authentication": "^6.0.1", "expo-av": "^13.4.0", "expo-file-system": "^15.4.2", "expo-haptics": "^12.4.0", "expo-keep-awake": "^12.3.0", "expo-local-authentication": "^13.4.1", "expo-video-thumbnails": "^7.4.0", "expo-web-browser": "^12.3.2", "hoist-non-react-statics": "3.3.2", "i18n-js": "3.9.2", "js-base64": "3.6.1", "js-sha256": "^0.9.0", "lint-staged": "^11.1.0", "lodash": "4.17.21", "moment": "2.29.4", "pretty-bytes": "5.6.0", "prop-types": "15.7.2", "react": "18.2.0", "react-hook-form": "^7.34.2", "react-native": "^0.72.1", "react-native-animatable": "^1.3.3", "react-native-background-timer": "2.4.1", "react-native-bootsplash": "^4.6.0", "react-native-config-reader": "^4.1.1", "react-native-console-time-polyfill": "1.2.3", "react-native-device-info": "^10.3.0", "react-native-document-picker": "^8.1.2", "react-native-easy-grid": "^0.2.2", "react-native-easy-toast": "^2.3.0", "react-native-fast-image": "RocketChat/react-native-fast-image.git#bump-version", "react-native-file-viewer": "^2.1.4", "react-native-gesture-handler": "^2.12.0", "react-native-image-crop-picker": "RocketChat/react-native-image-crop-picker", "react-native-image-progress": "^1.1.1", "react-native-linear-gradient": "^2.6.2", "react-native-localize": "2.1.1", "react-native-math-view": "^3.9.5", "react-native-mime-types": "2.3.0", "react-native-mmkv-storage": "^0.9.1", "react-native-modal": "13.0.1", "react-native-navigation-bar-color": "^2.0.2", "react-native-notifications": "^4.3.3", "react-native-notifier": "1.6.1", "react-native-orientation-locker": "1.1.8", "react-native-picker-select": "^8.0.4", "react-native-platform-touchable": "1.1.1", "react-native-popover-view": "^5.1.7", "react-native-progress": "5.0.0", "react-native-prompt-android": "^1.1.0", "react-native-reanimated": "^3.3.0", "react-native-restart": "0.0.22", "react-native-safe-area-context": "3.2.0", "react-native-screens": "^3.20.0", "react-native-scrollable-tab-view": "ptomasroos/react-native-scrollable-tab-view", "react-native-simple-crypto": "RocketChat/react-native-simple-crypto#0.5.1", "react-native-skeleton-placeholder": "^5.2.4", "react-native-slowlog": "^1.0.2", "react-native-svg": "^13.8.0", "react-native-ui-lib": "RocketChat/react-native-ui-lib#7.2.0", "react-native-vector-icons": "^9.2.0", "react-native-webview": "11.26.1", "react-redux": "^8.0.5", "reactotron-react-native": "^5.0.3", "redux": "4.2.0", "redux-immutable-state-invariant": "2.1.0", "redux-saga": "1.1.3", "remove-markdown": "^0.3.0", "reselect": "4.0.0", "rn-extensions-share": "RocketChat/rn-extensions-share", "rn-fetch-blob": "^0.12.0", "rn-root-view": "RocketChat/rn-root-view", "semver": "^7.3.8", "transliteration": "^2.3.5", "ua-parser-js": "^1.0.32", "uri-js": "^4.4.1", "url-parse": "1.5.10", "use-debounce": "^9.0.4", "use-deep-compare-effect": "1.6.1", "xregexp": "5.0.2", "yup": "^0.32.11" }, "resolutions": { "ua-parser-js": "^1.0.2", "jpeg-js": "0.4.4", "@types/react": "18" }, "devDependencies": { "@babel/core": "^7.20.2", "@babel/eslint-parser": "^7.14.7", "@babel/eslint-plugin": "^7.13.0", "@babel/plugin-proposal-decorators": "^7.8.3", "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", "@bugsnag/source-maps": "^2.2.0", "@react-native/metro-config": "^0.72.7", "@rocket.chat/eslint-config": "^0.4.0", "@storybook/addon-storyshots": "6.3", "@storybook/react": "6.3", "@storybook/react-native": "^6.0.1-beta.7", "@testing-library/jest-native": "^4.0.4", "@testing-library/react-hooks": "^8.0.1", "@testing-library/react-native": "^9.0.0", "@tsconfig/react-native": "^3.0.0", "@types/bytebuffer": "^5.0.44", "@types/ejson": "^2.1.3", "@types/i18n-js": "^3.8.3", "@types/jest": "^26.0.24", "@types/lodash": "^4.14.188", "@types/metro-config": "^0.76.3", "@types/react": "^18.0.24", "@types/react-native-background-timer": "^2.0.0", "@types/react-native-config-reader": "^4.1.0", "@types/react-native-platform-touchable": "^1.1.2", "@types/react-native-scrollable-tab-view": "^0.10.2", "@types/react-native-vector-icons": "^6.4.12", "@types/react-test-renderer": "^18.0.0", "@types/semver": "^7.3.13", "@types/ua-parser-js": "^0.7.36", "@types/url-parse": "^1.4.8", "@typescript-eslint/eslint-plugin": "^4.28.3", "@typescript-eslint/parser": "^4.28.5", "axios": "0.27.2", "babel-jest": "^28.1.3", "babel-loader": "8.3.0", "babel-plugin-transform-remove-console": "^6.9.4", "codecov": "^3.8.3", "detox": "^20.1.2", "eslint": "^7.32.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-import": "2.26.0", "eslint-plugin-jest": "26.5.3", "eslint-plugin-jsx-a11y": "6.5.1", "eslint-plugin-react": "7.30.0", "eslint-plugin-react-hooks": "^4.5.0", "eslint-plugin-react-native": "4.0.0", "husky": "^6.0.0", "identity-obj-proxy": "^3.0.0", "jest": "^28.1.3", "jest-cli": "^28.1.3", "jest-expo": "^46.0.1", "jest-junit": "^15.0.0", "metro-react-native-babel-preset": "0.76.5", "otp.js": "1.2.0", "patch-package": "6.4.7", "prettier": "^2.3.2", "react-dom": "18.1.0", "react-native-dotenv": "^3.4.8", "react-test-renderer": "18.2.0", "reactotron-redux": "3.1.3", "reactotron-redux-saga": "4.2.3", "ts-node": "^10.9.1", "typescript": "^4.3.5" }, "jest": { "testPathIgnorePatterns": [ "e2e", "node_modules" ], "transformIgnorePatterns": [ "node_modules/(?!(jest-)?@?react-native|@react-native-community|@react-navigation|expo)" ], "preset": "./jest.preset.js", "coverageDirectory": "./coverage/", "collectCoverage": true, "moduleNameMapper": { ".+\\.(css|styl|less|sass|scss)$": "identity-obj-proxy", ".+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js" }, "setupFilesAfterEnv": [ "@testing-library/jest-native/extend-expect", "./jest.setup.js" ] }, "jest-junit": { "addFileAttribute": "true" }, "snyk": true, "engines": { "node": ">=16" }, "expo": { "autolinking": { "exclude": [ "expo-application", "expo-asset", "expo-constants", "expo-font", "expo-error-recovery" ] } } }