{ "name": "@joplin/app-mobile", "description": "Joplin for Mobile", "license": "AGPL-3.0-or-later", "version": "3.5.0", "private": true, "scripts": { "start": "BROWSERSLIST_IGNORE_OLD_DATA=true react-native start --reset-cache", "android": "react-native run-android", "build": "NO_FLIPPER=1 gulp build", "web": "webpack --mode production --config ./web/webpack.config.ts --progress && cp -r ./web/public/* ./web/dist/", "serve-web-hot-reload": "yarn serve-web --env HOT_RELOAD", "serve-web": "webpack serve --mode development --static ./web/public/ --config ./web/webpack.config.ts --progress", "tsc": "tsc --project tsconfig.json", "watch": "tsc --watch --preserveWatchOutput --project tsconfig.json", "clean": "node tools/clean.js", "buildInjectedJs": "gulp buildInjectedJs", "test": "jest", "test-ci": "node tools/runTestsConditionally.js", "watchInjectedJs": "gulp watchInjectedJs", "postinstall": "jetify" }, "dependencies": { "@bam.tech/react-native-image-resizer": "3.0.11", "@joplin/editor": "~3.5", "@joplin/lib": "~3.5", "@joplin/react-native-alarm-notification": "~3.5", "@joplin/react-native-saf-x": "~3.5", "@joplin/renderer": "~3.5", "@joplin/utils": "~3.5", "@js-draw/material-icons": "1.33.0", "@react-native-clipboard/clipboard": "1.16.3", "@react-native-community/datetimepicker": "8.4.5", "@react-native-community/geolocation": "3.4.0", "@react-native-community/netinfo": "11.4.1", "@react-native-community/push-notification-ios": "1.11.0", "@react-native-documents/picker": "10.1.7", "@react-native-vector-icons/fontawesome5": "12.3.0", "@react-native-vector-icons/get-image": "12.3.0", "@react-native-vector-icons/ionicons": "12.3.0", "@react-native-vector-icons/material-design-icons": "12.4.0", "@react-native-vector-icons/material-icons": "12.4.0", "assert-browserify": "2.0.0", "buffer": "6.0.3", "color": "3.2.1", "constants-browserify": "1.0.0", "crypto-browserify": "3.12.1", "deprecated-react-native-prop-types": "5.0.0", "events": "3.3.0", "expo": "53.0.23", "expo-av": "15.1.7", "expo-camera": "16.1.11", "expo-local-authentication": "16.0.5", "js-draw": "1.33.0", "lodash": "4.17.21", "md5": "2.3.0", "path-browserify": "1.0.1", "prop-types": "15.8.1", "punycode": "2.3.1", "react": "19.0.0", "react-native": "0.79.2", "react-native-device-info": "14.0.4", "react-native-dropdownalert": "5.2.0", "react-native-exit-app": "2.0.0", "react-native-file-viewer": "2.1.5", "react-native-fs": "2.20.0", "react-native-get-random-values": "1.11.0", "react-native-image-picker": "8.2.1", "react-native-localize": "3.5.2", "react-native-modal-datetime-picker": "18.0.0", "react-native-paper": "5.14.5", "react-native-popup-menu": "0.17.0", "react-native-quick-actions": "0.3.13", "react-native-quick-crypto": "0.7.17", "react-native-rsa-native": "2.0.5", "react-native-safe-area-context": "5.6.1", "react-native-securerandom": "1.0.1", "react-native-share": "12.2.0", "react-native-sqlite-storage": "6.0.1", "react-native-svg": "15.13.0", "react-native-url-polyfill": "2.0.0", "react-native-version-info": "1.1.1", "react-native-webview": "13.16.0", "react-native-zip-archive": "7.0.2", "react-redux": "8.1.3", "redux": "4.2.1", "rn-fetch-blob": "0.12.0", "stream": "0.0.3", "stream-browserify": "3.0.0", "string-natural-compare": "3.0.1", "tar-stream": "3.1.7", "timers": "0.1.1", "url": "0.11.4" }, "devDependencies": { "@babel/core": "7.26.0", "@babel/plugin-transform-export-namespace-from": "7.27.1", "@babel/preset-env": "7.25.3", "@babel/runtime": "7.25.0", "@joplin/tools": "~3.5", "@joplin/turndown": "~4.0.80", "@joplin/turndown-plugin-gfm": "~1.0.62", "@pmmmwh/react-refresh-webpack-plugin": "^0.6.0", "@react-native-community/cli": "16.0.3", "@react-native-community/cli-platform-android": "16.0.3", "@react-native-community/cli-platform-ios": "16.0.3", "@react-native/babel-preset": "0.80.1", "@react-native/metro-config": "0.79.5", "@react-native/typescript-config": "0.80.2", "@sqlite.org/sqlite-wasm": "3.46.0-build2", "@testing-library/react-native": "13.2.0", "@types/fs-extra": "11.0.4", "@types/jest": "29.5.14", "@types/node": "18.19.130", "@types/react": "19.0.14", "@types/react-redux": "7.1.33", "@types/serviceworker": "0.0.157", "@types/tar-stream": "3.1.4", "babel-jest": "29.7.0", "babel-loader": "9.1.3", "babel-plugin-module-resolver": "4.1.0", "babel-plugin-react-native-web": "0.21.1", "esbuild": "0.25.10", "fast-deep-equal": "3.1.3", "fs-extra": "11.3.2", "gulp": "4.0.2", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jetifier": "2.0.0", "jsdom": "26.1.0", "nodemon": "3.1.10", "punycode": "2.3.1", "react-dom": "19.0.0", "react-native-web": "0.21.1", "react-refresh": "0.17.0", "react-test-renderer": "19.0.0", "sharp": "0.34.4", "sqlite3": "5.1.6", "timers-browserify": "2.0.12", "ts-jest": "29.4.1", "ts-loader": "9.5.4", "ts-node": "10.9.2", "typescript": "5.8.3", "url-loader": "4.1.1", "webpack": "5.97.1", "webpack-cli": "5.1.4", "webpack-dev-server": "5.2.2" }, "engines": { "node": ">=18" }, "expo": { "autolinking": { "exclude": [ "expo-keep-awake" ] }, "install": { "exclude": [ "react-native@~0.76.6", "react-native-reanimated@~3.16.1", "react-native-gesture-handler@~2.20.0", "react-native-screens@~4.4.0", "react-native-safe-area-context@~4.12.0", "react-native-webview@~13.12.5" ] } } }