Mobile web browser providing access to websites that use the Ethereum blockchain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

384 lines
15 KiB

{
"name": "metamask",
"version": "4.0.0",
"private": true,
"scripts": {
"audit:ci": "./scripts/yarn-audit.sh",
"watch": "./scripts/build.sh watcher watch",
"watch:clean": "./scripts/build.sh watcher clean",
"clean:ios": "rm -rf ios/build",
"pod:install": "command -v pod && (cd ios/ && pod install && cd ..) || echo \"pod command not found\"",
"clean:android": "rm -rf android/app/build",
"clean:node": "rm -rf node_modules && yarn --frozen-lockfile",
"clean": "yarn clean:ios && yarn clean:android && yarn clean:node && yarn pod:install",
"clean-android": "yarn clean:android && yarn clean:node",
"lint": "eslint '**/*.js' --ignore-path=.prettierignore",
"lint:fix": "eslint '**/*.js' --fix --ignore-path=.prettierignore",
"format": "prettier '**/*.{js,json}' --write",
"setup": "yarn clean && yarn allow-scripts && ./scripts/postinstall.sh",
"start:ios": "./scripts/build.sh ios debug",
"start:ios:e2e": "./scripts/build.sh ios debugE2E",
"start:ios:device": "./scripts/build.sh ios debug --device",
"start:android": "./scripts/build.sh android debug",
"start:android:e2e": "./scripts/build.sh android debugE2E",
"build:static-logos": "node ./scripts/metamask-bot-build-generate-static-assets",
"build:announce": "node ./scripts/metamask-bot-build-announce-bitrise.js",
"build:android:release": "./scripts/build.sh android release",
"build:android:release:e2e": "./scripts/build.sh android releaseE2E",
"build:android:checksum": "./scripts/checksum.sh",
"build:android:checksum:verify": "shasum -a 512 -c sha512sums.txt",
"build:android:pre-release": "./scripts/build.sh android release --pre",
"build:android:pre-release:bundle": "GENERATE_BUNDLE=true ./scripts/build.sh android release --pre",
"build:ios:release": "./scripts/build.sh ios release",
"build:ios:release:e2e": "./scripts/build.sh ios releaseE2E",
"build:ios:pre-release": "./scripts/build.sh ios release --pre",
"release:android": "./scripts/build.sh android release && open android/app/build/outputs/apk/release/",
"release:ios": "./scripts/build.sh ios release",
"test": "yarn test:unit && yarn test:e2e",
"test:unit": "jest ./app/",
"test:unit:update": "time jest -u ./app/",
"test:e2e": "yarn test:e2e:ios && yarn test:e2e:android",
"test:e2e:ios": "detox build -c ios.sim.release && detox test -c ios.sim.release --record-videos failing",
"test:e2e:android": "detox build -c android.emu.release && detox test -c android.emu.release --record-videos failing",
"test:tgz-check": "./scripts/tgz-check.sh",
"sourcemaps:android": "node_modules/.bin/react-native bundle --platform android --entry-file index.js --dev false --reset-cache --bundle-output /tmp/bundle.android.js --assets-dest /tmp/ --sourcemap-output sourcemaps/android/index.js.map",
"sourcemaps:ios": "node_modules/.bin/react-native bundle --platform ios --entry-file index.js --dev false --reset-cache --bundle-output /tmp/bundle.ios.js --assets-dest /tmp/ --sourcemap-output sourcemaps/ios/index.js.map",
"stacktrace:android": "stack-beautifier sourcemaps/android/index.js.map -t sourcemaps/trace.txt",
"stacktrace:ios": "stack-beautifier sourcemaps/ios/index.js.map -t sourcemaps/trace.txt",
"update-changelog": "./scripts/auto-changelog.sh"
},
"prettier": {
"printWidth": 120,
"singleQuote": true,
"tabWidth": 4,
"useTabs": true
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"prettier --write",
"eslint --ignore-path=.prettierignore"
],
"*.json": [
"prettier --write"
]
},
"resolutions": {
"**/nanoid": "^3.1.31",
"**/json-schema": "^0.4.0",
"@sentry/react-native/**/xmldom": "^0.6.0",
"@walletconnect/**/ws": "^7.4.6",
"react-native-svg/**/nth-check": "^2.0.1",
"**/set-value": "^4.0.1",
"**/pac-resolver": "^5.0.0",
"**/ansi-regex": "^5.0.1",
"**/immer": "^9.0.6",
"**/node-fetch": "^2.6.7",
"**/node-notifier": "^8.0.1",
"**/lodash": "^4.17.21",
"**/ua-parser-js": "^0.7.24",
"**/elliptic": "^6.5.4",
"**/y18n": "^3.2.2",
"pubnub/**/netmask": "^2.0.1",
"**/optimist/minimist": "^1.2.5",
"react-native-level-fs/**/bl": "^1.2.3",
"react-native-level-fs/**/semver": "^4.3.2",
"@metamask/contract-metadata": "^1.30.0",
"@exodus/react-native-payments/validator": "^13.7.0",
"react-devtools-core": "4.22.1",
"web3": "1.6.1"
},
"dependencies": {
"@exodus/react-native-payments": "git+https://github.com/MetaMask/react-native-payments.git#dbc8cbbed570892d2fea5e3d183bf243e062c1e5",
"@metamask/contract-metadata": "^1.30.0",
"@metamask/controllers": "^22.0.0",
"@metamask/etherscan-link": "^2.0.0",
"@metamask/swaps-controller": "^6.3.0",
"@react-native-clipboard/clipboard": "^1.8.4",
"@react-native-community/async-storage": "1.12.1",
"@react-native-community/blur": "^3.6.0",
"@react-native-community/checkbox": "^0.4.2",
"@react-native-community/cookies": "^5.0.1",
"@react-native-community/netinfo": "6.0.0",
"@react-native-community/picker": "^1.8.1",
"@react-native-community/viewpager": "3.3.1",
"@react-native-masked-view/masked-view": "^0.2.6",
"@react-navigation/bottom-tabs": "^5.11.11",
"@react-navigation/compat": "^5.3.20",
"@react-navigation/native": "^5.9.4",
"@react-navigation/stack": "^5.14.5",
"@rnhooks/keyboard": "^0.0.3",
"@sentry/integrations": "6.3.1",
"@sentry/react-native": "2.4.2",
"@tradle/react-native-http": "2.0.1",
"@walletconnect/client": "^1.5.1",
"@walletconnect/utils": "^1.5.1",
"asyncstorage-down": "4.2.0",
"axios": "^0.25",
"babel-plugin-transform-inline-environment-variables": "0.4.3",
"babel-plugin-transform-remove-console": "6.9.4",
"base-64": "1.0.0",
"bignumber.js": "^9.0.1",
"buffer": "5.2.1",
"codecov": "^3.8.1",
"compare-versions": "^3.6.0",
"content-hash": "2.5.2",
"currency-formatter": "^1.5.8",
"dnode": "1.2.2",
"eth-ens-namehash": "2.0.8",
"eth-json-rpc-errors": "^2.0.2",
"eth-json-rpc-filters": "4.2.2",
"eth-json-rpc-infura": "5.1.0",
"eth-json-rpc-middleware": "4.3.0",
"eth-url-parser": "1.0.4",
"ethereumjs-abi": "0.6.6",
"ethereumjs-util": "6.1.0",
"ethers": "^5.0.14",
"ethjs-contract": "0.2.3",
"ethjs-ens": "2.0.1",
"ethjs-query": "0.3.8",
"ethjs-unit": "0.1.6",
"events": "3.0.0",
"fuse.js": "3.4.4",
"https-browserify": "0.0.1",
"human-standard-token-abi": "^2.0.0",
"humanize-duration": "^3.27.0",
"improved-yarn-audit": "^3.0.0",
"is-url": "^1.2.4",
"json-rpc-engine": "^6.1.0",
"json-rpc-middleware-stream": "3.0.0",
"lottie-react-native": "git+https://github.com/MetaMask/lottie-react-native.git#7ce6a78ac4ac7b9891bc513cb3f12f8b9c9d9106",
"multihashes": "0.4.14",
"number-to-bn": "1.7.0",
"obj-multiplex": "1.0.0",
"obs-store": "4.0.3",
"path": "0.12.7",
"pbkdf2": "3.1.2",
"pify": "4.0.1",
"prop-types": "15.7.2",
"pubnub": "4.27.3",
"pump": "3.0.0",
"qs": "6.7.0",
"query-string": "^6.12.1",
"react": "17.0.2",
"react-native": "0.66.3",
"react-native-actionsheet": "beefe/react-native-actionsheet#107/head",
"react-native-aes-crypto": "1.3.9",
"react-native-aes-crypto-forked": "git+https://github.com/MetaMask/react-native-aes-crypto-forked.git#397d5db5250e8e7408294807965b5b9fd4ca6a25",
"react-native-animatable": "^1.3.3",
"react-native-animated-fox": "git+https://github.com/MetaMask/react-native-animated-fox.git#16e38d54d829709e497f196e31fa8ff00cdf2aa9",
"react-native-background-timer": "2.1.1",
"react-native-branch": "5.0.3",
"react-native-browser-polyfill": "0.1.2",
"react-native-button": "git+https://github.com/MetaMask/react-native-button.git#fd79f4d6c8ced4086ba6e3021b6ed6d4a3e19cf7",
"react-native-camera": "^3.36.0",
"react-native-confetti": "^0.1.0",
"react-native-confetti-cannon": "^1.5.0",
"react-native-crypto": "2.1.2",
"react-native-default-preference": "^1.4.3",
"react-native-device-info": "^8.1.3",
"react-native-elevated-view": "0.0.6",
"react-native-emoji": "1.3.1",
"react-native-fade-in-image": "1.4.1",
"react-native-flash-message": "0.1.11",
"react-native-fs": "^2.16.6",
"react-native-gesture-handler": "^1.10.3",
"react-native-i18n": "2.0.15",
"react-native-in-app-review": "^3.2.3",
"react-native-jazzicon": "^0.1.2",
"react-native-keyboard-aware-scroll-view": "0.9.5",
"react-native-keychain": "^6.2.0",
"react-native-level-fs": "3.0.1",
"react-native-linear-gradient": "2.5.6",
"react-native-material-textfield": "0.16.1",
"react-native-modal": "^12.1.0",
"react-native-os": "^1.2.6",
"react-native-progress": "3.5.0",
"react-native-push-notification": "git+https://github.com/MetaMask/react-native-push-notification.git#975e0e6757c40e3dce2d1b6dd3d66fc91127ac4c",
"react-native-qrcode-svg": "5.1.2",
"react-native-randombytes": "^3.5.3",
"react-native-reanimated": "2.2.3",
"react-native-redash": "14.1.1",
"react-native-safe-area-context": "^3.1.9",
"react-native-screens": "^3.3.0",
"react-native-scrollable-tab-view": "^1.0.0",
"react-native-search-api": "ombori/react-native-search-api#8/head",
"react-native-sensors": "5.3.0",
"react-native-share": "^5.2.2",
"react-native-skeleton-placeholder": "^5.0.0",
"react-native-splash-screen": "git+https://github.com/MetaMask/react-native-splash-screen.git#1f45c08c0824cd94fdc6fb699529688a73614fee",
"react-native-step-indicator": "^1.0.3",
"react-native-svg": "12.1.1",
"react-native-swipe-gestures": "1.0.3",
"react-native-tcp": "aprock/react-native-tcp#11/head",
"react-native-url-polyfill": "^1.3.0",
"react-native-v8": "^0.62.2-patch.1",
"react-native-vector-icons": "6.4.2",
"react-native-video": "^5.1.1",
"react-native-view-shot": "^3.1.2",
"react-native-webview": "11.13.0",
"react-redux": "7.2.4",
"readable-stream": "1.0.33",
"redux": "4.1.1",
"redux-mock-store": "1.5.4",
"redux-persist": "6.0.0",
"redux-persist-filesystem-storage": "^3.0.0",
"reselect": "^4.0.0",
"rn-fetch-blob": "^0.12.0",
"stream-browserify": "1.0.0",
"through2": "3.0.1",
"unicode-confusables": "^0.1.1",
"url": "0.11.0",
"url-parse": "1.5.2",
"valid-url": "1.0.9",
"vm-browserify": "1.1.2",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@babel/core": "^7.12.9",
"@babel/runtime": "^7.12.5",
"@lavamoat/allow-scripts": "^1.0.6",
"@metamask/eslint-config": "^7.0.0",
"@metamask/eslint-config-typescript": "^7.0.0",
"@metamask/mobile-provider": "^2.1.0",
"@react-native-community/eslint-config": "^2.0.0",
"@types/enzyme": "^3.10.9",
"@types/jest": "^27.0.1",
"@types/react": "^17.0.11",
"@types/react-native": "^0.64.10",
"@types/react-native-vector-icons": "^6.4.8",
"@types/redux-mock-store": "^1.0.3",
"@typescript-eslint/eslint-plugin": "^4.20.0",
"@typescript-eslint/parser": "^4.20.0",
"assert": "1.4.1",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "10.1.0",
"babel-jest": "^26.6.3",
"concat-cli": "4.0.0",
"detox": "19.4.0",
"enzyme": "3.9.0",
"enzyme-adapter-react-16": "1.10.0",
"enzyme-to-json": "3.3.5",
"eslint": "7.14.0",
"eslint-config-react-native": "4.0.0",
"eslint-import-resolver-typescript": "^2.4.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-react": "7.16.0",
"eslint-plugin-react-native": "3.7.0",
"fbjs-scripts": "^3.0.1",
"husky": "1.3.1",
"jest": "^26.6.3",
"jest-serializer": "26.6.2",
"jetifier": "2.0.0",
"lint-staged": "10.5.4",
"metro": "^0.66.2",
"metro-react-native-babel-preset": "^0.66.2",
"octonode": "0.9.5",
"patch-package": "^6.2.2",
"prettier": "^2.2.1",
"react-dom": "16.8.4",
"react-native-cli": "2.0.1",
"react-native-svg-asset-plugin": "^0.5.0",
"react-redux-test": "npm:react-redux@5.1.1",
"react-test-renderer": "17.0.2",
"regenerator-runtime": "0.13.9",
"rn-nodeify": "10.0.1",
"stack-beautifier": "1.0.2",
"typescript": "^4.4.2"
},
"detox": {
"configurations": {
"ios.sim.debug": {
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/MetaMask.app",
"build": "yarn start:ios:e2e",
"type": "ios.simulator",
"device": {
"type": "iPhone 11 Pro"
}
},
"ios.sim.release": {
"binaryPath": "ios/build/Build/Products/Release-iphonesimulator/MetaMask.app",
"build": "METAMASK_ENVIRONMENT='production' yarn build:ios:release:e2e",
"type": "ios.simulator",
"device": {
"type": "iPhone 11 Pro"
}
},
"android.emu.debug": {
"binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
"build": "yarn start:android:e2e",
"type": "android.emulator",
"device": {
"avdName": "Pixel_3_API_29"
}
},
"android.emu.release": {
"binaryPath": "android/app/build/outputs/apk/release/app-release.apk",
"build": "METAMASK_ENVIRONMENT='production' yarn build:android:release:e2e",
"type": "android.emulator",
"device": {
"avdName": "emulator"
}
}
},
"runner-config": "e2e/config.json",
"test-runner": "jest"
},
"react-native": {
"crypto": "react-native-crypto",
"_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",
"http": "@tradle/react-native-http",
"https": "https-browserify",
"vm": "vm-browserify",
"os": "react-native-os",
"net": "react-native-tcp",
"fs": "react-native-level-fs"
},
"browser": {
"crypto": "react-native-crypto",
"_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",
"http": "@tradle/react-native-http",
"https": "https-browserify",
"vm": "vm-browserify",
"os": "react-native-os",
"net": "react-native-tcp",
"fs": "react-native-level-fs"
},
"engines": {
"node": "^14.0.0",
"yarn": "^1.22.0"
},
"lavamoat": {
"allowScripts": {
"@sentry/cli": true,
"detox": true,
"husky": false,
"secp256k1": true,
"keccak": true,
"@lavamoat/preinstall-always-fail": false,
"dtrace-provider": false,
"core-js": false,
"sharp": true,
"web3": false,
"web3-bzz": false,
"bufferutil": false,
"utf-8-validate": false,
"web3-shh": false
}
}
}