232 lines
9 KiB
JSON
232 lines
9 KiB
JSON
{
|
|
"name": "mattermost-mobile",
|
|
"version": "2.41.0",
|
|
"description": "Mattermost Mobile with React Native",
|
|
"main": "index.tsx",
|
|
"repository": "git@github.com:mattermost/mattermost-mobile.git",
|
|
"author": "Mattermost, Inc.",
|
|
"license": "Apache 2.0",
|
|
"private": true,
|
|
"engines": {
|
|
"node": "^22.11.0 || ^24.15.0",
|
|
"npm": "^10 || ^11"
|
|
},
|
|
"dependencies": {
|
|
"@formatjs/intl-datetimeformat": "7.4.2",
|
|
"@formatjs/intl-displaynames": "7.3.5",
|
|
"@formatjs/intl-getcanonicallocales": "3.2.6",
|
|
"@formatjs/intl-listformat": "8.3.5",
|
|
"@formatjs/intl-locale": "5.3.5",
|
|
"@formatjs/intl-numberformat": "9.3.5",
|
|
"@formatjs/intl-pluralrules": "6.3.5",
|
|
"@formatjs/intl-relativetimeformat": "12.3.5",
|
|
"@gorhom/bottom-sheet": "5.2.13",
|
|
"@gorhom/portal": "1.0.14",
|
|
"@mattermost/calls": "github:mattermost/calls-common#bf5c7a25d43478b7949a45d4cbbdacac17705b59",
|
|
"@mattermost/compass-icons": "0.1.53",
|
|
"@mattermost/hardware-keyboard": "file:./libraries/@mattermost/hardware-keyboard",
|
|
"@mattermost/react-native-emm": "1.7.0",
|
|
"@mattermost/react-native-network-client": "1.10.0",
|
|
"@mattermost/react-native-paste-input": "2.0.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.3",
|
|
"@nozbe/watermelondb": "0.28.1-0",
|
|
"@preeternal/react-native-cookie-manager": "6.3.2",
|
|
"@react-native-camera-roll/camera-roll": "7.10.2",
|
|
"@react-native-clipboard/clipboard": "1.16.3",
|
|
"@react-native-community/cli": "20.1.3",
|
|
"@react-native-community/cli-platform-android": "20.1.3",
|
|
"@react-native-community/cli-platform-ios": "20.1.3",
|
|
"@react-native-community/datetimepicker": "9.1.0",
|
|
"@react-native-community/netinfo": "12.0.1",
|
|
"@react-native-documents/picker": "12.0.1",
|
|
"@react-native-documents/viewer": "4.0.0",
|
|
"@react-native-vector-icons/common": "13.0.0",
|
|
"@react-navigation/bottom-tabs": "7.15.13",
|
|
"@react-navigation/native": "7.2.4",
|
|
"@react-navigation/native-stack": "7.14.14",
|
|
"@react-navigation/stack": "7.8.13",
|
|
"@rneui/base": "5.0.0",
|
|
"@sentry/react-native": "8.11.0",
|
|
"@shopify/flash-list": "2.3.1",
|
|
"@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",
|
|
"emoji-regex": "10.6.0",
|
|
"expo": "55.0.23",
|
|
"expo-application": "55.0.14",
|
|
"expo-crypto": "55.0.14",
|
|
"expo-device": "55.0.16",
|
|
"expo-image": "55.0.10",
|
|
"expo-linear-gradient": "55.0.13",
|
|
"expo-router": "55.0.14",
|
|
"expo-splash-screen": "55.0.20",
|
|
"expo-store-review": "55.0.13",
|
|
"expo-video-thumbnails": "55.0.14",
|
|
"expo-web-browser": "55.0.15",
|
|
"fflate": "0.8.2",
|
|
"fuse.js": "7.3.0",
|
|
"grapheme-splitter": "1.0.4",
|
|
"html-entities": "2.6.0",
|
|
"js-sha256": "0.11.1",
|
|
"mime-db": "1.54.0",
|
|
"moment-timezone": "0.6.2",
|
|
"node-html-parser": "7.1.0",
|
|
"path-to-regexp": "8.4.2",
|
|
"prismjs": "1.30.0",
|
|
"ratex-react-native": "0.1.4",
|
|
"react": "19.2.6",
|
|
"react-freeze": "1.0.4",
|
|
"react-intl": "10.1.5",
|
|
"react-native": "0.83.9",
|
|
"react-native-dotenv": "3.4.11",
|
|
"react-native-gesture-handler": "2.31.2",
|
|
"react-native-haptic-feedback": "3.0.0",
|
|
"react-native-image-picker": "8.2.1",
|
|
"react-native-incall-manager": "4.2.1",
|
|
"react-native-keyboard-controller": "1.21.7",
|
|
"react-native-keychain": "10.0.0",
|
|
"react-native-localize": "3.7.0",
|
|
"react-native-nitro-bg-timer-plus": "0.3.2",
|
|
"react-native-nitro-modules": "0.35.6",
|
|
"react-native-notifications": "5.2.2",
|
|
"react-native-performance": "6.0.0",
|
|
"react-native-permissions": "5.5.1",
|
|
"react-native-reanimated": "4.3.1",
|
|
"react-native-safe-area-context": "5.7.0",
|
|
"react-native-screens": "4.24.0",
|
|
"react-native-share": "12.3.1",
|
|
"react-native-svg": "15.15.4",
|
|
"react-native-url-polyfill": "3.0.0",
|
|
"react-native-video": "6.19.2",
|
|
"react-native-walkthrough-tooltip": "1.6.0",
|
|
"react-native-webrtc": "124.0.7",
|
|
"react-native-worklets": "0.8.3",
|
|
"react-syntax-highlighter": "16.1.1",
|
|
"semver": "7.8.0",
|
|
"tinycolor2": "1.6.0",
|
|
"url-parse": "1.5.10"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/eslint-parser": "7.28.6",
|
|
"@babel/plugin-proposal-decorators": "7.29.0",
|
|
"@babel/plugin-transform-class-properties": "7.28.6",
|
|
"@babel/plugin-transform-flow-strip-types": "7.27.1",
|
|
"@babel/plugin-transform-runtime": "7.29.0",
|
|
"@babel/preset-env": "7.29.5",
|
|
"@babel/preset-typescript": "7.28.5",
|
|
"@babel/runtime": "7.29.2",
|
|
"@react-native/babel-preset": "0.83.9",
|
|
"@react-native/eslint-config": "0.83.9",
|
|
"@react-native/metro-config": "0.83.9",
|
|
"@react-native/typescript-config": "0.83.9",
|
|
"@stylistic/eslint-plugin": "5.10.0",
|
|
"@testing-library/react-native": "13.3.3",
|
|
"@types/base-64": "1.0.2",
|
|
"@types/commonmark": "0.27.10",
|
|
"@types/commonmark-react-renderer": "4.3.4",
|
|
"@types/deep-equal": "1.0.4",
|
|
"@types/jest": "30.0.0",
|
|
"@types/lodash": "4.17.24",
|
|
"@types/mime-db": "1.43.6",
|
|
"@types/pako": "2.0.4",
|
|
"@types/querystringify": "2.0.2",
|
|
"@types/react": "19.2.14",
|
|
"@types/react-native-dotenv": "0.2.2",
|
|
"@types/react-syntax-highlighter": "15.5.13",
|
|
"@types/semver": "7.7.1",
|
|
"@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.59.2",
|
|
"@typescript-eslint/parser": "8.59.2",
|
|
"babel-plugin-formatjs": "11.3.6",
|
|
"babel-plugin-module-resolver": "5.0.3",
|
|
"eslint": "9.39.4",
|
|
"eslint-plugin-header": "3.1.1",
|
|
"eslint-plugin-import": "2.32.0",
|
|
"eslint-plugin-jest": "29.15.2",
|
|
"eslint-plugin-react": "7.37.5",
|
|
"eslint-plugin-react-hooks": "7.1.1",
|
|
"husky": "9.1.7",
|
|
"jest": "29.7.0",
|
|
"jest-cli": "29.7.0",
|
|
"jest-expo": "55.0.17",
|
|
"jetifier": "2.0.0",
|
|
"mmjstool": "github:mattermost/mattermost-utilities#83b1b311972b8f5e750aae4019457a40abb5aa44",
|
|
"nock": "14.0.15",
|
|
"patch-package": "8.0.1",
|
|
"react-test-renderer": "19.2.6",
|
|
"timezones.json": "1.7.2",
|
|
"tough-cookie": "6.0.1",
|
|
"ts-jest": "29.4.9",
|
|
"typescript": "6.0.3",
|
|
"uuid": "14.0.0"
|
|
},
|
|
"overrides": {
|
|
"@babel/runtime": "7.29.2",
|
|
"postcss": "8.5.13",
|
|
"xcode": {
|
|
"uuid": "14.0.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",
|
|
"intune:disable": "./scripts/intune-disable.sh",
|
|
"intune:enable": "INTUNE_ENABLED=1 npm run intune:link && INTUNE_ENABLED=1 npm run pod-install",
|
|
"intune:init": "./scripts/intune-init.sh",
|
|
"intune:link": "npm install --install-links --no-save ./libraries/@mattermost/intune",
|
|
"intune:status": "./scripts/intune-status.sh",
|
|
"lint": "eslint --ignore-pattern .gitignore --ignore-pattern node_modules --quiet .",
|
|
"mmjstool": "mmjstool",
|
|
"pod-install": "cd ios && RCT_NEW_ARCH_ENABLED=1 pod install",
|
|
"pod-install-m1": "cd ios && RCT_NEW_ARCH_ENABLED=1 arch -x86_64 pod install",
|
|
"postinstall": "patch-package && ./scripts/postinstall.sh",
|
|
"prepare": "husky",
|
|
"preinstall": "./scripts/preinstall.sh && npx solidarity",
|
|
"start": "react-native start --host 127.0.0.1",
|
|
"test": "NODE_OPTIONS=--max_old_space_size=12000 jest --maxWorkers=4",
|
|
"test:ci": "NODE_OPTIONS=--max_old_space_size=12000 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": "NODE_OPTIONS=--max_old_space_size=12000 jest --updateSnapshot"
|
|
},
|
|
"expo": {
|
|
"autolinking": {
|
|
"exclude": [
|
|
"expo-keep-awake",
|
|
"expo-font"
|
|
],
|
|
"android": {
|
|
"buildFromSource": [
|
|
"expo-image",
|
|
"expo-video-thumbnails"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|