From 74adbce06b736cb22c5972dac2e21c4d51cd259e Mon Sep 17 00:00:00 2001 From: Matt Krick Date: Sat, 17 Jun 2017 00:18:11 -0700 Subject: [PATCH 1/8] fix #1086 fix #1047 without sCU --- src/universal/components/Action/Action.js | 66 +++------ .../components/AsyncRoute/AsyncRoute.js | 27 +++- src/universal/components/Bundle/Bundle.js | 39 ++++- .../DashboardWrapper/DashboardWrapper.js | 13 +- .../components/SocketRoute/SocketRoute.js | 12 +- .../containers/Action/ActionContainer.js | 38 ++--- .../containers/Team/TeamContainer.js | 30 ++-- .../components/UserDashboard/UserDashboard.js | 33 ++--- yarn.lock | 140 +++++++++--------- 9 files changed, 190 insertions(+), 208 deletions(-) diff --git a/src/universal/components/Action/Action.js b/src/universal/components/Action/Action.js index 01a34421296..e65c863a604 100644 --- a/src/universal/components/Action/Action.js +++ b/src/universal/components/Action/Action.js @@ -1,11 +1,21 @@ +import {css} from 'aphrodite-local-styles/no-important'; import PropTypes from 'prop-types'; import React from 'react'; -import withStyles from 'universal/styles/withStyles'; -import {css} from 'aphrodite-local-styles/no-important'; -import Toast from 'universal/modules/toast/containers/Toast/Toast'; import {Route, Switch} from 'react-router-dom'; -import LandingContainer from 'universal/modules/landing/containers/Landing/LandingContainer'; import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; +import LandingContainer from 'universal/modules/landing/containers/Landing/LandingContainer'; +import Toast from 'universal/modules/toast/containers/Toast/Toast'; +import withStyles from 'universal/styles/withStyles'; + +const socketRoute = () => System.import('universal/components/SocketRoute/SocketRoute'); +const invoice = () => System.import('universal/modules/invoice/containers/InvoiceContainer/InvoiceContainer'); +const meetingSummary = () => System.import('universal/modules/summary/containers/MeetingSummary/MeetingSummaryContainer'); +const welcome = () => System.import('universal/modules/welcome/containers/Welcome/Welcome'); +const graphql = () => System.import('universal/modules/admin/containers/Graphql/GraphqlContainer'); +const impersonate = () => System.import('universal/modules/admin/containers/Impersonate/ImpersonateContainer'); +const invitation = () => System.import('universal/modules/invitation/containers/Invitation/InvitationContainer'); +const signout = () => System.import('universal/containers/Signout/SignoutContainer'); +const notFound = () => System.import('universal/components/NotFound/NotFound'); const Action = (props) => { const {styles} = props; @@ -14,45 +24,15 @@ const Action = (props) => { - System.import('universal/components/SocketRoute/SocketRoute')} - /> - System.import('universal/modules/invoice/containers/InvoiceContainer/InvoiceContainer')} - /> - System.import('universal/modules/summary/containers/MeetingSummary/MeetingSummaryContainer')} - /> - System.import('universal/modules/welcome/containers/Welcome/Welcome')} - /> - System.import('universal/modules/admin/containers/Graphql/GraphqlContainer')} - /> - System.import('universal/modules/admin/containers/Impersonate/ImpersonateContainer')} - /> - System.import('universal/modules/invitation/containers/Invitation/InvitationContainer')} - /> - System.import('universal/containers/Signout/SignoutContainer')} - /> - System.import('universal/components/NotFound/NotFound')} - /> + + + + + + + + + ); diff --git a/src/universal/components/AsyncRoute/AsyncRoute.js b/src/universal/components/AsyncRoute/AsyncRoute.js index 1cc1bfe85b1..c55d421e1af 100644 --- a/src/universal/components/AsyncRoute/AsyncRoute.js +++ b/src/universal/components/AsyncRoute/AsyncRoute.js @@ -3,18 +3,29 @@ import {Route} from 'react-router-dom'; import PropTypes from 'prop-types'; import Bundle from '../Bundle/Bundle'; -const AsyncRoute = ({mod, exact, path, isPrivate, ...extra}) => ( - ( - +const AsyncRoute = ({mod, exact, path, isPrivate, bottom, extraProps}) => { + return ( + ( + )} - /> -); + /> + ); +}; AsyncRoute.propTypes = { + bottom: PropTypes.bool, exact: PropTypes.bool, - extra: PropTypes.object, + extraProps: PropTypes.object, isPrivate: PropTypes.bool, mod: PropTypes.func.isRequired, path: PropTypes.string diff --git a/src/universal/components/Bundle/Bundle.js b/src/universal/components/Bundle/Bundle.js index 8be1d3db752..614f69ef37b 100644 --- a/src/universal/components/Bundle/Bundle.js +++ b/src/universal/components/Bundle/Bundle.js @@ -1,14 +1,29 @@ import React, {Component} from 'react'; import PropTypes from 'prop-types'; import requireAuth from 'universal/decorators/requireAuth/requireAuth'; +import {segmentEventPage} from 'universal/redux/segmentActions'; + +const updateAnalyticsPage = (dispatch, lastPath, nextPath, params) => { + if (typeof document === 'undefined' || typeof window.analytics === 'undefined') return; + const name = document && document.title || ''; + const properties = { + title: name, + referrer: lastPath, + path: nextPath, + params + }; + dispatch(segmentEventPage(name, null, properties)); +}; class Bundle extends Component { static contextTypes = { - store: PropTypes.object + store: PropTypes.object, + previousLocation: PropTypes.object }; static propTypes = { - extra: PropTypes.object, + bottom: PropTypes.bool, + extraProps: PropTypes.object, history: PropTypes.object.isRequired, isPrivate: PropTypes.bool, location: PropTypes.object.isRequired, @@ -22,13 +37,25 @@ class Bundle extends Component { componentWillMount() { this.loadMod(this.props); + const {location: {pathname: nextPath}, bottom, match: {params}} = this.props; + if (bottom === true) { + const {store: {dispatch}, previousLocation: {lastPath}} = this.context; + updateAnalyticsPage(dispatch, lastPath, nextPath, params); + } } componentWillReceiveProps(nextProps) { - const {mod} = this.props; - if (mod !== nextProps.mod) { + const {bottom, mod} = nextProps; + if (mod !== this.props.mod) { this.loadMod(nextProps); } + if (bottom === true) { + const {location: {pathname: nextPath}, match: {params}} = nextProps; + const {location: {pathname: lastPath}} = this.props; + if (lastPath !== nextPath) { + updateAnalyticsPage(this.context.store.dispatch, lastPath, nextPath, params); + } + } } loadMod(props) { @@ -48,8 +75,8 @@ class Bundle extends Component { render() { const {Mod} = this.state; if (!Mod) return null; - const {history, location, match, extra} = this.props; - return ; + const {history, location, match, extraProps} = this.props; + return ; } } diff --git a/src/universal/components/DashboardWrapper/DashboardWrapper.js b/src/universal/components/DashboardWrapper/DashboardWrapper.js index 1c97a5244b6..2b1c476f5f8 100644 --- a/src/universal/components/DashboardWrapper/DashboardWrapper.js +++ b/src/universal/components/DashboardWrapper/DashboardWrapper.js @@ -4,16 +4,17 @@ import DashSidebar from 'universal/components/Dashboard/DashSidebar'; import DashLayoutContainer from 'universal/containers/DashLayoutContainer/DashLayoutContainer'; import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; +const userDashboard = () => System.import('universal/modules/userDashboard/components/UserDashboard/UserDashboard'); +const teamContainer = () => System.import('universal/modules/teamDashboard/containers/Team/TeamContainer'); +const newTeam = () => System.import('universal/modules/newTeam/containers/NewTeamForm/NewTeamFormContainer'); + const DashboardWrapper = () => { return ( - System.import('universal/modules/userDashboard/components/UserDashboard/UserDashboard')} /> - System.import('universal/modules/teamDashboard/containers/Team/TeamContainer')} /> - System.import('universal/modules/newTeam/containers/NewTeamForm/NewTeamFormContainer')} - /> + + + ); }; diff --git a/src/universal/components/SocketRoute/SocketRoute.js b/src/universal/components/SocketRoute/SocketRoute.js index e0f1d2e47b2..a7e4839a545 100644 --- a/src/universal/components/SocketRoute/SocketRoute.js +++ b/src/universal/components/SocketRoute/SocketRoute.js @@ -8,18 +8,14 @@ import withReducer from '../../decorators/withReducer/withReducer'; import {socketClusterReducer} from 'redux-socket-cluster'; import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; +const dashWrapper = () => System.import('universal/components/DashboardWrapper/DashboardWrapper'); +const meetingContainer = () => System.import('universal/modules/meeting/containers/MeetingContainer/MeetingContainer'); const PrivateRoute = () => { return ( - System.import('universal/components/DashboardWrapper/DashboardWrapper')} - /> - System.import('universal/modules/meeting/containers/MeetingContainer/MeetingContainer')} - /> + + ); }; diff --git a/src/universal/containers/Action/ActionContainer.js b/src/universal/containers/Action/ActionContainer.js index fb3ff3429a1..2d85acdc3c7 100644 --- a/src/universal/containers/Action/ActionContainer.js +++ b/src/universal/containers/Action/ActionContainer.js @@ -3,24 +3,16 @@ import React, { Component } from 'react'; import Action from 'universal/components/Action/Action'; import injectGlobals from 'universal/styles/hepha'; import globalStyles from 'universal/styles/theme/globalStyles'; -import {segmentEventPage} from 'universal/redux/segmentActions'; import {withRouter} from 'react-router-dom'; -const updateAnalyticsPage = (dispatch, lastPage, nextPage) => { - if (typeof document === 'undefined' || typeof window.analytics === 'undefined') return; - const name = document && document.title || ''; - const properties = { - title: name, - referrer: lastPage, - path: nextPage - }; - dispatch(segmentEventPage(name, null, properties)); +const previousLocation = { + lastPath: '' }; @withRouter export default class ActionContainer extends Component { - static contextTypes = { - store: PropTypes.object + static childContextTypes = { + previousLocation: PropTypes.object }; static propTypes = { @@ -31,25 +23,17 @@ export default class ActionContainer extends Component { params: PropTypes.object }; + getChildContext() { + return {previousLocation}; + } + componentWillMount() { - const {dispatch} = this.context.store; - const {location: {pathname: nextPage}} = this.props; - updateAnalyticsPage(dispatch, '', nextPage); injectGlobals(globalStyles); } - componentDidUpdate(prevProps) { - const {location: {pathname: lastPage}} = prevProps; - const {location: {pathname: nextPage}} = this.props; - if (lastPage !== nextPage) { - const {dispatch} = this.context.store; - /* - * Perform page update after component renders. That way, - * document.title will be current after any child - * element(s) are rendered. - */ - updateAnalyticsPage(dispatch, lastPage, nextPage); - } + componentWillReceiveProps() { + // mutative. handling context any other way is just dangerous + previousLocation.lastPath = this.props.location.pathname; } render() { diff --git a/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js b/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js index c74f179717e..16254a77f1b 100644 --- a/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js +++ b/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js @@ -1,13 +1,13 @@ +import {cashay} from 'cashay'; import PropTypes from 'prop-types'; import React from 'react'; -import Team from 'universal/modules/teamDashboard/components/Team/Team'; -import {cashay} from 'cashay'; import {connect} from 'react-redux'; -import LoadingView from 'universal/components/LoadingView/LoadingView'; import {matchPath, Switch} from 'react-router-dom'; +import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; +import LoadingView from 'universal/components/LoadingView/LoadingView'; import withReducer from 'universal/decorators/withReducer/withReducer'; +import Team from 'universal/modules/teamDashboard/components/Team/Team'; import teamDashReducer from 'universal/modules/teamDashboard/ducks/teamDashDuck'; -import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; const teamContainerSub = ` query { @@ -46,6 +46,10 @@ const mapStateToProps = (state, props) => { }; }; +const agendaProjects = () => System.import('universal/modules/teamDashboard/containers/AgendaAndProjects/AgendaAndProjectsContainer'); +const teamSettings = () => System.import('universal/modules/teamDashboard/containers/TeamSettings/TeamSettingsContainer'); +const archivedProjects = () => System.import('universal/modules/teamDashboard/containers/TeamArchive/TeamArchiveContainer'); + const TeamContainer = (props) => { const { location: {pathname}, @@ -70,21 +74,9 @@ const TeamContainer = (props) => { > {/* TODO: replace match.path with a relative when the time comes: https://github.com/ReactTraining/react-router/pull/4539*/} - System.import('universal/modules/teamDashboard/containers/AgendaAndProjects/AgendaAndProjectsContainer')} - /> - System.import('universal/modules/teamDashboard/containers/TeamSettings/TeamSettingsContainer')} - /> - System.import('universal/modules/teamDashboard/containers/TeamArchive/TeamArchiveContainer')} - /> + + + ); diff --git a/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js b/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js index 30adcd59aee..34f24c22ef8 100644 --- a/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js +++ b/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js @@ -5,32 +5,21 @@ import userDashReducer from 'universal/modules/userDashboard/ducks/userDashDuck' import withReducer from '../../../../decorators/withReducer/withReducer'; import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; +const organizations = () => System.import('universal/modules/userDashboard/containers/Organizations/OrganizationsContainer'); +const organization = () => System.import('universal/modules/userDashboard/containers/Organization/OrganizationContainer'); +const userDashMain = () => System.import('universal/modules/userDashboard/components/UserDashMain/UserDashMain'); +const userSettings = () => System.import('universal/modules/userDashboard/containers/UserSettings/UserSettingsContainer'); +const notifications = () => System.import('universal/modules/notifications/containers/Notifications/NotificationsContainer'); + const UserDashboard = (props) => { const {match} = props; return ( - System.import('universal/modules/userDashboard/components/UserDashMain/UserDashMain')} - /> - System.import('universal/modules/userDashboard/containers/UserSettings/UserSettingsContainer')} - /> - System.import('universal/modules/userDashboard/containers/Organizations/OrganizationsContainer')} - /> - System.import('universal/modules/userDashboard/containers/Organization/OrganizationContainer')} - /> - System.import('universal/modules/notifications/containers/Notifications/NotificationsContainer')} - /> + + + + + ); }; diff --git a/yarn.lock b/yarn.lock index 511d60ef0db..8b39940617d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -347,7 +347,7 @@ async@^1.4.0, async@^1.5.0, async@~1.5: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2, async@^2.1.4, async@~2.1.2: +async@^2.1.2, async@^2.1.4: version "2.1.5" resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc" dependencies: @@ -357,6 +357,12 @@ async@~0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" +async@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" + dependencies: + lodash "^4.14.0" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1281,20 +1287,20 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" -body-parser@1.17.1: - version "1.17.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.1.tgz#75b3bc98ddd6e7e0d8ffe750dfaca5c66993fa47" +body-parser@1.17.2: + version "1.17.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee" dependencies: bytes "2.4.0" content-type "~1.0.2" - debug "2.6.1" + debug "2.6.7" depd "~1.1.0" http-errors "~1.6.1" iconv-lite "0.4.15" on-finished "~2.3.0" qs "6.4.0" raw-body "~2.2.0" - type-is "~1.6.14" + type-is "~1.6.15" bonzo@^1.3.6: version "1.4.0" @@ -2123,7 +2129,7 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -debug@*, debug@2, debug@2.6.4, debug@^2.1.1, debug@^2.2.0: +debug@*, debug@2, debug@^2.1.1, debug@^2.2.0: version "2.6.4" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" dependencies: @@ -2135,11 +2141,11 @@ debug@2.2.0, debug@~2.2.0: dependencies: ms "0.7.1" -debug@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" +debug@2.6.7, debug@~2.6.0: + version "2.6.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" dependencies: - ms "0.7.2" + ms "2.0.0" debuglog@^1.0.0: version "1.0.1" @@ -2875,22 +2881,22 @@ expirymanager@0.9.x: version "0.9.3" resolved "https://registry.yarnpkg.com/expirymanager/-/expirymanager-0.9.3.tgz#e5f6b3ba00d8d76cf63311c2b71d7dfc9bde3e4f" -express-jwt@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/express-jwt/-/express-jwt-5.1.0.tgz#a1c5e3381bc78d2de4d3c51133421c69e004d581" +express-jwt@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/express-jwt/-/express-jwt-5.3.0.tgz#3d90cd65802e6336252f19e6a3df3e149e0c5ea0" dependencies: async "^1.5.0" express-unless "^0.3.0" - jsonwebtoken "~6.2.0" + jsonwebtoken "^7.3.0" lodash.set "^4.0.0" express-unless@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/express-unless/-/express-unless-0.3.0.tgz#5c795e7392571512dd28f520b3857a52b21261a2" -express@4.15.2: - version "4.15.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35" +express@4.15.3: + version "4.15.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" dependencies: accepts "~1.3.3" array-flatten "1.1.1" @@ -2898,28 +2904,28 @@ express@4.15.2: content-type "~1.0.2" cookie "0.3.1" cookie-signature "1.0.6" - debug "2.6.1" + debug "2.6.7" depd "~1.1.0" encodeurl "~1.0.1" escape-html "~1.0.3" etag "~1.8.0" - finalhandler "~1.0.0" + finalhandler "~1.0.3" fresh "0.5.0" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" parseurl "~1.3.1" path-to-regexp "0.1.7" - proxy-addr "~1.1.3" + proxy-addr "~1.1.4" qs "6.4.0" range-parser "~1.2.0" - send "0.15.1" - serve-static "1.12.1" + send "0.15.3" + serve-static "1.12.3" setprototypeof "1.0.3" statuses "~1.3.1" - type-is "~1.6.14" + type-is "~1.6.15" utils-merge "1.0.0" - vary "~1.1.0" + vary "~1.1.1" extend@3, extend@^3.0.0, extend@~3.0.0: version "3.0.0" @@ -3041,11 +3047,11 @@ filled-array@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" -finalhandler@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.2.tgz#d0e36f9dbc557f2de14423df6261889e9d60c93a" +finalhandler@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: - debug "2.6.4" + debug "2.6.7" encodeurl "~1.0.1" escape-html "~1.0.3" on-finished "~2.3.0" @@ -3595,9 +3601,9 @@ infinity-agent@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216" -inflection@~1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.10.0.tgz#5bffcb1197ad3e81050f8e17e21668087ee9eb2f" +inflection@~1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" inflection@~1.3.0: version "1.3.8" @@ -4240,7 +4246,7 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" -joi@^6.10.1, joi@~6.10.1: +joi@^6.10.1: version "6.10.1" resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06" dependencies: @@ -4372,15 +4378,6 @@ jsonwebtoken@^7.3.0: ms "^0.7.1" xtend "^4.0.1" -jsonwebtoken@~6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-6.2.0.tgz#8233154c6cd9fd8760ad0f5a563f539dd391f2f9" - dependencies: - joi "~6.10.1" - jws "^3.0.0" - ms "^0.7.1" - xtend "^4.0.1" - jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -4403,7 +4400,7 @@ jwa@^1.1.4: ecdsa-sig-formatter "1.0.9" safe-buffer "^5.0.1" -jws@^3.0.0, jws@^3.1.4: +jws@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2" dependencies: @@ -4817,14 +4814,14 @@ mailcomposer@^4.0.1: buildmail "4.0.1" libmime "3.0.0" -mailgun-js@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/mailgun-js/-/mailgun-js-0.8.2.tgz#a108ceda3145a93cd616b0472c0566f7456b6f34" +mailgun-js@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/mailgun-js/-/mailgun-js-0.10.1.tgz#67f41e8c9cdf8f84c5603c30063f5bccb0704601" dependencies: - async "~2.1.2" - debug "~2.2.0" + async "~2.3.0" + debug "~2.6.0" form-data "~2.1.1" - inflection "~1.10.0" + inflection "~1.12.0" is-stream "^1.1.0" path-proxy "~1.0.0" promisify-call "^2.0.2" @@ -5020,11 +5017,7 @@ ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -ms@0.7.3, ms@^0.7.1, ms@^0.7.3: +ms@0.7.3, ms@^0.7.1: version "0.7.3" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" @@ -5032,6 +5025,10 @@ ms@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-1.0.0.tgz#59adcd22edc543f7b5381862d31387b1f4bc9473" +ms@2.0.0, ms@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" @@ -5698,7 +5695,7 @@ prop-types@^15.5.10: fbjs "^0.8.9" loose-envify "^1.3.1" -proxy-addr@~1.1.3: +proxy-addr@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" dependencies: @@ -6604,11 +6601,11 @@ semver@~5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" -send@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f" +send@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" dependencies: - debug "2.6.1" + debug "2.6.7" depd "~1.1.0" destroy "~1.0.4" encodeurl "~1.0.1" @@ -6617,7 +6614,7 @@ send@0.15.1: fresh "0.5.0" http-errors "~1.6.1" mime "1.3.4" - ms "0.7.2" + ms "2.0.0" on-finished "~2.3.0" range-parser "~1.2.0" statuses "~1.3.1" @@ -6637,14 +6634,14 @@ serve-favicon@^2.4.1: ms "1.0.0" parseurl "~1.3.1" -serve-static@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039" +serve-static@1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: encodeurl "~1.0.1" escape-html "~1.0.3" parseurl "~1.3.1" - send "0.15.1" + send "0.15.3" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -6777,6 +6774,10 @@ snyk-policy@1.7.1: snyk-try-require "^1.1.1" then-fs "^2.0.0" +snyk-python-plugin@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/snyk-python-plugin/-/snyk-python-plugin-1.0.0.tgz#d3915fbd933305d9988d86a56a7381e73c4565f7" + snyk-recursive-readdir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/snyk-recursive-readdir/-/snyk-recursive-readdir-2.0.0.tgz#5cb59e94698169e0205a60e7d6a506d0b4d52ff3" @@ -6825,9 +6826,9 @@ snyk-try-require@^1.1.1, snyk-try-require@^1.2.0: lru-cache "^4.0.0" then-fs "^2.0.0" -snyk@^1.25.2: - version "1.29.0" - resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.29.0.tgz#20be4eaddc9641ca004fb24368dc33d6f82d17dc" +snyk@^1.30.1: + version "1.34.4" + resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.34.4.tgz#9f0d50ab4f0544b125fa21c67dd162de1e7ce91b" dependencies: abbrev "^1.0.7" ansi-escapes "^1.3.0" @@ -6844,6 +6845,7 @@ snyk@^1.25.2: snyk-config "1.0.1" snyk-module "1.8.1" snyk-policy "1.7.1" + snyk-python-plugin "1.0.0" snyk-recursive-readdir "^2.0.0" snyk-resolve "1.0.0" snyk-resolve-deps "1.7.0" @@ -7463,7 +7465,7 @@ type-detect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" -type-is@~1.6.14: +type-is@~1.6.15: version "1.6.15" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: @@ -7666,7 +7668,7 @@ value-equal@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.2.1.tgz#c220a304361fce6994dbbedaa3c7e1a1b895871d" -vary@^1, vary@~1.1.0: +vary@^1, vary@~1.1.0, vary@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" From ad8fdf2b12803372521c9b3b132f15539a075044 Mon Sep 17 00:00:00 2001 From: Matt Krick Date: Mon, 19 Jun 2017 16:34:44 -0700 Subject: [PATCH 2/8] Merge branch 'draftjs' into segment-hotfix # Conflicts: # src/universal/components/SocketRoute/SocketRoute.js # src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js # yarn.lock fix Draft.css import --- .../components/ProjectEditor/ProjectEditor.js | 1 + .../components/SocketRoute/SocketRoute.js | 38 +++++++------------ .../components/UserDashboard/UserDashboard.js | 33 +++++++--------- 3 files changed, 27 insertions(+), 45 deletions(-) diff --git a/src/universal/components/ProjectEditor/ProjectEditor.js b/src/universal/components/ProjectEditor/ProjectEditor.js index fdc126583d3..8a684833381 100644 --- a/src/universal/components/ProjectEditor/ProjectEditor.js +++ b/src/universal/components/ProjectEditor/ProjectEditor.js @@ -11,6 +11,7 @@ import withKeyboardShortcuts from './withKeyboardShortcuts'; import withLinks from './withLinks'; import withSuggestions from './withSuggestions'; import entitizeText from 'universal/utils/draftjs/entitizeText'; +import './Draft.css'; class ProjectEditor extends Component { diff --git a/src/universal/components/SocketRoute/SocketRoute.js b/src/universal/components/SocketRoute/SocketRoute.js index 5d67f1feee3..e4b71ccb300 100644 --- a/src/universal/components/SocketRoute/SocketRoute.js +++ b/src/universal/components/SocketRoute/SocketRoute.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import React, {Component} from 'react'; +import React from 'react'; import {DragDropContext as dragDropContext} from 'react-dnd'; import HTML5Backend from 'react-dnd-html5-backend'; import {Switch} from 'react-router-dom'; @@ -7,41 +7,29 @@ import {socketClusterReducer} from 'redux-socket-cluster'; import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; import socketWithPresence from 'universal/decorators/socketWithPresence/socketWithPresence'; import withReducer from '../../decorators/withReducer/withReducer'; -import withAsync from 'react-async-hoc'; const dashWrapper = () => System.import('universal/components/DashboardWrapper/DashboardWrapper'); const meetingContainer = () => System.import('universal/modules/meeting/containers/MeetingContainer/MeetingContainer'); -class SocketRoute extends Component { - shouldComponentUpdate() { - return false; - } - render() { - return ( - - - - - ); - } -} +const SocketRoute = () => { + return ( + + + + + ); +}; SocketRoute.propTypes = { match: PropTypes.object.isRequired }; -const fetchStyles = { - '/static/css/Draft.css': () => ({stylesLoaded: true}) -}; - export default -withAsync(undefined, fetchStyles)( - withReducer({socket: socketClusterReducer})( - dragDropContext(HTML5Backend)( - socketWithPresence( - SocketRoute - ) +withReducer({socket: socketClusterReducer})( + dragDropContext(HTML5Backend)( + socketWithPresence( + SocketRoute ) ) ); diff --git a/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js b/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js index 31724d24130..291a119bd8c 100644 --- a/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js +++ b/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import React, {Component} from 'react'; +import React from 'react'; import {Switch} from 'react-router-dom'; import AsyncRoute from 'universal/components/AsyncRoute/AsyncRoute'; import userDashReducer from 'universal/modules/userDashboard/ducks/userDashDuck'; @@ -11,25 +11,18 @@ const userDashMain = () => System.import('universal/modules/userDashboard/compon const userSettings = () => System.import('universal/modules/userDashboard/containers/UserSettings/UserSettingsContainer'); const notifications = () => System.import('universal/modules/notifications/containers/Notifications/NotificationsContainer'); -class UserDashboard extends Component { - shouldComponentUpdate() { - // https://github.com/ReactTraining/react-router/issues/5099 - return false; - } - - render() { - const {match} = this.props; - return ( - - - - - - - - ); - } -} +const UserDashboard = (props) => { + const {match} = props; + return ( + + + + + + + + ); +}; UserDashboard.propTypes = { match: PropTypes.object.isRequired From d3886b31c5804372136502513e04736d34ba95a8 Mon Sep 17 00:00:00 2001 From: Matt Krick Date: Mon, 26 Jun 2017 17:37:47 -0700 Subject: [PATCH 3/8] lint --- src/universal/components/SocketRoute/SocketRoute.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/universal/components/SocketRoute/SocketRoute.js b/src/universal/components/SocketRoute/SocketRoute.js index e4b71ccb300..ccbff7f84c6 100644 --- a/src/universal/components/SocketRoute/SocketRoute.js +++ b/src/universal/components/SocketRoute/SocketRoute.js @@ -15,8 +15,8 @@ const meetingContainer = () => System.import('universal/modules/meeting/containe const SocketRoute = () => { return ( - - + + ); }; From 7a4a4e66effe5d592c57e8fb65976843aac8e27c Mon Sep 17 00:00:00 2001 From: Jordan Husney Date: Tue, 27 Jun 2017 10:00:44 -0700 Subject: [PATCH 4/8] added segment to dev if key is configured --- src/server/createSSR.js | 18 +- yarn.lock | 1578 ++++++++++++++++++++++++++++++--------- 2 files changed, 1257 insertions(+), 339 deletions(-) diff --git a/src/server/createSSR.js b/src/server/createSSR.js index f71e27b3bcb..a4c784ddd9b 100644 --- a/src/server/createSSR.js +++ b/src/server/createSSR.js @@ -2,6 +2,7 @@ import React from 'react'; import {renderToStaticMarkup} from 'react-dom/server'; import {applyMiddleware, createStore} from 'redux'; import thunkMiddleware from 'redux-thunk'; +import makeSegmentSnippet from '@segment/snippet'; import getWebpackPublicPath from 'server/utils/getWebpackPublicPath'; import makeReducer from 'universal/redux/makeReducer'; import printStyles from 'universal/styles/theme/printStyles'; @@ -40,17 +41,32 @@ export default function createSSR(req, res) { } res.send(cachedPage); } else { + /* + * When segment.io is configured during development, load the segment + * snippet here. For production use, refer to the Html.js component. + */ + const segKey = process.env.SEGMENT_WRITE_KEY; + const segmentSnippet = segKey && ` + + `; + const devHtml = ` - +
+ ${segmentSnippet} `; diff --git a/yarn.lock b/yarn.lock index 8549096b9a5..794a0d277a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31,6 +31,10 @@ dependencies: "@ndhoule/map" "^2.0.1" +"@types/node@^6.0.46": + version "6.0.78" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.78.tgz#5d4a3f579c1524e01ee21bf474e6fba09198f470" + Base64@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.1.4.tgz#e9f6c6bef567fd635ea4162ab14dd329e74aa6de" @@ -106,6 +110,15 @@ ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" +ajv@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.0.tgz#c1735024c5da2ef75cc190713073d44f098bf486" + dependencies: + co "^4.6.0" + fast-deep-equal "^0.1.0" + json-schema-traverse "^0.3.0" + json-stable-stringify "^1.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -114,6 +127,10 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + alter@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/alter/-/alter-0.2.0.tgz#c7588808617572034aae62480af26b1d4d1cb3cd" @@ -151,7 +168,7 @@ ansi-regex@^0.2.0, ansi-regex@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" -ansi-regex@^2.0.0: +ansi-regex@^2.0.0, ansi-regex@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -347,9 +364,9 @@ async@^1.4.0, async@^1.5.0, async@~1.5: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2, async@^2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc" +async@^2.1.2, async@^2.1.4, async@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" dependencies: lodash "^4.14.0" @@ -357,12 +374,6 @@ async@~0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" -async@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" - dependencies: - lodash "^4.14.0" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -407,6 +418,17 @@ auth0@^2.6.0: rest-facade "^1.2.7" url-join "0.0.1" +autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + aws-sdk@^2.27.0: version "2.46.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.46.0.tgz#6856d5669d8b00a4cd42091beebf12be7d8ef48e" @@ -445,13 +467,13 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-cli@6.24.0: - version "6.24.0" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.0.tgz#a05ffd210dca0c288a26d5319c5ac8669a265ad0" +babel-cli@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283" dependencies: - babel-core "^6.24.0" + babel-core "^6.24.1" babel-polyfill "^6.23.0" - babel-register "^6.24.0" + babel-register "^6.24.1" babel-runtime "^6.22.0" commander "^2.8.1" convert-source-map "^1.1.0" @@ -466,7 +488,7 @@ babel-cli@6.24.0: optionalDependencies: chokidar "^1.6.1" -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: +babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: @@ -474,7 +496,7 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@6.24.0, babel-core@^6.0.0, babel-core@^6.24.0: +babel-core@^6.0.0, babel-core@^6.24.0: version "6.24.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.0.tgz#8f36a0a77f5c155aed6f920b844d23ba56742a02" dependencies: @@ -498,6 +520,30 @@ babel-core@6.24.0, babel-core@^6.0.0, babel-core@^6.24.0: slash "^1.0.0" source-map "^0.5.0" +babel-core@^6.24.1, babel-core@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.25.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.25.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + babel-eslint@^7.1.1: version "7.2.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" @@ -520,6 +566,19 @@ babel-generator@^6.18.0, babel-generator@^6.24.0: source-map "^0.5.0" trim-right "^1.0.1" +babel-generator@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + trim-right "^1.0.1" + babel-helper-bindify-decorators@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" @@ -639,29 +698,28 @@ babel-helper-replace-supers@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-helpers@^6.23.0: +babel-helpers@^6.23.0, babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-19.0.0.tgz#59323ced99a3a84d359da219ca881074ffc6ce3f" +babel-jest@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-20.0.3.tgz#e4a03b13dc10389e140fc645d09ffc4ced301671" dependencies: babel-core "^6.0.0" babel-plugin-istanbul "^4.0.0" - babel-preset-jest "^19.0.0" + babel-preset-jest "^20.0.3" -babel-loader@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.0.tgz#e98c239662a22533b9e7a49594ef216d7635ea28" +babel-loader@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.0.tgz#3fbf2581f085774bd9642dca9990e6d6c1491144" dependencies: - find-cache-dir "^0.1.1" - loader-utils "^0.2.16" + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" mkdirp "^0.5.1" - object-assign "^4.0.1" babel-messages@^6.23.0: version "6.23.0" @@ -687,9 +745,9 @@ babel-plugin-istanbul@^4.0.0: istanbul-lib-instrument "^1.6.2" test-exclude "^4.0.3" -babel-plugin-jest-hoist@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-19.0.0.tgz#4ae2a04ea612a6e73651f3fde52c178991304bea" +babel-plugin-jest-hoist@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz#afedc853bd3f8dc3548ea671fbe69d03cc2c1767" babel-plugin-react-transform@2.0.2: version "2.0.2" @@ -1043,7 +1101,7 @@ babel-plugin-transform-react-jsx-source@^6.22.0: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx@^6.23.0: +babel-plugin-transform-react-jsx@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" dependencies: @@ -1107,19 +1165,19 @@ babel-preset-flow@^6.23.0: dependencies: babel-plugin-transform-flow-strip-types "^6.22.0" -babel-preset-jest@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-19.0.0.tgz#22d67201d02324a195811288eb38294bb3cac396" +babel-preset-jest@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz#cbacaadecb5d689ca1e1de1360ebfc66862c178a" dependencies: - babel-plugin-jest-hoist "^19.0.0" + babel-plugin-jest-hoist "^20.0.3" -babel-preset-react@6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.23.0.tgz#eb7cee4de98a3f94502c28565332da9819455195" +babel-preset-react@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" dependencies: babel-plugin-syntax-jsx "^6.3.13" babel-plugin-transform-react-display-name "^6.23.0" - babel-plugin-transform-react-jsx "^6.23.0" + babel-plugin-transform-react-jsx "^6.24.1" babel-plugin-transform-react-jsx-self "^6.22.0" babel-plugin-transform-react-jsx-source "^6.22.0" babel-preset-flow "^6.23.0" @@ -1159,7 +1217,7 @@ babel-preset-stage-3@^6.22.0, babel-preset-stage-3@^6.24.1: babel-plugin-transform-exponentiation-operator "^6.24.1" babel-plugin-transform-object-rest-spread "^6.22.0" -babel-register@6.24.0, babel-register@^6.24.0: +babel-register@^6.24.0: version "6.24.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.0.tgz#5e89f8463ba9970356d02eb07dabe3308b080cfd" dependencies: @@ -1171,6 +1229,18 @@ babel-register@6.24.0, babel-register@^6.24.0: mkdirp "^0.5.1" source-map-support "^0.4.2" +babel-register@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" + dependencies: + babel-core "^6.24.1" + babel-runtime "^6.22.0" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + babel-runtime@6.23.0, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" @@ -1188,6 +1258,16 @@ babel-template@^6.16.0, babel-template@^6.23.0, babel-template@^6.24.1, babel-te babylon "^6.11.0" lodash "^4.2.0" +babel-template@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + lodash "^4.2.0" + babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" @@ -1202,6 +1282,20 @@ babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + babylon "^6.17.2" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.4.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" @@ -1211,11 +1305,24 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 lodash "^4.2.0" to-fast-properties "^1.0.1" +babel-types@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0: version "6.17.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" -balanced-match@^0.4.1: +babylon@^6.17.2, babylon@^6.17.4: + version "6.17.4" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" + +balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -1265,6 +1372,10 @@ bindings@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" +block-elements@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/block-elements/-/block-elements-1.2.0.tgz#8e04ccab638c7e2596f5065fb6c1c7518c905a5d" + block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -1420,6 +1531,13 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + bser@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" @@ -1543,6 +1661,19 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000696" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000696.tgz#e71f5c61e1f96c7a3af4e791ac5db55e11737604" + capture-stack-trace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" @@ -1695,12 +1826,17 @@ circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" -clean-css@^3.4.10: - version "3.4.25" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.25.tgz#9e9a52d5c1e6bc5123e1b2783fa65fe958946ede" +clap@^1.0.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.0.tgz#59c90fe3e137104746ff19469a27a634ff68c857" + dependencies: + chalk "^1.1.3" + +clean-css@^4.0.12: + version "4.1.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.4.tgz#eec8811db27457e0078d8ca921fa81b72fa82bf4" dependencies: - commander "2.8.x" - source-map "0.4.x" + source-map "0.5.x" cli-cursor@^1.0.1: version "1.0.2" @@ -1742,6 +1878,10 @@ cliui@^3.0.3, cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" +clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + clone@~2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" @@ -1758,6 +1898,12 @@ co@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/co/-/co-3.0.6.tgz#1445f226c5eb956138e68c9ac30167ea7d2e6bda" +coa@~1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.3.tgz#1b54a5e1dcf77c990455d4deea98c564416dc893" + dependencies: + q "^1.1.2" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -1779,17 +1925,46 @@ codemirror@5.23.0: version "5.23.0" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.23.0.tgz#ac9b6b2e163a79e915b44cf0f43cd115cf6982dc" -color-convert@^1.0.0: +collapse-whitespace@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/collapse-whitespace/-/collapse-whitespace-1.1.2.tgz#b9b31d79d5594ee3c22c15819c54828e565b3085" + dependencies: + block-elements "^1.0.0" + void-elements "^2.0.1" + +color-convert@^1.0.0, color-convert@^1.3.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: color-name "^1.1.1" -color-name@^1.1.1: +color-name@^1.0.0, color-name@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" -colors@1.1.x: +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@1.1.x, colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" @@ -1803,12 +1978,6 @@ commander@2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d" -commander@2.8.x: - version "2.8.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - dependencies: - graceful-readlink ">= 1.0.0" - commander@^2.5.0, commander@^2.8.1, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -1959,7 +2128,7 @@ content-type@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" -convert-source-map@^1.1.0: +convert-source-map@^1.1.0, convert-source-map@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1993,10 +2162,11 @@ core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -cors@2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.1.tgz#6181aa56abb45a2825be3304703747ae4e9d2383" +cors@^2.8.3: + version "2.8.3" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.3.tgz#4cf78e1d23329a7496b2fc2225b77ca5bb5eb802" dependencies: + object-assign "^4" vary "^1" create-ecdh@^4.0.0: @@ -2072,6 +2242,29 @@ crypto-token@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/crypto-token/-/crypto-token-1.0.1.tgz#27c6482faf3b63c2f5da11577f8304346fe797a5" +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-loader@^0.28.2: + version "0.28.4" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" + dependencies: + babel-code-frame "^6.11.0" + css-selector-tokenizer "^0.7.0" + cssnano ">=2.6.1 <4" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.0.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.0.0" + postcss-modules-local-by-default "^1.0.1" + postcss-modules-scope "^1.0.0" + postcss-modules-values "^1.1.0" + postcss-value-parser "^3.3.0" + source-list-map "^0.1.7" + css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -2081,10 +2274,66 @@ css-select@~1.2.0: domutils "1.5.1" nth-check "~1.0.1" +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" +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": + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -2129,11 +2378,11 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -debug@*, debug@2, debug@^2.1.1, debug@^2.2.0: - version "2.6.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" +debug@*, debug@2, debug@2.6.7, debug@^2.1.1, debug@^2.6.3, debug@~2.6.0: + version "2.6.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" dependencies: - ms "0.7.3" + ms "2.0.0" debug@2.2.0, debug@~2.2.0: version "2.2.0" @@ -2141,11 +2390,11 @@ debug@2.2.0, debug@~2.2.0: dependencies: ms "0.7.1" -debug@2.6.7, debug@~2.6.0: - version "2.6.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" +debug@^2.2.0: + version "2.6.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" dependencies: - ms "2.0.0" + ms "0.7.3" debuglog@^1.0.0: version "1.0.1" @@ -2155,9 +2404,9 @@ decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" -deep-diff@0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.4.tgz#aac5c39952236abe5f037a2349060ba01b00ae48" +deep-diff@^0.3.5: + version "0.3.8" + resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" deep-eql@^0.1.3: version "0.1.3" @@ -2265,7 +2514,7 @@ detective@^4.3.1: acorn "^4.0.3" defined "^1.0.0" -diff@^3.0.0: +diff@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" @@ -2374,6 +2623,38 @@ double-ended-queue@^2.1.0-0: version "2.1.0-0" resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" +draft-js-export-html@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/draft-js-export-html/-/draft-js-export-html-0.5.4.tgz#e24927da3efe6f3df17f1d7606a9dc6141dbf72d" + dependencies: + draft-js-utils "^0.1.5" + +draft-js-import-element@^0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/draft-js-import-element/-/draft-js-import-element-0.4.3.tgz#785381a2e0323a9836cfa856c442e9013bd482a4" + dependencies: + draft-js-utils "^0.1.5" + synthetic-dom "^0.2.0" + +draft-js-import-markdown@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/draft-js-import-markdown/-/draft-js-import-markdown-0.2.1.tgz#194fccd2df6dd0301a25e80b2c0614de02d09549" + dependencies: + draft-js-import-element "^0.4.0" + synthetic-dom "^0.2.0" + +draft-js-utils@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/draft-js-utils/-/draft-js-utils-0.1.7.tgz#e2b6927ca620edf1855a4bfc1cf1d21080a70f16" + +draft-js@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/draft-js/-/draft-js-0.10.1.tgz#6f1219d8095729691429ca6fd7a58d2a8be5cb67" + dependencies: + fbjs "^0.8.7" + immutable "~3.7.4" + object-assign "^4.1.0" + duplexer2@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -2427,6 +2708,10 @@ ejsify@0.1.0: ejs "~0.8.3" through "~2.3.4" +electron-to-chromium@^1.2.7: + version "1.3.14" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.14.tgz#64af0f9efd3c3c6acd57d71f83b49ca7ee9c4b43" + elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -2484,6 +2769,21 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" +enzyme@^2.8.2: + version "2.9.1" + resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.9.1.tgz#07d5ce691241240fb817bf2c4b18d6e530240df6" + dependencies: + cheerio "^0.22.0" + function.prototype.name "^1.0.0" + is-subset "^0.1.1" + lodash "^4.17.4" + object-is "^1.0.1" + object.assign "^4.0.4" + object.entries "^1.0.4" + object.values "^1.0.4" + prop-types "^15.5.10" + uuid "^3.0.1" + "errno@>=0.1.1 <0.2.0-0", errno@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" @@ -2502,7 +2802,7 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -es-abstract@^1.7.0: +es-abstract@^1.6.1, es-abstract@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" dependencies: @@ -2607,7 +2907,17 @@ escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^ version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen@1.x.x, escodegen@^1.6.1: +escodegen@1.x.x, escodegen@~1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.3.3.tgz#f024016f5a88e046fd12005055e939802e6c5f23" + dependencies: + esprima "~1.1.1" + estraverse "~1.5.0" + esutils "~1.0.0" + optionalDependencies: + source-map "~0.1.33" + +escodegen@^1.6.1: version "1.8.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" dependencies: @@ -2627,16 +2937,6 @@ escodegen@~0.0.24: optionalDependencies: source-map ">= 0.1.2" -escodegen@~1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.3.3.tgz#f024016f5a88e046fd12005055e939802e6c5f23" - dependencies: - esprima "~1.1.1" - estraverse "~1.5.0" - esutils "~1.0.0" - optionalDependencies: - source-map "~0.1.33" - escope@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" @@ -2702,9 +3002,9 @@ eslint-plugin-import@^2.2.0: minimatch "^3.0.3" pkg-up "^1.0.0" -eslint-plugin-jest@^19.0.1: - version "19.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-19.0.1.tgz#42a420e90e81aa74e162c16166e43a31b890eece" +eslint-plugin-jest@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-20.0.3.tgz#ec15eba6ac0ab44a67ebf6e02672ca9d7e7cba29" eslint-plugin-react@6.10.0: version "6.10.0" @@ -2771,7 +3071,7 @@ esprima@3.x.x, esprima@^3.1.1, esprima@~3.1.0: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" -esprima@^2.7.1: +esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -2958,10 +3258,18 @@ falafel@^1.0.0: isarray "0.0.1" object-keys "^1.0.6" +fast-deep-equal@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-0.1.0.tgz#5c6f4599aba6b333ee3342e2ed978672f1001f8d" + fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + fb-watchman@^1.8.0: version "1.9.2" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383" @@ -2974,7 +3282,7 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.4, fbjs@^0.8.9: +fbjs@^0.8.4, fbjs@^0.8.7, fbjs@^0.8.9: version "0.8.12" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: @@ -3059,13 +3367,13 @@ finalhandler@~1.0.3: statuses "~1.3.1" unpipe "~1.0.0" -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" dependencies: commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" + make-dir "^1.0.0" + pkg-dir "^2.0.0" find-root@^0.1.1: version "0.1.2" @@ -3097,6 +3405,10 @@ flat-cache@^1.2.1: graceful-fs "^4.1.2" write "^0.2.1" +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + flexbuffer@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/flexbuffer/-/flexbuffer-0.0.6.tgz#039fdf23f8823e440c38f3277e6fef1174215b30" @@ -3207,6 +3519,14 @@ function-bind@^1.0.2, function-bind@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" +function.prototype.name@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.0.0.tgz#5f523ca64e491a5f95aba80cc1e391080a14482e" + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.0" + is-callable "^1.1.2" + gauge@~2.7.1: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -3278,7 +3598,7 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -3437,6 +3757,10 @@ has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -3505,6 +3829,10 @@ hosted-git-info@^2.1.4: version "2.4.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + html-encoding-sniffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" @@ -3575,6 +3903,16 @@ iconv-lite@0.4.15, iconv-lite@^0.4.5, iconv-lite@~0.4.13: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + dependencies: + postcss "^6.0.1" + ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -3583,6 +3921,14 @@ ignore@^3.2.0: version "3.2.7" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.7.tgz#4810ca5f1d8eca5595213a34b94f2eb4ed926bbd" +immutable@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" + +immutable@~3.7.4: + version "3.7.6" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3593,6 +3939,10 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" @@ -3725,6 +4075,10 @@ ipaddr.js@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" +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-absolute@^0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" @@ -3752,11 +4106,11 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-callable@^1.1.1, is-callable@^1.1.3: +is-callable@^1.1.1, is-callable@^1.1.2, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" -is-ci@^1.0.9: +is-ci@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" dependencies: @@ -3851,6 +4205,10 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -3897,6 +4255,16 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" +is-subset@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" @@ -3958,33 +4326,37 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-api@^1.1.0-alpha.1: - version "1.1.7" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.7.tgz#f6f37f09f8002b130f891c646b70ee4a8e7345ae" +istanbul-api@^1.1.1: + version "1.1.10" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.10.tgz#f27e5e7125c8de13f6a80661af78f512e5439b2b" dependencies: async "^2.1.4" fileset "^2.0.2" - istanbul-lib-coverage "^1.0.2" - istanbul-lib-hook "^1.0.5" - istanbul-lib-instrument "^1.7.0" - istanbul-lib-report "^1.0.0" - istanbul-lib-source-maps "^1.1.1" - istanbul-reports "^1.0.2" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-hook "^1.0.7" + istanbul-lib-instrument "^1.7.3" + istanbul-lib-report "^1.1.1" + istanbul-lib-source-maps "^1.2.1" + istanbul-reports "^1.1.1" js-yaml "^3.7.0" mkdirp "^0.5.1" once "^1.4.0" -istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.2: +istanbul-lib-coverage@^1.0.1, istanbul-lib-coverage@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.2.tgz#87a0c015b6910651cb3b184814dfb339337e25e1" -istanbul-lib-hook@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.5.tgz#6ca3d16d60c5f4082da39f7c5cd38ea8a772b88e" +istanbul-lib-coverage@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" + +istanbul-lib-hook@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" dependencies: append-transform "^0.4.0" -istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.6.2, istanbul-lib-instrument@^1.7.0: +istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.6.2: version "1.7.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.0.tgz#b8e0dc25709bb44e17336ab47b7bb5c97c23f659" dependencies: @@ -3996,27 +4368,40 @@ istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.6.2, istanbul-lib-ins istanbul-lib-coverage "^1.0.2" semver "^5.3.0" -istanbul-lib-report@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0.tgz#d83dac7f26566b521585569367fe84ccfc7aaecb" +istanbul-lib-instrument@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.3.tgz#925b239163eabdd68cc4048f52c2fa4f899ecfa7" dependencies: - istanbul-lib-coverage "^1.0.2" + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.17.4" + istanbul-lib-coverage "^1.1.1" + semver "^5.3.0" + +istanbul-lib-report@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" + dependencies: + istanbul-lib-coverage "^1.1.1" mkdirp "^0.5.1" path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.1.tgz#f8c8c2e8f2160d1d91526d97e5bd63b2079af71c" +istanbul-lib-source-maps@^1.1.0, istanbul-lib-source-maps@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" dependencies: - istanbul-lib-coverage "^1.0.2" + debug "^2.6.3" + istanbul-lib-coverage "^1.1.1" mkdirp "^0.5.1" - rimraf "^2.4.4" + rimraf "^2.6.1" source-map "^0.5.3" -istanbul-reports@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.2.tgz#4e8366abe6fa746cc1cd6633f108de12cc6ac6fa" +istanbul-reports@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.1.tgz#042be5c89e175bc3f86523caab29c014e77fee4e" dependencies: handlebars "^4.0.3" @@ -4028,102 +4413,112 @@ iterall@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.3.tgz#e0b31958f835013c323ff0b10943829ac69aa4b7" -jest-changed-files@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-19.0.2.tgz#16c54c84c3270be408e06d2e8af3f3e37a885824" +jest-changed-files@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-20.0.3.tgz#9394d5cc65c438406149bef1bf4d52b68e03e3f8" -jest-cli@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-19.0.2.tgz#cc3620b62acac5f2d93a548cb6ef697d4ec85443" +jest-cli@^20.0.4: + version "20.0.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-20.0.4.tgz#e532b19d88ae5bc6c417e8b0593a6fe954b1dc93" dependencies: ansi-escapes "^1.4.0" callsites "^2.0.0" - chalk "^1.1.1" - graceful-fs "^4.1.6" - is-ci "^1.0.9" - istanbul-api "^1.1.0-alpha.1" - istanbul-lib-coverage "^1.0.0" - istanbul-lib-instrument "^1.1.1" - jest-changed-files "^19.0.2" - jest-config "^19.0.2" - jest-environment-jsdom "^19.0.2" - jest-haste-map "^19.0.0" - jest-jasmine2 "^19.0.2" - jest-message-util "^19.0.0" - jest-regex-util "^19.0.0" - jest-resolve-dependencies "^19.0.0" - jest-runtime "^19.0.2" - jest-snapshot "^19.0.2" - jest-util "^19.0.2" + chalk "^1.1.3" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + istanbul-api "^1.1.1" + istanbul-lib-coverage "^1.0.1" + istanbul-lib-instrument "^1.4.2" + istanbul-lib-source-maps "^1.1.0" + jest-changed-files "^20.0.3" + jest-config "^20.0.4" + jest-docblock "^20.0.3" + jest-environment-jsdom "^20.0.3" + jest-haste-map "^20.0.4" + jest-jasmine2 "^20.0.4" + jest-message-util "^20.0.3" + jest-regex-util "^20.0.3" + jest-resolve-dependencies "^20.0.3" + jest-runtime "^20.0.4" + jest-snapshot "^20.0.3" + jest-util "^20.0.3" micromatch "^2.3.11" - node-notifier "^5.0.1" + node-notifier "^5.0.2" + pify "^2.3.0" slash "^1.0.0" string-length "^1.0.1" throat "^3.0.0" - which "^1.1.1" + which "^1.2.12" worker-farm "^1.3.1" - yargs "^6.3.0" + yargs "^7.0.2" -jest-config@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-19.0.2.tgz#1b9bd2db0ddd16df61c2b10a54009e1768da6411" +jest-config@^20.0.4: + version "20.0.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-20.0.4.tgz#e37930ab2217c913605eff13e7bd763ec48faeea" dependencies: - chalk "^1.1.1" - jest-environment-jsdom "^19.0.2" - jest-environment-node "^19.0.2" - jest-jasmine2 "^19.0.2" - jest-regex-util "^19.0.0" - jest-resolve "^19.0.2" - jest-validate "^19.0.2" - pretty-format "^19.0.0" - -jest-diff@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" + chalk "^1.1.3" + glob "^7.1.1" + jest-environment-jsdom "^20.0.3" + jest-environment-node "^20.0.3" + jest-jasmine2 "^20.0.4" + jest-matcher-utils "^20.0.3" + jest-regex-util "^20.0.3" + jest-resolve "^20.0.4" + jest-validate "^20.0.3" + pretty-format "^20.0.3" + +jest-diff@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-20.0.3.tgz#81f288fd9e675f0fb23c75f1c2b19445fe586617" dependencies: chalk "^1.1.3" - diff "^3.0.0" - jest-matcher-utils "^19.0.0" - pretty-format "^19.0.0" + diff "^3.2.0" + jest-matcher-utils "^20.0.3" + pretty-format "^20.0.3" -jest-environment-jsdom@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-19.0.2.tgz#ceda859c4a4b94ab35e4de7dab54b926f293e4a3" - dependencies: - jest-mock "^19.0.0" - jest-util "^19.0.2" - jsdom "^9.11.0" +jest-docblock@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712" -jest-environment-node@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-19.0.2.tgz#6e84079db87ed21d0c05e1f9669f207b116fe99b" +jest-environment-jsdom@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz#048a8ac12ee225f7190417713834bb999787de99" dependencies: - jest-mock "^19.0.0" - jest-util "^19.0.2" + jest-mock "^20.0.3" + jest-util "^20.0.3" + jsdom "^9.12.0" -jest-file-exists@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-19.0.0.tgz#cca2e587a11ec92e24cfeab3f8a94d657f3fceb8" +jest-environment-node@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-20.0.3.tgz#d488bc4612af2c246e986e8ae7671a099163d403" + dependencies: + jest-mock "^20.0.3" + jest-util "^20.0.3" -jest-haste-map@^19.0.0: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-19.0.2.tgz#286484c3a16e86da7872b0877c35dce30c3d6f07" +jest-haste-map@^20.0.4: + version "20.0.4" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.0.4.tgz#653eb55c889ce3c021f7b94693f20a4159badf03" dependencies: fb-watchman "^2.0.0" - graceful-fs "^4.1.6" + graceful-fs "^4.1.11" + jest-docblock "^20.0.3" micromatch "^2.3.11" - sane "~1.5.0" + sane "~1.6.0" worker-farm "^1.3.1" -jest-jasmine2@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-19.0.2.tgz#167991ac825981fb1a800af126e83afcca832c73" +jest-jasmine2@^20.0.4: + version "20.0.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz#fcc5b1411780d911d042902ef1859e852e60d5e1" dependencies: - graceful-fs "^4.1.6" - jest-matcher-utils "^19.0.0" - jest-matchers "^19.0.0" - jest-message-util "^19.0.0" - jest-snapshot "^19.0.2" + chalk "^1.1.3" + graceful-fs "^4.1.11" + jest-diff "^20.0.3" + jest-matcher-utils "^20.0.3" + jest-matchers "^20.0.3" + jest-message-util "^20.0.3" + jest-snapshot "^20.0.3" + once "^1.4.0" + p-map "^1.1.1" jest-junit-reporter@^1.0.1: version "1.1.0" @@ -4131,110 +4526,109 @@ jest-junit-reporter@^1.0.1: dependencies: xml "^1.0.1" -jest-matcher-utils@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d" +jest-matcher-utils@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz#b3a6b8e37ca577803b0832a98b164f44b7815612" dependencies: chalk "^1.1.3" - pretty-format "^19.0.0" + pretty-format "^20.0.3" -jest-matchers@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-19.0.0.tgz#c74ecc6ebfec06f384767ba4d6fa4a42d6755754" +jest-matchers@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-20.0.3.tgz#ca69db1c32db5a6f707fa5e0401abb55700dfd60" dependencies: - jest-diff "^19.0.0" - jest-matcher-utils "^19.0.0" - jest-message-util "^19.0.0" - jest-regex-util "^19.0.0" + jest-diff "^20.0.3" + jest-matcher-utils "^20.0.3" + jest-message-util "^20.0.3" + jest-regex-util "^20.0.3" -jest-message-util@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-19.0.0.tgz#721796b89c0e4d761606f9ba8cb828a3b6246416" +jest-message-util@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-20.0.3.tgz#6aec2844306fcb0e6e74d5796c1006d96fdd831c" dependencies: - chalk "^1.1.1" + chalk "^1.1.3" micromatch "^2.3.11" + slash "^1.0.0" -jest-mock@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-19.0.0.tgz#67038641e9607ab2ce08ec4a8cb83aabbc899d01" +jest-mock@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-20.0.3.tgz#8bc070e90414aa155c11a8d64c869a0d5c71da59" -jest-regex-util@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-19.0.0.tgz#b7754587112aede1456510bb1f6afe74ef598691" +jest-regex-util@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-20.0.3.tgz#85bbab5d133e44625b19faf8c6aa5122d085d762" -jest-resolve-dependencies@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-19.0.0.tgz#a741ad1fa094140e64ecf2642a504f834ece22ee" +jest-resolve-dependencies@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz#6e14a7b717af0f2cb3667c549de40af017b1723a" dependencies: - jest-file-exists "^19.0.0" + jest-regex-util "^20.0.3" -jest-resolve@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-19.0.2.tgz#5793575de4f07aec32f7d7ff0c6c181963eefb3c" +jest-resolve@^20.0.4: + version "20.0.4" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-20.0.4.tgz#9448b3e8b6bafc15479444c6499045b7ffe597a5" dependencies: browser-resolve "^1.11.2" - jest-haste-map "^19.0.0" - resolve "^1.2.0" + is-builtin-module "^1.0.0" + resolve "^1.3.2" -jest-runtime@^19.0.2: - version "19.0.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-19.0.3.tgz#a163354ace46910ee33f0282b6bff6b0b87d4330" +jest-runtime@^20.0.4: + version "20.0.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-20.0.4.tgz#a2c802219c4203f754df1404e490186169d124d8" dependencies: babel-core "^6.0.0" - babel-jest "^19.0.0" + babel-jest "^20.0.3" babel-plugin-istanbul "^4.0.0" chalk "^1.1.3" - graceful-fs "^4.1.6" - jest-config "^19.0.2" - jest-file-exists "^19.0.0" - jest-haste-map "^19.0.0" - jest-regex-util "^19.0.0" - jest-resolve "^19.0.2" - jest-util "^19.0.2" + convert-source-map "^1.4.0" + graceful-fs "^4.1.11" + jest-config "^20.0.4" + jest-haste-map "^20.0.4" + jest-regex-util "^20.0.3" + jest-resolve "^20.0.4" + jest-util "^20.0.3" json-stable-stringify "^1.0.1" micromatch "^2.3.11" strip-bom "3.0.0" - yargs "^6.3.0" + yargs "^7.0.2" -jest-snapshot@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-19.0.2.tgz#9c1b216214f7187c38bfd5c70b1efab16b0ff50b" +jest-snapshot@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-20.0.3.tgz#5b847e1adb1a4d90852a7f9f125086e187c76566" dependencies: chalk "^1.1.3" - jest-diff "^19.0.0" - jest-file-exists "^19.0.0" - jest-matcher-utils "^19.0.0" - jest-util "^19.0.2" + jest-diff "^20.0.3" + jest-matcher-utils "^20.0.3" + jest-util "^20.0.3" natural-compare "^1.4.0" - pretty-format "^19.0.0" + pretty-format "^20.0.3" -jest-util@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-19.0.2.tgz#e0a0232a2ab9e6b2b53668bdb3534c2b5977ed41" +jest-util@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-20.0.3.tgz#0c07f7d80d82f4e5a67c6f8b9c3fe7f65cfd32ad" dependencies: - chalk "^1.1.1" - graceful-fs "^4.1.6" - jest-file-exists "^19.0.0" - jest-message-util "^19.0.0" - jest-mock "^19.0.0" - jest-validate "^19.0.2" - leven "^2.0.0" + chalk "^1.1.3" + graceful-fs "^4.1.11" + jest-message-util "^20.0.3" + jest-mock "^20.0.3" + jest-validate "^20.0.3" + leven "^2.1.0" mkdirp "^0.5.1" -jest-validate@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.2.tgz#dc534df5f1278d5b63df32b14241d4dbf7244c0c" +jest-validate@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.3.tgz#d0cfd1de4f579f298484925c280f8f1d94ec3cab" dependencies: - chalk "^1.1.1" - jest-matcher-utils "^19.0.0" - leven "^2.0.0" - pretty-format "^19.0.0" + chalk "^1.1.3" + jest-matcher-utils "^20.0.3" + leven "^2.1.0" + pretty-format "^20.0.3" -jest@^19.0.2: - version "19.0.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-19.0.2.tgz#b794faaf8ff461e7388f28beef559a54f20b2c10" +jest@^20.0.4: + version "20.0.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-20.0.4.tgz#3dd260c2989d6dad678b1e9cc4d91944f6d602ac" dependencies: - jest-cli "^19.0.2" + jest-cli "^20.0.4" jmespath@0.15.0: version "0.15.0" @@ -4259,6 +4653,10 @@ join-component@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/join-component/-/join-component-1.1.0.tgz#b8417b750661a392bee2c2537c68b2a9d4977cd5" +js-base64@^2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" @@ -4270,6 +4668,13 @@ js-yaml@^3.5.1, js-yaml@^3.5.3, js-yaml@^3.7.0: argparse "^1.0.7" esprima "^3.1.1" +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -4280,7 +4685,33 @@ jsdelivr-cdn-data@^0.1.1: dependencies: semver "~2.2.1" -jsdom@^9.11.0: +jsdom@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.0.0.tgz#1ee507cb2c0b16c875002476b1a8557d951353e5" + dependencies: + abab "^1.0.3" + acorn "^4.0.4" + acorn-globals "^3.1.0" + array-equal "^1.0.0" + content-type-parser "^1.0.1" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" + escodegen "^1.6.1" + html-encoding-sniffer "^1.0.1" + nwmatcher ">= 1.3.9 < 2.0.0" + parse5 "^3.0.2" + pn "^1.0.0" + request "^2.79.0" + request-promise-native "^1.0.3" + sax "^1.2.1" + symbol-tree "^3.2.1" + tough-cookie "^2.3.2" + webidl-conversions "^4.0.0" + whatwg-encoding "^1.0.1" + whatwg-url "^4.3.0" + xml-name-validator "^2.0.1" + +jsdom@^9.0.0, jsdom@^9.12.0: version "9.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" dependencies: @@ -4320,6 +4751,10 @@ json-loader@0.5.4, json-loader@^0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -4440,7 +4875,7 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -leven@^2.0.0: +leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" @@ -4596,6 +5031,10 @@ lodash.bind@^4.1.4: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + lodash.clonedeep@4.5.0, lodash.clonedeep@^4.3.0, lodash.clonedeep@^4.3.1: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -4682,6 +5121,10 @@ lodash.map@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + lodash.merge@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-3.3.2.tgz#0d90d93ed637b1878437bb3e21601260d7afe994" @@ -4741,6 +5184,10 @@ lodash.toplainobject@^3.0.0: lodash._basecopy "^3.0.0" lodash.keysin "^3.0.0" +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.12.0: version "4.12.0" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.12.0.tgz#2bd6dc46a040f59e686c972ed21d93dc59053258" @@ -4749,7 +5196,7 @@ lodash@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.0.0, lodash@^4.12.0, lodash@^4.13.0, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1, lodash@^4.8.0, lodash@^4.8.2, lodash@~4.17.2: +lodash@^4.0.0, lodash@^4.12.0, lodash@^4.13.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1, lodash@^4.8.0, lodash@^4.8.2, lodash@~4.17.2: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -4807,6 +5254,10 @@ lsmod@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lsmod/-/lsmod-1.0.0.tgz#9a00f76dca36eb23fa05350afe1b585d4299e64b" +macaddress@^0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + mailcomposer@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/mailcomposer/-/mailcomposer-4.0.2.tgz#b635402cc7f2eedb10130d3d09ad88b1c2d7e101" @@ -4828,6 +5279,12 @@ mailgun-js@^0.10.1: proxy-agent "~2.0.0" tsscmp "~1.0.0" +make-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + dependencies: + pify "^2.3.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -4856,6 +5313,10 @@ marked@0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -5160,7 +5621,7 @@ node-libs-browser@^2.0.0: util "^0.10.3" vm-browserify "0.0.4" -node-notifier@^5.0.1: +node-notifier@^5.0.2: version "5.1.2" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff" dependencies: @@ -5229,6 +5690,19 @@ normalize-path@^2.0.1: dependencies: remove-trailing-separator "^1.0.1" +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + npmlog@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" @@ -5244,6 +5718,10 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" @@ -5260,7 +5738,7 @@ object-assign@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4, 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" @@ -5268,6 +5746,10 @@ object-inspect@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-0.4.0.tgz#f5157c116c1455b243b06ee97703392c5ad89fec" +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: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" @@ -5284,6 +5766,15 @@ object.assign@^4.0.4: function-bind "^1.1.0" object-keys "^1.0.10" +object.entries@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -5291,6 +5782,15 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +object.values@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -5393,15 +5893,12 @@ output-file-sync@^1.1.0: mkdirp "^0.5.1" object-assign "^4.1.0" -oy-vey@^1.0.0-alpha: - version "1.0.0-alpha" - resolved "https://registry.yarnpkg.com/oy-vey/-/oy-vey-1.0.0-alpha.tgz#a1aad7aae0388118bafbb48baa2dc1e2700e847a" +oy-vey@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oy-vey/-/oy-vey-0.9.0.tgz#f51a59248356c68aa136e7d73d3c21480dbbefe3" dependencies: - clean-css "^3.4.10" + clean-css "^4.0.12" object-assign "^4.0.1" - react "^15.0.1" - react-addons-test-utils "^15.0.1" - react-dom "^15.0.1" sanitizer "^0.1.3" p-limit@^1.1.0: @@ -5414,6 +5911,10 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" +p-map@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a" + pac-proxy-agent@1: version "1.0.0" resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-1.0.0.tgz#dcd5b746581367430a236e88eacfd4e5b8d068a5" @@ -5499,6 +6000,12 @@ parse5@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" +parse5@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.2.tgz#05eff57f0ef4577fb144a79f8b9a967a6cc44510" + dependencies: + "@types/node" "^6.0.46" + parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" @@ -5586,7 +6093,7 @@ performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" -pify@^2.0.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -5614,6 +6121,12 @@ pkg-dir@^1.0.0: dependencies: find-up "^1.0.0" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + pkg-up@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" @@ -5624,6 +6137,256 @@ pluralize@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" +pn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + dependencies: + postcss "^5.0.14" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + dependencies: + postcss "^5.0.4" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + dependencies: + postcss "^5.0.14" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + dependencies: + postcss "^5.0.16" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + dependencies: + postcss "^5.0.4" + uniqid "^4.0.0" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + dependencies: + postcss "^5.0.4" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-modules-extract-imports@^1.0.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: + 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: + 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: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + dependencies: + postcss "^5.0.4" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: + version "5.2.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^6.0.1: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.3.tgz#b7f565b3d956fbb8565ca7c1e239d0506e427d8b" + dependencies: + chalk "^1.1.3" + source-map "^0.5.6" + supports-color "^4.0.0" + pre-commit@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6" @@ -5644,10 +6407,11 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-format@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" +pretty-format@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14" dependencies: + ansi-regex "^2.1.1" ansi-styles "^3.0.0" private@^0.1.6, private@~0.1.5: @@ -5688,7 +6452,7 @@ prop-types@^15.0.0, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, dependencies: fbjs "^0.8.9" -prop-types@^15.5.10: +prop-types@^15.5.10, prop-types@^15.5.9: version "15.5.10" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" dependencies: @@ -5757,6 +6521,13 @@ qs@~6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/qs/-/qs-6.0.4.tgz#51019d84720c939b82737e84556a782338ecea7b" +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -5833,16 +6604,13 @@ react-addons-css-transition-group@^15.4.2: fbjs "^0.8.4" object-assign "^4.1.0" -react-addons-test-utils@15.4.2, react-addons-test-utils@^15.0.1: - version "15.4.2" - resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.4.2.tgz#93bcaa718fcae7360d42e8fb1c09756cc36302a2" - dependencies: - fbjs "^0.8.4" - object-assign "^4.1.0" +react-addons-test-utils@^15.6.0: + version "15.6.0" + resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.6.0.tgz#062d36117fe8d18f3ba5e06eb33383b0b85ea5b9" -react-async-hoc@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/react-async-hoc/-/react-async-hoc-0.2.0.tgz#70f1a23737a739d98fb159f8c4faebdfa88c0dfc" +react-async-hoc@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/react-async-hoc/-/react-async-hoc-0.3.3.tgz#19d9a34fd36458a92670c3bf1bfb4dd8d4906860" react-copy-to-clipboard@^4.2.3: version "4.3.1" @@ -5877,7 +6645,7 @@ react-dnd@^2.4.0: lodash "^4.2.0" prop-types "^15.5.8" -react-dom@^15.0.1, react-dom@^15.5.4: +react-dom@^15.5.4: version "15.5.4" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da" dependencies: @@ -5892,13 +6660,6 @@ react-fontawesome@^1.5.0: dependencies: prop-types "^15.5.6" -react-githubish-mentions@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/react-githubish-mentions/-/react-githubish-mentions-1.0.3.tgz#f07262e0ceea1bafaa2f0561003722951a6b0b1c" - dependencies: - react-portal-hoc "^0.4.0" - textarea-caret "git://github.com/mattkrick/textarea-caret-position.git#ede461f40712238c505e4a1861fc68de6e7731ad" - react-helmet@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.0.3.tgz#c6da63ee96e83aa7c8fe6d041f28dd288b1b006d" @@ -6001,7 +6762,7 @@ react-transform-hmr@1.0.4: global "^4.3.0" react-proxy "^1.1.7" -react@^15.0.1, react@^15.5.4: +react@^15.5.4: version "15.5.4" resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047" dependencies: @@ -6144,6 +6905,20 @@ redis-parser@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-1.3.0.tgz#806ebe7bbfb7d34e4d7c1e9ef282efcfad04126a" +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + dependencies: + balanced-match "^0.4.2" + reduce-reducers@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.2.tgz#fa1b4718bc5292a71ddd1e5d839c9bea9770f14b" @@ -6155,9 +6930,9 @@ redux-actions@^0.9.0: flux-standard-action "^0.6.0" reduce-reducers "^0.1.0" -redux-form@^6.5.0: - version "6.6.3" - resolved "https://registry.yarnpkg.com/redux-form/-/redux-form-6.6.3.tgz#62362654f2214c83a8f9fcb8313702bb46f92205" +redux-form@6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/redux-form/-/redux-form-6.8.0.tgz#ff1b590b59f987d7e3ff080d752f7120bfe42af3" dependencies: deep-equal "^1.0.1" es6-error "^4.0.0" @@ -6166,13 +6941,13 @@ redux-form@^6.5.0: is-promise "^2.1.0" lodash "^4.17.3" lodash-es "^4.17.3" - prop-types "^15.5.6" + prop-types "^15.5.9" -redux-logger@2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-2.8.2.tgz#52140a89afa1c1d25312cc17649c116650bf7fca" +redux-logger@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-3.0.6.tgz#f7555966f3098f3c88604c449cf0baf5778274bf" dependencies: - deep-diff "0.3.4" + deep-diff "^0.3.5" redux-raven-middleware@^1.2.0: version "1.2.0" @@ -6216,7 +6991,7 @@ redux-thunk@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" -redux@3.6.0, redux@^3.2.0: +redux@^3.2.0: version "3.6.0" resolved "https://registry.yarnpkg.com/redux/-/redux-3.6.0.tgz#887c2b3d0b9bd86eca2be70571c27654c19e188d" dependencies: @@ -6225,6 +7000,15 @@ redux@3.6.0, redux@^3.2.0: loose-envify "^1.1.0" symbol-observable "^1.0.2" +redux@^3.7.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.1.tgz#bfc535c757d3849562ead0af18ac52122cd7268e" + dependencies: + lodash "^4.2.1" + lodash-es "^4.2.1" + loose-envify "^1.1.0" + symbol-observable "^1.0.3" + regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" @@ -6264,6 +7048,14 @@ regex-cache@^0.4.2: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + regexpu-core@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" @@ -6323,6 +7115,20 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.4.tgz#86988ec8eee408e45579fce83bfd05b3adf9a155" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.0" + request@>=2.42.0, request@^2.74.0, request@^2.75.0, request@^2.79.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -6381,7 +7187,7 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.2.0: +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: @@ -6402,9 +7208,9 @@ restore-cursor@^1.0.1: exit-hook "^1.0.0" onetime "^1.0.0" -rethinkdbdash@2.3.28: - version "2.3.28" - resolved "https://registry.yarnpkg.com/rethinkdbdash/-/rethinkdbdash-2.3.28.tgz#f15fed3a2f0c178155fcadb6fc212b3df80f73df" +rethinkdbdash@^2.3.29: + version "2.3.29" + resolved "https://registry.yarnpkg.com/rethinkdbdash/-/rethinkdbdash-2.3.29.tgz#252e454c89a86783301eb4171959386bdb268c0c" dependencies: bluebird ">= 3.0.1" @@ -6414,7 +7220,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@2.6.1, rimraf@^2.2.8, rimraf@^2.4.4: +rimraf@2, rimraf@2.6.1, rimraf@^2.2.8, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -6482,9 +7288,9 @@ safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" -sane@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-1.5.0.tgz#a4adeae764d048621ecb27d5f9ecf513101939f3" +sane@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-1.6.0.tgz#9610c452307a135d29c1fdfe2547034180c46775" dependencies: anymatch "^1.3.0" exec-sh "^0.2.0" @@ -6506,7 +7312,7 @@ sax@1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.5.tgz#1da50a8d00cdecd59405659f5ff85349fe773743" -sax@1.2.1, sax@>=0.6.0, sax@^1.2.1: +sax@1.2.1, sax@>=0.6.0, sax@^1.2.1, sax@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" @@ -6579,6 +7385,12 @@ sc-simple-broker@~2.0.0: dependencies: sc-channel "~1.0.6" +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + secure-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/secure-keys/-/secure-keys-1.0.0.tgz#f0c82d98a3b139a8776a8808050b824431087fca" @@ -6922,6 +7734,16 @@ socks@~1.1.5: ip "^1.1.4" smart-buffer "^1.0.13" +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" + source-list-map@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4" @@ -6932,16 +7754,16 @@ source-map-support@^0.4.2: dependencies: source-map "^0.5.6" -source-map@0.4.x, source-map@^0.4.4: +source-map@0.5.x, "source-map@>= 0.1.2", source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" -"source-map@>= 0.1.2", source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - source-map@~0.1.33: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" @@ -7042,6 +7864,10 @@ stats-webpack-plugin@0.5.0: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + stream-browserify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" @@ -7077,6 +7903,10 @@ streamsink@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/streamsink/-/streamsink-1.2.0.tgz#efafee9f1e22d3591ed7de3dcaa95c3f5e79f73c" +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + string-length@^1.0.0, string-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" @@ -7169,6 +7999,13 @@ stripe@^4.15.1: object-assign "^4.1.0" qs "~6.0.4" +style-loader@^0.18.1: + version "0.18.2" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + superagent-proxy@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/superagent-proxy/-/superagent-proxy-1.0.2.tgz#92d3660578f618ed43a82cf8cac799fe2938ba2d" @@ -7209,6 +8046,24 @@ supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: dependencies: has-flag "^1.0.0" +supports-color@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.0.0.tgz#33a7c680aa512c9d03ef929cacbb974d203d2790" + dependencies: + has-flag "^2.0.0" + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + swap-case@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" @@ -7216,7 +8071,7 @@ swap-case@^1.1.0: lower-case "^1.1.1" upper-case "^1.1.1" -symbol-observable@^1.0.2: +symbol-observable@^1.0.2, symbol-observable@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" @@ -7224,6 +8079,10 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" +synthetic-dom@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/synthetic-dom/-/synthetic-dom-0.2.1.tgz#6c76fcf91ea9a5231318f8f415e27883d534df86" + table@^3.7.8: version "3.8.3" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" @@ -7291,10 +8150,6 @@ text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -"textarea-caret@git://github.com/mattkrick/textarea-caret-position.git#ede461f40712238c505e4a1861fc68de6e7731ad": - version "3.0.2" - resolved "git://github.com/mattkrick/textarea-caret-position.git#ede461f40712238c505e4a1861fc68de6e7731ad" - then-fs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/then-fs/-/then-fs-2.0.0.tgz#72f792dd9d31705a91ae19ebfcf8b3f968c81da2" @@ -7358,6 +8213,10 @@ title-case@^1.1.0: sentence-case "^1.1.1" upper-case "^1.0.3" +tlds@^1.189.0: + version "1.189.0" + resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.189.0.tgz#b8cb46ea76dc2f4a01d45b8d907bf19a66e9f729" + tmp@^0.0.29: version "0.0.29" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" @@ -7376,6 +8235,13 @@ to-fast-properties@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" +to-markdown@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/to-markdown/-/to-markdown-3.0.4.tgz#3c7822f9286bc294ff37f9e0e5e23154c122ce69" + dependencies: + collapse-whitespace "1.1.2" + jsdom "^9.0.0" + toggle-selection@^1.0.3: version "1.0.5" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.5.tgz#726c703de607193a73c32c7df49cd24950fc574f" @@ -7386,7 +8252,7 @@ topo@1.x.x: dependencies: hoek "2.x.x" -tough-cookie@^2.3.2, tough-cookie@~2.3.0: +tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -7598,9 +8464,9 @@ url-join@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" -url-loader@0.5.8: - version "0.5.8" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5" +url-loader@^0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295" dependencies: loader-utils "^1.0.2" mime "1.3.x" @@ -7690,6 +8556,10 @@ vary@^1, vary@~1.1.0, vary@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" +vendors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" + verror@1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" @@ -7702,6 +8572,10 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" +void-elements@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -7734,9 +8608,9 @@ webidl-conversions@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" -webpack-dev-middleware@1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893" +webpack-dev-middleware@^1.10.2: + version "1.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz#09691d0973a30ad1f82ac73a12e2087f0a4754f9" dependencies: memory-fs "~0.4.1" mime "^1.3.4" @@ -7817,11 +8691,15 @@ whatwg-url@^4.3.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which@1.2.x, which@^1.1.1, which@^1.2.12, which@^1.2.9: +which@1.2.x, which@^1.2.12, which@^1.2.9: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: @@ -8010,6 +8888,12 @@ yargs-parser@^4.2.0: dependencies: camelcase "^3.0.0" +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + yargs@^3.19.0: version "3.32.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" @@ -8041,7 +8925,7 @@ yargs@^4.3.2: y18n "^3.2.1" yargs-parser "^2.4.1" -yargs@^6.0.0, yargs@^6.3.0: +yargs@^6.0.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: @@ -8059,6 +8943,24 @@ yargs@^6.0.0, yargs@^6.3.0: y18n "^3.2.1" yargs-parser "^4.2.0" +yargs@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" From 4a9287faadacc614624711e5fa7ef0de41d4e9ef Mon Sep 17 00:00:00 2001 From: Matt Krick Date: Tue, 27 Jun 2017 14:36:11 -0700 Subject: [PATCH 5/8] add css loader to prod build change !bottom to isAbstract for routes add comment explaining previousLocation context --- src/universal/components/Action/Action.js | 18 +++++++++--------- .../components/AsyncRoute/AsyncRoute.js | 6 +++--- src/universal/components/Bundle/Bundle.js | 10 +++++----- .../DashboardWrapper/DashboardWrapper.js | 6 +++--- .../components/SocketRoute/SocketRoute.js | 4 ++-- .../containers/Action/ActionContainer.js | 12 +++++++++--- .../containers/Team/TeamContainer.js | 6 +++--- .../components/UserDashboard/UserDashboard.js | 10 +++++----- webpack/webpack.config.prod.js | 3 ++- webpack/webpack.config.server.js | 3 ++- 10 files changed, 43 insertions(+), 35 deletions(-) diff --git a/src/universal/components/Action/Action.js b/src/universal/components/Action/Action.js index e65c863a604..488a9168a59 100644 --- a/src/universal/components/Action/Action.js +++ b/src/universal/components/Action/Action.js @@ -24,15 +24,15 @@ const Action = (props) => { - - - - - - - - - + + + + + + + + + ); diff --git a/src/universal/components/AsyncRoute/AsyncRoute.js b/src/universal/components/AsyncRoute/AsyncRoute.js index c55d421e1af..45b30429bab 100644 --- a/src/universal/components/AsyncRoute/AsyncRoute.js +++ b/src/universal/components/AsyncRoute/AsyncRoute.js @@ -3,13 +3,13 @@ import {Route} from 'react-router-dom'; import PropTypes from 'prop-types'; import Bundle from '../Bundle/Bundle'; -const AsyncRoute = ({mod, exact, path, isPrivate, bottom, extraProps}) => { +const AsyncRoute = ({mod, exact, path, isAbstract, isPrivate, extraProps}) => { return ( ( { }; AsyncRoute.propTypes = { - bottom: PropTypes.bool, exact: PropTypes.bool, extraProps: PropTypes.object, + isAbstract: PropTypes.bool, isPrivate: PropTypes.bool, mod: PropTypes.func.isRequired, path: PropTypes.string diff --git a/src/universal/components/Bundle/Bundle.js b/src/universal/components/Bundle/Bundle.js index 614f69ef37b..d372e0d9c1c 100644 --- a/src/universal/components/Bundle/Bundle.js +++ b/src/universal/components/Bundle/Bundle.js @@ -22,9 +22,9 @@ class Bundle extends Component { }; static propTypes = { - bottom: PropTypes.bool, extraProps: PropTypes.object, history: PropTypes.object.isRequired, + isAbstractRoute: PropTypes.bool, isPrivate: PropTypes.bool, location: PropTypes.object.isRequired, match: PropTypes.object, @@ -37,19 +37,19 @@ class Bundle extends Component { componentWillMount() { this.loadMod(this.props); - const {location: {pathname: nextPath}, bottom, match: {params}} = this.props; - if (bottom === true) { + const {location: {pathname: nextPath}, isAbstractRoute, match: {params}} = this.props; + if (!isAbstractRoute) { const {store: {dispatch}, previousLocation: {lastPath}} = this.context; updateAnalyticsPage(dispatch, lastPath, nextPath, params); } } componentWillReceiveProps(nextProps) { - const {bottom, mod} = nextProps; + const {isAbstractRoute, mod} = nextProps; if (mod !== this.props.mod) { this.loadMod(nextProps); } - if (bottom === true) { + if (!isAbstractRoute) { const {location: {pathname: nextPath}, match: {params}} = nextProps; const {location: {pathname: lastPath}} = this.props; if (lastPath !== nextPath) { diff --git a/src/universal/components/DashboardWrapper/DashboardWrapper.js b/src/universal/components/DashboardWrapper/DashboardWrapper.js index 2b1c476f5f8..12a2d02db1d 100644 --- a/src/universal/components/DashboardWrapper/DashboardWrapper.js +++ b/src/universal/components/DashboardWrapper/DashboardWrapper.js @@ -12,9 +12,9 @@ const DashboardWrapper = () => { return ( - - - + + + ); }; diff --git a/src/universal/components/SocketRoute/SocketRoute.js b/src/universal/components/SocketRoute/SocketRoute.js index ccbff7f84c6..be5d18f5848 100644 --- a/src/universal/components/SocketRoute/SocketRoute.js +++ b/src/universal/components/SocketRoute/SocketRoute.js @@ -15,8 +15,8 @@ const meetingContainer = () => System.import('universal/modules/meeting/containe const SocketRoute = () => { return ( - - + + ); }; diff --git a/src/universal/containers/Action/ActionContainer.js b/src/universal/containers/Action/ActionContainer.js index 2d85acdc3c7..0dbe9327bcf 100644 --- a/src/universal/containers/Action/ActionContainer.js +++ b/src/universal/containers/Action/ActionContainer.js @@ -1,9 +1,9 @@ import PropTypes from 'prop-types'; -import React, { Component } from 'react'; +import React, {Component} from 'react'; +import {withRouter} from 'react-router-dom'; import Action from 'universal/components/Action/Action'; import injectGlobals from 'universal/styles/hepha'; import globalStyles from 'universal/styles/theme/globalStyles'; -import {withRouter} from 'react-router-dom'; const previousLocation = { lastPath: '' @@ -32,7 +32,13 @@ export default class ActionContainer extends Component { } componentWillReceiveProps() { - // mutative. handling context any other way is just dangerous + /* + * mutative. handling context any other way is just dangerous + * segment wants params by name (eg teamId, orgId) but those + * are not known until we hit the leaf routes + * so we need to pass in the previousLocation + * so the leaf routes can use that as a referrer + */ previousLocation.lastPath = this.props.location.pathname; } diff --git a/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js b/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js index 16254a77f1b..76be87158f9 100644 --- a/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js +++ b/src/universal/modules/teamDashboard/containers/Team/TeamContainer.js @@ -74,9 +74,9 @@ const TeamContainer = (props) => { > {/* TODO: replace match.path with a relative when the time comes: https://github.com/ReactTraining/react-router/pull/4539*/} - - - + + + ); diff --git a/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js b/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js index 291a119bd8c..092d5cca861 100644 --- a/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js +++ b/src/universal/modules/userDashboard/components/UserDashboard/UserDashboard.js @@ -15,11 +15,11 @@ const UserDashboard = (props) => { const {match} = props; return ( - - - - - + + + + + ); }; diff --git a/webpack/webpack.config.prod.js b/webpack/webpack.config.prod.js index 5a44d6ab849..59ff1d95031 100644 --- a/webpack/webpack.config.prod.js +++ b/webpack/webpack.config.prod.js @@ -129,7 +129,8 @@ export default { }, { test: /auth0-lock\/.*\.ejs$/, loader: 'transform-loader/cacheable?ejsify' - } + }, + { test: /\.css$/, loader: 'style-loader!css-loader' } ] } }; diff --git a/webpack/webpack.config.server.js b/webpack/webpack.config.server.js index b47784e95ea..755a2afc2f7 100644 --- a/webpack/webpack.config.server.js +++ b/webpack/webpack.config.server.js @@ -72,7 +72,8 @@ export default { }, { test: /auth0-lock\/.*\.ejs$/, loader: 'transform-loader/cacheable?ejsify' - } + }, + { test: /\.css$/, loader: 'style-loader!css-loader' } ] } }; From 9c2d5ce2f9997cca255ca46f12fc294368762b6d Mon Sep 17 00:00:00 2001 From: Matt Krick Date: Wed, 28 Jun 2017 09:42:57 -0700 Subject: [PATCH 6/8] fix title for analytics --- src/universal/components/Bundle/Bundle.js | 39 ++++++++++++------- .../components/ParabolHelmet/ParabolHelmet.js | 28 +++++++++++++ .../containers/Action/ActionContainer.js | 16 +++++--- .../Impersonate/ImpersonateContainer.js | 2 +- .../invoice/components/Invoice/Invoice.js | 2 +- .../containers/Landing/LandingContainer.js | 2 +- .../components/MeetingLayout/MeetingLayout.js | 2 +- .../components/Notifications/Notifications.js | 2 +- .../containers/Patterns/PatternsContainer.js | 2 +- .../MeetingSummary/MeetingSummaryContainer.js | 2 +- .../AgendaAndProjects/AgendaAndProjects.js | 2 +- .../components/TeamArchive/TeamArchive.js | 2 +- .../components/TeamSettings/TeamSettings.js | 2 +- .../components/Organization/Organization.js | 2 +- .../components/Organizations/Organizations.js | 2 +- .../components/UserDashMain/UserDashMain.js | 3 +- .../components/UserSettings/UserSettings.js | 2 +- .../welcome/components/Welcome/Welcome.js | 2 +- 18 files changed, 80 insertions(+), 34 deletions(-) create mode 100644 src/universal/components/ParabolHelmet/ParabolHelmet.js diff --git a/src/universal/components/Bundle/Bundle.js b/src/universal/components/Bundle/Bundle.js index d372e0d9c1c..dc9fa192155 100644 --- a/src/universal/components/Bundle/Bundle.js +++ b/src/universal/components/Bundle/Bundle.js @@ -1,13 +1,12 @@ -import React, {Component} from 'react'; import PropTypes from 'prop-types'; +import React, {Component} from 'react'; import requireAuth from 'universal/decorators/requireAuth/requireAuth'; import {segmentEventPage} from 'universal/redux/segmentActions'; -const updateAnalyticsPage = (dispatch, lastPath, nextPath, params) => { +const updateAnalyticsPage = (dispatch, lastPath, nextPath, title, params) => { if (typeof document === 'undefined' || typeof window.analytics === 'undefined') return; - const name = document && document.title || ''; const properties = { - title: name, + title, referrer: lastPath, path: nextPath, params @@ -17,8 +16,8 @@ const updateAnalyticsPage = (dispatch, lastPath, nextPath, params) => { class Bundle extends Component { static contextTypes = { - store: PropTypes.object, - previousLocation: PropTypes.object + analytics: PropTypes.object, + store: PropTypes.object }; static propTypes = { @@ -37,23 +36,37 @@ class Bundle extends Component { componentWillMount() { this.loadMod(this.props); + } + + componentDidMount() { const {location: {pathname: nextPath}, isAbstractRoute, match: {params}} = this.props; if (!isAbstractRoute) { - const {store: {dispatch}, previousLocation: {lastPath}} = this.context; - updateAnalyticsPage(dispatch, lastPath, nextPath, params); + const {store: {dispatch}} = this.context; + // can't use setTimeout, since react rendering is not guaranteed sync + // use requestIdleCallback to ensure that rendering eg '/me' has completed + window.requestIdleCallback(() => { + const {analytics: {lastPath, title}} = this.context; + updateAnalyticsPage(dispatch, lastPath, nextPath, title, params); + }); } } componentWillReceiveProps(nextProps) { - const {isAbstractRoute, mod} = nextProps; + const {mod} = nextProps; if (mod !== this.props.mod) { this.loadMod(nextProps); } + } + + componentDidUpdate(prevProps) { + // use cDU to allow helmet to update the document title for the subcomponents + const {isAbstractRoute} = this.props; if (!isAbstractRoute) { - const {location: {pathname: nextPath}, match: {params}} = nextProps; - const {location: {pathname: lastPath}} = this.props; + const {location: {pathname: nextPath}, match: {params}} = this.props; + const {location: {pathname: lastPath}} = prevProps; if (lastPath !== nextPath) { - updateAnalyticsPage(this.context.store.dispatch, lastPath, nextPath, params); + const {store: {dispatch}, analytics: {title}} = this.context; + updateAnalyticsPage(dispatch, lastPath, nextPath, title, params); } } } @@ -76,7 +89,7 @@ class Bundle extends Component { const {Mod} = this.state; if (!Mod) return null; const {history, location, match, extraProps} = this.props; - return ; + return ; } } diff --git a/src/universal/components/ParabolHelmet/ParabolHelmet.js b/src/universal/components/ParabolHelmet/ParabolHelmet.js new file mode 100644 index 00000000000..b08e9f7f056 --- /dev/null +++ b/src/universal/components/ParabolHelmet/ParabolHelmet.js @@ -0,0 +1,28 @@ +import PropTypes from 'prop-types'; +import React, {Component} from 'react'; +import Helmet from 'react-helmet'; + +export default class ParabolHelmet extends Component { + static contextTypes = { + analytics: PropTypes.object + }; + + static propTypes = { + title: PropTypes.string + }; + + componentDidMount() { + this.context.analytics.title = this.props.title; + } + + componentWillReceiveProps(nextProps) { + if (nextProps.title !== this.props.title) { + this.context.analytics.title = nextProps.title; + } + + } + + render() { + return + } +} diff --git a/src/universal/containers/Action/ActionContainer.js b/src/universal/containers/Action/ActionContainer.js index 0dbe9327bcf..8068a8cbeb6 100644 --- a/src/universal/containers/Action/ActionContainer.js +++ b/src/universal/containers/Action/ActionContainer.js @@ -5,14 +5,18 @@ import Action from 'universal/components/Action/Action'; import injectGlobals from 'universal/styles/hepha'; import globalStyles from 'universal/styles/theme/globalStyles'; -const previousLocation = { - lastPath: '' +const analytics = { + lastPath: '', + title: '' }; @withRouter export default class ActionContainer extends Component { static childContextTypes = { - previousLocation: PropTypes.object + analytics: PropTypes.shape({ + lastPath: PropTypes.string, + title: PropTypes.string + }) }; static propTypes = { @@ -24,7 +28,7 @@ export default class ActionContainer extends Component { }; getChildContext() { - return {previousLocation}; + return {analytics}; } componentWillMount() { @@ -36,10 +40,10 @@ export default class ActionContainer extends Component { * mutative. handling context any other way is just dangerous * segment wants params by name (eg teamId, orgId) but those * are not known until we hit the leaf routes - * so we need to pass in the previousLocation + * so we need to pass in the analytics * so the leaf routes can use that as a referrer */ - previousLocation.lastPath = this.props.location.pathname; + analytics.lastPath = this.props.location.pathname; } render() { diff --git a/src/universal/modules/admin/containers/Impersonate/ImpersonateContainer.js b/src/universal/modules/admin/containers/Impersonate/ImpersonateContainer.js index f08de4c5bed..dca2922e053 100644 --- a/src/universal/modules/admin/containers/Impersonate/ImpersonateContainer.js +++ b/src/universal/modules/admin/containers/Impersonate/ImpersonateContainer.js @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import {connect} from 'react-redux'; import {cashay} from 'cashay'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import requireAuthAndRole from 'universal/decorators/requireAuthAndRole/requireAuthAndRole'; import LoadingView from 'universal/components/LoadingView/LoadingView'; import {showError} from 'universal/modules/toast/ducks/toastDuck'; diff --git a/src/universal/modules/invoice/components/Invoice/Invoice.js b/src/universal/modules/invoice/components/Invoice/Invoice.js index a50ea6286de..101857272c5 100644 --- a/src/universal/modules/invoice/components/Invoice/Invoice.js +++ b/src/universal/modules/invoice/components/Invoice/Invoice.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; import React from 'react'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import withStyles from 'universal/styles/withStyles'; import {css} from 'aphrodite-local-styles/no-important'; import ui from 'universal/styles/ui'; diff --git a/src/universal/modules/landing/containers/Landing/LandingContainer.js b/src/universal/modules/landing/containers/Landing/LandingContainer.js index 7f885bd67ce..25f83efb45a 100644 --- a/src/universal/modules/landing/containers/Landing/LandingContainer.js +++ b/src/universal/modules/landing/containers/Landing/LandingContainer.js @@ -1,7 +1,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import Landing from 'universal/modules/landing/components/Landing/Landing'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import {showLock} from 'universal/components/Auth0ShowLock/Auth0ShowLock'; import loginWithToken from 'universal/decorators/loginWithToken/loginWithToken'; import {showInfo} from 'universal/modules/toast/ducks/toastDuck'; diff --git a/src/universal/modules/meeting/components/MeetingLayout/MeetingLayout.js b/src/universal/modules/meeting/components/MeetingLayout/MeetingLayout.js index a7b06dc286f..5ce48a452f3 100644 --- a/src/universal/modules/meeting/components/MeetingLayout/MeetingLayout.js +++ b/src/universal/modules/meeting/components/MeetingLayout/MeetingLayout.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; import React from 'react'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import withStyles from 'universal/styles/withStyles'; import {css} from 'aphrodite-local-styles/no-important'; diff --git a/src/universal/modules/notifications/components/Notifications/Notifications.js b/src/universal/modules/notifications/components/Notifications/Notifications.js index 1e070e74bcb..d54745d69d4 100644 --- a/src/universal/modules/notifications/components/Notifications/Notifications.js +++ b/src/universal/modules/notifications/components/Notifications/Notifications.js @@ -7,7 +7,7 @@ import ui from 'universal/styles/ui'; import appTheme from 'universal/styles/theme/appTheme'; import NotificationRow from 'universal/modules/notifications/components/NotificationRow/NotificationRow'; import Panel from 'universal/components/Panel/Panel'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const Notifications = (props) => { const { diff --git a/src/universal/modules/patterns/containers/Patterns/PatternsContainer.js b/src/universal/modules/patterns/containers/Patterns/PatternsContainer.js index 40776076ac6..0086d813af0 100644 --- a/src/universal/modules/patterns/containers/Patterns/PatternsContainer.js +++ b/src/universal/modules/patterns/containers/Patterns/PatternsContainer.js @@ -1,5 +1,5 @@ import React from 'react'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import Spinner from 'universal/modules/spinner/components/Spinner/Spinner'; import IconAvatar from 'universal/components/IconAvatar/IconAvatar'; import Button from 'universal/components/Button/Button'; diff --git a/src/universal/modules/summary/containers/MeetingSummary/MeetingSummaryContainer.js b/src/universal/modules/summary/containers/MeetingSummary/MeetingSummaryContainer.js index 8a64b799c38..39d839c7a51 100644 --- a/src/universal/modules/summary/containers/MeetingSummary/MeetingSummaryContainer.js +++ b/src/universal/modules/summary/containers/MeetingSummary/MeetingSummaryContainer.js @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import {cashay} from 'cashay'; import {connect} from 'react-redux'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import SummaryEmail from 'universal/modules/email/components/SummaryEmail/SummaryEmail'; import LoadingView from 'universal/components/LoadingView/LoadingView'; import makeHref from 'universal/utils/makeHref'; diff --git a/src/universal/modules/teamDashboard/components/AgendaAndProjects/AgendaAndProjects.js b/src/universal/modules/teamDashboard/components/AgendaAndProjects/AgendaAndProjects.js index 80ae781c477..15982a0c4b5 100644 --- a/src/universal/modules/teamDashboard/components/AgendaAndProjects/AgendaAndProjects.js +++ b/src/universal/modules/teamDashboard/components/AgendaAndProjects/AgendaAndProjects.js @@ -7,7 +7,7 @@ import TeamColumnsContainer from 'universal/modules/teamDashboard/containers/Tea import TeamProjectsHeaderContainer from 'universal/modules/teamDashboard/containers/TeamProjectsHeader/TeamProjectsHeaderContainer'; import AgendaHeader from 'universal/modules/teamDashboard/components/AgendaHeader/AgendaHeader'; import AgendaListAndInputContainer from 'universal/modules/teamDashboard/containers/AgendaListAndInput/AgendaListAndInputContainer'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const AgendaAndProjects = (props) => { const {hideAgenda, teamId, teamName, styles} = props; diff --git a/src/universal/modules/teamDashboard/components/TeamArchive/TeamArchive.js b/src/universal/modules/teamDashboard/components/TeamArchive/TeamArchive.js index 104a20302cf..972c057eca7 100644 --- a/src/universal/modules/teamDashboard/components/TeamArchive/TeamArchive.js +++ b/src/universal/modules/teamDashboard/components/TeamArchive/TeamArchive.js @@ -7,7 +7,7 @@ import {ib, overflowTouch} from 'universal/styles/helpers'; import ui from 'universal/styles/ui'; import TeamArchiveHeader from 'universal/modules/teamDashboard/components/TeamArchiveHeader/TeamArchiveHeader'; import OutcomeCardContainer from 'universal/modules/outcomeCard/containers/OutcomeCard/OutcomeCardContainer'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import FontAwesome from 'react-fontawesome'; import getRallyLink from 'universal/modules/userDashboard/helpers/getRallyLink'; diff --git a/src/universal/modules/teamDashboard/components/TeamSettings/TeamSettings.js b/src/universal/modules/teamDashboard/components/TeamSettings/TeamSettings.js index d5d6863a7e5..83016ec8183 100644 --- a/src/universal/modules/teamDashboard/components/TeamSettings/TeamSettings.js +++ b/src/universal/modules/teamDashboard/components/TeamSettings/TeamSettings.js @@ -17,7 +17,7 @@ import ArchiveTeamContainer from 'universal/modules/teamDashboard/containers/Arc import ui from 'universal/styles/ui'; import IntegrationsContainer from '../../../integrations/containers/Integrations/IntegrationsContainer'; import Type from 'universal/components/Type/Type'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const TeamSettings = (props) => { const { diff --git a/src/universal/modules/userDashboard/components/Organization/Organization.js b/src/universal/modules/userDashboard/components/Organization/Organization.js index 0b7147eaa0f..3edb133ccd3 100644 --- a/src/universal/modules/userDashboard/components/Organization/Organization.js +++ b/src/universal/modules/userDashboard/components/Organization/Organization.js @@ -18,7 +18,7 @@ import EditableAvatar from 'universal/components/EditableAvatar/EditableAvatar'; import PhotoUploadModal from 'universal/components/PhotoUploadModal/PhotoUploadModal'; import OrgAvatarInput from 'universal/modules/userDashboard/components/OrgAvatarInput/OrgAvatarInput'; import defaultOrgAvatar from 'universal/styles/theme/images/avatar-organization.svg'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const inlineBlockStyle = { display: 'inline-block', diff --git a/src/universal/modules/userDashboard/components/Organizations/Organizations.js b/src/universal/modules/userDashboard/components/Organizations/Organizations.js index bbd0698755d..3358ed75e31 100644 --- a/src/universal/modules/userDashboard/components/Organizations/Organizations.js +++ b/src/universal/modules/userDashboard/components/Organizations/Organizations.js @@ -8,7 +8,7 @@ import IconControl from 'universal/components/IconControl/IconControl'; import Panel from 'universal/components/Panel/Panel'; import OrganizationRow from 'universal/modules/userDashboard/components/OrganizationRow/OrganizationRow'; import EmptyOrgsCallOut from 'universal/modules/userDashboard/components/EmptyOrgsCallOut/EmptyOrgsCallOut'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const Organizations = (props) => { const { diff --git a/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js b/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js index 1554da5c2e7..e7e6842303b 100644 --- a/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js +++ b/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js @@ -13,10 +13,11 @@ import { makeDateString } from 'universal/components/Dashboard'; import getRallyLink from 'universal/modules/userDashboard/helpers/getRallyLink'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const UserDashMain = (props) => { const {styles} = props; + console.log('User Dash main') return ( diff --git a/src/universal/modules/userDashboard/components/UserSettings/UserSettings.js b/src/universal/modules/userDashboard/components/UserSettings/UserSettings.js index 2b518fea001..5e7dc61d8e4 100644 --- a/src/universal/modules/userDashboard/components/UserSettings/UserSettings.js +++ b/src/universal/modules/userDashboard/components/UserSettings/UserSettings.js @@ -14,7 +14,7 @@ import EditableAvatar from 'universal/components/EditableAvatar/EditableAvatar'; import PhotoUploadModal from 'universal/components/PhotoUploadModal/PhotoUploadModal'; import UserAvatarInput from 'universal/modules/userDashboard/components/UserAvatarInput/UserAvatarInput'; import defaultUserAvatar from 'universal/styles/theme/images/avatar-user.svg'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const renderActivity = (activity) => { if (activity === ACTIVITY_WELCOME) { diff --git a/src/universal/modules/welcome/components/Welcome/Welcome.js b/src/universal/modules/welcome/components/Welcome/Welcome.js index be10a8067fb..3550ff0e952 100644 --- a/src/universal/modules/welcome/components/Welcome/Welcome.js +++ b/src/universal/modules/welcome/components/Welcome/Welcome.js @@ -8,7 +8,7 @@ import withStyles from 'universal/styles/withStyles'; import {css} from 'aphrodite-local-styles/no-important'; import {Link} from 'react-router-dom'; import FontAwesome from 'react-fontawesome'; -import Helmet from 'react-helmet'; +import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; import Step1PreferredName from 'universal/modules/welcome/components/Step1PreferredName/Step1PreferredName'; import Step2TeamName from 'universal/modules/welcome/components/Step2TeamName/Step2TeamName'; import Step3InviteTeam from 'universal/modules/welcome/components/Step3InviteTeam/Step3InviteTeam'; From 830bafe25abe3614620d29122394e379bd1f5893 Mon Sep 17 00:00:00 2001 From: Matt Krick Date: Wed, 28 Jun 2017 09:49:34 -0700 Subject: [PATCH 7/8] lint --- src/universal/components/Bundle/Bundle.js | 2 +- src/universal/components/ParabolHelmet/ParabolHelmet.js | 3 +-- .../userDashboard/components/UserDashMain/UserDashMain.js | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/universal/components/Bundle/Bundle.js b/src/universal/components/Bundle/Bundle.js index dc9fa192155..c3011238509 100644 --- a/src/universal/components/Bundle/Bundle.js +++ b/src/universal/components/Bundle/Bundle.js @@ -89,7 +89,7 @@ class Bundle extends Component { const {Mod} = this.state; if (!Mod) return null; const {history, location, match, extraProps} = this.props; - return ; + return ; } } diff --git a/src/universal/components/ParabolHelmet/ParabolHelmet.js b/src/universal/components/ParabolHelmet/ParabolHelmet.js index b08e9f7f056..05cdf778c0b 100644 --- a/src/universal/components/ParabolHelmet/ParabolHelmet.js +++ b/src/universal/components/ParabolHelmet/ParabolHelmet.js @@ -19,10 +19,9 @@ export default class ParabolHelmet extends Component { if (nextProps.title !== this.props.title) { this.context.analytics.title = nextProps.title; } - } render() { - return + return ; } } diff --git a/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js b/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js index e7e6842303b..f65a33c3e99 100644 --- a/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js +++ b/src/universal/modules/userDashboard/components/UserDashMain/UserDashMain.js @@ -17,7 +17,6 @@ import Helmet from 'universal/components/ParabolHelmet/ParabolHelmet'; const UserDashMain = (props) => { const {styles} = props; - console.log('User Dash main') return ( From 11735407d18e7ba4ffa63d1b726f1c942e8b9a10 Mon Sep 17 00:00:00 2001 From: Jordan Husney Date: Wed, 28 Jun 2017 22:19:59 -0700 Subject: [PATCH 8/8] fix segment page event name param --- src/universal/components/Bundle/Bundle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/universal/components/Bundle/Bundle.js b/src/universal/components/Bundle/Bundle.js index c3011238509..2219ab4a5d9 100644 --- a/src/universal/components/Bundle/Bundle.js +++ b/src/universal/components/Bundle/Bundle.js @@ -11,7 +11,7 @@ const updateAnalyticsPage = (dispatch, lastPath, nextPath, title, params) => { path: nextPath, params }; - dispatch(segmentEventPage(name, null, properties)); + dispatch(segmentEventPage(title, null, properties)); }; class Bundle extends Component {