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-01-10 22:46:15 +01:00
|
|
|
"disc": "gulp disc --debug",
|
2017-08-03 23:25:02 +02:00
|
|
|
"clear": "rm -rf node_modules/eth-contract-metadata && rm -rf node_modules/eth-phishing-detect",
|
2017-07-13 00:31:29 +02:00
|
|
|
"dist": "npm run clear && npm install && gulp dist",
|
2017-03-30 23:50:01 +02:00
|
|
|
"test": "npm run lint && npm run test-unit && npm run test-integration",
|
|
|
|
"test-unit": "METAMASK_ENV=test mocha --require test/helper.js --recursive \"test/unit/**/*.js\"",
|
2017-06-22 02:28:19 +02:00
|
|
|
"single-test": "METAMASK_ENV=test mocha --require test/helper.js",
|
2017-09-12 05:14:52 +02:00
|
|
|
"test-integration": "npm run buildMock && npm run buildCiUnits && karma start",
|
2017-09-12 01:22:50 +02:00
|
|
|
"test-coverage": "nyc npm run test-unit && if [ $COVERALLS_REPO_TOKEN ]; then nyc report --reporter=text-lcov | coveralls; fi",
|
2017-07-26 01:33:52 +02:00
|
|
|
"ci": "npm run lint && npm run test-coverage && npm run test-integration",
|
2017-03-30 23:50:01 +02:00
|
|
|
"lint": "gulp lint",
|
|
|
|
"buildCiUnits": "node test/integration/index.js",
|
2017-02-03 07:05:06 +01:00
|
|
|
"watch": "mocha watch --recursive \"test/unit/**/*.js\"",
|
2016-12-16 20:16:36 +01:00
|
|
|
"genStates": "node development/genStates.js",
|
|
|
|
"ui": "npm run genStates && 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 ./",
|
2016-12-16 20:16:36 +01:00
|
|
|
"buildMock": "npm run genStates && browserify ./mock-dev.js -o ./development/bundle.js",
|
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-04-27 14:26:29 +02:00
|
|
|
"deleteNotice": "node notices/notice-delete.js",
|
2017-04-27 15:25:00 +02:00
|
|
|
"mascara": "node ./mascara/example/server",
|
|
|
|
"buildMascaraCi": "browserify mascara/test/window-load.js -o mascara/test/bundle.js",
|
|
|
|
"buildMascaraSWCi": "browserify mascara/src/background.js -o mascara/test/background.js",
|
|
|
|
"mascaraCi": "npm run buildMascaraCi && npm run buildMascaraSWCi && node mascara/test/index.js",
|
|
|
|
"testMascara": "cd mascara/test && npm run mascaraCi && testem ci -P 3"
|
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-09-13 08:02:51 +02:00
|
|
|
"abi-decoder": "^1.0.8",
|
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-09-12 22:38:02 +02:00
|
|
|
"bignumber.js": "^4.0.4",
|
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",
|
2016-10-25 01:12:44 +02:00
|
|
|
"eth-bin-to-ops": "^1.0.1",
|
2017-07-13 00:31:29 +02:00
|
|
|
"eth-contract-metadata": "^1.1.4",
|
2017-02-21 23:25:47 +01:00
|
|
|
"eth-hd-keyring": "^1.1.1",
|
2017-09-14 00:17:26 +02:00
|
|
|
"eth-json-rpc-filters": "^1.1.0",
|
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",
|
2017-07-19 20:56:53 +02:00
|
|
|
"eth-sig-util": "^1.2.2",
|
2017-03-06 22:45:19 +01:00
|
|
|
"eth-simple-keyring": "^1.1.1",
|
2017-08-17 23:53:08 +02:00
|
|
|
"eth-token-tracker": "^1.1.3",
|
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-09-12 11:22:23 +02:00
|
|
|
"ethjs": "^0.2.8",
|
2017-05-23 02:45:29 +02:00
|
|
|
"ethjs-ens": "^2.0.0",
|
2017-08-10 01:18:38 +02:00
|
|
|
"ethjs-query": "^0.2.9",
|
2016-08-27 02:39:19 +02:00
|
|
|
"express": "^4.14.0",
|
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-07-27 00:25:30 +02:00
|
|
|
"fast-levenshtein": "^2.0.6",
|
2017-08-04 01:38:44 +02:00
|
|
|
"gulp": "github:gulpjs/gulp#4.0",
|
2017-08-14 10:03:16 +02: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-13 08:02:51 +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",
|
2017-09-07 19:08:07 +02:00
|
|
|
"json-rpc-engine": "^3.1.0",
|
2017-08-25 00:44:40 +02:00
|
|
|
"json-rpc-middleware-stream": "^1.0.0",
|
2017-02-20 21:59:44 +01:00
|
|
|
"loglevel": "^1.4.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-02-03 07:05:06 +01:00
|
|
|
"obs-store": "^2.3.1",
|
2016-05-06 01:04:43 +02:00
|
|
|
"once": "^1.3.3",
|
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-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",
|
2016-05-11 11:46:41 +02:00
|
|
|
"react": "^15.0.2",
|
2017-08-03 02:49:04 +02:00
|
|
|
"react-addons-css-transition-group": "^15.6.0",
|
2017-06-30 03:50:21 +02:00
|
|
|
"react-dom": "^15.5.4",
|
2017-07-19 00:41:30 +02:00
|
|
|
"react-hyperscript": "^3.0.0",
|
2016-07-01 06:46:19 +02:00
|
|
|
"react-markdown": "^2.3.0",
|
2017-07-19 00:41:30 +02:00
|
|
|
"react-redux": "^5.0.5",
|
2016-11-04 22:39:53 +01:00
|
|
|
"react-select": "^1.0.0-rc.2",
|
2017-01-19 01:09:21 +01:00
|
|
|
"react-simple-file-input": "^1.0.0",
|
2016-06-30 00:57:59 +02:00
|
|
|
"react-tooltip-component": "^0.3.0",
|
2017-08-03 02:49:04 +02:00
|
|
|
"react-transition-group": "^2.2.0",
|
2017-08-08 22:36:54 +02:00
|
|
|
"reactify": "^1.1.1",
|
2017-09-08 06:17:49 +02:00
|
|
|
"readable-stream": "^2.3.3",
|
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-02-03 23:59:07 +01:00
|
|
|
"request-promise": "^4.1.1",
|
2016-05-18 23:36:35 +02:00
|
|
|
"sandwich-expando": "^1.0.5",
|
2017-01-13 11:00:11 +01:00
|
|
|
"semaphore": "^1.0.5",
|
2017-09-14 04:57:33 +02: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-02 23:26:10 +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",
|
2017-07-25 20:57:03 +02:00
|
|
|
"web3-provider-engine": "^13.2.9",
|
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",
|
|
|
|
"babel-preset-stage-0": "^6.24.1",
|
2016-03-25 01:51:46 +01:00
|
|
|
"babel-register": "^6.7.2",
|
2016-04-15 00:26:26 +02:00
|
|
|
"babelify": "^7.2.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",
|
2017-07-24 06:32:49 +02:00
|
|
|
"coveralls": "^2.13.1",
|
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",
|
2017-05-12 02:09:23 +02:00
|
|
|
"enzyme": "^2.8.2",
|
2017-05-04 23:34:25 +02:00
|
|
|
"eslint-plugin-chai": "0.0.1",
|
|
|
|
"eslint-plugin-mocha": "^4.9.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",
|
2016-03-03 08:06:43 +01:00
|
|
|
"gulp": "github:gulpjs/gulp#4.0",
|
2016-09-02 00:01:45 +02:00
|
|
|
"gulp-if": "^2.0.1",
|
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",
|
2016-03-03 08:29:43 +01:00
|
|
|
"gulp-util": "^3.0.7",
|
2016-03-03 08:06:43 +01:00
|
|
|
"gulp-watch": "^4.3.5",
|
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-08-09 00:34:59 +02:00
|
|
|
"json-rpc-engine": "^3.0.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",
|
2017-07-19 00:41:30 +02:00
|
|
|
"mocha": "^3.4.2",
|
|
|
|
"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-07-24 06:32:49 +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-07-19 00:41:30 +02:00
|
|
|
"qunit": "^1.0.0",
|
2017-05-12 02:09:23 +02:00
|
|
|
"react-addons-test-utils": "^15.5.1",
|
2017-05-15 23:35:24 +02:00
|
|
|
"react-test-renderer": "^15.5.4",
|
2017-05-12 02:43:40 +02:00
|
|
|
"react-testutils-additions": "^15.2.0",
|
2017-08-29 17:39:47 +02:00
|
|
|
"stylelint-config-standard": "^17.0.0",
|
2017-08-10 16:35:53 +02:00
|
|
|
"sinon": "^3.2.0",
|
2016-04-15 00:26:26 +02:00
|
|
|
"tape": "^4.5.1",
|
2016-08-10 19:34:18 +02:00
|
|
|
"testem": "^1.10.3",
|
2017-07-19 00:41:30 +02:00
|
|
|
"uglifyify": "^4.0.2",
|
2016-03-03 08:29:43 +01:00
|
|
|
"vinyl-buffer": "^1.0.0",
|
|
|
|
"vinyl-source-stream": "^1.1.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"
|
|
|
|
}
|
|
|
|
}
|