{ "name": "bluewallet", "version": "6.6.9", "license": "MIT", "repository": { "type": "git", "url": "https://github.com/BlueWallet/BlueWallet.git" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/runtime": "^7.20.0", "@jest/reporters": "^27.5.1", "@react-native/eslint-config": "0.74.87", "@tsconfig/react-native": "^3.0.2", "@types/bip38": "^3.1.2", "@types/bs58check": "^2.1.0", "@types/create-hash": "^1.2.2", "@types/crypto-js": "^4.2.2", "@types/jest": "^29.4.0", "@types/react": "^18.2.16", "@types/react-native": "^0.72.0", "@types/react-test-renderer": "^18.0.0", "@types/wif": "^2.0.5", "@typescript-eslint/eslint-plugin": "^6.2.0", "@typescript-eslint/parser": "^6.2.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-config-standard": "^17.1.0", "eslint-config-standard-jsx": "^11.0.0", "eslint-config-standard-react": "^13.0.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^28.7.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-native": "^4.1.0", "jest": "^29.4.2", "jest-environment-node": "^29.7.0", "node-fetch": "^2.6.7", "prettier": "^3.2.5", "react-test-renderer": "18.2.0", "ts-jest": "^29.1.1", "typescript": "^5.1.6" }, "engines": { "node": ">=20" }, "scripts": { "clean": "cd android/; ./gradlew clean; cd ..; rm -r -f /tmp/metro-cache/; rm -r -f node_modules/; npm cache clean --force; npm i; npm start -- --reset-cache", "clean:ios": "rm -fr node_modules && rm -fr ios/Pods && npm i && cd ios && pod update && cd ..; npm start -- --reset-cache", "releasenotes2json": "./scripts/release-notes.sh > release-notes.txt; node -e 'console.log(JSON.stringify(require(\"fs\").readFileSync(\"release-notes.txt\", \"utf8\")));' > release-notes.json", "branch2json": "./scripts/current-branch.sh > current-branch.json", "start": "node node_modules/react-native/local-cli/cli.js start", "android": "react-native run-android", "android:clean": "cd android; ./gradlew clean ; cd .. ; npm run android", "ios": "react-native run-ios", "postinstall": "rn-nodeify --install buffer,events,process,stream,inherits,path,assert,crypto --hack; npm run releasenotes2json; npm run branch2json; npm run patches", "patches": "patch -p1 < scripts/react-native-camera-kit.patch;", "test": "npm run tslint && npm run lint && npm run unit && npm run jest", "jest": "jest tests/integration/*", "e2e:debug-build": "detox build -c android.debug", "e2e:debug-test": "detox test -c android.debug -d 200000 -l info", "e2e:debug": "(test -f android/app/build/outputs/apk/debug/app-debug.apk && test -f android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk) || npm run e2e:debug-build; npm run e2e:debug-test", "e2e:release-build": "detox build -c android.release", "e2e:release-test": "detox test -c android.release", "tslint": "tsc", "lint": " npm run tslint && node scripts/find-unused-loc.js && eslint --ext .js,.ts,.tsx '*.@(js|ts|tsx)' screen 'blue_modules/*.@(js|ts|tsx)' class models loc tests components navigation typings", "lint:fix": "npm run lint -- --fix", "lint:quickfix": "git status --porcelain | grep -v '\\.json' | grep -E '\\.js|\\.ts' --color=never | awk '{print $2}' | xargs eslint --fix; exit 0", "unit": "jest -b -w tests/unit/*" }, "jest": { "testEnvironment": "/tests/custom-environment.js", "reporters": [ "default", [ "/tests/custom-reporter.js", {} ] ], "preset": "react-native", "transform": { "^.+\\.(ts|tsx)$": "ts-jest" }, "moduleFileExtensions": [ "js", "json", "ts", "tsx" ], "transformIgnorePatterns": [ "node_modules/(?!((jest-)?react-native(-.*)?|@react-native(-community)?)|@rneui|silent-payments/)" ], "setupFiles": [ "./tests/setup.js" ], "watchPathIgnorePatterns": [ "/node_modules" ], "setupFilesAfterEnv": [ "./tests/setupAfterEnv.js" ] }, "dependencies": { "@babel/preset-env": "7.25.3", "@bugsnag/react-native": "7.25.0", "@bugsnag/source-maps": "2.3.3", "@keystonehq/bc-ur-registry": "0.6.4", "@lodev09/react-native-true-sheet": "github:BlueWallet/react-native-true-sheet#730a84b0261ef2dd2e7e9adadba7f260c7f76726", "@ngraveio/bc-ur": "1.1.12", "@remobile/react-native-qrcode-local-image": "github:BlueWallet/react-native-qrcode-local-image#31b0113110fbafcf5a5f3ca4183a563550f5c352", "@noble/secp256k1": "1.6.3", "@react-native-async-storage/async-storage": "1.24.0", "@react-native-clipboard/clipboard": "1.14.1", "@react-native-community/push-notification-ios": "1.11.0", "@react-native-menu/menu": "1.1.2", "@react-navigation/drawer": "6.7.2", "@react-navigation/native": "6.1.18", "@react-navigation/native-stack": "6.11.0", "@rneui/base": "4.0.0-rc.8", "@rneui/themed": "4.0.0-rc.8", "@spsina/bip47": "github:BlueWallet/bip47#f4b8047", "aezeed": "0.0.5", "assert": "2.1.0", "base-x": "4.0.0", "bc-bech32": "file:blue_modules/bc-bech32", "bech32": "2.0.0", "bignumber.js": "9.1.1", "bip21": "2.0.3", "bip32": "3.0.1", "bip38": "github:BlueWallet/bip38", "bip39": "3.1.0", "bitcoinjs-lib": "6.1.6", "bitcoinjs-message": "2.2.0", "bolt11": "1.4.1", "buffer": "6.0.3", "coinselect": "3.1.13", "crypto-js": "4.2.0", "dayjs": "1.11.12", "detox": "20.25.1", "ecpair": "2.0.1", "ecurve": "1.0.6", "electrum-client": "github:BlueWallet/rn-electrum-client#1bfe3cc", "electrum-mnemonic": "2.0.0", "events": "3.3.0", "frisbee": "3.1.4", "junderw-crc32c": "1.2.0", "lottie-react-native": "6.7.2", "metro-react-native-babel-preset": "0.77.0", "path-browserify": "1.0.1", "payjoin-client": "1.0.1", "process": "0.11.10", "prop-types": "15.8.1", "react": "18.2.0", "react-localization": "github:BlueWallet/react-localization#ae7969a", "react-native": "0.72.14", "react-native-biometrics": "3.0.1", "react-native-blue-crypto": "github:BlueWallet/react-native-blue-crypto#3cb5442", "react-native-camera-kit": "13.0.0", "react-native-crypto": "2.2.0", "react-native-default-preference": "1.4.4", "react-native-device-info": "11.1.0", "react-native-document-picker": "9.3.0", "react-native-draggable-flatlist": "github:BlueWallet/react-native-draggable-flatlist#v4.0.1", "react-native-fs": "2.20.0", "react-native-gesture-handler": "2.18.1", "react-native-handoff": "github:BlueWallet/react-native-handoff#v0.0.4", "react-native-haptic-feedback": "2.3.0", "react-native-idle-timer": "github:BlueWallet/react-native-idle-timer#v2.2.3", "react-native-image-picker": "7.1.2", "react-native-ios-context-menu": "github:BlueWallet/react-native-ios-context-menu#e5c1217cd220bfab6e6d9a7c65838545082e3f8e", "react-native-keychain": "8.2.0", "react-native-linear-gradient": "2.8.3", "react-native-localize": "3.2.1", "react-native-obscure": "github:BlueWallet/react-native-obscure#f4b83b4a261e39b1f5ed4a45ac5bcabc8a59eadb", "react-native-permissions": "4.1.5", "react-native-prompt-android": "github:BlueWallet/react-native-prompt-android#ed168d66fed556bc2ed07cf498770f058b78a376", "react-native-privacy-snapshot": "github:BlueWallet/react-native-privacy-snapshot#529e4627d93f67752a27e82a040ff7b64dca0783", "react-native-push-notification": "8.1.1", "react-native-qrcode-svg": "6.3.1", "react-native-quick-actions": "0.3.13", "react-native-randombytes": "3.6.1", "react-native-rate": "1.2.12", "react-native-reanimated": "3.14.0", "@react-native/metro-config": "0.74.87", "react-native-safe-area-context": "4.10.8", "react-native-screens": "3.34.0", "react-native-secure-key-store": "github:BlueWallet/react-native-secure-key-store#2076b4849e88aa0a78e08bfbb4ce3923e0925cbc", "react-native-share": "10.2.1", "react-native-svg": "13.14.1", "react-native-tcp-socket": "6.2.0", "react-native-vector-icons": "10.1.0", "react-native-watch-connectivity": "1.1.0", "readable-stream": "3.6.2", "realm": "12.12.1", "rn-nodeify": "10.3.0", "scryptsy": "2.1.0", "silent-payments": "github:BlueWallet/SilentPayments#7ac4d17", "slip39": "https://github.com/BlueWallet/slip39-js#d316ee6", "stream-browserify": "3.0.0", "url": "0.11.4", "wif": "2.0.6" }, "react-native": { "crypto": "react-native-crypto", "net": "react-native-tcp-socket", "tls": "react-native-tcp-socket", "path": "path-browserify", "_stream_transform": "readable-stream/transform", "_stream_readable": "readable-stream/readable", "_stream_writable": "readable-stream/writable", "_stream_duplex": "readable-stream/duplex", "_stream_passthrough": "readable-stream/passthrough", "stream": "stream-browserify" }, "browser": { "crypto": "react-native-crypto", "path": "path-browserify", "_stream_transform": "readable-stream/transform", "_stream_readable": "readable-stream/readable", "_stream_writable": "readable-stream/writable", "_stream_duplex": "readable-stream/duplex", "_stream_passthrough": "readable-stream/passthrough", "stream": "stream-browserify" } }