diff --git a/packages/client/package.json b/packages/client/package.json
index 823ecdf440d9965c5387690d5aeabc7f9c689dba..19b41d8ab9fc6a5e8db3c22deac433b6fdce7540 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -23,7 +23,7 @@
     "lodash": "^4.0.0",
     "prop-types": "^15.5.8",
     "pubsweet-component-login": "^0.6.0",
-    "react": "^15.4.4",
+    "react": "^16.2.0",
     "react-css-themr": "^2.1.2",
     "react-redux": "^5.0.2",
     "react-router-dom": "^4.2.2",
@@ -39,13 +39,14 @@
     "babel-preset-env": "^1.6.0",
     "babel-preset-react": "^6.24.1",
     "babel-preset-stage-2": "^6.24.1",
-    "enzyme": "^2.9.1",
+    "enzyme": "^3.3.0",
+    "enzyme-adapter-react-16": "^1.1.1",
     "eventsourcemock": "^1.0.1",
     "isomorphic-form-data": "^1.0.0",
     "jest": "^22.1.4",
     "nock": "^9.0.14",
-    "react-dom": "^15.6.1",
-    "react-test-renderer": "^15.6.1",
+    "react-dom": "^16.2.0",
+    "react-test-renderer": "^16.2.0",
     "redux-mock-store": "^1.3.0"
   },
   "peerDependencies": {
diff --git a/packages/client/test/components/UpdateSubscriber.test.jsx b/packages/client/test/components/UpdateSubscriber.test.jsx
index 124d36ed0c2328c339a2a15ee45be90c4946484a..c014807f5c8905c798fa8a2138c28291e150a2b5 100644
--- a/packages/client/test/components/UpdateSubscriber.test.jsx
+++ b/packages/client/test/components/UpdateSubscriber.test.jsx
@@ -29,7 +29,7 @@ describe('<UpdateSubscriber/>', () => {
   it('is connected after open event', () => {
     const wrapper = makeWrapper()
     sources['/updates?access_token=tok'].emit('open')
-
+    wrapper.update()
     expect(wrapper.html()).toContain('color:green')
   })
 
@@ -37,6 +37,7 @@ describe('<UpdateSubscriber/>', () => {
     const wrapper = makeWrapper()
 
     sources['/updates?access_token=tok'].emit('open')
+    wrapper.update()
     expect(wrapper.html()).toContain('color:green')
 
     sources['/updates?access_token=tok'].readyState = 0
@@ -49,6 +50,7 @@ describe('<UpdateSubscriber/>', () => {
     const wrapper = makeWrapper()
 
     sources['/updates?access_token=tok'].emit('open')
+    wrapper.update()
     expect(wrapper.html()).toContain('color:green')
 
     sources['/updates?access_token=tok'].emit('close')
@@ -69,9 +71,7 @@ describe('<UpdateSubscriber/>', () => {
     })
   })
 
-  // TODO enable this test once PR is merged
-  // https://github.com/gcedo/eventsourcemock/pull/1
-  it.skip('unregisters listeners on unmount', () => {
+  it('unregisters listeners on unmount', () => {
     const handleUpdate = jest.fn()
     const wrapper = makeWrapper({ handleUpdate })
     wrapper.instance().componentWillUnmount()
@@ -91,6 +91,7 @@ describe('<UpdateSubscriber/>', () => {
 
     wrapper.setProps({ currentUser: {} }).update()
     sources['/updates?access_token=tok'].emit('open')
+    wrapper.update()
     expect(wrapper.html()).toContain('color:green')
   })
 
diff --git a/packages/client/test/helpers/Authorize.test.jsx b/packages/client/test/helpers/Authorize.test.jsx
index d745946a2d656bc7d3b04030fdd1703676990b4e..c893d45772a693abe7e16e2f11f2e0208b367b2e 100644
--- a/packages/client/test/helpers/Authorize.test.jsx
+++ b/packages/client/test/helpers/Authorize.test.jsx
@@ -49,6 +49,7 @@ describe('<Authorize/>', () => {
 
     resolveMode(false)
     await modePromise
+    wrapper.update()
     expect(wrapper.type()).toBe('span')
   })
 
@@ -61,6 +62,7 @@ describe('<Authorize/>', () => {
     try {
       await modePromise
     } catch (err) {
+      wrapper.update()
       expect(wrapper.type()).toBe(null)
       expect(console.error).toHaveBeenCalled()
     }
@@ -73,7 +75,8 @@ describe('<Authorize/>', () => {
 
     resolveMode(true)
     await modePromise
-    expect(wrapper.type()).toBe('div')
+    wrapper.update()
+    expect(wrapper.find('div')).toHaveLength(1)
   })
 
   it('rechecks auth when props change', () => {
@@ -83,6 +86,7 @@ describe('<Authorize/>', () => {
     mode.mockClear()
 
     wrapper.setProps({ authsome, currentUser: { id: 'user2' } })
+    wrapper.update()
     expect(mode).toHaveBeenCalled()
   })
 })
diff --git a/packages/client/test/jest-setup.js b/packages/client/test/jest-setup.js
index 124ebaac6bdaec864d69a747364d8fa3dfa72246..bc711820f3cbd4f37ae78a1ba825fa75a4f49134 100644
--- a/packages/client/test/jest-setup.js
+++ b/packages/client/test/jest-setup.js
@@ -1,3 +1,7 @@
+import Enzyme from 'enzyme'
+import Adapter from 'enzyme-adapter-react-16'
 import path from 'path'
 
+Enzyme.configure({ adapter: new Adapter() })
+
 process.env.NODE_CONFIG_DIR = path.resolve(__dirname, '..', 'config')
diff --git a/packages/components/package.json b/packages/components/package.json
index 36eef56e86b9536e9d65303af3969e8d099a01de..cea20ff81db45ee32db82e063436bafdd286f685 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -18,7 +18,7 @@
     "babel-preset-stage-2": "^6.24.1",
     "config": "^1.28.1",
     "css-loader": "^0.28.7",
-    "enzyme": "^2.9.1",
+    "enzyme": "^3.3.0",
     "express": "^4.15.4",
     "file-loader": "^0.11.2",
     "font-awesome": "^4.7.0",
@@ -31,11 +31,11 @@
     "pubsweet-client": "^1.1.4",
     "pubsweet-server": "^1.1.0",
     "pubsweet-theme-plugin": "^0.0.3",
-    "react": "^15.6.1",
-    "react-dom": "^15.6.1",
+    "react": "^16.2.0",
+    "react-dom": "^16.2.0",
     "react-router-dom": "^4.2.2",
     "react-styleguidist": "^6.0.24",
-    "react-test-renderer": "^15.6.1",
+    "react-test-renderer": "^16.2.0",
     "redux": "^3.7.2",
     "redux-mock-store": "^1.3.0",
     "redux-thunk": "^2.2.0",
diff --git a/packages/components/packages/Blog/package.json b/packages/components/packages/Blog/package.json
index f5b424b12119361090a46ec91222590ae22b2969..39b1aa25a747290bb8f6c08d734501ea51da4911 100644
--- a/packages/components/packages/Blog/package.json
+++ b/packages/components/packages/Blog/package.json
@@ -8,7 +8,7 @@
   "dependencies": {
     "prop-types": "^15.5.10",
     "pubsweet-component-manage": "^0.2.2",
-    "react-bootstrap": "^0.31.3",
+    "react-bootstrap": "^0.32.0",
     "react-redux": "^5.0.6",
     "react-router-bootstrap": "^0.24.4",
     "react-router-dom": "^4.2.2",
diff --git a/packages/components/packages/FormGroup/package.json b/packages/components/packages/FormGroup/package.json
index e62237014c311eaf22c1b73fe81bf15963e4f819..959784e7e89cbd24684e9b5e1c0fe48918424357 100644
--- a/packages/components/packages/FormGroup/package.json
+++ b/packages/components/packages/FormGroup/package.json
@@ -10,11 +10,11 @@
     "joi-browser": "^13.0.1",
     "prop-types": "^15.5.10",
     "pubsweet-server": "^1.1.0",
-    "react-bootstrap": "^0.31.3"
+    "react-bootstrap": "^0.32.0"
   },
   "peerDependencies": {
-    "pubsweet-client": ">=1.0.0-alpha.1",
-    "react": ">=15"
+    "pubsweet-client": ">=1.0.0",
+    "react": ">=16"
   },
   "repository": {
     "type": "git",
diff --git a/packages/components/packages/InkFrontend/package.json b/packages/components/packages/InkFrontend/package.json
index b63f3ced480d254aff91c0333c5dd7298aa04e07..0de5cf3685286aa31e047b08ed9f012936193243 100644
--- a/packages/components/packages/InkFrontend/package.json
+++ b/packages/components/packages/InkFrontend/package.json
@@ -21,8 +21,8 @@
   "dependencies": {
     "prop-types": "^15.5.10",
     "query-string": "^5.0.1",
-    "react-bootstrap": "^0.31.3",
-    "react-dropzone": "^3.7.3",
+    "react-bootstrap": "^0.32.0",
+    "react-dropzone": "^4.2.7",
     "react-redux": "^5.0.6",
     "redux": "^3.7.2"
   },
diff --git a/packages/components/packages/Login/package.json b/packages/components/packages/Login/package.json
index 1e854328777752c9c26ce280e4b6ae3af2bcab28..1e28b7f1d85821343a645b31d31bad6235c92193 100644
--- a/packages/components/packages/Login/package.json
+++ b/packages/components/packages/Login/package.json
@@ -7,7 +7,7 @@
   "license": "MIT",
   "dependencies": {
     "prop-types": "^15.5.10",
-    "react-bootstrap": "^0.31.3",
+    "react-bootstrap": "^0.32.0",
     "react-redux": "^5.0.6",
     "react-router-dom": "^4.2.2",
     "react-router-redux": "^4.0.8",
diff --git a/packages/components/packages/Navigation/package.json b/packages/components/packages/Navigation/package.json
index 1e379b34e7546113fdb3fefc5385752cf2db8ea6..84fbb8c7850f254faba88b9d2d8a8964a872cc8e 100644
--- a/packages/components/packages/Navigation/package.json
+++ b/packages/components/packages/Navigation/package.json
@@ -7,7 +7,7 @@
   "license": "MIT",
   "dependencies": {
     "prop-types": "^15.5.10",
-    "react-bootstrap": "^0.31.3",
+    "react-bootstrap": "^0.32.0",
     "react-router-bootstrap": "^0.24.4",
     "react-router-dom": "^4.2.2"
   },
diff --git a/packages/components/packages/PasswordResetFrontend/package.json b/packages/components/packages/PasswordResetFrontend/package.json
index 8dc2f34ccff95646cde08f90bf1f8a39a563bac8..95decb6ead53bf413cea5f82f1bd0c5efe444002 100644
--- a/packages/components/packages/PasswordResetFrontend/package.json
+++ b/packages/components/packages/PasswordResetFrontend/package.json
@@ -8,7 +8,7 @@
   "dependencies": {
     "prop-types": "^15.5.10",
     "query-string": "^5.0.0",
-    "react-bootstrap": "^0.31.3",
+    "react-bootstrap": "^0.32.0",
     "react-router": "^4.2.0"
   },
   "peerDependencies": {
diff --git a/packages/components/packages/PostsManager/package.json b/packages/components/packages/PostsManager/package.json
index 6b8a4aef0fbc076caba47d00201dd23bf297930f..7f1e7d6309b16dac18c5c163bd0c85470398e290 100644
--- a/packages/components/packages/PostsManager/package.json
+++ b/packages/components/packages/PostsManager/package.json
@@ -8,8 +8,8 @@
   "dependencies": {
     "prop-types": "^15.5.10",
     "pubsweet-component-form-group": "^0.1.10",
-    "react-bootstrap": "^0.31.3",
-    "react-dom": "^15.6.1",
+    "react-bootstrap": "^0.32.0",
+    "react-dom": "^16.2.0",
     "react-redux": "^5.0.6",
     "react-router-bootstrap": "^0.24.4",
     "react-router-dom": "^4.2.2",
diff --git a/packages/components/packages/Signup/package.json b/packages/components/packages/Signup/package.json
index 82116fae74ef20584084119c52fdffb205499521..e8260c749be4d92ce1d8dce8ece4b706a7c89e15 100644
--- a/packages/components/packages/Signup/package.json
+++ b/packages/components/packages/Signup/package.json
@@ -7,7 +7,7 @@
   "license": "MIT",
   "dependencies": {
     "prop-types": "^15.5.10",
-    "react-bootstrap": "^0.31.3",
+    "react-bootstrap": "^0.32.0",
     "react-redux": "^5.0.6",
     "react-router": "^4.2.0",
     "redux": "^3.7.2"
diff --git a/packages/components/packages/TeamsManager/package.json b/packages/components/packages/TeamsManager/package.json
index d9f1af7ddd317f5f371494bec53b31672763d413..b50b588b545d8beacbd63ee2af78b9f6829f855a 100644
--- a/packages/components/packages/TeamsManager/package.json
+++ b/packages/components/packages/TeamsManager/package.json
@@ -7,8 +7,8 @@
   "license": "MIT",
   "dependencies": {
     "prop-types": "^15.5.10",
-    "react-bootstrap": "^0.31.3",
-    "react-dom": "^15.6.1",
+    "react-bootstrap": "^0.32.0",
+    "react-dom": "^16.2.0",
     "react-redux": "^5.0.6",
     "react-select": "^1.0.0-rc.10",
     "redux": "^3.7.2"
diff --git a/packages/components/packages/UsersManager/package.json b/packages/components/packages/UsersManager/package.json
index 2ce0402f1d77a03056ae1e321090e5dd8d991b25..b38502e25461b1a2c76e676b6422ff6f0683ce66 100644
--- a/packages/components/packages/UsersManager/package.json
+++ b/packages/components/packages/UsersManager/package.json
@@ -7,7 +7,7 @@
   "license": "MIT",
   "dependencies": {
     "prop-types": "^15.5.10",
-    "react-bootstrap": "^0.31.3",
+    "react-bootstrap": "^0.32.0",
     "react-redux": "^5.0.6",
     "redux": "^3.7.2"
   },
diff --git a/packages/components/test/jest-setup.js b/packages/components/test/jest-setup.js
index 124ebaac6bdaec864d69a747364d8fa3dfa72246..bc711820f3cbd4f37ae78a1ba825fa75a4f49134 100644
--- a/packages/components/test/jest-setup.js
+++ b/packages/components/test/jest-setup.js
@@ -1,3 +1,7 @@
+import Enzyme from 'enzyme'
+import Adapter from 'enzyme-adapter-react-16'
 import path from 'path'
 
+Enzyme.configure({ adapter: new Adapter() })
+
 process.env.NODE_CONFIG_DIR = path.resolve(__dirname, '..', 'config')
diff --git a/packages/styleguide/package.json b/packages/styleguide/package.json
index 8f6dda52a1253f49d74a3ba8c978a7e883cffe18..b2862b76cdd966c98019fdcab59b4556a1195e2e 100644
--- a/packages/styleguide/package.json
+++ b/packages/styleguide/package.json
@@ -5,8 +5,8 @@
   "main": "src",
   "dependencies": {
     "@pubsweet/theme": "^0.1.3",
-    "react": "^15.6.1",
-    "react-dom": "^15.6.1",
+    "react": "^16.2.0",
+    "react-dom": "^16.2.0",
     "react-redux": "^5.0.2",
     "react-router-dom": "^4.2.2",
     "recompose": "^0.26.0",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index a9e917e07dc68650d24f0cf9b94e4fb517fb9d25..f991f140fdac4faba17a5349b23eae09a7a80e9e 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -16,8 +16,8 @@
     "humps": "^2.0.1",
     "lodash": "^4.17.4",
     "prop-types": "^15.5.10",
-    "react": "^15.6.1",
-    "react-dom": "^15.6.1",
+    "react": "^16.2.0",
+    "react-dom": "^16.2.0",
     "react-feather": "^1.0.7",
     "react-redux": "^5.0.2",
     "react-router-dom": "^4.2.2",
@@ -40,7 +40,7 @@
     "jest": "^22.1.4",
     "node-sass": "^4.5.3",
     "react-styleguidist": "^6.0.8",
-    "react-test-renderer": "^15.6.1",
+    "react-test-renderer": "^16.2.0",
     "sass-loader": "^6.0.6",
     "style-loader": "^0.19.0",
     "webpack": "^3.8.1",
diff --git a/packages/ui/test/AlignmentBox.test.js b/packages/ui/test/AlignmentBox.test.js
index 0d4b8af1df74f748c864efb3f6c2c39c3316b8e3..dacaab237f80741b8d7baa63d4fb133be06042ff 100644
--- a/packages/ui/test/AlignmentBox.test.js
+++ b/packages/ui/test/AlignmentBox.test.js
@@ -65,6 +65,6 @@ describe('AlignmentBox', () => {
   test('on click the corresponding method is triggered', () => {
     const newWrapper = shallow(<AlignmentBox {...props} />)
     newWrapper.simulate('click')
-    expect(newWrapper.instance().props.onClick).toHaveBeenCalled()
+    expect(newWrapper.props().onClick).toHaveBeenCalled()
   })
 })
diff --git a/packages/ui/test/StateItem.test.js b/packages/ui/test/StateItem.test.js
index a109adf701bc150ad111804eb565f235885068f6..3fb631c16b945afc1e785c0ada2b4a4dc37ffde4 100644
--- a/packages/ui/test/StateItem.test.js
+++ b/packages/ui/test/StateItem.test.js
@@ -41,6 +41,6 @@ describe('StateItem', () => {
 
   test('update method should be triggered upon click', () => {
     wrapper.simulate('click')
-    expect(wrapper.instance().props.update).toHaveBeenCalled()
+    expect(props.update).toHaveBeenCalled()
   })
 })
diff --git a/packages/ui/test/setup/enzyme.js b/packages/ui/test/setup/enzyme.js
index 7ae191afcbbe1d62f2497f8634fcfe952bb6b520..88c8c3b32377a055843d5e5a7f01de7c965fd4e6 100644
--- a/packages/ui/test/setup/enzyme.js
+++ b/packages/ui/test/setup/enzyme.js
@@ -1,4 +1,4 @@
 import Enzyme from 'enzyme'
-import Adapter from 'enzyme-adapter-react-15'
+import Adapter from 'enzyme-adapter-react-16'
 
 Enzyme.configure({ adapter: new Adapter() })
diff --git a/yarn.lock b/yarn.lock
index a0a33b1e2d9e9e2c2a29e9b0c6ec960c5e487f09..fbf26e9f107a518c355aa7d155d8dc750e389778 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -218,8 +218,8 @@
     react-router-redux next
 
 "@types/node@*":
-  version "8.0.58"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.58.tgz#5b3881c0be3a646874803fee3197ea7f1ed6df90"
+  version "9.3.0"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-9.3.0.tgz#3a129cda7c4e5df2409702626892cb4b96546dd5"
 
 "@types/zen-observable@0.5.3":
   version "0.5.3"
@@ -2756,14 +2756,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
     safe-buffer "^5.0.1"
     sha.js "^2.4.8"
 
-create-react-class@^15.6.0:
-  version "15.6.2"
-  resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.2.tgz#cf1ed15f12aad7f14ef5f2dfe05e6c42f91ef02a"
-  dependencies:
-    fbjs "^0.8.9"
-    loose-envify "^1.3.1"
-    object-assign "^4.1.1"
-
 cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
@@ -3490,6 +3482,18 @@ enzyme-adapter-react-15@^1.0.5:
     object.values "^1.0.4"
     prop-types "^15.5.10"
 
+enzyme-adapter-react-16@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.1.tgz#a8f4278b47e082fbca14f5bfb1ee50ee650717b4"
+  dependencies:
+    enzyme-adapter-utils "^1.3.0"
+    lodash "^4.17.4"
+    object.assign "^4.0.4"
+    object.values "^1.0.4"
+    prop-types "^15.6.0"
+    react-reconciler "^0.7.0"
+    react-test-renderer "^16.0.0-0"
+
 enzyme-adapter-utils@^1.1.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.2.0.tgz#7f4471ee0a70b91169ec8860d2bf0a6b551664b2"
@@ -3498,32 +3502,30 @@ enzyme-adapter-utils@^1.1.0:
     object.assign "^4.0.4"
     prop-types "^15.5.10"
 
-enzyme@^2.9.1:
-  version "2.9.1"
-  resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.9.1.tgz#07d5ce691241240fb817bf2c4b18d6e530240df6"
+enzyme-adapter-utils@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.3.0.tgz#d6c85756826c257a8544d362cc7a67e97ea698c7"
   dependencies:
-    cheerio "^0.22.0"
-    function.prototype.name "^1.0.0"
-    is-subset "^0.1.1"
     lodash "^4.17.4"
-    object-is "^1.0.1"
     object.assign "^4.0.4"
-    object.entries "^1.0.4"
-    object.values "^1.0.4"
-    prop-types "^15.5.10"
-    uuid "^3.0.1"
+    prop-types "^15.6.0"
 
-enzyme@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.2.0.tgz#998bdcda0fc71b8764a0017f7cc692c943f54a7a"
+enzyme@^3.2.0, enzyme@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.3.0.tgz#0971abd167f2d4bf3f5bd508229e1c4b6dc50479"
   dependencies:
     cheerio "^1.0.0-rc.2"
     function.prototype.name "^1.0.3"
     has "^1.0.1"
+    is-boolean-object "^1.0.0"
+    is-callable "^1.1.3"
+    is-number-object "^1.0.3"
+    is-string "^1.0.4"
     is-subset "^0.1.1"
     lodash "^4.17.4"
+    object-inspect "^1.5.0"
     object-is "^1.0.1"
-    object.assign "^4.0.4"
+    object.assign "^4.1.0"
     object.entries "^1.0.4"
     object.values "^1.0.4"
     raf "^3.4.0"
@@ -4016,8 +4018,8 @@ eventsource@^1.0.4:
     original "^1.0.0"
 
 eventsourcemock@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/eventsourcemock/-/eventsourcemock-1.0.1.tgz#1bcd88f602097c33d4e95f85923bbba7bd847a86"
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/eventsourcemock/-/eventsourcemock-1.1.0.tgz#388984a51fe1678b5b959bbcf2ca7a6fedff32e9"
 
 evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
   version "1.0.3"
@@ -4577,12 +4579,12 @@ function.name-polyfill@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/function.name-polyfill/-/function.name-polyfill-1.0.5.tgz#d349bb4e24a324f08120455ee78a04142b1257bb"
 
-function.prototype.name@^1.0.0, function.prototype.name@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.0.3.tgz#0099ae5572e9dd6f03c97d023fd92bcc5e639eac"
+function.prototype.name@^1.0.3:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327"
   dependencies:
     define-properties "^1.1.2"
-    function-bind "^1.1.0"
+    function-bind "^1.1.1"
     is-callable "^1.1.3"
 
 functional-red-black-tree@^1.0.1:
@@ -5038,6 +5040,10 @@ has-symbol-support-x@^1.4.1:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz#66ec2e377e0c7d7ccedb07a3a84d77510ff1bc4c"
 
+has-symbols@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
+
 has-to-string-tag-x@^1.4.1:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d"
@@ -5636,6 +5642,10 @@ is-binary-path@^1.0.0:
   dependencies:
     binary-extensions "^1.0.0"
 
+is-boolean-object@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93"
+
 is-buffer@^1.0.2, is-buffer@^1.1.4, is-buffer@^1.1.5:
   version "1.1.6"
   resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -5792,6 +5802,10 @@ is-nil-x@^1.4.1:
     lodash.isnull "^3.0.0"
     validate.io-undefined "^1.0.3"
 
+is-number-object@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799"
+
 is-number@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
@@ -7910,21 +7924,26 @@ object-get-own-property-descriptor-x@^3.2.0:
     to-object-x "^1.4.1"
     to-property-key-x "^2.0.1"
 
+object-inspect@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.5.0.tgz#9d876c11e40f485c79215670281b767488f9bfe3"
+
 object-is@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"
 
-object-keys@^1.0.10, object-keys@^1.0.6, object-keys@^1.0.8:
+object-keys@^1.0.11, object-keys@^1.0.6, object-keys@^1.0.8:
   version "1.0.11"
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
 
-object.assign@^4.0.4:
-  version "4.0.4"
-  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc"
+object.assign@^4.0.4, object.assign@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
   dependencies:
     define-properties "^1.1.2"
-    function-bind "^1.1.0"
-    object-keys "^1.0.10"
+    function-bind "^1.1.1"
+    has-symbols "^1.0.0"
+    object-keys "^1.0.11"
 
 object.entries@^1.0.4:
   version "1.0.4"
@@ -9357,6 +9376,23 @@ react-bootstrap@^0.31.3:
     uncontrollable "^4.1.0"
     warning "^3.0.0"
 
+react-bootstrap@^0.32.0:
+  version "0.32.0"
+  resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.32.0.tgz#7f656be7b0f88e4bdda819135956bad10d3f167e"
+  dependencies:
+    babel-runtime "^6.11.6"
+    classnames "^2.2.5"
+    dom-helpers "^3.2.0"
+    invariant "^2.2.1"
+    keycode "^2.1.2"
+    prop-types "^15.5.10"
+    prop-types-extra "^1.0.1"
+    react-overlays "^0.8.0"
+    react-prop-types "^0.4.0"
+    react-transition-group "^2.0.0"
+    uncontrollable "^4.1.0"
+    warning "^3.0.0"
+
 react-codemirror2@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/react-codemirror2/-/react-codemirror2-2.0.2.tgz#68b2ae8923174a2b3d8b6fe905d0fd3c91d97d97"
@@ -9419,9 +9455,18 @@ react-dom@^15.6.1:
     object-assign "^4.1.0"
     prop-types "^15.5.10"
 
-react-dropzone@^3.7.3:
-  version "3.13.4"
-  resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-3.13.4.tgz#84da26815c40339691c49b4544c2ef7a16912ccc"
+react-dom@^16.2.0:
+  version "16.2.0"
+  resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044"
+  dependencies:
+    fbjs "^0.8.16"
+    loose-envify "^1.1.0"
+    object-assign "^4.1.1"
+    prop-types "^15.6.0"
+
+react-dropzone@^4.2.7:
+  version "4.2.7"
+  resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-4.2.7.tgz#a4963b1f725d5a91e63cd1c2b55ddce537953d46"
   dependencies:
     attr-accept "^1.0.3"
     prop-types "^15.5.7"
@@ -9462,6 +9507,32 @@ react-overlays@^0.7.4:
     prop-types-extra "^1.0.1"
     warning "^3.0.0"
 
+react-overlays@^0.8.0:
+  version "0.8.3"
+  resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz#fad65eea5b24301cca192a169f5dddb0b20d3ac5"
+  dependencies:
+    classnames "^2.2.5"
+    dom-helpers "^3.2.1"
+    prop-types "^15.5.10"
+    prop-types-extra "^1.0.1"
+    react-transition-group "^2.2.0"
+    warning "^3.0.0"
+
+react-prop-types@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/react-prop-types/-/react-prop-types-0.4.0.tgz#f99b0bfb4006929c9af2051e7c1414a5c75b93d0"
+  dependencies:
+    warning "^3.0.0"
+
+react-reconciler@^0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.7.0.tgz#9614894103e5f138deeeb5eabaf3ee80eb1d026d"
+  dependencies:
+    fbjs "^0.8.16"
+    loose-envify "^1.1.0"
+    object-assign "^4.1.1"
+    prop-types "^15.6.0"
+
 react-redux@^5.0.2, react-redux@^5.0.6:
   version "5.0.6"
   resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.6.tgz#23ed3a4f986359d68b5212eaaa681e60d6574946"
@@ -9585,12 +9656,13 @@ react-tag-autocomplete@^5.4.1:
   version "5.5.0"
   resolved "https://registry.yarnpkg.com/react-tag-autocomplete/-/react-tag-autocomplete-5.5.0.tgz#49841388b88323f6bccb0c10039bd0252875b49f"
 
-react-test-renderer@^15.6.1:
-  version "15.6.2"
-  resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.2.tgz#d0333434fc2c438092696ca770da5ed48037efa8"
+react-test-renderer@^16.0.0-0, react-test-renderer@^16.2.0:
+  version "16.2.0"
+  resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.2.0.tgz#bddf259a6b8fcd8555f012afc8eacc238872a211"
   dependencies:
-    fbjs "^0.8.9"
-    object-assign "^4.1.0"
+    fbjs "^0.8.16"
+    object-assign "^4.1.1"
+    prop-types "^15.6.0"
 
 react-transition-group@^1.1.2:
   version "1.2.1"
@@ -9602,15 +9674,25 @@ react-transition-group@^1.1.2:
     prop-types "^15.5.6"
     warning "^3.0.0"
 
-react@^15.4.4, react@^15.6.1:
-  version "15.6.2"
-  resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72"
+react-transition-group@^2.0.0, react-transition-group@^2.2.0:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.2.1.tgz#e9fb677b79e6455fd391b03823afe84849df4a10"
   dependencies:
-    create-react-class "^15.6.0"
-    fbjs "^0.8.9"
+    chain-function "^1.0.0"
+    classnames "^2.2.5"
+    dom-helpers "^3.2.0"
+    loose-envify "^1.3.1"
+    prop-types "^15.5.8"
+    warning "^3.0.0"
+
+react@^16.2.0:
+  version "16.2.0"
+  resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba"
+  dependencies:
+    fbjs "^0.8.16"
     loose-envify "^1.1.0"
-    object-assign "^4.1.0"
-    prop-types "^15.5.10"
+    object-assign "^4.1.1"
+    prop-types "^15.6.0"
 
 read-cmd-shim@^1.0.1:
   version "1.0.1"