2015-07-31 18:38:02 -07:00
{
2015-10-09 23:14:18 -07:00
"name" : "metamask-crx" ,
2015-07-31 18:38:02 -07:00
"version" : "0.0.0" ,
2015-10-09 23:14:18 -07:00
"public" : false ,
2016-02-08 11:47:42 -08:00
"private" : true ,
2016-01-14 18:26:54 -08:00
"scripts" : {
2018-03-29 22:58:26 -07:00
"start" : "gulp dev:extension" ,
2018-04-03 09:51:33 -07:00
"mascara" : "gulp dev:mascara & node ./mascara/example/server" ,
2018-03-28 23:45:33 -07:00
"dist" : "gulp dist" ,
2018-04-12 14:39:28 -07:00
"doc" : "jsdoc -c development/tools/.jsdoc.json" ,
2018-03-21 19:44:30 -07:00
"test" : "npm run test:unit && npm run test:integration && npm run lint" ,
2018-05-25 12:58:16 -07:00
"test:unit" : "cross-env METAMASK_ENV=test mocha --exit --require test/setup.js --recursive \"test/unit/**/*.js\" && dot-only-hunter" ,
2018-03-13 04:38:05 -07:00
"test:single" : "cross-env METAMASK_ENV=test mocha --require test/helper.js" ,
2018-03-09 13:48:48 -08:00
"test:integration" : "npm run test:integration:build && npm run test:flat && npm run test:mascara" ,
"test:integration:build" : "gulp build:scss" ,
2018-05-01 12:18:22 -07:00
"test:e2e:chrome" : "shell-parallel -s 'npm run ganache:start' -x 'sleep 3 && npm run test:e2e:run:chrome'" ,
2018-05-24 18:17:26 -07:00
"test:e2e:chrome:beta" : "SELENIUM_BROWSER=chrome test/e2e/beta/run-all.sh" ,
2018-05-01 12:18:22 -07:00
"test:e2e:firefox" : "shell-parallel -s 'npm run ganache:start' -x 'sleep 3 && npm run test:e2e:run:firefox'" ,
2018-05-24 18:17:26 -07:00
"test:e2e:firefox:beta" : "SELENIUM_BROWSER=firefox test/e2e/beta/run-all.sh" ,
2018-05-14 17:17:36 -07:00
"test:e2e:run:chrome" : "SELENIUM_BROWSER=chrome mocha test/e2e/metamask.spec --bail --recursive" ,
"test:e2e:run:firefox" : "SELENIUM_BROWSER=firefox mocha test/e2e/metamask.spec --bail --recursive" ,
2018-03-30 13:50:19 -07:00
"test:screens" : "shell-parallel -s 'npm run ganache:start' -x 'sleep 3 && npm run test:screens:run'" ,
2018-03-30 15:03:49 -07:00
"test:screens:run" : "node test/screens/new-ui.js" ,
2017-09-13 17:17:09 -07: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" ,
2018-03-27 17:16:23 -07:00
"test:flat:build" : "npm run test:flat:build:ui && npm run test:flat:build:tests && npm run test:flat:build:locales" ,
2017-09-13 17:17:09 -07:00
"test:flat:build:tests" : "node test/integration/index.js" ,
"test:flat:build:states" : "node development/genStates.js" ,
2018-03-27 17:16:23 -07:00
"test:flat:build:locales" : "mkdirp dist/chrome && cp -R app/_locales dist/chrome/_locales" ,
2018-03-13 06:15:19 -07:00
"test:flat:build:ui" : "npm run test:flat:build:states && browserify ./development/mock-dev.js -o ./development/bundle.js" ,
2017-09-13 17:17:09 -07:00
"test:mascara" : "npm run test:mascara:build && karma start test/mascara.conf.js" ,
2018-03-27 17:16:23 -07:00
"test:mascara:build" : "mkdirp dist/mascara && npm run test:mascara:build:ui && npm run test:mascara:build:background && npm run test:mascara:build:tests && npm run test:mascara:build:locales" ,
2017-09-13 17:17:09 -07:00
"test:mascara:build:ui" : "browserify mascara/test/test-ui.js -o dist/mascara/ui.js" ,
2018-03-27 17:16:23 -07:00
"test:mascara:build:locales" : "mkdirp dist/chrome && cp -R app/_locales dist/chrome/_locales" ,
2017-09-13 17:17:09 -07:00
"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" ,
2018-03-30 11:51:51 -07:00
"ganache:start" : "ganache-cli -m 'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent'" ,
2018-04-03 12:36:46 -07:00
"sentry:publish" : "node ./development/sentry-publish.js" ,
2017-09-13 17:17:09 -07:00
"lint" : "gulp lint" ,
2017-10-21 12:04:24 -07:00
"lint:fix" : "gulp lint:fix" ,
2018-03-29 22:58:26 -07:00
"ui" : "npm run test:flat:build:states && beefy development/ui-dev.js:bundle.js --live --open --index=./development/index.html --cwd ./" ,
"mock" : "beefy development/mock-dev.js:bundle.js --live --open --index=./development/index.html --cwd ./" ,
"watch" : "mocha watch --recursive \"test/unit/**/*.js\"" ,
2017-09-13 17:17:09 -07:00
"disc" : "gulp disc --debug" ,
2016-12-07 14:34:15 -08:00
"announce" : "node development/announcer.js" ,
2018-03-02 13:55:56 -08:00
"version:bump" : "node development/run-version-bump.js" ,
2017-02-02 15:02:32 -08:00
"generateNotice" : "node notices/notice-generator.js" ,
2018-05-03 10:51:15 -07:00
"deleteNotice" : "node notices/notice-delete.js" ,
"storybook" : "start-storybook -p 6006 -c .storybook"
2016-04-13 15:46:39 -07:00
} ,
"browserify" : {
"transform" : [
[
"babelify" ,
{
"presets" : [
2017-05-12 11:31:40 -07:00
"es2015" ,
2017-05-15 15:31:19 -07:00
"stage-0"
2016-04-13 15:46:39 -07:00
]
}
2017-01-10 15:33:00 -08:00
] ,
2017-08-08 13:36:54 -07:00
"reactify" ,
2017-01-10 15:33:00 -08:00
"brfs"
2016-04-13 15:46:39 -07:00
]
2016-01-14 18:26:54 -08:00
} ,
2015-07-31 18:38:02 -07:00
"dependencies" : {
2018-05-19 23:04:19 -07:00
"@material-ui/core" : "^1.0.0" ,
2017-11-24 09:35:17 -08:00
"abi-decoder" : "^1.0.9" ,
2018-02-22 05:39:32 -08:00
"asmcrypto.js" : "0.22.0" ,
2017-07-18 15:41:30 -07:00
"async" : "^2.5.0" ,
2017-07-18 15:11:29 -07:00
"await-semaphore" : "^0.1.1" ,
2017-05-12 11:31:40 -07:00
"babel-runtime" : "^6.23.0" ,
2017-11-24 09:35:17 -08:00
"bignumber.js" : "^4.1.0" ,
2016-10-27 16:50:01 -07:00
"bip39" : "^2.2.0" ,
2017-03-30 14:43:56 -07:00
"bluebird" : "^3.5.0" ,
2017-08-04 11:42:13 -07:00
"bn.js" : "^4.11.7" ,
2017-08-14 01:03:16 -07:00
"boron" : "^0.2.3" ,
2016-12-20 10:11:51 -08:00
"browser-passworder" : "^2.0.3" ,
2016-04-20 13:22:41 -07:00
"browserify-derequire" : "^0.9.4" ,
2018-03-06 00:23:43 -08:00
"browserify-unibabel" : "^3.0.0" ,
2017-08-23 04:04:11 -07:00
"classnames" : "^2.2.5" ,
2017-07-18 15:41:30 -07:00
"clone" : "^2.1.1" ,
2017-08-03 16:38:44 -07:00
"copy-to-clipboard" : "^3.0.8" ,
2018-05-01 14:28:33 -07:00
"css-loader" : "^0.28.11" ,
2018-04-03 13:52:01 -07:00
"currency-formatter" : "^1.4.2" ,
2016-04-13 15:46:39 -07:00
"debounce" : "^1.0.0" ,
2018-01-25 13:01:03 -08:00
"debounce-stream" : "^2.0.0" ,
2018-05-09 18:30:15 -07:00
"deep-extend" : "^0.5.1" ,
2017-05-15 14:35:24 -07:00
"detect-node" : "^2.0.3" ,
2017-01-10 13:46:15 -08:00
"disc" : "^1.3.2" ,
2016-01-15 02:03:42 -08:00
"dnode" : "^1.2.2" ,
2016-01-17 01:27:25 -08:00
"end-of-stream" : "^1.1.0" ,
2016-08-12 13:25:38 -07:00
"ensnare" : "^1.0.0" ,
2017-09-24 23:27:08 -07:00
"eslint-plugin-react" : "^7.4.0" ,
2016-10-24 16:12:44 -07:00
"eth-bin-to-ops" : "^1.0.1" ,
2018-03-06 00:23:43 -08:00
"eth-contract-metadata" : "^1.1.5" ,
"eth-hd-keyring" : "^1.2.1" ,
2018-04-25 14:02:41 -07:00
"eth-json-rpc-filters" : "^1.2.6" ,
2018-01-25 11:03:50 -08:00
"eth-json-rpc-infura" : "^3.0.0" ,
2017-08-04 14:11:40 -07:00
"eth-phishing-detect" : "^1.1.4" ,
2017-06-14 21:42:29 -07:00
"eth-query" : "^2.1.2" ,
2018-01-13 13:38:55 -08:00
"eth-sig-util" : "^1.4.2" ,
2017-09-26 09:23:46 -07:00
"eth-token-tracker" : "^1.1.4" ,
2017-09-28 17:39:53 -07:00
"ethereumjs-abi" : "^0.6.4" ,
2017-04-25 10:19:26 -07:00
"ethereumjs-tx" : "^1.3.0" ,
2017-08-03 16:38:44 -07:00
"ethereumjs-util" : "github:ethereumjs/ethereumjs-util#ac5d0908536b447083ea422b435da27f26615de9" ,
2016-10-20 16:44:31 -07:00
"ethereumjs-wallet" : "^0.6.0" ,
2017-10-14 08:23:44 -07:00
"etherscan-link" : "^1.0.2" ,
2018-05-11 11:15:10 -07:00
"ethjs" : "^0.4.0" ,
2018-04-18 15:09:40 -07:00
"ethjs-contract" : "^0.2.0" ,
2017-05-22 17:45:29 -07:00
"ethjs-ens" : "^2.0.0" ,
2018-03-28 09:40:11 -07:00
"ethjs-query" : "^0.3.4" ,
2017-09-27 14:59:10 -07:00
"express" : "^4.15.5" ,
2016-12-07 14:34:15 -08:00
"extension-link-enabler" : "^1.0.0" ,
2018-05-08 05:56:58 -07:00
"extensionizer" : "^1.0.1" ,
2017-08-14 18:46:04 -07:00
"fast-json-patch" : "^2.0.4" ,
2017-08-03 15:05:32 -07:00
"fast-levenshtein" : "^2.0.6" ,
2018-05-01 14:28:33 -07:00
"file-loader" : "^1.1.11" ,
2017-11-24 09:35:17 -08:00
"fuse.js" : "^3.2.0" ,
2017-11-27 07:11:48 -08:00
"gulp" : "github:gulpjs/gulp#4.0" ,
2018-02-28 01:34:06 -08:00
"gulp-autoprefixer" : "^5.0.0" ,
2018-03-28 21:33:04 -07:00
"gulp-debug" : "^3.2.0" ,
2017-08-03 15:12:24 -07:00
"gulp-eslint" : "^4.0.0" ,
2018-04-05 08:51:26 -07:00
"gulp-sass" : "^4.0.0" ,
2016-03-11 17:13:48 -08:00
"hat" : "0.0.3" ,
2017-09-22 15:16:42 -07:00
"human-standard-token-abi" : "^1.0.2" ,
2017-07-18 15:41:30 -07:00
"idb-global" : "^2.1.0" ,
"identicon.js" : "^2.3.1" ,
2016-08-26 11:08:23 -07:00
"iframe" : "^1.0.0" ,
2017-07-18 15:41:30 -07:00
"iframe-stream" : "^3.0.0" ,
2016-01-14 18:26:54 -08:00
"inject-css" : "^0.1.1" ,
2016-10-27 16:01:21 -07:00
"jazzicon" : "^1.2.0" ,
2018-01-22 12:52:15 -08:00
"json-rpc-engine" : "^3.6.1" ,
2017-09-19 11:22:55 -07:00
"json-rpc-middleware-stream" : "^1.0.1" ,
2017-08-30 02:05:45 -07:00
"lodash.debounce" : "^4.0.8" ,
"lodash.memoize" : "^4.1.2" ,
"lodash.shuffle" : "^4.2.0" ,
2017-11-28 15:16:04 -08:00
"lodash.uniqby" : "^4.7.0" ,
2017-02-20 12:59:44 -08:00
"loglevel" : "^1.4.1" ,
2017-10-13 12:22:02 -07:00
"metamascara" : "^2.0.0" ,
2018-04-03 13:53:02 -07:00
"metamask-logo" : "^2.1.4" ,
2017-01-10 13:46:15 -08:00
"mkdirp" : "^0.5.1" ,
2016-03-09 18:33:30 -08:00
"multiplex" : "^6.7.0" ,
2017-05-22 15:43:20 -07:00
"number-to-bn" : "^1.7.0" ,
2017-09-07 21:17:49 -07:00
"obj-multiplex" : "^1.0.0" ,
2017-11-28 13:09:18 -08:00
"obs-store" : "^3.0.0" ,
2018-01-05 21:24:20 -08:00
"percentile" : "^1.2.0" ,
2018-03-28 09:40:11 -07:00
"pify" : "^3.0.0" ,
2016-10-12 12:35:55 -07: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-30 19:15:49 -07:00
"pojo-migrator" : "^2.1.0" ,
2016-04-18 11:31:06 -07:00
"polyfill-crypto.getrandomvalues" : "^1.0.0" ,
2017-07-18 15:41:30 -07:00
"post-message-stream" : "^3.0.0" ,
2016-11-29 14:56:02 -08:00
"promise-filter" : "^1.1.0" ,
2017-01-24 12:06:59 -08:00
"promise-to-callback" : "^1.0.0" ,
2018-03-27 00:20:35 -07:00
"prop-types" : "^15.6.1" ,
2018-03-09 11:51:03 -08:00
"pump" : "^3.0.0" ,
2016-03-10 13:04:45 -08:00
"pumpify" : "^1.3.4" ,
2016-09-12 17:27:14 -07:00
"qrcode-npm" : "0.0.3" ,
2017-09-12 13:38:02 -07:00
"ramda" : "^0.24.1" ,
2018-04-23 10:20:40 -07:00
"raven-js" : "^3.24.2" ,
2017-11-27 11:49:49 -08:00
"react" : "^15.6.2" ,
2017-08-04 11:47:36 -07:00
"react-addons-css-transition-group" : "^15.6.0" ,
2017-11-27 11:49:49 -08:00
"react-dom" : "^15.6.2" ,
2017-07-18 15:41:30 -07:00
"react-hyperscript" : "^3.0.0" ,
2017-11-20 01:08:48 -08:00
"react-markdown" : "^3.0.0" ,
2017-07-18 15:41:30 -07:00
"react-redux" : "^5.0.5" ,
2017-11-28 20:24:35 -08:00
"react-router-dom" : "^4.2.2" ,
2017-11-23 17:33:44 -08:00
"react-select" : "^1.0.0" ,
2017-10-14 05:05:00 -07:00
"react-simple-file-input" : "^2.0.0" ,
2018-01-31 16:27:35 -08:00
"react-tippy" : "^1.2.2" ,
2017-11-24 09:35:17 -08:00
"react-toggle-button" : "^2.2.0" ,
2016-06-29 15:57:59 -07:00
"react-tooltip-component" : "^0.3.0" ,
2017-11-24 09:35:17 -08:00
"react-transition-group" : "^2.2.1" ,
2017-10-03 14:43:11 -07:00
"react-trigger-change" : "^1.0.2" ,
2017-11-23 17:33:44 -08:00
"reactify" : "^1.1.1" ,
2017-09-07 21:17:49 -07:00
"readable-stream" : "^2.3.3" ,
2017-08-21 04:56:09 -07:00
"recompose" : "^0.25.0" ,
2016-04-13 15:46:39 -07:00
"redux" : "^3.0.5" ,
2017-07-18 15:41:30 -07:00
"redux-logger" : "^3.0.6" ,
"redux-thunk" : "^2.2.0" ,
2017-09-22 10:41:14 -07:00
"request-promise" : "^4.2.1" ,
2017-10-19 09:47:48 -07:00
"sandwich-expando" : "^1.1.3" ,
2017-01-13 02:00:11 -08:00
"semaphore" : "^1.0.5" ,
2017-11-28 11:14:57 -08:00
"semver" : "^5.4.1" ,
2017-12-29 12:46:32 -08:00
"shallow-copy" : "0.0.1" ,
2018-03-28 21:33:04 -07:00
"sw-controller" : "^1.0.3" ,
"sw-stream" : "^2.0.2" ,
2016-04-13 15:46:39 -07:00
"textarea-caret" : "^3.0.1" ,
2016-12-20 16:41:04 -08:00
"valid-url" : "^1.0.9" ,
2016-05-13 17:02:33 -07:00
"vreme" : "^3.0.2" ,
2017-08-03 16:38:44 -07:00
"web3" : "^0.20.1" ,
2018-04-25 14:02:41 -07:00
"web3-provider-engine" : "^14.0.5" ,
2017-07-04 12:48:00 -07:00
"web3-stream-provider" : "^3.0.1" ,
2016-02-15 02:19:08 -08:00
"xtend" : "^4.0.1"
2015-07-31 18:38:02 -07:00
} ,
"devDependencies" : {
2018-03-23 18:39:10 -07:00
"@sentry/cli" : "^1.30.3" ,
2018-05-03 10:51:15 -07:00
"@storybook/addon-info" : "^3.4.2" ,
"@storybook/addon-knobs" : "^3.4.2" ,
"@storybook/react" : "^3.4.2" ,
2017-04-20 19:07:09 -07:00
"babel-core" : "^6.24.1" ,
2017-09-12 07:10:26 -07:00
"babel-eslint" : "^8.0.0" ,
2017-04-20 19:07:09 -07: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 14:39:27 -07:00
"babel-preset-react" : "^6.24.1" ,
2017-04-20 19:07:09 -07:00
"babel-preset-stage-0" : "^6.24.1" ,
2016-03-24 17:51:46 -07:00
"babel-register" : "^6.7.2" ,
2017-11-27 11:49:49 -08:00
"babelify" : "^8.0.0" ,
2016-04-13 15:46:39 -07:00
"beefy" : "^2.1.5" ,
2016-04-14 15:26:26 -07:00
"brfs" : "^1.4.3" ,
2018-03-06 08:57:10 -08:00
"browserify" : "^16.1.1" ,
2017-07-18 15:41:30 -07:00
"chai" : "^4.1.0" ,
2018-05-02 13:10:21 -07:00
"chromedriver" : "2.36.0" ,
2018-05-22 01:56:52 -07:00
"clipboardy" : "^1.2.3" ,
2018-01-22 16:08:00 -08:00
"compression" : "^1.7.1" ,
2017-09-28 10:02:58 -07:00
"coveralls" : "^3.0.0" ,
2018-03-13 04:38:05 -07:00
"cross-env" : "^5.1.4" ,
2018-05-03 10:51:15 -07:00
"css-loader" : "^0.28.11" ,
2016-04-13 15:46:39 -07:00
"deep-freeze-strict" : "^1.1.1" ,
2017-07-18 15:41:30 -07:00
"del" : "^3.0.0" ,
2018-05-25 12:58:16 -07:00
"dot-only-hunter" : "^1.0.3" ,
2017-04-05 10:24:30 -07:00
"envify" : "^4.0.0" ,
2018-01-30 13:34:21 -08:00
"enzyme" : "^3.3.0" ,
2017-11-25 16:37:12 -08:00
"enzyme-adapter-react-15" : "^1.0.5" ,
2017-05-04 14:34:25 -07:00
"eslint-plugin-chai" : "0.0.1" ,
2018-04-02 14:47:47 -07:00
"eslint-plugin-json" : "^1.2.0" ,
2018-03-24 06:20:46 -07:00
"eslint-plugin-mocha" : "^5.0.0" ,
2017-11-02 05:15:59 -07:00
"eslint-plugin-react" : "^7.4.0" ,
2018-04-27 17:11:44 -07:00
"eth-json-rpc-middleware" : "^1.6.0" ,
2018-05-30 14:29:14 -07:00
"eth-keyring-controller" : "^3.1.4" ,
2018-05-03 10:51:15 -07:00
"file-loader" : "^1.1.11" ,
2017-08-08 17:46:09 -07:00
"fs-promise" : "^2.0.3" ,
2018-03-30 11:51:51 -07:00
"ganache-cli" : "^6.1.0" ,
2018-04-27 17:11:44 -07:00
"ganache-core" : "^2.1.0" ,
2018-05-01 12:18:22 -07:00
"geckodriver" : "^1.11.0" ,
2018-05-18 14:03:02 -07:00
"gh-pages" : "^1.1.0" ,
2018-03-29 17:02:40 -07:00
"gifencoder" : "^1.1.0" ,
2018-01-17 17:50:55 -08:00
"gulp" : "github:gulpjs/gulp#6d71a658c61edb3090221579d8f97dbe086ba2ed" ,
2018-01-11 18:15:22 -08:00
"gulp-babel" : "^7.0.0" ,
2018-01-30 13:34:21 -08:00
"gulp-eslint" : "^4.0.0" ,
2016-07-26 15:15:40 -07:00
"gulp-json-editor" : "^2.2.1" ,
2016-03-02 23:06:43 -08:00
"gulp-livereload" : "^3.8.1" ,
2018-03-30 22:19:02 -07:00
"gulp-multi-process" : "^1.3.1" ,
2017-07-18 15:41:30 -07:00
"gulp-replace" : "^0.6.1" ,
"gulp-sourcemaps" : "^2.6.0" ,
2017-08-14 01:03:16 -07:00
"gulp-stylefmt" : "^1.1.0" ,
2018-03-03 07:19:16 -08:00
"gulp-stylelint" : "^7.0.0" ,
2018-01-11 18:15:22 -08:00
"gulp-uglify" : "^3.0.0" ,
2018-03-02 10:32:53 -08:00
"gulp-uglify-es" : "^1.0.1" ,
2016-03-02 23:29:43 -08:00
"gulp-util" : "^3.0.7" ,
2018-01-06 21:53:33 -08:00
"gulp-watch" : "^5.0.0" ,
2017-07-18 15:41:30 -07:00
"gulp-zip" : "^4.0.0" ,
2018-03-29 17:02:40 -07:00
"image-size" : "^0.6.2" ,
2017-01-10 12:39:01 -08:00
"isomorphic-fetch" : "^2.2.1" ,
2018-04-12 14:39:28 -07:00
"jsdoc" : "^3.5.5" ,
2017-09-12 14:14:24 -07:00
"jsdom" : "^11.2.0" ,
2017-07-18 15:41:30 -07:00
"jsdom-global" : "^3.0.2" ,
"jshint-stylish" : "~2.2.1" ,
2017-12-21 08:45:03 -08:00
"karma" : "^2.0.0" ,
2017-09-11 20:14:52 -07:00
"karma-chrome-launcher" : "^2.2.0" ,
"karma-cli" : "^1.0.1" ,
"karma-firefox-launcher" : "^1.0.1" ,
"karma-qunit" : "^1.2.1" ,
2016-03-02 23:29:43 -08:00
"lodash.assign" : "^4.0.6" ,
2018-01-17 18:21:45 -08:00
"mocha" : "^5.0.0" ,
2017-07-18 15:41:30 -07:00
"mocha-eslint" : "^4.0.0" ,
2016-04-13 15:46:39 -07:00
"mocha-jsdom" : "^1.1.0" ,
2017-07-18 15:41:30 -07:00
"mocha-sinon" : "^2.0.0" ,
"nock" : "^9.0.14" ,
2018-02-13 11:35:30 -08:00
"node-sass" : "^4.7.2" ,
2018-05-02 11:05:39 -07:00
"nsp" : "^3.2.1" ,
2017-08-03 15:05:32 -07:00
"nyc" : "^11.0.3" ,
2016-12-07 14:34:15 -08:00
"open" : "0.0.5" ,
2018-05-01 19:22:41 -07:00
"path" : "^0.12.7" ,
2018-03-29 17:02:40 -07:00
"png-file-stream" : "^1.0.0" ,
2016-12-07 14:34:15 -08:00
"prompt" : "^1.0.0" ,
2016-06-30 18:22:16 -07:00
"qs" : "^6.2.0" ,
2017-11-27 11:49:49 -08:00
"qunitjs" : "^2.4.1" ,
2018-04-12 14:39:28 -07:00
"radgrad-jsdoc-template" : "^1.1.3" ,
2017-05-11 17:09:23 -07:00
"react-addons-test-utils" : "^15.5.1" ,
2017-11-27 11:49:49 -08:00
"react-test-renderer" : "^15.6.2" ,
2017-05-11 17:43:40 -07:00
"react-testutils-additions" : "^15.2.0" ,
2018-01-30 13:34:21 -08:00
"redux-test-utils" : "^0.2.2" ,
2018-05-01 19:22:41 -07:00
"resolve-url-loader" : "^2.3.0" ,
2018-03-30 00:09:39 -07:00
"rimraf" : "^2.6.2" ,
2018-05-01 20:05:14 -07:00
"sass-loader" : "^7.0.1" ,
2018-03-28 23:12:41 -07:00
"selenium-webdriver" : "^3.5.0" ,
2018-04-02 15:50:26 -07:00
"shell-parallel" : "^1.0.3" ,
2018-03-21 10:39:53 -07:00
"sinon" : "^5.0.0" ,
2018-04-27 18:17:21 -07:00
"source-map" : "^0.7.2" ,
2018-05-01 20:05:14 -07:00
"style-loader" : "^0.21.0" ,
2018-03-01 06:27:13 -08:00
"stylelint-config-standard" : "^18.2.0" ,
2016-04-14 15:26:26 -07:00
"tape" : "^4.5.1" ,
2018-01-24 12:15:48 -08:00
"testem" : "^2.0.0" ,
2018-04-24 13:33:31 -07:00
"through2" : "^2.0.3" ,
2018-01-04 04:40:38 -08:00
"vinyl-buffer" : "^1.0.1" ,
2017-12-22 21:35:28 -08:00
"vinyl-source-stream" : "^2.0.0" ,
2017-08-08 17:46:09 -07:00
"watchify" : "^3.9.0"
2015-07-31 18:38:02 -07:00
} ,
"engines" : {
2018-04-09 13:40:15 -07:00
"node" : ">=8.0.0"
2015-07-31 18:38:02 -07:00
}
}