mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 18:00:18 +01:00
94318d8b28
* Replace `undefined` selectedAddress with `null` The `runtime.Port.postMessage` API will drop keys with a value of `undefined` on Chrome, but not on Firefox. This was a problem for the `publicConfig` stream, which passed the key `selectedAddress` with the value of `undefined` to communicate to dapps that the user had logged out. Instead a `null` is now passed for `selectedAddress` upon logout, which is correctly sent by the `runtime.Port.postMessage` API on both Chrome and Firefox. closes #7101 closes #7109 * Update `metamask-inpage-provider` to v3.0.0 The v3.0.0 update includes a change to the `accountsChanged` event. The event will now emit an empty array instead of an array with `undefined` or `null`. The previous behavior was to emit `[undefined]`. The previous commit would have changed that to `[null]` anyway, so we figured if we're going to make a public-facing change to the event anyway we should change it to be correct. `[undefined]` was never intended, and it technically violates EIP-1193, which states that the `accountsChanged` event should emit an array of strings.
283 lines
10 KiB
JSON
283 lines
10 KiB
JSON
{
|
|
"name": "metamask-crx",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"start": "gulp dev:extension",
|
|
"dist": "gulp dist",
|
|
"doc": "jsdoc -c development/.jsdoc.json",
|
|
"publish-docs": "gh-pages -d docs/jsdocs",
|
|
"start:test": "gulp dev:test",
|
|
"build:test": "gulp build:test",
|
|
"test": "yarn test:unit && yarn lint",
|
|
"dapp": "static-server test/e2e/contract-test --port 8080",
|
|
"dapp-chain": "GANACHE_ARGS='-b 2' concurrently -k -n ganache,dapp -p '[{time}][{name}]' 'yarn ganache:start' 'sleep 5 && static-server test/e2e/contract-test --port 8080'",
|
|
"watch:test:unit": "nodemon --exec \"yarn test:unit\" ./test ./app ./ui",
|
|
"sendwithprivatedapp": "static-server test/e2e/send-eth-with-private-key-test --port 8080",
|
|
"test:unit": "cross-env METAMASK_ENV=test mocha --exit --require test/setup.js --recursive \"test/unit/**/*.js\" \"ui/app/**/*.test.js\"",
|
|
"test:single": "cross-env METAMASK_ENV=test mocha --require test/helper.js",
|
|
"test:integration": "yarn test:integration:build && yarn test:flat",
|
|
"test:integration:build": "gulp build:scss",
|
|
"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 --reporter=text --reporter=html npm run test:unit",
|
|
"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": "mkdirp 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",
|
|
"mozilla-lint": "addons-linter dist/firefox",
|
|
"watch": "cross-env METAMASK_ENV=test mocha --watch --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",
|
|
"version:bump": "node development/run-version-bump.js",
|
|
"storybook": "start-storybook -p 6006 -c .storybook",
|
|
"update-changelog": "./development/auto-changelog.sh",
|
|
"rollback": "./development/rollback.sh"
|
|
},
|
|
"dependencies": {
|
|
"@babel/runtime": "^7.5.5",
|
|
"@material-ui/core": "1.0.0",
|
|
"@sentry/browser": "^4.1.1",
|
|
"@zxing/library": "^0.8.0",
|
|
"abi-decoder": "^1.2.0",
|
|
"abortcontroller-polyfill": "^1.3.0",
|
|
"asmcrypto.js": "^2.3.2",
|
|
"await-semaphore": "^0.1.1",
|
|
"bignumber.js": "^4.1.0",
|
|
"bip39": "^2.2.0",
|
|
"bluebird": "^3.5.0",
|
|
"bn.js": "^4.11.7",
|
|
"boron": "^0.2.3",
|
|
"browser-passworder": "^2.0.3",
|
|
"browserify-derequire": "^0.9.4",
|
|
"browserify-unibabel": "^3.0.0",
|
|
"c3": "^0.6.7",
|
|
"classnames": "^2.2.5",
|
|
"clone": "^2.1.2",
|
|
"content-hash": "^2.4.3",
|
|
"copy-to-clipboard": "^3.0.8",
|
|
"currency-formatter": "^1.4.2",
|
|
"d3": "^5.7.0",
|
|
"debounce": "1.1.0",
|
|
"debounce-stream": "^2.0.0",
|
|
"deep-extend": "^0.5.1",
|
|
"detect-node": "^2.0.3",
|
|
"detectrtc": "^1.3.6",
|
|
"dnode": "^1.2.2",
|
|
"end-of-stream": "^1.1.0",
|
|
"eth-block-tracker": "^4.4.2",
|
|
"eth-contract-metadata": "^1.9.2",
|
|
"eth-ens-namehash": "^2.0.8",
|
|
"eth-json-rpc-filters": "^4.1.0",
|
|
"eth-json-rpc-infura": "^4.0.1",
|
|
"eth-json-rpc-middleware": "^4.2.0",
|
|
"eth-keyring-controller": "^5.0.1",
|
|
"eth-ledger-bridge-keyring": "^0.2.0",
|
|
"eth-method-registry": "^1.2.0",
|
|
"eth-phishing-detect": "^1.1.4",
|
|
"eth-query": "^2.1.2",
|
|
"eth-sig-util": "^2.3.0",
|
|
"eth-token-tracker": "^1.1.10",
|
|
"eth-trezor-keyring": "^0.4.0",
|
|
"ethereumjs-abi": "^0.6.4",
|
|
"ethereumjs-tx": "1.3.7",
|
|
"ethereumjs-util": "github:ethereumjs/ethereumjs-util#ac5d0908536b447083ea422b435da27f26615de9",
|
|
"ethereumjs-wallet": "^0.6.0",
|
|
"etherscan-link": "^1.0.2",
|
|
"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",
|
|
"gaba": "^1.6.0",
|
|
"gulp-terser-js": "^5.0.0",
|
|
"human-standard-token-abi": "^2.0.0",
|
|
"jazzicon": "^1.2.0",
|
|
"json-rpc-engine": "^5.1.3",
|
|
"json-rpc-middleware-stream": "^2.1.1",
|
|
"jsonschema": "^1.2.4",
|
|
"lodash.debounce": "^4.0.8",
|
|
"lodash.shuffle": "^4.2.0",
|
|
"loglevel": "^1.4.1",
|
|
"luxon": "^1.8.2",
|
|
"metamask-inpage-provider": "^3.0.0",
|
|
"metamask-logo": "^2.1.4",
|
|
"mkdirp": "^0.5.1",
|
|
"multihashes": "^0.4.12",
|
|
"nonce-tracker": "^1.0.0",
|
|
"number-to-bn": "^1.7.0",
|
|
"obj-multiplex": "^1.0.0",
|
|
"obs-store": "^4.0.3",
|
|
"percentile": "^1.2.0",
|
|
"pify": "^3.0.0",
|
|
"polyfill-crypto.getrandomvalues": "^1.0.0",
|
|
"post-message-stream": "^3.0.0",
|
|
"promise-filter": "^1.1.0",
|
|
"promise-to-callback": "^1.0.0",
|
|
"prop-types": "^15.6.1",
|
|
"pubnub": "4.24.4",
|
|
"pump": "^3.0.0",
|
|
"qrcode-generator": "1.4.1",
|
|
"ramda": "^0.24.1",
|
|
"react": "^15.6.2",
|
|
"react-dnd": "^3.0.2",
|
|
"react-dnd-html5-backend": "^7.4.4",
|
|
"react-dom": "^15.6.2",
|
|
"react-hyperscript": "^3.0.0",
|
|
"react-idle-timer": "^4.2.5",
|
|
"react-inspector": "^2.3.0",
|
|
"react-media": "^1.8.0",
|
|
"react-redux": "^5.0.5",
|
|
"react-router-dom": "^4.2.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-tooltip-component": "^0.3.0",
|
|
"react-transition-group": "^1.2.1",
|
|
"react-trigger-change": "^1.0.2",
|
|
"reactify": "^1.1.1",
|
|
"readable-stream": "^2.3.3",
|
|
"recompose": "^0.25.0",
|
|
"redux": "^3.0.5",
|
|
"redux-logger": "^3.0.6",
|
|
"redux-thunk": "^2.2.0",
|
|
"request-promise": "^4.2.1",
|
|
"reselect": "^3.0.1",
|
|
"safe-event-emitter": "^1.0.1",
|
|
"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",
|
|
"webrtc-adapter": "^6.3.0",
|
|
"xtend": "^4.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.5.5",
|
|
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
|
"@babel/plugin-proposal-object-rest-spread": "^7.5.5",
|
|
"@babel/plugin-transform-runtime": "^7.5.5",
|
|
"@babel/preset-env": "^7.5.5",
|
|
"@babel/preset-react": "^7.0.0",
|
|
"@babel/register": "^7.5.5",
|
|
"@sentry/cli": "^1.30.3",
|
|
"@storybook/addon-info": "^5.1.1",
|
|
"@storybook/addon-knobs": "^3.4.2",
|
|
"@storybook/react": "^5.1.1",
|
|
"addons-linter": "^1.10.0",
|
|
"babel-eslint": "^10.0.2",
|
|
"babelify": "^10.0.0",
|
|
"brfs": "^1.6.1",
|
|
"browserify": "^16.2.3",
|
|
"chai": "^4.1.0",
|
|
"chromedriver": "^2.41.0",
|
|
"concurrently": "^4.1.1",
|
|
"coveralls": "^3.0.0",
|
|
"cross-env": "^5.1.4",
|
|
"css-loader": "^2.1.1",
|
|
"deep-freeze-strict": "^1.1.1",
|
|
"del": "^3.0.0",
|
|
"envify": "^4.0.0",
|
|
"enzyme": "^3.4.4",
|
|
"enzyme-adapter-react-15": "^1.0.6",
|
|
"eslint": "^6.0.1",
|
|
"eslint-plugin-chai": "0.0.1",
|
|
"eslint-plugin-json": "^1.2.0",
|
|
"eslint-plugin-mocha": "^5.0.0",
|
|
"eslint-plugin-react": "^7.4.0",
|
|
"fetch-mock": "^6.5.2",
|
|
"file-loader": "^1.1.11",
|
|
"fs-extra": "^6.0.1",
|
|
"fs-promise": "^2.0.3",
|
|
"ganache-cli": "^6.4.4",
|
|
"ganache-core": "^2.5.7",
|
|
"geckodriver": "^1.16.2",
|
|
"gh-pages": "^1.2.0",
|
|
"gulp": "^4.0.0",
|
|
"gulp-autoprefixer": "^5.0.0",
|
|
"gulp-babel": "^7.0.0",
|
|
"gulp-debug": "^3.2.0",
|
|
"gulp-eslint": "^4.0.0",
|
|
"gulp-json-editor": "^2.2.1",
|
|
"gulp-livereload": "4.0.0",
|
|
"gulp-multi-process": "^1.3.1",
|
|
"gulp-rename": "^1.4.0",
|
|
"gulp-replace": "^0.6.1",
|
|
"gulp-rtlcss": "^1.4.0",
|
|
"gulp-sass": "^4.0.0",
|
|
"gulp-sourcemaps": "^2.6.0",
|
|
"gulp-stylefmt": "^1.1.0",
|
|
"gulp-stylelint": "^7.0.0",
|
|
"gulp-util": "^3.0.7",
|
|
"gulp-watch": "^5.0.1",
|
|
"gulp-zip": "^4.0.0",
|
|
"http-server": "^0.11.1",
|
|
"isomorphic-fetch": "^2.2.1",
|
|
"jsdoc": "^3.6.2",
|
|
"jsdom": "^11.2.0",
|
|
"jsdom-global": "^3.0.2",
|
|
"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",
|
|
"lodash.assign": "^4.0.6",
|
|
"mocha": "^5.0.0",
|
|
"mocha-eslint": "^4.0.0",
|
|
"mocha-jsdom": "^1.1.0",
|
|
"mocha-sinon": "^2.0.0",
|
|
"nock": "^9.0.14",
|
|
"node-sass": "^4.12.0",
|
|
"nyc": "^13.0.0",
|
|
"path": "^0.12.7",
|
|
"prepend-file": "^1.3.1",
|
|
"proxyquire": "2.0.1",
|
|
"qs": "^6.2.0",
|
|
"qunitjs": "^2.4.1",
|
|
"radgrad-jsdoc-template": "^1.1.3",
|
|
"react-devtools": "^3.6.1",
|
|
"react-test-renderer": "^15.6.2",
|
|
"redux-mock-store": "^1.5.3",
|
|
"redux-test-utils": "^0.2.2",
|
|
"remote-redux-devtools": "^0.5.16",
|
|
"remotedev-server": "^0.3.1",
|
|
"resolve-url-loader": "^2.3.0",
|
|
"rimraf": "^2.6.2",
|
|
"sass-loader": "^7.0.1",
|
|
"selenium-webdriver": "^3.5.0",
|
|
"sinon": "^5.0.0",
|
|
"source-map": "^0.7.2",
|
|
"static-server": "^2.2.1",
|
|
"style-loader": "^0.21.0",
|
|
"stylelint-config-standard": "^18.2.0",
|
|
"tape": "^4.5.1",
|
|
"testem": "^2.16.0",
|
|
"through2": "^2.0.3",
|
|
"vinyl-buffer": "^1.0.1",
|
|
"vinyl-source-stream": "^2.0.0",
|
|
"watchify": "^3.11.1"
|
|
},
|
|
"engines": {
|
|
"node": "^10.16.0",
|
|
"yarn": "^1.16.0"
|
|
}
|
|
}
|