{ "name": "rocket-chat-reactnative", "version": "4.19.0", "private": true, "scripts": { "start": "react-native start", "test": "jest", "test-update": "jest --updateSnapshot", "lint": "eslint .", "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 && jetify", "e2e:android-debug": "detox build -c and.emu.debug && detox test -c and.emu.debug", "e2e:android-release": "detox build -c and.emu.release && detox test -c and.emu.release", "prepare": "husky install" }, "lint-staged": { "*.{js,ts,tsx}": [ "eslint", "jest --bail --findRelatedTests" ] }, "dependencies": { "@bugsnag/react-native": "^7.10.5", "@codler/react-native-keyboard-aware-scroll-view": "^1.0.1", "@nozbe/watermelondb": "0.19.0", "@react-native-community/art": "^1.2.0", "@react-native-community/async-storage": "1.12.1", "@react-native-community/blur": "^3.6.0", "@react-native-community/cameraroll": "4.0.4", "@react-native-community/datetimepicker": "3.5.2", "@react-native-community/hooks": "2.6.0", "@react-native-community/masked-view": "0.1.11", "@react-native-community/netinfo": "6.0.0", "@react-native-community/picker": "^1.8.1", "@react-native-community/slider": "3.0.3", "@react-native-cookies/cookies": "6.0.8", "@react-native-firebase/analytics": "^7.3.1", "@react-native-firebase/app": "^8.2.0", "@react-native-firebase/crashlytics": "^8.1.2", "@react-navigation/drawer": "5.12.5", "@react-navigation/native": "5.9.4", "@react-navigation/stack": "5.14.5", "@rocket.chat/react-native-fast-image": "^8.2.0", "@rocket.chat/sdk": "RocketChat/Rocket.Chat.js.SDK#mobile", "@rocket.chat/ui-kit": "0.13.0", "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.2", "ejson": "2.2.1", "eslint-config-airbnb": "^18.1.0", "expo-apple-authentication": "^2.2.1", "expo-av": "8.2.1", "expo-file-system": "9.0.1", "expo-haptics": "8.2.1", "expo-keep-awake": "8.2.1", "expo-local-authentication": "9.2.0", "expo-video-thumbnails": "5.1.0", "expo-web-browser": "8.3.1", "hoist-non-react-statics": "3.3.2", "i18n-js": "3.8.0", "js-base64": "3.6.1", "js-sha256": "^0.9.0", "lint-staged": "^11.1.0", "lodash": "4.17.21", "moment": "2.29.1", "pretty-bytes": "5.6.0", "prop-types": "15.7.2", "react": "17.0.1", "react-native": "RocketChat/react-native#0.64.2", "react-native-animatable": "^1.3.3", "react-native-appearance": "0.3.4", "react-native-background-timer": "2.4.1", "react-native-bootsplash": "3.2.4", "react-native-config-reader": "^4.1.1", "react-native-console-time-polyfill": "1.2.3", "react-native-device-info": "8.1.3", "react-native-document-picker": "5.2.0", "react-native-easy-grid": "^0.2.2", "react-native-easy-toast": "^1.2.0", "react-native-gesture-handler": "^1.10.3", "react-native-image-crop-picker": "RocketChat/react-native-image-crop-picker", "react-native-image-progress": "^1.1.1", "react-native-jitsi-meet": "RocketChat/react-native-jitsi-meet", "react-native-keycommands": "2.0.3", "react-native-localize": "2.1.1", "react-native-mime-types": "2.3.0", "react-native-mmkv-storage": "0.3.5", "react-native-modal": "11.10.0", "react-native-navigation-bar-color": "2.0.1", "react-native-notifications": "2.1.7", "react-native-notifier": "1.6.1", "react-native-orientation-locker": "1.3.1", "react-native-picker-select": "^8.0.4", "react-native-platform-touchable": "1.1.1", "react-native-popover-view": "4.0.1", "react-native-progress": "4.1.2", "react-native-prompt-android": "^1.1.0", "react-native-reanimated": "1.9.0", "react-native-restart": "0.0.22", "react-native-safe-area-context": "3.2.0", "react-native-screens": "2.9.0", "react-native-scroll-bottom-sheet": "0.6.2", "react-native-scrollable-tab-view": "^1.0.0", "react-native-simple-crypto": "RocketChat/react-native-simple-crypto#0.5.0", "react-native-slowlog": "^1.0.2", "react-native-ui-lib": "RocketChat/react-native-ui-lib#minor-improvements", "react-native-unimodules": "0.10.1", "react-native-vector-icons": "8.1.0", "react-native-webview": "10.3.2", "react-redux": "7.2.4", "reactotron-react-native": "5.0.0", "redux": "4.1.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": "1.0.3", "semver": "7.3.5", "ua-parser-js": "0.7.28", "url-parse": "1.5.1", "use-deep-compare-effect": "1.6.1", "xregexp": "5.0.2" }, "devDependencies": { "@babel/core": "^7.12.9", "@babel/eslint-parser": "^7.13.4", "@babel/eslint-plugin": "^7.13.0", "@babel/plugin-proposal-decorators": "^7.8.3", "@babel/runtime": "^7.12.5", "@bugsnag/source-maps": "^2.2.0", "@storybook/addon-storyshots": "5.3.21", "@storybook/react-native": "5.3.25", "@types/react-native": "^0.62.7", "axios": "0.21.1", "babel-jest": "27.0.2", "babel-plugin-transform-remove-console": "^6.9.4", "codecov": "3.8.2", "detox": "18.17.0", "eslint": "7.14.0", "eslint-plugin-import": "2.22.0", "eslint-plugin-jsx-a11y": "6.3.1", "eslint-plugin-react": "7.20.3", "eslint-plugin-react-native": "3.8.1", "husky": "^6.0.0", "identity-obj-proxy": "^3.0.0", "jest": "^26.6.3", "jest-cli": "^27.0.6", "metro-react-native-babel-preset": "^0.64.0", "mocha": "9.0.1", "otp.js": "1.2.0", "patch-package": "6.4.7", "react-dom": "17.0.1", "react-test-renderer": "17.0.1", "reactotron-redux": "3.1.3", "reactotron-redux-saga": "4.2.3" }, "jest": { "testPathIgnorePatterns": [ "e2e", "node_modules" ], "transformIgnorePatterns": [ "node_modules/(?!(jest-)?@?react-native|@react-native-community|@react-navigation)" ], "preset": "react-native", "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" }, "transform": { "^.+\\.js$": "/node_modules/react-native/jest/preprocessor.js" } }, "snyk": true, "engines": { "node": ">=8.x", "npm": ">=4.x" }, "detox": { "runner-config": "e2e/.mocharc.json", "specs": "e2e/tests", "configurations": { "ios.sim.debug": { "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/Rocket.Chat Experimental.app", "build": "xcodebuild -workspace ios/RocketChatRN.xcworkspace -scheme RocketChatRN -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build", "type": "ios.simulator", "device": { "type": "iPhone 11 Pro" } }, "ios.sim.release": { "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/Rocket.Chat Experimental.app", "build": "xcodebuild -workspace ios/RocketChatRN.xcworkspace -scheme RocketChatRN -configuration Release -sdk iphonesimulator -derivedDataPath ios/build", "type": "ios.simulator", "device": { "type": "iPhone 11 Pro" }, "artifacts": { "plugins": { "screenshot": { "enabled": true, "shouldTakeAutomaticSnapshots": true, "keepOnlyFailedTestsArtifacts": true, "takeWhen": { "testStart": true, "testDone": true, "appNotReady": true } } } } }, "and.emu.debug": { "device": "Pixel_API_28_AOSP", "type": "android.emulator", "binaryPath": "android/app/build/outputs/apk/e2ePlay/debug/app-e2e-play-debug.apk", "build": "cd android && ./gradlew app:assembleE2ePlayDebug app:assembleE2ePlayDebugAndroidTest -DtestBuildType=debug && cd .." }, "and.emu.release": { "device": "Pixel_API_28_AOSP", "type": "android.emulator", "binaryPath": "android/app/build/outputs/apk/e2ePlay/release/app-e2e-play-release.apk", "build": "cd android && ./gradlew app:assembleE2ePlayRelease app:assembleE2ePlayReleaseAndroidTest -DtestBuildType=release && cd .." } } } }