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" : {
2018-03-30 07:58:26 +02:00
"start" : "gulp dev:extension" ,
2018-04-03 18:51:33 +02:00
"mascara" : "gulp dev:mascara & node ./mascara/example/server" ,
2018-03-29 08:45:33 +02:00
"dist" : "gulp dist" ,
2018-04-12 23:39:28 +02:00
"doc" : "jsdoc -c development/tools/.jsdoc.json" ,
2018-03-22 03:44:30 +01:00
"test" : "npm run test:unit && npm run test:integration && npm run lint" ,
2018-06-12 20:13:44 +02:00
"watch:test:unit" : "nodemon --exec \"npm run test:unit\" ./test ./app ./ui" ,
2018-05-31 19:58:03 +02:00
"test:unit" : "cross-env METAMASK_ENV=test mocha --exit --require test/setup.js --recursive \"test/unit/**/*.js\" \"ui/app/**/*.test.js\" && dot-only-hunter" ,
2018-03-13 12:38:05 +01:00
"test:single" : "cross-env METAMASK_ENV=test mocha --require test/helper.js" ,
2018-03-09 22:48:48 +01:00
"test:integration" : "npm run test:integration:build && npm run test:flat && npm run test:mascara" ,
"test:integration:build" : "gulp build:scss" ,
2018-05-14 15:30:50 +02:00
"test:e2e:chrome" : "shell-parallel -s 'npm run ganache:start' -x 'sleep 3 && npm run test:e2e:run:chrome'" ,
2018-05-25 03:17:26 +02:00
"test:e2e:chrome:beta" : "SELENIUM_BROWSER=chrome test/e2e/beta/run-all.sh" ,
2018-05-14 15:30:50 +02:00
"test:e2e:firefox" : "shell-parallel -s 'npm run ganache:start' -x 'sleep 3 && npm run test:e2e:run:firefox'" ,
2018-05-25 03:17:26 +02:00
"test:e2e:firefox:beta" : "SELENIUM_BROWSER=firefox test/e2e/beta/run-all.sh" ,
2018-05-15 02:17:36 +02: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 22:50:19 +02:00
"test:screens" : "shell-parallel -s 'npm run ganache:start' -x 'sleep 3 && npm run test:screens:run'" ,
2018-03-31 00:03:49 +02:00
"test:screens:run" : "node test/screens/new-ui.js" ,
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" ,
2018-03-28 02:16:23 +02:00
"test:flat:build" : "npm run test:flat:build:ui && npm run test:flat:build:tests && npm run test:flat:build:locales" ,
2017-09-14 02:17:09 +02:00
"test:flat:build:tests" : "node test/integration/index.js" ,
"test:flat:build:states" : "node development/genStates.js" ,
2018-03-28 02:16:23 +02:00
"test:flat:build:locales" : "mkdirp dist/chrome && cp -R app/_locales dist/chrome/_locales" ,
2018-03-13 14:15:19 +01:00
"test:flat:build:ui" : "npm run test:flat:build:states && browserify ./development/mock-dev.js -o ./development/bundle.js" ,
2017-09-14 02:17:09 +02:00
"test:mascara" : "npm run test:mascara:build && karma start test/mascara.conf.js" ,
2018-03-28 02:16:23 +02: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-14 02:17:09 +02:00
"test:mascara:build:ui" : "browserify mascara/test/test-ui.js -o dist/mascara/ui.js" ,
2018-03-28 02:16:23 +02:00
"test:mascara:build:locales" : "mkdirp dist/chrome && cp -R app/_locales dist/chrome/_locales" ,
2017-09-14 02:17:09 +02: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-08-17 18:56:07 +02:00
"ganache:start" : "ganache-cli --noVMErrorsOnRPCResponse -m 'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent'" ,
2018-04-03 21:36:46 +02:00
"sentry:publish" : "node ./development/sentry-publish.js" ,
2018-07-03 00:35:53 +02:00
"lint" : "eslint ." ,
"lint:fix" : "eslint . --fix" ,
2018-03-30 07:58:26 +02: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-14 02:17:09 +02:00
"disc" : "gulp disc --debug" ,
2016-12-07 23:34:15 +01:00
"announce" : "node development/announcer.js" ,
2018-03-02 22:55:56 +01:00
"version:bump" : "node development/run-version-bump.js" ,
2018-05-14 15:30:50 +02:00
"storybook" : "start-storybook -p 6006 -c .storybook"
2016-04-14 00:46:39 +02:00
} ,
"browserify" : {
"transform" : [
[
"babelify" ,
{
"presets" : [
2018-07-24 19:51:32 +02:00
[
"env" ,
{
2018-08-23 00:50:24 +02:00
"browsers" : [
">0.25%" ,
"not ie 11" ,
"not op_mini all"
]
2018-07-24 19:51:32 +02:00
}
] ,
2017-05-16 00:31:19 +02:00
"stage-0"
2016-04-14 00:46:39 +02:00
]
2018-07-24 19:51:32 +02:00
} ,
{
"plugins" : [
"transform-class-properties"
]
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-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" : {
2018-08-08 20:30:49 +02:00
"@material-ui/core" : "1.0.0" ,
2018-08-17 18:56:07 +02:00
"@zxing/library" : "^0.8.0" ,
2017-11-24 18:35:17 +01:00
"abi-decoder" : "^1.0.9" ,
2018-02-22 14:39:32 +01:00
"asmcrypto.js" : "0.22.0" ,
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" ,
2018-03-06 09:23:43 +01:00
"browserify-unibabel" : "^3.0.0" ,
2017-08-23 13:04:11 +02:00
"classnames" : "^2.2.5" ,
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" ,
2018-05-14 15:30:50 +02:00
"css-loader" : "^0.28.11" ,
2018-04-03 22:52:01 +02:00
"currency-formatter" : "^1.4.2" ,
2016-04-14 00:46:39 +02:00
"debounce" : "^1.0.0" ,
2018-01-25 22:01:03 +01:00
"debounce-stream" : "^2.0.0" ,
2018-05-14 15:30:50 +02:00
"deep-extend" : "^0.5.1" ,
2017-05-15 23:35:24 +02:00
"detect-node" : "^2.0.3" ,
2018-08-01 00:30:40 +02:00
"detectrtc" : "^1.3.6" ,
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-08-17 18:56:07 +02:00
"eth-block-tracker" : "^4.0.1" ,
2018-07-03 00:29:22 +02:00
"eth-contract-metadata" : "github:MetaMask/eth-contract-metadata#master" ,
2018-07-24 19:51:32 +02:00
"eth-ens-namehash" : "^2.0.8" ,
2018-08-08 20:30:49 +02:00
"eth-hd-keyring" : "^1.2.2" ,
2018-08-17 18:56:07 +02:00
"eth-json-rpc-filters" : "^2.1.1" ,
2018-01-25 20:03:50 +01:00
"eth-json-rpc-infura" : "^3.0.0" ,
2018-08-21 23:13:23 +02:00
"eth-json-rpc-middleware" : "^2.4.0" ,
"eth-keyring-controller" : "^3.1.4" ,
2018-08-15 05:02:01 +02:00
"eth-ledger-bridge-keyring" : "^0.1.0" ,
2018-06-28 20:23:31 +02:00
"eth-method-registry" : "^1.0.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" ,
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" ,
2018-08-08 20:30:49 +02:00
"eth-trezor-keyring" : "github:MetaMask/eth-trezor-keyring#trezor-v5" ,
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" ,
2018-05-11 20:15:10 +02:00
"ethjs" : "^0.4.0" ,
2018-07-02 19:30:56 +02:00
"ethjs-contract" : "^0.2.3" ,
2017-05-23 02:45:29 +02:00
"ethjs-ens" : "^2.0.0" ,
2018-03-28 18:40:11 +02:00
"ethjs-query" : "^0.3.4" ,
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" ,
2018-08-21 00:39:03 +02:00
"extension-port-stream" : "^1.0.0" ,
2018-05-08 14:56:58 +02:00
"extensionizer" : "^1.0.1" ,
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" ,
2018-05-14 15:30:50 +02:00
"file-loader" : "^1.1.11" ,
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" ,
2018-02-28 10:34:06 +01:00
"gulp-autoprefixer" : "^5.0.0" ,
2018-03-29 06:33:04 +02:00
"gulp-debug" : "^3.2.0" ,
2017-08-04 00:12:24 +02:00
"gulp-eslint" : "^4.0.0" ,
2018-04-05 17:51:26 +02:00
"gulp-sass" : "^4.0.0" ,
2016-03-12 02:13:48 +01:00
"hat" : "0.0.3" ,
2018-08-30 21:31:24 +02:00
"human-standard-token-abi" : "^2.0.0" ,
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-08-17 18:56:07 +02:00
"json-rpc-engine" : "^3.7.3" ,
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-11-29 00:16:04 +01:00
"lodash.uniqby" : "^4.7.0" ,
2017-02-20 21:59:44 +01:00
"loglevel" : "^1.4.1" ,
2017-10-13 21:22:02 +02:00
"metamascara" : "^2.0.0" ,
2018-08-21 00:39:03 +02:00
"metamask-inpage-provider" : "^1.0.0" ,
2018-04-03 22:53:02 +02:00
"metamask-logo" : "^2.1.4" ,
2017-01-10 22:46:15 +01:00
"mkdirp" : "^0.5.1" ,
2018-07-24 19:51:32 +02:00
"multihashes" : "^0.4.12" ,
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-11-28 22:09:18 +01:00
"obs-store" : "^3.0.0" ,
2018-01-06 06:24:20 +01:00
"percentile" : "^1.2.0" ,
2018-03-28 18:40:11 +02:00
"pify" : "^3.0.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" ,
2018-03-27 09:20:35 +02:00
"prop-types" : "^15.6.1" ,
2018-03-09 20:51:03 +01:00
"pump" : "^3.0.0" ,
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" ,
2018-04-23 19:20:40 +02:00
"raven-js" : "^3.24.2" ,
2017-11-27 20:49:49 +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 20:49:49 +01:00
"react-dom" : "^15.6.2" ,
2017-07-19 00:41:30 +02:00
"react-hyperscript" : "^3.0.0" ,
2017-11-20 10:08:48 +01:00
"react-markdown" : "^3.0.0" ,
2018-07-24 20:40:22 +02:00
"react-media" : "^1.8.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" ,
2018-06-23 08:52:45 +02:00
"reselect" : "^3.0.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-11-28 20:14:57 +01:00
"semver" : "^5.4.1" ,
2017-12-29 21:46:32 +01:00
"shallow-copy" : "0.0.1" ,
2018-03-29 06:33:04 +02:00
"sw-controller" : "^1.0.3" ,
"sw-stream" : "^2.0.2" ,
2018-08-21 23:13:23 +02:00
"swappable-obj-proxy" : "^1.1.0" ,
2016-04-14 00:46:39 +02:00
"textarea-caret" : "^3.0.1" ,
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-04 21:48:00 +02:00
"web3-stream-provider" : "^3.0.1" ,
2018-07-27 03:00:48 +02:00
"webrtc-adapter" : "^6.3.0" ,
2018-07-24 19:51:32 +02:00
"xtend" : "^4.0.1"
2015-08-01 03:38:02 +02:00
} ,
"devDependencies" : {
2018-03-24 02:39:10 +01:00
"@sentry/cli" : "^1.30.3" ,
2018-05-14 15:30:50 +02:00
"@storybook/addon-info" : "^3.4.2" ,
"@storybook/addon-knobs" : "^3.4.2" ,
"@storybook/react" : "^3.4.2" ,
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" ,
2018-07-24 19:51:32 +02:00
"babel-preset-env" : "^1.7.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 20:49:49 +01:00
"babelify" : "^8.0.0" ,
2016-04-14 00:46:39 +02:00
"beefy" : "^2.1.5" ,
2018-07-02 19:30:56 +02:00
"brfs" : "^1.6.1" ,
2018-03-06 17:57:10 +01:00
"browserify" : "^16.1.1" ,
2017-07-19 00:41:30 +02:00
"chai" : "^4.1.0" ,
2018-08-08 20:30:49 +02:00
"chromedriver" : "^2.41.0" ,
2018-05-22 10:56:52 +02:00
"clipboardy" : "^1.2.3" ,
2018-01-23 01:08:00 +01:00
"compression" : "^1.7.1" ,
2017-09-28 19:02:58 +02:00
"coveralls" : "^3.0.0" ,
2018-03-13 12:38:05 +01:00
"cross-env" : "^5.1.4" ,
2018-05-14 15:30:50 +02:00
"css-loader" : "^0.28.11" ,
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" ,
2018-05-25 21:58:16 +02:00
"dot-only-hunter" : "^1.0.3" ,
2017-04-05 19:24:30 +02:00
"envify" : "^4.0.0" ,
2018-08-25 02:51:40 +02:00
"enzyme" : "^3.4.4" ,
2018-08-25 02:55:45 +02:00
"enzyme-adapter-react-15" : "^1.0.6" ,
2017-05-04 23:34:25 +02:00
"eslint-plugin-chai" : "0.0.1" ,
2018-04-02 23:47:47 +02:00
"eslint-plugin-json" : "^1.2.0" ,
2018-03-24 14:20:46 +01:00
"eslint-plugin-mocha" : "^5.0.0" ,
2017-11-02 13:15:59 +01:00
"eslint-plugin-react" : "^7.4.0" ,
2018-05-14 15:30:50 +02:00
"eth-json-rpc-middleware" : "^1.6.0" ,
2018-08-08 20:30:49 +02:00
"eth-keyring-controller" : "^3.3.1" ,
2018-05-14 15:30:50 +02:00
"file-loader" : "^1.1.11" ,
2018-08-17 18:56:07 +02:00
"fs-extra" : "^6.0.1" ,
2017-08-09 02:46:09 +02:00
"fs-promise" : "^2.0.3" ,
2018-03-30 20:51:51 +02:00
"ganache-cli" : "^6.1.0" ,
2018-07-12 19:19:51 +02:00
"ganache-core" : "^2.1.5" ,
2018-05-14 15:30:50 +02:00
"geckodriver" : "^1.11.0" ,
2018-07-02 19:30:56 +02:00
"gh-pages" : "^1.2.0" ,
2018-03-30 02:02:40 +02:00
"gifencoder" : "^1.1.0" ,
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" ,
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" ,
2018-03-31 07:19:02 +02:00
"gulp-multi-process" : "^1.3.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" ,
2018-03-03 16:19:16 +01:00
"gulp-stylelint" : "^7.0.0" ,
2018-01-12 03:15:22 +01:00
"gulp-uglify" : "^3.0.0" ,
2018-03-02 19:32:53 +01:00
"gulp-uglify-es" : "^1.0.1" ,
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" ,
2018-06-22 14:13:01 +02:00
"http-server" : "^0.11.1" ,
2018-03-30 02:02:40 +02:00
"image-size" : "^0.6.2" ,
2017-01-10 21:39:01 +01:00
"isomorphic-fetch" : "^2.2.1" ,
2018-04-12 23:39:28 +02:00
"jsdoc" : "^3.5.5" ,
2017-09-12 23:14:24 +02:00
"jsdom" : "^11.2.0" ,
2017-07-19 00:41:30 +02:00
"jsdom-global" : "^3.0.2" ,
"jshint-stylish" : "~2.2.1" ,
2018-07-02 19:30:56 +02:00
"karma" : "^2.0.4" ,
2017-09-12 05:14:52 +02: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-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" ,
2018-07-24 19:51:32 +02:00
"node-sass" : "^4.9.2" ,
2018-05-14 15:30:50 +02:00
"nsp" : "^3.2.1" ,
2018-07-02 19:30:56 +02:00
"nyc" : "^13.0.0" ,
2016-12-07 23:34:15 +01:00
"open" : "0.0.5" ,
2018-05-14 15:30:50 +02:00
"path" : "^0.12.7" ,
2018-03-30 02:02:40 +02:00
"png-file-stream" : "^1.0.0" ,
2018-08-17 18:56:07 +02:00
"prepend-file" : "^1.3.1" ,
2016-12-07 23:34:15 +01:00
"prompt" : "^1.0.0" ,
2018-05-05 17:11:53 +02:00
"proxyquire" : "2.0.1" ,
2016-07-01 03:22:16 +02:00
"qs" : "^6.2.0" ,
2017-11-27 20:49:49 +01:00
"qunitjs" : "^2.4.1" ,
2018-04-12 23:39:28 +02:00
"radgrad-jsdoc-template" : "^1.1.3" ,
2017-05-12 02:09:23 +02:00
"react-addons-test-utils" : "^15.5.1" ,
2017-11-27 20:49:49 +01:00
"react-test-renderer" : "^15.6.2" ,
2017-05-12 02:43:40 +02:00
"react-testutils-additions" : "^15.2.0" ,
2018-07-08 03:53:00 +02:00
"redux-mock-store" : "^1.5.3" ,
2018-01-30 22:34:21 +01:00
"redux-test-utils" : "^0.2.2" ,
2018-05-14 15:30:50 +02:00
"resolve-url-loader" : "^2.3.0" ,
2018-03-30 09:09:39 +02:00
"rimraf" : "^2.6.2" ,
2018-05-14 15:30:50 +02:00
"sass-loader" : "^7.0.1" ,
2018-03-29 08:12:41 +02:00
"selenium-webdriver" : "^3.5.0" ,
2018-04-03 00:50:26 +02:00
"shell-parallel" : "^1.0.3" ,
2018-03-21 18:39:53 +01:00
"sinon" : "^5.0.0" ,
2018-05-14 15:30:50 +02:00
"source-map" : "^0.7.2" ,
2018-08-08 20:30:49 +02:00
"static-server" : "^2.2.1" ,
2018-05-14 15:30:50 +02:00
"style-loader" : "^0.21.0" ,
2018-03-01 15:27:13 +01:00
"stylelint-config-standard" : "^18.2.0" ,
2016-04-15 00:26:26 +02:00
"tape" : "^4.5.1" ,
2018-07-02 19:30:56 +02:00
"testem" : "^2.8.0" ,
2018-04-24 22:33:31 +02:00
"through2" : "^2.0.3" ,
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" ,
2018-07-02 19:30:56 +02:00
"watchify" : "^3.11.0"
2015-08-01 03:38:02 +02:00
} ,
"engines" : {
2018-07-21 18:43:35 +02:00
"node" : "8.11.3" ,
"npm" : "^6.1.0"
2015-08-01 03:38:02 +02:00
}
}