diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000000000000000000000000000000000000..fc9770d2b343bfb43f9b957f14e065dfd564ea61 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["env", "react", "stage-2"] +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 8fa68a4175d79cb2f23c89be33b7da2faa5fa7f6..de2d2216f76a138be61ea166db16cb2594b19b68 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM xpub/xpub:base COPY package.json yarn.lock ./ -COPY lerna.json .eslintignore .eslintrc .prettierrc .stylelintignore .stylelintrc ./ +COPY lerna.json .babelrc .eslintignore .eslintrc .prettierrc .stylelintignore .stylelintrc ./ COPY packages packages RUN [ "yarn", "config", "set", "workspaces-experimental", "true" ] diff --git a/README.md b/README.md index abe79d39f62c196676dc0ae9e0d320f3f54be493..a99626638452059daec1f4a4ed1f161cf4fda033 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,6 @@ You can follow more fine-grained lists of things that we're working on ### PubSweet components * `component-app`: a PubSweet component that provides an app container with nav bar and journal provider. -* `component-authentication`: a PubSweet component that provides authentication-related client pages. * `component-dashboard`: a PubSweet component that provides a Dashboard page. * `component-manuscript`: a PubSweet component that provides a Manuscript page. * `component-review`: a PubSweet component that provides a Review page. diff --git a/package.json b/package.json index 8e40b1c8e24846d59a16974c71402e6e72fbeeae..079e1d213d174a5d15d3b0943eded9c29c5e2881 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "lerna": "^2.5.1", "lint-staged": "^4.1.3", "prettier": "^1.8.2", + "react-router-redux": "^5.0.0-alpha.9", "stylelint": "^8.2.0", "stylelint-config-pubsweet": "^0.0.3" }, diff --git a/packages/component-app/package.json b/packages/component-app/package.json index 3307ac7ce63e18a4f85d26b47689b9a4a78aca29..607186ae5fa118ff2f85732536c7140c144f6d29 100644 --- a/packages/component-app/package.json +++ b/packages/component-app/package.json @@ -9,22 +9,22 @@ "dist" ], "dependencies": { + "@pubsweet/ui": "^2.0.0", "classnames": "^2.2.5", "prop-types": "^15.5.10", - "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", "redux": "^3.6.0", "xpub-bootstrap": "^0.0.2", - "xpub-journal": "^0.0.2", - "@pubsweet/ui": "^0.1.1" + "xpub-journal": "^0.0.2" }, "peerDependencies": { "prop-types": "^15.5.10", - "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" } diff --git a/packages/component-app/src/components/App.js b/packages/component-app/src/components/App.js index 9e3fc314f9a8ac9efa6551e0a2f256cbf7279607..be2dd011c9c044a6f39a280c2a8c714478d4ad39 100644 --- a/packages/component-app/src/components/App.js +++ b/packages/component-app/src/components/App.js @@ -6,18 +6,16 @@ import { connect } from 'react-redux' import { AppBar } from '@pubsweet/ui' import { withJournal } from 'xpub-journal' import 'xpub-bootstrap' +import actions from 'pubsweet-client/src/actions' import classes from './App.local.scss' -const App = ({ children, currentUser, journal }) => ( +const App = ({ children, currentUser, journal, logoutUser }) => ( <div className={classes.root}> <AppBar - brandLink="/" - brandName={journal.metadata.name} - loginLink="/login" - logo={journal.metadata.logo} - logoutLink="/logout" - userName={currentUser ? currentUser.username : null} + brand={journal.metadata.name} + onLogoutClick={logoutUser} + user={currentUser} /> <div className={classes.main}>{children}</div> @@ -25,8 +23,11 @@ const App = ({ children, currentUser, journal }) => ( ) export default compose( - connect(state => ({ - currentUser: state.currentUser.user, - })), + connect( + state => ({ + currentUser: state.currentUser.user, + }), + { logoutUser: actions.logoutUser }, + ), withJournal, )(App) diff --git a/packages/component-authentication/README.md b/packages/component-authentication/README.md deleted file mode 100644 index 779ea8cce0b65d325f62b47818c6450a36602eee..0000000000000000000000000000000000000000 --- a/packages/component-authentication/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## pubsweet-component-authentication - -A module containing all the PubSweet components needed for authentication. This module uses UI elements from `pubsweet-ui` and brings in the currentUser reducer from `pubsweet-client` so that all the authentication-related redux code is in the same place. A `PrivateRoute` component is used to ensure that the current user is authenticated and loaded before a page is rendered. - -*Note: -This should be merged with the default authentication components provided by pubsweet.* diff --git a/packages/component-authentication/package.json b/packages/component-authentication/package.json deleted file mode 100644 index b62bb98b25953bc1c8e08c19deaec1515cd5760a..0000000000000000000000000000000000000000 --- a/packages/component-authentication/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "pubsweet-component-xpub-authentication", - "version": "0.0.2", - "main": "src", - "author": "Collaborative Knowledge Foundation", - "license": "MIT", - "files": [ - "src", - "dist" - ], - "dependencies": { - "classnames": "^2.2.5", - "lodash": "^4.17.4", - "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", - "react-redux": "^5.0.2", - "react-router-dom": "^4.2.2", - "recompose": "^0.26.0", - "redux": "^3.6.0", - "redux-form": "^7.0.3", - "@pubsweet/ui": "^0.1.1" - }, - "devDependencies": { - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.0", - "babel-preset-react": "^6.24.1", - "babel-preset-stage-2": "^6.24.1", - "css-loader": "^0.28.4", - "faker": "^4.1.0", - "file-loader": "^1.1.5", - "node-sass": "^4.5.3", - "react-styleguidist": "^6.0.8", - "sass-loader": "^6.0.6", - "style-loader": "^0.19.0", - "webpack": "^3.8.1", - "webpack-node-externals": "^1.6.0", - "xpub-styleguide": "^0.0.2" - }, - "peerDependencies": { - "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", - "react-redux": "^5.0.2", - "react-router-dom": "^4.2.2" - }, - "scripts": { - "styleguide": "styleguidist server", - "styleguide:build": "styleguidist build" - } -} diff --git a/packages/component-authentication/src/components/Form.local.scss b/packages/component-authentication/src/components/Form.local.scss deleted file mode 100644 index 8332e321e5586ddfd10128cb71f2ab0378c69df8..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/Form.local.scss +++ /dev/null @@ -1,86 +0,0 @@ -.root { - font-family: "Fira Sans Condensed", sans-serif; - margin: 0 auto; - width: 30ch; -} - -.title { - font-size: 2em; - margin-bottom: 1.2em; - text-align: left; -} - -.root input { - border: 0 none; - border-bottom: 1px dashed #aaa; - display: block; - font-family: "Fira Sans", sans-serif; - padding: 0; - width: 100%; - - // &:hover, - // &:focus { - // border-bottom: 1px dashed var(--color-primary); - // border-color: transparent; - // box-shadow: none; - // outline-style: none; - // } -} - -.form { - font-size: 0.8em; - margin-top: 1em; - - label { - cursor: text; - display: block; - font-style: italic; - text-transform: lowercase; - - &:hover { - color: var(--color-primary); - } - - input { - font-size: 1.3em; - line-height: 1; - margin-bottom: 3em; - margin-top: 0.6em; - } - } -} - -.root input:hover, -.root input:focus { - border-bottom: 1px dashed var(--color-primary); - border-color: transparent; - box-shadow: none; - outline-style: none; -} - -.button { - display: block; - margin-top: 1em; - padding: 0.4em 2em; -} - -.alternate { - color: #777; - font-size: 0.8em; - margin-top: 1.6em; - text-align: left; - - .message { - margin-right: 1ch; - } - - .link { - border-bottom: 1px solid currentcolor; - color: var(--color-primary); - cursor: pointer; - } -} - -.error { - color: red; -} diff --git a/packages/component-authentication/src/components/Login.js b/packages/component-authentication/src/components/Login.js deleted file mode 100644 index 289d5f7642646b605867500b08f78c61309abf4a..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/Login.js +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react' -import { Field } from 'redux-form' -import { Link } from 'react-router-dom' -import { Button, TextField } from '@pubsweet/ui' -import classes from './Form.local.scss' - -const UsernameInput = props => <TextField label="Username" {...props.input} /> -const PasswordInput = props => ( - <TextField label="Password" {...props.input} type="password" /> -) - -const Login = ({ errorMessage, handleSubmit }) => ( - <div className={classes.root}> - <div className={classes.title}>Login</div> - - {errorMessage && <div className={classes.error}>{errorMessage}</div>} - - <form className={classes.form} onSubmit={handleSubmit}> - <Field component={UsernameInput} name="username" /> - <Field component={PasswordInput} name="password" /> - <Button className={classes.button} primary type="submit"> - Login - </Button> - </form> - - <div className={classes.alternate}> - <span className={classes.message}>You don't have an account?</span> - <Link className={classes.link} to="/signup"> - Sign up - </Link> - </div> - </div> -) - -export default Login diff --git a/packages/component-authentication/src/components/Login.md b/packages/component-authentication/src/components/Login.md deleted file mode 100644 index a6e46436111060ee42936ea346a7fa806468c838..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/Login.md +++ /dev/null @@ -1,23 +0,0 @@ -A login form. - -```js -const { reduxForm } = require('redux-form'); - -const LoginForm = reduxForm({ form: 'login' })(Login); - -<LoginForm - onSubmit={values => console.log(values)}/> -``` - -An error is displayed at the top of the form. - -```js -const { reduxForm } = require('redux-form'); - -const LoginForm = reduxForm({ form: 'login-error' })(Login); - -<LoginForm - errorMessage="There was an error" - onSubmit={values => console.log(values)}/> -``` - diff --git a/packages/component-authentication/src/components/LoginPage.js b/packages/component-authentication/src/components/LoginPage.js deleted file mode 100644 index 21ec2c0767493c0079f790574037fad84e96de3c..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/LoginPage.js +++ /dev/null @@ -1,31 +0,0 @@ -import { reduxForm, SubmissionError } from 'redux-form' -import { compose } from 'recompose' -import { connect } from 'react-redux' -import { login } from '../redux/login' -import Login from './Login' -import redirectPath from '../redirect' - -const onSubmit = (values, dispatch, { history, location }) => { - dispatch(login(values)) - .then(() => { - history.push(redirectPath({ location })) - }) - .catch(error => { - if (error.validationErrors) { - throw new SubmissionError(error.validationErrors) - } else { - console.error(error) - // TODO: display error - } - }) -} - -export default compose( - reduxForm({ - form: 'login', - onSubmit, - }), - connect(state => ({ - error: state.login.error, - })), -)(Login) diff --git a/packages/component-authentication/src/components/LogoutPage.js b/packages/component-authentication/src/components/LogoutPage.js deleted file mode 100644 index cc3378af337233a55d76c48dcb9c973170d88765..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/LogoutPage.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react' -import { compose } from 'recompose' -import { connect } from 'react-redux' -import { Redirect } from 'react-router-dom' -import { logout } from '../redux/logout' - -class Logout extends React.Component { - componentDidMount() { - const { isAuthenticated, logout } = this.props - - if (isAuthenticated) { - logout() - } - } - - componentWillReceiveProps(nextProps) { - const { isAuthenticated, logout } = nextProps - - if (isAuthenticated) { - logout() - } - } - - render() { - const { isAuthenticated } = this.props - - return isAuthenticated ? <div>Signing out…</div> : <Redirect to="/" /> - } -} - -export default compose( - connect( - state => ({ - isAuthenticated: state.currentUser.isAuthenticated, - }), - { - logout, - }, - ), -)(Logout) diff --git a/packages/component-authentication/src/components/PrivateRoute.js b/packages/component-authentication/src/components/PrivateRoute.js deleted file mode 100644 index 7ef65bd770709795a55d0c704e691ef50280d266..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/PrivateRoute.js +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react' -import { compose } from 'recompose' -import { connect } from 'react-redux' -import { Route, Redirect, withRouter } from 'react-router-dom' -import { getCurrentUser } from '../redux/currentUser' - -const PrivateRoute = ({ - currentUser, - getCurrentUser, - component: Component, - ...rest -}) => ( - <Route - {...rest} - render={props => { - if (!currentUser.isFetched) { - if (!currentUser.isFetching) { - getCurrentUser() - } - - return <div>loading…</div> - } - - if (!currentUser.isAuthenticated) { - return ( - <Redirect - to={{ - pathname: '/login', - state: { from: props.location }, - }} - /> - ) - } - - return <Component {...props} /> - }} - /> -) - -export default compose( - withRouter, - connect( - state => ({ - currentUser: state.currentUser, - }), - { - getCurrentUser, - }, - ), -)(PrivateRoute) diff --git a/packages/component-authentication/src/components/Signup.js b/packages/component-authentication/src/components/Signup.js deleted file mode 100644 index e7497177509b9b81c9cbd324a6092f16a18f2e10..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/Signup.js +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react' -import { Field } from 'redux-form' -import { Link } from 'react-router-dom' -import { Button, TextField } from '@pubsweet/ui' -import classes from './Form.local.scss' - -const UsernameInput = props => <TextField label="Username" {...props.input} /> -const EmailInput = props => ( - <TextField label="Email" {...props.input} type="email" /> -) -const PasswordInput = props => ( - <TextField label="Password" {...props.input} type="password" /> -) - -const Signup = ({ errorMessage, handleSubmit }) => ( - <div className={classes.root}> - <div className={classes.title}>Sign up</div> - - {errorMessage && <div className={classes.error}>{errorMessage}</div>} - - <form className={classes.form} onSubmit={handleSubmit}> - <Field component={UsernameInput} name="username" /> - <Field component={EmailInput} name="email" /> - <Field component={PasswordInput} name="password" /> - <Button className={classes.button} primary type="submit"> - Sign up - </Button> - </form> - - <div className={classes.alternate}> - <span className={classes.message}>Already have an account?</span> - <Link className={classes.link} to="/login"> - Login - </Link> - </div> - </div> -) - -export default Signup diff --git a/packages/component-authentication/src/components/Signup.md b/packages/component-authentication/src/components/Signup.md deleted file mode 100644 index ca2e125e5f1e91e663b61d1c138422ecc4e1a91b..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/Signup.md +++ /dev/null @@ -1,24 +0,0 @@ -A signup form. - -```js -const { reduxForm } = require('redux-form'); - -const SignupForm = reduxForm({ form: 'signup' })(Signup); - -<SignupForm - onSubmit={values => console.log(values)}/> -``` - -An error is displayed at the top of the form. - -```js - -const { reduxForm } = require('redux-form'); - -const SignupForm = reduxForm({ form: 'signup-error' })(Signup); - -<SignupForm - errorMessage="There was an error" - onSubmit={values => console.log(values)}/> -``` - diff --git a/packages/component-authentication/src/components/SignupPage.js b/packages/component-authentication/src/components/SignupPage.js deleted file mode 100644 index 74443dcb6a4d04ee32f69eb8696cfb79cc3ff77a..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/SignupPage.js +++ /dev/null @@ -1,31 +0,0 @@ -import { connect } from 'react-redux' -import { compose } from 'recompose' -import { reduxForm, SubmissionError } from 'redux-form' -import { signup } from '../redux/signup' -import Signup from './Signup' -import redirectPath from '../redirect' - -const onSubmit = (values, dispatch, { history, location }) => { - dispatch(signup(values)) - .then(() => { - history.push(redirectPath({ location })) - }) - .catch(error => { - if (error.validationErrors) { - throw new SubmissionError(error.validationErrors) - } else { - console.error(error) - // TODO: display error - } - }) -} - -export default compose( - reduxForm({ - form: 'signup', - onSubmit, - }), - connect(state => ({ - error: state.signup.error, - })), -)(Signup) diff --git a/packages/component-authentication/src/components/index.js b/packages/component-authentication/src/components/index.js deleted file mode 100644 index 09e29ab7e68f3f486663c7aea776432680211d4c..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/components/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export { default as PrivateRoute } from './PrivateRoute' -export { default as LoginPage } from './LoginPage' -export { default as LogoutPage } from './LogoutPage' -export { default as SignupPage } from './SignupPage' diff --git a/packages/component-authentication/src/index.js b/packages/component-authentication/src/index.js deleted file mode 100644 index 44c18796cbf37e9b2319ab74efbbcdcff5a1a5a8..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/index.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - frontend: { - components: [() => require('./components')], - reducers: { - currentUser: () => require('./redux/currentUser').default, - login: () => require('./redux/login').default, - signup: () => require('./redux/signup').default, - }, - }, -} diff --git a/packages/component-authentication/src/redirect.js b/packages/component-authentication/src/redirect.js deleted file mode 100644 index fad202d048b96a1692c4c069044c7022c1b20164..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/redirect.js +++ /dev/null @@ -1,10 +0,0 @@ -import { get } from 'lodash' -import config from 'config' - -const allowedRedirect = pathname => - ['/logout', '/login', '/signup'].indexOf(pathname) === -1 - -export default ({ location: { state } }) => - state && state.from && allowedRedirect(state.from.pathname) - ? state.from.pathname - : get(config, ['pubsweet-client', 'login-redirect'], '/') diff --git a/packages/component-authentication/src/redux/currentUser.js b/packages/component-authentication/src/redux/currentUser.js deleted file mode 100644 index 93b4c12a858104bcd8a7db7fce1774f277902cab..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/redux/currentUser.js +++ /dev/null @@ -1,90 +0,0 @@ -import * as api from 'pubsweet-client/src/helpers/api' - -import { LOGOUT_SUCCESS } from './logout' - -/* constants */ - -export const GET_CURRENT_USER_REQUEST = 'GET_CURRENT_USER_REQUEST' -export const GET_CURRENT_USER_SUCCESS = 'GET_CURRENT_USER_SUCCESS' -export const GET_CURRENT_USER_FAILURE = 'GET_CURRENT_USER_FAILURE' - -/* actions */ - -export const getCurrentUserRequest = () => ({ - type: GET_CURRENT_USER_REQUEST, -}) - -export const getCurrentUserSuccess = user => ({ - type: GET_CURRENT_USER_SUCCESS, - user, -}) - -export const getCurrentUserFailure = error => ({ - error, - type: GET_CURRENT_USER_FAILURE, -}) - -export const getCurrentUser = () => dispatch => { - dispatch(getCurrentUserRequest()) - return api.get('/users/authenticate').then( - user => dispatch(getCurrentUserSuccess(user)), - error => { - dispatch(getCurrentUserFailure(error)) - throw error - }, - ) -} - -/* reducer */ - -const initialState = { - error: null, - isAuthenticated: false, - isFetched: false, - isFetching: false, - user: null, -} - -export default (state = initialState, action) => { - switch (action.type) { - case GET_CURRENT_USER_REQUEST: - return { - error: null, - isAuthenticated: false, - isFetched: false, - isFetching: true, - user: null, - } - - case GET_CURRENT_USER_FAILURE: - return { - error: action.error, - isAuthenticated: false, - isFetched: true, - isFetching: false, - user: null, - } - - case GET_CURRENT_USER_SUCCESS: - return { - error: null, - isAuthenticated: true, - isFetched: true, - isFetching: false, - user: action.user, - } - - // clear the current user on logout - case LOGOUT_SUCCESS: - return { - error: null, - isAuthenticated: false, - isFetched: false, - isFetching: false, - user: null, - } - - default: - return state - } -} diff --git a/packages/component-authentication/src/redux/index.js b/packages/component-authentication/src/redux/index.js deleted file mode 100644 index 4434d36dfce249f7b9e605285cbe3322a8107f1e..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/redux/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export * as currentUser from './currentUser' -export * as login from './login' -export * as signup from './signup' diff --git a/packages/component-authentication/src/redux/login.js b/packages/component-authentication/src/redux/login.js deleted file mode 100644 index 706cb02549612e2b681d90706e927acc1416a3b5..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/redux/login.js +++ /dev/null @@ -1,73 +0,0 @@ -import * as api from 'pubsweet-client/src/helpers/api' -import { getCurrentUser } from './currentUser' - -// TODO: This will break when rendered on a server -const localStorage = window.localStorage || undefined - -/* constants */ - -export const LOGIN_REQUEST = 'LOGIN_REQUEST' -export const LOGIN_SUCCESS = 'LOGIN_SUCCESS' -export const LOGIN_FAILURE = 'LOGIN_FAILURE' - -/* actions */ - -export const loginRequest = credentials => ({ - type: LOGIN_REQUEST, -}) - -export const loginSuccess = user => ({ - type: LOGIN_SUCCESS, -}) - -export const loginFailure = error => ({ - error, - type: LOGIN_FAILURE, -}) - -export const login = credentials => dispatch => { - dispatch(loginRequest()) - return api.create('/users/authenticate', credentials).then( - user => { - localStorage.setItem('token', user.token) - dispatch(loginSuccess()) - return dispatch(getCurrentUser()) - }, - error => { - dispatch(loginFailure(error)) - throw error - }, - ) -} - -/* reducer */ - -const initialState = { - error: null, - isFetching: false, -} - -export default (state = initialState, action) => { - switch (action.type) { - case LOGIN_REQUEST: - return { - error: null, - isFetching: true, - } - - case LOGIN_SUCCESS: - return { - error: null, - isFetching: false, - } - - case LOGIN_FAILURE: - return { - error: action.error, - isFetching: false, - } - - default: - return state - } -} diff --git a/packages/component-authentication/src/redux/logout.js b/packages/component-authentication/src/redux/logout.js deleted file mode 100644 index 63871ebb2a48ad1080d2dfee9f3b15772dc6e60e..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/redux/logout.js +++ /dev/null @@ -1,14 +0,0 @@ -/* constants */ - -export const LOGOUT_SUCCESS = 'LOGOUT_SUCCESS' - -/* actions */ - -export const logoutSuccess = () => ({ - type: LOGOUT_SUCCESS, -}) - -export const logout = () => dispatch => { - localStorage.removeItem('token') - return dispatch(logoutSuccess()) -} diff --git a/packages/component-authentication/src/redux/signup.js b/packages/component-authentication/src/redux/signup.js deleted file mode 100644 index daa23590f8d875ad7355547dc629f4ba1be515b9..0000000000000000000000000000000000000000 --- a/packages/component-authentication/src/redux/signup.js +++ /dev/null @@ -1,70 +0,0 @@ -import * as api from 'pubsweet-client/src/helpers/api' -import { login } from './login' - -/* constants */ - -export const SIGNUP_REQUEST = 'SIGNUP_REQUEST' -export const SIGNUP_SUCCESS = 'SIGNUP_SUCCESS' -export const SIGNUP_FAILURE = 'SIGNUP_FAILURE' - -/* actions */ - -export const signupRequest = () => ({ - type: SIGNUP_REQUEST, -}) - -export const signupSuccess = user => ({ - type: SIGNUP_SUCCESS, - user, -}) - -export const signupFailure = error => ({ - error, - type: SIGNUP_FAILURE, -}) - -export const signup = credentials => dispatch => { - dispatch(signupRequest()) - return api.create('/users', credentials).then( - user => { - dispatch(signupSuccess(user)) - dispatch(login(credentials)) - }, - error => { - dispatch(signupFailure(error)) - throw error - }, - ) -} - -/* reducer */ - -const initialState = { - error: null, - isFetching: false, -} - -export default (state = initialState, action) => { - switch (action.type) { - case SIGNUP_REQUEST: - return { - error: null, - isFetching: true, - } - - case SIGNUP_SUCCESS: - return { - error: null, - isFetching: false, - } - - case SIGNUP_FAILURE: - return { - error: action.error, - isFetching: false, - } - - default: - return state - } -} diff --git a/packages/component-authentication/styleguide.config.js b/packages/component-authentication/styleguide.config.js deleted file mode 100644 index 2c8697088f1d9f28b22dcae5474b05479c6aa9dd..0000000000000000000000000000000000000000 --- a/packages/component-authentication/styleguide.config.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - title: 'xpub authentication style guide', - styleguideComponents: { - StyleGuideRenderer: require.resolve( - 'xpub-styleguide/src/components/StyleGuideRenderer', - ), - Wrapper: require.resolve('xpub-styleguide/src/components/Wrapper'), - }, - skipComponentsWithoutExample: true, - serverPort: 6061, - theme: { - fontFamily: { - base: '"Fira Sans", sans-serif', - }, - color: { - link: 'cornflowerblue', - }, - }, -} diff --git a/packages/component-authentication/webpack.config.js b/packages/component-authentication/webpack.config.js deleted file mode 100644 index 4aa149ad2cbf750326137fc79ccd7e7685271ad3..0000000000000000000000000000000000000000 --- a/packages/component-authentication/webpack.config.js +++ /dev/null @@ -1,3 +0,0 @@ -const webpackConfig = require('xpub-styleguide/src/webpack-config') - -module.exports = webpackConfig(__dirname) diff --git a/packages/component-dashboard/package.json b/packages/component-dashboard/package.json index b03081dd2a2138adda2001d7d325ad8ea37fd28a..f87fe37030b93ff2eeeec63455903a923aa849fd 100644 --- a/packages/component-dashboard/package.json +++ b/packages/component-dashboard/package.json @@ -9,23 +9,23 @@ "dist" ], "dependencies": { + "@pubsweet/ui": "^2.0.0", "classnames": "^2.2.5", "lodash": "^4.17.4", "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "pubsweet-component-ink-frontend": "^0.2.3", - "react": "^15.6.1", - "react-dom": "^15.6.1", - "react-redux": "^5.0.2", - "react-router-dom": "^4.2.2", + "pubsweet-client": "^2.1.0", + "pubsweet-component-ink-frontend": "^1.0.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-dropzone": "^4.1.2", "react-moment": "^0.6.1", + "react-redux": "^5.0.2", + "react-router-dom": "^4.2.2", "recompose": "^0.26.0", "redux": "^3.6.0", "xpub-connect": "^0.0.2", "xpub-journal": "^0.0.2", "xpub-selectors": "^0.0.2", - "@pubsweet/ui": "^0.1.1", "xpub-upload": "^0.0.2" }, "devDependencies": { @@ -35,21 +35,39 @@ "babel-preset-react": "^6.24.1", "babel-preset-stage-2": "^6.24.1", "css-loader": "^0.28.4", + "enzyme": "^3.3.0", + "enzyme-adapter-react-16": "^1.1.1", "faker": "^4.1.0", "file-loader": "^1.1.5", + "identity-obj-proxy": "^3.0.0", + "jest": "^22.1.1", "node-sass": "^4.5.3", - "react-styleguidist": "^6.0.8", + "react-styleguidist": "^6.2.5", + "react-test-renderer": "^16.2.0", + "redux-mock-store": "^1.4.0", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "webpack": "^3.8.1", "webpack-node-externals": "^1.6.0", "xpub-styleguide": "^0.0.2" }, + "jest": { + "moduleNameMapper": { + "\\.s?css$": "identity-obj-proxy" + }, + "transformIgnorePatterns": [ + "/node_modules/(?!@?pubsweet)" + ], + "globals": { + "PUBSWEET_COMPONENTS": [] + } + }, "scripts": { "styleguide": "styleguidist server", "styleguide:build": "styleguidist build", "clean": "rimraf dist", "prebuild": "npm run clean && npm run lint", - "build": "webpack --progress --profile" + "build": "webpack --progress --profile", + "test": "jest" } } diff --git a/packages/component-dashboard/src/components/Dashboard.test.js b/packages/component-dashboard/src/components/Dashboard.test.js new file mode 100644 index 0000000000000000000000000000000000000000..7cf3e04a51d3f7e1aba0fab0f206a9cf8668fb0b --- /dev/null +++ b/packages/component-dashboard/src/components/Dashboard.test.js @@ -0,0 +1,81 @@ +import React from 'react' +import Enzyme, { shallow } from 'enzyme' +import Adapter from 'enzyme-adapter-react-16' + +import Dashboard from './Dashboard' + +// this should be elsewhere +Enzyme.configure({ adapter: new Adapter() }) + +jest.mock('config', () => ({ 'pubsweet-client': {} })) + +const getProjects = section => + section + .children() + .not('.heading') + .map(c => c.props().project) + +describe('Dashboard', () => { + const makeWrapper = (props = {}) => { + props = Object.assign( + { + dashboard: {}, + conversion: {}, + }, + props, + ) + + props.dashboard = Object.assign( + { + owner: [], + reviewer: [], + editor: [], + }, + props.dashboard, + ) + + return shallow(<Dashboard {...props} />) + } + + it('shows a message when there are no projects', () => { + const dashboard = makeWrapper() + expect(dashboard.find('.empty')).toHaveLength(1) + expect(dashboard.find('.heading')).toHaveLength(0) + }) + + it('shows a list of projects submitted by the current user', () => { + const project = { id: 1 } + const dashboard = makeWrapper({ + dashboard: { owner: [project] }, + }) + + expect(dashboard.find('.empty')).toHaveLength(0) + const section = dashboard.find('.section') + expect(section).toHaveLength(1) + expect(getProjects(section)).toEqual([project]) + }) + + it('shows a list of projects to be reviewed', () => { + const project = { id: 1 } + const dashboard = makeWrapper({ + dashboard: { reviewer: [project] }, + }) + + expect(dashboard.find('.empty')).toHaveLength(0) + const section = dashboard.find('.section') + expect(section).toHaveLength(1) + expect(getProjects(section)).toEqual([project]) + }) + + it('shows a list of projects of which the current user is the editor', () => { + const project = { id: 1 } + const dashboard = makeWrapper({ + dashboard: { editor: [project] }, + }) + + expect(dashboard.find('.empty')).toHaveLength(0) + const section = dashboard.find('.section') + expect(section).toHaveLength(1) + expect(getProjects(section)).toEqual([project]) + }) +}) diff --git a/packages/component-dashboard/src/components/DashboardPage.integration.test.js b/packages/component-dashboard/src/components/DashboardPage.integration.test.js new file mode 100644 index 0000000000000000000000000000000000000000..139306dea81beea69cb3c768963622295021ad6b --- /dev/null +++ b/packages/component-dashboard/src/components/DashboardPage.integration.test.js @@ -0,0 +1,62 @@ +import React from 'react' +import { MemoryRouter } from 'react-router-dom' +import { Provider } from 'react-redux' +import { combineReducers } from 'redux' +import configureMockStore from 'redux-mock-store' +import thunk from 'redux-thunk' +import Enzyme, { mount } from 'enzyme' +import Adapter from 'enzyme-adapter-react-16' + +import { reducers } from 'pubsweet-client' +import conversion from '../redux/conversion' + +import DashboardPage from './DashboardPage' + +// this should be elsewhere +Enzyme.configure({ adapter: new Adapter() }) + +jest.mock('config', () => ({ 'pubsweet-client': {} })) + +// Mock out the API +jest.mock('pubsweet-client/src/helpers/api', () => ({ + get: jest.fn(url => { + // Whatever the request is, return an empty array + const response = [] + return new Promise(resolve => resolve(response)) + }), +})) + +global.window.localStorage = { + getItem: jest.fn(() => 'tok123'), +} + +reducers.conversion = conversion +const reducer = combineReducers(reducers) + +const middlewares = [thunk] +const mockStore = () => + configureMockStore(middlewares)(actions => + actions.reduce(reducer, { + currentUser: { isAuthenticated: true }, + conversion: { converting: false }, + }), + ) + +describe('DashboardPage', () => { + it('runs', done => { + const store = mockStore() + const page = mount( + <MemoryRouter> + <Provider store={store}> + <DashboardPage /> + </Provider> + </MemoryRouter>, + ) + + setImmediate(() => { + page.update() + expect(page.find('.empty')).toHaveLength(1) + done() + }) + }) +}) diff --git a/packages/component-dashboard/src/components/Reviews.js b/packages/component-dashboard/src/components/Reviews.js index 7ab111cfd159a362136776ca51ec2e3d8c38a233..a671e4f0fc0d4ee45d904c2a903c1b82eb2f76b4 100644 --- a/packages/component-dashboard/src/components/Reviews.js +++ b/packages/component-dashboard/src/components/Reviews.js @@ -1,20 +1,25 @@ import React from 'react' import { compose, withProps } from 'recompose' import { groupBy } from 'lodash' +import { withJournal } from 'xpub-journal' import { Badge } from '@pubsweet/ui' import classes from './Reviews.local.scss' -const Reviews = ({ reviews }) => ( +const Reviews = ({ reviews, journal }) => ( <div className={classes.root}> - {Object.keys(reviews).map(status => ( + {journal.reviewStatus.map(status => ( <span className={classes.badge} key={status}> - <Badge count={reviews[status].length} label={status} /> + <Badge + count={reviews[status] ? reviews[status].length : 0} + label={status} + /> </span> ))} </div> ) export default compose( + withJournal, withProps(props => ({ reviews: groupBy(props.version.reviewers, 'status'), })), diff --git a/packages/component-dashboard/src/components/sections/EditorItem.js b/packages/component-dashboard/src/components/sections/EditorItem.js index 6983c73df954d0e805b8354391e0aabf4163a4e8..5efbbfc62dd1e234ade700782760ecbfcc27b49c 100644 --- a/packages/component-dashboard/src/components/sections/EditorItem.js +++ b/packages/component-dashboard/src/components/sections/EditorItem.js @@ -54,7 +54,9 @@ const EditorItem = ({ AssignEditor, project, version, addUserToTeam }) => ( <Divider separator="–" /> <MetadataSections sections={version.metadata.articleSection} /> <Divider separator="–" /> - <MetadataReviewType openReview={version.declarations.openReview} /> + <MetadataReviewType + openPeerReview={version.declarations.openPeerReview} + /> </div> </div> diff --git a/packages/component-dashboard/src/components/sections/ReviewerItem.js b/packages/component-dashboard/src/components/sections/ReviewerItem.js index 8ec3b786910cfb0641f85e48464051725b047224..9b68a4617b75578bebe94ea92a5ed07e552d7cac 100644 --- a/packages/component-dashboard/src/components/sections/ReviewerItem.js +++ b/packages/component-dashboard/src/components/sections/ReviewerItem.js @@ -7,7 +7,7 @@ import Divider from './Divider' import VersionTitle from './VersionTitle' // TODO: only return links if version id is in reviewer.accepted array -// TODO: only return actions if not accepted or declined +// TODO: only return actions if not accepted or rejected // TODO: review id in link const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { @@ -19,8 +19,9 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { <VersionTitle className={classes.versionTitle} version={version} /> {reviewer && ( - <div> - {reviewer.status === 'accepted' && ( + <div className={classes.links}> + {(reviewer.status === 'accepted' || + reviewer.status === 'completed') && ( <div className={classes.links}> <div className={classes.link}> <ProjectLink @@ -29,7 +30,7 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { project={project} version={version} > - {reviewer.submitted ? 'Reviewed' : 'Do Review'} + {reviewer.submitted ? 'Completed' : 'Do Review'} </ProjectLink> </div> </div> @@ -52,7 +53,7 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { <div className={classes.action}> <Button onClick={() => - reviewerResponse(project, version, reviewer, 'declined') + reviewerResponse(project, version, reviewer, 'rejected') } > reject @@ -60,8 +61,7 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { </div> </div> )} - - {reviewer.status === 'declined' && <div>declined</div>} + {reviewer.status === 'rejected' && 'rejected'} </div> )} </div> diff --git a/packages/component-dashboard/src/redux/conversion.test.js b/packages/component-dashboard/src/redux/conversion.test.js new file mode 100644 index 0000000000000000000000000000000000000000..f46be1fa68d06952fdd0579e396e3c195bcf30cb --- /dev/null +++ b/packages/component-dashboard/src/redux/conversion.test.js @@ -0,0 +1,15 @@ +import * as reducers from './conversion' + +jest.mock('config', () => ({ 'pubsweet-client': {} })) + +describe('default reducer', () => { + it('updates state', () => { + const initialState = { converting: false, error: undefined } + + const newState = reducers.default(initialState, { + type: reducers.UPLOAD_MANUSCRIPT_REQUEST, + }) + + expect(newState).toEqual({ converting: true, error: undefined }) + }) +}) diff --git a/packages/component-manuscript/package.json b/packages/component-manuscript/package.json index f5c91201e2d0761259d92cc1706d9acd74500b11..f95c91142302c953dc9d31fed300ecabcb746692 100644 --- a/packages/component-manuscript/package.json +++ b/packages/component-manuscript/package.json @@ -7,15 +7,15 @@ ], "main": "src", "dependencies": { - "wax-editor-react": "^0.0.10", + "wax-editor-react": "^0.1.10", "xpub-connect": "^0.0.2", "xpub-selectors": "^0.0.2" }, "peerDependencies": { "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "pubsweet-client": "^2.1.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-redux": "^5.0.2", "react-router-dom": "^4.2.2", "recompose": "^0.26.0" @@ -30,19 +30,19 @@ "faker": "^4.1.0", "file-loader": "^1.1.5", "node-sass": "^4.5.3", + "prop-types": "^15.5.10", + "pubsweet-client": "^2.1.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-redux": "^5.0.2", + "react-router-dom": "^4.2.2", + "react-styleguidist": "^6.2.5", "recompose": "^0.26.0", "rimraf": "^2.6.1", - "react-styleguidist": "^6.0.8", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "webpack": "^3.8.1", "webpack-node-externals": "^1.6.0", - "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", - "react-redux": "^5.0.2", - "react-router-dom": "^4.2.2", "xpub-styleguide": "^0.0.2" }, "scripts": { diff --git a/packages/component-review/package.json b/packages/component-review/package.json index abc7d527bb05ee8f82501d4446bf1de4e75e2875..c4d070059ee02664bff4e30905cc6d64ce181be8 100644 --- a/packages/component-review/package.json +++ b/packages/component-review/package.json @@ -9,13 +9,14 @@ "dist" ], "dependencies": { + "@pubsweet/ui": "^2.0.0", "classnames": "^2.2.5", "lodash": "^4.17.4", "moment": "^2.18.1", "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "pubsweet-client": "^2.1.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-moment": "^0.6.1", "react-redux": "^5.0.2", "react-router-dom": "^4.2.2", @@ -25,12 +26,11 @@ "redux-form": "^7.0.3", "striptags": "^3.1.0", "uuid": "^3.1.0", - "wax-editor-react": "^0.0.10", + "wax-editor-react": "^0.1.8", "xpub-connect": "^0.0.2", "xpub-edit": "^0.0.2", "xpub-journal": "^0.0.2", "xpub-selectors": "^0.0.2", - "@pubsweet/ui": "^0.1.1", "xpub-upload": "^0.0.2", "xpub-validators": "^0.0.2" }, @@ -44,7 +44,7 @@ "faker": "^4.1.0", "file-loader": "^1.1.5", "node-sass": "^4.5.3", - "react-styleguidist": "^6.0.8", + "react-styleguidist": "^6.2.5", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "webpack": "^3.8.1", @@ -53,9 +53,9 @@ }, "peerDependencies": { "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "pubsweet-client": "^2.1.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-redux": "^5.0.2", "react-router-dom": "^4.2.2" }, diff --git a/packages/component-review/src/components/ReviewPage.js b/packages/component-review/src/components/ReviewPage.js index 3b42c80703c07784bbcb2089be8ce82417fbfef8..337231247252a7e011bc6d5f354b69e98b31b588 100644 --- a/packages/component-review/src/components/ReviewPage.js +++ b/packages/component-review/src/components/ReviewPage.js @@ -23,9 +23,9 @@ const onSubmit = ( { history, project, version, reviewer }, ) => { Object.assign(reviewer, { - status: 'reviewed', - submitted: new Date(), ...values, + status: 'completed', + submitted: new Date(), }) return dispatch( @@ -48,7 +48,7 @@ const onSubmit = ( const onChange = (values, dispatch, { project, version, reviewer }) => { Object.assign(reviewer, { - submitted: new Date(), + // submitted: new Date(), ...values, }) diff --git a/packages/component-review/src/components/decision/DecisionLayout.js b/packages/component-review/src/components/decision/DecisionLayout.js index 5fb2cf4dc1f7b4d4f500c3dc56ee01b633c3f814..ef571250d18d3dd37ed78a96f3b1150f5748e4f0 100644 --- a/packages/component-review/src/components/decision/DecisionLayout.js +++ b/packages/component-review/src/components/decision/DecisionLayout.js @@ -52,6 +52,7 @@ const DecisionLayout = ({ content: ( <SimpleEditor content={version.source} + editing="selection" key={key} layout="bare" readOnly @@ -97,6 +98,7 @@ const DecisionLayout = ({ content: ( <SimpleEditor content={currentVersion.source} + editing="selection" key={key} layout="bare" readOnly diff --git a/packages/component-review/src/components/metadata/ReviewMetadata.js b/packages/component-review/src/components/metadata/ReviewMetadata.js index 8c3912c5e7f68df90dead525c77dd1be7b7c24d3..2d7c8023d1fef2cb90bedc9e5a230141479cdf96 100644 --- a/packages/component-review/src/components/metadata/ReviewMetadata.js +++ b/packages/component-review/src/components/metadata/ReviewMetadata.js @@ -10,7 +10,9 @@ const ReviewMetadata = ({ version, handlingEditors }) => ( <tbody> <tr> <th className={classes.heading}>peer review:</th> - <td>{version.declarations.openReview ? 'open' : 'closed'}</td> + <td> + {version.declarations.openPeerReview === 'yes' ? 'open' : 'closed'} + </td> </tr> {!!handlingEditors && ( diff --git a/packages/component-review/src/components/review/ReviewLayout.js b/packages/component-review/src/components/review/ReviewLayout.js index 6eae08e98de8120165c453f45ad419a495f425fd..1dae14203276643e81565598057fadfb1945ddc2 100644 --- a/packages/component-review/src/components/review/ReviewLayout.js +++ b/packages/component-review/src/components/review/ReviewLayout.js @@ -53,6 +53,7 @@ const ReviewLayout = ({ content: ( <SimpleEditor content={version.source} + editing="selection" key={key} layout="bare" readOnly @@ -65,7 +66,7 @@ const ReviewLayout = ({ }, []) const review = currentVersion.reviewers.find( - review => review.reviewer === reviewer.id, + review => review.id === reviewer.id, ) if (currentVersion.submitted && (!review || !review.submitted)) { @@ -96,6 +97,7 @@ const ReviewLayout = ({ content: ( <SimpleEditor content={currentVersion.source} + editing="selection" key={key} layout="bare" readOnly diff --git a/packages/component-submit/package.json b/packages/component-submit/package.json index f5a2d81758cd0e1d88e54d9813301f9b777c59fa..117743ba81e7f5d8683f55318a2c4445d396e6b1 100644 --- a/packages/component-submit/package.json +++ b/packages/component-submit/package.json @@ -9,12 +9,13 @@ "dist" ], "dependencies": { + "@pubsweet/ui": "^2.0.0", "classnames": "^2.2.5", "lodash": "^4.17.4", "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "pubsweet-client": "^2.1.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-redux": "^5.0.2", "react-router-dom": "^4.2.2", "recompose": "^0.26.0", @@ -25,7 +26,6 @@ "xpub-edit": "^0.0.2", "xpub-journal": "^0.0.2", "xpub-selectors": "^0.0.2", - "@pubsweet/ui": "^0.1.1", "xpub-upload": "^0.0.2", "xpub-validators": "^0.0.2" }, @@ -39,7 +39,7 @@ "faker": "^4.1.0", "file-loader": "^1.1.5", "node-sass": "^4.5.3", - "react-styleguidist": "^6.0.8", + "react-styleguidist": "^6.2.5", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "webpack": "^3.8.1", @@ -48,9 +48,9 @@ }, "peerDependencies": { "prop-types": "^15.5.10", - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "pubsweet-client": "^2.1.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-redux": "^5.0.2", "react-router-dom": "^4.2.2" }, diff --git a/packages/component-submit/src/components/Declarations.js b/packages/component-submit/src/components/Declarations.js index d7d3e967ff9a1d719fffb1c713941250d53383c1..21b9585a7ed7b1a4105cbc0a648d84a664c2085b 100644 --- a/packages/component-submit/src/components/Declarations.js +++ b/packages/component-submit/src/components/Declarations.js @@ -1,12 +1,14 @@ import React from 'react' import classnames from 'classnames' import { FormSection } from 'redux-form' -import { ValidatedField, YesOrNo } from '@pubsweet/ui' +import { ValidatedField, RadioGroup } from '@pubsweet/ui' import { withJournal } from 'xpub-journal' import { required } from 'xpub-validators' import classes from './Declarations.local.scss' -const DeclarationInput = input => <YesOrNo inline {...input} /> +const DeclarationInput = options => input => ( + <RadioGroup inline options={options} {...input} /> +) const Declarations = ({ journal, readonly }) => ( <FormSection name="declarations"> @@ -22,7 +24,7 @@ const Declarations = ({ journal, readonly }) => ( > <div className={classes.legend}>{question.legend}</div> <ValidatedField - component={DeclarationInput} + component={DeclarationInput(question.options)} name={question.id} readonly={readonly} required diff --git a/packages/component-submit/src/components/Notes.js b/packages/component-submit/src/components/Notes.js index 431aab2667d00156c9f98cff5416b44a878e11ec..5a19bd621074973db9946028fb6b9f0b509a51a1 100644 --- a/packages/component-submit/src/components/Notes.js +++ b/packages/component-submit/src/components/Notes.js @@ -16,7 +16,7 @@ const FundingInput = input => ( const InstructionsInput = input => ( <NoteEditor placeholder="Enter instructions for the editor…" - title="Special instructions (confidential)" + title="Special instructions (confidential, to Editors only)" {...input} /> ) diff --git a/packages/component-submit/src/components/SubmitPage.js b/packages/component-submit/src/components/SubmitPage.js index e4083b42399cfee3396360d0f31c689ac5ae583f..9b75840b64bbef630ac9b773896454b17f32b25b 100644 --- a/packages/component-submit/src/components/SubmitPage.js +++ b/packages/component-submit/src/components/SubmitPage.js @@ -1,4 +1,4 @@ -import { pick, debounce } from 'lodash' +import { pick, throttle } from 'lodash' import { compose, withProps, withState, withHandlers } from 'recompose' import { connect } from 'react-redux' import { reduxForm, SubmissionError } from 'redux-form' @@ -92,7 +92,7 @@ export default compose( reduxForm({ // enableReinitialize: true, form: 'submit', - onChange: debounce(onChange, 1000, { maxWait: 5000 }), + onChange: throttle(onChange, 3000, { trailing: false }), onSubmit, }), withState('confirming', 'setConfirming', false), diff --git a/packages/components-faraday/src/components/Admin/AdminRoute.js b/packages/components-faraday/src/components/Admin/AdminRoute.js index e23544f0dc607ff82714ec64026e1b7fd7a83a53..919265c5abc488311fa0805adad2ab9e1901e7c3 100644 --- a/packages/components-faraday/src/components/Admin/AdminRoute.js +++ b/packages/components-faraday/src/components/Admin/AdminRoute.js @@ -3,7 +3,7 @@ import { get } from 'lodash' import { compose } from 'recompose' import { connect } from 'react-redux' import { Route, Redirect, withRouter } from 'react-router-dom' -import { getCurrentUser } from 'pubsweet-component-xpub-authentication/src/redux/currentUser' +import { actions } from 'pubsweet-client' const PrivateRoute = ({ currentUser, @@ -45,7 +45,7 @@ export default compose( currentUser: state.currentUser, }), { - getCurrentUser, + getCurrentUser: actions.getCurrentUser, }, ), )(PrivateRoute) diff --git a/packages/components-faraday/src/components/AppBar/AppBar.js b/packages/components-faraday/src/components/AppBar/AppBar.js index ca81c1ec1dec77a654095cbf0c93a6d51515390a..0a414d5fb7cd8dc7867e2efd35dc4b371754109c 100644 --- a/packages/components-faraday/src/components/AppBar/AppBar.js +++ b/packages/components-faraday/src/components/AppBar/AppBar.js @@ -6,7 +6,15 @@ import styled from 'styled-components' import { withRouter } from 'react-router-dom' import { withState, withHandlers, compose } from 'recompose' -const AppBar = ({ expanded, toggleMenu, brand, user, goTo, currentUser }) => ( +const AppBar = ({ + expanded, + toggleMenu, + brand, + user, + goTo, + currentUser, + onLogoutClick, +}) => ( <Root> {React.cloneElement(brand, { onClick: goTo('/'), @@ -28,7 +36,7 @@ const AppBar = ({ expanded, toggleMenu, brand, user, goTo, currentUser }) => ( Admin dashboard </DropdownOption> )} - <DropdownOption onClick={goTo('/logout')}>Logout</DropdownOption> + <DropdownOption onClick={onLogoutClick}>Logout</DropdownOption> </Dropdown> )} </User> diff --git a/packages/components-faraday/src/components/AuthorList/AuthorAdder.js b/packages/components-faraday/src/components/AuthorList/AuthorAdder.js index f6e389871336a681f58d0a36bdbe3ed30c80728c..2973fd02cc6cb0fa431febb534e80f3de78900cd 100644 --- a/packages/components-faraday/src/components/AuthorList/AuthorAdder.js +++ b/packages/components-faraday/src/components/AuthorList/AuthorAdder.js @@ -14,7 +14,7 @@ import { getAuthorFetching } from '../../redux/authors' import { MenuItem, ValidatedTextField } from './FormItems' const emailRegex = new RegExp( - /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i, //eslint-disable-lint + /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i, //eslint-disable-line ) const emailValidator = value => diff --git a/packages/components-faraday/src/components/SignUp/SignUpInvitationPage.js b/packages/components-faraday/src/components/SignUp/SignUpInvitationPage.js index e4e02cfe4b1e800e4d557fc091437102e6d95f2d..6dcd11f46d9ed9d331c718c5a52d37e22095102f 100644 --- a/packages/components-faraday/src/components/SignUp/SignUpInvitationPage.js +++ b/packages/components-faraday/src/components/SignUp/SignUpInvitationPage.js @@ -1,7 +1,7 @@ import { get } from 'lodash' import request, { create } from 'pubsweet-client/src/helpers/api' import { withJournal } from 'xpub-journal' -import { login } from 'pubsweet-component-xpub-authentication/src/redux/login' +import { loginUser } from 'pubsweet-component-login/actions' import { SubmissionError } from 'redux-form' import { compose, @@ -13,8 +13,8 @@ import { import SignUpInvitation from './SignUpInvitationForm' -const loginUser = (dispatch, values, history) => - dispatch(login(values)) +const login = (dispatch, values, history) => + dispatch(loginUser(values)) .then(() => { history.push('/') }) @@ -35,7 +35,7 @@ const confirmUser = (email, token, history) => (values, dispatch) => { .then(r => { const { username } = r const { password } = values - loginUser(dispatch, { username, password }, history) + login(dispatch, { username, password }, history) }) .catch(error => { const err = get(error, 'response') diff --git a/packages/xpub-collabra/app/config/journal/declarations.js b/packages/xpub-collabra/app/config/journal/declarations.js index 012e4d46c2bfe3b20da969a9277a391d61c18094..d870cf6b67b87fba12c170af534ece0bf3793351 100644 --- a/packages/xpub-collabra/app/config/journal/declarations.js +++ b/packages/xpub-collabra/app/config/journal/declarations.js @@ -2,27 +2,87 @@ export default { questions: [ { id: 'openData', - legend: 'Data is open', + legend: 'Data is open ?', + options: [ + { + label: 'Yes', + value: 'yes', + }, + { + label: 'No/Not Applicable', + value: 'no', + }, + ], }, { id: 'previouslySubmitted', - legend: 'Previously submitted', + legend: 'Previously submitted ?', + options: [ + { + label: 'Yes', + value: 'yes', + }, + { + label: 'No', + value: 'no', + }, + ], }, { id: 'openPeerReview', - legend: 'Open peer review', + legend: 'Open peer review ?', + options: [ + { + label: 'Yes', + value: 'yes', + }, + { + label: 'No', + value: 'no', + }, + ], }, { id: 'streamlinedReview', - legend: 'Streamlined review', + legend: 'Streamlined review ?', + options: [ + { + label: 'Yes', + value: 'yes', + }, + { + label: 'No', + value: 'no', + }, + ], }, { id: 'researchNexus', - legend: 'Submitted as part of the research nexus?', + legend: 'Submitted as part of the research nexus ?', + options: [ + { + label: 'Yes', + value: 'yes', + }, + { + label: 'No', + value: 'no', + }, + ], }, { id: 'preregistered', - legend: 'Pre-registered?', + legend: 'Pre-registered ?', + options: [ + { + label: 'Yes', + value: 'yes', + }, + { + label: 'No', + value: 'no', + }, + ], }, ], } diff --git a/packages/xpub-collabra/app/config/journal/index.js b/packages/xpub-collabra/app/config/journal/index.js index 30bc3a405632a2e2ff3972ac0c490a26666ce330..0c6ad26b9490fd2fbfc5c1536954b068c51c1071 100644 --- a/packages/xpub-collabra/app/config/journal/index.js +++ b/packages/xpub-collabra/app/config/journal/index.js @@ -7,3 +7,4 @@ export { default as articleSections } from './article-sections' export { default as articleTypes } from './article-types' export { default as editors } from './editors' export { default as roles } from './roles' +export { default as reviewStatus } from './review-status' diff --git a/packages/xpub-collabra/app/config/journal/review-status.js b/packages/xpub-collabra/app/config/journal/review-status.js new file mode 100644 index 0000000000000000000000000000000000000000..fd8c98ac00f8dadbeaf93e619bc26499ab95c7b6 --- /dev/null +++ b/packages/xpub-collabra/app/config/journal/review-status.js @@ -0,0 +1 @@ +export default ['invited', 'accepted', 'rejected', 'completed'] diff --git a/packages/xpub-collabra/app/routes.js b/packages/xpub-collabra/app/routes.js index d15a0637a088be488d1b25c3f2e9f68325df6073..9f8500902a92f5c021583649c30dd6c92a9c4afd 100644 --- a/packages/xpub-collabra/app/routes.js +++ b/packages/xpub-collabra/app/routes.js @@ -1,14 +1,11 @@ import React from 'react' -import { Route } from 'react-router-dom' +import { withProps } from 'recompose' +import { Route, Switch } from 'react-router-dom' +import { AuthenticatedComponent } from 'pubsweet-client' import App from 'pubsweet-component-xpub-app/src/components' - -import { - PrivateRoute, - SignupPage, - LoginPage, - LogoutPage, -} from 'pubsweet-component-xpub-authentication/src/components' +import Login from 'pubsweet-component-login/LoginContainer' +import Signup from 'pubsweet-component-signup/SignupContainer' import DashboardPage from 'pubsweet-component-xpub-dashboard/src/components/DashboardPage' import SubmitPage from 'pubsweet-component-xpub-submit/src/components/SubmitPage' @@ -17,42 +14,55 @@ import ReviewersPage from 'pubsweet-component-xpub-review/src/components/Reviewe import ReviewPage from 'pubsweet-component-xpub-review/src/components/ReviewPage' import DecisionPage from 'pubsweet-component-xpub-review/src/components/DecisionPage' +const LoginPage = withProps({ passwordReset: false })(Login) + +const PrivateRoute = ({ component: Component, ...rest }) => ( + <Route + {...rest} + render={props => ( + <AuthenticatedComponent> + <Component {...props} /> + </AuthenticatedComponent> + )} + /> +) + // TODO: use componentDidMount to fetch the current user before rendering? const Routes = () => ( <App> - <PrivateRoute component={DashboardPage} exact path="/" /> - <PrivateRoute - component={SubmitPage} - exact - path="/projects/:project/versions/:version/submit" - /> - <PrivateRoute - component={ManuscriptPage} - exact - path="/projects/:project/versions/:version/manuscript" - /> - <PrivateRoute - component={ReviewersPage} - exact - path="/projects/:project/versions/:version/reviewers" - /> - <PrivateRoute - component={ReviewPage} - exact - path="/projects/:project/versions/:version/reviews/:review" - /> - <PrivateRoute - component={DecisionPage} - exact - path="/projects/:project/versions/:version/decisions/:decision" - /> - - <PrivateRoute component={LogoutPage} exact path="/logout" /> - - <Route component={SignupPage} exact path="/signup" /> - <Route component={LoginPage} exact path="/login" /> + <Switch> + <PrivateRoute component={DashboardPage} exact path="/" /> + <PrivateRoute + component={SubmitPage} + exact + path="/projects/:project/versions/:version/submit" + /> + <PrivateRoute + component={ManuscriptPage} + exact + path="/projects/:project/versions/:version/manuscript" + /> + <PrivateRoute + component={ReviewersPage} + exact + path="/projects/:project/versions/:version/reviewers" + /> + <PrivateRoute + component={ReviewPage} + exact + path="/projects/:project/versions/:version/reviews/:review" + /> + <PrivateRoute + component={DecisionPage} + exact + path="/projects/:project/versions/:version/decisions/:decision" + /> + <Route component={Signup} exact path="/signup" /> + <Route component={LoginPage} exact path="/login" /> + <PrivateRoute component={DashboardPage} path="*" /> + </Switch> {/* <Redirect from="/" to="/dashboard"/> */} </App> ) diff --git a/packages/xpub-collabra/config/components.json b/packages/xpub-collabra/config/components.json index 8c447f58070819ee76fa7ef806d94e547b5135ef..f286079017a647031c49ae05c77f37cb41d98d6e 100644 --- a/packages/xpub-collabra/config/components.json +++ b/packages/xpub-collabra/config/components.json @@ -1,9 +1,10 @@ [ "pubsweet-component-xpub-app", - "pubsweet-component-xpub-authentication", "pubsweet-component-xpub-dashboard", "pubsweet-component-xpub-manuscript", "pubsweet-component-xpub-review", "pubsweet-component-xpub-submit", - "pubsweet-component-ink-backend" + "pubsweet-component-ink-backend", + "pubsweet-component-login", + "pubsweet-component-signup" ] diff --git a/packages/xpub-collabra/package.json b/packages/xpub-collabra/package.json index 270bea33cbfb19df9b45dd045da2a13b29fc9349..ad48c435a23d21d2aeb799bfe554f2e86c8924f2 100644 --- a/packages/xpub-collabra/package.json +++ b/packages/xpub-collabra/package.json @@ -8,7 +8,7 @@ "url": "https://gitlab.coko.foundation/xpub/xpub" }, "dependencies": { - "@pubsweet/ui": "^0.1.1", + "@pubsweet/ui": "^2.0.0", "babel-core": "^6.26.0", "config": "^1.26.2", "font-awesome": "^4.7.0", @@ -19,18 +19,19 @@ "moment": "^2.18.1", "prop-types": "^15.5.10", "pubsweet": "^1.1.1", - "pubsweet-client": "^1.1.1", + "pubsweet-client": "^2.1.0", "pubsweet-component-ink-backend": "^0.1.1", - "pubsweet-component-ink-frontend": "^0.2.3", + "pubsweet-component-ink-frontend": "^1.0.0", + "pubsweet-component-login": "^1.0.1", + "pubsweet-component-signup": "^1.0.0", "pubsweet-component-xpub-app": "^0.0.2", - "pubsweet-component-xpub-authentication": "^0.0.2", "pubsweet-component-xpub-dashboard": "^0.0.2", "pubsweet-component-xpub-manuscript": "^0.0.2", "pubsweet-component-xpub-review": "^0.0.2", "pubsweet-component-xpub-submit": "^0.0.2", "pubsweet-server": "^1.0.1", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-router-dom": "^4.2.2", "recompose": "^0.26.0", "redux": "^3.6.0", diff --git a/packages/xpub-collabra/webpack/babel-includes.js b/packages/xpub-collabra/webpack/babel-includes.js index cf4c70690af26d8fec6abcbeb6b3ce54b5be6963..ba73256a5abfd47176e81ab3e739b785ac64457a 100644 --- a/packages/xpub-collabra/webpack/babel-includes.js +++ b/packages/xpub-collabra/webpack/babel-includes.js @@ -4,10 +4,14 @@ const path = require('path') // TODO: compile components to ES5 for distribution module.exports = [ + // include app folder path.join(__dirname, '..', 'app'), - /pubsweet-[^/]+\/src/, + // include pubsweet and xpub packages which are published untranspiled /xpub-[^/]+\/src/, /component-[^/]+\/src/, /wax-[^/]+\/src/, - /@pubsweet\/[^/]+\/src/, + /pubsweet-[^/\\]+\/(?!node_modules)/, + /@pubsweet\/[^/\\]+\/(?!node_modules)/, + // include other packages when this repo is mounted in a workspace + /packages\/[^/\\]+\/(?!node_modules)/, ] diff --git a/packages/xpub-connect/package.json b/packages/xpub-connect/package.json index 775efbf3bdf0253ac69804f739e3df23d48c3eed..d51b7adf6eee0893b5367aa674adeace6cf9ac4b 100644 --- a/packages/xpub-connect/package.json +++ b/packages/xpub-connect/package.json @@ -9,16 +9,16 @@ "dist" ], "dependencies": { - "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", "redux": "^3.6.0" }, "peerDependencies": { - "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", "redux": "^3.6.0" diff --git a/packages/xpub-edit/package.json b/packages/xpub-edit/package.json index 239d7cf5d06fca0fb88f595c36311a4e11d9abf9..4ac9753d9906a9589e3fe81d86bee6f9c3c785c7 100644 --- a/packages/xpub-edit/package.json +++ b/packages/xpub-edit/package.json @@ -16,8 +16,8 @@ "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.1", "prosemirror-view": "^1.0.0", - "react": "^15.6.1", - "react-dom": "^15.6.1" + "react": "^16.2.0", + "react-dom": "^16.2.0" }, "devDependencies": { "babel-core": "^6.26.0", @@ -29,7 +29,7 @@ "faker": "^4.1.0", "file-loader": "^1.1.5", "node-sass": "^4.5.3", - "react-styleguidist": "^6.0.8", + "react-styleguidist": "^6.2.5", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "webpack": "^3.8.1", diff --git a/packages/xpub-faraday/app/FaradayApp.js b/packages/xpub-faraday/app/FaradayApp.js index 0ceec8097357dbede9310136caf0dd82869d2972..3df9a1e4de7dbc6b0d40bceb51eec23587c49721 100644 --- a/packages/xpub-faraday/app/FaradayApp.js +++ b/packages/xpub-faraday/app/FaradayApp.js @@ -3,12 +3,17 @@ import 'xpub-bootstrap' import { compose } from 'recompose' import { connect } from 'react-redux' import styled from 'styled-components' +import { actions } from 'pubsweet-client' import { withJournal } from 'xpub-journal' import { AppBar } from 'pubsweet-components-faraday/src/components' -const App = ({ children, currentUser, journal }) => ( +const App = ({ children, currentUser, journal, logoutUser }) => ( <Root> - <AppBar brand={journal.metadata.name} user={currentUser} /> + <AppBar + brand={journal.metadata.name} + onLogoutClick={logoutUser} + user={currentUser} + /> <MainContainer>{children}</MainContainer> </Root> ) @@ -23,8 +28,11 @@ const MainContainer = styled.div` ` export default compose( - connect(state => ({ - currentUser: state.currentUser.user, - })), + connect( + state => ({ + currentUser: state.currentUser.user, + }), + { logoutUser: actions.logoutUser }, + ), withJournal, )(App) diff --git a/packages/xpub-faraday/app/routes.js b/packages/xpub-faraday/app/routes.js index 17ad28ba299d7b4f6da6b06cc5c0163e10845690..9d8ad3bcb3298fc2196c793e18fa6a33f9f85c58 100644 --- a/packages/xpub-faraday/app/routes.js +++ b/packages/xpub-faraday/app/routes.js @@ -1,14 +1,10 @@ import React from 'react' +// import { withProps } from 'recompose' import { Route, Switch } from 'react-router-dom' +import { AuthenticatedComponent } from 'pubsweet-client' +import Login from 'pubsweet-component-login/LoginContainer' +import Signup from 'pubsweet-component-signup/SignupContainer' -import { - PrivateRoute, - SignupPage, - LoginPage, - LogoutPage, -} from 'pubsweet-component-xpub-authentication/src/components' - -// import DashboardPage from 'pubsweet-component-xpub-dashboard/src/components/DashboardPage' import DashboardPage from 'pubsweet-components-faraday/src/components/Dashboard' import { Wizard } from 'pubsweet-component-wizard/src/components' import ManuscriptPage from 'pubsweet-component-xpub-manuscript/src/components/ManuscriptPage' @@ -24,11 +20,22 @@ import SignUpInvitationPage from 'pubsweet-components-faraday/src/components/Sig import FaradayApp from './FaradayApp' +const PrivateRoute = ({ component: Component, ...rest }) => ( + <Route + {...rest} + render={props => ( + <AuthenticatedComponent> + <Component {...props} /> + </AuthenticatedComponent> + )} + /> +) + const Routes = () => ( <FaradayApp> <Switch> - <Route component={LoginPage} exact path="/login" /> - <Route component={SignupPage} exact path="/signup" /> + <Route component={Login} exact path="/login" /> + <Route component={Signup} exact path="/signup" /> <PrivateRoute component={DashboardPage} exact path="/" /> <PrivateRoute component={ConfirmationPage} @@ -43,7 +50,6 @@ const Routes = () => ( exact path="/admin/users/edit/:userId" /> - <PrivateRoute component={LogoutPage} exact path="/logout" /> <PrivateRoute component={Wizard} exact diff --git a/packages/xpub-faraday/config/components.json b/packages/xpub-faraday/config/components.json index 0219f3fda35effeebc20af6c48b484e5ed3ca2d4..a499849bfa8629886b87f5a7e1bb4e22aaa68ea3 100644 --- a/packages/xpub-faraday/config/components.json +++ b/packages/xpub-faraday/config/components.json @@ -1,6 +1,6 @@ [ - "pubsweet-component-xpub-app", - "pubsweet-component-xpub-authentication", + "pubsweet-component-login", + "pubsweet-component-signup", "pubsweet-component-xpub-dashboard", "xpub-faraday-server", "pubsweet-component-ink-backend", diff --git a/packages/xpub-faraday/config/default.js b/packages/xpub-faraday/config/default.js index 054318dba962df57aae30932e715b2f2bbae01f0..3fb21750085971bb004180f6b5ef357272253ab8 100644 --- a/packages/xpub-faraday/config/default.js +++ b/packages/xpub-faraday/config/default.js @@ -25,7 +25,7 @@ module.exports = { 'pubsweet-client': { API_ENDPOINT: '/api', 'login-redirect': '/', - 'redux-log': false, + 'redux-log': true, theme: process.env.PUBSWEET_THEME, }, 'mail-transport': { diff --git a/packages/xpub-faraday/package.json b/packages/xpub-faraday/package.json index d77e882622dce55df0caf84bd064b79c94fe289c..fea858d354b3a2939c9dafae599efc2785b657c1 100644 --- a/packages/xpub-faraday/package.json +++ b/packages/xpub-faraday/package.json @@ -8,7 +8,7 @@ "url": "https://gitlab.coko.foundation/xpub/xpub" }, "dependencies": { - "@pubsweet/ui": "^0.1.1", + "@pubsweet/ui": "^2.0.0", "babel-core": "^6.26.0", "config": "^1.26.2", "dotenv": "^5.0.0", @@ -20,23 +20,23 @@ "moment": "^2.18.1", "prop-types": "^15.5.10", "pubsweet": "^1.1.1", - "pubsweet-client": "^1.1.1", + "pubsweet-client": "^2.1.0", "pubsweet-component-ink-backend": "^0.1.1", - "pubsweet-component-ink-frontend": "^0.2.3", - "pubsweet-component-xpub-app": "^0.0.2", - "pubsweet-component-xpub-authentication": "^0.0.2", + "pubsweet-component-ink-frontend": "^1.0.0", + "pubsweet-component-login": "^1.0.1", + "pubsweet-component-signup": "^1.0.0", "pubsweet-component-xpub-dashboard": "^0.0.2", "pubsweet-component-xpub-manuscript": "^0.0.2", "pubsweet-component-xpub-review": "^0.0.2", "pubsweet-component-xpub-submit": "^0.0.2", "pubsweet-components-aws-s3": "^0.0.1", "pubsweet-component-invite": "^0.0.1", - "pubsweet-server": "1.0.5", - "react": "^15.6.1", + "pubsweet-server": "^1.0.1", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-router-dom": "^4.2.2", "react-dnd": "^2.5.4", "react-dnd-html5-backend": "^2.5.4", - "react-dom": "^15.6.1", - "react-router-dom": "^4.2.2", "recompose": "^0.26.0", "redux": "^3.6.0", "redux-form": "^7.0.3", diff --git a/packages/xpub-faraday/webpack/babel-includes.js b/packages/xpub-faraday/webpack/babel-includes.js index 3a619ed559a51e70edc6d8501083bb4353fc7790..8cb33f2521758bcbbb9e661df5a0237147e895ec 100644 --- a/packages/xpub-faraday/webpack/babel-includes.js +++ b/packages/xpub-faraday/webpack/babel-includes.js @@ -5,10 +5,12 @@ const path = require('path') module.exports = [ path.join(__dirname, '..', 'app'), - /pubsweet-[^/]+\/src/, /xpub-[^/]+\/src/, /component-[^/]+\/src/, /components-[^/]+\/src/, /wax-[^/]+\/src/, - /@pubsweet\/[^/]+\/src/, + /pubsweet-[^/\\]+\/(?!node_modules)/, + /@pubsweet\/[^/\\]+\/(?!node_modules)/, + // include other packages when this repo is mounted in a workspace + /packages\/[^/\\]+\/(?!node_modules)/, ] diff --git a/packages/xpub-journal/package.json b/packages/xpub-journal/package.json index 410ee4300a763ab2d9050190ed30752f8450b656..cb62a949501c49b47960323cb06d70695b950759 100644 --- a/packages/xpub-journal/package.json +++ b/packages/xpub-journal/package.json @@ -10,13 +10,13 @@ ], "dependencies": { "prop-types": "^15.5.10", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "react": "^16.2.0", + "react-dom": "^16.2.0", "recompose": "^0.26.0" }, "peerDependencies": { "prop-types": "^15.5.10", - "react": "^15.6.1", - "react-dom": "^15.6.1" + "react": "^16.2.0", + "react-dom": "^16.2.0" } } diff --git a/packages/xpub-styleguide/package.json b/packages/xpub-styleguide/package.json index 3b43464cf5ca3f2ab95d40ee5e4f1b6484a88296..eb79fc2ffa81fe7f5aff0f511a4b1bbf4bb8e8a8 100644 --- a/packages/xpub-styleguide/package.json +++ b/packages/xpub-styleguide/package.json @@ -7,9 +7,9 @@ ], "main": "src", "dependencies": { - "@pubsweet/styleguide": "^0.1.1", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "@pubsweet/styleguide": "^1.0.0", + "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/xpub-theme/package.json b/packages/xpub-theme/package.json index 24d756d06a76e85e5d3e1b53de487318276367e3..020ef8be49e83a59f9e6226274376dbf87bae138 100644 --- a/packages/xpub-theme/package.json +++ b/packages/xpub-theme/package.json @@ -5,7 +5,7 @@ "main": "src", "license": "MIT", "dependencies": { - "@pubsweet/theme": "^0.1.1", + "@pubsweet/theme": "^0.1.3", "cokourier-prime-sans": "git+https://gitlab.coko.foundation/julientaq/cokourier-sans-prime.git", "typeface-fira-mono": "^0.0.43", "typeface-fira-sans": "^0.0.43", diff --git a/packages/xpub-upload/package.json b/packages/xpub-upload/package.json index e7d05c8e68ed5008ac0074851f89c3e4792c1c35..d127956c32c392eadb04d9575aba59be88007486 100644 --- a/packages/xpub-upload/package.json +++ b/packages/xpub-upload/package.json @@ -9,17 +9,17 @@ "dist" ], "dependencies": { - "pubsweet-client": "^1.0.0-beta.8", - "react": "^15.6.1", - "react-dom": "^15.6.1", + "pubsweet-client": "^2.1.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "react-redux": "^5.0.2", "react-router-dom": "^4.2.2", "recompose": "^0.26.0", "redux": "^3.6.0" }, "peerDependencies": { - "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", "redux": "^3.6.0" diff --git a/yarn.lock b/yarn.lock index e434fdc51875637af9236f6e59916aa23ffa2c46..9463ab4846cd7d62670179e7e6ff2170af88085b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -89,30 +89,22 @@ joi "^10.6.0" lodash "^4.17.4" -"@pubsweet/logger@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@pubsweet/logger/-/logger-0.2.0.tgz#0f721f3921cae53ff50cf8699215122c05be36f1" - dependencies: - config "^1.26.2" - joi "^13.1.0" - lodash "^4.17.4" - -"@pubsweet/styleguide@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@pubsweet/styleguide/-/styleguide-0.1.1.tgz#628566ec43a1decd27b8c3267de22fc9707c59ef" +"@pubsweet/styleguide@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@pubsweet/styleguide/-/styleguide-1.0.0.tgz#4b810bbec75064d7471aaa2fa9f9021cda14c64c" dependencies: - "@pubsweet/theme" "^0.1.1" - react "^15.6.1" - react-dom "^15.6.1" + "@pubsweet/theme" "^0.1.3" + react "^16.2.0" + react-dom "^16.2.0" react-redux "^5.0.2" react-router-dom "^4.2.2" recompose "^0.26.0" redux "^3.6.0" redux-form "^7.0.3" -"@pubsweet/theme@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@pubsweet/theme/-/theme-0.1.1.tgz#1acf6e07e2336f53494e57e8f90a604546872ca1" +"@pubsweet/theme@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@pubsweet/theme/-/theme-0.1.3.tgz#2c508abc284a33ce14f1fa0a08486477def259a4" dependencies: cokourier-prime-sans "git+https://gitlab.coko.foundation/julientaq/cokourier-sans-prime.git" typeface-fira-mono "^0.0.43" @@ -121,8 +113,8 @@ typeface-vollkorn "^0.0.43" "@pubsweet/ui@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@pubsweet/ui/-/ui-0.1.1.tgz#fdd6aaf85ff79de62ef6933ac90105a2b7cd8863" + version "0.1.3" + resolved "https://registry.yarnpkg.com/@pubsweet/ui/-/ui-0.1.3.tgz#3a02eb0d679f36eaf38f87196032b46c371e5477" dependencies: babel-jest "^21.2.0" classnames "^2.2.5" @@ -141,6 +133,28 @@ redux "^3.6.0" redux-form "^7.0.3" +"@pubsweet/ui@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@pubsweet/ui/-/ui-2.0.0.tgz#cce3bf036bf71b48f2f2808391fcbc2cb08d8e3e" + dependencies: + babel-jest "^21.2.0" + classnames "^2.2.5" + enzyme "^3.2.0" + enzyme-adapter-react-15 "^1.0.5" + humps "^2.0.1" + lodash "^4.17.4" + prop-types "^15.5.10" + 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" + react-tag-autocomplete "^5.4.1" + recompose "^0.26.0" + redux "^3.6.0" + redux-form "^7.0.3" + styled-components "^2.4.0" + "@types/node@*": version "8.5.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5" @@ -185,23 +199,29 @@ acorn-dynamic-import@^2.0.0: dependencies: acorn "^4.0.3" +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + dependencies: + acorn "^5.0.0" + acorn-globals@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" dependencies: acorn "^5.0.0" -acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: +acorn-jsx@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" dependencies: acorn "^3.0.4" -acorn5-object-spread@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn5-object-spread/-/acorn5-object-spread-4.0.0.tgz#d5758081eed97121ab0be47e31caaef2aa399697" +acorn-jsx@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e" dependencies: - acorn "^5.1.2" + acorn "^5.0.3" acorn@^1.0.3: version "1.2.2" @@ -215,7 +235,11 @@ acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.0, acorn@^5.1.2, acorn@^5.2.1: +acorn@^5.0.0, acorn@^5.0.3, acorn@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.4.1.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102" + +acorn@^5.1.2, acorn@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" @@ -304,6 +328,13 @@ anymatch@^1.3.0: micromatch "^2.1.5" normalize-path "^2.0.0" +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + app-root-path@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" @@ -351,10 +382,18 @@ arr-diff@^2.0.0: dependencies: arr-flatten "^1.0.1" -arr-flatten@^1.0.1: +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -412,6 +451,10 @@ array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -446,11 +489,15 @@ assert@^1.1.1: dependencies: util "0.10.3" +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + ast-types-flow@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" -ast-types@0.10.1, ast-types@^0.10.1: +ast-types@0.10.1: version "0.10.1" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd" @@ -466,6 +513,10 @@ ast-types@0.9.6: version "0.9.6" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" +ast-types@^0.10.1: + version "0.10.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.2.tgz#aef76a04fde54634976fc94defaad1a67e2eadb0" + ast-types@^0.7.2: version "0.7.8" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9" @@ -512,6 +563,10 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" +atob@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" + attempt-x@^1.1.0, attempt-x@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/attempt-x/-/attempt-x-1.1.1.tgz#fba64e96ce03c3e0bd92c92622061c4df387cb76" @@ -547,8 +602,8 @@ autoprefixer@^7.1.2: postcss-value-parser "^3.2.3" aws-sdk@^2.185.0: - version "2.188.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.188.0.tgz#9062abc7dba6393459fa2f3423cf5d294f004611" + version "2.197.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.197.0.tgz#986e3749f4d1944c6253d7824aa8035efb1db0e4" dependencies: buffer "4.9.1" events "^1.1.1" @@ -1312,6 +1367,18 @@ base64url@2.0.0, base64url@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb" +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + basic-auth@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.0.tgz#015db3f353e02e56377755f962742e8981e7bbba" @@ -1420,8 +1487,8 @@ bootstrap-sass@^3.3.7: resolved "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.3.7.tgz#6596c7ab40f6637393323ab0bc80d064fc630498" brace-expansion@^1.0.0, brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -1434,6 +1501,22 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" +braces@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.0.tgz#a46941cb5fb492156b3d6a656e06c35364e3e66e" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + define-property "^1.0.0" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + broadway@~0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/broadway/-/broadway-0.3.6.tgz#7dbef068b954b7907925fd544963b578a902ba7a" @@ -1530,18 +1613,18 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" -buble@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/buble/-/buble-0.18.0.tgz#63b338b8248c474b46fd3e3546560ae08d8abe91" +buble@^0.19.2: + version "0.19.3" + resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.3.tgz#01e9412062cff1da6f20342b6ecd72e7bf699d02" dependencies: - acorn "^5.1.2" - acorn-jsx "^3.0.1" - acorn5-object-spread "^4.0.0" - chalk "^2.1.0" + acorn "^5.4.1" + acorn-dynamic-import "^3.0.0" + acorn-jsx "^4.1.1" + chalk "^2.3.1" magic-string "^0.22.4" minimist "^1.2.0" os-homedir "^1.0.1" - vlq "^0.2.2" + vlq "^1.0.0" buffer-equal-constant-time@1.0.1: version "1.0.1" @@ -1600,8 +1683,8 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" cacache@^10.0.0, cacache@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.1.tgz#3e05f6e616117d9b54665b1b20c8aeb93ea5d36f" + version "10.0.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.2.tgz#105a93a162bbedf3a25da42e1939ed99ffb145f8" dependencies: bluebird "^3.5.0" chownr "^1.0.1" @@ -1617,6 +1700,20 @@ cacache@^10.0.0, cacache@^10.0.1: unique-filename "^1.1.0" y18n "^3.2.1" +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + cached-constructors-x@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cached-constructors-x/-/cached-constructors-x-1.0.0.tgz#c421e3892a4b6f7794434bdcffd1299b330c181b" @@ -1687,8 +1784,8 @@ caniuse-api@^1.5.2: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000784" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000784.tgz#1be95012d9489c7719074f81aee57dbdffe6361b" + version "1.0.30000808" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000808.tgz#30dfd83009d5704f02dffb37725068ed12a366bb" caniuse-lite@^1.0.30000780, caniuse-lite@^1.0.30000783: version "1.0.30000784" @@ -1717,6 +1814,10 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" +chain-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" + chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1727,7 +1828,15 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0: +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" + dependencies: + ansi-styles "^3.2.0" + escape-string-regexp "^1.0.5" + supports-color "^5.2.0" + +chalk@^2.0.1, chalk@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" dependencies: @@ -1770,7 +1879,7 @@ cheerio@^1.0.0-rc.2: lodash "^4.15.0" parse5 "^3.0.1" -chokidar@^1.0.1, chokidar@^1.6.0, chokidar@^1.7.0: +chokidar@^1.0.1, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: @@ -1785,6 +1894,24 @@ chokidar@^1.0.1, chokidar@^1.6.0, chokidar@^1.7.0: optionalDependencies: fsevents "^1.0.0" +chokidar@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.0" + optionalDependencies: + fsevents "^1.0.0" + chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" @@ -1810,6 +1937,15 @@ clap@^1.0.9: dependencies: chalk "^1.1.3" +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + classnames@^2.2.4, classnames@^2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" @@ -1821,8 +1957,8 @@ clean-css@4.1.x: source-map "0.5.x" clean-webpack-plugin@^0.1.17: - version "0.1.17" - resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.17.tgz#71c57242e6d47204d46f809413176e7bed28ec49" + version "0.1.18" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.18.tgz#2e2173897c76646031bff047c14b9c22c80d8c4a" dependencies: rimraf "^2.6.1" @@ -1842,7 +1978,7 @@ cli-spinners@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" -cli-spinners@^1.0.0: +cli-spinners@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06" @@ -1866,8 +2002,8 @@ cliff@0.1.9: winston "0.8.x" clipboard-copy@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/clipboard-copy/-/clipboard-copy-1.2.0.tgz#f6a3de65a8a252fa993fcb2a4e0cfe3aa4b8769e" + version "1.4.2" + resolved "https://registry.yarnpkg.com/clipboard-copy/-/clipboard-copy-1.4.2.tgz#620cb6a9347d4f92447649db5a9b00edfcbb2cae" cliui@^2.1.0: version "2.1.0" @@ -1939,8 +2075,8 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" codemirror@^5.32.0: - version "5.32.0" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.32.0.tgz#cb6ff5d8ef36d0b10f031130e2d9ebeee92c902e" + version "5.34.0" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.34.0.tgz#e345dcc09a6149db65cc70dff9d389c1c4b0cd06" "cokourier-prime-sans@git+https://gitlab.coko.foundation/julientaq/cokourier-sans-prime.git": version "0.0.1" @@ -1952,6 +2088,13 @@ collapse-white-space@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.3.tgz#4b906f670e5a963a87b76b0e1689643341b6023c" +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" @@ -2007,9 +2150,9 @@ columnify@^1.5.4: strip-ansi "^3.0.0" wcwidth "^1.0.0" -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" +combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: delayed-stream "~1.0.0" @@ -2017,7 +2160,11 @@ command-join@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" -commander@2.12.x, commander@^2.11.0, commander@^2.5.0, commander@^2.9.0, commander@~2.12.1: +commander@2.14.x, commander@^2.9.0, commander@~2.14.1: + version "2.14.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" + +commander@^2.11.0, commander@^2.5.0, commander@~2.12.1: version "2.12.2" resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" @@ -2060,7 +2207,7 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" -component-emitter@^1.2.0: +component-emitter@^1.2.0, component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" @@ -2324,7 +2471,11 @@ copy-concurrently@^1.0.0: rimraf "^2.5.4" run-queue "^1.0.0" -copy-webpack-plugin@^4.0.1, copy-webpack-plugin@^4.3.0: +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +copy-webpack-plugin@^4.0.1: version "4.3.0" resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.3.0.tgz#cfdf4d131c78d66917a1bb863f86630497aacf42" dependencies: @@ -2339,6 +2490,19 @@ copy-webpack-plugin@^4.0.1, copy-webpack-plugin@^4.3.0: pify "^3.0.0" serialize-javascript "^1.4.0" +copy-webpack-plugin@^4.3.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.4.1.tgz#1e8c366211db6dc2ddee40e5a3e4fc661dd149e8" + dependencies: + cacache "^10.0.1" + find-cache-dir "^1.0.0" + globby "^7.1.1" + is-glob "^4.0.0" + loader-utils "^0.2.15" + minimatch "^3.0.4" + p-limit "^1.0.0" + serialize-javascript "^1.4.0" + core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -2407,8 +2571,8 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 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" + version "15.6.3" + resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" dependencies: fbjs "^0.8.9" loose-envify "^1.3.1" @@ -2465,11 +2629,11 @@ css-color-names@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" -css-initials@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-initials/-/css-initials-0.1.1.tgz#cc6dcdb70dc6038c6cf494dd4980f001b824a4ab" +css-initials@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/css-initials/-/css-initials-0.2.0.tgz#14c225bd8656255a6baee07231ef82fa55aacaa3" -css-loader@^0.28.4, css-loader@^0.28.7: +css-loader@^0.28.4: version "0.28.7" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b" dependencies: @@ -2488,6 +2652,25 @@ css-loader@^0.28.4, css-loader@^0.28.7: postcss-value-parser "^3.3.0" source-list-map "^2.0.0" +css-loader@^0.28.7: + version "0.28.9" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.9.tgz#68064b85f4e271d7ce4c48a58300928e535d1c95" + dependencies: + babel-code-frame "^6.26.0" + css-selector-tokenizer "^0.7.0" + cssnano "^3.10.0" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.1.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.2.0" + postcss-modules-local-by-default "^1.2.0" + postcss-modules-scope "^1.1.0" + postcss-modules-values "^1.3.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -2521,7 +2704,7 @@ cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" -"cssnano@>=2.6.1 <4": +"cssnano@>=2.6.1 <4", cssnano@^3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" dependencies: @@ -2644,7 +2827,7 @@ dateformat@^1.0.11, dateformat@^1.0.12: get-stdin "^4.0.1" meow "^3.3.0" -debug@2.6.9, debug@^2.1.0, debug@^2.2.0, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8: +debug@2.6.9, debug@^2.1.0, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -2726,6 +2909,18 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" @@ -2761,11 +2956,11 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@1.1.1, depd@~1.1.1: +depd@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" -depd@^1.1.0: +depd@^1.1.0, depd@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -2851,8 +3046,8 @@ disposables@^1.0.1: resolved "https://registry.yarnpkg.com/disposables/-/disposables-1.0.2.tgz#36c6a674475f55a2d6913567a601444e487b4b6e" dlv@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.0.tgz#fee1a7c43f63be75f3f679e85262da5f102764a7" + version "1.1.1" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.1.tgz#c79d96bfe659a5568001250ed2aaf653992bdd3f" dnd-core@^2.5.4: version "2.5.4" @@ -2867,9 +3062,9 @@ dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" -dns-packet@^1.0.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" dependencies: ip "^1.1.0" safe-buffer "^5.0.1" @@ -2892,8 +3087,8 @@ doctrine@1.5.0: isarray "^1.0.0" doctrine@^2.0.0, doctrine@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.2.tgz#68f96ce8efc56cc42651f1faadb4f175273b0075" + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" dependencies: esutils "^2.0.2" @@ -3002,9 +3197,9 @@ duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" -duplexify@^3.1.2, duplexify@^3.4.2: - version "3.5.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.1.tgz#4e1516be68838bc90a49994f0b39a6e5960befcd" +duplexify@^3.4.2, duplexify@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.3.tgz#8b5818800df92fd0125b27ab896491912858243e" dependencies: end-of-stream "^1.0.0" inherits "^2.0.1" @@ -3029,10 +3224,14 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" electron-releases@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/electron-releases/-/electron-releases-2.1.0.tgz#c5614bf811f176ce3c836e368a0625782341fd4e" + version "2.10.0" + resolved "https://registry.yarnpkg.com/electron-releases/-/electron-releases-2.10.0.tgz#723c8740b5bbd5e992a41cfd3ee38d69e95ba724" + +electron-to-chromium@^1.2.7: + version "1.3.33" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz#bf00703d62a7c65238136578c352d6c5c042a545" -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.28: +electron-to-chromium@^1.3.28: version "1.3.30" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.30.tgz#9666f532a64586651fc56a72513692e820d06a80" dependencies: @@ -3067,8 +3266,8 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" encoding-down@~3.0.0: version "3.0.1" @@ -3085,8 +3284,8 @@ encoding@^0.1.11: iconv-lite "~0.4.13" end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" dependencies: once "^1.4.0" @@ -3119,7 +3318,19 @@ enzyme-adapter-react-15@^1.0.5: object.values "^1.0.4" prop-types "^15.5.10" -enzyme-adapter-utils@^1.1.0: +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, 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: @@ -3143,7 +3354,34 @@ enzyme@^3.2.0: raf "^3.4.0" rst-selector-parser "^2.2.3" -errno@^0.1.3, errno@^0.1.4, errno@~0.1.1: +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.1.0" + object.entries "^1.0.4" + object.values "^1.0.4" + raf "^3.4.0" + rst-selector-parser "^2.2.3" + +errno@^0.1.3, errno@^0.1.4: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +errno@~0.1.1: version "0.1.6" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" dependencies: @@ -3222,8 +3460,8 @@ es6-object-assign@~1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" es6-promise@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.1.1.tgz#8811e90915d9a0dba36274f0b242dbda78f9c92a" + version "4.2.4" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" es6-set@~0.1.5: version "0.1.5" @@ -3291,7 +3529,7 @@ eslint-config-airbnb@^16.1.0: dependencies: eslint-config-airbnb-base "^12.1.0" -eslint-config-prettier@^2.6.0, eslint-config-prettier@^2.7.0: +eslint-config-prettier@^2.7.0: version "2.9.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3" dependencies: @@ -3603,6 +3841,18 @@ expand-brackets@^0.1.4: dependencies: is-posix-bracket "^0.1.0" +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" @@ -3669,6 +3919,19 @@ express@^4.15.3, express@^4.16.1, express@^4.16.2: utils-merge "1.0.1" vary "~1.1.2" +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" @@ -3687,6 +3950,19 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" +extglob@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + extract-text-webpack-plugin@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" @@ -3831,6 +4107,15 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + finalhandler@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" @@ -3903,7 +4188,7 @@ for-in@^0.1.3: version "0.1.8" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" -for-in@^1.0.1: +for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -3937,12 +4222,12 @@ forever-monitor@^1.7.0: ps-tree "0.0.x" utile "~0.2.1" -form-data@^2.3.1, form-data@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" +form-data@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" dependencies: asynckit "^0.4.0" - combined-stream "^1.0.5" + combined-stream "1.0.6" mime-types "^2.1.12" form-data@~2.1.1: @@ -3953,6 +4238,14 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" +form-data@~2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + formidable@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.1.1.tgz#96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9" @@ -3961,6 +4254,12 @@ forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + frameguard@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/frameguard/-/frameguard-3.0.0.tgz#7bcad469ee7b96e91d12ceb3959c78235a9272e9" @@ -4104,6 +4403,10 @@ get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -4283,8 +4586,8 @@ globule@^1.0.0: minimatch "~3.0.2" glogg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + version "1.0.1" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810" dependencies: sparkles "^1.0.0" @@ -4369,6 +4672,10 @@ har-validator@~5.0.3: ajv "^5.1.0" har-schema "^2.0.0" +harmony-reflect@^1.4.6: + version "1.5.1" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.5.1.tgz#b54ca617b00cc8aef559bbb17b3d85431dc7e329" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -4383,6 +4690,10 @@ has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + has-own-property-x@^3.1.1: version "3.2.0" resolved "https://registry.yarnpkg.com/has-own-property-x/-/has-own-property-x-3.2.0.tgz#1c4b112a577c8cb5805469556e54b6e959e4ded9" @@ -4395,6 +4706,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" @@ -4405,6 +4720,33 @@ has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + has@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" @@ -4514,15 +4856,15 @@ hoek@4.x.x: version "4.2.0" resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" -hoek@5.x.x: - version "5.0.2" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.2.tgz#d2f2c95d36fe7189cf8aa8c237abc1950eca1378" - hoist-non-react-statics@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" -hoist-non-react-statics@^2.1.0, hoist-non-react-statics@^2.2.1, hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1: +hoist-non-react-statics@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40" + +hoist-non-react-statics@^2.2.1, hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0" @@ -4575,17 +4917,17 @@ html-entities@^1.2.0: resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" html-minifier@^3.2.3: - version "3.5.7" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.7.tgz#511e69bb5a8e7677d1012ebe03819aa02ca06208" + version "3.5.9" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.9.tgz#74424014b872598d4bb0e20ac420926ec61024b6" dependencies: camel-case "3.0.x" clean-css "4.1.x" - commander "2.12.x" + commander "2.14.x" he "1.1.x" ncname "1.0.x" param-case "2.1.x" relateurl "0.2.x" - uglify-js "3.2.x" + uglify-js "3.3.x" html-tags@^2.0.0: version "2.0.0" @@ -4636,8 +4978,8 @@ http-errors@1.6.2, http-errors@~1.6.2: statuses ">= 1.3.1 < 2" http-parser-js@>=0.4.0: - version "0.4.9" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" + version "0.4.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" http-proxy-middleware@~0.17.4: version "0.17.4" @@ -4691,6 +5033,10 @@ husky@^0.14.3: normalize-path "^1.0.0" strip-indent "^2.0.0" +hyphenate-style-name@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" + i@0.3.x: version "0.3.6" resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" @@ -4709,6 +5055,12 @@ icss-utils@^2.1.0: dependencies: postcss "^6.0.1" +identity-obj-proxy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + dependencies: + harmony-reflect "^1.4.6" + ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -4733,13 +5085,6 @@ immediate@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" -import-local@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8" - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" - import-local@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" @@ -4858,6 +5203,18 @@ is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + is-alphabetical@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.1.tgz#c77079cc91d4efac775be1034bf2d243f95e6f08" @@ -4897,6 +5254,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" @@ -4917,14 +5278,42 @@ is-ci@^1.0.10: dependencies: ci-info "^1.0.0" -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + is-decimal@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.1.tgz#f5fb6a94996ad9e8e3761fbfbd091f1fca8c4e82" +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" @@ -4939,10 +5328,16 @@ is-equal-shallow@^0.1.3: dependencies: is-primitive "^2.0.0" -is-extendable@^0.1.1: +is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" @@ -5053,6 +5448,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" @@ -5082,6 +5481,12 @@ is-observable@^0.2.0: dependencies: symbol-observable "^0.2.2" +is-odd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-1.0.0.tgz#3b8a932eb028b3775c39bb09e91767accdb69088" + dependencies: + is-number "^3.0.0" + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -5102,7 +5507,7 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" -is-plain-object@^2.0.1, is-plain-object@^2.0.4: +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" dependencies: @@ -5195,8 +5600,8 @@ is-whitespace-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz#9ae0176f3282b65457a1992cdb084f8a5f833e3b" is-windows@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" is-word-character@^1.0.0: version "1.0.1" @@ -5238,7 +5643,7 @@ isobject@^2.0.0: dependencies: isarray "1.0.0" -isobject@^3.0.1: +isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" @@ -5616,14 +6021,6 @@ joi@^11.0.2: isemail "3.x.x" topo "2.x.x" -joi@^13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-13.1.0.tgz#59e7b8714b932a1e342c3583d5841d7169ff1822" - dependencies: - hoek "5.x.x" - isemail "3.x.x" - topo "3.x.x" - joi@^6.10.1: version "6.10.1" resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06" @@ -5633,10 +6030,14 @@ joi@^6.10.1: moment "2.x.x" topo "1.x.x" -js-base64@^2.1.8, js-base64@^2.1.9: +js-base64@^2.1.8: version "2.4.0" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.0.tgz#9e566fee624751a1d720c966cd6226d29d4025aa" +js-base64@^2.1.9: + version "2.4.3" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582" + js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" @@ -5776,8 +6177,10 @@ jsprim@^1.2.2: verror "1.10.0" jss-camel-case@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/jss-camel-case/-/jss-camel-case-6.0.0.tgz#7cf8453e395c31fed931d11efbc885edcd61132e" + version "6.1.0" + resolved "https://registry.yarnpkg.com/jss-camel-case/-/jss-camel-case-6.1.0.tgz#ccb1ff8d6c701c02a1fed6fb6fb6b7896e11ce44" + dependencies: + hyphenate-style-name "^1.0.2" jss-compose@^5.0.0: version "5.0.0" @@ -5793,11 +6196,11 @@ jss-global@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jss-global/-/jss-global-3.0.0.tgz#e19e5c91ab2b96353c227e30aa2cbd938cdaafa2" -jss-isolate@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/jss-isolate/-/jss-isolate-5.0.0.tgz#89069d58af0b086b4f989d9aff718733f0f7a8f7" +jss-isolate@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/jss-isolate/-/jss-isolate-5.1.0.tgz#8eff1294c3659f86535852f4aeb79370743d890e" dependencies: - css-initials "^0.1.0" + css-initials "^0.2.0" jss-nested@^6.0.1: version "6.0.1" @@ -5806,8 +6209,8 @@ jss-nested@^6.0.1: warning "^3.0.0" jss@^9.3.3: - version "9.4.0" - resolved "https://registry.yarnpkg.com/jss/-/jss-9.4.0.tgz#fbfd1a63556c5afd5bfcffd98df3c50eb2614ed3" + version "9.8.0" + resolved "https://registry.yarnpkg.com/jss/-/jss-9.8.0.tgz#77830def563870103f8671ed31ce3a3d2f32aa2b" dependencies: is-in-browser "^1.1.3" symbol-observable "^1.1.0" @@ -5860,7 +6263,7 @@ kind-of@^2.0.1: dependencies: is-buffer "^1.0.2" -kind-of@^3.0.2, kind-of@^3.2.2: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: @@ -5872,6 +6275,14 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" +kind-of@^5.0.0, kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + known-css-properties@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.5.0.tgz#6ff66943ed4a5b55657ee095779a91f4536f8084" @@ -5884,6 +6295,12 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +lazy-cache@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" + dependencies: + set-getter "^0.1.0" + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -6252,14 +6669,30 @@ lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" +lodash.endswith@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" + lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" +lodash.isfunction@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + lodash.isnull@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash.isnull/-/lodash.isnull-3.0.0.tgz#fafbe59ea1dca27eed786534039dd84c2e07c56e" +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + lodash.map@^4.5.1: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" @@ -6284,6 +6717,10 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" +lodash.startswith@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c" + lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" @@ -6305,10 +6742,14 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.4: +lodash@^4, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.6.1, lodash@~4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.3.0: + version "4.17.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" + log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" @@ -6321,6 +6762,12 @@ log-symbols@^2.0.0: dependencies: chalk "^2.0.1" +log-symbols@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + dependencies: + chalk "^2.0.1" + log-update@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" @@ -6329,8 +6776,8 @@ log-update@^1.0.2: cli-cursor "^1.0.2" loglevel@^1.4.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.0.tgz#ae0caa561111498c5ba13723d6fb631d24003934" + version "1.6.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" longest-streak@^2.0.1: version "2.0.2" @@ -6398,6 +6845,10 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -6406,6 +6857,12 @@ map-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + markdown-escapes@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.1.tgz#1994df2d3af4811de59a6714934c2b2292734518" @@ -6414,9 +6871,9 @@ markdown-table@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.1.tgz#4b3dd3a133d1518b8ef0dbc709bf2a1b4824bc8c" -markdown-to-jsx@^6.2.2: - version "6.3.1" - resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.3.1.tgz#70064a28ec54e5b392721e443114cf2814b8eaf1" +markdown-to-jsx@^6.3.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.4.1.tgz#95fe617b5790fec6f4e0399a296e3a2f10fffaad" dependencies: prop-types "^15.5.10" unquote "^1.1.0" @@ -6552,6 +7009,24 @@ micromatch@^2.1.5, micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" +micromatch@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.5.tgz#d05e168c206472dfbca985bfef4f57797b4cd4ba" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.0" + define-property "^1.0.0" + extend-shallow "^2.0.1" + extglob "^2.0.2" + fragment-cache "^0.2.1" + kind-of "^6.0.0" + nanomatch "^1.2.5" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -6567,12 +7042,22 @@ mime-db@~1.30.0: version "1.30.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: version "2.1.17" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" dependencies: mime-db "~1.30.0" +mime-types@~2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -6582,8 +7067,8 @@ mime@^1.3.4, mime@^1.4.1, mime@^1.5.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" min-document@^2.19.0: version "2.19.0" @@ -6639,8 +7124,8 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" mississippi@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.0.tgz#d201583eb12327e3c5c1642a404a9cacf94e34f5" + version "1.3.1" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e" dependencies: concat-stream "^1.5.0" duplexify "^3.4.2" @@ -6653,6 +7138,13 @@ mississippi@^1.3.0: stream-each "^1.1.0" through2 "^2.0.0" +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + mixin-object@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" @@ -6728,11 +7220,11 @@ multicast-dns-service-types@^1.1.0: resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" multicast-dns@^6.0.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.1.tgz#c5035defa9219d30640558a49298067352098060" + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" dependencies: - dns-packet "^1.0.1" - thunky "^0.1.0" + dns-packet "^1.3.1" + thunky "^1.0.2" mute-stream@0.0.7, mute-stream@~0.0.4: version "0.0.7" @@ -6750,6 +7242,22 @@ nan@^2.3.0, nan@^2.3.2, nan@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" +nanomatch@^1.2.5: + version "1.2.7" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.7.tgz#53cd4aa109ff68b7f869591fdc9d10daeeea3e79" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^1.0.0" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + is-odd "^1.0.0" + kind-of "^5.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -6821,9 +7329,9 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-forge@0.6.33: - version "0.6.33" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" +node-forge@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300" node-gyp@^3.3.1: version "3.6.2" @@ -6876,8 +7384,8 @@ node-libs-browser@^2.0.0: vm-browserify "0.0.4" node-mocks-http@^1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/node-mocks-http/-/node-mocks-http-1.6.6.tgz#0fdeef866cc122a80051bbd89a876d3c4cd21e13" + version "1.6.7" + resolved "https://registry.yarnpkg.com/node-mocks-http/-/node-mocks-http-1.6.7.tgz#89f31c12586585c3812e6bd725d417710d7632e3" dependencies: accepts "^1.3.3" depd "^1.1.0" @@ -6953,11 +7461,7 @@ node-sass@^4.5.3: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" -nodemailer@^4.0.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.4.1.tgz#ce480eb3db7b949b3366e301b8f0af1c1248025e" - -nodemailer@^4.4.2: +nodemailer@^4.0.1, nodemailer@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.4.2.tgz#f215fb88e8a1052f9f93083909e116d2b79fc8de" @@ -6998,7 +7502,7 @@ normalize-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" -normalize-path@^2.0.0, normalize-path@^2.0.1: +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: @@ -7092,6 +7596,14 @@ object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + object-get-own-property-descriptor-x@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/object-get-own-property-descriptor-x/-/object-get-own-property-descriptor-x-3.2.0.tgz#464585ad03e66108ed166c99325b8d2c5ba93712" @@ -7107,14 +7619,24 @@ 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.10, 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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + object.assign@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" @@ -7123,6 +7645,15 @@ object.assign@^4.0.4: function-bind "^1.1.0" object-keys "^1.0.10" +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.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + object.entries@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" @@ -7146,6 +7677,12 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + object.values@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" @@ -7185,12 +7722,18 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -opn@5.1.0, opn@^5.1.0: +opn@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" dependencies: is-wsl "^1.1.0" +opn@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225" + dependencies: + is-wsl "^1.1.0" + optimist@0.2: version "0.2.8" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.2.8.tgz#e981ab7e268b457948593b55674c099a815cac31" @@ -7232,13 +7775,13 @@ ora@^0.2.3: object-assign "^4.0.1" ora@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a" + version "1.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5" dependencies: - chalk "^1.1.1" + chalk "^2.1.0" cli-cursor "^2.1.0" - cli-spinners "^1.0.0" - log-symbols "^1.0.2" + cli-spinners "^1.0.1" + log-symbols "^2.1.0" orderedmap@^1.0.0: version "1.0.0" @@ -7288,8 +7831,10 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" p-limit@^1.0.0, p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + dependencies: + p-try "^1.0.0" p-locate@^2.0.0: version "2.0.0" @@ -7301,6 +7846,10 @@ p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + package-json@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" @@ -7404,6 +7953,10 @@ parseurl@^1.3.1, parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + passport-anonymous@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/passport-anonymous/-/passport-anonymous-1.0.1.tgz#241e37274ec44dfb7f6cad234b41c438386bc117" @@ -7577,6 +8130,10 @@ portfinder@^1.0.9: debug "^2.2.0" mkdirp "0.5.x" +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + postcss-calc@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" @@ -7723,21 +8280,27 @@ postcss-modules-extract-imports@^1.0.0: dependencies: postcss "^6.0.1" -postcss-modules-local-by-default@^1.0.1: +postcss-modules-extract-imports@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.0.1, postcss-modules-local-by-default@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" -postcss-modules-scope@^1.0.0: +postcss-modules-scope@^1.0.0, postcss-modules-scope@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" -postcss-modules-values@^1.1.0: +postcss-modules-values@^1.1.0, postcss-modules-values@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" dependencies: @@ -7880,7 +8443,15 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.13, postcss@^6.0.14, postcss@^6.0.3, postcss@^6.0.6, postcss@^6.0.8: +postcss@^6.0.1: + version "6.0.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.18.tgz#370f5f44d47f3a205f0eb2f6262bbf202df2a80e" + dependencies: + chalk "^2.3.1" + source-map "^0.6.1" + supports-color "^5.2.0" + +postcss@^6.0.11, postcss@^6.0.13, postcss@^6.0.14, postcss@^6.0.3, postcss@^6.0.6, postcss@^6.0.8: version "6.0.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.14.tgz#5534c72114739e75d0afcf017db853099f562885" dependencies: @@ -8187,7 +8758,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.7.4, prettier@^1.8.2: +prettier@^1.8.2: version "1.9.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.9.2.tgz#96bc2132f7a32338e6078aeb29727178c6335827" @@ -8220,6 +8791,10 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -8392,23 +8967,20 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -pubsweet-client@^1.0.0-beta.8, pubsweet-client@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pubsweet-client/-/pubsweet-client-1.1.1.tgz#5865f87760cc762d6ee077db0ff5ca68592c1fb4" +pubsweet-client@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pubsweet-client/-/pubsweet-client-2.1.0.tgz#43867c48e4a22c4acda2a605827d5cda6bb7209c" dependencies: authsome "0.0.9" config "^1.21.0" - eslint-config-prettier "^2.6.0" event-source-polyfill "^0.0.10" global "^4.3.1" - husky "^0.14.3" isomorphic-fetch "^2.1.1" lint-staged "^6.0.0" lodash "^4.0.0" - prettier "^1.7.4" prop-types "^15.5.8" - pubsweet-component-login "^0.5.6" - react "^15.4.4" + pubsweet-component-login "^1.0.1" + react "^16.2.0" react-css-themr "^2.1.2" react-redux "^5.0.2" react-router-dom "^4.2.2" @@ -8417,6 +8989,8 @@ pubsweet-client@^1.0.0-beta.8, pubsweet-client@^1.1.1: redux-form "^7.0.3" redux-logger "^3.0.1" redux-thunk "^2.2.0" + reselect "^3.0.1" + styled-components "^3.1.4" pubsweet-component-ink-backend@^0.1.1: version "0.1.1" @@ -8429,66 +9003,38 @@ pubsweet-component-ink-backend@^0.1.1: request-promise-native "^1.0.5" temp "^0.8.3" -pubsweet-component-ink-frontend@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/pubsweet-component-ink-frontend/-/pubsweet-component-ink-frontend-0.2.3.tgz#cdd62bb58a1cdc7356b34d9c14ffbec9c9aaea66" +pubsweet-component-ink-frontend@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pubsweet-component-ink-frontend/-/pubsweet-component-ink-frontend-1.0.0.tgz#5bc61c0d854df084cec12d45ada01bcbef157cb0" 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" -pubsweet-component-login@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/pubsweet-component-login/-/pubsweet-component-login-0.5.6.tgz#fd637d1287254d2d08c56c51e209180ba4a6e585" +pubsweet-component-login@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pubsweet-component-login/-/pubsweet-component-login-1.0.1.tgz#49ca1dd02cd56e4169af875465a655ee88736989" 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" + react-router-redux "^5.0.0-alpha.9" redux "^3.7.2" + redux-form "^7.0.3" -pubsweet-server@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/pubsweet-server/-/pubsweet-server-1.0.5.tgz#bf6e8967e9b0ce88c2f6bc2277038d51ad430cd7" +pubsweet-component-signup@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pubsweet-component-signup/-/pubsweet-component-signup-1.0.0.tgz#33e5c5e5c371dfc63667f1c7e689dafecc0e888c" dependencies: - "@pubsweet/logger" "^0.2.0" - authsome "0.0.9" - bcrypt "^1.0.2" - bluebird "^3.5.1" - body-parser "^1.15.2" - colors "^1.1.2" - config "^1.26.2" - cookie-parser "^1.4.3" - dotenv "^4.0.0" - express "^4.16.1" - helmet "^3.8.1" - http-status-codes "^1.0.6" - joi "^13.1.0" - jsonwebtoken "^7.1.7" - lodash "^4.0.0" - minimist "^1.2.0" - morgan "^1.8.2" - multer "^1.1.0" - passport "^0.3.2" - passport-anonymous "^1.0.1" - passport-http-bearer "^1.0.1" - passport-local "^1.0.0" - pouchdb-adapter-http "^6.2.0" - pouchdb-adapter-leveldb "^6.1.1" - pouchdb-adapter-memory "^6.1.1" - pouchdb-core "^6.1.1" - pouchdb-find "^0.10.3" - pouchdb-upsert "^2.0.0" - promise-queue "^2.2.3" - prompt "^1.0.0" - pubsweet-sse "^0.1.4" - relational-pouch "^1.4.5" - uuid "^3.0.1" - winston "^2.2.0" + prop-types "^15.5.10" + react-bootstrap "^0.32.0" + react-redux "^5.0.6" + react-router "^4.2.0" + redux "^3.7.2" pubsweet-server@^1.0.0-beta.2, pubsweet-server@^1.0.1: version "1.0.1" @@ -8533,10 +9079,6 @@ pubsweet-sse@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/pubsweet-sse/-/pubsweet-sse-0.1.3.tgz#a185e81e270ef3b1132cae12959c1ac430a6ae03" -pubsweet-sse@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/pubsweet-sse/-/pubsweet-sse-0.1.4.tgz#1ff38a230143cbd487a8d44afb28a6c4746ee464" - pubsweet@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/pubsweet/-/pubsweet-1.1.1.tgz#9024f83be9b92d8b5b4e483fb2108212e8ce4115" @@ -8566,13 +9108,20 @@ pump@^1.0.0, pump@^1.0.1: end-of-stream "^1.1.0" once "^1.3.1" +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + pumpify@^1.3.3: - version "1.3.5" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.3.5.tgz#1b671c619940abcaeac0ad0e3a3c164be760993b" + version "1.4.0" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb" dependencies: - duplexify "^3.1.2" - inherits "^2.0.1" - pump "^1.0.0" + duplexify "^3.5.3" + inherits "^2.0.3" + pump "^2.0.0" punycode@1.3.2: version "1.3.2" @@ -8696,7 +9245,7 @@ raw-body@2.3.2: iconv-lite "0.4.19" unpipe "1.0.0" -rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: +rc@^1.0.1, rc@^1.1.6: version "1.2.2" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" dependencies: @@ -8705,9 +9254,18 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-bootstrap@^0.31.3: - version "0.31.5" - resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.31.5.tgz#57040fa8b1274e1e074803c21a1b895fdabea05a" +rc@^1.1.7: + version "1.2.5" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-bootstrap@^0.32.0: + version "0.32.1" + resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.32.1.tgz#60624c1b48a39d773ef6cce6421a4f33ecc166bb" dependencies: babel-runtime "^6.11.6" classnames "^2.2.5" @@ -8716,7 +9274,9 @@ react-bootstrap@^0.31.3: keycode "^2.1.2" prop-types "^15.5.10" prop-types-extra "^1.0.1" - react-overlays "^0.7.4" + 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" @@ -8797,6 +9357,15 @@ react-docgen@^3.0.0-beta9: node-dir "^0.1.10" recast "^0.12.6" +"react-dom@>=15.0.0 <17.0.0", 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-dom@^15.6.1: version "15.6.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730" @@ -8806,16 +9375,16 @@ 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-dropzone@^4.1.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-4.2.3.tgz#f7bc92aa5fe4253fdb1fd3792114d2d29b47119a" dependencies: attr-accept "^1.0.3" prop-types "^15.5.7" -react-dropzone@^4.1.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-4.2.3.tgz#f7bc92aa5fe4253fdb1fd3792114d2d29b47119a" +react-dropzone@^4.2.7: + version "4.2.8" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-4.2.8.tgz#27ce163544d92c75734b0e1e54c471979587e737" dependencies: attr-accept "^1.0.3" prop-types "^15.5.7" @@ -8872,14 +9441,21 @@ react-moment@^0.6.1: version "0.6.8" resolved "https://registry.yarnpkg.com/react-moment/-/react-moment-0.6.8.tgz#8612a90f3c8afec26fef6844806d84b9d9e3b212" -react-overlays@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.7.4.tgz#ef2ec652c3444ab8aa014262b18f662068e56d5c" +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-proxy@^3.0.0-alpha.0: @@ -8888,6 +9464,15 @@ react-proxy@^3.0.0-alpha.0: dependencies: lodash "^4.6.1" +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" @@ -8910,11 +9495,7 @@ react-router-dom@^4.2.2: react-router "^4.2.0" warning "^3.0.0" -react-router-redux@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-4.0.8.tgz#227403596b5151e182377dab835b5d45f0f8054e" - -react-router-redux@next: +react-router-redux@^5.0.0-alpha.9, react-router-redux@next: version "5.0.0-alpha.9" resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-5.0.0-alpha.9.tgz#825431516e0e6f1fd93b8807f6bd595e23ec3d10" dependencies: @@ -8942,12 +9523,12 @@ react-select@^1.0.0-rc.10: prop-types "^15.5.8" react-input-autosize "^2.1.0" -react-styleguidist@^6.0.8: - version "6.1.0" - resolved "https://registry.yarnpkg.com/react-styleguidist/-/react-styleguidist-6.1.0.tgz#08e097f75eae5f59c5bb93ee5301b9a507d729fd" +react-styleguidist@^6.2.5: + version "6.2.5" + resolved "https://registry.yarnpkg.com/react-styleguidist/-/react-styleguidist-6.2.5.tgz#fe4da35d999220425012c8b0350f06608d734d6d" dependencies: ast-types "^0.10.1" - buble "^0.18.0" + buble "^0.19.2" chalk "^2.3.0" classnames "^2.2.5" clean-webpack-plugin "^0.1.17" @@ -8974,14 +9555,14 @@ react-styleguidist@^6.0.8: jss-compose "^5.0.0" jss-default-unit "^8.0.0" jss-global "^3.0.0" - jss-isolate "5.0.0" + jss-isolate "^5.1.0" jss-nested "^6.0.1" leven "^2.1.0" listify "^1.0.0" loader-utils "^1.1.0" lodash "^4.17.4" lowercase-keys "^1.0.0" - markdown-to-jsx "^6.2.2" + markdown-to-jsx "^6.3.1" minimist "^1.2.0" ora "^1.3.0" prop-types "^15.6.0" @@ -8998,7 +9579,7 @@ react-styleguidist@^6.0.8: style-loader "^0.19.1" to-ast "^1.0.0" type-detect "^4.0.5" - uglifyjs-webpack-plugin "1.1.4" + uglifyjs-webpack-plugin "1.1.5" unist-util-visit "^1.3.0" webpack-dev-server "^2.9.7" webpack-merge "^4.1.1" @@ -9007,7 +9588,35 @@ 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@^15.4.4, react@^15.6.1: +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.16" + object-assign "^4.1.1" + prop-types "^15.6.0" + +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: + 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@>=15.0.0 <17.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.1" + prop-types "^15.6.0" + +react@^15.6.1: version "15.6.2" resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72" dependencies: @@ -9074,14 +9683,14 @@ read@1.0.x: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.2.9, readable-stream@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9: + version "2.3.4" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.4.tgz#c946c3f47fa7d8eabc0b6150f4a12f69a4574071" dependencies: core-util-is "~1.0.0" inherits "~2.0.3" isarray "~1.0.0" - process-nextick-args "~1.0.6" + process-nextick-args "~2.0.0" safe-buffer "~5.1.1" string_decoder "~1.0.3" util-deprecate "~1.0.1" @@ -9113,6 +9722,18 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" +readable-stream@^2.0.5, readable-stream@^2.2.6, readable-stream@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + readable-stream@~0.0.2: version "0.0.4" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-0.0.4.tgz#f32d76e3fb863344a548d79923007173665b3b8d" @@ -9241,6 +9862,12 @@ redux-logger@^3.0.1: dependencies: deep-diff "^0.3.5" +redux-mock-store@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.4.0.tgz#cdc87650f5759f293588fecc9cac2b057d95190d" + dependencies: + lodash.isplainobject "^4.0.6" + redux-thunk@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" @@ -9280,6 +9907,12 @@ regex-cache@^0.4.2: dependencies: is-equal-shallow "^0.1.3" +regex-not@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9" + dependencies: + extend-shallow "^2.0.1" + regexpu-core@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" @@ -9401,7 +10034,7 @@ repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" -repeat-string@^1.5.2, repeat-string@^1.5.4: +repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -9585,6 +10218,10 @@ requires-port@1.0.x, requires-port@1.x.x, requires-port@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" +reselect@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" + resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -9614,6 +10251,10 @@ resolve-pathname@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -9691,8 +10332,8 @@ run-async@^2.2.0: is-promise "^2.1.0" run-parallel@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.6.tgz#29003c9a2163e01e2d2dfc90575f2c6c1d61a039" + version "1.1.7" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.7.tgz#d8f40854b9e19d18c2e0e70180cc05cfc86b650f" run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" @@ -9779,23 +10420,27 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" selfsigned@^1.9.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.1.tgz#bf8cb7b83256c4551e31347c6311778db99eec52" + version "1.10.2" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.2.tgz#b4449580d99929b65b10a48389301a6592088758" dependencies: - node-forge "0.6.33" + node-forge "0.7.1" semver-utils@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/semver-utils/-/semver-utils-1.1.1.tgz#27d92fec34d27cfa42707d3b40d025ae9855f2df" -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" +"semver@2 || 3 || 4 || 5", semver@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" semver@5.3.0, semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" +semver@^5.0.1, semver@^5.1.0, semver@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + send@0.16.1: version "0.16.1" resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" @@ -9843,10 +10488,34 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" +set-getter@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" + dependencies: + to-object-path "^0.3.0" + set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -9924,6 +10593,33 @@ slice-ansi@1.0.0: dependencies: is-fullwidth-code-point "^2.0.0" +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^2.0.0" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -9947,12 +10643,12 @@ sockjs-client@1.1.4: json3 "^3.3.2" url-parse "^1.1.8" -sockjs@0.3.18: - version "0.3.18" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207" +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" dependencies: faye-websocket "^0.10.0" - uuid "^2.0.2" + uuid "^3.0.1" sort-keys@^1.0.0: version "1.1.2" @@ -9970,6 +10666,16 @@ source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" +source-map-resolve@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" + dependencies: + atob "^2.0.0" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" @@ -9977,11 +10683,15 @@ source-map-support@^0.4.15: source-map "^0.5.6" source-map-support@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.1.tgz#72291517d1fd0cb9542cee6c27520884b5da1a07" + version "0.5.0" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.0.tgz#2018a7ad2bdf8faf2691e5fddab26bed5a2bacab" dependencies: source-map "^0.6.0" +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + source-map@0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -10059,6 +10769,12 @@ specificity@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.3.2.tgz#99e6511eceef0f8d9b57924937aac2cb13d13c42" +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + split2@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" @@ -10090,10 +10806,10 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.0.0.tgz#13c19390b606c821f2a10d02b351c1729b94d8cf" + version "5.2.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.2.tgz#797be390aefe03996e4d961657a946121e2feacf" dependencies: - safe-buffer "^5.1.0" + safe-buffer "^5.1.1" stack-trace@0.0.x: version "0.0.10" @@ -10115,6 +10831,13 @@ state-toggle@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.0.tgz#d20f9a616bb4f0c3b98b91922d25b640aa2bc425" +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + "statuses@>= 1.3.1 < 2": version "1.4.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" @@ -10228,8 +10951,8 @@ stringify-entities@^1.0.1: is-hexadecimal "^1.0.0" stringify-object@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.1.tgz#2720c2eff940854c819f6ee252aaeb581f30624d" + version "3.2.2" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd" dependencies: get-own-enumerable-property-symbols "^2.0.1" is-obj "^1.0.1" @@ -10304,7 +11027,20 @@ style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" -styled-components@^3.1.6: +styled-components@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.4.0.tgz#086d0fd483d54638837fca3ea546a030b94adf75" + dependencies: + buffer "^5.0.3" + css-to-react-native "^2.0.3" + fbjs "^0.8.9" + hoist-non-react-statics "^1.2.0" + is-plain-object "^2.0.1" + prop-types "^15.5.4" + stylis "^3.4.0" + supports-color "^3.2.3" + +styled-components@^3.1.4, styled-components@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.1.6.tgz#9c443146fa82c6659a9f64dd493bf2202480342e" dependencies: @@ -10455,6 +11191,12 @@ supports-color@^4.0.0, supports-color@^4.2.1, supports-color@^4.4.0: dependencies: has-flag "^2.0.0" +supports-color@^5.1.0, supports-color@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.2.0.tgz#b0d5333b1184dd3666cbe5aa0b45c5ac7ac17a4a" + dependencies: + has-flag "^3.0.0" + svg-tags@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" @@ -10479,10 +11221,14 @@ symbol-observable@^0.2.2: version "0.2.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" -symbol-observable@^1.0.3, symbol-observable@^1.0.4, symbol-observable@^1.1.0: +symbol-observable@^1.0.3, symbol-observable@^1.0.4: version "1.1.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.1.0.tgz#5c68fd8d54115d9dfb72a84720549222e8db9b32" +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" @@ -10610,9 +11356,9 @@ through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" -thunky@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" +thunky@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz#a862e018e3fb1ea2ec3fce5d55605cf57f247371" time-stamp@^2.0.0: version "2.0.0" @@ -10680,6 +11426,12 @@ to-number-x@^2.0.0: to-primitive-x "^1.1.0" trim-x "^3.0.0" +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + to-object-x@^1.4.1, to-object-x@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/to-object-x/-/to-object-x-1.5.0.tgz#bd69dd4e104d77acc0cc0d84f5ac48f630aebe3c" @@ -10708,6 +11460,21 @@ to-property-key-x@^2.0.1, to-property-key-x@^2.0.2: to-primitive-x "^1.1.0" to-string-x "^1.4.2" +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" + dependencies: + define-property "^0.2.5" + extend-shallow "^2.0.1" + regex-not "^1.0.0" + to-string-symbols-supported-x@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-string-symbols-supported-x/-/to-string-symbols-supported-x-1.0.0.tgz#d435eb72312fe885b18047a96d59c75641476872" @@ -10741,12 +11508,6 @@ topo@2.x.x: dependencies: hoek "4.x.x" -topo@3.x.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.0.tgz#37e48c330efeac784538e0acd3e62ca5e231fe7a" - dependencies: - hoek "5.x.x" - toposort@^1.0.0: version "1.0.6" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.6.tgz#c31748e55d210effc00fdcdc7d6e68d7d7bb9cec" @@ -10845,10 +11606,17 @@ type-check@~0.3.2: prelude-ls "~1.1.2" type-detect@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2" + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + +type-is@^1.6.14: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" -type-is@^1.6.14, type-is@^1.6.4, type-is@~1.6.15: +type-is@^1.6.4, type-is@~1.6.15: version "1.6.15" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: @@ -10883,18 +11651,18 @@ ua-parser-js@^0.7.9: version "0.7.17" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" -uglify-es@^3.2.1: +uglify-es@3.2.2, uglify-es@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.2.2.tgz#15c62b7775002c81b7987a1c49ecd3f126cace73" dependencies: commander "~2.12.1" source-map "~0.6.1" -uglify-js@3.2.x: - version "3.2.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.2.2.tgz#870e4b34ed733d179284f9998efd3293f7fd73f6" +uglify-js@3.3.x: + version "3.3.10" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.10.tgz#8e47821d4cf28e14c1826a0078ba0825ed094da8" dependencies: - commander "~2.12.1" + commander "~2.14.1" source-map "~0.6.1" uglify-js@^2.6, uglify-js@^2.8.29: @@ -10910,16 +11678,16 @@ uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" -uglifyjs-webpack-plugin@1.1.4, uglifyjs-webpack-plugin@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.4.tgz#e43ad6e736c315024eb99481a7cc9362d6a066be" +uglifyjs-webpack-plugin@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.5.tgz#5ec4a16da0fd10c96538f715caed10dbdb180875" dependencies: cacache "^10.0.0" find-cache-dir "^1.0.0" schema-utils "^0.3.0" serialize-javascript "^1.4.0" source-map "^0.6.1" - uglify-es "^3.2.1" + uglify-es "3.2.2" webpack-sources "^1.0.1" worker-farm "^1.4.1" @@ -10931,6 +11699,19 @@ uglifyjs-webpack-plugin@^0.4.6: uglify-js "^2.8.29" webpack-sources "^1.0.1" +uglifyjs-webpack-plugin@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.4.tgz#e43ad6e736c315024eb99481a7cc9362d6a066be" + dependencies: + cacache "^10.0.0" + find-cache-dir "^1.0.0" + schema-utils "^0.3.0" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + uglify-es "^3.2.1" + webpack-sources "^1.0.1" + worker-farm "^1.4.1" + uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -10964,6 +11745,15 @@ unified@^6.0.0: x-is-function "^1.0.4" x-is-string "^0.1.0" +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -11042,6 +11832,13 @@ unreachable-branch-transform@^0.3.0: recast "^0.10.1" through2 "^0.6.2" +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + unzip-response@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" @@ -11050,10 +11847,23 @@ unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" +upath@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.2.tgz#80aaae5395abc5fd402933ae2f58694f0860204c" + dependencies: + lodash.endswith "^4.2.1" + lodash.isfunction "^3.0.8" + lodash.isstring "^4.0.1" + lodash.startswith "^4.2.1" + upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + url-parse-lax@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" @@ -11088,6 +11898,14 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +use@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" + dependencies: + define-property "^0.2.5" + isobject "^3.0.0" + lazy-cache "^2.0.2" + util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -11139,15 +11957,15 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@3.1.0, uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0: +uuid@3.1.0, uuid@^3.0.1, uuid@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" -uuid@^2.0.1, uuid@^2.0.2: +uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" -uuid@^3.2.1: +uuid@^3.0.0, uuid@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" @@ -11201,10 +12019,14 @@ vfile@^2.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" -vlq@^0.2.1, vlq@^0.2.2: +vlq@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" +vlq@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806" + vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -11246,23 +12068,24 @@ watchpack@^1.4.0: chokidar "^1.7.0" graceful-fs "^4.1.2" -wax-editor-core@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/wax-editor-core/-/wax-editor-core-0.2.1.tgz#850433da5919eefd66defbb388ba70641ae1f818" +wax-editor-core@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/wax-editor-core/-/wax-editor-core-0.3.9.tgz#6ef357db52288496815a28b804c13299f844f0ec" dependencies: font-awesome "^4.7.0" lodash "^4.17.4" substance "1.0.0-beta.6.5" -wax-editor-react@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/wax-editor-react/-/wax-editor-react-0.0.10.tgz#6cb19c05fed918490034d2a7b6ce3891428f6807" +wax-editor-react@^0.1.10, wax-editor-react@^0.1.8: + version "0.1.10" + resolved "https://registry.yarnpkg.com/wax-editor-react/-/wax-editor-react-0.1.10.tgz#77b90f2876e8e62a5c0b9e1683def08afc66f648" dependencies: lodash "^4.17.4" - react "^15.6.1" - react-dom "^15.6.1" + prop-types "^15.6.0" + react ">=15.0.0 <17.0.0" + react-dom ">=15.0.0 <17.0.0" react-router-dom "^4.2.2" - wax-editor-core "^0.2.1" + wax-editor-core "^0.3.9" wbuf@^1.1.0, wbuf@^1.7.2: version "1.7.2" @@ -11280,7 +12103,7 @@ webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" -webpack-dev-middleware@^1.11.0, webpack-dev-middleware@^1.12.0: +webpack-dev-middleware@1.12.2, webpack-dev-middleware@^1.12.0: version "1.12.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" dependencies: @@ -11291,13 +12114,13 @@ webpack-dev-middleware@^1.11.0, webpack-dev-middleware@^1.12.0: time-stamp "^2.0.0" webpack-dev-server@^2.9.7: - version "2.9.7" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz#100ad6a14775478924d417ca6dcfb9d52a98faed" + version "2.11.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.11.1.tgz#6f9358a002db8403f016e336816f4485384e5ec0" dependencies: ansi-html "0.0.7" array-includes "^3.0.3" bonjour "^3.5.0" - chokidar "^1.6.0" + chokidar "^2.0.0" compression "^1.5.2" connect-history-api-fallback "^1.3.0" debug "^3.1.0" @@ -11305,7 +12128,7 @@ webpack-dev-server@^2.9.7: express "^4.16.2" html-entities "^1.2.0" http-proxy-middleware "~0.17.4" - import-local "^0.1.1" + import-local "^1.0.0" internal-ip "1.2.0" ip "^1.1.5" killable "^1.0.0" @@ -11314,13 +12137,13 @@ webpack-dev-server@^2.9.7: portfinder "^1.0.9" selfsigned "^1.9.1" serve-index "^1.7.2" - sockjs "0.3.18" + sockjs "0.3.19" sockjs-client "1.1.4" spdy "^3.4.1" - strip-ansi "^3.0.1" - supports-color "^4.2.1" - webpack-dev-middleware "^1.11.0" - yargs "^6.6.0" + strip-ansi "^3.0.0" + supports-color "^5.1.0" + webpack-dev-middleware "1.12.2" + yargs "6.6.0" webpack-hot-middleware@^2.20.0: version "2.21.0" @@ -11623,24 +12446,7 @@ yargs-parser@^8.1.0: dependencies: camelcase "^4.1.0" -yargs@^10.0.3: - version "10.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.1.tgz#5fe1ea306985a099b33492001fa19a1e61efe285" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.1.0" - -yargs@^6.6.0: +yargs@6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: @@ -11658,6 +12464,23 @@ yargs@^6.6.0: y18n "^3.2.1" yargs-parser "^4.2.0" +yargs@^10.0.3: + version "10.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.1.tgz#5fe1ea306985a099b33492001fa19a1e61efe285" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^8.1.0" + yargs@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"