{ "name": "mattermost-mobile", "version": "2.0.0", "description": "Mattermost Mobile with React Native", "repository": "git@github.com:mattermost/mattermost-mobile.git", "author": "Mattermost, Inc.", "license": "Apache 2.0", "private": true, "dependencies": { "@formatjs/intl-datetimeformat": "6.3.1", "@formatjs/intl-getcanonicallocales": "2.0.4", "@formatjs/intl-locale": "3.0.7", "@formatjs/intl-numberformat": "8.2.0", "@formatjs/intl-pluralrules": "5.1.4", "@formatjs/intl-relativetimeformat": "11.1.4", "@mattermost/compass-icons": "0.1.31", "@mattermost/react-native-emm": "1.3.3", "@mattermost/react-native-network-client": "1.0.0", "@mattermost/react-native-paste-input": "0.5.1", "@mattermost/react-native-turbo-log": "0.2.0", "@mattermost/react-native-turbo-mailer": "0.2.0", "@msgpack/msgpack": "2.8.0", "@nozbe/watermelondb": "0.24.0", "@nozbe/with-observables": "1.4.1", "@react-native-camera-roll/camera-roll": "5.0.4", "@react-native-clipboard/clipboard": "1.11.1", "@react-native-community/datetimepicker": "6.5.4", "@react-native-community/netinfo": "9.3.6", "@react-native-cookies/cookies": "6.2.1", "@react-navigation/bottom-tabs": "6.4.0", "@react-navigation/native": "6.0.13", "@react-navigation/stack": "6.3.7", "@rudderstack/rudder-sdk-react-native": "1.5.1", "@sentry/react-native": "4.8.0", "@stream-io/flat-list-mvcp": "0.10.2", "base-64": "1.0.0", "commonmark": "npm:@mattermost/commonmark@0.30.1-0", "commonmark-react-renderer": "github:mattermost/commonmark-react-renderer#2c660491041f7595f6ce5a05f6dc2e30ca769d3a", "deep-equal": "2.1.0", "deepmerge": "4.2.2", "emoji-regex": "10.2.1", "fuse.js": "6.6.2", "html-entities": "2.3.3", "jail-monkey": "2.7.0", "mime-db": "1.52.0", "moment-timezone": "0.5.38", "pako": "2.1.0", "react": "18.2.0", "react-freeze": "1.0.3", "react-intl": "6.2.1", "react-native": "0.70.5", "react-native-android-open-settings": "1.3.0", "react-native-animated-numbers": "0.4.1", "react-native-background-timer": "2.4.1", "react-native-button": "3.0.1", "react-native-calendars": "1.1291.1", "react-native-create-thumbnail": "1.6.3", "react-native-device-info": "10.3.0", "react-native-document-picker": "8.1.2", "react-native-dotenv": "3.4.2", "react-native-elements": "3.4.2", "react-native-exception-handler": "2.10.10", "react-native-fast-image": "8.6.3", "react-native-file-viewer": "2.1.5", "react-native-fs": "2.20.0", "react-native-gesture-handler": "2.8.0", "react-native-haptic-feedback": "1.14.0", "react-native-hw-keyboard-event": "0.0.4", "react-native-image-picker": "4.10.0", "react-native-in-app-review": "4.2.1", "react-native-incall-manager": "github:cpoile/react-native-incall-manager", "react-native-keyboard-aware-scroll-view": "0.9.5", "react-native-keyboard-tracking-view": "5.7.0", "react-native-keychain": "8.1.1", "react-native-linear-gradient": "2.6.2", "react-native-localize": "2.2.4", "react-native-math-view": "3.9.5", "react-native-navigation": "7.30.1", "react-native-notifications": "4.3.3", "react-native-permissions": "3.6.1", "react-native-reanimated": "2.12.0", "react-native-safe-area-context": "4.4.1", "react-native-screens": "3.18.2", "react-native-section-list-get-item-layout": "2.2.3", "react-native-shadow-2": "7.0.6", "react-native-share": "8.0.0", "react-native-svg": "13.5.0", "react-native-user-agent": "2.3.1", "react-native-vector-icons": "9.2.0", "react-native-video": "5.2.1", "react-native-webrtc": "github:mattermost/react-native-webrtc", "react-native-webview": "11.23.1", "react-syntax-highlighter": "15.5.0", "readable-stream": "3.6.0", "reanimated-bottom-sheet": "1.0.0-alpha.22", "semver": "7.3.8", "serialize-error": "11.0.0", "shallow-equals": "1.0.0", "tinycolor2": "1.4.2", "url-parse": "1.5.10" }, "devDependencies": { "@babel/cli": "7.19.3", "@babel/core": "7.20.2", "@babel/eslint-parser": "7.19.1", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-decorators": "7.20.2", "@babel/plugin-transform-flow-strip-types": "7.19.0", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.20.2", "@babel/preset-typescript": "7.18.6", "@babel/register": "7.18.9", "@babel/runtime": "7.20.1", "@react-native-community/eslint-config": "3.2.0", "@testing-library/react-hooks": "8.0.1", "@testing-library/react-native": "11.4.0", "@types/base-64": "1.0.0", "@types/commonmark": "0.27.5", "@types/commonmark-react-renderer": "4.3.1", "@types/deep-equal": "1.0.1", "@types/jest": "29.2.2", "@types/lodash": "4.14.188", "@types/mime-db": "1.43.1", "@types/querystringify": "2.0.0", "@types/react": "18.0.25", "@types/react-native": "0.70.6", "@types/react-native-background-timer": "2.0.0", "@types/react-native-button": "3.0.1", "@types/react-native-dotenv": "0.2.0", "@types/react-native-share": "3.3.3", "@types/react-native-video": "5.0.14", "@types/react-syntax-highlighter": "15.5.5", "@types/react-test-renderer": "18.0.0", "@types/readable-stream": "2.3.15", "@types/semver": "7.3.13", "@types/shallow-equals": "1.0.0", "@types/tinycolor2": "1.4.3", "@types/tough-cookie": "4.0.2", "@types/url-parse": "1.4.8", "@types/uuid": "8.3.4", "@typescript-eslint/eslint-plugin": "5.42.1", "@typescript-eslint/parser": "5.42.1", "axios": "1.2.0", "axios-cookiejar-support": "4.0.3", "babel-jest": "29.3.0", "babel-loader": "9.1.0", "babel-plugin-module-resolver": "4.1.0", "deep-freeze": "0.0.1", "detox": "19.13.0", "eslint": "8.27.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", "eslint-plugin-jest": "27.1.4", "eslint-plugin-react": "7.31.10", "eslint-plugin-react-hooks": "4.6.0", "husky": "8.0.2", "isomorphic-fetch": "3.0.0", "jest": "29.3.0", "jest-cli": "29.3.0", "jetifier": "2.0.0", "metro-react-native-babel-preset": "0.73.3", "mmjstool": "github:mattermost/mattermost-utilities#010f456ea8be5beebafdb8776177cba515c1969e", "mock-async-storage": "2.2.0", "nock": "13.2.9", "patch-package": "6.5.0", "react-devtools-core": "4.26.1", "react-native-svg-transformer": "1.0.0", "react-test-renderer": "18.2.0", "tough-cookie": "4.1.2", "ts-jest": "29.0.3", "typescript": "4.8.4", "underscore": "1.13.6", "util": "0.12.5", "uuid": "9.0.0" }, "scripts": { "android": "react-native run-android", "build-storybook": "build-storybook", "build:android": "./scripts/build.sh apk", "build:android-unsigned": "./scripts/build.sh apk unsigned", "build:ios": "./scripts/build.sh ipa", "build:ios-sim": "./scripts/build.sh ipa simulator", "build:ios-unsigned": "./scripts/build.sh ipa unsigned", "check": "npm run lint && npm run tsc", "check-test": "npm run lint && npm run tsc && npm run test", "clean": "./scripts/clean.sh", "e2e:android": "cd detox && npm run e2e:android-build && npm run e2e:android-test && cd ..", "e2e:ios": "cd detox && npm run e2e:ios-test && cd ..", "fix": "npm run lint -- --fix", "i18n-clean-empty": "npm run mmjstool -- i18n clean-empty --mobile-dir .", "i18n-extract": "npm run mmjstool -- i18n extract-mobile", "ios": "react-native run-ios", "ios-gems": "cd ios && bundle install", "lint": "eslint --ignore-path .gitignore --ignore-pattern node_modules --quiet .", "mmjstool": "mmjstool", "pod-install": "cd ios && bundle exec pod install", "postinstall": "patch-package && ./scripts/postinstall.sh", "preinstall": "npx solidarity", "prestorybook": "rnstl", "start": "react-native start", "storybook": "start-storybook -p 7007", "test": "jest --forceExit --runInBand", "test:coverage": "jest --coverage", "test:watch": "npm test -- --watch", "tsc": "NODE_OPTIONS=--max_old_space_size=12000 tsc --noEmit", "updatesnapshot": "jest --updateSnapshot" }, "overrides": { "@nozbe/with-observables": { "@types/react": "^18.0.15", "react": "^18.2.0" }, "@react-native-community/cameraroll": { "react": "^18.2.0" }, "@rudderstack/rudder-sdk-react-native": { "react-native": "^0.70.0" }, "@testing-library/react-hooks": { "@types/react": "^18.0.15", "react": "^18.2.0", "react-test-renderer": "^18.2.0" }, "react-native": { "react": "^18.2.0" }, "react-native-elements": { "react-native-safe-area-context": "^4.3.1" }, "react-native-fast-image": { "react": "^18.2.0" }, "detox": { "jest": "^29.1.0" } } }