diff --git a/package-lock.json b/package-lock.json
index a045c825..5a3739dc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -63,6 +63,21 @@
"@babel/types": "7.0.0-beta.36"
}
},
+ "@babel/runtime": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz",
+ "integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==",
+ "requires": {
+ "regenerator-runtime": "^0.12.0"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.12.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
+ "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+ }
+ }
+ },
"@babel/template": {
"version": "7.0.0-beta.36",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.36.tgz",
@@ -328,10 +343,20 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz",
"integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==",
+ "optional": true,
"requires": {
"samsam": "1.3.0"
}
},
+ "@sinonjs/samsam": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.0.tgz",
+ "integrity": "sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==",
+ "optional": true,
+ "requires": {
+ "array-from": "^2.1.1"
+ }
+ },
"@types/node": {
"version": "9.4.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz",
@@ -652,6 +677,12 @@
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
+ "array-from": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
+ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
+ "optional": true
+ },
"array-ify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
@@ -1059,6 +1090,7 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
+ "optional": true,
"requires": {
"is-extglob": "1.0.0"
}
@@ -2343,11 +2375,6 @@
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz",
"integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w=="
},
- "base64url": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz",
- "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs="
- },
"basic-auth": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz",
@@ -2641,11 +2668,6 @@
"ieee754": "1.1.8"
}
},
- "buffer-equal-constant-time": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
- "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
- },
"buffer-indexof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
@@ -3060,9 +3082,9 @@
}
},
"classnames": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz",
- "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0="
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
+ "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
},
"cli-cursor": {
"version": "2.1.0",
@@ -4417,7 +4439,8 @@
"diff": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
- "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA=="
+ "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==",
+ "dev": true
},
"diffie-hellman": {
"version": "5.0.2",
@@ -4629,15 +4652,6 @@
"jsbn": "0.1.1"
}
},
- "ecdsa-sig-formatter": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz",
- "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=",
- "requires": {
- "base64url": "2.0.0",
- "safe-buffer": "5.1.1"
- }
- },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -5970,9 +5984,9 @@
"dev": true
},
"flow-bin": {
- "version": "0.66.0",
- "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.66.0.tgz",
- "integrity": "sha1-qW3ecBXcM0P9VSp7SWPAK+cFyiY=",
+ "version": "0.69.0",
+ "resolved": "http://registry.npmjs.org/flow-bin/-/flow-bin-0.69.0.tgz",
+ "integrity": "sha512-SC5kiOiMk+8o1N2ZQ1mBfi0qBDYM+r6ZFQS7s+zXtyKrkbtCP+6JRTVvO3KXOnv568SK1G+Kg8/LlJwgyR+8Ug==",
"dev": true
},
"flush-write-stream": {
@@ -6183,6 +6197,7 @@
"block-stream": {
"version": "0.0.9",
"bundled": true,
+ "optional": true,
"requires": {
"inherits": "2.0.3"
}
@@ -6204,7 +6219,8 @@
},
"buffer-shims": {
"version": "1.0.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"caseless": {
"version": "0.12.0",
@@ -6218,11 +6234,13 @@
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"combined-stream": {
"version": "1.0.5",
"bundled": true,
+ "optional": true,
"requires": {
"delayed-stream": "1.0.0"
}
@@ -6233,15 +6251,18 @@
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"cryptiles": {
"version": "2.0.5",
"bundled": true,
+ "optional": true,
"requires": {
"boom": "2.10.1"
}
@@ -6276,7 +6297,8 @@
},
"delayed-stream": {
"version": "1.0.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"delegates": {
"version": "1.0.0",
@@ -6303,7 +6325,8 @@
},
"extsprintf": {
"version": "1.0.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"forever-agent": {
"version": "0.6.1",
@@ -6412,6 +6435,7 @@
"hawk": {
"version": "3.1.3",
"bundled": true,
+ "optional": true,
"requires": {
"boom": "2.10.1",
"cryptiles": "2.0.5",
@@ -6453,6 +6477,7 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
+ "optional": true,
"requires": {
"number-is-nan": "1.0.1"
}
@@ -6464,7 +6489,8 @@
},
"isarray": {
"version": "1.0.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"isstream": {
"version": "0.1.2",
@@ -6527,11 +6553,13 @@
},
"mime-db": {
"version": "1.27.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"mime-types": {
"version": "2.1.15",
"bundled": true,
+ "optional": true,
"requires": {
"mime-db": "1.27.0"
}
@@ -6599,7 +6627,8 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"oauth-sign": {
"version": "0.8.2",
@@ -6648,7 +6677,8 @@
},
"process-nextick-args": {
"version": "1.0.7",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"punycode": {
"version": "1.4.1",
@@ -6681,6 +6711,7 @@
"readable-stream": {
"version": "2.2.9",
"bundled": true,
+ "optional": true,
"requires": {
"buffer-shims": "1.0.0",
"core-util-is": "1.0.2",
@@ -6729,7 +6760,8 @@
},
"safe-buffer": {
"version": "5.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"semver": {
"version": "5.3.0",
@@ -6749,6 +6781,7 @@
"sntp": {
"version": "1.0.9",
"bundled": true,
+ "optional": true,
"requires": {
"hoek": "2.16.3"
}
@@ -6779,6 +6812,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
+ "optional": true,
"requires": {
"code-point-at": "1.1.0",
"is-fullwidth-code-point": "1.0.0",
@@ -6788,6 +6822,7 @@
"string_decoder": {
"version": "1.0.1",
"bundled": true,
+ "optional": true,
"requires": {
"safe-buffer": "5.0.1"
}
@@ -6812,6 +6847,7 @@
"tar": {
"version": "2.2.1",
"bundled": true,
+ "optional": true,
"requires": {
"block-stream": "0.0.9",
"fstream": "1.0.11",
@@ -6861,7 +6897,8 @@
},
"util-deprecate": {
"version": "1.0.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"uuid": {
"version": "3.0.1",
@@ -9241,12 +9278,12 @@
}
},
"jest-styled-components": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/jest-styled-components/-/jest-styled-components-4.10.0.tgz",
- "integrity": "sha512-bYAZoaX6VgcE4ITGBo+QKPKuYwWlNBEvLjpac9VwhPFPbCxGb22kwviOimqZ0Lw4EXOy7tRKPDQDgjqfvcZOSQ==",
+ "version": "5.0.1",
+ "resolved": "http://registry.npmjs.org/jest-styled-components/-/jest-styled-components-5.0.1.tgz",
+ "integrity": "sha512-ZQgTjEZcjWNwADtv+D26MmUUVP2NrAzxCPra5NvflRgiAWaVKt+adHcWRILIyrUo3XfjK1tqiCjS/wjXjeTNGg==",
"dev": true,
"requires": {
- "css": "2.2.1"
+ "css": "^2.2.1"
}
},
"jest-util": {
@@ -9307,7 +9344,8 @@
"js-cookie": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.0.tgz",
- "integrity": "sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s="
+ "integrity": "sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s=",
+ "optional": true
},
"js-tokens": {
"version": "3.0.2",
@@ -9462,30 +9500,6 @@
"integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
"dev": true
},
- "jsonwebtoken": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.1.1.tgz",
- "integrity": "sha512-+ijVOtfLMlCII8LJkvabaKX3+8tGrGjiCTfzoed2D1b/ebKTO1hIYBQUJHbd9dJ9Fa4kH+dhYEd1qDwyzDLUUw==",
- "requires": {
- "jws": "3.1.4",
- "lodash.includes": "4.3.0",
- "lodash.isboolean": "3.0.3",
- "lodash.isinteger": "4.0.4",
- "lodash.isnumber": "3.0.3",
- "lodash.isplainobject": "4.0.6",
- "lodash.isstring": "4.0.1",
- "lodash.once": "4.1.1",
- "ms": "2.1.1",
- "xtend": "4.0.1"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
- }
- }
- },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -9508,31 +9522,15 @@
}
},
"just-extend": {
- "version": "1.1.27",
- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
- "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-3.0.0.tgz",
+ "integrity": "sha512-Fu3T6pKBuxjWT/p4DkqGHFRsysc8OauWr4ZRTY9dIx07Y9O0RkoR5jcv28aeD1vuAwhm3nLkDurwLXoALp4DpQ==",
"optional": true
},
- "jwa": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz",
- "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=",
- "requires": {
- "base64url": "2.0.0",
- "buffer-equal-constant-time": "1.0.1",
- "ecdsa-sig-formatter": "1.0.9",
- "safe-buffer": "5.1.1"
- }
- },
- "jws": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz",
- "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=",
- "requires": {
- "base64url": "2.0.0",
- "jwa": "1.1.5",
- "safe-buffer": "5.1.1"
- }
+ "keyboard-key": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.0.2.tgz",
+ "integrity": "sha512-05cjQmw4ss/YuY2utmVim0wywDyBZGUivo8siLPkWinwGWtKlO8/4RGbPUqNycwlD3u/3D15eNRjnNAyaTDs8g=="
},
"killable": {
"version": "1.0.0",
@@ -9824,11 +9822,6 @@
"integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=",
"dev": true
},
- "lodash.includes": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
- "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
- },
"lodash.isarguments": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
@@ -9839,30 +9832,16 @@
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
},
- "lodash.isboolean": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
- "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
- },
"lodash.isfunction": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
"integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw=="
},
- "lodash.isinteger": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
- "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
- },
- "lodash.isnumber": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
- "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
- },
"lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
},
"lodash.isstring": {
"version": "4.0.1",
@@ -9925,11 +9904,6 @@
"integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=",
"dev": true
},
- "lodash.once": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
- },
"lodash.pick": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
@@ -10039,9 +10013,9 @@
"dev": true
},
"lolex": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
- "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng=="
+ "version": "2.7.5",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz",
+ "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q=="
},
"longest": {
"version": "1.0.1",
@@ -10560,18 +10534,27 @@
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"nise": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.5.tgz",
- "integrity": "sha512-Es4hGuq3lpip5PckrB+Qpuma282M0UJANJ+jxAgI+0wWTL9X6MtNv+M385JgqsAE8hv6NvD3lv8CQtXgEnvlpQ==",
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.5.tgz",
+ "integrity": "sha512-OHRVvdxKgwZELf2DTgsJEIA4MOq8XWvpSUzoOXyxJ2mY0mMENWC66+70AShLR2z05B1dzrzWlUQJmJERlOUpZw==",
"optional": true,
"requires": {
- "@sinonjs/formatio": "2.0.0",
- "just-extend": "1.1.27",
- "lolex": "2.3.2",
- "path-to-regexp": "1.7.0",
- "text-encoding": "0.6.4"
+ "@sinonjs/formatio": "3.0.0",
+ "just-extend": "^3.0.0",
+ "lolex": "^2.3.2",
+ "path-to-regexp": "^1.7.0",
+ "text-encoding": "^0.6.4"
},
"dependencies": {
+ "@sinonjs/formatio": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz",
+ "integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==",
+ "optional": true,
+ "requires": {
+ "@sinonjs/samsam": "2.1.0"
+ }
+ },
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -14762,14 +14745,21 @@
"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
},
"query-string": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.0.tgz",
- "integrity": "sha512-F3DkxxlY0AqD/rwe4YAwjRE2HjOkKW7TxsuteyrS/Jbwrxw887PqYBL4sWUJ9D/V1hmFns0SCD6FDyvlwo9RCQ==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.1.0.tgz",
+ "integrity": "sha512-pNB/Gr8SA8ff8KpUFM36o/WFAlthgaThka5bV19AD9PNTH20Pwq5Zxodif2YyHwrctp6SkL4GqlOot0qR/wGaw==",
"optional": true,
"requires": {
- "decode-uri-component": "0.2.0",
- "object-assign": "4.1.1",
- "strict-uri-encode": "1.1.0"
+ "decode-uri-component": "^0.2.0",
+ "strict-uri-encode": "^2.0.0"
+ },
+ "dependencies": {
+ "strict-uri-encode": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
+ "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
+ "optional": true
+ }
}
},
"querystring": {
@@ -14967,11 +14957,11 @@
}
},
"react-async-bootstrapper": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-async-bootstrapper/-/react-async-bootstrapper-1.1.2.tgz",
- "integrity": "sha512-E4B8dMMKw3kI9/OWMqso9P7hBvpP88iEOqjPpBBzdsgkTlMG+7yI2U2gcWef6sT9397zeBg+t0ALqxIHuT4dUQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/react-async-bootstrapper/-/react-async-bootstrapper-2.1.1.tgz",
+ "integrity": "sha512-VB2TB3KGnCGNKmZtfCdE8R3kuwDqm5KW1wK5R5yDBkTkkKcjaot+QNU63oudUGRyNgwEs6HlKTyD78llfCM2ng==",
"requires": {
- "react-tree-walker": "2.1.3"
+ "react-tree-walker": "^4.2.0"
}
},
"react-async-component": {
@@ -15370,9 +15360,9 @@
}
},
"react-tree-walker": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/react-tree-walker/-/react-tree-walker-2.1.3.tgz",
- "integrity": "sha512-fO+wRVwXewrNo+89hl7bnVs72zJSBMoPspTtLkRoIDEGa/Guxdvv18kPnO78ACJz8xWA4xHzjf5Wjid+u2/FKg=="
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/react-tree-walker/-/react-tree-walker-4.3.0.tgz",
+ "integrity": "sha512-sO/pk+JQ2mbtPGdlKbeeo2aT4qXl5nPkGVO96yYQOdX9jYvRNXSnMWIydniLVEoiPvUbpfoc057blGbAQgMBRg=="
},
"read-cache": {
"version": "1.0.0",
@@ -16077,7 +16067,8 @@
"samsam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg=="
+ "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
+ "optional": true
},
"sane": {
"version": "2.4.1",
@@ -16390,15 +16381,32 @@
}
},
"semantic-ui-react": {
- "version": "0.78.2",
- "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.78.2.tgz",
- "integrity": "sha512-GALhydmZTLfvPskNa1SrIvX4o71Yelp50z5nxcKgzNNnWjF1q6RQiVhISc0KG03LzWZWRBw8ye3YzCKLdLfclQ==",
- "requires": {
- "babel-runtime": "6.26.0",
- "classnames": "2.2.5",
- "fbjs": "0.8.16",
- "lodash": "4.17.5",
- "prop-types": "15.6.0"
+ "version": "0.80.2",
+ "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.80.2.tgz",
+ "integrity": "sha512-1sQ8NkxoDrd2c8wM+kdZ7mz3QMEYsbM1dV7uNe4b8D9VEaHdp640Ktp9DhmyCgXIo5BqdigJcZtb0jcWWGFfQg==",
+ "requires": {
+ "@babel/runtime": "^7.0.0-beta.48",
+ "classnames": "^2.2.5",
+ "fbjs": "^0.8.16",
+ "keyboard-key": "^1.0.1",
+ "lodash": "^4.17.10",
+ "prop-types": "^15.6.1"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
+ },
+ "prop-types": {
+ "version": "15.6.2",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
+ "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
+ "requires": {
+ "loose-envify": "^1.3.1",
+ "object-assign": "^4.1.1"
+ }
+ }
}
},
"semver": {
@@ -16625,18 +16633,35 @@
}
},
"sinon": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.3.0.tgz",
- "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.1.1.tgz",
+ "integrity": "sha512-h/3uHscbt5pQNxkf7Y/Lb9/OM44YNCicHakcq73ncbrIS8lXg+ZGOZbtuU+/km4YnyiCYfQQEwANaReJz7KDfw==",
"optional": true,
"requires": {
- "@sinonjs/formatio": "2.0.0",
- "diff": "3.4.0",
- "lodash.get": "4.4.2",
- "lolex": "2.3.2",
- "nise": "1.2.5",
- "supports-color": "5.2.0",
- "type-detect": "4.0.8"
+ "@sinonjs/formatio": "^2.0.0",
+ "diff": "^3.5.0",
+ "lodash.get": "^4.4.2",
+ "lolex": "^2.4.2",
+ "nise": "^1.3.3",
+ "supports-color": "^5.4.0",
+ "type-detect": "^4.0.8"
+ },
+ "dependencies": {
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "optional": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "optional": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"slash": {
@@ -17361,7 +17386,8 @@
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
- "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
},
"string-length": {
"version": "2.0.0",
@@ -19644,15 +19670,15 @@
}
},
"webpack-hot-middleware": {
- "version": "2.21.0",
- "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.21.0.tgz",
- "integrity": "sha512-P6xiOLy10QlSVSO7GanU9PLxN6zLLQ7RG16MPTvmFwf2KUG7jMp6m+fmdgsR7xoaVVLA7OlX3YO6JjoZEKjCuA==",
+ "version": "2.24.2",
+ "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.24.2.tgz",
+ "integrity": "sha512-VsBGNMC5JDnab5hbReMjmIYtnvDMT+odLSP49EbLZHwuAoJJDNOi0YLhTe40vvP7u7Be+Ww1mYHjwwelqdnaKA==",
"dev": true,
"requires": {
"ansi-html": "0.0.7",
- "html-entities": "1.2.1",
- "querystring": "0.2.0",
- "strip-ansi": "3.0.1"
+ "html-entities": "^1.2.0",
+ "querystring": "^0.2.0",
+ "strip-ansi": "^3.0.0"
}
},
"webpack-manifest-plugin": {
@@ -19939,7 +19965,8 @@
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
},
"y18n": {
"version": "4.0.0",
diff --git a/package.json b/package.json
index b11f581c..d6f2aa84 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"offline-plugin": "^4.9.0",
"raven": "^2.4.1",
"react": "^16.2.0",
- "react-async-bootstrapper": "^1.1.2",
+ "react-async-bootstrapper": "^2.1.0",
"react-async-component": "^1.0.2",
"react-dom": "^16.2.0",
"react-ga": "^2.4.1",
@@ -29,11 +29,12 @@
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
"react-router-redux": "^5.0.0-alpha.8",
+ "react-tree-walker": "^4.0.2",
"redux": "^3.7.2",
"redux-promise-middleware": "^5.0.0",
"redux-thunk": "^2.2.0",
"semantic-ui-css": "^2.2.14",
- "semantic-ui-react": "^0.79.0",
+ "semantic-ui-react": "^0.80.0",
"serialize-javascript": "^1.4.0",
"styled-components": "^3.1.6"
},
@@ -50,7 +51,7 @@
"babel-plugin-dynamic-import-node": "^1.2.0",
"babel-plugin-lodash": "^3.3.2",
"babel-plugin-module-resolver": "^3.1.0",
- "babel-plugin-styled-components": "^1.5.0",
+ "babel-plugin-styled-components": "1.7.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-preset-env": "^1.6.1",
"babel-preset-flow": "^6.23.0",
@@ -80,7 +81,7 @@
"eslint-plugin-standard": "^3.0.1",
"extract-text-webpack-plugin": "^3.0.2",
"file-loader": "^1.1.7",
- "flow-bin": "^0.67.1",
+ "flow-bin": "^0.69.0",
"husky": "^0.14.3",
"jest": "^22.3.0",
"jest-styled-components": "^5.0.0",
@@ -114,7 +115,7 @@
"webpack-assets-manifest": "^1.0.0",
"webpack-bundle-analyzer": "^2.10.0",
"webpack-dev-server": "^2.11.1",
- "webpack-hot-middleware": "^2.21.0",
+ "webpack-hot-middleware": "^2.24.2",
"webpack-manifest-plugin": "^1.3.2",
"webpack-node-externals": "^1.6.0",
"write-file-webpack-plugin": "^4.2.0"
@@ -126,7 +127,7 @@
"reselect": "^3.0.1",
"store2": "^2.7.0",
"js-cookie": "^2.2.0",
- "sinon": "^4.3.0",
+ "sinon": "^5.0.0",
"chalk": "^2.3.1"
},
"scripts": {
diff --git a/src/client/index.jsx b/src/client/index.jsx
index a75e7eb5..314de724 100644
--- a/src/client/index.jsx
+++ b/src/client/index.jsx
@@ -55,7 +55,7 @@ const app = (
)
-asyncBootstrapper(app).then(() => {
+asyncBootstrapper(app, false, { asyncBootstrapPhase: true }).then(() => {
console.log('__INITIAL_STATE__:', initialState)
hydrate(app, document.getElementById('app'))
})
diff --git a/src/common/components/Root/index.jsx b/src/common/components/Root/index.jsx
index d2227074..b8d7825f 100644
--- a/src/common/components/Root/index.jsx
+++ b/src/common/components/Root/index.jsx
@@ -23,13 +23,6 @@ const Router = process.env.BROWSER
? require('react-router-redux').ConnectedRouter
: require('react-router').StaticRouter
-let initAlready = false
-// react-async-bootstrapper renders twice, because it's based on react-tree-walker
-// react-tree-walker walks in React node tree and resolves promises.
-// This behaviour allow apps to make server-side data fetching.
-// But this approach has 2 drawbacks:
-// Root rendered twice + APPLICATION_INIT dispatched twice
-// `initAlready` ensures that `APPLICATION_INIT` was dispatched only once.
class Root extends Component {
static defaultProps = {
SSR: {}
@@ -37,15 +30,15 @@ class Root extends Component {
componentWillMount () {
const {store, i18n} = this.props
- if (!initAlready) {
+ const {asyncBootstrapPhase} = this.context
+ if (!asyncBootstrapPhase) {
store.dispatch({type: APPLICATION_INIT})
addLocaleData(i18n.localeData)
}
- initAlready = true
}
render () {
- if (!initAlready) {
+ if (this.context.asyncBootstrapPhase) {
return null
}
const {SSR, store, history, i18n} = this.props
diff --git a/webpack_config/client/webpack.base.js b/webpack_config/client/webpack.base.js
index 7e143f01..8e49466e 100644
--- a/webpack_config/client/webpack.base.js
+++ b/webpack_config/client/webpack.base.js
@@ -59,6 +59,18 @@ const baseBuild = {
{
test: /\.(ico|eot|otf|webp|ttf|woff|woff2)$/i,
use: `file-loader?limit=100000&name=assets/[name].[hash:6].[ext]`
+ },
+ {
+ test: /\.(jpe?g|png|gif|svg)$/,
+ use: [
+ {
+ loader: 'url-loader',
+ options: {
+ limit: 4096,
+ name: 'images/[name].[hash:6].[ext]'
+ }
+ }
+ ]
}
])
},
diff --git a/webpack_config/server/webpack.base.js b/webpack_config/server/webpack.base.js
index b5299d09..02fc6999 100644
--- a/webpack_config/server/webpack.base.js
+++ b/webpack_config/server/webpack.base.js
@@ -50,7 +50,21 @@ const baseWebpackConfig = {
alias: isomorphicWebpackConfig.resolve.alias
},
module: {
- rules: isomorphicWebpackConfig.module.rules
+ rules: isomorphicWebpackConfig.module.rules.concat(
+ {
+ test: /\.(jpe?g|png|gif|svg)$/,
+ use: [
+ {
+ loader: 'url-loader',
+ options: {
+ limit: 4096,
+ name: 'images/[name].[hash:6].[ext]',
+ emitFile: false
+ }
+ }
+ ]
+ }
+ )
},
plugins: isomorphicWebpackConfig.plugins.concat([
new webpack.DefinePlugin(definePluginArgs),
diff --git a/webpack_config/webpack.isomorphic.js b/webpack_config/webpack.isomorphic.js
index eaf90d20..5b909954 100644
--- a/webpack_config/webpack.isomorphic.js
+++ b/webpack_config/webpack.isomorphic.js
@@ -48,18 +48,6 @@ export default {
test: /\.(js|jsx)$/,
use: 'babel-loader',
exclude: [/node_modules/]
- },
- {
- test: /\.(jpe?g|png|gif|svg)$/,
- use: [
- {
- loader: 'url-loader',
- options: {
- limit: 4096,
- name: 'images/[name].[hash:6].[ext]'
- }
- }
- ]
}
]
},