mattermost-mobile/package.json
JG Heithcock 2d6a5d5097
Mobile-side for MM-65084 (#9115)
* Mobile fix for MM-65084

* Changing test/setup.ts to use a deterministic fill

This avoids the ci issue about parenthesis and is more clear that this is just a fixed sequence for testing, similar to randomUUID above.

* Add setBearerToken and setCSRFToken to Client definition

* Use setClientCredentials and memoize createPkceBundle

* Restoring the preauthSecret back to the Client constructors

This came out of a response to MM-65085: Support Pre Shared Password on server connect where preauthSecret was added in the buildConfig. Claude (correctly imo) identified this as now redundant and so removed it but it is valid to keep it as well. In any case, putting it back to be consistent with ClientTracking and ClientBase.

* Rename PKCE to SAML based terminology, similar to server

* Fix lint issue with too many blank lines at eof

* Removing plain on mobile side

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-09-29 14:29:37 -07:00

249 lines
9.3 KiB
JSON

{
"name": "mattermost-mobile",
"version": "2.33.0",
"description": "Mattermost Mobile with React Native",
"repository": "git@github.com:mattermost/mattermost-mobile.git",
"author": "Mattermost, Inc.",
"license": "Apache 2.0",
"private": true,
"engines": {
"node": "^18.18.0 || ^20.0.0 || ^22.11.0",
"npm": "^9 || ^10"
},
"dependencies": {
"@formatjs/intl-datetimeformat": "6.18.0",
"@formatjs/intl-getcanonicallocales": "2.5.5",
"@formatjs/intl-listformat": "7.7.11",
"@formatjs/intl-locale": "4.2.11",
"@formatjs/intl-numberformat": "8.15.4",
"@formatjs/intl-pluralrules": "5.4.4",
"@formatjs/intl-relativetimeformat": "11.4.11",
"@gorhom/bottom-sheet": "5.1.2",
"@mattermost/calls": "github:mattermost/calls-common#ab53c24053b89e4d3d853bbe1244892899517f45",
"@mattermost/compass-icons": "0.1.48",
"@mattermost/hardware-keyboard": "file:./libraries/@mattermost/hardware-keyboard",
"@mattermost/react-native-emm": "1.6.2",
"@mattermost/react-native-network-client": "1.8.4",
"@mattermost/react-native-paste-input": "0.8.1",
"@mattermost/react-native-turbo-log": "0.6.0",
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
"@mattermost/rnutils": "file:./libraries/@mattermost/rnutils",
"@mattermost/secure-pdf-viewer": "file:./libraries/@mattermost/secure-pdf-viewer",
"@msgpack/msgpack": "3.1.1",
"@nozbe/watermelondb": "0.28.0",
"@react-native-camera-roll/camera-roll": "7.10.0",
"@react-native-clipboard/clipboard": "1.16.2",
"@react-native-community/cli": "15.1.3",
"@react-native-community/cli-platform-android": "15.1.3",
"@react-native-community/cli-platform-ios": "15.1.3",
"@react-native-community/datetimepicker": "8.3.0",
"@react-native-community/netinfo": "11.4.1",
"@react-native-cookies/cookies": "6.2.1",
"@react-navigation/bottom-tabs": "7.3.10",
"@react-navigation/native": "7.1.6",
"@react-navigation/stack": "7.2.10",
"@rneui/base": "4.0.0-rc.8",
"@sentry/react-native": "6.10.0",
"@shopify/flash-list": "1.8.0",
"@stream-io/flat-list-mvcp": "0.10.3",
"@voximplant/react-native-foreground-service": "3.0.2",
"base-64": "1.0.0",
"commonmark": "npm:@mattermost/commonmark@0.31.2-0",
"commonmark-react-renderer": "github:mattermost/commonmark-react-renderer#81b5d27509652bae50b4b510ede777dd3bd923cf",
"deep-equal": "2.2.3",
"deepmerge": "4.3.1",
"emoji-regex": "10.4.0",
"expo": "52.0.44",
"expo-application": "6.0.2",
"expo-crypto": "14.0.2",
"expo-device": "7.0.3",
"expo-image": "2.0.7",
"expo-linear-gradient": "14.0.2",
"expo-store-review": "8.0.1",
"expo-video-thumbnails": "9.0.3",
"expo-web-browser": "14.0.2",
"fflate": "0.8.2",
"fuse.js": "7.1.0",
"html-entities": "2.6.0",
"js-sha256": "0.11.1",
"mime-db": "1.54.0",
"moment-timezone": "0.5.48",
"node-html-parser": "7.0.1",
"path-to-regexp": "8.2.0",
"prismjs": "1.30.0",
"react": "18.3.1",
"react-freeze": "1.0.4",
"react-intl": "7.1.10",
"react-native": "0.76.9",
"react-native-background-timer": "2.4.1",
"react-native-document-picker": "9.3.1",
"react-native-dotenv": "3.4.11",
"react-native-exception-handler": "2.10.10",
"react-native-file-viewer": "2.1.5",
"react-native-gesture-handler": "2.25.0",
"react-native-haptic-feedback": "2.3.3",
"react-native-image-picker": "8.2.0",
"react-native-incall-manager": "4.2.0",
"react-native-keyboard-aware-scroll-view": "0.9.5",
"react-native-keychain": "10.0.0",
"react-native-localize": "3.4.1",
"react-native-math-view": "3.9.5",
"react-native-navigation": "7.45.0",
"react-native-notifications": "5.1.0",
"react-native-performance": "5.1.2",
"react-native-permissions": "5.3.0",
"react-native-reanimated": "3.17.3",
"react-native-safe-area-context": "5.3.0",
"react-native-screens": "4.10.0",
"react-native-section-list-get-item-layout": "2.2.3",
"react-native-shadow-2": "7.1.1",
"react-native-share": "12.0.9",
"react-native-svg": "15.11.2",
"react-native-url-polyfill": "2.0.0",
"react-native-vector-icons": "10.2.0",
"react-native-video": "6.12.0",
"react-native-walkthrough-tooltip": "1.6.0",
"react-native-webrtc": "124.0.5",
"react-syntax-highlighter": "15.6.1",
"semver": "7.7.1",
"tinycolor2": "1.6.0",
"url-parse": "1.5.10"
},
"devDependencies": {
"@babel/cli": "7.27.0",
"@babel/core": "7.26.10",
"@babel/eslint-parser": "7.27.0",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.25.9",
"@babel/plugin-transform-flow-strip-types": "7.26.5",
"@babel/plugin-transform-runtime": "7.26.10",
"@babel/preset-env": "7.26.9",
"@babel/preset-typescript": "7.27.0",
"@babel/register": "7.25.9",
"@babel/runtime": "7.27.0",
"@react-native/babel-preset": "0.76.9",
"@react-native/eslint-config": "0.76.9",
"@react-native/metro-config": "0.76.9",
"@react-native/typescript-config": "0.76.9",
"@stylistic/eslint-plugin-ts": "4.2.0",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react-native": "13.2.0",
"@types/base-64": "1.0.2",
"@types/commonmark": "0.27.9",
"@types/commonmark-react-renderer": "4.3.4",
"@types/deep-equal": "1.0.4",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.16",
"@types/mime-db": "1.43.5",
"@types/pako": "2.0.3",
"@types/querystringify": "2.0.2",
"@types/react": "18.3.12",
"@types/react-native-background-timer": "2.0.2",
"@types/react-native-dotenv": "0.2.2",
"@types/react-syntax-highlighter": "15.5.13",
"@types/semver": "7.7.0",
"@types/tinycolor2": "1.4.6",
"@types/tough-cookie": "4.0.5",
"@types/url-parse": "1.4.11",
"@types/uuid": "10.0.0",
"@typescript-eslint/eslint-plugin": "8.29.1",
"@typescript-eslint/parser": "8.29.1",
"babel-jest": "29.7.0",
"babel-loader": "10.0.0",
"babel-plugin-module-resolver": "5.0.2",
"eslint": "9.24.0",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-jest": "28.11.0",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "5.2.0",
"husky": "9.1.7",
"isomorphic-fetch": "3.0.0",
"jest": "29.7.0",
"jest-cli": "29.7.0",
"jest-expo": "52.0.6",
"jetifier": "2.0.0",
"mmjstool": "github:mattermost/mattermost-utilities#83b1b311972b8f5e750aae4019457a40abb5aa44",
"nock": "14.0.3",
"patch-package": "8.0.0",
"react-devtools-core": "6.1.1",
"react-test-renderer": "18.3.1",
"timezones.json": "1.7.1",
"tough-cookie": "5.1.2",
"ts-jest": "29.3.1",
"typescript": "5.8.3",
"uuid": "11.1.0"
},
"scripts": {
"android": "react-native run-android",
"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": "bundle install",
"ios-gems-m1": "arch -arm64 bundle install",
"lint": "eslint --ignore-pattern .gitignore --ignore-pattern node_modules --quiet .",
"mmjstool": "mmjstool",
"pod-install": "cd ios && RCT_NEW_ARCH_ENABLED=0 pod install",
"pod-install-m1": "cd ios && RCT_NEW_ARCH_ENABLED=0 arch -x86_64 pod install",
"postinstall": "patch-package && ./scripts/postinstall.sh",
"prepare": "husky",
"preinstall": "./scripts/preinstall.sh && npx solidarity",
"start": "react-native start",
"test": "jest --runInBand",
"test:ci": "jest --verbose=false --forceExit",
"test:ci:coverage": "npm run test:ci -- --coverage",
"test:coverage": "npm test -- --coverage",
"test:watch": "npm test -- --watch",
"tsc": "NODE_OPTIONS=--max_old_space_size=12000 tsc --noEmit",
"updatesnapshot": "jest --updateSnapshot"
},
"overrides": {
"promise": "^8.3.0",
"react-test-renderer": "18.3.1",
"@babel/runtime": "7.27.0",
"@babel/runtime-corejs3": "7.26.10",
"@testing-library/react-native": {
"react": "^18.3.1"
},
"@testing-library/react-hooks": {
"@types/react": "^18.2.37",
"react": "^18.3.1",
"react-test-renderer": "^18.3.1"
},
"@react-native-community/datetimepicker": {
"react-native": "^0.76.5"
},
"react-native-windows": {
"react-native": "^0.76.5"
},
"@react-native/eslint-config@0.76.5": {
"@typescript-eslint/eslint-plugin": "^8.29.1"
},
"react-syntax-highlighter": {
"prismjs": "1.30.0"
},
"refractor": {
"prismjs": "1.30.0"
}
},
"expo": {
"autolinking": {
"exclude": [
"expo-keep-awake",
"expo-asset",
"expo-font"
]
}
}
}