{ "name": "metamask-crx", "version": "0.0.0", "private": true, "scripts": { "start": "yarn build dev", "dist": "yarn build prod", "build": "node development/build/index.js", "start:test": "yarn build testDev", "benchmark:chrome": "SELENIUM_BROWSER=chrome node test/e2e/benchmark.js", "benchmark:firefox": "SELENIUM_BROWSER=firefox node test/e2e/benchmark.js", "build:test": "yarn build test", "test": "yarn test:unit && yarn lint", "dapp": "node development/static-server.js node_modules/@metamask/test-dapp/dist --port 8080", "dapp-chain": "GANACHE_ARGS='-b 2' concurrently -k -n ganache,dapp -p '[{time}][{name}]' 'yarn ganache:start' 'sleep 5 && yarn dapp'", "forwarder": "node ./development/static-server.js ./node_modules/@metamask/forwarder/dist/ --port 9010", "dapp-forwarder": "concurrently -k -n forwarder,dapp -p '[{time}][{name}]' 'yarn forwarder' 'yarn dapp'", "watch:test:unit": "nodemon --exec \"yarn test:unit\" ./test ./app ./ui", "sendwithprivatedapp": "node development/static-server.js test/e2e/send-eth-with-private-key-test --port 8080", "test:unit": "mocha --exit --require test/env.js --require test/setup.js --recursive \"test/unit/**/*.js\" \"ui/app/**/*.test.js\"", "test:unit:global": "mocha --exit --require test/env.js --require test/setup.js --recursive mocha test/unit-global/*", "test:unit:lax": "mocha --exit --require test/env.js --require test/setup.js --recursive \"test/unit/{,**/!(permissions)}/*.js\" \"ui/app/**/*.test.js\"", "test:unit:strict": "mocha --exit --require test/env.js --require test/setup.js --recursive \"test/unit/**/permissions/*.js\"", "test:unit:path": "mocha --exit --require test/env.js --require test/setup.js --recursive", "test:integration": "yarn test:integration:build && yarn test:flat", "test:integration:build": "yarn build styles", "test:e2e:chrome": "SELENIUM_BROWSER=chrome test/e2e/run-all.sh", "test:web3:chrome": "SELENIUM_BROWSER=chrome test/e2e/run-web3.sh", "test:web3:firefox": "SELENIUM_BROWSER=firefox test/e2e/run-web3.sh", "test:e2e:firefox": "SELENIUM_BROWSER=firefox test/e2e/run-all.sh", "test:coverage": "nyc --silent --check-coverage yarn test:unit:strict && nyc --silent --no-clean yarn test:unit:lax && nyc report --reporter=text --reporter=html", "test:coverage:strict": "nyc --check-coverage yarn test:unit:strict", "test:coveralls-upload": "if [ \"$COVERALLS_REPO_TOKEN\" ]; then nyc report --reporter=text-lcov | coveralls; fi", "test:flat": "yarn test:flat:build && karma start test/flat.conf.js", "test:flat:build": "yarn test:flat:build:ui && yarn test:flat:build:tests && yarn test:flat:build:locales", "test:flat:build:tests": "node test/integration/index.js", "test:flat:build:states": "node development/genStates.js", "test:flat:build:locales": "mkdir -p dist/chrome && cp -R app/_locales dist/chrome/_locales", "test:flat:build:ui": "yarn test:flat:build:states && browserify --transform babelify --transform brfs ./development/mock-dev.js -o ./development/bundle.js", "ganache:start": "./development/run-ganache", "sentry:publish": "node ./development/sentry-publish.js", "lint": "eslint . --ext js,json", "lint:fix": "eslint . --ext js,json --fix", "lint:changed": "{ git ls-files --others --exclude-standard ; git diff-index --name-only --diff-filter=d HEAD ; } | grep --regexp='[.]js$' --regexp='[.]json$' | tr '\\n' '\\0' | xargs -0 eslint", "lint:changed:fix": "{ git ls-files --others --exclude-standard ; git diff-index --name-only --diff-filter=d HEAD ; } | grep --regexp='[.]js$' --regexp='[.]json$' | tr '\\n' '\\0' | xargs -0 eslint --fix", "lint:shellcheck": "./development/shellcheck.sh", "lint:lockfile": "lockfile-lint --path yarn.lock --allowed-hosts npm yarn github.com codeload.github.com --empty-hostname false --allowed-schemes \"https:\" \"git+https:\"", "verify-locales": "node ./development/verify-locale-strings.js", "verify-locales:fix": "node ./development/verify-locale-strings.js --fix", "mozilla-lint": "addons-linter dist/firefox", "watch": "mocha --watch --require test/env.js --require test/setup.js --reporter min --recursive \"test/unit/**/*.js\" \"ui/app/**/*.test.js\"", "devtools:react": "react-devtools", "devtools:redux": "remotedev --hostname=localhost --port=8000", "start:dev": "concurrently -k -n build,react,redux yarn:start yarn:devtools:react yarn:devtools:redux", "announce": "node development/announcer.js", "storybook": "start-storybook -p 6006 -c .storybook --static-dir ./app", "storybook:build": "build-storybook -c .storybook -o .out --static-dir ./app", "storybook:deploy": "storybook-to-ghpages --existing-output-dir .out --remote storybook --branch master", "update-changelog": "./development/auto-changelog.sh", "generate:migration": "./development/generate-migration.sh" }, "resolutions": { "**/gonzales-pe/minimist": "^1.2.5", "**/knex/minimist": "^1.2.5", "**/mkdirp/minimist": "^1.2.5", "**/optimist/minimist": "^1.2.5", "**/socketcluster/minimist": "^1.2.5", "3box/ipfs/ipld-zcash/zcash-bitcore-lib/lodash": "^4.17.15" }, "dependencies": { "3box": "^1.10.2", "@babel/runtime": "^7.5.5", "@download/blockies": "^1.0.3", "@formatjs/intl-relativetimeformat": "^5.2.6", "@fortawesome/fontawesome-free": "^5.13.0", "@material-ui/core": "1.0.0", "@metamask/controllers": "^2.0.1", "@metamask/eth-ledger-bridge-keyring": "^0.2.6", "@metamask/eth-token-tracker": "^2.0.0", "@metamask/etherscan-link": "^1.1.0", "@metamask/inpage-provider": "^6.0.0", "@popperjs/core": "^2.4.0", "@reduxjs/toolkit": "^1.3.2", "@sentry/browser": "^5.11.1", "@sentry/integrations": "^5.11.1", "@zxing/library": "^0.8.0", "abi-decoder": "^1.2.0", "abortcontroller-polyfill": "^1.3.0", "await-semaphore": "^0.1.1", "bignumber.js": "^4.1.0", "bip39": "^2.2.0", "bn.js": "^4.11.7", "c3": "^0.7.10", "classnames": "^2.2.6", "content-hash": "^2.5.0", "copy-to-clipboard": "^3.0.8", "currency-formatter": "^1.4.2", "d3": "^5.15.0", "debounce-stream": "^2.0.0", "deep-freeze-strict": "1.1.1", "dnode": "^1.2.2", "end-of-stream": "^1.4.4", "eth-block-tracker": "^4.4.2", "eth-contract-metadata": "^1.15.0", "eth-ens-namehash": "^2.0.8", "eth-json-rpc-errors": "^2.0.2", "eth-json-rpc-filters": "^4.1.1", "eth-json-rpc-infura": "^4.0.2", "eth-json-rpc-middleware": "^5.0.2", "eth-keyring-controller": "^6.0.1", "eth-method-registry": "^1.2.0", "eth-phishing-detect": "^1.1.4", "eth-query": "^2.1.2", "eth-sig-util": "^2.3.0", "eth-trezor-keyring": "^0.4.0", "ethereum-ens-network-map": "^1.0.2", "ethereumjs-abi": "^0.6.4", "ethereumjs-tx": "1.3.7", "ethereumjs-util": "5.1.0", "ethereumjs-wallet": "^0.6.0", "ethjs": "^0.4.0", "ethjs-contract": "^0.2.3", "ethjs-ens": "^2.0.0", "ethjs-query": "^0.3.4", "extension-port-stream": "^1.0.0", "extensionizer": "^1.0.1", "fast-json-patch": "^2.0.4", "fuse.js": "^3.2.0", "human-standard-token-abi": "^2.0.0", "jazzicon": "^2.0.0", "json-rpc-engine": "^5.1.8", "json-rpc-middleware-stream": "^2.1.1", "jsonschema": "^1.2.4", "lodash": "^4.17.15", "loglevel": "^1.4.1", "luxon": "^1.23.0", "metamask-logo": "^2.1.4", "multihashes": "^0.4.12", "nanoid": "^2.1.6", "nonce-tracker": "^1.0.0", "obj-multiplex": "^1.0.0", "obs-store": "^4.0.3", "pify": "^5.0.0", "post-message-stream": "^3.0.0", "promise-to-callback": "^1.0.0", "prop-types": "^15.6.1", "pubnub": "4.27.3", "pump": "^3.0.0", "punycode": "^2.1.1", "qrcode-generator": "1.4.1", "ramda": "^0.24.1", "react": "^16.12.0", "react-dnd": "^3.0.2", "react-dnd-html5-backend": "^7.4.4", "react-dom": "^16.12.0", "react-idle-timer": "^4.2.5", "react-inspector": "^2.3.0", "react-popper": "^2.2.3", "react-redux": "^7.2.0", "react-router-dom": "^5.1.2", "react-select": "^1.0.0", "react-simple-file-input": "^2.0.0", "react-tippy": "^1.2.2", "react-toggle-button": "^2.2.0", "react-transition-group": "^1.2.1", "react-trigger-change": "^1.0.2", "readable-stream": "^2.3.3", "redux": "^4.0.5", "redux-thunk": "^2.3.0", "reselect": "^3.0.1", "rpc-cap": "^3.0.1", "safe-event-emitter": "^1.0.1", "safe-json-stringify": "^1.2.0", "single-call-balance-checker-abi": "^1.0.0", "swappable-obj-proxy": "^1.1.0", "textarea-caret": "^3.0.1", "valid-url": "^1.0.9", "web3": "^0.20.7", "web3-stream-provider": "^4.0.0" }, "devDependencies": { "@babel/core": "^7.5.5", "@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/plugin-proposal-optional-chaining": "^7.8.3", "@babel/plugin-transform-runtime": "^7.5.5", "@babel/preset-env": "^7.5.5", "@babel/preset-react": "^7.0.0", "@babel/register": "^7.5.5", "@metamask/eslint-config": "^1.1.0", "@metamask/forwarder": "^1.1.0", "@metamask/test-dapp": "3.0.0", "@sentry/cli": "^1.49.0", "@storybook/addon-actions": "^5.3.14", "@storybook/addon-backgrounds": "^5.3.14", "@storybook/addon-knobs": "^5.3.14", "@storybook/core": "^5.3.14", "@storybook/react": "^5.3.14", "@storybook/storybook-deployer": "^2.8.6", "@testing-library/react-hooks": "^3.2.1", "addons-linter": "1.14.0", "babel-eslint": "^10.0.2", "babel-loader": "^8.0.6", "babelify": "^10.0.0", "brfs": "^1.6.1", "browserify": "^16.2.3", "browserify-derequire": "^1.0.1", "browserify-transform-tools": "^1.7.0", "chai": "^4.1.0", "chalk": "^3.0.0", "chromedriver": "^79.0.0", "concurrently": "^5.2.0", "copy-webpack-plugin": "^5.1.1", "coveralls": "^3.0.0", "css-loader": "^2.1.1", "del": "^3.0.0", "deps-dump": "^1.1.0", "envify": "^4.1.0", "enzyme": "^3.10.0", "enzyme-adapter-react-16": "^1.15.1", "eslint": "^6.0.1", "eslint-plugin-babel": "^5.3.0", "eslint-plugin-import": "^2.19.1", "eslint-plugin-json": "^1.2.0", "eslint-plugin-mocha": "^6.2.2", "eslint-plugin-react": "^7.18.3", "eslint-plugin-react-hooks": "^4.0.4", "fancy-log": "^1.3.3", "fast-glob": "^3.2.2", "file-loader": "^1.1.11", "fs-extra": "^8.1.0", "ganache-cli": "^6.9.1", "ganache-core": "^2.10.2", "geckodriver": "^1.19.1", "get-port": "^5.1.0", "gulp": "^4.0.2", "gulp-autoprefixer": "^5.0.0", "gulp-babel": "^8.0.0", "gulp-debug": "^3.2.0", "gulp-imagemin": "^6.1.0", "gulp-livereload": "4.0.0", "gulp-multi-process": "^1.3.1", "gulp-rename": "^1.4.0", "gulp-replace": "^1.0.0", "gulp-rtlcss": "^1.4.0", "gulp-sass": "^4.0.0", "gulp-sourcemaps": "^2.6.0", "gulp-stylelint": "^7.0.0", "gulp-terser-js": "^5.0.0", "gulp-watch": "^5.0.1", "gulp-zip": "^4.0.0", "jsdom": "^11.2.0", "karma": "^4.1.0", "karma-chrome-launcher": "^2.2.0", "karma-cli": "^1.0.1", "karma-firefox-launcher": "^1.0.1", "karma-qunit": "^1.2.1", "koa": "^2.7.0", "lockfile-lint": "^4.0.0", "mocha": "^7.2.0", "nock": "^9.0.14", "node-fetch": "^2.6.0", "node-sass": "^4.14.1", "nyc": "^15.0.0", "polyfill-crypto.getrandomvalues": "^1.0.0", "proxyquire": "^2.1.3", "qs": "^6.2.0", "qunitjs": "^2.4.1", "randomcolor": "^0.5.4", "rc": "^1.2.8", "react-devtools": "^4.4.0", "react-test-renderer": "^16.12.0", "read-installed": "^4.0.3", "redux-mock-store": "^1.5.4", "regenerator-runtime": "^0.13.3", "remote-redux-devtools": "^0.5.16", "remotedev-server": "^0.3.1", "resolve-url-loader": "^2.3.0", "sass-loader": "^7.0.1", "selenium-webdriver": "^4.0.0-alpha.5", "serve-handler": "^6.1.2", "sesify": "^4.2.1", "sesify-viz": "^3.0.5", "sinon": "^9.0.0", "source-map": "^0.7.2", "source-map-explorer": "^2.0.1", "string.prototype.matchall": "^4.0.2", "style-loader": "^0.21.0", "stylelint": "^9.10.1", "stylelint-config-standard": "^18.2.0", "testem": "^2.16.0", "through2": "^2.0.3", "ttest": "^2.1.1", "vinyl-buffer": "^1.0.1", "vinyl-source-stream": "^2.0.0", "watchify": "^3.11.1", "webpack": "^4.41.6" }, "engines": { "node": "^10.16.0", "yarn": "^1.16.0" } }