forked from Ivasoft/mattermost-mobile
* fix: handle NSMutableData * feat: integrate react-native-network-client * fix: typos * fix: semicolon * fix: rename to urlVersion * fix: add returnDataOnly arg * fix: configure network client * fix: headers * fix: handling of serverVersion * fix: rename requests to actions * fix: action imports * fix: no need to stringify body * fix: sso flow * fix: address PR feedback * fix: invalidate client on logout * fix: address PR feedback take 2 * fix: address PR feedback take 3 * fix: tsc issues * fix: get csrf token during client creation * fix: linter * fix: invalidate client onLogout * fix: event emitter * fix: unit tests * fix: apply linter fixes * fix lint * Modify actions to add / update database values * Rename clien4.d.ts to client.d.ts * fix empty & missing translations * cleanup api client * Cleanup init & squash some TODO's * Emit certificate errors in NetworkManager * cleanup user actions * Fix NetworkManager invalidate client * Invalidate client when server screen appears * Update kotlin to 1.4.30 required by network-client * patch react-native-keychain to remove cached credential * update react-native-network-client * Use app.db instead of default.db in native code * fix use of rnnc on Android * Init PushNotifications * No need to reset serverVersion on logout * fix logout action * fix deleteServerDatabase * fix schedule expired session notification * use safeParseJSON for db json fields * unsubscribe when database component unmounts * cleanup init * session type * pass launchprops to entire login flow * Properly remove third party cookies after SSO login * recreate network client if sso with redirect fails * add missing launch props from server screen * use query prefix for database queries * Add temporary logout function to channel screen Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
184 lines
7.2 KiB
JSON
184 lines
7.2 KiB
JSON
{
|
|
"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": {
|
|
"@babel/runtime": "7.14.6",
|
|
"@formatjs/intl-datetimeformat": "4.1.5",
|
|
"@formatjs/intl-getcanonicallocales": "1.7.0",
|
|
"@formatjs/intl-locale": "2.4.32",
|
|
"@formatjs/intl-numberformat": "7.1.4",
|
|
"@formatjs/intl-pluralrules": "4.0.27",
|
|
"@formatjs/intl-relativetimeformat": "9.1.6",
|
|
"@mattermost/react-native-emm": "1.1.3",
|
|
"@mattermost/react-native-network-client": "github:mattermost/react-native-network-client",
|
|
"@mattermost/react-native-paste-input": "0.1.3",
|
|
"@nozbe/watermelondb": "0.22.0",
|
|
"@nozbe/with-observables": "1.3.0",
|
|
"@react-native-community/async-storage": "1.12.1",
|
|
"@react-native-community/cameraroll": "4.0.4",
|
|
"@react-native-community/clipboard": "1.5.1",
|
|
"@react-native-cookies/cookies": "6.0.8",
|
|
"@react-native-community/masked-view": "0.1.11",
|
|
"@react-native-community/netinfo": "6.0.0",
|
|
"@rudderstack/rudder-sdk-react-native": "1.0.10",
|
|
"@sentry/react-native": "2.5.2",
|
|
"commonmark": "github:mattermost/commonmark.js#f6ab98dede6ce4b4e7adea140ac77249bfb2d6ce",
|
|
"commonmark-react-renderer": "github:mattermost/commonmark-react-renderer#3a2ac19cab725ad28b170fdc1d397dddedcf87eb",
|
|
"deep-equal": "2.0.5",
|
|
"deepmerge": "4.2.2",
|
|
"emoji-regex": "9.2.2",
|
|
"fuse.js": "6.4.6",
|
|
"jail-monkey": "2.4.0",
|
|
"mime-db": "1.48.0",
|
|
"moment-timezone": "0.5.33",
|
|
"nock": "13.1.0",
|
|
"prop-types": "15.7.2",
|
|
"react": "17.0.2",
|
|
"react-intl": "5.17.7",
|
|
"react-native": "0.64.2",
|
|
"react-native-android-open-settings": "1.3.0",
|
|
"react-native-button": "3.0.1",
|
|
"react-native-calendars": "1.1263.0",
|
|
"react-native-device-info": "8.1.3",
|
|
"react-native-document-picker": "5.2.0",
|
|
"react-native-elements": "3.4.2",
|
|
"react-native-exception-handler": "2.10.10",
|
|
"react-native-fast-image": "8.3.4",
|
|
"react-native-file-viewer": "2.1.4",
|
|
"react-native-gesture-handler": "1.10.3",
|
|
"react-native-haptic-feedback": "1.11.0",
|
|
"react-native-hw-keyboard-event": "0.0.4",
|
|
"react-native-keyboard-aware-scroll-view": "0.9.4",
|
|
"react-native-keyboard-tracking-view": "5.7.0",
|
|
"react-native-keychain": "7.0.0",
|
|
"react-native-linear-gradient": "2.5.6",
|
|
"react-native-localize": "2.1.1",
|
|
"react-native-navigation": "7.13.0",
|
|
"react-native-notifications": "3.5.0",
|
|
"react-native-permissions": "3.0.4",
|
|
"react-native-reanimated": "2.2.0",
|
|
"react-native-redash": "16.0.11",
|
|
"react-native-safe-area-context": "3.2.0",
|
|
"react-native-share": "6.2.1",
|
|
"react-native-slider": "0.11.0",
|
|
"react-native-svg": "12.1.1",
|
|
"react-native-unimodules": "0.13.3",
|
|
"react-native-vector-icons": "8.1.0",
|
|
"react-native-video": "5.1.1",
|
|
"react-native-webview": "11.6.4",
|
|
"react-native-youtube": "2.0.2",
|
|
"rn-fetch-blob": "0.12.0",
|
|
"rn-placeholder": "3.0.3",
|
|
"semver": "7.3.5",
|
|
"serialize-error": "8.1.0",
|
|
"shallow-equals": "1.0.0",
|
|
"tinycolor2": "1.4.2",
|
|
"url-parse": "1.5.1"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "7.14.5",
|
|
"@babel/core": "7.14.6",
|
|
"@babel/plugin-proposal-class-properties": "7.14.5",
|
|
"@babel/plugin-proposal-decorators": "7.14.5",
|
|
"@babel/plugin-transform-flow-strip-types": "7.14.5",
|
|
"@babel/plugin-transform-runtime": "7.14.5",
|
|
"@babel/preset-env": "7.14.5",
|
|
"@babel/preset-typescript": "7.14.5",
|
|
"@babel/register": "7.14.5",
|
|
"@react-native-community/eslint-config": "3.0.0",
|
|
"@storybook/addon-knobs": "6.2.9",
|
|
"@storybook/addon-ondevice-knobs": "5.3.25",
|
|
"@storybook/react-native": "5.3.25",
|
|
"@storybook/react-native-server": "5.3.23",
|
|
"@testing-library/react-native": "7.2.0",
|
|
"@types/jest": "26.0.23",
|
|
"@types/react": "17.0.11",
|
|
"@types/react-intl": "3.0.0",
|
|
"@types/react-native": "0.64.10",
|
|
"@types/react-native-button": "3.0.0",
|
|
"@types/react-native-share": "3.3.2",
|
|
"@types/react-native-video": "5.0.6",
|
|
"@types/react-test-renderer": "17.0.1",
|
|
"@types/semver": "7.3.6",
|
|
"@types/shallow-equals": "1.0.0",
|
|
"@types/tinycolor2": "1.4.2",
|
|
"@types/url-parse": "1.4.3",
|
|
"@typescript-eslint/eslint-plugin": "4.28.0",
|
|
"@typescript-eslint/parser": "4.28.0",
|
|
"babel-eslint": "10.1.0",
|
|
"babel-jest": "26.6.3",
|
|
"babel-loader": "8.2.2",
|
|
"babel-plugin-module-resolver": "4.1.0",
|
|
"babel-plugin-transform-remove-console": "6.9.4",
|
|
"deep-freeze": "0.0.1",
|
|
"detox": "18.18.1",
|
|
"eslint": "7.29.0",
|
|
"eslint-plugin-header": "3.1.1",
|
|
"eslint-plugin-jest": "24.3.6",
|
|
"eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#070ce792d105482ffb2b27cfc0b7e78b3d20acee",
|
|
"eslint-plugin-react": "7.24.0",
|
|
"eslint-plugin-react-hooks": "4.2.0",
|
|
"husky": "6.0.0",
|
|
"isomorphic-fetch": "3.0.0",
|
|
"jest": "26.6.3",
|
|
"jest-cli": "26.6.3",
|
|
"jetifier": "2.0.0",
|
|
"metro-react-native-babel-preset": "0.66.0",
|
|
"mmjstool": "github:mattermost/mattermost-utilities#519b99a4e51e6c67a0dbd46a6efdff27dc835aaa",
|
|
"mock-async-storage": "2.2.0",
|
|
"patch-package": "6.4.7",
|
|
"react-native-dev-menu": "4.0.2",
|
|
"react-native-dotenv": "2.5.5",
|
|
"react-native-storybook-loader": "2.0.4",
|
|
"react-test-renderer": "17.0.2",
|
|
"ts-jest": "27.0.3",
|
|
"typescript": "4.3.4",
|
|
"underscore": "1.13.1",
|
|
"util": "0.12.4"
|
|
},
|
|
"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",
|
|
"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",
|
|
"prestorybook": "rnstl",
|
|
"start": "react-native start",
|
|
"storybook": "start-storybook -p 7007",
|
|
"test": "jest --forceExit --runInBand --detectOpenHandles",
|
|
"test:coverage": "jest --coverage",
|
|
"test:watch": "npm test -- --watch",
|
|
"tsc": "NODE_OPTIONS=--max_old_space_size=12000 tsc --noEmit",
|
|
"updatesnapshot": "jest --updateSnapshot"
|
|
},
|
|
"config": {
|
|
"react-native-storybook-loader": {
|
|
"searchDir": [
|
|
"./app/components"
|
|
],
|
|
"pattern": "**/*.stories.@(js|jsx|ts|tsx)",
|
|
"outputFile": "./storybook/storyLoader.js"
|
|
}
|
|
}
|
|
}
|