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
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 |
|
} |
|
} |
|
}
|
|
|