2015-08-01 03:38:02 +02:00
{
2015-10-10 08:14:18 +02:00
"name" : "metamask-crx" ,
2015-08-01 03:38:02 +02:00
"version" : "0.0.0" ,
2015-10-10 08:14:18 +02:00
"public" : false ,
2016-02-08 20:47:42 +01:00
"private" : true ,
2016-01-15 03:26:54 +01:00
"scripts" : {
2016-10-20 00:15:27 +02:00
"start" : "npm run dev" ,
2016-10-19 23:57:30 +02:00
"dev" : "gulp dev --debug" ,
2017-09-14 02:17:09 +02:00
"ui" : "npm run test:flat:build:states && beefy ui-dev.js:bundle.js --live --open --index=./development/index.html --cwd ./" ,
2016-07-23 01:20:43 +02:00
"mock" : "beefy mock-dev.js:bundle.js --live --open --index=./development/index.html --cwd ./" ,
2017-09-14 02:17:09 +02:00
"watch" : "mocha watch --recursive \"test/unit/**/*.js\"" ,
2017-10-31 20:02:27 +01:00
"mascara" : "gulp build && METAMASK_DEBUG=true node ./mascara/example/server" ,
2017-09-14 02:17:09 +02:00
"dist" : "npm run dist:clear && npm install && gulp dist" ,
"dist:clear" : "rm -rf node_modules/eth-contract-metadata && rm -rf node_modules/eth-phishing-detect" ,
"test" : "npm run lint && npm run test:coverage && npm run test:integration" ,
2017-12-15 21:41:58 +01:00
"test:unit" : "METAMASK_ENV=test mocha --exit --compilers js:babel-core/register --require test/helper.js --recursive \"test/unit/**/*.js\"" ,
2017-09-14 02:17:09 +02:00
"test:single" : "METAMASK_ENV=test mocha --require test/helper.js" ,
2017-11-02 20:45:45 +01:00
"test:integration" : "gulp build:scss && npm run test:flat && npm run test:mascara" ,
2017-09-14 02:17:09 +02:00
"test:coverage" : "nyc npm run test:unit && npm run test:coveralls-upload" ,
"test:coveralls-upload" : "if [ $COVERALLS_REPO_TOKEN ]; then nyc report --reporter=text-lcov | coveralls; fi" ,
"test:flat" : "npm run test:flat:build && karma start test/flat.conf.js" ,
"test:flat:build" : "npm run test:flat:build:ui && npm run test:flat:build:tests" ,
"test:flat:build:tests" : "node test/integration/index.js" ,
"test:flat:build:states" : "node development/genStates.js" ,
"test:flat:build:ui" : "npm run test:flat:build:states && browserify ./mock-dev.js -o ./development/bundle.js" ,
"test:mascara" : "npm run test:mascara:build && karma start test/mascara.conf.js" ,
"test:mascara:build" : "mkdir -p dist/mascara && npm run test:mascara:build:ui && npm run test:mascara:build:background && npm run test:mascara:build:tests" ,
"test:mascara:build:ui" : "browserify mascara/test/test-ui.js -o dist/mascara/ui.js" ,
"test:mascara:build:background" : "browserify mascara/src/background.js -o dist/mascara/background.js" ,
"test:mascara:build:tests" : "browserify test/integration/lib/first-time.js -o dist/mascara/tests.js" ,
"lint" : "gulp lint" ,
2017-10-21 21:04:24 +02:00
"lint:fix" : "gulp lint:fix" ,
2017-09-14 02:17:09 +02:00
"disc" : "gulp disc --debug" ,
2016-12-07 23:34:15 +01:00
"announce" : "node development/announcer.js" ,
2017-02-03 00:02:32 +01:00
"generateNotice" : "node notices/notice-generator.js" ,
2017-09-14 02:17:09 +02:00
"deleteNotice" : "node notices/notice-delete.js"
2016-04-14 00:46:39 +02:00
} ,
"browserify" : {
"transform" : [
[
"babelify" ,
{
"presets" : [
2017-05-12 20:31:40 +02:00
"es2015" ,
2017-05-16 00:31:19 +02:00
"stage-0"
2016-04-14 00:46:39 +02:00
]
}
2017-01-11 00:33:00 +01:00
] ,
2017-08-08 22:36:54 +02:00
"reactify" ,
2017-04-05 19:24:30 +02:00
"envify" ,
2017-01-11 00:33:00 +01:00
"brfs"
2016-04-14 00:46:39 +02:00
]
2016-01-15 03:26:54 +01:00
} ,
2015-08-01 03:38:02 +02:00
"dependencies" : {
2017-11-24 18:35:17 +01:00
"abi-decoder" : "^1.0.9" ,
2017-07-19 00:41:30 +02:00
"async" : "^2.5.0" ,
2017-07-19 00:11:29 +02:00
"await-semaphore" : "^0.1.1" ,
2017-05-12 20:31:40 +02:00
"babel-runtime" : "^6.23.0" ,
2017-11-24 18:35:17 +01:00
"bignumber.js" : "^4.1.0" ,
2016-10-28 01:50:01 +02:00
"bip39" : "^2.2.0" ,
2017-03-30 23:43:56 +02:00
"bluebird" : "^3.5.0" ,
2017-08-04 20:42:13 +02:00
"bn.js" : "^4.11.7" ,
2017-08-14 10:03:16 +02:00
"boron" : "^0.2.3" ,
2016-12-20 19:11:51 +01:00
"browser-passworder" : "^2.0.3" ,
2016-04-20 22:22:41 +02:00
"browserify-derequire" : "^0.9.4" ,
2017-09-12 07:14:09 +02:00
"classnames" : "^2.2.5" ,
2017-06-09 02:33:27 +02:00
"client-sw-ready-event" : "^3.3.0" ,
2017-07-19 00:41:30 +02:00
"clone" : "^2.1.1" ,
2017-08-04 01:38:44 +02:00
"copy-to-clipboard" : "^3.0.8" ,
2016-04-14 00:46:39 +02:00
"debounce" : "^1.0.0" ,
2017-07-19 00:41:30 +02:00
"deep-extend" : "^0.5.0" ,
2017-05-15 23:35:24 +02:00
"detect-node" : "^2.0.3" ,
2017-01-10 22:46:15 +01:00
"disc" : "^1.3.2" ,
2016-01-15 11:03:42 +01:00
"dnode" : "^1.2.2" ,
2016-01-17 10:27:25 +01:00
"end-of-stream" : "^1.1.0" ,
2016-08-12 22:25:38 +02:00
"ensnare" : "^1.0.0" ,
2017-09-25 08:27:08 +02:00
"eslint-plugin-react" : "^7.4.0" ,
2016-10-25 01:12:44 +02:00
"eth-bin-to-ops" : "^1.0.1" ,
2018-01-18 07:07:08 +01:00
"eth-block-tracker" : "^2.3.0" ,
2017-12-22 19:15:38 +01:00
"eth-json-rpc-filters" : "^1.2.5" ,
2018-01-25 20:03:50 +01:00
"eth-json-rpc-infura" : "^3.0.0" ,
2018-01-15 23:11:59 +01:00
"eth-keyring-controller" : "^2.1.4" ,
2017-09-29 02:39:53 +02:00
"eth-contract-metadata" : "^1.1.5" ,
2017-11-24 02:33:44 +01:00
"eth-hd-keyring" : "^1.2.1" ,
2017-08-04 23:11:40 +02:00
"eth-phishing-detect" : "^1.1.4" ,
2017-06-15 06:42:29 +02:00
"eth-query" : "^2.1.2" ,
2018-01-13 22:38:55 +01:00
"eth-sig-util" : "^1.4.2" ,
2017-09-26 18:23:46 +02:00
"eth-token-tracker" : "^1.1.4" ,
2017-09-29 02:39:53 +02:00
"ethereumjs-abi" : "^0.6.4" ,
2017-04-25 19:19:26 +02:00
"ethereumjs-tx" : "^1.3.0" ,
2017-08-04 01:38:44 +02:00
"ethereumjs-util" : "github:ethereumjs/ethereumjs-util#ac5d0908536b447083ea422b435da27f26615de9" ,
2016-10-21 01:44:31 +02:00
"ethereumjs-wallet" : "^0.6.0" ,
2017-10-14 17:23:44 +02:00
"etherscan-link" : "^1.0.2" ,
2017-09-12 11:22:23 +02:00
"ethjs" : "^0.2.8" ,
2017-09-23 00:16:42 +02:00
"ethjs-contract" : "^0.1.9" ,
2017-05-23 02:45:29 +02:00
"ethjs-ens" : "^2.0.0" ,
2017-11-26 17:46:28 +01:00
"ethjs-query" : "^0.3.1" ,
2017-09-27 23:59:10 +02:00
"express" : "^4.15.5" ,
2016-12-07 23:34:15 +01:00
"extension-link-enabler" : "^1.0.0" ,
"extensionizer" : "^1.0.0" ,
2017-08-15 03:46:04 +02:00
"fast-json-patch" : "^2.0.4" ,
2017-08-04 00:05:32 +02:00
"fast-levenshtein" : "^2.0.6" ,
2017-11-24 18:35:17 +01:00
"fuse.js" : "^3.2.0" ,
2017-11-27 16:11:48 +01:00
"gulp" : "github:gulpjs/gulp#4.0" ,
2017-12-07 00:13:34 +01:00
"gulp-autoprefixer" : "^4.0.0" ,
2017-08-04 00:12:24 +02:00
"gulp-eslint" : "^4.0.0" ,
2017-08-14 10:03:16 +02:00
"gulp-sass" : "^3.1.0" ,
2016-03-12 02:13:48 +01:00
"hat" : "0.0.3" ,
2017-09-23 00:16:42 +02:00
"human-standard-token-abi" : "^1.0.2" ,
2017-07-19 00:41:30 +02:00
"idb-global" : "^2.1.0" ,
"identicon.js" : "^2.3.1" ,
2016-08-26 20:08:23 +02:00
"iframe" : "^1.0.0" ,
2017-07-19 00:41:30 +02:00
"iframe-stream" : "^3.0.0" ,
2016-01-15 03:26:54 +01:00
"inject-css" : "^0.1.1" ,
2016-10-28 01:01:21 +02:00
"jazzicon" : "^1.2.0" ,
2018-01-23 10:12:50 +01:00
"json-rpc-engine" : "^3.6.1" ,
2017-09-19 20:22:55 +02:00
"json-rpc-middleware-stream" : "^1.0.1" ,
2017-08-30 11:05:45 +02:00
"lodash.debounce" : "^4.0.8" ,
"lodash.memoize" : "^4.1.2" ,
"lodash.shuffle" : "^4.2.0" ,
2017-12-05 17:41:59 +01:00
"lodash.uniqby" : "^4.7.0" ,
2017-02-20 21:59:44 +01:00
"loglevel" : "^1.4.1" ,
2017-09-23 05:04:58 +02:00
"metamascara" : "^1.3.1" ,
2016-09-09 05:31:42 +02:00
"metamask-logo" : "^2.1.2" ,
2016-05-23 00:23:16 +02:00
"mississippi" : "^1.2.0" ,
2017-01-10 22:46:15 +01:00
"mkdirp" : "^0.5.1" ,
2016-03-10 03:33:30 +01:00
"multiplex" : "^6.7.0" ,
2017-05-23 00:43:20 +02:00
"number-to-bn" : "^1.7.0" ,
2017-09-08 06:17:49 +02:00
"obj-multiplex" : "^1.0.0" ,
2017-12-05 17:41:59 +01:00
"obs-store" : "^3.0.0" ,
2016-05-06 01:04:43 +02:00
"once" : "^1.3.3" ,
2018-01-06 06:24:20 +01:00
"percentile" : "^1.2.0" ,
2016-10-12 21:35:55 +02:00
"ping-pong-stream" : "^1.0.0" ,
Made configuration migrateable
Abstract all configuration data into a singleton called `configManager`, who is responsible for reading and writing to the persisted storage (localStorage, in our case).
Uses my new module [pojo-migrator](https://www.npmjs.com/package/pojo-migrator), and wraps it with the `ConfigManager` class, which we can hang any state setting or getting methods we need.
By keeping all the persisted state in one place, we can stabilize its outward-facing API, making the interactions increasingly atomic, which will allow us to add features that require restructuring the persisted data in the long term without having to rewrite UI or even `background.js` code.
All the restructuring and data-type management is kept in one neat little place.
This should make it very easy to add new configuration options like user-configured providers, per-domain vaults, and more!
I know this doesn't seem like a big user-facing feature, but we have a big laundry list of features that I think this will really help streamline.
2016-03-31 04:15:49 +02:00
"pojo-migrator" : "^2.1.0" ,
2016-04-18 20:31:06 +02:00
"polyfill-crypto.getrandomvalues" : "^1.0.0" ,
2017-07-19 00:41:30 +02:00
"post-message-stream" : "^3.0.0" ,
2016-11-29 23:56:02 +01:00
"promise-filter" : "^1.1.0" ,
2017-01-24 21:06:59 +01:00
"promise-to-callback" : "^1.0.0" ,
2017-12-07 00:13:34 +01:00
"prop-types" : "^15.6.0" ,
2017-01-25 04:47:00 +01:00
"pump" : "^1.0.2" ,
2016-03-10 22:04:45 +01:00
"pumpify" : "^1.3.4" ,
2016-09-13 02:27:14 +02:00
"qrcode-npm" : "0.0.3" ,
2017-09-12 22:38:02 +02:00
"ramda" : "^0.24.1" ,
2017-11-27 15:46:47 +01:00
"react" : "^15.6.2" ,
2017-08-04 20:47:36 +02:00
"react-addons-css-transition-group" : "^15.6.0" ,
2017-11-27 15:46:47 +01:00
"react-dom" : "^15.6.2" ,
2017-07-19 00:41:30 +02:00
"react-hyperscript" : "^3.0.0" ,
2017-12-05 17:41:59 +01:00
"react-markdown" : "^3.0.0" ,
2017-07-19 00:41:30 +02:00
"react-redux" : "^5.0.5" ,
2017-11-29 05:24:35 +01:00
"react-router-dom" : "^4.2.2" ,
2017-11-24 02:33:44 +01:00
"react-select" : "^1.0.0" ,
2017-10-14 14:05:00 +02:00
"react-simple-file-input" : "^2.0.0" ,
2018-02-01 01:27:35 +01:00
"react-tippy" : "^1.2.2" ,
2017-11-24 18:35:17 +01:00
"react-toggle-button" : "^2.2.0" ,
2016-06-30 00:57:59 +02:00
"react-tooltip-component" : "^0.3.0" ,
2017-11-24 18:35:17 +01:00
"react-transition-group" : "^2.2.1" ,
2017-10-03 23:43:11 +02:00
"react-trigger-change" : "^1.0.2" ,
2017-11-24 02:33:44 +01:00
"reactify" : "^1.1.1" ,
2017-09-08 06:17:49 +02:00
"readable-stream" : "^2.3.3" ,
2017-08-21 13:56:09 +02:00
"recompose" : "^0.25.0" ,
2016-04-14 00:46:39 +02:00
"redux" : "^3.0.5" ,
2017-07-19 00:41:30 +02:00
"redux-logger" : "^3.0.6" ,
"redux-thunk" : "^2.2.0" ,
2017-09-22 19:41:14 +02:00
"request-promise" : "^4.2.1" ,
2017-10-19 18:47:48 +02:00
"sandwich-expando" : "^1.1.3" ,
2017-01-13 11:00:11 +01:00
"semaphore" : "^1.0.5" ,
2017-12-05 17:41:59 +01:00
"semver" : "^5.4.1" ,
2017-12-29 21:46:32 +01:00
"shallow-copy" : "0.0.1" ,
2017-03-30 00:19:46 +02:00
"sw-stream" : "^2.0.0" ,
2016-04-14 00:46:39 +02:00
"textarea-caret" : "^3.0.1" ,
2017-08-04 01:38:44 +02:00
"through2" : "^2.0.3" ,
2016-12-21 01:41:04 +01:00
"valid-url" : "^1.0.9" ,
2016-05-14 02:02:33 +02:00
"vreme" : "^3.0.2" ,
2017-08-04 01:38:44 +02:00
"web3" : "^0.20.1" ,
2018-01-23 10:12:50 +01:00
"web3-provider-engine" : "^13.5.6" ,
2017-07-04 21:48:00 +02:00
"web3-stream-provider" : "^3.0.1" ,
2016-02-15 11:19:08 +01:00
"xtend" : "^4.0.1"
2015-08-01 03:38:02 +02:00
} ,
"devDependencies" : {
2017-04-21 04:07:09 +02:00
"babel-core" : "^6.24.1" ,
2017-09-12 16:10:26 +02:00
"babel-eslint" : "^8.0.0" ,
2017-04-21 04:07:09 +02:00
"babel-plugin-transform-async-to-generator" : "^6.24.1" ,
"babel-plugin-transform-runtime" : "^6.23.0" ,
"babel-polyfill" : "^6.23.0" ,
2017-09-04 23:39:27 +02:00
"babel-preset-react" : "^6.24.1" ,
2017-04-21 04:07:09 +02:00
"babel-preset-stage-0" : "^6.24.1" ,
2016-03-25 01:51:46 +01:00
"babel-register" : "^6.7.2" ,
2017-11-27 19:35:19 +01:00
"babelify" : "^8.0.0" ,
2016-04-14 00:46:39 +02:00
"beefy" : "^2.1.5" ,
2016-04-15 00:26:26 +02:00
"brfs" : "^1.4.3" ,
2017-07-19 00:41:30 +02:00
"browserify" : "^14.4.0" ,
"chai" : "^4.1.0" ,
2018-01-23 01:08:00 +01:00
"compression" : "^1.7.1" ,
2017-09-28 19:02:58 +02:00
"coveralls" : "^3.0.0" ,
2016-04-14 00:46:39 +02:00
"deep-freeze-strict" : "^1.1.1" ,
2017-07-19 00:41:30 +02:00
"del" : "^3.0.0" ,
2017-04-05 19:24:30 +02:00
"envify" : "^4.0.0" ,
2018-01-30 22:34:21 +01:00
"enzyme" : "^3.3.0" ,
2017-11-26 01:37:12 +01:00
"enzyme-adapter-react-15" : "^1.0.5" ,
2017-05-04 23:34:25 +02:00
"eslint-plugin-chai" : "0.0.1" ,
"eslint-plugin-mocha" : "^4.9.0" ,
2017-11-02 13:15:59 +01:00
"eslint-plugin-react" : "^7.4.0" ,
2017-08-09 00:34:59 +02:00
"eth-json-rpc-middleware" : "^1.2.7" ,
2017-08-09 02:46:09 +02:00
"fs-promise" : "^2.0.3" ,
2018-01-18 02:50:55 +01:00
"gulp" : "github:gulpjs/gulp#6d71a658c61edb3090221579d8f97dbe086ba2ed" ,
2018-01-12 03:15:22 +01:00
"gulp-babel" : "^7.0.0" ,
2018-01-30 22:34:21 +01:00
"gulp-eslint" : "^4.0.0" ,
2018-01-16 04:00:07 +01:00
"gulp-if" : "^2.0.2" ,
2016-07-27 00:15:40 +02:00
"gulp-json-editor" : "^2.2.1" ,
2016-03-03 08:06:43 +01:00
"gulp-livereload" : "^3.8.1" ,
2017-07-19 00:41:30 +02:00
"gulp-replace" : "^0.6.1" ,
"gulp-sourcemaps" : "^2.6.0" ,
2017-08-14 10:03:16 +02:00
"gulp-stylefmt" : "^1.1.0" ,
"gulp-stylelint" : "^4.0.0" ,
2018-01-12 03:15:22 +01:00
"gulp-uglify" : "^3.0.0" ,
2018-01-16 04:00:07 +01:00
"gulp-uglify-es" : "^1.0.0" ,
2016-03-03 08:29:43 +01:00
"gulp-util" : "^3.0.7" ,
2018-01-07 06:53:33 +01:00
"gulp-watch" : "^5.0.0" ,
2017-07-19 00:41:30 +02:00
"gulp-zip" : "^4.0.0" ,
2017-01-10 21:39:01 +01:00
"isomorphic-fetch" : "^2.2.1" ,
2017-07-19 00:41:30 +02:00
"jsdom" : "^11.1.0" ,
"jsdom-global" : "^3.0.2" ,
"jshint-stylish" : "~2.2.1" ,
2017-09-12 05:14:52 +02:00
"karma" : "^1.7.1" ,
"karma-chrome-launcher" : "^2.2.0" ,
"karma-cli" : "^1.0.1" ,
"karma-firefox-launcher" : "^1.0.1" ,
"karma-qunit" : "^1.2.1" ,
2016-03-03 08:29:43 +01:00
"lodash.assign" : "^4.0.6" ,
2018-01-18 03:21:45 +01:00
"mocha" : "^5.0.0" ,
2017-07-19 00:41:30 +02:00
"mocha-eslint" : "^4.0.0" ,
2016-04-14 00:46:39 +02:00
"mocha-jsdom" : "^1.1.0" ,
2017-07-19 00:41:30 +02:00
"mocha-sinon" : "^2.0.0" ,
"nock" : "^9.0.14" ,
2017-08-04 00:05:32 +02:00
"nyc" : "^11.0.3" ,
2016-12-07 23:34:15 +01:00
"open" : "0.0.5" ,
"prompt" : "^1.0.0" ,
2016-07-01 03:22:16 +02:00
"qs" : "^6.2.0" ,
2017-11-26 17:03:17 +01:00
"qunitjs" : "^2.4.1" ,
2017-05-12 02:09:23 +02:00
"react-addons-test-utils" : "^15.5.1" ,
2017-11-27 15:46:47 +01:00
"react-test-renderer" : "^15.6.2" ,
2017-05-12 02:43:40 +02:00
"react-testutils-additions" : "^15.2.0" ,
2018-01-30 22:34:21 +01:00
"redux-test-utils" : "^0.2.2" ,
2017-09-26 10:22:48 +02:00
"sinon" : "^4.0.0" ,
2017-09-29 02:39:53 +02:00
"stylelint-config-standard" : "^17.0.0" ,
2016-04-15 00:26:26 +02:00
"tape" : "^4.5.1" ,
2018-01-24 21:15:48 +01:00
"testem" : "^2.0.0" ,
2017-07-19 00:41:30 +02:00
"uglifyify" : "^4.0.2" ,
2018-01-04 13:40:38 +01:00
"vinyl-buffer" : "^1.0.1" ,
2017-12-23 06:35:28 +01:00
"vinyl-source-stream" : "^2.0.0" ,
2017-08-09 02:46:09 +02:00
"watchify" : "^3.9.0"
2015-08-01 03:38:02 +02:00
} ,
"engines" : {
"node" : ">=0.8.0"
}
}