From 9ee484c51d5c34e9b85ad6cb38293a5cdafcb57c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20A=2E=20Kopplin?= Date: Wed, 21 Jun 2017 16:55:33 -0700 Subject: [PATCH] next -> redux opinionated (#366) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Adds modernizr with illustrative example. closes #256 * Linting now occurs on config, src and tools. closes #314 * Updates dependencies. * update broken feature/flow link in docs * Updates dependencies. * Updated CSP to add backwards compatibility to nonce. (#344) * Updated CSP for nonce backwards compatibility * Documented * Updates comments * - Renamed environment variables: - `SERVER_PORT` to `PORT` - `SERVER_HOST` to `HOST` - `CLIENT_DEVSERVER_PORT` to `CLIENT_DEV_PORT` - Replaces `code-split-component` with `react-async-component` - Renames the `nodeBundlesIncludeNodeModuleFileTypes` config property to `nodeExternalsFileTypeWhitelist` - Refactors the server and serviceworker offline page generation. We now use a set of React components (`ServerHTML` and `HTML`) to manage our HTML in a uniform fashion. - Refactors how we resolve environment specific configuration values. `NODE_ENV` is reserved for specifying a `development` or `production` build now. Use `CONF_ENV` to specify a target environment if you would like to resolve an environment specific .env file. - Refactors the client configuration filter rule to be contained within the main configuration and moves the configuration object creation into the server middleware. - Renames the `safeGetConfig` to `config`, and made it a default export. - Removes the `cross-env` library. - All server/client/shared code all use the shared config helper. - Updated dependencies, including to the latest Webpack official 2 release. - New babel plugins to optimise React production build performance. - Adds new icon sets. - Chrome favicon request issue. - Cleans up the package scripts. - Service worker would fail if a subfolder was added to the public folder. * fix sw to exclude directory (#305) * Adds Dion Dirza as a contributor ๐ŸŽ‰ * Fixes analyze. * Docs and cleaning up. * Updates docs and version. * Removes code-split-component. * Updates deps and fixes config refs. * Huuuuuge refactor of project structure. The 'src/' was always unnecessary. Everything internal (tooling/docs) has been moved to an "internal" folder. The rest lives at root. The configuration has been given a massive once over too. I really disliked how there were multiple ways the config values were being read throughout the project. Everything has been changed now to use a config helper that lives in the '/config/' folder. All things config lives in that folder now too. * Fixes offline page. * Cleans up and centralises util functions. * Minor fixes. * Renames config/get to config/getConfig Removes CONF_ENV and refactors environment variable resolution to use NODE_ENV again. * fixes typo: laoder -> loader (#353) * fixes typo: server -> serve (#354) * Huuuuuuuge update. Getting closer to v13. * Fixes incorrect import path in Menu.test.js (#360) * Updates Error 404 component so that we can set 404 status on SSR renders (#357) * Updates dependencies. * Updates contributors and comments. * Restructures and fixes tests. * Cleaning up comments and docs. * Fixes deprecated fallbackLoader (#365) * Changes default host config to bind to all hosts (0.0.0.0) by default (#361) * fix typo flag (#369) * removing flow from branch * Missing default polyfill.io features * Updated react-router-dom to beta 7 (#381) * Updates node version. Adds check for none-support of HTML 5 browserhistory on the router. * Synchronises the react-router-dom dep into yarn.lock * Updates dependencies. * Removes onlyIf and replaces with ifElse helper. fixes #362 * Update README.md * Update README.md * Fixes breaking context changes in RR4 * Rollback disableSSR. TODO: EnvVars this * Changes polyfill.io into a features array specification. * Upgrade react-router-dom@4.0.0 and other deps (#396) * update deps * Using babel-env instead, still produce same result * Fix not found implementation for stable react-router v4.0.0 * Restore and update deps * Syncs yarn.lock with package.json * Fix Error404 test * Upgrades to latest react-async-component. Reintroduces React Hot Loader ๐ŸŽ‰ Adds milligram for some basic styling out of the box. Adds a counter route for testing state based hot reloading. Restructures route components. * Adds 'es6' features to polyfill.io config. * Removes aliasing of React libs and instead makes NODE_ENV get set to either 'development' or 'production' via the webpack config. Introduces DEPLOYMENT environment variable to allow for the specification of target environment configuration files. * Updates comments. * Removes babel-preset-latest. * staticContext on 404 route not required. * Refactors async components structure. * Adds prettier ๐Ÿ’„ * Updates nvm * Adds prepush hook to run jest. * Fixes prettier config to use prettier-eslint. Woops\! * Removes unused eslint-flowtype plugin. * Updates dependencies. * Updates docs * Moves all html page elements to DemoApp component. closes #390 * Removes 'host' from server start. closes #398 * Changes process.env build flags to be inline with expected string type of typical process.env member. closes #395 * Preps v13 release * Update README.md * Update README.md * Updates dependencies. * Update breaking changes * Adds birkir to contributors list * Adds @birkir to contributors on about us route. * Changes over to all-contributors * Orders contributors by name * fix the "collectCoverageFrom" config of jest * updating asyncPosts * Prepare React 15.5 (#413) * Update dependecies, change component prop-types. * Helmet now has prop-types support. * Update yarn lockfile * Bumped react-router and forgot prop types in clientconfig. * Bump enzyme and prop-types * Bump react-async-component and enzyme * Updates deps. * Another bug fixes, tweaks (#422) * Fix lint * code split naming strategy sample * remove HTTP protocol to be more flexible * Refactor polyfill.io Due to counter route become broken in mobile device, use only default feature instead * Fix lint while prettier revert changes * update deps * Add es6 back by default. (#429) * Windows (#415) * update eslintrc line-breaks for windows * add prop-types as a dependency to prevent react-hot-loader from breaking build. add cross-env for starting tasks which break on Windows. add FAQ for when running develop and javascript files aren't loading even though the build is successful. modify the clean task to execute a function rather than use the ${npm bin} exec command, which doesnst work on Windows. * save exact package.json * add cross-env to npm scripts * dev server host always 0.0.0.0, not host config * merge with universally/master - updating snapshots * merge/next - adding async posts * merge/next - updating dependencies + updating async components + removing counter component * merge/next - updating server side state * merge/next - fixing server async functions * universally/merge - fixing async posts route * chore: add redux, react-redux, redux-thunk to vendorDLL * Fix configuration for extracted style hash (#438) * Fix broken link to Feature Branches docs. (#419) * Fix CORS host (#432) * Removes reference to deprecated react PropTypes import and replaces with the prop-types package. Adds tests for Post route, post reducers and additional tests to home and about route. * update snapshot * Fix Router v2 Implementation * Add color support for stdout (#443) Passing colors from server to console in develop. * master -> redux: fixing store problem * fixing stores --- .all-contributorsrc | 224 + .env_example | 6 +- .eslintignore | 2 - .eslintrc | 17 +- .flowconfig | 35 - .gitignore | 9 +- .modernizrrc | 7 + .nvmrc | 2 +- CHANGELOG.md | 41 + LICENSE | 2 +- README.md | 45 +- client/components/ReactHotLoader.js | 12 + client/index.js | 86 + client/polyfills/index.js | 18 + .../registerServiceWorker.js | 23 +- config/components/ClientConfig.js | 42 + config/index.js | 506 +-- config/internals/environmentVars.js | 64 - config/internals/filterObject.js | 6 +- config/utils/envVars.js | 80 + config/values.js | 335 ++ docs/APPLICATION_CONFIG.md | 156 - docs/FEATURE_FLOW.md | 23 - docs/FEATURE_REDUX_OPINIONATED.md | 5 - {tools => internal}/.eslintrc | 0 .../development/createVendorDLL.js | 23 +- .../development/hotClientServer.js | 16 +- .../development/hotDevelopment.js | 81 +- .../development/hotNodeServer.js | 16 +- {tools => internal}/development/index.js | 7 +- .../development/listenerManager.js | 9 +- internal/docs/ADDING_AN_API_BUNDLE.md | 7 + {docs => internal/docs}/DEPLOY_TO_NOW.md | 18 +- {docs => internal/docs}/FAQ.md | 49 +- {docs => internal/docs}/FEATURE_BRANCHES.md | 20 +- {docs => internal/docs}/PKG_SCRIPTS.md | 36 +- internal/docs/PROJECT_CONFIG.md | 78 + {docs => internal/docs}/PROJECT_OVERVIEW.md | 30 +- internal/jest/assetMock.js | 1 + {tools => internal}/jest/styleMock.js | 2 +- internal/scripts/analyze.js | 47 + internal/scripts/build.js | 34 + internal/scripts/clean.js | 16 + {tools => internal}/scripts/deploy.js | 8 +- {tools => internal}/scripts/preinstall.js | 14 +- internal/utils.js | 41 + internal/webpack/configFactory.js | 521 +++ internal/webpack/withServiceWorker/index.js | 143 + .../withServiceWorker/offlinePageTemplate.js | 20 + package.json | 178 +- public/favicon-16x16.png | Bin 1262 -> 0 bytes public/favicon-32x32.png | Bin 2236 -> 0 bytes public/favicon.ico | Bin 15086 -> 34494 bytes .../{ => favicons}/android-chrome-192x192.png | Bin .../{ => favicons}/android-chrome-512x512.png | Bin public/favicons/apple-touch-icon-114x114.png | Bin 0 -> 14833 bytes public/favicons/apple-touch-icon-120x120.png | Bin 0 -> 12787 bytes public/favicons/apple-touch-icon-144x144.png | Bin 0 -> 21077 bytes public/favicons/apple-touch-icon-152x152.png | Bin 0 -> 22673 bytes .../apple-touch-icon-180x180.png} | Bin public/favicons/apple-touch-icon-57x57.png | Bin 0 -> 5139 bytes public/favicons/apple-touch-icon-60x60.png | Bin 0 -> 4935 bytes public/favicons/apple-touch-icon-72x72.png | Bin 0 -> 7046 bytes public/favicons/apple-touch-icon-76x76.png | Bin 0 -> 7791 bytes public/favicons/favicon-128.png | Bin 0 -> 11405 bytes public/favicons/favicon-16x16.png | Bin 0 -> 778 bytes public/favicons/favicon-196x196.png | Bin 0 -> 35117 bytes public/favicons/favicon-32x32.png | Bin 0 -> 2000 bytes public/favicons/favicon-96x96.png | Bin 0 -> 10868 bytes public/favicons/mstile-144x144.png | Bin 0 -> 21077 bytes public/favicons/mstile-150x150.png | Bin 0 -> 46449 bytes public/favicons/mstile-310x150.png | Bin 0 -> 54578 bytes public/favicons/mstile-310x310.png | Bin 0 -> 128006 bytes public/favicons/mstile-70x70.png | Bin 0 -> 11405 bytes public/{ => favicons}/safari-pinned-tab.svg | 0 public/mstile-150x150.png | Bin 11272 -> 0 bytes {src/server => server}/index.js | 27 +- server/middleware/clientBundle.js | 11 + server/middleware/errorHandlers.js | 31 + .../middleware/offlinePage.js | 27 +- .../middleware/reactApplication/ServerHTML.js | 140 + .../getClientBundleEntryAssets.js | 52 + server/middleware/reactApplication/index.js | 94 + {src/server => server}/middleware/security.js | 31 +- server/middleware/serviceWorker.js | 18 + shared/README.md | 3 + {src/shared => shared}/actions/posts.js | 10 +- .../DemoApp/AsyncAboutRoute/AboutRoute.js | 24 + .../__tests__/AboutRoute.test.js | 17 + .../__snapshots__/AboutRoute.test.js.snap | 33 + .../DemoApp/AsyncAboutRoute/index.js | 6 + .../DemoApp/AsyncHomeRoute/HomeRoute.js | 19 +- .../__tests__/HomeRoute.test.js | 21 + .../__snapshots__/HomeRoute.test.js.snap | 15 +- .../DemoApp/AsyncHomeRoute/index.js | 6 + .../DemoApp/AsyncPostsRoute}/Post/Post.js | 46 +- .../Post/__tests__/Post.test.js | 22 + .../__tests__/__snapshots__/Post.test.js.snap | 16 + .../DemoApp/AsyncPostsRoute/Post/index.js | 7 + .../DemoApp/AsyncPostsRoute/index.js | 18 + .../Error404/__tests__}/Error404.test.js | 8 +- .../__snapshots__/Error404.test.js.snap | 2 + shared/components/DemoApp/Error404/index.js | 26 + .../components/DemoApp/Header/Logo/index.js | 6 +- .../components/DemoApp/Header/Logo/logo.png | Bin .../Header/Menu/__tests__}/Menu.test.js | 4 +- .../__tests__/__snapshots__/Menu.test.js.snap | 38 + .../components/DemoApp/Header/Menu/index.js | 6 +- .../components/DemoApp/Header/index.js | 4 +- .../components/DemoApp/globals.css | 0 shared/components/DemoApp/index.js | 127 + shared/components/HTML/index.js | 43 + {src/shared => shared}/reducers/index.js | 17 +- shared/reducers/posts/__tests__/all.test.js | 7 + shared/reducers/posts/__tests__/byId.test.js | 7 + shared/reducers/posts/__tests__/index.test.js | 10 + {src/shared => shared}/reducers/posts/all.js | 16 +- {src/shared => shared}/reducers/posts/byId.js | 17 +- .../shared => shared}/reducers/posts/index.js | 21 +- .../shared => shared}/redux/configureStore.js | 5 +- shared/utils/arrays/index.js | 5 + shared/utils/arrays/removeNil.js | 10 + shared/utils/logic/ifElse.js | 21 + shared/utils/logic/index.js | 5 + shared/utils/objects/filterWithRules.js | 56 + shared/utils/objects/index.js | 4 + shared/utils/objects/mergeDeep.js | 35 + src/client/components/ReactHotLoader.js | 15 - src/client/index.js | 69 - src/server/middleware/clientBundle.js | 12 - src/server/middleware/errorHandlers.js | 30 - .../reactApplication/generateHTML.js | 133 - .../getAssetsForClientChunks.js | 61 - .../middleware/reactApplication/index.js | 131 - src/server/middleware/serviceWorker.js | 21 - src/shared/README.md | 5 - src/shared/components/DemoApp/About/About.js | 44 - .../components/DemoApp/About/About.test.js | 13 - .../DemoApp/About/Contributor/Contributor.js | 20 - .../DemoApp/About/Contributor/index.js | 1 - .../About/__snapshots__/About.test.js.snap | 18 - src/shared/components/DemoApp/About/index.js | 3 - src/shared/components/DemoApp/DemoApp.js | 64 - .../components/DemoApp/Error404/Error404.js | 11 - .../components/DemoApp/Error404/index.js | 3 - .../components/DemoApp/Header/Logo/index.js | 3 - .../Menu/__snapshots__/Menu.test.js.snap | 35 - .../components/DemoApp/Header/Menu/index.js | 3 - src/shared/components/DemoApp/Header/index.js | 3 - .../components/DemoApp/Home/Home.test.js | 13 - src/shared/components/DemoApp/Home/index.js | 3 - .../components/DemoApp/Posts/Post/index.js | 3 - src/shared/components/DemoApp/Posts/Posts.js | 25 - src/shared/components/DemoApp/Posts/index.js | 3 - src/shared/components/DemoApp/index.js | 3 - src/shared/types/model.js | 8 - src/shared/types/react-router.js | 10 - src/shared/types/react.js | 15 - src/shared/types/redux.js | 18 - src/shared/utils/config.js | 88 - tools/flow/stubs/WebpackAsset.js.flow | 3 - tools/flow/typeExtensions/commonjs.js | 18 - tools/flow/typeExtensions/es6modules.js | 5 - tools/jest/assetMock.js | 1 - tools/scripts/analyze.js | 37 - tools/scripts/build.js | 31 - tools/scripts/clean.js | 12 - tools/scripts/flow.js | 22 - tools/types.js | 4 - tools/utils.js | 123 - tools/webpack/client.config.babel.js | 11 - tools/webpack/configFactory.js | 640 --- tools/webpack/offlinePage/generate.js | 64 - tools/webpack/offlinePage/index.js | 7 - tools/webpack/server.config.babel.js | 10 - yarn.lock | 3843 +++++++++-------- 176 files changed, 5302 insertions(+), 4771 deletions(-) create mode 100644 .all-contributorsrc delete mode 100644 .flowconfig create mode 100644 .modernizrrc create mode 100644 client/components/ReactHotLoader.js create mode 100644 client/index.js create mode 100644 client/polyfills/index.js rename {src/client => client}/registerServiceWorker.js (65%) create mode 100644 config/components/ClientConfig.js delete mode 100644 config/internals/environmentVars.js create mode 100644 config/utils/envVars.js create mode 100644 config/values.js delete mode 100644 docs/APPLICATION_CONFIG.md delete mode 100644 docs/FEATURE_FLOW.md delete mode 100644 docs/FEATURE_REDUX_OPINIONATED.md rename {tools => internal}/.eslintrc (100%) rename {tools => internal}/development/createVendorDLL.js (87%) rename {tools => internal}/development/hotClientServer.js (87%) rename {tools => internal}/development/hotDevelopment.js (57%) rename {tools => internal}/development/hotNodeServer.js (90%) rename {tools => internal}/development/index.js (92%) rename {tools => internal}/development/listenerManager.js (89%) create mode 100644 internal/docs/ADDING_AN_API_BUNDLE.md rename {docs => internal/docs}/DEPLOY_TO_NOW.md (60%) rename {docs => internal/docs}/FAQ.md (65%) rename {docs => internal/docs}/FEATURE_BRANCHES.md (70%) rename {docs => internal/docs}/PKG_SCRIPTS.md (56%) create mode 100644 internal/docs/PROJECT_CONFIG.md rename {docs => internal/docs}/PROJECT_OVERVIEW.md (61%) create mode 100644 internal/jest/assetMock.js rename {tools => internal}/jest/styleMock.js (74%) create mode 100644 internal/scripts/analyze.js create mode 100644 internal/scripts/build.js create mode 100644 internal/scripts/clean.js rename {tools => internal}/scripts/deploy.js (51%) rename {tools => internal}/scripts/preinstall.js (83%) create mode 100644 internal/utils.js create mode 100644 internal/webpack/configFactory.js create mode 100644 internal/webpack/withServiceWorker/index.js create mode 100644 internal/webpack/withServiceWorker/offlinePageTemplate.js delete mode 100644 public/favicon-16x16.png delete mode 100644 public/favicon-32x32.png rename public/{ => favicons}/android-chrome-192x192.png (100%) rename public/{ => favicons}/android-chrome-512x512.png (100%) create mode 100644 public/favicons/apple-touch-icon-114x114.png create mode 100644 public/favicons/apple-touch-icon-120x120.png create mode 100644 public/favicons/apple-touch-icon-144x144.png create mode 100644 public/favicons/apple-touch-icon-152x152.png rename public/{apple-touch-icon.png => favicons/apple-touch-icon-180x180.png} (100%) create mode 100644 public/favicons/apple-touch-icon-57x57.png create mode 100644 public/favicons/apple-touch-icon-60x60.png create mode 100644 public/favicons/apple-touch-icon-72x72.png create mode 100644 public/favicons/apple-touch-icon-76x76.png create mode 100644 public/favicons/favicon-128.png create mode 100644 public/favicons/favicon-16x16.png create mode 100644 public/favicons/favicon-196x196.png create mode 100644 public/favicons/favicon-32x32.png create mode 100644 public/favicons/favicon-96x96.png create mode 100644 public/favicons/mstile-144x144.png create mode 100644 public/favicons/mstile-150x150.png create mode 100644 public/favicons/mstile-310x150.png create mode 100644 public/favicons/mstile-310x310.png create mode 100644 public/favicons/mstile-70x70.png rename public/{ => favicons}/safari-pinned-tab.svg (100%) delete mode 100644 public/mstile-150x150.png rename {src/server => server}/index.js (62%) create mode 100644 server/middleware/clientBundle.js create mode 100644 server/middleware/errorHandlers.js rename {src/server => server}/middleware/offlinePage.js (51%) create mode 100644 server/middleware/reactApplication/ServerHTML.js create mode 100644 server/middleware/reactApplication/getClientBundleEntryAssets.js create mode 100644 server/middleware/reactApplication/index.js rename {src/server => server}/middleware/security.js (83%) create mode 100644 server/middleware/serviceWorker.js create mode 100644 shared/README.md rename {src/shared => shared}/actions/posts.js (77%) create mode 100644 shared/components/DemoApp/AsyncAboutRoute/AboutRoute.js create mode 100644 shared/components/DemoApp/AsyncAboutRoute/__tests__/AboutRoute.test.js create mode 100644 shared/components/DemoApp/AsyncAboutRoute/__tests__/__snapshots__/AboutRoute.test.js.snap create mode 100644 shared/components/DemoApp/AsyncAboutRoute/index.js rename src/shared/components/DemoApp/Home/Home.js => shared/components/DemoApp/AsyncHomeRoute/HomeRoute.js (63%) create mode 100644 shared/components/DemoApp/AsyncHomeRoute/__tests__/HomeRoute.test.js rename src/shared/components/DemoApp/Home/__snapshots__/Home.test.js.snap => shared/components/DemoApp/AsyncHomeRoute/__tests__/__snapshots__/HomeRoute.test.js.snap (61%) create mode 100644 shared/components/DemoApp/AsyncHomeRoute/index.js rename {src/shared/components/DemoApp/Posts => shared/components/DemoApp/AsyncPostsRoute}/Post/Post.js (77%) create mode 100644 shared/components/DemoApp/AsyncPostsRoute/Post/__tests__/Post.test.js create mode 100644 shared/components/DemoApp/AsyncPostsRoute/Post/__tests__/__snapshots__/Post.test.js.snap create mode 100644 shared/components/DemoApp/AsyncPostsRoute/Post/index.js create mode 100644 shared/components/DemoApp/AsyncPostsRoute/index.js rename {src/shared/components/DemoApp/Error404 => shared/components/DemoApp/Error404/__tests__}/Error404.test.js (55%) rename {src/shared/components/DemoApp/Error404 => shared/components/DemoApp/Error404/__tests__}/__snapshots__/Error404.test.js.snap (66%) create mode 100644 shared/components/DemoApp/Error404/index.js rename src/shared/components/DemoApp/Header/Logo/Logo.js => shared/components/DemoApp/Header/Logo/index.js (52%) rename {src/shared => shared}/components/DemoApp/Header/Logo/logo.png (100%) rename {src/shared/components/DemoApp/Header/Menu => shared/components/DemoApp/Header/Menu/__tests__}/Menu.test.js (87%) create mode 100644 shared/components/DemoApp/Header/Menu/__tests__/__snapshots__/Menu.test.js.snap rename src/shared/components/DemoApp/Header/Menu/Menu.js => shared/components/DemoApp/Header/Menu/index.js (64%) rename src/shared/components/DemoApp/Header/Header.js => shared/components/DemoApp/Header/index.js (73%) rename {src/shared => shared}/components/DemoApp/globals.css (100%) create mode 100644 shared/components/DemoApp/index.js create mode 100644 shared/components/HTML/index.js rename {src/shared => shared}/reducers/index.js (52%) create mode 100644 shared/reducers/posts/__tests__/all.test.js create mode 100644 shared/reducers/posts/__tests__/byId.test.js create mode 100644 shared/reducers/posts/__tests__/index.test.js rename {src/shared => shared}/reducers/posts/all.js (60%) rename {src/shared => shared}/reducers/posts/byId.js (55%) rename {src/shared => shared}/reducers/posts/index.js (52%) rename {src/shared => shared}/redux/configureStore.js (96%) create mode 100644 shared/utils/arrays/index.js create mode 100644 shared/utils/arrays/removeNil.js create mode 100644 shared/utils/logic/ifElse.js create mode 100644 shared/utils/logic/index.js create mode 100644 shared/utils/objects/filterWithRules.js create mode 100644 shared/utils/objects/index.js create mode 100644 shared/utils/objects/mergeDeep.js delete mode 100644 src/client/components/ReactHotLoader.js delete mode 100644 src/client/index.js delete mode 100644 src/server/middleware/clientBundle.js delete mode 100644 src/server/middleware/errorHandlers.js delete mode 100644 src/server/middleware/reactApplication/generateHTML.js delete mode 100644 src/server/middleware/reactApplication/getAssetsForClientChunks.js delete mode 100644 src/server/middleware/reactApplication/index.js delete mode 100644 src/server/middleware/serviceWorker.js delete mode 100644 src/shared/README.md delete mode 100644 src/shared/components/DemoApp/About/About.js delete mode 100644 src/shared/components/DemoApp/About/About.test.js delete mode 100644 src/shared/components/DemoApp/About/Contributor/Contributor.js delete mode 100644 src/shared/components/DemoApp/About/Contributor/index.js delete mode 100644 src/shared/components/DemoApp/About/__snapshots__/About.test.js.snap delete mode 100644 src/shared/components/DemoApp/About/index.js delete mode 100644 src/shared/components/DemoApp/DemoApp.js delete mode 100644 src/shared/components/DemoApp/Error404/Error404.js delete mode 100644 src/shared/components/DemoApp/Error404/index.js delete mode 100644 src/shared/components/DemoApp/Header/Logo/index.js delete mode 100644 src/shared/components/DemoApp/Header/Menu/__snapshots__/Menu.test.js.snap delete mode 100644 src/shared/components/DemoApp/Header/Menu/index.js delete mode 100644 src/shared/components/DemoApp/Header/index.js delete mode 100644 src/shared/components/DemoApp/Home/Home.test.js delete mode 100644 src/shared/components/DemoApp/Home/index.js delete mode 100644 src/shared/components/DemoApp/Posts/Post/index.js delete mode 100644 src/shared/components/DemoApp/Posts/Posts.js delete mode 100644 src/shared/components/DemoApp/Posts/index.js delete mode 100644 src/shared/components/DemoApp/index.js delete mode 100644 src/shared/types/model.js delete mode 100644 src/shared/types/react-router.js delete mode 100644 src/shared/types/react.js delete mode 100644 src/shared/types/redux.js delete mode 100644 src/shared/utils/config.js delete mode 100644 tools/flow/stubs/WebpackAsset.js.flow delete mode 100644 tools/flow/typeExtensions/commonjs.js delete mode 100644 tools/flow/typeExtensions/es6modules.js delete mode 100644 tools/jest/assetMock.js delete mode 100644 tools/scripts/analyze.js delete mode 100644 tools/scripts/build.js delete mode 100644 tools/scripts/clean.js delete mode 100644 tools/scripts/flow.js delete mode 100644 tools/types.js delete mode 100644 tools/utils.js delete mode 100644 tools/webpack/client.config.babel.js delete mode 100644 tools/webpack/configFactory.js delete mode 100644 tools/webpack/offlinePage/generate.js delete mode 100644 tools/webpack/offlinePage/index.js delete mode 100644 tools/webpack/server.config.babel.js diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 00000000..c5c3d814 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,224 @@ +{ + "projectName": "react-universally", + "projectOwner": "ctrlplusb", + "files": [ + "README.md" + ], + "imageSize": 100, + "commit": true, + "contributors": [ + { + "login": "aoc", + "name": "Andrรฉs Calabrese", + "avatar_url": "https://avatars3.githubusercontent.com/u/243161?v=3", + "profile": "https://github.com/aoc", + "contributions": [ + "code" + ] + }, + { + "login": "andreyluiz", + "name": "Andrey Luiz", + "avatar_url": "https://avatars3.githubusercontent.com/u/1965897?v=3", + "profile": "https://andreyluiz.github.io/", + "contributions": [ + "code" + ] + }, + { + "login": "alinporumb", + "name": "Alin Porumb", + "avatar_url": "https://avatars3.githubusercontent.com/u/3148205?v=3", + "profile": "https://github.com/alinporumb", + "contributions": [ + "code" + ] + }, + { + "login": "bkniffler", + "name": "Benjamin Kniffler", + "avatar_url": "https://avatars0.githubusercontent.com/u/4349324?v=3", + "profile": "https://github.com/bkniffler", + "contributions": [ + "code" + ] + }, + { + "login": "birkir", + "name": "Birkir Rafn Guรฐjรณnsson", + "avatar_url": "https://avatars0.githubusercontent.com/u/180773?v=3", + "profile": "https://medium.com/@birkir.gudjonsson", + "contributions": [ + "question", + "bug", + "code", + "review" + ] + }, + { + "login": "carsonperrotti", + "name": "Carson Perrotti", + "avatar_url": "https://avatars0.githubusercontent.com/u/2063102?v=3", + "profile": "http://carsonperrotti.com", + "contributions": [ + "question", + "code", + "doc", + "review" + ] + }, + { + "login": "LorbusChris", + "name": "Christian Glombek", + "avatar_url": "https://avatars1.githubusercontent.com/u/13365531?v=3", + "profile": "https://github.com/LorbusChris", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "codepunkt", + "name": "Christoph Werner", + "avatar_url": "https://avatars3.githubusercontent.com/u/603683?v=3", + "profile": "https://twitter.com/code_punkt", + "contributions": [ + "question", + "bug", + "code", + "review" + ] + }, + { + "login": "threehams", + "name": "David Edmondson", + "avatar_url": "https://avatars0.githubusercontent.com/u/1399894?v=3", + "profile": "https://github.com/threehams", + "contributions": [ + "code" + ] + }, + { + "login": "diondirza", + "name": "Dion Dirza", + "avatar_url": "https://avatars0.githubusercontent.com/u/10954870?v=3", + "profile": "https://github.com/diondirza", + "contributions": [ + "question", + "bug", + "code", + "doc", + "review" + ] + }, + { + "login": "evgenyboxer", + "name": "Evgeny Boxer", + "avatar_url": "https://avatars0.githubusercontent.com/u/254095?v=3", + "profile": "https://github.com/evgenyboxer", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "kohlmannj", + "name": "Joe Kohlmann", + "avatar_url": "https://avatars2.githubusercontent.com/u/191304?v=3", + "profile": "http://kohlmannj.com", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "lucianlature", + "name": "Lucian Lature", + "avatar_url": "https://avatars2.githubusercontent.com/u/24992?v=3", + "profile": "https://www.linkedin.com/in/lucianlature/", + "contributions": [ + "bug", + "code", + "review" + ] + }, + { + "login": "markshlick", + "name": "Mark Shlick", + "avatar_url": "https://avatars1.githubusercontent.com/u/1624703?v=3", + "profile": "https://github.com/markshlick", + "contributions": [ + "code" + ] + }, + { + "login": "rlindskog", + "name": "Ryan Lindskog", + "avatar_url": "https://avatars1.githubusercontent.com/u/7436773?v=3", + "profile": "https://www.RyanLindskog.com/", + "contributions": [ + "code" + ] + }, + { + "login": "enten", + "name": "Steven Enten", + "avatar_url": "https://avatars1.githubusercontent.com/u/977713?v=3", + "profile": "http://enten.fr", + "contributions": [ + "question", + "bug", + "code", + "review" + ] + }, + { + "login": "ctrlplusb", + "name": "Sean Matheson", + "avatar_url": "https://avatars1.githubusercontent.com/u/12164768?v=3", + "profile": "http://www.ctrlplusb.com", + "contributions": [ + "question", + "bug", + "code", + "doc", + "example", + "review", + "test", + "tool" + ] + }, + { + "login": "strues", + "name": "Steven Truesdell", + "avatar_url": "https://avatars0.githubusercontent.com/u/6218853?v=3", + "profile": "https://steventruesdell.com", + "contributions": [ + "question", + "bug", + "code", + "doc", + "test" + ] + }, + { + "login": "datoml", + "name": "Thomas Leitgeb", + "avatar_url": "https://avatars0.githubusercontent.com/u/10552487?v=3", + "profile": "https://twitter.com/_datoml", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "tsnieman", + "name": "Tyler Nieman", + "avatar_url": "https://avatars0.githubusercontent.com/u/595711?v=3", + "profile": "http://tsnieman.net/", + "contributions": [ + "code" + ] + } + ] +} diff --git a/.env_example b/.env_example index ca362573..22018d01 100644 --- a/.env_example +++ b/.env_example @@ -9,11 +9,11 @@ # ============================================================================== # The host on which to run the server. -SERVER_HOST=localhost +HOST=localhost # The port on which to run the server. -SERVER_PORT=1337 +PORT=1337 # The port on which to run the client bundle dev server (i.e. used during # development only). -CLIENT_DEVSERVER_PORT=7331 +CLIENT_DEV_PORT=7331 diff --git a/.eslintignore b/.eslintignore index 9e451b2d..b38db2f2 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,2 @@ -flow-typed/ -tools/flow/ node_modules/ build/ diff --git a/.eslintrc b/.eslintrc index c8153999..40290cd2 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,9 +1,6 @@ { "parser": "babel-eslint", "extends": "airbnb", - "plugins": [ - "flowtype" - ], "env": { "browser": true, "es6": true, @@ -14,15 +11,13 @@ "defaultParams": true }, "rules": { - // We use the 'import' plugin which allows for cases "flow" awareness. - "no-duplicate-imports": 0, - // A .jsx extension is not required for files containing jsx. + // A jsx extension is not required for files containing jsx "react/jsx-filename-extension": 0, - // This rule struggles with flow and class properties. + // This rule struggles with flow and class properties "react/sort-comp": 0, - // This rule struggles with flow. - "react/prop-types": 0, - // We use global requires in various places, e.g. code splitting instances. - "global-require": 0 + // ignore linebreak style. the CRLF / LF endings wont matter + // if a windows user correctly converts CRLF to LF upon commits otherwise + // there are errors every line. + "linebreak-style": 0 } } diff --git a/.flowconfig b/.flowconfig deleted file mode 100644 index f98531f0..00000000 --- a/.flowconfig +++ /dev/null @@ -1,35 +0,0 @@ -[include] - -[ignore] - -# Including these files causes issues. -.*/node_modules/fbjs/.* -.*/node_modules/flow-remove-types/.* -.*/node_modules/flow-coverage-report/.* - -[libs] - -# Official "flow-typed" repository definitions. -flow-typed/npm - -# Type extensions. -tools/flow/typeExtensions/ - -# Note: the following definitions come bundled with flow. It can be handy -# to reference them. -# React: https://github.com/facebook/flow/blob/master/lib/react.js -# Javascript: https://github.com/facebook/flow/blob/master/lib/core.js -# Node: https://github.com/facebook/flow/blob/master/lib/node.js -# DOM: https://github.com/facebook/flow/blob/master/lib/dom.js -# BOM: https://github.com/facebook/flow/blob/master/lib/bom.js -# CSSOM: https://github.com/facebook/flow/blob/master/lib/cssom.js -# IndexDB: https://github.com/facebook/flow/blob/master/lib/indexeddb.js - -[options] - -# This is so that we can import static files in our webpack supported components -# and not have flow throw a hissy fit. -module.name_mapper='^\(.*\)\.\(css\|eot\|gif\|ico\|jpg\|jpeg\|less\|otf\|mp3\|mp4\|ogg\|png\|sass\|scss\|sss\|svg\|swf\|ttf\|webp\|woff\|woff2\)$' -> '/tools/flow/stubs/WebpackAsset.js.flow' - -[version] -0.37.4 diff --git a/.gitignore b/.gitignore index 449da4d5..5aa7c063 100644 --- a/.gitignore +++ b/.gitignore @@ -33,11 +33,8 @@ npm-debug.log .vscode .history -# flow-typed Lib Defs -flow-typed/ - -# Flow Coverage Report -flow-coverage/ - # Happypack .happypack + +# OSX Files +.DS_Store diff --git a/.modernizrrc b/.modernizrrc new file mode 100644 index 00000000..dd3400d8 --- /dev/null +++ b/.modernizrrc @@ -0,0 +1,7 @@ +{ + "minify": true, + "options": [], + "feature-detects": [ + "elem/picture" + ] +} diff --git a/.nvmrc b/.nvmrc index 7742c2f0..918af42d 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v6.9.2 +v6.10.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e40dc6c..60c2a78a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,47 @@ I'll map them as follows: - Minor: New features or changes to the build tools. Could contain some things that are traditionally know as breaking changes, however, I believe the upgrade path to minor. - Patch: Small(ish) fixes/restructuring that I expect will take minimal effort to merge in. +# [13.0.0] - 2017-04-05 + +### BREAKING + + - Renames the 'development' command to 'develop'. + - Big folder structure refactor, moving items from src/* into the root of the project. + - Renames the CONF_ENV variable to DEPLOYMENT for targetting of .env.{environment} environment files. + - Upgrades to `react-router` v4. + - Replaces `code-split-component` with `react-async-component` + - Complete restructure of the DefinePlugin special flags, they have been prefixed with "BUILD_FLAG_" to make them more obvious when used in the code. This also helps us distinguish these build-time values from other runtime provided process.env values. + - Removes cross-env and refactors the script commands. You can assign NODE_ENV as and when you need now (for example, to target a .env.production environment configuration file). + - Renamed environment variables: + - `SERVER_PORT` to `PORT` + - `SERVER_HOST` to `HOST` + - `CLIENT_DEVSERVER_PORT` to `CLIENT_DEV_PORT` + - Renames the `nodeBundlesIncludeNodeModuleFileTypes` config property to `nodeExternalsFileTypeWhitelist` + - Refactors the server and serviceworker offline page generation. We now use a set of React components (`ServerHTML` and `HTML`) to manage our HTML in a uniform fashion. + - Refactors the client configuration filter rule to be contained within the main configuration and moves the configuration object creation into the server middleware. + - Refactors the config folder in various ways. Cleaning up, restructuring, etc. + - Renames the `environmentVars` file and helpers. + - Moves all the HTML head tags into the DemoApp helmet configuration. + +### Changed + + - All server/client/shared code all use the shared config helper. + - Updated dependencies, including to the latest Webpack official 2 release. + +### Added + + - New babel plugins to optimise React production build performance. + - Adds new icon sets. + - Prettier + - Some basic global styling via milligram + +### Fixed + + - Chrome favicon request issue. + - Cleans up the package scripts. + - Service worker would fail if a subfolder was added to the public folder. + - Tons of other things. :) + # [12.0.0] - 2017-01-09 ### BREAKING diff --git a/LICENSE b/LICENSE index 6221cf1b..8a7d8283 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Sean Matheson +Copyright (c) 2017 Sean Matheson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 5a550eb9..9d35e0a5 100644 --- a/README.md +++ b/README.md @@ -7,27 +7,32 @@ Note: This is a feature branch of `react-universally`. Please see the [`FEATURE_

React, Universally

-

A starter kit giving you the minimum requirements for a modern universal React application.

+

A starter kit for universal react applications.

+[![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors) + ## About This starter kit contains all the build tooling and configuration you need to kick off your next universal React project, whilst containing a minimal "project" set up allowing you to make your own architecture decisions (Redux/MobX etc). +> NOTICE: Please read this important [issue](https://github.com/ctrlplusb/react-universally/issues/409) about the behaviour of this project when using `react-async-component`, which is by default bundled with it. + ## Features - ๐Ÿ‘€ `react` as the view. - ๐Ÿ”€ `react-router` v4 as the router. - ๐Ÿš„ `express` server. - ๐ŸŽญ `jest` as the test framework. + - ๐Ÿ’„ Combines `prettier` and Airbnb's ESlint configuration - performing code formatting on commit. Stop worrying about code style consistency. - ๐Ÿ–Œ Very basic CSS support - it's up to you to extend it with CSS Modules etc. - - โœ‚๏ธ Code splitting - easily define code split points in your source using `code-split-component`. + - โœ‚๏ธ Code splitting - easily define code split points in your source using `react-async-component`. - ๐ŸŒ Server Side Rendering. - ๐Ÿ˜Ž Progressive Web Application ready, with offline support, via a Service Worker. - ๐Ÿ˜ Long term browser caching of assets with automated cache invalidation. - ๐Ÿ“ฆ All source is bundled using Webpack v2. - - ๐Ÿš€ Full ES2017+ support - use the exact same JS syntax across the entire project (src/tools/config). No more folder context switching! We also only use syntax that is stage-3 or later in the TC39 process. - - ๐Ÿ”ง Centralised application configuration with helpers to avoid boilerplate in your code. + - ๐Ÿš€ Full ES2017+ support - use the exact same JS syntax across the entire project. No more folder context switching! We also only use syntax that is stage-3 or later in the TC39 process. + - ๐Ÿ”ง Centralised application configuration with helpers to avoid boilerplate in your code. Also has support for environment specific configuration files. - ๐Ÿ”ฅ Extreme live development - hot reloading of ALL changes to client/server source, with auto development server restarts when your application configuration changes. All this with a high level of error tolerance and verbose logging to the console. - โ›‘ SEO friendly - `react-helmet` provides control of the page title/meta/styles/scripts from within your components. - ๐Ÿค– Optimised Webpack builds via HappyPack and an auto generated Vendor DLL for smooth development experiences. @@ -35,12 +40,11 @@ This starter kit contains all the build tooling and configuration you need to ki - ๐Ÿ‘ฎ Security on the `express` server using `helmet` and `hpp`. - ๐Ÿœ Asset bundling support. e.g. images/fonts. - ๐ŸŽ› Preconfigured to support development and optimised production builds. - - ๐Ÿ‘ผ Airbnb's ESlint configuration. - โค๏ธ Preconfigured to deploy to `now` with a single command. Redux/MobX, data persistence, modern styling frameworks and all the other bells and whistles have been explicitly excluded from this starter kit. It's up to you to decide what technologies you would like to add to your own implementation based upon your own needs. -> However, we now include a set of "feature branches", each implementing a technology on top of the clean master branch. This provides you with an example on how to integrate said technologies, or use the branches to merge in a configuration that meets your requirements. See the [`Feature Branches`](/docs/FEATURE_BRANCHES.md) documentation for more. +> However, we now include a set of "feature branches", each implementing a technology on top of the clean master branch. This provides you with an example on how to integrate said technologies, or use the branches to merge in a configuration that meets your requirements. See the [`Feature Branches`](/internal/docs/FEATURE_BRANCHES.md) documentation for more. ## Getting started @@ -48,7 +52,7 @@ Redux/MobX, data persistence, modern styling frameworks and all the other bells git clone https://github.com/ctrlplusb/react-universally my-project cd my-project yarn -yarn run development +yarn run develop ``` Or, if you aren't using [`yarn`](https://yarnpkg.com/): @@ -57,17 +61,30 @@ Or, if you aren't using [`yarn`](https://yarnpkg.com/): git clone https://github.com/ctrlplusb/react-universally my-project cd my-project npm install -npm run development +npm run develop ``` Now go make some changes to the `Home` component to see the tooling in action. ## Docs - - [Project Overview](/docs/PROJECT_OVERVIEW.md) - - [Application Configuration](/docs/APPLICATION_CONFIG.md) - - [Package Script Commands](/docs/PKG_SCRIPTS.md) - - [Feature Branches](/docs/FEATURE_BRANCHES.md) - - [Deploy your very own Server Side Rendering React App in 5 easy steps](/docs/DEPLOY_TO_NOW.md) - - [FAQ](/docs/FAQ.md) + - [Project Overview](/internal/docs/PROJECT_OVERVIEW.md) + - [Project Configuration](/internal/docs/PROJECT_CONFIG.md) + - [Package Script Commands](/internal/docs/PKG_SCRIPTS.md) + - [FAQ](/internal/docs/FAQ.md) + - [Feature Branches](/internal/docs/FEATURE_BRANCHES.md) + - [Deploy your very own Server Side Rendering React App in 5 easy steps](/internal/docs/DEPLOY_TO_NOW.md) - [Changelog](/CHANGELOG.md) + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): + + +| [
Andrรฉs Calabrese](https://github.com/aoc)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=aoc) | [
Andrey Luiz](https://andreyluiz.github.io/)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=andreyluiz) | [
Alin Porumb](https://github.com/alinporumb)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=alinporumb) | [
Benjamin Kniffler](https://github.com/bkniffler)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=bkniffler) | [
Birkir Rafn Guรฐjรณnsson](https://medium.com/@birkir.gudjonsson)
๐Ÿ’ฌ [๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Abirkir) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=birkir) ๐Ÿ‘€ | [
Carson Perrotti](http://carsonperrotti.com)
๐Ÿ’ฌ [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=carsonperrotti) [๐Ÿ“–](https://github.com/ctrlplusb/react-universally/commits?author=carsonperrotti) ๐Ÿ‘€ | [
Christian Glombek](https://github.com/LorbusChris)
[๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3ALorbusChris) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=LorbusChris) | +| :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| [
Christoph Werner](https://twitter.com/code_punkt)
๐Ÿ’ฌ [๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Acodepunkt) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=codepunkt) ๐Ÿ‘€ | [
David Edmondson](https://github.com/threehams)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=threehams) | [
Dion Dirza](https://github.com/diondirza)
๐Ÿ’ฌ [๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Adiondirza) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=diondirza) [๐Ÿ“–](https://github.com/ctrlplusb/react-universally/commits?author=diondirza) ๐Ÿ‘€ | [
Evgeny Boxer](https://github.com/evgenyboxer)
[๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Aevgenyboxer) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=evgenyboxer) | [
Joe Kohlmann](http://kohlmannj.com)
[๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Akohlmannj) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=kohlmannj) | [
Lucian Lature](https://www.linkedin.com/in/lucianlature/)
[๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Alucianlature) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=lucianlature) ๐Ÿ‘€ | [
Mark Shlick](https://github.com/markshlick)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=markshlick) | +| [
Ryan Lindskog](https://www.RyanLindskog.com/)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=rlindskog) | [
Steven Enten](http://enten.fr)
๐Ÿ’ฌ [๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Aenten) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=enten) ๐Ÿ‘€ | [
Sean Matheson](http://www.ctrlplusb.com)
๐Ÿ’ฌ [๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Actrlplusb) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=ctrlplusb) [๐Ÿ“–](https://github.com/ctrlplusb/react-universally/commits?author=ctrlplusb) ๐Ÿ’ก ๐Ÿ‘€ [โš ๏ธ](https://github.com/ctrlplusb/react-universally/commits?author=ctrlplusb) ๐Ÿ”ง | [
Steven Truesdell](https://steventruesdell.com)
๐Ÿ’ฌ [๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Astrues) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=strues) [๐Ÿ“–](https://github.com/ctrlplusb/react-universally/commits?author=strues) [โš ๏ธ](https://github.com/ctrlplusb/react-universally/commits?author=strues) | [
Thomas Leitgeb](https://twitter.com/_datoml)
[๐Ÿ›](https://github.com/ctrlplusb/react-universally/issues?q=author%3Adatoml) [๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=datoml) | [
Tyler Nieman](http://tsnieman.net/)
[๐Ÿ’ป](https://github.com/ctrlplusb/react-universally/commits?author=tsnieman) | + + +This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! diff --git a/client/components/ReactHotLoader.js b/client/components/ReactHotLoader.js new file mode 100644 index 00000000..18e53476 --- /dev/null +++ b/client/components/ReactHotLoader.js @@ -0,0 +1,12 @@ +/* eslint-disable global-require */ +/* eslint-disable import/no-extraneous-dependencies */ + +import React from 'react'; + +// We create this wrapper so that we only import react-hot-loader for a +// development build. Small savings. :) +const ReactHotLoader = process.env.NODE_ENV === 'development' + ? require('react-hot-loader').AppContainer + : ({ children }) => React.Children.only(children); + +export default ReactHotLoader; diff --git a/client/index.js b/client/index.js new file mode 100644 index 00000000..0d0375a9 --- /dev/null +++ b/client/index.js @@ -0,0 +1,86 @@ +/* eslint-disable global-require */ + +import React from 'react'; +import { render } from 'react-dom'; +import BrowserRouter from 'react-router-dom/BrowserRouter'; +import asyncBootstrapper from 'react-async-bootstrapper'; +import { AsyncComponentProvider } from 'react-async-component'; +import { JobProvider } from 'react-jobs'; +import { Provider } from 'react-redux'; +import configureStore from '../shared/redux/configureStore'; + +import './polyfills'; + +import ReactHotLoader from './components/ReactHotLoader'; +import DemoApp from '../shared/components/DemoApp'; + +// Get the DOM Element that will host our React application. +const container = document.querySelector('#app'); + +// Create our Redux store. +const store = configureStore( + // Server side rendering would have mounted our state on this global. + window.__APP_STATE__, // eslint-disable-line no-underscore-dangle +); + +// Does the user's browser support the HTML5 history API? +// If the user's browser doesn't support the HTML5 history API then we +// will force full page refreshes on each page change. +const supportsHistory = 'pushState' in window.history; + +// Get any rehydrateState for the async components. +// eslint-disable-next-line no-underscore-dangle +const asyncComponentsRehydrateState = window.__ASYNC_COMPONENTS_REHYDRATE_STATE__; + +// Get any "rehydrate" state sent back by the server +// eslint-disable-next-line no-underscore-dangle +const rehydrateState = window.__JOBS_STATE__; + +/** + * Renders the given React Application component. + */ +function renderApp(TheApp) { + // Firstly, define our full application component, wrapping the given + // component app with a browser based version of react router. + const app = ( + + + + + + + + + + + + ); + + // We use the react-async-component in order to support code splitting of + // our bundle output. It's important to use this helper. + // @see https://github.com/ctrlplusb/react-async-component + asyncBootstrapper(app).then(() => render(app, container)); +} + +// Execute the first render of our app. +renderApp(DemoApp); + +// This registers our service worker for asset caching and offline support. +// Keep this as the last item, just in case the code execution failed (thanks +// to react-boilerplate for that tip.) +require('./registerServiceWorker'); + +// The following is needed so that we can support hot reloading our application. +if (process.env.BUILD_FLAG_IS_DEV === 'true' && module.hot) { + module.hot.dispose((data) => { + // Deserialize store and keep in hot module data for next replacement + data.store = stringify(toJS(store)); // eslint-disable-line + }); + + // Accept changes to this file for hot reloading. + module.hot.accept('./index.js'); + // Any changes to our App will cause a hotload re-render. + module.hot.accept('../shared/components/DemoApp', () => { + renderApp(require('../shared/components/DemoApp').default); + }); +} diff --git a/client/polyfills/index.js b/client/polyfills/index.js new file mode 100644 index 00000000..af2bbca3 --- /dev/null +++ b/client/polyfills/index.js @@ -0,0 +1,18 @@ +/* eslint-disable no-console */ + +import Modernizr from 'modernizr'; + +// This is just an illustrative example. Here you are testing the client's +// support for the "picture" element, and if it isn't supported then you +// load a polyfill. +if (!Modernizr.picture) { + console.log('Client does not support "picture", polyfilling it...'); + // If you want to use the below do a `yarn add picturefill --exact` and then + // uncomment the lines below: + /* + require('picturefill'); + require('picturefill/dist/plugins/mutation/pf.mutation'); + */ +} else { + console.log('Client has support for "picture".'); +} diff --git a/src/client/registerServiceWorker.js b/client/registerServiceWorker.js similarity index 65% rename from src/client/registerServiceWorker.js rename to client/registerServiceWorker.js index 70032271..af402f6a 100644 --- a/src/client/registerServiceWorker.js +++ b/client/registerServiceWorker.js @@ -1,17 +1,20 @@ -// We use the offline-plugin to generate a service worker. See the webpack -// config for more details. -// -// We need to ensure that the runtime is installed so that the generated -// service worker is executed. -// -// We will only be doing this for production builds. +/** + * We use the offline-plugin to generate a service worker. See the webpack + * config for more details. + * + * We need to ensure that the runtime is installed so that the generated + * service worker is executed. + * + * NOTE: We only enable the service worker for non-development environments. + */ -import { safeConfigGet } from '../shared/utils/config'; +import config from '../config'; -if (process.env.NODE_ENV === 'production') { +if (process.env.BUILD_FLAG_IS_DEV === 'false') { // We check the shared config, ensuring that the service worker has been // enabled. - if (safeConfigGet(['serviceWorker', 'enabled'])) { + if (config('serviceWorker.enabled')) { + // eslint-disable-next-line global-require const OfflinePluginRuntime = require('offline-plugin/runtime'); // Install the offline plugin, which instantiates our service worker and app diff --git a/config/components/ClientConfig.js b/config/components/ClientConfig.js new file mode 100644 index 00000000..dacb92e9 --- /dev/null +++ b/config/components/ClientConfig.js @@ -0,0 +1,42 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import serialize from 'serialize-javascript'; +import filterWithRules from '../../shared/utils/objects/filterWithRules'; +import values from '../values'; + +// Filter the config down to the properties that are allowed to be included +// in the HTML response. +const clientConfig = filterWithRules( + // These are the rules used to filter the config. + values.clientConfigFilter, + // The config values to filter. + values, +); + +const serializedClientConfig = serialize(clientConfig); + +/** + * A react component that generates a script tag that binds the allowed + * values to the window so that config values can be read within the + * browser. + * + * They get bound to window.__CLIENT_CONFIG__ + */ +function ClientConfig({ nonce }) { + return ( + `; -} - -function scriptTags(jsFilePaths : Array) { - return jsFilePaths.map(scriptTag).join('\n'); -} - -type Args = { - reactAppString?: string, - initialState?: Object, - nonce: string, - helmet?: Head, - codeSplitState?: { chunks: Array, modules: Array }, - jobsState?: { state: Object, STATE_IDENTIFIER: string }, -}; - -export default function generateHTML(args: Args) { - const { reactAppString, initialState, nonce, helmet, codeSplitState, jobsState } = args; - - // The chunks that we need to fetch the assets (js/css) for and then include - // said assets as script/style tags within our html. - const chunksForRender = [ - // We always manually add the main entry chunk for our client bundle. It - // must always be the first item in the collection. - 'index', - ]; - - if (codeSplitState) { - // We add all the chunks that our CodeSplitProvider tracked as being used - // for this render. This isn't actually required as the rehydrate function - // of code-split-component which gets executed in our client bundle will - // ensure all our required chunks are loaded, but its a nice optimisation as - // it means the browser can start fetching the required files before it's - // even finished parsing our client bundle entry script. - // Having the assets.json file available to us made implementing this - // feature rather arbitrary. - codeSplitState.chunks.forEach(chunk => chunksForRender.push(chunk)); - } - - // Now we get the assets (js/css) for the chunks. - const assetsForRender = getAssetsForClientChunks(chunksForRender); - - // Creates an inline script definition that is protected by the nonce. - const inlineScript = body => - ``; - - return ` - - - ${helmet ? helmet.title.toString() : ''} - ${helmet ? helmet.meta.toString() : ''} - ${helmet ? helmet.link.toString() : ''} - ${styleTags(assetsForRender.css)} - ${helmet ? helmet.style.toString() : ''} - - -
${reactAppString || ''}
- ${ - // Binds the client configuration object to the window object so - // that we can safely expose some configuration values to the - // client bundle that gets executed in the browser. - inlineScript(`window.__CLIENT_CONFIG__=${serialize(clientConfig)}`) - } - ${ - // Bind the initial application state based on the server render - // so the client can register the correct initial state for the view. - initialState - ? inlineScript(`window.__APP_STATE__=${serialize(initialState)};`) - : '' - } - ${ - // Bind our code split state so that the client knows which server - // rendered modules need to be rehydrated. - codeSplitState - ? inlineScript(`window.${STATE_IDENTIFIER}=${serialize(codeSplitState)};`) - : '' - } - ${ - jobsState - ? inlineScript(`window.${jobsState.STATE_IDENTIFIER}=${serialize(jobsState.state)};`) - : '' - } - ${ - // Enable the polyfill io script? - // This can't be configured within a react-helmet component as we - // may need the polyfill's before our client bundle gets parsed. - config.polyfillIO.enabled - ? scriptTag(config.polyfillIO.url) - : '' - } - ${ - // When we are in development mode our development server will generate a - // vendor DLL in order to dramatically reduce our compilation times. Therefore - // we need to inject the path to the vendor dll bundle below. - // @see /tools/development/ensureVendorDLLExists.js - process.env.NODE_ENV === 'development' - && config.bundles.client.devVendorDLL.enabled - ? scriptTag(`${config.bundles.client.webPath}${config.bundles.client.devVendorDLL.name}.js?t=${Date.now()}`) - : '' - } - ${scriptTags(assetsForRender.js)} - ${helmet ? helmet.script.toString() : ''} - - `; -} diff --git a/src/server/middleware/reactApplication/getAssetsForClientChunks.js b/src/server/middleware/reactApplication/getAssetsForClientChunks.js deleted file mode 100644 index 6afe247d..00000000 --- a/src/server/middleware/reactApplication/getAssetsForClientChunks.js +++ /dev/null @@ -1,61 +0,0 @@ -/* @flow */ - -// This file resolves the assets available from our client bundle. - -import fs from 'fs'; -import { resolve as pathResolve } from 'path'; -import appRootDir from 'app-root-dir'; -import config from '../../../../config'; - -const assetsFilePath = pathResolve( - appRootDir.get(), - config.bundles.client.outputPath, - `./${config.bundleAssetsFileName}`, -); - -if (!fs.existsSync(assetsFilePath)) { - throw new Error( - `We could not find the "${assetsFilePath}" file, which contains a list of the assets of the client bundle. Please ensure that the client bundle has been built.`, - ); -} - -const readAssetsJSONFile = () => JSON.parse(fs.readFileSync(assetsFilePath, 'utf8')); -const assetsJSON = readAssetsJSONFile(); -const assetsJSONResolver = () => ( - process.env.NODE_ENV === 'development' - // In development mode we always read the assets json file from disk to avoid - // any cases where an older version gets cached. - ? readAssetsJSONFile() - // Otherwise we return the initially parsed JSON file. - : assetsJSON -); - -/** - * Retrieves the js/css for the named chunks that belong to our client bundle. - * - * Note: the order of the chunk names is important. The same ordering will be - * used when rendering the scripts. - * - * This is useful to us for a couple of reasons: - * - It allows us to target the assets for a specific chunk, thereby only - * loading the assets we know we will need for a specific request. - * - The assets are hashed, and therefore they can't be "manually" added - * to the render logic. Having this method allows us to easily fetch - * the respective assets simply by using a chunk name. :) - */ -function getAssetsForClientChunks(chunks: Array) { - return chunks.reduce((acc, chunkName) => { - const chunkAssets = assetsJSONResolver()[chunkName]; - if (chunkAssets) { - if (chunkAssets.js) { - acc.js.push(chunkAssets.js); - } - if (chunkAssets.css) { - acc.css.push(chunkAssets.css); - } - } - return acc; - }, { js: [], css: [] }); -} - -export default getAssetsForClientChunks; diff --git a/src/server/middleware/reactApplication/index.js b/src/server/middleware/reactApplication/index.js deleted file mode 100644 index 59904505..00000000 --- a/src/server/middleware/reactApplication/index.js +++ /dev/null @@ -1,131 +0,0 @@ -/* @flow */ - -import type { $Request, $Response, Middleware } from 'express'; -import React from 'react'; -import { renderToString } from 'react-dom/server'; -import { ServerRouter, createServerRenderContext } from 'react-router'; -import { Provider } from 'react-redux'; -import { CodeSplitProvider, createRenderContext } from 'code-split-component'; -import Helmet from 'react-helmet'; -import { runJobs } from 'react-jobs/ssr'; -import generateHTML from './generateHTML'; -import DemoApp from '../../../shared/components/DemoApp'; -import configureStore from '../../../shared/redux/configureStore'; -import config from '../../../../config'; - -/** - * An express middleware that is capabable of service our React application, - * supporting server side rendering of the application. - */ -function reactApplicationMiddleware(request: $Request, response: $Response) { - // We should have had a nonce provided to us. See the server/index.js for - // more information on what this is. - if (typeof response.locals.nonce !== 'string') { - throw new Error('A "nonce" value has not been attached to the response'); - } - const nonce = response.locals.nonce; - - // It's possible to disable SSR, which can be useful in development mode. - // In this case traditional client side only rendering will occur. - if (config.disableSSR) { - if (process.env.NODE_ENV === 'development') { - // eslint-disable-next-line no-console - console.log('==> Handling react route without SSR'); - } - // SSR is disabled so we will just return an empty html page and will - // rely on the client to initialize and render the react application. - const html = generateHTML({ - // Nonce which allows us to safely declare inline scripts. - nonce, - }); - response.status(200).send(html); - return; - } - - // Create the redux store. - const store = configureStore(); - const { getState } = store; - - // First create a context for , which will allow us to - // query for the results of the render. - const reactRouterContext = createServerRenderContext(); - - // We also create a context for our which will allow us - // to query which chunks/modules were used during the render process. - const codeSplitContext = createRenderContext(); - - // Define our app to be server rendered. - const app = ( - - - - - - - - ); - - // Firstly we will use the "runJobs" helper to execute all the jobs - // that have been attached to the components being rendered in our app. - runJobs(app).then(({ appWithJobs, state, STATE_IDENTIFIER }) => { - // runJobs returns a new version of our app with all the job data accessible - // to it. We will pass this to the renderToString function. Additionally - // we need to pass the returned state to our generateHTML function so - // that the browser can rehdrate our application with the appropriate - // job data. This will then avoid react checksum issues and thereby - // prevent our app from "double rendering" on the client. - - // Create our application and render it into a string. - const reactAppString = renderToString(appWithJobs); - - // Generate the html response. - const html = generateHTML({ - // Provide the rendered React applicaiton string. - reactAppString, - // Nonce which allows us to safely declare inline scripts. - nonce, - // Running this gets all the helmet properties (e.g. headers/scripts/title etc) - // that need to be included within our html. It's based on the rendered app. - // @see https://github.com/nfl/react-helmet - helmet: Helmet.rewind(), - // We provide our code split state so that it can be included within the - // html, and then the client bundle can use this data to know which chunks/ - // modules need to be rehydrated prior to the application being rendered. - codeSplitState: codeSplitContext.getState(), - // Provide the redux store state, this will be bound to the window.__APP_STATE__ - // so that we can rehydrate the state on the client. - initialState: getState(), - // Pass through the react-jobs provided state so that it can be serialized - // into the HTML and then the browser can use the data to rehydrate the - // application appropriately. - jobsState: { - state, - STATE_IDENTIFIER, - }, - }); - - // Get the render result from the server render context. - const renderResult = reactRouterContext.getResult(); - - // Check if the render result contains a redirect, if so we need to set - // the specific status and redirect header and end the response. - if (renderResult.redirect) { - response.status(301).setHeader('Location', renderResult.redirect.pathname); - response.end(); - return; - } - - response - .status( - renderResult.missed - // If the renderResult contains a "missed" match then we set a 404 code. - // Our App component will handle the rendering of an Error404 view. - ? 404 - // Otherwise everything is all good and we send a 200 OK status. - : 200, - ) - .send(html); - }); -} - -export default (reactApplicationMiddleware : Middleware); diff --git a/src/server/middleware/serviceWorker.js b/src/server/middleware/serviceWorker.js deleted file mode 100644 index b8175fd6..00000000 --- a/src/server/middleware/serviceWorker.js +++ /dev/null @@ -1,21 +0,0 @@ -/* @flow */ -/* eslint-disable no-unused-vars */ - -import { resolve as pathResolve } from 'path'; -import appRootDir from 'app-root-dir'; -import type { $Request, $Response, NextFunction } from 'express'; -import config from '../../../config'; - -// Middleware to server our service worker. -function serviceWorkerMiddleware( - req: $Request, res: $Response, next: NextFunction) { - res.sendFile( - pathResolve( - appRootDir.get(), - config.bundles.client.outputPath, - config.serviceWorker.fileName, - ), - ); -} - -export default serviceWorkerMiddleware; diff --git a/src/shared/README.md b/src/shared/README.md deleted file mode 100644 index c0977efa..00000000 --- a/src/shared/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# src/shared - -This directory should contain code that is considered safe to execute on a `node` or `web` target bundle. i.e. It's "Universal" code. :) - -This means all our bundles can use this code. diff --git a/src/shared/components/DemoApp/About/About.js b/src/shared/components/DemoApp/About/About.js deleted file mode 100644 index 17a286e7..00000000 --- a/src/shared/components/DemoApp/About/About.js +++ /dev/null @@ -1,44 +0,0 @@ -/* @flow */ - -import React from 'react'; -import Helmet from 'react-helmet'; -import Contributor from './Contributor'; - -const contributors = [ - { name: 'Alin Porumb', twitter: 'alinporumb' }, - { name: 'Benjamin Kniffler', twitter: 'bkniffler' }, - { name: 'Carson Perrotti', twitter: 'carsonp' }, - { name: 'Christian Glombek', twitter: 'LorbusChris' }, - { name: 'Christoph Werner', twitter: 'code_punkt' }, - // TODO: Get David's twitter handle. - // { name: 'David Edmondson', twitter: '' }, - // TODO: Get Evgeny's twitter handle. - // { name: 'Evgeny Boxer', twitter: '' }, - { name: 'Joe Kohlmann', twitter: 'jkohlmann' }, - { name: 'Lucian Lature', twitter: 'lucianlature' }, - { name: 'Steven Enten', twitter: 'steven_enten' }, - { name: 'Sean Matheson', twitter: 'controlplusb' }, - { name: 'Steven Truesdell', twitter: 'StruesCO' }, -]; - -function About() { - return ( -
- - -

Produced with โค๏ธ by...

- -
    - { - contributors.map(({ name, twitter }) => -
  • - -
  • , - ) - } -
-
- ); -} - -export default About; diff --git a/src/shared/components/DemoApp/About/About.test.js b/src/shared/components/DemoApp/About/About.test.js deleted file mode 100644 index 7d54aa3a..00000000 --- a/src/shared/components/DemoApp/About/About.test.js +++ /dev/null @@ -1,13 +0,0 @@ -/* @flow */ -/* eslint-disable import/no-extraneous-dependencies */ - -import React from 'react'; -import { shallow } from 'enzyme'; -import About from './About'; - -describe('', () => { - test('renders', () => { - const wrapper = shallow(); - expect(wrapper).toMatchSnapshot(); - }); -}); diff --git a/src/shared/components/DemoApp/About/Contributor/Contributor.js b/src/shared/components/DemoApp/About/Contributor/Contributor.js deleted file mode 100644 index a77196db..00000000 --- a/src/shared/components/DemoApp/About/Contributor/Contributor.js +++ /dev/null @@ -1,20 +0,0 @@ -import React, { PropTypes } from 'react'; - -function Contributor({ name, twitter }) { - return ( - - {name} - - ); -} - -Contributor.propTypes = { - name: PropTypes.string.isRequired, - twitter: PropTypes.string.isRequired, -}; - -export default Contributor; diff --git a/src/shared/components/DemoApp/About/Contributor/index.js b/src/shared/components/DemoApp/About/Contributor/index.js deleted file mode 100644 index 71dd3239..00000000 --- a/src/shared/components/DemoApp/About/Contributor/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Contributor'; diff --git a/src/shared/components/DemoApp/About/__snapshots__/About.test.js.snap b/src/shared/components/DemoApp/About/__snapshots__/About.test.js.snap deleted file mode 100644 index f3dcd247..00000000 --- a/src/shared/components/DemoApp/About/__snapshots__/About.test.js.snap +++ /dev/null @@ -1,18 +0,0 @@ -exports[` renders 1`] = ` -
- - Produced with โค๏ธ by ย  - - Sean Matheson - -
-`; diff --git a/src/shared/components/DemoApp/About/index.js b/src/shared/components/DemoApp/About/index.js deleted file mode 100644 index f768de3d..00000000 --- a/src/shared/components/DemoApp/About/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './About'; diff --git a/src/shared/components/DemoApp/DemoApp.js b/src/shared/components/DemoApp/DemoApp.js deleted file mode 100644 index 974cd5b2..00000000 --- a/src/shared/components/DemoApp/DemoApp.js +++ /dev/null @@ -1,64 +0,0 @@ -/* @flow */ - -import React from 'react'; -import { Match, Miss } from 'react-router'; -import Helmet from 'react-helmet'; -import { CodeSplit } from 'code-split-component'; -import 'normalize.css/normalize.css'; -import './globals.css'; -import Error404 from './Error404'; -import Header from './Header'; -import { safeConfigGet } from '../../utils/config'; - -function DemoApp() { - return ( -
- {/* - All of the following will be injected into our page header. - @see https://github.com/nfl/react-helmet - */} - - -
- - - - { ({ Home }) => Home && } - - } - /> - - - - { ({ Posts }) => Posts && } - - } - /> - - - - { ({ About }) => About && } - - } - /> - - -
- ); -} - -export default DemoApp; diff --git a/src/shared/components/DemoApp/Error404/Error404.js b/src/shared/components/DemoApp/Error404/Error404.js deleted file mode 100644 index f6bd06d6..00000000 --- a/src/shared/components/DemoApp/Error404/Error404.js +++ /dev/null @@ -1,11 +0,0 @@ -/* @flow */ - -import React from 'react'; - -function Error404() { - return ( -
Sorry, that page was not found.
- ); -} - -export default Error404; diff --git a/src/shared/components/DemoApp/Error404/index.js b/src/shared/components/DemoApp/Error404/index.js deleted file mode 100644 index 134fa575..00000000 --- a/src/shared/components/DemoApp/Error404/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './Error404'; diff --git a/src/shared/components/DemoApp/Header/Logo/index.js b/src/shared/components/DemoApp/Header/Logo/index.js deleted file mode 100644 index 6940426e..00000000 --- a/src/shared/components/DemoApp/Header/Logo/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './Logo'; diff --git a/src/shared/components/DemoApp/Header/Menu/__snapshots__/Menu.test.js.snap b/src/shared/components/DemoApp/Header/Menu/__snapshots__/Menu.test.js.snap deleted file mode 100644 index 435ec97e..00000000 --- a/src/shared/components/DemoApp/Header/Menu/__snapshots__/Menu.test.js.snap +++ /dev/null @@ -1,35 +0,0 @@ -exports[` renders 1`] = ` -
    -
  • - - Home - -
  • -
  • - - About - -
  • -
-`; diff --git a/src/shared/components/DemoApp/Header/Menu/index.js b/src/shared/components/DemoApp/Header/Menu/index.js deleted file mode 100644 index 399459b5..00000000 --- a/src/shared/components/DemoApp/Header/Menu/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './Menu'; diff --git a/src/shared/components/DemoApp/Header/index.js b/src/shared/components/DemoApp/Header/index.js deleted file mode 100644 index b22313f6..00000000 --- a/src/shared/components/DemoApp/Header/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './Header'; diff --git a/src/shared/components/DemoApp/Home/Home.test.js b/src/shared/components/DemoApp/Home/Home.test.js deleted file mode 100644 index ce95cae4..00000000 --- a/src/shared/components/DemoApp/Home/Home.test.js +++ /dev/null @@ -1,13 +0,0 @@ -/* @flow */ -/* eslint-disable import/no-extraneous-dependencies */ - -import React from 'react'; -import { shallow } from 'enzyme'; -import Home from './Home'; - -describe('', () => { - test('renders', () => { - const wrapper = shallow(); - expect(wrapper).toMatchSnapshot(); - }); -}); diff --git a/src/shared/components/DemoApp/Home/index.js b/src/shared/components/DemoApp/Home/index.js deleted file mode 100644 index 3255cd2d..00000000 --- a/src/shared/components/DemoApp/Home/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './Home'; diff --git a/src/shared/components/DemoApp/Posts/Post/index.js b/src/shared/components/DemoApp/Posts/Post/index.js deleted file mode 100644 index 20c7aaa6..00000000 --- a/src/shared/components/DemoApp/Posts/Post/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './Post'; diff --git a/src/shared/components/DemoApp/Posts/Posts.js b/src/shared/components/DemoApp/Posts/Posts.js deleted file mode 100644 index afec068a..00000000 --- a/src/shared/components/DemoApp/Posts/Posts.js +++ /dev/null @@ -1,25 +0,0 @@ -/* @flow */ - -import React from 'react'; -import { Link, Match } from 'react-router'; -import Helmet from 'react-helmet'; -import Post from './Post'; - -function Posts() { - return ( -
- - -

Posts

- -
    -
  • Post 1
  • -
  • Post 2
  • -
- - -
- ); -} - -export default Posts; diff --git a/src/shared/components/DemoApp/Posts/index.js b/src/shared/components/DemoApp/Posts/index.js deleted file mode 100644 index 0f8d9a6e..00000000 --- a/src/shared/components/DemoApp/Posts/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './Posts'; diff --git a/src/shared/components/DemoApp/index.js b/src/shared/components/DemoApp/index.js deleted file mode 100644 index a439d8e9..00000000 --- a/src/shared/components/DemoApp/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/* @flow */ - -export { default } from './DemoApp'; diff --git a/src/shared/types/model.js b/src/shared/types/model.js deleted file mode 100644 index d5f9759e..00000000 --- a/src/shared/types/model.js +++ /dev/null @@ -1,8 +0,0 @@ -/* @flow */ -/* eslint-disable import/prefer-default-export */ - -export type Post = { - id: number, - title: string, - body: string, -}; diff --git a/src/shared/types/react-router.js b/src/shared/types/react-router.js deleted file mode 100644 index 0a3130b2..00000000 --- a/src/shared/types/react-router.js +++ /dev/null @@ -1,10 +0,0 @@ -/* @flow */ -/* eslint-disable import/prefer-default-export */ - -import type { Dispatch, ThunkAction } from './redux'; - -export type Location = { pathname: string }; - -export type TaskRouteLocals = { - dispatch: Dispatch, -}; diff --git a/src/shared/types/react.js b/src/shared/types/react.js deleted file mode 100644 index a4158747..00000000 --- a/src/shared/types/react.js +++ /dev/null @@ -1,15 +0,0 @@ -/* @flow */ - -// Note: we already have the definitions from -// https://github.com/facebook/flow/blob/master/lib/react.js -// so the below are merely helpful extensions. - -import React from 'react'; - -export type ReactElement = React.Element; - -export type ReactNode = string | number | ReactElement | Array; - -export type ReactChild = ReactNode | boolean | void | null; - -export type ReactChildren = ReactChild | Array; diff --git a/src/shared/types/redux.js b/src/shared/types/redux.js deleted file mode 100644 index aaa5925e..00000000 --- a/src/shared/types/redux.js +++ /dev/null @@ -1,18 +0,0 @@ -/* @flow */ - -import Axios from 'axios'; -import type { Post } from './model'; -import type { State } from '../reducers'; - -export type Action = - | { type: 'FETCHING_POST', payload: number } - | { type: 'FETCHED_POST', payload: Post }; - -export type ThunkLocals = { - axios: typeof Axios -}; - -export type Dispatch = (action: A) => A; - -export type ThunkAction = - (dispatch : Dispatch, getState : () => State, locals: ThunkLocals) => Promise; diff --git a/src/shared/utils/config.js b/src/shared/utils/config.js deleted file mode 100644 index 98c8adde..00000000 --- a/src/shared/utils/config.js +++ /dev/null @@ -1,88 +0,0 @@ -/* @flow */ -/* eslint-disable no-console */ -/* eslint-disable import/global-require */ -/* eslint-disable import/prefer-default-export */ -/* eslint-disable no-underscore-dangle */ - -// This resolves the correct configuration source based on the execution -// environment. For node we use the standard config file, however, for browsers -// we need to access the configuration object that would have been bound to -// the "window" by our "reactApplication" middleware. -let configCache; -function resolveConfigForExecutionEnv() { - if (configCache) { - return configCache; - } - - // NOTE: By using the "process.env.IS_NODE" flag here this block of code - // will be removed when "process.env.IS_NODE === true". - // If no "IS_NODE" env var is undefined we can assume that we are running outside - // of a webpack run, and will therefore return the config file. - if (typeof process.env.IS_NODE === 'undefined' || process.env.IS_NODE) { - // i.e. running in our server/node process. - configCache = require('../../../config').default; - return configCache; - } - - // To get here we are likely running in the browser. - - if (typeof window !== 'undefined' - && typeof window.__CLIENT_CONFIG__ === 'object') { - configCache = window.__CLIENT_CONFIG__; - } else { - // To get here we must be running in the browser. - console.warn('No client configuration object was bound to the window.'); - configCache = {}; - } - - return configCache; -} - -/** - * This function wraps up the boilerplate needed to access the correct - * configuration depending on whether your code will get executed in the - * browser/node. - * - * i.e. - * - For the browser the config values are available at window.__CLIENT_CONFIG__ - * - For a node process they are within the "./config" root project folder. - * - * To request a configuration value you must provide the repective path. For - * example, f you had the following configuration structure: - * { - * foo: { - * bar: [1, 2, 3] - * }, - * bob: 'bob' - * } - * - * You could use this function to access "bar" like so: - * import { safeConfigGet } from '../config'; - * const value = safeConfigGet(['foo', 'bar']); - * - * And you could access "bob" like so: - * import { safeConfigGet } from '../config'; - * const value = safeConfigGet(['bob']); - * - * If any part of the path isn't available as a configuration key/value then - * an error will be thrown indicating that a respective configuration value - * could not be found at the given path. - */ -export function safeConfigGet(path : Array) : any { - if (path.length === 0) { - throw new Error('You must provide the path to the configuration value you would like to consume.'); - } - let result = resolveConfigForExecutionEnv(); - for (let i = 0; i < path.length; i += 1) { - if (result === undefined) { - const errorMessage = `Failed to resolve configuration value at "${path.join('.')}".`; - // This "if" block gets stripped away by webpack for production builds. - if (process.env.NODE_ENV === 'development' && process.env.IS_CLIENT) { - throw new Error(`${errorMessage} We have noticed that you are trying to access this configuration value from the client bundle (i.e. browser) though. For configuration values to be exposed to the client bundle you must ensure that the path is added to the client configuration filter file, which is located at "config/clientConfigFilter.js".`); - } - throw new Error(errorMessage); - } - result = result[path[i]]; - } - return result; -} diff --git a/tools/flow/stubs/WebpackAsset.js.flow b/tools/flow/stubs/WebpackAsset.js.flow deleted file mode 100644 index a18df890..00000000 --- a/tools/flow/stubs/WebpackAsset.js.flow +++ /dev/null @@ -1,3 +0,0 @@ -// @flow - -declare export default string diff --git a/tools/flow/typeExtensions/commonjs.js b/tools/flow/typeExtensions/commonjs.js deleted file mode 100644 index 55427f45..00000000 --- a/tools/flow/typeExtensions/commonjs.js +++ /dev/null @@ -1,18 +0,0 @@ -/* @flow */ - -type WebpackHot = { - accept(path: ?string) : void; -} - -declare var module: { - exports: any; - require(id: string): any; - id: string; - filename: string; - loaded: boolean; - parent: any; - children: Array; - // We extend the common js format with the following to allow for the - // webpack related feature. - hot: WebpackHot -}; diff --git a/tools/flow/typeExtensions/es6modules.js b/tools/flow/typeExtensions/es6modules.js deleted file mode 100644 index 932fc67c..00000000 --- a/tools/flow/typeExtensions/es6modules.js +++ /dev/null @@ -1,5 +0,0 @@ -/* @flow */ - -declare var System: { - import(path: string): any; -}; diff --git a/tools/jest/assetMock.js b/tools/jest/assetMock.js deleted file mode 100644 index c965090c..00000000 --- a/tools/jest/assetMock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "/asset/mock"; diff --git a/tools/scripts/analyze.js b/tools/scripts/analyze.js deleted file mode 100644 index 63a6d662..00000000 --- a/tools/scripts/analyze.js +++ /dev/null @@ -1,37 +0,0 @@ -/* @flow */ - -// This script creates a webpack stats file on our production build of the -// client bundle and then launches the webpack-bundle-analyzer tool allowing -// you to easily see what is being included within your bundle. Really helpful -// in those parses at trimming your bundle sizes down. -// @see https://github.com/th0r/webpack-bundle-analyzer - -import webpack from 'webpack'; -import fs from 'fs'; -import { resolve as pathResolve } from 'path'; -import appRootDir from 'app-root-dir'; -import clientConfigFactory from '../webpack/client.config.babel'; -import { exec } from '../utils'; -import config from '../../config'; - -const anaylzeFilePath = pathResolve( - appRootDir.get(), config.bundles.client.outputPath, '__analyze__.json', -); - -const clientCompiler = webpack(clientConfigFactory()); - -clientCompiler.run((err, stats) => { - if (err) { - console.error(err); - } else { - // Write out the json stats file. - fs.writeFileSync( - anaylzeFilePath, - JSON.stringify(stats.toJson('verbose'), null, 4), - ); - - // Run the bundle analyzer against the stats file. - const cmd = `webpack-bundle-analyzer ${anaylzeFilePath} ${config.bundles.client.outputPath}`; - exec(cmd); - } -}); diff --git a/tools/scripts/build.js b/tools/scripts/build.js deleted file mode 100644 index 85d1f3e2..00000000 --- a/tools/scripts/build.js +++ /dev/null @@ -1,31 +0,0 @@ -/* @flow */ - -// This script builds a production output of all of our bundles. - -import webpack from 'webpack'; -import appRootDir from 'app-root-dir'; -import { resolve as pathResolve } from 'path'; -import webpackConfigFactory from '../webpack/configFactory'; -import { exec } from '../utils'; -import config from '../../config'; - -// First clear the build output dir. -exec(`rimraf ${pathResolve(appRootDir.get(), config.buildOutputPath)}`); - -// Get our "fixed" bundle names -Object.keys(config.bundles) -// And the "additional" bundle names -.concat(Object.keys(config.additionalNodeBundles)) -// And then build them all. -.forEach((bundleName) => { - const compiler = webpack( - webpackConfigFactory({ target: bundleName, mode: 'production' }), - ); - compiler.run((err, stats) => { - if (err) { - console.error(err); - return; - } - console.log(stats.toString({ colors: true })); - }); -}); diff --git a/tools/scripts/clean.js b/tools/scripts/clean.js deleted file mode 100644 index 912d453f..00000000 --- a/tools/scripts/clean.js +++ /dev/null @@ -1,12 +0,0 @@ -/* @flow */ - -// This script removes any exisitng build output. - -import { resolve as pathResolve } from 'path'; -import appRootDir from 'app-root-dir'; -import { exec } from '../utils'; -import config from '../../config'; - -const cmd = `$(npm bin)/rimraf ${pathResolve(appRootDir.get(), config.buildOutputPath)}`; - -exec(cmd); diff --git a/tools/scripts/flow.js b/tools/scripts/flow.js deleted file mode 100644 index cc4f4172..00000000 --- a/tools/scripts/flow.js +++ /dev/null @@ -1,22 +0,0 @@ -/* @flow */ - -// Runs flow type checking. - -import { existsSync } from 'fs'; -import { resolve as resolvePath } from 'path'; -import appRootDir from 'app-root-dir'; -import { exec, log } from '../utils'; - -if (!existsSync(resolvePath(appRootDir.get(), './flow-typed'))) { - log({ - title: 'flow', - level: 'warn', - message: 'You haven\'t installed the flow-typed definitions. Please run the `npm run flow:defs` command if you would like to install them.', - }); -} - -try { - exec('flow'); -} catch (err) { - // Flow will print any errors. -} diff --git a/tools/types.js b/tools/types.js deleted file mode 100644 index 1e91e38f..00000000 --- a/tools/types.js +++ /dev/null @@ -1,4 +0,0 @@ -export type BuildOptions = { - target: 'server'|'client'|string, - mode: 'development'|'production', -}; diff --git a/tools/utils.js b/tools/utils.js deleted file mode 100644 index 6fcabce9..00000000 --- a/tools/utils.js +++ /dev/null @@ -1,123 +0,0 @@ -/* @flow */ - -import HappyPack from 'happypack'; -import notifier from 'node-notifier'; -import colors from 'colors/safe'; -import { execSync } from 'child_process'; -import appRootDir from 'app-root-dir'; - -type HappyPackLoaderConfig = { - path: string, - query?: Object, -}; - -type HappyPackConfig = { - name: string, - loaders: Array, -}; - -// Generates a HappyPack plugin. -// @see https://github.com/amireh/happypack/ -export function happyPackPlugin({ name, loaders } : HappyPackConfig) { - return new HappyPack({ - id: name, - verbose: false, - threads: 5, - loaders, - }); -} - -// Removes the empty items from the given array. -export function removeEmpty(x : Array) : Array { - return x.filter(y => y != null); -} - -// This is a higher order function that accepts a boolean condition and will -// return a function allowing you to provide if/else values that should be -// resolved based on the boolean condition. -// -// That sounds complicated, but it isn't really. See the examples below. :) -// -// For example, say that we have a "isDev" boolean flag had a value of `true`, -// and we would like to create a webpack loader based on this value being true. -// Then when we used this function like so: -// const ifDev = ifElse(isDev); -// ifDev('foo'); // => 'foo' -// -// You can also set an "else" value. In the below case the "isDev" flag is false. -// const ifDev = ifElse(isDev); -// ifDev('foo', 'bar'); // => 'bar' -// -// The "else" value is optional, in which case a null value would be returned. -// -// This is really handy for doing inline value resolution within or webpack -// configuration. Then we simply use one of our other utility functions (e.g. -// removeEmpty) to remove all the nulls from our objects/arrays. -// -// As an additional feature: if you pass a function as the "then"/"or" value -// then this function will only be interpretted after the ifElse has run. This -// can be handy for values that require some complex initialization process. -// e.g. ifDev(() => 'lazy', 'not lazy'); -export function ifElse(condition : boolean) { - // TODO: Allow the then/or to accept a function for lazy value resolving. - return function ifElseResolver(then : X, or : Y) : X|Y { - const execIfFuc = x => (typeof x === 'function' ? x() : x); - return condition ? execIfFuc(then) : (or); - }; -} - -// Merges a set of objects together. -// NOTE: This performs a deep merge. -export function merge(...args : Array) { - const filtered : Array = removeEmpty(args); - if (filtered.length < 1) { - return {}; - } - if (filtered.length === 1) { - return args[0]; - } - return filtered.reduce((acc, cur) => { - Object.keys(cur).forEach((key) => { - if (typeof acc[key] === 'object' && typeof cur[key] === 'object') { - // eslint-disable-next-line no-param-reassign - acc[key] = merge(acc[key], cur[key]); - } else { - // eslint-disable-next-line no-param-reassign - acc[key] = cur[key]; - } - }); - return acc; - }, {}); -} - -type NotificationOptions = { - title: string, - message: string, - notify?: boolean, - level?: 'info'|'warn'|'error' -}; - -export function log(options : NotificationOptions) { - const title = `${options.title.toUpperCase()}`; - - if (options.notify) { - notifier.notify({ - title, - message: options.message, - }); - } - - const level = options.level || 'info'; - const msg = `==> ${title} -> ${options.message}`; - - switch (level) { - case 'warn': console.log(colors.yellow(msg)); break; - case 'error': console.log(colors.bgRed.white(msg)); break; - case 'info': - default: console.log(colors.green(msg)); - } -} - -export function exec(command : string) { - execSync(command, { stdio: 'inherit', cwd: appRootDir.get() }); -} diff --git a/tools/webpack/client.config.babel.js b/tools/webpack/client.config.babel.js deleted file mode 100644 index 4c5b7a2f..00000000 --- a/tools/webpack/client.config.babel.js +++ /dev/null @@ -1,11 +0,0 @@ -/* @flow */ - -import webpackConfigFactory from './configFactory'; - -type Options = { mode?: 'production'|'development' }; - -export default function clientConfigFactory(options : Options = {}) { - const { mode = 'development' } = options; - - return webpackConfigFactory({ target: 'client', mode }); -} diff --git a/tools/webpack/configFactory.js b/tools/webpack/configFactory.js deleted file mode 100644 index a8148bfb..00000000 --- a/tools/webpack/configFactory.js +++ /dev/null @@ -1,640 +0,0 @@ -/* @flow */ - -import path from 'path'; -import { sync as globSync } from 'glob'; -import webpack from 'webpack'; -import OfflinePlugin from 'offline-plugin'; -import AssetsPlugin from 'assets-webpack-plugin'; -import nodeExternals from 'webpack-node-externals'; -import ExtractTextPlugin from 'extract-text-webpack-plugin'; -import HtmlWebpackPlugin from 'html-webpack-plugin'; -import appRootDir from 'app-root-dir'; -import WebpackMd5Hash from 'webpack-md5-hash'; -import CodeSplitPlugin from 'code-split-component/webpack'; -import { removeEmpty, ifElse, merge, happyPackPlugin } from '../utils'; -import config, { clientConfig } from '../../config'; -import type { BuildOptions } from '../types'; - -/** - * This function is responsible for creating the webpack configuration for - * all of our bundles. - * - * It has been configured to support one "client/web" bundle, and any number of - * additional "node" bundles (i.e. our "server"). You can define additional - * node bundles by editing the config/project.js file. - * - * This factory does not and will not support building multiple web target - * bundles. We expect there to be only one web client representing the full - * server side rendered single page application. Code splitting negates any - * need for you to create multiple web bundles. Therefore we are avoiding this - * level of abstraction to keep the config factory as simple as possible. - */ -export default function webpackConfigFactory(buildOptions: BuildOptions) { - const { target, mode } = buildOptions; - console.log(`==> Creating webpack config for "${target}" in "${mode}" mode`); - - const isDev = mode === 'development'; - const isProd = mode === 'production'; - const isClient = target === 'client'; - const isServer = target === 'server'; - const isNode = !isClient; // Any bundle but the client bundle must target node. - - // Preconfigure some ifElse helper instnaces. See the util docs for more - // information on how this util works. - const ifDev = ifElse(isDev); - const ifProd = ifElse(isProd); - const ifNode = ifElse(isNode); - const ifClient = ifElse(isClient); - const ifDevClient = ifElse(isDev && isClient); - const ifProdClient = ifElse(isProd && isClient); - - // Resolve the bundle configuration. - const bundleConfig = isServer || isClient - // This is either our "server" or "client" bundle. - ? config.bundles[target] - // Otherwise it must be an additional node bundle. - : config.additionalNodeBundles[target]; - - if (!bundleConfig) { - throw new Error('No bundle configuration exists for target:', target); - } - - const webpackConfig = { - target: isClient - // Only our client bundle will target the web as a runtime. - ? 'web' - // Any other bundle (including the server) will target node as a runtime. - : 'node', - - // Ensure that webpack polyfills the following node features for use - // within any bundles that are targetting node as a runtime. This will be - // ignored otherwise. - node: { - __dirname: true, - __filename: true, - }, - - // We don't want our node_modules to be bundled with any bundle that is - // targetting the node environment, prefering them to be resolved via - // native node module system. - // Therefore we use the `webpack-node-externals` library to help us generate - // an externals config that will ignore all node_modules. - externals: removeEmpty([ - ifNode( - () => nodeExternals( - // Some of our node_modules may contain files that depend on webpack - // loaders, e.g. CSS or SASS. - // For these cases please make sure that the file extensions are - // registered within the following configuration setting. - { whitelist: - // We always want the source-map-support excluded. - ['source-map-support/register'].concat( - // Then exclude any items specified in the config. - config.nodeBundlesIncludeNodeModuleFileTypes || [], - ), - }, - ), - ), - ]), - - // Source map settings. - devtool: ifElse( - // Include source maps for ANY node bundle so that we can support - // nice stack traces for errors (the source maps get consumed by - // the `node-source-map-support` module to allow for this). - isNode - // Always include source maps for any development build. - || isDev - // Allow for the following flag to force source maps even for production - // builds. - || config.includeSourceMapsForProductionBuilds, - )( - // Produces an external source map (lives next to bundle output files). - 'source-map', - // Produces no source map. - 'hidden-source-map', - ), - - // Performance budget feature. - // This enables checking of the output bundle size, which will result in - // warnings/errors if the bundle sizes are too large. - // We only want this enabled for our production client. Please - // see the webpack docs on how you can configure this to your own needs: - // https://webpack.js.org/configuration/performance/ - performance: ifProdClient( - // Enable webpack's performance hints for production client builds. - { hints: 'warning' }, - // Else we have to set a value of "false" if we don't want the feature. - false, - ), - - // Define our entry chunks for our bundle. - entry: { - // We name our entry files "index" as it makes it easier for us to - // target specific bundle output files as each bundle output will get - // an output path similar to: - // ./build/server/index.js - // This makes importing of the output module as simple as: - // import server from './build/server'; - index: removeEmpty([ - // This grants us source map support, which combined with our webpack - // source maps will give us nice stack traces for our node executed - // bundles. - ifNode('source-map-support/register'), - // Required to support hot reloading of our client. - ifDevClient('react-hot-loader/patch'), - // Required to support hot reloading of our client. - ifDevClient(() => `webpack-hot-middleware/client?reload=true&path=http://${config.host}:${config.clientDevServerPort}/__webpack_hmr`), - // We are using polyfill.io instead of the very heavy babel-polyfill. - // Therefore we need to add the regenerator-runtime as the babel-polyfill - // included this, which polyfill.io doesn't include. - ifClient('regenerator-runtime/runtime'), - // The source entry file for the bundle. - path.resolve(appRootDir.get(), bundleConfig.srcEntryFile), - ]), - }, - - // Bundle output configuration. - output: merge( - { - // The dir in which our bundle should be output. - path: path.resolve(appRootDir.get(), bundleConfig.outputPath), - // The filename format for our bundle's entries. - filename: ifProdClient( - // For our production client bundles we include a hash in the filename. - // That way we won't hit any browser caching issues when our bundle - // output changes. - // Note: as we are using the WebpackMd5Hash plugin, the hashes will - // only change when the file contents change. This means we can - // set very aggressive caching strategies on our bundle output. - '[name]-[chunkhash].js', - // For any other bundle (typically a server/node) bundle we want a - // determinable output name to allow for easier importing/execution - // of the bundle by our scripts. - '[name].js', - ), - // The name format for any additional chunks produced for the bundle. - chunkFilename: '[name]-[chunkhash].js', - // When in node mode we will output our bundle as a commonjs2 module. - libraryTarget: ifNode('commonjs2', 'var'), - }, - // This is the web path under which our webpack bundled client should - // be considered as being served from. - // We only need to set this for our server/client bundles as the server - // bundle is the application that serves the client bundle. - ifElse(isServer || isClient)(() => ({ - publicPath: ifDev( - // As we run a seperate development server for our client and server - // bundles we need to use an absolute http path for the public path. - `http://${config.host}:${config.clientDevServerPort}${config.bundles.client.webPath}`, - // Otherwise we expect our bundled client to be served from this path. - bundleConfig.webPath, - ), - })), - ), - - resolve: { - // These extensions are tried when resolving a file. - extensions: config.bundleSrcTypes.map(ext => `.${ext}`), - }, - - plugins: removeEmpty([ - // Required support for code-split-component, which provides us with our - // code splitting functionality. - // - // The code-split-component doesn't work nicely with React Hot Loader, - // which we use in our development builds, so we will disable it (which - // causes synchronous loading behaviour for the CodeSplit instances). - ifProd(() => new CodeSplitPlugin()), - - // We use this so that our generated [chunkhash]'s are only different if - // the content for our respective chunks have changed. This optimises - // our long term browser caching strategy for our client bundle, avoiding - // cases where browsers end up having to download all the client chunks - // even though 1 or 2 may have only changed. - ifClient(() => new WebpackMd5Hash()), - - // The DefinePlugin is used by webpack to substitute any patterns that it - // finds within the code with the respective value assigned below. - // - // For example you may have the following in your code: - // if (process.env.NODE_ENV === 'development') { - // console.log('Foo'); - // } - // - // If we assign the NODE_ENV variable in the DefinePlugin below a value - // of 'production' webpack will replace your code with the following: - // if ('production' === 'development') { - // console.log('Foo'); - // } - // - // This is very useful as we are compiling/bundling our code and we would - // like our environment variables to persist within the code. - // - // At the same time please be careful with what environment variables you - // use in each respective bundle. For example, don't accidentally - // expose a database connection string within your client bundle src! - new webpack.DefinePlugin({ - // Adding the NODE_ENV key is especially important as React relies - // on it to optimize production builds. - 'process.env.NODE_ENV': JSON.stringify(mode), - // Is this the "client" bundle? - 'process.env.IS_CLIENT': JSON.stringify(isClient), - // Is this the "server" bundle? - 'process.env.IS_SERVER': JSON.stringify(isServer), - // Is this a node bundle? - 'process.env.IS_NODE': JSON.stringify(isNode), - }), - - // Generates a JSON file containing a map of all the output files for - // our webpack bundle. A necessisty for our server rendering process - // as we need to interogate these files in order to know what JS/CSS - // we need to inject into our HTML. We only need to know the assets for - // our client bundle. - ifClient(() => - new AssetsPlugin({ - filename: config.bundleAssetsFileName, - path: path.resolve(appRootDir.get(), bundleConfig.outputPath), - }), - ), - - // We don't want webpack errors to occur during development as it will - // kill our dev servers. - ifDev(() => new webpack.NoErrorsPlugin()), - - // We need this plugin to enable hot reloading of our client. - ifDevClient(() => new webpack.HotModuleReplacementPlugin()), - - // For our production client we need to make sure we pass the required - // configuration to ensure that the output is minimized/optimized. - ifProdClient( - () => new webpack.LoaderOptionsPlugin({ - minimize: config.optimizeProductionBuilds, - }), - ), - - // For our production client we need to make sure we pass the required - // configuration to ensure that the output is minimized/optimized. - ifProdClient( - ifElse(config.optimizeProductionBuilds)( - () => new webpack.optimize.UglifyJsPlugin({ - sourceMap: config.includeSourceMapsForProductionBuilds, - compress: { - screw_ie8: true, - warnings: false, - }, - mangle: { - screw_ie8: true, - }, - output: { - comments: false, - screw_ie8: true, - }, - }), - ), - ), - - // For the production build of the client we need to extract the CSS into - // CSS files. - ifProdClient( - () => new ExtractTextPlugin({ - filename: '[name]-[chunkhash].css', allChunks: true, - }), - ), - - // ----------------------------------------------------------------------- - // START: HAPPY PACK PLUGINS - // - // @see https://github.com/amireh/happypack/ - // - // HappyPack allows us to use threads to execute our loaders. This means - // that we can get parallel execution of our loaders, significantly - // improving build and recompile times. - // - // This may not be an issue for you whilst your project is small, but - // the compile times can be signficant when the project scales. A lengthy - // compile time can significantly impare your development experience. - // Therefore we employ HappyPack to do threaded execution of our - // "heavy-weight" loaders. - - // HappyPack 'javascript' instance. - happyPackPlugin({ - name: 'happypack-javascript', - // We will use babel to do all our JS processing. - loaders: [{ - path: 'babel-loader', - // We will create a babel config and pass it through the plugin - // defined in the project configuration, allowing additional - // items to be added. - query: config.plugins.babelConfig( - // Our "standard" babel config. - { - // We need to ensure that we do this otherwise the babelrc will - // get interpretted and for the current configuration this will mean - // that it will kill our webpack treeshaking feature as the modules - // transpilation has not been disabled within in. - babelrc: false, - - presets: [ - // JSX - 'react', - // Stage 3 javascript syntax. - // "Candidate: complete spec and initial browser implementations." - // Add anything lower than stage 3 at your own risk. :) - 'stage-3', - // For our client bundles we transpile all the latest ratified - // ES201X code into ES5, safe for browsers. We exclude module - // transilation as webpack takes care of this for us, doing - // tree shaking in the process. - ifClient(['latest', { es2015: { modules: false } }]), - // For a node bundle we use the awesome babel-preset-env which - // acts like babel-preset-latest in that it supports the latest - // ratified ES201X syntax, however, it will only transpile what - // is necessary for a target environment. We have configured it - // to target our current node version. This is cool because - // recent node versions have extensive support for ES201X syntax. - // Also, we have disabled modules transpilation as webpack will - // take care of that for us ensuring tree shaking takes place. - // NOTE: Make sure you use the same node version for development - // and production. - ifNode(['env', { targets: { node: true }, modules: false }]), - ].filter(x => x != null), - - plugins: [ - // Required to support react hot loader. - ifDevClient('react-hot-loader/babel'), - // This decorates our components with __self prop to JSX elements, - // which React will use to generate some runtime warnings. - ifDev('transform-react-jsx-self'), - // Adding this will give us the path to our components in the - // react dev tools. - ifDev('transform-react-jsx-source'), - // The following plugin supports the code-split-component - // instances, taking care of all the heavy boilerplate that we - // would have had to do ourselves to get code splitting w/SSR - // support working. - // @see https://github.com/ctrlplusb/code-split-component - // - // We only include it in production as this library does not support - // React Hot Loader, which we use in development. - ifElse(isProd && (isServer || isClient))( - [ - 'code-split-component/babel', - { - // For our server bundle we will set the mode as being 'server' - // which will ensure that our code split components can be - // resolved synchronously, being much more helpful for - // pre-rendering. - mode: target, - }, - ], - ), - ].filter(x => x != null), - }, - buildOptions, - ), - }], - }), - - // HappyPack 'css' instance for development client. - ifDevClient( - () => happyPackPlugin({ - name: 'happypack-devclient-css', - loaders: [ - 'style-loader', - { - path: 'css-loader', - // Include sourcemaps for dev experience++. - query: { sourceMap: true }, - }, - ], - }), - ), - - // END: HAPPY PACK PLUGINS - // ----------------------------------------------------------------------- - - // Service Worker - Offline Page generation. - // - // We use the HtmlWebpackPlugin to produce an "offline" html page that - // can be used by our service worker (see the OfflinePlugin below) in - // order support offline rendering of our application. - ifProdClient( - // We will only create the service worker required page if enabled in config. - ifElse(config.serviceWorker.enabled)( - () => new HtmlWebpackPlugin({ - filename: config.serviceWorker.offlinePageFileName, - template: path.resolve( - appRootDir.get(), config.serviceWorker.offlinePageTemplate, - ), - minify: { - removeComments: true, - collapseWhitespace: true, - removeRedundantAttributes: true, - useShortDoctype: true, - removeEmptyAttributes: true, - removeStyleLinkTypeAttributes: true, - keepClosingSlash: true, - minifyJS: true, - minifyCSS: true, - minifyURLs: true, - }, - inject: true, - // We pass our config objects as values as they will be needed - // by the template. - custom: { - config, - clientConfig, - }, - }), - ), - ), - - // Service Worker - generation. - // - // NOTE: It is HIGHLY recommended to keep this plugin as the last item - // within the list as it needs to be aware of all possible manipulations - // that may have be done to assets by the previous plugins. This is an - // offical request/recommendation by the plugin author. - // - // This is bound to our server/client bundles as we only expect to be - // serving the client bundle as a Single Page Application through the - // server. - // - // We use the offline-plugin to generate the service worker. It also - // provides a runtime installation script which gets executed within - // the client. - // @see https://github.com/NekR/offline-plugin - // - // This plugin generates a service worker script which as configured below - // will precache all our generated client bundle assets as well as our - // static "public" folder assets. - // - // It has also been configured to make use of a HtmlWebpackPlugin - // generated "offline" page so that users can still used the application - // offline. - // - // Any time our static files or generated bundle files change the user's - // cache will be updated. - ifProdClient( - // We will only include the service worker if enabled in config. - ifElse(config.serviceWorker.enabled)( - () => new OfflinePlugin({ - // Setting this value lets the plugin know where our generated client - // assets will be served from. - // e.g. /client/ - publicPath: bundleConfig.webPath, - // When using the publicPath we need to disable the "relativePaths" - // feature of this plugin. - relativePaths: false, - // Our offline support will be done via a service worker. - // Read more on them here: - // http://bit.ly/2f8q7Td - ServiceWorker: { - // The name of the service worker script that will get generated. - output: config.serviceWorker.fileName, - // Enable events so that we can register updates. - events: true, - // By default the service worker will be ouput and served from the - // publicPath setting above in the root config of the OfflinePlugin. - // This means that it would be served from /client/sw.js - // We do not want this! Service workers have to be served from the - // root of our application in order for them to work correctly. - // Therefore we override the publicPath here. The sw.js will still - // live in at the /build/client/sw.js output location therefore in - // our server configuration we need to make sure that any requests - // to /sw.js will serve the /build/client/sw.js file. - publicPath: `/${config.serviceWorker.fileName}`, - // When the user is offline then this html page will be used at - // the base that loads all our cached client scripts. This page - // is generated by the HtmlWebpackPlugin above, which takes care - // of injecting all of our client scripts into the body. - // Please see the HtmlWebpackPlugin configuration above for more - // information on this page. - navigateFallbackURL: `${bundleConfig.webPath}${config.serviceWorker.offlinePageFileName}`, - }, - // According to the Mozilla docs, AppCache is considered deprecated. - // @see https://mzl.la/1pOZ5wF - // It does however have much wider support compared to the newer - // Service Worker specification, so you could consider enabling it - // if you needed. - AppCache: false, - // Which external files should be included with the service worker? - externals: - // Add the polyfill io script as an external if it is enabled. - ( - config.polyfillIO.enabled - ? [config.polyfillIO.url] - : [] - ) - // Add any included public folder assets. - .concat( - config.serviceWorker.includePublicAssets.reduce((acc, cur) => { - const publicAssetPathGlob = path.resolve( - appRootDir.get(), config.publicAssetsPath, cur, - ); - const publicFileWebPaths = acc.concat( - // First get all the matching public folder assets. - globSync(publicAssetPathGlob) - // Then map them to relative paths against the public folder. - // We need to do this as we need the "web" paths for each one. - .map(publicFile => path.relative( - path.resolve(appRootDir.get(), config.publicAssetsPath), - publicFile, - )) - // Add the leading "/" indicating the file is being hosted - // off the root of the application. - .map(relativePath => `/${relativePath}`), - ); - return publicFileWebPaths; - }, []), - ), - }), - ), - ), - ]), - module: { - rules: removeEmpty([ - // JAVASCRIPT - { - test: /\.jsx?$/, - // We will defer all our js processing to the happypack plugin - // named "happypack-javascript". - // See the respective plugin within the plugins section for full - // details on what loader is being implemented. - loader: 'happypack/loader?id=happypack-javascript', - include: removeEmpty([ - ...bundleConfig.srcPaths.map(srcPath => - path.resolve(appRootDir.get(), srcPath), - ), - ifProdClient(path.resolve(appRootDir.get(), 'src/html')), - ]), - }, - - // CSS - // This is bound to our server/client bundles as we only expect to be - // serving the client bundle as a Single Page Application through the - // server. - ifElse(isClient || isServer)( - merge( - { - test: /\.css$/, - }, - // For development clients we will defer all our css processing to the - // happypack plugin named "happypack-devclient-css". - // See the respective plugin within the plugins section for full - // details on what loader is being implemented. - ifDevClient({ - loaders: ['happypack/loader?id=happypack-devclient-css'], - }), - // For a production client build we use the ExtractTextPlugin which - // will extract our CSS into CSS files. We don't use happypack here - // as there are some edge cases where it fails when used within - // an ExtractTextPlugin instance. - // Note: The ExtractTextPlugin needs to be registered within the - // plugins section too. - ifProdClient(() => ({ - loader: ExtractTextPlugin.extract({ - fallbackLoader: 'style-loader', - loader: ['css-loader'], - }), - })), - // When targetting the server we use the "/locals" version of the - // css loader, as we don't need any css files for the server. - ifNode({ - loaders: ['css-loader/locals'], - }), - ), - ), - - // ASSETS (Images/Fonts/etc) - // This is bound to our server/client bundles as we only expect to be - // serving the client bundle as a Single Page Application through the - // server. - ifElse(isClient || isServer)(() => ({ - test: new RegExp(`\\.(${config.bundleAssetTypes.join('|')})$`, 'i'), - loader: 'file-loader', - query: { - // What is the web path that the client bundle will be served from? - // The same value has to be used for both the client and the - // server bundles in order to ensure that SSR paths match the - // paths used on the client. - publicPath: isDev - // When running in dev mode the client bundle runs on a - // seperate port so we need to put an absolute path here. - ? `http://${config.host}:${config.clientDevServerPort}${config.bundles.client.webPath}` - // Otherwise we just use the configured web path for the client. - : config.bundles.client.webPath, - // We only emit files when building a web bundle, for the server - // bundle we only care about the file loader being able to create - // the correct asset URLs. - emitFile: isClient, - }, - })), - ]), - }, - }; - - // Apply the configuration middleware. - return config.plugins.webpackConfig(webpackConfig, buildOptions); -} diff --git a/tools/webpack/offlinePage/generate.js b/tools/webpack/offlinePage/generate.js deleted file mode 100644 index abe9a87e..00000000 --- a/tools/webpack/offlinePage/generate.js +++ /dev/null @@ -1,64 +0,0 @@ -/* @flow */ - -// This is used by the HtmlWebpackPlugin to generate an html page that we will -// use as a fallback for our service worker when the user is offline. It will -// embed all the required asset paths needed to bootstrap the application -// in an offline session. -// -// You must keep this in sync in terms of structure etc with the output generated -// by the reactApplication middleware. -// @see src/server/middleware/reactApplication/generateHTML.js - -import serialize from 'serialize-javascript'; - -const htmlAttributes = attrs => Object.keys(attrs) - .map(attrName => `${attrName}="${attrs[attrName]}"`) - .join(' '); - -const metaTags = metas => - metas.map(metaItem => ``).join(' '); - -const linkTags = links => - links.map(linkItem => ``).join(' '); - -const scriptTags = scripts => - scripts - .map(scriptItem => ``) - .join(' '); - -const scriptTag = url => ``; - -// $FlowFixMe - flow annotations don't work here :( -export default function generate(templateParams) { - const { config, clientConfig } = templateParams.htmlWebpackPlugin.options.custom; - - return ` - - - - ${config.htmlPage.defaultTitle} - ${metaTags(config.htmlPage.meta)} - ${linkTags(config.htmlPage.links)} - - -
- - ${ - // Enable the polyfill io script? - // This can't be configured within a react-helmet component as we - // may need the polyfill's before our client bundle gets parsed. - config.polyfillIO.enabled - ? scriptTag(config.polyfillIO.url) - : '' - } - ${scriptTags(config.htmlPage.scripts)} - - `; -} diff --git a/tools/webpack/offlinePage/index.js b/tools/webpack/offlinePage/index.js deleted file mode 100644 index 3663eebb..00000000 --- a/tools/webpack/offlinePage/index.js +++ /dev/null @@ -1,7 +0,0 @@ -// We create this wrapper because the HtmlWebpackPlugin doesn't pass the given -// template through the babel-loader first. Therefore we use babel-register and -// in this way we can use the same JS syntax in our generateTemplate script -// as we use everywhere else. This also allows the script to safely import and -// use any of our other existing scripts. -require('babel-register'); -module.exports = require('./generate').default; diff --git a/tools/webpack/server.config.babel.js b/tools/webpack/server.config.babel.js deleted file mode 100644 index 9af876ac..00000000 --- a/tools/webpack/server.config.babel.js +++ /dev/null @@ -1,10 +0,0 @@ -/* @flow */ - -import webpackConfigFactory from './configFactory'; - -type Options = { mode?: 'production'|'development' }; - -export default function serverConfigFactory(options : Options = {}) { - const { mode = 'development' } = options; - return webpackConfigFactory({ target: 'server', mode }); -} diff --git a/yarn.lock b/yarn.lock index 6b6dd913..da24e2b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,13 @@ # yarn lockfile v1 -abab@^1.0.0: +abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" abbrev@1: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + version "1.1.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" accepts@~1.3.3: version "1.3.3" @@ -18,42 +18,42 @@ accepts@~1.3.3: negotiator "0.6.1" acorn-dynamic-import@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz#23f671eb6e650dab277fef477c321b1178a8cca2" + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" dependencies: acorn "^4.0.3" -acorn-globals@^1.0.4: - version "1.0.9" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" +acorn-globals@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" dependencies: - acorn "^2.1.0" + acorn "^4.0.4" -acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: +acorn-jsx@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" dependencies: acorn "^3.0.4" -acorn@^2.1.0, acorn@^2.4.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" - acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.1, acorn@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" +acorn@^4.0.3, acorn@^4.0.4: + version "4.0.11" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" -ajv-keywords@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.0.tgz#c11e6859eafff83e0dafc416929472eca946aa2c" +acorn@^5.0.0, acorn@^5.0.1, acorn@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" + +ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" -ajv@^4.7.0: - version "4.10.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.10.4.tgz#c0974dd00b3464984892d6010aa9c2c945933254" +ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -74,25 +74,27 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: +ansi-escapes@^1.0.0, ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-html@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.6.tgz#bda8e33dd2ee1c20f54c08eb405713cbfc0ed80e" +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" ansi-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansicolors@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" +ansi-styles@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1" + dependencies: + color-convert "^1.0.0" anymatch@^1.3.0: version "1.3.0" @@ -105,20 +107,26 @@ app-root-dir@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118" -append-transform@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.3.0.tgz#d6933ce4a85f09445d9ccc4cc119051b7381a813" +app-root-path@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" + +append-transform@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + dependencies: + default-require-extensions "^1.0.0" aproba@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + version "1.1.1" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" are-we-there-yet@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" dependencies: delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" + readable-stream "^2.0.6" argparse@^1.0.7: version "1.0.9" @@ -126,6 +134,19 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@~0.1.15: + version "0.1.16" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" + dependencies: + underscore "~1.7.0" + underscore.string "~2.4.0" + +aria-query@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.3.0.tgz#cb8a9984e2862711c83c80ade5b8f5ca0de2b467" + dependencies: + ast-types-flow "0.0.7" + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -133,8 +154,8 @@ arr-diff@^2.0.0: arr-flatten "^1.0.1" arr-flatten@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + version "1.0.3" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" array-equal@^1.0.0: version "1.0.0" @@ -158,19 +179,12 @@ array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" -array.prototype.find@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.0.tgz#56a9ab1edde2a7701ed6d9166acec338919d8430" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - array.prototype.find@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.1.tgz#1557f888df6c57e4d1256f20852d687a25b51fde" + version "2.0.4" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90" dependencies: define-properties "^1.1.2" - es-abstract "^1.5.0" + es-abstract "^1.7.0" arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" @@ -192,23 +206,23 @@ asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" dependencies: util "0.10.3" -assets-webpack-plugin@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/assets-webpack-plugin/-/assets-webpack-plugin-3.5.0.tgz#933b16bf679c7510dd3475e4df9ba495d9dc0368" +assets-webpack-plugin@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/assets-webpack-plugin/-/assets-webpack-plugin-3.5.1.tgz#931ce0d66d42e88ed5e7f18d65522943c57a387d" dependencies: camelcase "^1.2.1" escape-string-regexp "^1.0.3" @@ -216,41 +230,45 @@ assets-webpack-plugin@3.5.0: lodash.merge "^3.3.2" mkdirp "^0.5.1" +ast-types-flow@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + +ast-types@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.8.tgz#6cb6a40beba31f49f20928e28439fc14a3dab078" + async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@1.5.0: +async@1.5.0, async@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/async/-/async-1.5.0.tgz#2796642723573859565633fc6274444bee2f8ce3" -async@^1.4.0, async@^1.4.2, async@^1.5.0: - 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.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" + version "2.3.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" dependencies: lodash "^4.14.0" -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" +autolinker@~0.15.0: + version "0.15.3" + resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.15.3.tgz#342417d8f2f3461b14cf09088d5edf8791dc9832" + autoprefixer@^6.3.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.6.1.tgz#11a4077abb4b313253ec2f6e1adb91ad84253519" + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" dependencies: - browserslist "~1.5.1" - caniuse-db "^1.0.30000604" + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^5.2.8" + postcss "^5.2.16" postcss-value-parser "^3.2.3" aws-sign2@~0.6.0: @@ -258,27 +276,27 @@ aws-sign2@~0.6.0: resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" aws4@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -axios@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.15.3.tgz#2c9d638b2e191a08ea1d6cc988eadd6ba5bdc053" +axios@0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.16.1.tgz#c0b6d26600842384b8f509e57111f0d2df8223ca" dependencies: - follow-redirects "1.0.0" + follow-redirects "^1.2.3" -babel-cli@6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.18.0.tgz#92117f341add9dead90f6fa7d0a97c0cc08ec186" +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.18.0" - babel-polyfill "^6.16.0" - babel-register "^6.18.0" - babel-runtime "^6.9.0" + babel-core "^6.24.1" + babel-polyfill "^6.23.0" + babel-register "^6.24.1" + babel-runtime "^6.22.0" commander "^2.8.1" convert-source-map "^1.1.0" fs-readdir-recursive "^1.0.0" - glob "^5.0.5" + glob "^7.0.0" lodash "^4.2.0" output-file-sync "^1.1.0" path-is-absolute "^1.0.0" @@ -286,29 +304,29 @@ babel-cli@6.18.0: source-map "^0.5.0" v8flags "^2.0.10" optionalDependencies: - chokidar "^1.0.0" + chokidar "^1.6.1" -babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26" +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: chalk "^1.1.0" esutils "^2.0.2" - js-tokens "^2.0.0" - -babel-core@6.21.0, babel-core@^6.0.0, babel-core@^6.18.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" - dependencies: - babel-code-frame "^6.20.0" - babel-generator "^6.21.0" - babel-helpers "^6.16.0" - babel-messages "^6.8.0" - babel-register "^6.18.0" - babel-runtime "^6.20.0" - babel-template "^6.16.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" + js-tokens "^3.0.0" + +babel-core@6.24.1, babel-core@^6.0.0, babel-core@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.24.1" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" babylon "^6.11.0" convert-source-map "^1.1.0" debug "^2.1.1" @@ -320,179 +338,177 @@ babel-core@6.21.0, babel-core@^6.0.0, babel-core@^6.18.0: slash "^1.0.0" source-map "^0.5.0" -babel-eslint@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2" +babel-eslint@7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.2.tgz#0da2cbe6554fd0fb069f19674f2db2f9c59270ff" dependencies: - babel-code-frame "^6.16.0" - babel-traverse "^6.15.0" - babel-types "^6.15.0" - babylon "^6.13.0" - lodash.pickby "^4.6.0" + babel-code-frame "^6.22.0" + babel-traverse "^6.23.1" + babel-types "^6.23.0" + babylon "^6.16.1" -babel-generator@^6.18.0, babel-generator@^6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.21.0.tgz#605f1269c489a1c75deeca7ea16d43d4656c8494" +babel-generator@^6.18.0, babel-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" dependencies: - babel-messages "^6.8.0" - babel-runtime "^6.20.0" - babel-types "^6.21.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" 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-builder-binary-assignment-operator-visitor@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" dependencies: - babel-helper-explode-assignable-expression "^6.18.0" - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-helper-builder-react-jsx@^6.8.0: - version "6.21.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.21.1.tgz#c4a24208655be9dc1cccf14d366da176f20645e4" +babel-helper-builder-react-jsx@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc" dependencies: - babel-runtime "^6.9.0" - babel-types "^6.21.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" esutils "^2.0.0" - lodash "^4.2.0" -babel-helper-call-delegate@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" +babel-helper-define-map@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" lodash "^4.2.0" -babel-helper-explode-assignable-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" dependencies: - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" dependencies: - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-get-function-arity@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-helper-hoist-variables@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-helper-optimise-call-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-helper-regex@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" +babel-helper-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" dependencies: - babel-runtime "^6.9.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" lodash "^4.2.0" -babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: - version "6.20.3" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz#9dd3b396f13e35ef63e538098500adc24c63c4e7" +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.20.0" - babel-template "^6.16.0" - babel-traverse "^6.20.0" - babel-types "^6.20.0" + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" dependencies: - babel-helper-optimise-call-expression "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-helpers@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" +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.0.0" - babel-template "^6.16.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" -babel-jest@18.0.0, babel-jest@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-18.0.0.tgz#17ebba8cb3285c906d859e8707e4e79795fb65e3" +babel-jest@19.0.0, babel-jest@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-19.0.0.tgz#59323ced99a3a84d359da219ca881074ffc6ce3f" dependencies: babel-core "^6.0.0" - babel-plugin-istanbul "^3.0.0" - babel-preset-jest "^18.0.0" + babel-plugin-istanbul "^4.0.0" + babel-preset-jest "^19.0.0" -babel-loader@6.2.10: - version "6.2.10" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.10.tgz#adefc2b242320cd5d15e65b31cea0e8b1b02d4b0" +babel-loader@6.4.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca" dependencies: find-cache-dir "^0.1.1" - loader-utils "^0.2.11" + loader-utils "^0.2.16" mkdirp "^0.5.1" object-assign "^4.0.1" -babel-messages@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-check-es2015-constants@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-istanbul@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-3.1.2.tgz#11d5abde18425ec24b5d648c7e0b5d25cd354a22" +babel-plugin-istanbul@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.1.tgz#c12de0fc6fe42adfb16be56f1ad11e4a9782eca9" dependencies: - find-up "^1.1.2" - istanbul-lib-instrument "^1.4.2" - object-assign "^4.1.0" - test-exclude "^3.3.0" + find-up "^2.1.0" + istanbul-lib-instrument "^1.6.2" + test-exclude "^4.0.3" -babel-plugin-jest-hoist@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-18.0.0.tgz#4150e70ecab560e6e7344adc849498072d34e12a" +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-syntax-async-functions@^6.8.0: version "6.13.0" @@ -506,7 +522,7 @@ babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" -babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.3.13: +babel-plugin-syntax-flow@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" @@ -518,439 +534,403 @@ babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" -babel-plugin-syntax-trailing-function-commas@^6.13.0, babel-plugin-syntax-trailing-function-commas@^6.3.13, babel-plugin-syntax-trailing-function-commas@^6.8.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.20.0.tgz#442835e19179f45b87e92d477d70b9f1f18b5c4f" +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" -babel-plugin-transform-async-generator-functions@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" dependencies: - babel-helper-remap-async-to-generator "^6.16.2" + babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-async-to-generator@^6.16.0, babel-plugin-transform-async-to-generator@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" +babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: - babel-helper-remap-async-to-generator "^6.16.0" + babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-arrow-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.18.0, babel-plugin-transform-es2015-block-scoping@^6.6.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz#e840687f922e70fb2c42bb13501838c174a115ed" +babel-plugin-transform-es2015-block-scoping@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" dependencies: - babel-runtime "^6.20.0" - babel-template "^6.15.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" lodash "^4.2.0" -babel-plugin-transform-es2015-classes@^6.18.0, babel-plugin-transform-es2015-classes@^6.6.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" - dependencies: - babel-helper-define-map "^6.18.0" - babel-helper-function-name "^6.18.0" - babel-helper-optimise-call-expression "^6.18.0" - babel-helper-replace-supers "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-template "^6.14.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" +babel-plugin-transform-es2015-classes@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: - babel-helper-define-map "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.18.0, babel-plugin-transform-es2015-destructuring@^6.6.0: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz#ff1d911c4b3f4cab621bd66702a869acd1900533" +babel-plugin-transform-es2015-destructuring@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: - babel-runtime "^6.9.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.18.0, babel-plugin-transform-es2015-for-of@^6.6.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" +babel-plugin-transform-es2015-for-of@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.3.13, babel-plugin-transform-es2015-function-name@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: - babel-helper-function-name "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.9.0" + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-literals@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-modules-amd@^6.18.0, babel-plugin-transform-es2015-modules-amd@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-es2015-modules-commonjs@^6.6.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" dependencies: - babel-plugin-transform-strict-mode "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-types "^6.18.0" + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" -babel-plugin-transform-es2015-modules-systemjs@^6.12.0, babel-plugin-transform-es2015-modules-systemjs@^6.18.0: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz#50438136eba74527efa00a5b0fefaf1dc4071da6" +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.11.6" - babel-template "^6.14.0" + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.12.0, babel-plugin-transform-es2015-modules-umd@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" +babel-plugin-transform-es2015-modules-umd@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: - babel-helper-replace-supers "^6.8.0" - babel-runtime "^6.0.0" + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.18.0, babel-plugin-transform-es2015-parameters@^6.6.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8" +babel-plugin-transform-es2015-parameters@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: - babel-helper-call-delegate "^6.18.0" - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.9.0" - babel-template "^6.16.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.18.0, babel-plugin-transform-es2015-shorthand-properties@^6.3.13: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-spread@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-plugin-transform-es2015-template-literals@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.18.0, babel-plugin-transform-es2015-typeof-symbol@^6.6.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.3.13: - version "6.11.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.3.13, babel-plugin-transform-exponentiation-operator@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" +babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-flow-strip-types@^6.3.13: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.21.0.tgz#2eea3f8b5bb234339b47283feac155cfb237b948" +babel-plugin-transform-flow-strip-types@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" dependencies: babel-plugin-syntax-flow "^6.18.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-object-rest-spread@^6.16.0: - version "6.20.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz#e816c55bba77b14c16365d87e2ae48c8fd18fc2e" +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.20.0" + babel-runtime "^6.22.0" -babel-plugin-transform-react-display-name@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e" +babel-plugin-transform-react-constant-elements@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz#2f119bf4d2cdd45eb9baaae574053c604f6147dd" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx-self@6.11.0, babel-plugin-transform-react-jsx-self@^6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz#605c9450c1429f97a930f7e1dfe3f0d9d0dbd0f4" +babel-plugin-transform-react-display-name@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz#4398910c358441dc4cef18787264d0412ed36b37" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-react-inline-elements@6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-inline-elements/-/babel-plugin-transform-react-inline-elements-6.22.0.tgz#6687211a32b49a52f22c573a2b5504a25ef17c53" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-react-jsx-self@6.22.0, babel-plugin-transform-react-jsx-self@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" dependencies: babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.9.0" + babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx-source@6.9.0, babel-plugin-transform-react-jsx-source@^6.3.13: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00" +babel-plugin-transform-react-jsx-source@6.22.0, babel-plugin-transform-react-jsx-source@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" dependencies: babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.9.0" + babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab" +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: - babel-helper-builder-react-jsx "^6.8.0" + babel-helper-builder-react-jsx "^6.24.1" babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.16.0, babel-plugin-transform-regenerator@^6.6.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz#75d0c7e7f84f379358f508451c68a2c5fa5a9703" +babel-plugin-transform-regenerator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" dependencies: - regenerator-transform "0.9.8" + regenerator-transform "0.9.11" -babel-plugin-transform-strict-mode@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" -babel-polyfill@6.20.0, babel-polyfill@^6.16.0, babel-polyfill@^6.6.1: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.20.0.tgz#de4a371006139e20990aac0be367d398331204e7" +babel-polyfill@6.23.0, babel-polyfill@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" dependencies: - babel-runtime "^6.20.0" + babel-runtime "^6.22.0" core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-preset-env@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.1.7.tgz#4ca8dd905056039c6788a0174bfac7b7bad89fbf" - dependencies: - babel-plugin-check-es2015-constants "^6.3.13" - babel-plugin-syntax-trailing-function-commas "^6.13.0" - babel-plugin-transform-async-to-generator "^6.8.0" - babel-plugin-transform-es2015-arrow-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoping "^6.6.0" - babel-plugin-transform-es2015-classes "^6.6.0" - babel-plugin-transform-es2015-computed-properties "^6.3.13" - babel-plugin-transform-es2015-destructuring "^6.6.0" - babel-plugin-transform-es2015-duplicate-keys "^6.6.0" - babel-plugin-transform-es2015-for-of "^6.6.0" - babel-plugin-transform-es2015-function-name "^6.3.13" - babel-plugin-transform-es2015-literals "^6.3.13" - babel-plugin-transform-es2015-modules-amd "^6.8.0" - babel-plugin-transform-es2015-modules-commonjs "^6.6.0" - babel-plugin-transform-es2015-modules-systemjs "^6.12.0" - babel-plugin-transform-es2015-modules-umd "^6.12.0" - babel-plugin-transform-es2015-object-super "^6.3.13" - babel-plugin-transform-es2015-parameters "^6.6.0" - babel-plugin-transform-es2015-shorthand-properties "^6.3.13" - babel-plugin-transform-es2015-spread "^6.3.13" - babel-plugin-transform-es2015-sticky-regex "^6.3.13" - babel-plugin-transform-es2015-template-literals "^6.6.0" - babel-plugin-transform-es2015-typeof-symbol "^6.6.0" - babel-plugin-transform-es2015-unicode-regex "^6.3.13" - babel-plugin-transform-exponentiation-operator "^6.8.0" - babel-plugin-transform-regenerator "^6.6.0" +babel-preset-env@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.4.0.tgz#c8e02a3bcc7792f23cded68e0355b9d4c28f0f7a" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" browserslist "^1.4.0" + invariant "^2.2.2" -babel-preset-es2015@^6.16.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" - dependencies: - babel-plugin-check-es2015-constants "^6.3.13" - babel-plugin-transform-es2015-arrow-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoping "^6.18.0" - babel-plugin-transform-es2015-classes "^6.18.0" - babel-plugin-transform-es2015-computed-properties "^6.3.13" - babel-plugin-transform-es2015-destructuring "^6.18.0" - babel-plugin-transform-es2015-duplicate-keys "^6.6.0" - babel-plugin-transform-es2015-for-of "^6.18.0" - babel-plugin-transform-es2015-function-name "^6.9.0" - babel-plugin-transform-es2015-literals "^6.3.13" - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-plugin-transform-es2015-modules-systemjs "^6.18.0" - babel-plugin-transform-es2015-modules-umd "^6.18.0" - babel-plugin-transform-es2015-object-super "^6.3.13" - babel-plugin-transform-es2015-parameters "^6.18.0" - babel-plugin-transform-es2015-shorthand-properties "^6.18.0" - babel-plugin-transform-es2015-spread "^6.3.13" - babel-plugin-transform-es2015-sticky-regex "^6.3.13" - babel-plugin-transform-es2015-template-literals "^6.6.0" - babel-plugin-transform-es2015-typeof-symbol "^6.18.0" - babel-plugin-transform-es2015-unicode-regex "^6.3.13" - babel-plugin-transform-regenerator "^6.16.0" - -babel-preset-es2016@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.16.0.tgz#c7daf5feedeee99c867813bdf0d573d94ca12812" - dependencies: - babel-plugin-transform-exponentiation-operator "^6.3.13" - -babel-preset-es2017@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.16.0.tgz#536c6287778a758948ddd092b466b6ef50b786fa" - dependencies: - babel-plugin-syntax-trailing-function-commas "^6.8.0" - babel-plugin-transform-async-to-generator "^6.16.0" - -babel-preset-jest@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-18.0.0.tgz#84faf8ca3ec65aba7d5e3f59bbaed935ab24049e" - dependencies: - babel-plugin-jest-hoist "^18.0.0" - -babel-preset-latest@6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.16.0.tgz#5b87e19e250bb1213f13af4ec9dc7a51d53f388d" - dependencies: - babel-preset-es2015 "^6.16.0" - babel-preset-es2016 "^6.16.0" - babel-preset-es2017 "^6.16.0" - -babel-preset-react@6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.16.0.tgz#aa117d60de0928607e343c4828906e4661824316" - dependencies: - babel-plugin-syntax-flow "^6.3.13" - babel-plugin-syntax-jsx "^6.3.13" - babel-plugin-transform-flow-strip-types "^6.3.13" - babel-plugin-transform-react-display-name "^6.3.13" - babel-plugin-transform-react-jsx "^6.3.13" - babel-plugin-transform-react-jsx-self "^6.11.0" - babel-plugin-transform-react-jsx-source "^6.3.13" +babel-preset-flow@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" + dependencies: + babel-plugin-transform-flow-strip-types "^6.22.0" -babel-preset-stage-3@6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" +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" dependencies: - babel-plugin-syntax-trailing-function-commas "^6.3.13" - babel-plugin-transform-async-generator-functions "^6.17.0" - babel-plugin-transform-async-to-generator "^6.16.0" - babel-plugin-transform-exponentiation-operator "^6.3.13" - babel-plugin-transform-object-rest-spread "^6.16.0" + babel-plugin-jest-hoist "^19.0.0" -babel-register@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" +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-core "^6.18.0" - babel-runtime "^6.11.6" + babel-plugin-syntax-jsx "^6.3.13" + babel-plugin-transform-react-display-name "^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" + +babel-preset-stage-3@6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + +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.11.6: - version "6.11.6" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.9.5" - -babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.9.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-template@6.16.0, babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.7.0, babel-template@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" +babel-template@6.24.1, babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.7.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" dependencies: - babel-runtime "^6.9.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" babylon "^6.11.0" lodash "^4.2.0" -babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.20.0, babel-traverse@^6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad" +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" dependencies: - babel-code-frame "^6.20.0" - babel-messages "^6.8.0" - babel-runtime "^6.20.0" - babel-types "^6.21.0" - babylon "^6.11.0" + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + babylon "^6.15.0" debug "^2.2.0" globals "^9.0.0" invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.21.0, babel-types@^6.8.0, babel-types@^6.9.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2" +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" dependencies: - babel-runtime "^6.20.0" + 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: - version "6.14.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" +babylon@7.0.0-beta.8: + version "7.0.0-beta.8" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.8.tgz#2bdc5ae366041442c27e068cce6f0d7c06ea9949" + +babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.16.1: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" @@ -961,8 +941,8 @@ base64-js@^1.0.2: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" bcrypt-pbkdf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" dependencies: tweetnacl "^0.14.3" @@ -980,9 +960,9 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.1.1, bluebird@^3.4.7: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" +bluebird@^3.4.7: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.6" @@ -992,6 +972,10 @@ boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" +boolify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolify/-/boolify-1.0.0.tgz#4523d3550215cc1f2b567b9a015cfbcd5e6e038b" + boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" @@ -999,8 +983,8 @@ boom@2.x.x: hoek "2.x.x" brace-expansion@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + version "1.1.7" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" dependencies: balanced-match "^0.4.1" concat-map "0.0.1" @@ -1014,8 +998,8 @@ braces@^1.8.2: repeat-element "^1.1.2" brorand@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.6.tgz#4028706b915f91f7b349a2e0bf3c376039d216e5" + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" browser-resolve@^1.11.2: version "1.11.2" @@ -1057,8 +1041,8 @@ browserify-rsa@^4.0.0: randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.0.tgz#10773910c3c206d5420a46aad8694f820b85968f" + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" dependencies: bn.js "^4.1.1" browserify-rsa "^4.0.0" @@ -1074,19 +1058,26 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserslist@^1.0.1, browserslist@^1.4.0, browserslist@~1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.5.2.tgz#1c82fde0ee8693e6d15c49b7bff209dc06298c56" +browserslist@^1.3.6, browserslist@^1.4.0, 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.30000604" + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" -bser@^1.0.2: +bser@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" dependencies: node-int64 "^0.4.0" -buffer-shims@^1.0.0: +bser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + dependencies: + node-int64 "^0.4.0" + +buffer-shims@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" @@ -1135,6 +1126,14 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" +camelcase-keys@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.1.0.tgz#214d348cc5457f39316a2c31cc3e37246325e73f" + dependencies: + camelcase "^4.1.0" + map-obj "^2.0.0" + quick-lru "^1.0.0" + camelcase@^1.0.2, camelcase@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" @@ -1143,34 +1142,30 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + camelize@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" caniuse-api@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.5.2.tgz#8f393c682f661c0a997b77bba6e826483fb3600e" + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" dependencies: - browserslist "^1.0.1" - caniuse-db "^1.0.30000346" - lodash.memoize "^4.1.0" - lodash.uniq "^4.3.0" - shelljs "^0.7.0" - -caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000604: - version "1.0.30000604" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000604.tgz#bc139270a777564d19c0aadcd832b491d093bda5" + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" -cardinal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9" - dependencies: - ansicolors "~0.2.1" - redeyed "~1.0.0" +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000664" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000664.tgz#e16316e5fdabb9c7209b2bf0744ffc8a14201f22" -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" center-align@^0.1.1: version "0.1.3" @@ -1179,7 +1174,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1214,7 +1209,7 @@ cheerio@^0.22.0: lodash.reject "^4.4.0" lodash.some "^4.4.0" -chokidar@1.6.1, chokidar@^1.0.0, chokidar@^1.4.3: +chokidar@1.6.1, chokidar@^1.4.3, chokidar@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" dependencies: @@ -1244,36 +1239,33 @@ circular-json@^0.3.1: resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" clap@^1.0.9: - version "1.1.2" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.2.tgz#316545bf22229225a2cecaa6824cd2f56a9709ed" + version "1.1.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" dependencies: chalk "^1.1.3" -clean-css@3.4.x: - version "3.4.23" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.23.tgz#604fbbca24c12feb59b02f00b84f1fb7ded6d001" +clean-css@4.0.x: + version "4.0.12" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.12.tgz#a02e61707f1840bd3338f54dbc9acbda4e772fa3" dependencies: - commander "2.8.x" - source-map "0.4.x" + source-map "0.5.x" -cli-cursor@^1.0.1: +cli-cursor@^1.0.1, cli-cursor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" dependencies: restore-cursor "^1.0.1" -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - dependencies: - colors "1.0.3" +cli-spinners@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" -cli-usage@^0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/cli-usage/-/cli-usage-0.1.4.tgz#7c01e0dc706c234b39c933838c8e20b2175776e2" +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" dependencies: - marked "^0.3.6" - marked-terminal "^1.6.2" + slice-ansi "0.0.4" + string-width "^1.0.1" cli-width@^2.0.0: version "2.1.0" @@ -1313,22 +1305,15 @@ 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" -code-split-component@2.0.0-alpha.5: - version "2.0.0-alpha.5" - resolved "https://registry.yarnpkg.com/code-split-component/-/code-split-component-2.0.0-alpha.5.tgz#8a2d0a670fc9d023b8d786cd084e09d85349f9dc" - dependencies: - invariant "^2.2.1" - md5 "^2.2.1" - -color-convert@^1.3.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.8.2.tgz#be868184d7c8631766d54e7078e2672d7c7e3339" +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.0.0, color-name@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + version "1.1.2" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" color-string@^0.3.0: version "0.3.0" @@ -1352,11 +1337,7 @@ colormin@^1.0.5: css-color-names "0.0.4" has "^1.0.1" -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - -colors@1.1.2, colors@^1.0.3, colors@^1.1.2, colors@~1.1.2: +colors@1.1.2, colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" @@ -1366,27 +1347,27 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -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.9.x, commander@^2.8.1, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: graceful-readlink ">= 1.0.0" +common-tags@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0" + dependencies: + babel-runtime "^6.18.0" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" compressible@~2.0.8: - version "2.0.9" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.9.tgz#6daab4e2b599c2770dd9e21e7a891b1c5a755425" + version "2.0.10" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" dependencies: - mime-db ">= 1.24.0 < 2" + mime-db ">= 1.27.0 < 2" compression@1.6.2: version "1.6.2" @@ -1403,7 +1384,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.6: +concat-stream@^1.5.2: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1411,12 +1392,12 @@ concat-stream@^1.4.6: readable-stream "^2.2.2" typedarray "^0.0.6" -connect@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" +connect@3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.0.tgz#f09a4f7dcd17324b663b725c815bdb1c4158a46e" dependencies: - debug "~2.2.0" - finalhandler "0.5.0" + debug "2.6.1" + finalhandler "1.0.0" parseurl "~1.3.1" utils-merge "1.0.0" @@ -1438,9 +1419,9 @@ contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" -content-disposition@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" content-security-policy-builder@1.1.0: version "1.1.0" @@ -1457,8 +1438,8 @@ content-type@~1.0.2: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" convert-source-map@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + version "1.5.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" cookie-signature@1.0.6: version "1.0.6" @@ -1480,6 +1461,19 @@ core-util-is@1.0.2, 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" +cosmiconfig@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37" + dependencies: + graceful-fs "^4.1.2" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.0.1" + os-homedir "^1.0.1" + parse-json "^2.2.0" + pinkie-promise "^2.0.0" + require-from-string "^1.1.0" + create-ecdh@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" @@ -1503,17 +1497,26 @@ create-hmac@^1.1.0, create-hmac@^1.1.2: create-hash "^1.1.0" inherits "^2.0.1" -cross-env@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-3.1.4.tgz#56e8bca96f17908a6eb1bc2012ca126f92842130" +create-react-class@^15.5.1: + version "15.5.2" + resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.5.2.tgz#6a8758348df660b88326a0e764d569f274aad681" dependencies: - cross-spawn "^3.0.1" + fbjs "^0.8.9" + object-assign "^4.1.1" -cross-spawn@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" +cross-env@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-4.0.0.tgz#16083862d08275a4628b0b243b121bedaa55dd80" + dependencies: + cross-spawn "^5.1.0" + is-windows "^1.0.0" + +cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: lru-cache "^4.0.1" + shebang-command "^1.2.0" which "^1.2.9" crypt@~0.0.1: @@ -1545,14 +1548,14 @@ 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.26.1: - version "0.26.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.1.tgz#2ba7f20131b93597496b3e9bb500785a49cd29ea" +css-loader@0.28.0: + version "0.28.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.0.tgz#417cfa9789f8cde59a30ccbf3e4da7a806889bad" dependencies: babel-code-frame "^6.11.0" css-selector-tokenizer "^0.7.0" cssnano ">=2.6.1 <4" - loader-utils "~0.2.2" + loader-utils "^1.0.2" lodash.camelcase "^4.3.0" object-assign "^4.0.1" postcss "^5.0.6" @@ -1560,7 +1563,7 @@ css-loader@0.26.1: postcss-modules-local-by-default "^1.0.1" postcss-modules-scope "^1.0.0" postcss-modules-values "^1.1.0" - source-list-map "^0.1.4" + source-list-map "^0.1.7" css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" @@ -1632,32 +1635,32 @@ cssesc@^0.1.0: postcss-value-parser "^3.2.3" postcss-zindex "^2.0.1" -csso@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-2.2.1.tgz#51fbb5347e50e81e6ed51668a48490ae6fe2afe2" +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.0 < 0.4.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.1.tgz#c9e37ef2490e64f6d1baa10fda852257082c25d3" +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" -"cssstyle@>= 0.2.36 < 0.3.0": +"cssstyle@>= 0.2.37 < 0.3.0": version "0.2.37" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" dependencies: cssom "0.3.x" -d@^0.1.1, d@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" dependencies: - es5-ext "~0.10.2" + es5-ext "^0.10.9" damerau-levenshtein@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" + version "1.0.4" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" dashdash@^1.12.0: version "1.14.1" @@ -1673,21 +1676,37 @@ dashify@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/dashify/-/dashify-0.2.2.tgz#6a07415a01c91faf4a32e38d9dfba71f61cb20fe" +date-fns@^1.27.2: + version "1.28.4" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.4.tgz#7938aec34ba31fc8bd134d2344bc2e0bbfd95165" + date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0: +debug@2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: ms "0.7.1" +debug@2.6.1, debug@^2.1.1, debug@^2.2.0, debug@^2.4.5: + version "2.6.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" + dependencies: + ms "0.7.2" + +debug@2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" + dependencies: + ms "0.7.3" + 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-equal@1.0.1: +deep-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -1699,6 +1718,12 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + dependencies: + strip-bom "^2.0.0" + define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -1730,7 +1755,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@~1.1.0: +depd@1.1.0, depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" @@ -1763,10 +1788,21 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dlv@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.0.tgz#fee1a7c43f63be75f3f679e85262da5f102764a7" + dns-prefetch-control@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz#60ddb457774e178f1f9415f0cabb0e85b0b300b2" +doctrine@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.2.3.tgz#6aec6bbd62cf89dd498cae70c0ed9f49da873a6a" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + doctrine@1.5.0, doctrine@^1.2.2: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" @@ -1774,6 +1810,13 @@ doctrine@1.5.0, doctrine@^1.2.2: esutils "^2.0.2" isarray "^1.0.0" +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + dom-converter@~0.1: version "0.1.4" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" @@ -1840,10 +1883,6 @@ duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" -eastasianwidth@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.1.1.tgz#44d656de9da415694467335365fb3147b8572b7c" - ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -1854,18 +1893,33 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ejs@^2.3.4, ejs@^2.5.5: - version "2.5.5" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.5.tgz#6ef4e954ea7dcf54f66aad2fe7aa421932d9ed77" +ejs@^2.3.4, ejs@^2.5.6: + version "2.5.6" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" + +electron-to-chromium@^1.2.7: + version "1.3.8" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.8.tgz#b2c8a2c79bb89fbbfd3724d9555e15095b5f5fb6" + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" elliptic@^6.0.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.2.tgz#e4c81e0829cf0a65ab70e998b8232723b5c1bc48" + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" dependencies: bn.js "^4.4.0" brorand "^1.0.1" hash.js "^1.0.0" + hmac-drbg "^1.0.0" inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^6.1.0: + version "6.4.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.4.2.tgz#a30b6fee353d406d96cfb9fa765bdc82897eff6e" emojis-list@^2.0.0: version "2.1.0" @@ -1882,8 +1936,8 @@ encoding@^0.1.11: iconv-lite "~0.4.13" enhanced-resolve@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.0.2.tgz#0fa709f29e59ee23e6bbcb070c85f992d6247cd1" + version "3.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -1894,19 +1948,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-to-json@1.4.5: - version "1.4.5" - resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-1.4.5.tgz#698d6c209b54527aa3e28658e34b5d9f976f8016" +enzyme-to-json@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-1.5.1.tgz#e34f4d126bb3f4696ce3800b51f9ed83df708799" dependencies: - lodash.compact "^3.0.1" + lodash.filter "^4.6.0" + lodash.isnil "^4.0.0" lodash.isplainobject "^4.0.6" lodash.omitby "^4.5.0" + lodash.range "^3.2.0" object-values "^1.0.0" object.entries "^1.0.3" -enzyme@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.7.0.tgz#772477800547ca2514cc0af258e647c166aee899" +enzyme@2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.8.2.tgz#6c8bcb05012abc4aa4bc3213fb23780b9b5b1714" dependencies: cheerio "^0.22.0" function.prototype.name "^1.0.0" @@ -1916,6 +1972,7 @@ enzyme@2.7.0: object.assign "^4.0.4" object.entries "^1.0.3" object.values "^1.0.3" + prop-types "^15.5.4" uuid "^2.0.3" "errno@>=0.1.1 <0.2.0-0", errno@^0.1.3: @@ -1925,8 +1982,8 @@ enzyme@2.7.0: prr "~0.0.0" error-ex@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" dependencies: is-arrayish "^0.2.1" @@ -1936,9 +1993,9 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -es-abstract@^1.5.0, es-abstract@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.6.1.tgz#bb8a2064120abcf928a086ea3d9043114285ec99" +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: es-to-primitive "^1.1.1" function-bind "^1.1.0" @@ -1953,57 +2010,57 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: - version "0.10.12" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" +es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.15" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6" dependencies: es6-iterator "2" es6-symbol "~3.1" -es6-iterator@2: - version "2.0.0" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: - d "^0.1.1" - es5-ext "^0.10.7" - es6-symbol "3" + d "1" + es5-ext "^0.10.14" + es6-symbol "^3.1" es6-map@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-set "~0.1.3" - es6-symbol "~3.1.0" - event-emitter "~0.3.4" + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" -es6-set@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-symbol "3" - event-emitter "~0.3.4" + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" -es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: - d "~0.1.1" - es5-ext "~0.10.11" + d "1" + es5-ext "~0.10.14" es6-weak-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" dependencies: - d "^0.1.1" - es5-ext "^0.10.8" - es6-iterator "2" - es6-symbol "3" + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" escape-html@~1.0.3: version "1.0.3" @@ -2033,15 +2090,15 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-config-airbnb-base@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.0.1.tgz#5401dba284c6b7d7c8fb1c2ee19aba018f9dfa21" +eslint-config-airbnb-base@^11.1.0: + version "11.1.3" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.1.3.tgz#0e8db71514fa36b977fbcf977c01edcf863e0cf0" -eslint-config-airbnb@14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-14.0.0.tgz#bfd87a71102ba3ee19c3733357000b3d5e39790f" +eslint-config-airbnb@14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-14.1.0.tgz#355d290040bbf8e00bf8b4b19f4b70cbe7c2317f" dependencies: - eslint-config-airbnb-base "^11.0.1" + eslint-config-airbnb-base "^11.1.0" eslint-import-resolver-node@^0.2.0: version "0.2.3" @@ -2058,12 +2115,6 @@ eslint-module-utils@^2.0.0: debug "2.2.0" pkg-dir "^1.0.0" -eslint-plugin-flowtype@2.29.2: - version "2.29.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.29.2.tgz#91b4fde0400c4c37ca4440b43bdbc95fc405bea9" - dependencies: - lodash "^4.15.0" - eslint-plugin-import@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e" @@ -2079,33 +2130,39 @@ eslint-plugin-import@2.2.0: minimatch "^3.0.3" pkg-up "^1.0.0" -eslint-plugin-jsx-a11y@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-3.0.2.tgz#9f0eabcafde3d2a2600d96a66adb90d099e841fe" +eslint-plugin-jsx-a11y@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-4.0.0.tgz#779bb0fe7b08da564a422624911de10061e048ee" dependencies: + aria-query "^0.3.0" + ast-types-flow "0.0.7" damerau-levenshtein "^1.0.0" + emoji-regex "^6.1.0" jsx-ast-utils "^1.0.0" object-assign "^4.0.1" -eslint-plugin-react@6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz#54c2e9906b76f9d10142030bdc34e9d6840a0bb2" +eslint-plugin-react@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78" dependencies: array.prototype.find "^2.0.1" doctrine "^1.2.2" + has "^1.0.1" jsx-ast-utils "^1.3.4" + object.assign "^4.0.4" -eslint@3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.13.0.tgz#636925fd163c9babe2e8be7ae43caf518d469577" +eslint@3.19.0, eslint@^3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" dependencies: babel-code-frame "^6.16.0" chalk "^1.1.3" - concat-stream "^1.4.6" + concat-stream "^1.5.2" debug "^2.1.1" - doctrine "^1.2.2" + doctrine "^2.0.0" escope "^3.6.0" - espree "^3.3.1" + espree "^3.4.0" + esquery "^1.0.0" estraverse "^4.2.0" esutils "^2.0.2" file-entry-cache "^2.0.0" @@ -2134,20 +2191,26 @@ eslint@3.13.0: text-table "~0.2.0" user-home "^2.0.0" -espree@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" +espree@^3.4.0: + version "3.4.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.2.tgz#38dbdedbedc95b8961a1fbf04734a8f6a9c8c592" dependencies: - acorn "^4.0.1" + acorn "^5.0.1" acorn-jsx "^3.0.0" esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esprima@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" +esprima@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esquery@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + dependencies: + estraverse "^4.0.0" esrecurse@^4.1.0: version "4.1.0" @@ -2160,7 +2223,7 @@ estraverse@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" @@ -2168,20 +2231,20 @@ estraverse@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" -esutils@^2.0.0, esutils@^2.0.2: +esutils@2.0.2, esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -etag@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" +etag@~1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" -event-emitter@~0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" dependencies: - d "~0.1.1" - es5-ext "~0.10.7" + d "1" + es5-ext "~0.10.14" events@^1.0.0: version "1.1.1" @@ -2199,6 +2262,22 @@ exec-sh@^0.2.0: dependencies: merge "^1.1.3" +execa@^0.6.0: + version "0.6.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exenv@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -2215,40 +2294,42 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -express@4.14.0, express@^4.14.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" +express@4.15.2, express@^4.15.2: + version "4.15.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35" dependencies: accepts "~1.3.3" array-flatten "1.1.1" - content-disposition "0.5.1" + content-disposition "0.5.2" content-type "~1.0.2" cookie "0.3.1" cookie-signature "1.0.6" - debug "~2.2.0" + debug "2.6.1" depd "~1.1.0" encodeurl "~1.0.1" escape-html "~1.0.3" - etag "~1.7.0" - finalhandler "0.5.0" - fresh "0.3.0" + etag "~1.8.0" + finalhandler "~1.0.0" + 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.2" - qs "6.2.0" + proxy-addr "~1.1.3" + qs "6.4.0" range-parser "~1.2.0" - send "0.14.1" - serve-static "~1.11.1" - type-is "~1.6.13" + send "0.15.1" + serve-static "1.12.1" + setprototypeof "1.0.3" + statuses "~1.3.1" + type-is "~1.6.14" utils-merge "1.0.0" vary "~1.1.0" extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" extglob@^0.3.1: version "0.3.2" @@ -2256,12 +2337,13 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" -extract-text-webpack-plugin@2.0.0-beta.4: - version "2.0.0-beta.4" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.0.0-beta.4.tgz#d32393069e7d90c8318d48392302618b56bc1ba9" +extract-text-webpack-plugin@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159" dependencies: - async "^1.5.0" - loader-utils "^0.2.3" + ajv "^4.11.2" + async "^2.1.2" + loader-utils "^1.0.2" webpack-sources "^0.1.0" extsprintf@1.0.2: @@ -2276,23 +2358,21 @@ 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, fb-watchman@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.0.tgz#6f268f1f347a6b3c875d1e89da7e1ed79adfc0ec" +fb-watchman@^1.8.0: + version "1.9.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383" dependencies: - bser "^1.0.2" + bser "1.0.2" -fbjs@0.1.0-alpha.10: - version "0.1.0-alpha.10" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.1.0-alpha.10.tgz#46e457c09cbefb51fc752a3e030e7b67fcc384c8" +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" dependencies: - core-js "^1.0.0" - promise "^7.0.3" - whatwg-fetch "^0.9.0" + bser "^2.0.0" -fbjs@^0.8.1, fbjs@^0.8.4: - version "0.8.8" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.8.tgz#02f1b6e0ea0d46c24e0b51a2d24df069563a5ad6" +fbjs@^0.8.4, fbjs@^0.8.9: + version "0.8.12" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: core-js "^1.0.0" isomorphic-fetch "^2.1.1" @@ -2302,7 +2382,7 @@ fbjs@^0.8.1, fbjs@^0.8.4: setimmediate "^1.0.5" ua-parser-js "^0.7.9" -figures@^1.3.5: +figures@^1.3.5, figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: @@ -2316,15 +2396,19 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" -file-loader@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.9.0.tgz#1d2daddd424ce6d1b07cfe3f79731bed3617ab42" +file-loader@0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz#6b328ee1234a729e4e47d36375dd6d35c0e1db84" dependencies: - loader-utils "~0.2.5" + loader-utils "^1.0.2" + +file@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/file/-/file-0.2.2.tgz#c3dfd8f8cf3535ae455c2b423c2e52635d76b4d3" filename-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" fileset@^2.0.2: version "2.0.3" @@ -2333,9 +2417,9 @@ fileset@^2.0.2: glob "^7.0.3" minimatch "^3.0.3" -filesize@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.3.0.tgz#53149ea3460e3b2e024962a51648aa572cf98122" +filesize@^3.5.6: + version "3.5.6" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.6.tgz#5fd98f3eac94ec9516ef8ed5782fad84a01a0a1a" fill-range@^2.1.0: version "2.2.3" @@ -2347,14 +2431,28 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" +finalhandler@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.0.tgz#b5691c2c0912092f18ac23e9416bde5cd7dc6755" dependencies: - debug "~2.2.0" + debug "2.6.1" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.1" + statuses "~1.3.1" + unpipe "~1.0.0" + +finalhandler@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.2.tgz#d0e36f9dbc557f2de14423df6261889e9d60c93a" + dependencies: + debug "2.6.4" + encodeurl "~1.0.1" escape-html "~1.0.3" on-finished "~2.3.0" - statuses "~1.3.0" + parseurl "~1.3.1" + statuses "~1.3.1" unpipe "~1.0.0" find-cache-dir@^0.1.1: @@ -2365,13 +2463,23 @@ find-cache-dir@^0.1.1: mkdirp "^0.5.1" pkg-dir "^1.0.0" -find-up@^1.0.0, find-up@^1.1.2: +find-parent-dir@0.3.0, find-parent-dir@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" + +find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + flat-cache@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" @@ -2385,59 +2493,25 @@ flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" -flow-bin@0.37.4: - version "0.37.4" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.37.4.tgz#3d8da2ef746e80e730d166e09040f4198969b76b" - -flow-coverage-report@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/flow-coverage-report/-/flow-coverage-report-0.2.0.tgz#8529729ecc440c676c5960b32d1393d2eeddad57" - dependencies: - array.prototype.find "2.0.0" - babel-runtime "6.11.6" - glob "7.0.5" - minimatch "3.0.3" - mkdirp "0.5.1" - react "15.3.1" - react-dom "15.3.1" - temp "0.8.3" - terminal-table "0.0.12" - yargs "5.0.0" +flow-parser@0.43.0: + version "0.43.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.43.0.tgz#e2b8eb1ac83dd53f7b6b04a7c35b6a52c33479b7" -flow-typed@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/flow-typed/-/flow-typed-2.0.0.tgz#b15cfb9b2b4419ab521665f84fa30d9ba646fb33" - dependencies: - babel-polyfill "^6.6.1" - colors "^1.1.2" - github "^0.2.4" - glob "^7.0.6" - lodash "^4.11.2" - md5 "^2.1.0" - mkdirp "^0.5.1" - request "^2.69.0" - rx-lite "4.0.8" - semver "^5.1.0" - table "3.7.8" - through "^2.3.8" - which "^1.2.11" - yargs "^4.2.0" - -follow-redirects@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.0.0.tgz#8e34298cbd2e176f254effec75a1c78cc849fd37" +follow-redirects@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.2.3.tgz#01abaeca85e3609837d9fcda3167a7e42fdaca21" dependencies: - debug "^2.2.0" + debug "^2.4.5" -for-in@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" for-own@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" dependencies: - for-in "^0.1.5" + for-in "^1.0.1" foreach@^2.0.5: version "2.0.5" @@ -2448,8 +2522,8 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" form-data@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" @@ -2463,9 +2537,9 @@ frameguard@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/frameguard/-/frameguard-3.0.0.tgz#7bcad469ee7b96e91d12ceb3959c78235a9272e9" -fresh@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" +fresh@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" fs-readdir-recursive@^1.0.0: version "1.0.0" @@ -2476,13 +2550,13 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.0.17" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" + version "1.1.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" -fstream-ignore@~1.0.5: +fstream-ignore@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" dependencies: @@ -2490,9 +2564,9 @@ fstream-ignore@~1.0.5: inherits "2" minimatch "^3.0.0" -fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: graceful-fs "^4.1.2" inherits "~2.0.0" @@ -2512,8 +2586,8 @@ function.prototype.name@^1.0.0: is-callable "^1.1.2" gauge@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -2522,7 +2596,6 @@ gauge@~2.7.1: signal-exit "^3.0.0" string-width "^1.0.1" strip-ansi "^3.0.1" - supports-color "^0.2.0" wide-align "^1.1.0" generate-function@^2.0.0: @@ -2539,18 +2612,20 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-stdin@5.0.1, get-stdin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + getpass@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" -github@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/github/-/github-0.2.4.tgz#24fa7f0e13fa11b946af91134c51982a91ce538b" - dependencies: - mime "^1.2.11" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -2564,18 +2639,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: +glob@7.1.1, 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: @@ -2586,26 +2650,27 @@ glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^5.0.5: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" +glob@~7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" dependencies: + fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "2 || 3" + minimatch "^3.0.2" once "^1.3.0" path-is-absolute "^1.0.0" global@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df" + version "4.3.2" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" dependencies: min-document "^2.19.0" process "~0.5.1" globals@^9.0.0, globals@^9.14.0: - version "9.14.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + version "9.17.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" globby@^5.0.0: version "5.0.0" @@ -2626,7 +2691,7 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6: version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" -growly@^1.2.0: +growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -2646,23 +2711,25 @@ handlebars@^4.0.3: optionalDependencies: uglify-js "^2.6" -happypack@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/happypack/-/happypack-3.0.2.tgz#795f9abb082f44bab24f4bff616d339c9fd57162" +happypack@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/happypack/-/happypack-3.0.3.tgz#22f78c87a325cdb798c958cf4ec383fcd4d6fdc7" dependencies: async "1.5.0" json-stringify-safe "5.0.1" loader-utils "0.2.16" mkdirp "0.5.1" -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" + ajv "^4.9.1" + har-schema "^1.0.5" has-ansi@^2.0.0: version "2.0.0" @@ -2684,7 +2751,7 @@ has@^1.0.1: dependencies: function-bind "^1.0.2" -hash.js@^1.0.0: +hash.js@^1.0.0, hash.js@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" dependencies: @@ -2700,28 +2767,28 @@ hawk@~3.1.3: sntp "1.x.x" he@1.1.x: - version "1.1.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.0.tgz#29319d49beec13a9b1f3c4f9b2a6dde4859bb2a7" + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" -helmet-csp@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/helmet-csp/-/helmet-csp-2.2.0.tgz#047888d9e04018dfbaddcf3a2eaa26865b3683f2" +helmet-csp@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/helmet-csp/-/helmet-csp-2.4.0.tgz#7e53a157167a0645aadd7177d12ae6c605c1842e" dependencies: camelize "1.0.0" content-security-policy-builder "1.1.0" dasherize "2.0.0" lodash.reduce "4.6.0" - platform "1.3.1" + platform "1.3.3" -helmet@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.3.0.tgz#8eec02d8191ba97a6bdeccbf35f38326285136fd" +helmet@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.5.0.tgz#e1d6de27d2e3317d3182e00d672df3d0e1e12539" dependencies: - connect "3.5.0" + connect "3.6.0" dns-prefetch-control "0.1.0" dont-sniff-mimetype "1.0.0" frameguard "3.0.0" - helmet-csp "2.2.0" + helmet-csp "2.4.0" hide-powered-by "1.0.0" hpkp "2.0.0" hsts "2.0.0" @@ -2734,9 +2801,9 @@ hide-powered-by@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hide-powered-by/-/hide-powered-by-1.0.0.tgz#4a85ad65881f62857fc70af7174a1184dccce32b" -history@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/history/-/history-4.5.0.tgz#7313388109333bf5796fff7407cee1850e8c5061" +history@^4.5.1, history@^4.6.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.6.1.tgz#911cf8eb65728555a94f2b12780a0c531a14d2fd" dependencies: invariant "^2.2.1" loose-envify "^1.2.0" @@ -2744,11 +2811,19 @@ history@^4.3.0: value-equal "^0.2.0" warning "^3.0.0" +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -hoist-non-react-statics@^1.0.3: +hoist-non-react-statics@^1.0.3, hoist-non-react-statics@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" @@ -2760,16 +2835,16 @@ home-or-tmp@^2.0.0: os-tmpdir "^1.0.1" hosted-git-info@^2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + version "2.4.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" hpkp@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hpkp/-/hpkp-2.0.0.tgz#10e142264e76215a5d30c44ec43de64dee6d1672" -hpp@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/hpp/-/hpp-0.2.1.tgz#e103d0480397edfd50777be4ad735596286929cd" +hpp@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/hpp/-/hpp-0.2.2.tgz#0ec5f77472049a74361d85ba2b88e2470a4356f8" dependencies: lodash "^4.7.0" type-is "^1.6.12" @@ -2791,25 +2866,25 @@ html-encoding-sniffer@^1.0.1: whatwg-encoding "^1.0.1" html-entities@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2" + version "1.2.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" html-minifier@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.2.3.tgz#d2ff536e24d95726c332493d8f77d84dbed85372" + version "3.4.3" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.4.3.tgz#eb3a7297c804611f470454eeebe0aacc427e424a" dependencies: camel-case "3.0.x" - clean-css "3.4.x" + clean-css "4.0.x" commander "2.9.x" he "1.1.x" ncname "1.0.x" param-case "2.1.x" relateurl "0.2.x" - uglify-js "2.7.x" + uglify-js "~2.8.22" -html-webpack-plugin@2.26.0: - version "2.26.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.26.0.tgz#ba97c8a66f912b85df80d2aeea65966c8bd9249e" +html-webpack-plugin@2.28.0: + version "2.28.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009" dependencies: bluebird "^3.4.7" html-minifier "^3.2.3" @@ -2838,12 +2913,13 @@ htmlparser2@~3.3.0: domutils "1.1" readable-stream "1.0" -http-errors@~1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" +http-errors@~1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" dependencies: + depd "1.1.0" inherits "2.0.3" - setprototypeof "1.0.2" + setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" http-signature@~1.1.0: @@ -2858,14 +2934,19 @@ https-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" -iconv-lite@0.4.13: +husky@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-0.13.3.tgz#bc2066080badc8b8fe3516e881f5bc68a57052ff" + dependencies: + chalk "^1.1.3" + find-parent-dir "^0.3.0" + is-ci "^1.0.9" + normalize-path "^1.0.0" + +iconv-lite@0.4.13, iconv-lite@~0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" -iconv-lite@^0.4.13, 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.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5" @@ -2878,14 +2959,24 @@ ienoopen@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ienoopen/-/ienoopen-1.0.0.tgz#346a428f474aac8f50cf3784ea2d0f16f62bda6b" -ignore@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" +ignore@^3.2.0, ignore@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.7.tgz#4810ca5f1d8eca5595213a34b94f2eb4ed926bbd" imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indent-string@^3.0.0, indent-string@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d" + indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -2932,10 +3023,10 @@ inquirer@^0.12.0: through "^2.3.6" interpret@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + version "1.0.3" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" -invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1: +invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: @@ -2945,9 +3036,9 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ipaddr.js@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz#c791d95f52b29c1247d5df80ada39b8a73647230" +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" @@ -2963,9 +3054,9 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.0.2, is-buffer@~1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" +is-buffer@^1.1.5, is-buffer@~1.1.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" is-builtin-module@^1.0.0: version "1.0.0" @@ -3017,15 +3108,19 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" dependencies: is-extglob "^1.0.0" -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" +is-my-json-valid@^2.10.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" dependencies: generate-function "^2.0.0" generate-object-property "^1.1.0" @@ -3066,13 +3161,19 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + is-property@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" is-regex@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637" + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" is-resolvable@^1.0.0: version "1.0.0" @@ -3080,7 +3181,7 @@ is-resolvable@^1.0.0: dependencies: tryit "^1.0.1" -is-stream@^1.0.1: +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" @@ -3106,6 +3207,10 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-windows@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -3114,9 +3219,9 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" -isexe@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" isobject@^2.0.0: version "2.1.0" @@ -3136,76 +3241,74 @@ isstream@~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.0" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.0.tgz#fb3f62edd5bfc6ae09da09453ded6e10ae7e483b" + version "1.1.7" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.7.tgz#f6f37f09f8002b130f891c646b70ee4a8e7345ae" dependencies: async "^2.1.4" fileset "^2.0.2" - istanbul-lib-coverage "^1.0.0" - istanbul-lib-hook "^1.0.0-alpha.4" - istanbul-lib-instrument "^1.3.0" - istanbul-lib-report "^1.0.0-alpha.3" - istanbul-lib-source-maps "^1.1.0" - istanbul-reports "^1.0.0" + 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" js-yaml "^3.7.0" mkdirp "^0.5.1" once "^1.4.0" -istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.0.tgz#c3f9b6d226da12424064cce87fce0fb57fdfa7a2" +istanbul-lib-coverage@^1.0.0, 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.0-alpha.4: - version "1.0.0-alpha.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0-alpha.4.tgz#8c5bb9f6fbd8526e0ae6cf639af28266906b938f" +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" dependencies: - append-transform "^0.3.0" + append-transform "^0.4.0" -istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.3.0, istanbul-lib-instrument@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz#0e2fdfac93c1dabf2e31578637dc78a19089f43e" +istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.6.2, istanbul-lib-instrument@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.0.tgz#b8e0dc25709bb44e17336ab47b7bb5c97c23f659" dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" babel-traverse "^6.18.0" babel-types "^6.18.0" babylon "^6.13.0" - istanbul-lib-coverage "^1.0.0" + istanbul-lib-coverage "^1.0.2" semver "^5.3.0" -istanbul-lib-report@^1.0.0-alpha.3: - version "1.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" +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" dependencies: - async "^1.4.2" - istanbul-lib-coverage "^1.0.0-alpha" + istanbul-lib-coverage "^1.0.2" mkdirp "^0.5.1" path-parse "^1.0.5" - rimraf "^2.4.3" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" +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" dependencies: - istanbul-lib-coverage "^1.0.0-alpha.0" + istanbul-lib-coverage "^1.0.2" mkdirp "^0.5.1" rimraf "^2.4.4" source-map "^0.5.3" -istanbul-reports@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.0.tgz#24b4eb2b1d29d50f103b369bd422f6e640aa0777" +istanbul-reports@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.2.tgz#4e8366abe6fa746cc1cd6633f108de12cc6ac6fa" dependencies: handlebars "^4.0.3" -jest-changed-files@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-17.0.2.tgz#f5657758736996f590a51b87e5c9369d904ba7b7" +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-cli@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-18.1.0.tgz#5ead36ecad420817c2c9baa2aa7574f63257b3d6" +jest-cli@^19.0.2: + version "19.0.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-19.0.2.tgz#cc3620b62acac5f2d93a548cb6ef697d4ec85443" dependencies: ansi-escapes "^1.4.0" callsites "^2.0.0" @@ -3215,171 +3318,200 @@ jest-cli@^18.1.0: istanbul-api "^1.1.0-alpha.1" istanbul-lib-coverage "^1.0.0" istanbul-lib-instrument "^1.1.1" - jest-changed-files "^17.0.2" - jest-config "^18.1.0" - jest-environment-jsdom "^18.1.0" - jest-file-exists "^17.0.0" - jest-haste-map "^18.1.0" - jest-jasmine2 "^18.1.0" - jest-mock "^18.0.0" - jest-resolve "^18.1.0" - jest-resolve-dependencies "^18.1.0" - jest-runtime "^18.1.0" - jest-snapshot "^18.1.0" - jest-util "^18.1.0" - json-stable-stringify "^1.0.0" - node-notifier "^4.6.1" - sane "~1.4.1" - strip-ansi "^3.0.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" + micromatch "^2.3.11" + node-notifier "^5.0.1" + slash "^1.0.0" + string-length "^1.0.1" throat "^3.0.0" which "^1.1.1" worker-farm "^1.3.1" yargs "^6.3.0" -jest-config@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-18.1.0.tgz#6111740a6d48aab86ff5a9e6ab0b98bd993b6ff4" +jest-config@^19.0.2: + version "19.0.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-19.0.4.tgz#42980211d46417e91ca7abffd086c270234f73fd" dependencies: chalk "^1.1.1" - jest-environment-jsdom "^18.1.0" - jest-environment-node "^18.1.0" - jest-jasmine2 "^18.1.0" - jest-mock "^18.0.0" - jest-resolve "^18.1.0" - jest-util "^18.1.0" - json-stable-stringify "^1.0.0" - -jest-diff@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-18.1.0.tgz#4ff79e74dd988c139195b365dc65d87f606f4803" + 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" dependencies: chalk "^1.1.3" diff "^3.0.0" - jest-matcher-utils "^18.1.0" - pretty-format "^18.1.0" + jest-matcher-utils "^19.0.0" + pretty-format "^19.0.0" -jest-environment-jsdom@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz#18b42f0c4ea2bae9f36cab3639b1e8f8c384e24e" +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 "^18.0.0" - jest-util "^18.1.0" - jsdom "^9.9.1" + jest-mock "^19.0.0" + jest-util "^19.0.2" + jsdom "^9.11.0" -jest-environment-node@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-18.1.0.tgz#4d6797572c8dda99acf5fae696eb62945547c779" +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" dependencies: - jest-mock "^18.0.0" - jest-util "^18.1.0" + jest-mock "^19.0.0" + jest-util "^19.0.2" -jest-file-exists@^17.0.0: - version "17.0.0" - resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-17.0.0.tgz#7f63eb73a1c43a13f461be261768b45af2cdd169" +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-haste-map@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-18.1.0.tgz#06839c74b770a40c1a106968851df8d281c08375" +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" dependencies: - fb-watchman "^1.9.0" + fb-watchman "^2.0.0" graceful-fs "^4.1.6" micromatch "^2.3.11" - sane "~1.4.1" + sane "~1.5.0" worker-farm "^1.3.1" -jest-jasmine2@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz#094e104c2c189708766c77263bb2aecb5860a80b" +jest-jasmine2@^19.0.2: + version "19.0.2" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-19.0.2.tgz#167991ac825981fb1a800af126e83afcca832c73" dependencies: graceful-fs "^4.1.6" - jest-matcher-utils "^18.1.0" - jest-matchers "^18.1.0" - jest-snapshot "^18.1.0" - jest-util "^18.1.0" + jest-matcher-utils "^19.0.0" + jest-matchers "^19.0.0" + jest-message-util "^19.0.0" + jest-snapshot "^19.0.2" -jest-matcher-utils@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-18.1.0.tgz#1ac4651955ee2a60cef1e7fcc98cdfd773c0f932" +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" dependencies: chalk "^1.1.3" - pretty-format "^18.1.0" + pretty-format "^19.0.0" -jest-matchers@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-18.1.0.tgz#0341484bf87a1fd0bac0a4d2c899e2b77a3f1ead" +jest-matchers@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-19.0.0.tgz#c74ecc6ebfec06f384767ba4d6fa4a42d6755754" dependencies: - jest-diff "^18.1.0" - jest-matcher-utils "^18.1.0" - jest-util "^18.1.0" - pretty-format "^18.1.0" + jest-diff "^19.0.0" + jest-matcher-utils "^19.0.0" + jest-message-util "^19.0.0" + jest-regex-util "^19.0.0" + +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" + dependencies: + chalk "^1.1.1" + micromatch "^2.3.11" -jest-mock@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-18.0.0.tgz#5c248846ea33fa558b526f5312ab4a6765e489b3" +jest-mock@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-19.0.0.tgz#67038641e9607ab2ce08ec4a8cb83aabbc899d01" -jest-resolve-dependencies@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-18.1.0.tgz#8134fb5caf59c9ed842fe0152ab01c52711f1bbb" +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-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" dependencies: - jest-file-exists "^17.0.0" - jest-resolve "^18.1.0" + jest-file-exists "^19.0.0" -jest-resolve@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-18.1.0.tgz#6800accb536658c906cd5e29de412b1ab9ac249b" +jest-resolve@^19.0.2: + version "19.0.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-19.0.2.tgz#5793575de4f07aec32f7d7ff0c6c181963eefb3c" dependencies: browser-resolve "^1.11.2" - jest-file-exists "^17.0.0" - jest-haste-map "^18.1.0" + jest-haste-map "^19.0.0" resolve "^1.2.0" -jest-runtime@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-18.1.0.tgz#3abfd687175b21fc3b85a2b8064399e997859922" +jest-runtime@^19.0.2: + version "19.0.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-19.0.3.tgz#a163354ace46910ee33f0282b6bff6b0b87d4330" dependencies: babel-core "^6.0.0" - babel-jest "^18.0.0" - babel-plugin-istanbul "^3.0.0" + babel-jest "^19.0.0" + babel-plugin-istanbul "^4.0.0" chalk "^1.1.3" graceful-fs "^4.1.6" - jest-config "^18.1.0" - jest-file-exists "^17.0.0" - jest-haste-map "^18.1.0" - jest-mock "^18.0.0" - jest-resolve "^18.1.0" - jest-snapshot "^18.1.0" - jest-util "^18.1.0" - json-stable-stringify "^1.0.0" + 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" + json-stable-stringify "^1.0.1" micromatch "^2.3.11" + strip-bom "3.0.0" yargs "^6.3.0" -jest-snapshot@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-18.1.0.tgz#55b96d2ee639c9bce76f87f2a3fd40b71c7a5916" +jest-snapshot@^19.0.2: + version "19.0.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-19.0.2.tgz#9c1b216214f7187c38bfd5c70b1efab16b0ff50b" dependencies: - jest-diff "^18.1.0" - jest-file-exists "^17.0.0" - jest-matcher-utils "^18.1.0" - jest-util "^18.1.0" + 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" natural-compare "^1.4.0" - pretty-format "^18.1.0" + pretty-format "^19.0.0" -jest-util@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-18.1.0.tgz#3a99c32114ab17f84be094382527006e6d4bfc6a" +jest-util@^19.0.2: + version "19.0.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-19.0.2.tgz#e0a0232a2ab9e6b2b53668bdb3534c2b5977ed41" dependencies: chalk "^1.1.1" - diff "^3.0.0" graceful-fs "^4.1.6" - jest-file-exists "^17.0.0" - jest-mock "^18.0.0" + 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" mkdirp "^0.5.1" -jest@18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-18.1.0.tgz#bcebf1e203dee5c2ad2091c805300a343d9e6c7d" +jest-validate@19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.0.tgz#8c6318a20ecfeaba0ba5378bfbb8277abded4173" + dependencies: + chalk "^1.1.1" + jest-matcher-utils "^19.0.0" + leven "^2.0.0" + pretty-format "^19.0.0" + +jest-validate@^19.0.2: + version "19.0.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.2.tgz#dc534df5f1278d5b63df32b14241d4dbf7244c0c" dependencies: - jest-cli "^18.1.0" + chalk "^1.1.1" + jest-matcher-utils "^19.0.0" + leven "^2.0.0" + pretty-format "^19.0.0" + +jest@19.0.2: + version "19.0.2" + resolved "https://registry.yarnpkg.com/jest/-/jest-19.0.2.tgz#b794faaf8ff461e7388f28beef559a54f20b2c10" + dependencies: + jest-cli "^19.0.2" jodid25519@^1.0.0: version "1.0.2" @@ -3391,52 +3523,51 @@ 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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@^3.5.1, js-yaml@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" +js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.7.0: + version "3.8.3" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" dependencies: argparse "^1.0.7" - esprima "^2.6.0" + esprima "^3.1.1" -js-yaml@~3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" +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.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" -jsdom@^9.9.1: - version "9.9.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.9.1.tgz#84f3972ad394ab963233af8725211bce4d01bfd5" +jsdom@^9.11.0: + version "9.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" dependencies: - abab "^1.0.0" - acorn "^2.4.0" - acorn-globals "^1.0.4" + 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.0 < 0.4.0" - cssstyle ">= 0.2.36 < 0.3.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" escodegen "^1.6.1" html-encoding-sniffer "^1.0.1" - iconv-lite "^0.4.13" nwmatcher ">= 1.3.9 < 2.0.0" parse5 "^1.5.1" - request "^2.55.0" - sax "^1.1.4" - symbol-tree ">= 3.1.0 < 4.0.0" - tough-cookie "^2.3.1" - webidl-conversions "^3.0.1" + request "^2.79.0" + 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.1.0" - xml-name-validator ">= 2.0.1 < 3.0.0" + whatwg-url "^4.3.0" + xml-name-validator "^2.0.1" jsesc@^1.3.0: version "1.3.0" @@ -3464,7 +3595,7 @@ json-stringify-safe@5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" -json5@^0.5.0: +json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -3477,25 +3608,23 @@ jsonpointer@^4.0.0: resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" jsprim@^1.2.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" dependencies: + assert-plus "1.0.0" extsprintf "1.0.2" json-schema "0.2.3" verror "1.3.6" jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.5.tgz#9ba6297198d9f754594d62e59496ffb923778dd4" - dependencies: - acorn-jsx "^3.0.1" - object-assign "^4.1.0" + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + version "3.2.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07" dependencies: - is-buffer "^1.0.2" + is-buffer "^1.1.5" lazy-cache@^1.0.3: version "1.0.4" @@ -3507,6 +3636,10 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +leven@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3514,6 +3647,64 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lint-staged@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.0.tgz#52fa85dfc92bb1c6fe8ad0d0d98ca13924e03e4b" + dependencies: + app-root-path "^2.0.0" + cosmiconfig "^1.1.0" + execa "^0.6.0" + listr "^0.11.0" + minimatch "^3.0.0" + npm-which "^3.0.1" + staged-git-files "0.0.4" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + +listr-update-renderer@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz#44dc01bb0c34a03c572154d4d08cde9b1dc5620f" + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +listr@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.11.0.tgz#5e778bc23806ac3ab984ed75564458151f39b03e" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + figures "^1.7.0" + indent-string "^2.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.2.0" + listr-verbose-renderer "^0.4.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + ora "^0.2.3" + rxjs "^5.0.0-beta.11" + stream-to-observable "^0.1.0" + strip-ansi "^3.0.1" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -3524,11 +3715,11 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -loader-runner@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.2.0.tgz#824c1b699c4e7a2b6501b85902d5b862bf45b3fa" +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@0.2.16, loader-utils@0.2.x, loader-utils@^0.2.11, loader-utils@^0.2.16, loader-utils@^0.2.3, loader-utils@^0.2.7, loader-utils@~0.2.2, loader-utils@~0.2.5: +loader-utils@0.2.16: version "0.2.16" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d" dependencies: @@ -3537,6 +3728,30 @@ loader-utils@0.2.16, loader-utils@0.2.x, loader-utils@^0.2.11, loader-utils@^0.2 json5 "^0.5.0" object-assign "^4.0.1" +loader-utils@0.2.x, loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + lodash-es@^4.2.0, lodash-es@^4.2.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" @@ -3556,17 +3771,6 @@ lodash._baseassign@^3.0.0: lodash._basecopy "^3.0.0" lodash.keys "^3.0.0" -lodash._baseclone@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz#303519bf6393fe7e42f34d8b630ef7794e3542b7" - dependencies: - lodash._arraycopy "^3.0.0" - lodash._arrayeach "^3.0.0" - lodash._baseassign "^3.0.0" - lodash._basefor "^3.0.0" - lodash.isarray "^3.0.0" - lodash.keys "^3.0.0" - lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" @@ -3603,10 +3807,6 @@ lodash.assign@^3.2.0: lodash._createassigner "^3.0.0" lodash.keys "^3.0.0" -lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.1.0, lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - lodash.assignin@^4.0.9: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" @@ -3619,17 +3819,6 @@ 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@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db" - dependencies: - lodash._baseclone "^3.0.0" - lodash._bindcallback "^3.0.0" - -lodash.compact@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.compact/-/lodash.compact-3.0.1.tgz#540ce3837745975807471e16b4a2ba21e7256ca5" - lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" @@ -3638,7 +3827,7 @@ lodash.defaults@^4.0.1: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" -lodash.filter@^4.4.0: +lodash.filter@^4.4.0, lodash.filter@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" @@ -3650,10 +3839,6 @@ lodash.foreach@^4.3.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" -lodash.indexof@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/lodash.indexof/-/lodash.indexof-4.0.5.tgz#53714adc2cddd6ed87638f893aa9b6c24e31ef3c" - lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -3662,6 +3847,10 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +lodash.isnil@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lodash.isnil/-/lodash.isnil-4.0.0.tgz#49e28cd559013458c814c5479d3c663a21bfaa6c" + lodash.isplainobject@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz#9a8238ae16b200432960cd7346512d0123fbf4c5" @@ -3678,7 +3867,7 @@ lodash.istypedarray@^3.0.0: version "3.0.6" resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62" -lodash.keys@^3.0.0: +lodash.keys@^3.0.0, lodash.keys@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" dependencies: @@ -3697,7 +3886,7 @@ 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.0: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -3717,7 +3906,7 @@ lodash.merge@^3.3.2: lodash.keysin "^3.0.0" lodash.toplainobject "^3.0.0" -lodash.merge@^4.4.0: +lodash.merge@^4.4.0, lodash.merge@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" @@ -3729,9 +3918,9 @@ lodash.pick@^4.2.1: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" -lodash.pickby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" +lodash.range@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d" lodash.reduce@4.6.0, lodash.reduce@^4.4.0: version "4.6.0" @@ -3756,27 +3945,51 @@ lodash.toplainobject@^3.0.0: lodash._basecopy "^3.0.0" lodash.keysin "^3.0.0" -lodash.uniq@^4.3.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.0.0, lodash@^4.11.2, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@^4.7.0: +lodash@4.17.4, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@^4.7.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + dependencies: + chalk "^1.0.0" + +log-update@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + dependencies: + ansi-escapes "^1.0.0" + cli-cursor "^1.0.2" + +loglevel-colored-level-prefix@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz#6a40218fdc7ae15fc76c3d0f3e676c465388603e" + dependencies: + chalk "^1.1.3" + loglevel "^1.4.1" + +loglevel@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.4.1.tgz#95b383f91a3c2756fd4ab093667e4309161f2bcd" + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: - js-tokens "^2.0.0" + js-tokens "^3.0.0" lower-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.3.tgz#c92393d976793eee5ba4edb583cf8eae35bd9bfb" + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" lru-cache@^4.0.1: version "4.0.2" @@ -3789,33 +4002,27 @@ macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" +make-plural@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-3.0.6.tgz#2033a03bac290b8f3bb91258f65b9df7e8b01ca7" + optionalDependencies: + minimist "^1.2.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" dependencies: tmpl "1.0.x" -marked-terminal@^1.6.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904" - dependencies: - cardinal "^1.0.0" - chalk "^1.1.3" - cli-table "^0.3.1" - lodash.assign "^4.2.0" - node-emoji "^1.4.1" - -marked@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" +map-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" math-expression-evaluator@^1.2.14: - version "1.2.14" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.14.tgz#39511771ed9602405fba9affff17eb4d2a3843ab" - dependencies: - lodash.indexof "^4.0.5" + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" -md5@2.2.1, md5@^2.0.0, md5@^2.1.0, md5@^2.2.1: +md5@2.2.1, md5@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" dependencies: @@ -3834,13 +4041,6 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -memory-fs@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -3849,6 +4049,20 @@ merge@^1.1.3: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" +messageformat-parser@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/messageformat-parser/-/messageformat-parser-1.0.0.tgz#3dea21419f141c50026a29d4b2239203ad613d3f" + +messageformat@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/messageformat/-/messageformat-1.0.2.tgz#908f4691f29ff28dae35c45436a24cff93402388" + dependencies: + glob "~7.0.6" + make-plural "~3.0.6" + messageformat-parser "^1.0.0" + nopt "~3.0.6" + reserved-words "^0.1.1" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -3878,17 +4092,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.24.0 < 2", mime-db@~1.25.0: - version "1.25.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" +"mime-db@>= 1.27.0 < 2", mime-db@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7: - version "2.1.13" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: + version "2.1.15" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: - mime-db "~1.25.0" + mime-db "~1.27.0" -mime@1.3.4, mime@^1.2.11, mime@^1.3.4: +mime@1.3.4, mime@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" @@ -3902,7 +4116,11 @@ minimalistic-assert@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" -"minimatch@2 || 3", minimatch@3.0.3, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" dependencies: @@ -3912,7 +4130,7 @@ minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^1.1.1, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -3922,17 +4140,42 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd dependencies: minimist "0.0.8" +modernizr-loader@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/modernizr-loader/-/modernizr-loader-1.0.1.tgz#e52a6f9a12578b944abbd6cbd65c863ea4a83f49" + +modernizr@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/modernizr/-/modernizr-3.5.0.tgz#396a02231bdc54628bbde2c0813a8e884c7e8060" + dependencies: + doctrine "1.2.3" + file "0.2.2" + find-parent-dir "0.3.0" + lodash "4.17.4" + mkdirp "0.5.1" + remarkable "^1.6.2" + requirejs "2.1.22" + yargs "7.0.2" + 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" + mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" nan@^2.3.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8" + version "2.6.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" natural-compare@^1.4.0: version "1.4.0" @@ -3958,12 +4201,6 @@ nocache@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.0.0.tgz#202b48021a0c4cbde2df80de15a17443c8b43980" -node-emoji@^1.4.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.5.0.tgz#9a0d9fe03fd43afa357d6d8e439aa31e599959b7" - dependencies: - string.prototype.codepointat "^0.2.0" - node-fetch@^1.0.1: version "1.6.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" @@ -4003,31 +4240,35 @@ node-libs-browser@^2.0.0: util "^0.10.3" vm-browserify "0.0.4" -node-notifier@4.6.1, node-notifier@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3" +node-notifier@5.1.2, node-notifier@^5.0.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff" dependencies: - cli-usage "^0.1.1" - growly "^1.2.0" - lodash.clonedeep "^3.0.0" - minimist "^1.1.1" - semver "^5.1.0" + growly "^1.3.0" + semver "^5.3.0" shellwords "^0.1.0" - which "^1.0.5" + which "^1.2.12" node-pre-gyp@^0.6.29: - version "0.6.32" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5" + version "0.6.34" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" dependencies: - mkdirp "~0.5.1" - nopt "~3.0.6" - npmlog "^4.0.1" - rc "~1.1.6" - request "^2.79.0" - rimraf "~2.5.4" - semver "~5.3.0" - tar "~2.2.1" - tar-pack "~3.3.0" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "^2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" nopt@~3.0.6: version "3.0.6" @@ -4036,36 +4277,62 @@ nopt@~3.0.6: abbrev "1" normalize-package-data@^2.3.2: - version "2.3.5" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + version "2.3.8" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + normalize-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + 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.8.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.8.0.tgz#a9550b079aa3523c85d78df24eef1959fce359ab" + 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" -normalize.css@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-5.0.0.tgz#7cec875ce8178a5333c4de80b68ea9c18b9d7c37" +normalize.css@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-6.0.0.tgz#22188c2707c911fb3ad3c1aac0677ff68661bea8" + +npm-path@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe" + dependencies: + which "^1.2.10" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npm-which@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" + dependencies: + commander "^2.9.0" + npm-path "^2.0.2" + which "^1.2.10" -npmlog@^4.0.1: +npmlog@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" dependencies: @@ -4096,9 +4363,9 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" object-is@^1.0.1: version "1.0.1" @@ -4145,9 +4412,9 @@ object.values@^1.0.3: function-bind "^1.1.0" has "^1.0.1" -offline-plugin@4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.5.4.tgz#820f5e2465c160c8b2fad2835747df9c3b4dc0cc" +offline-plugin@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.7.0.tgz#4c2fca6cd46c6dd7f29fc94ade21e5f82a62c4df" dependencies: deep-extend "^0.4.0" ejs "^2.3.4" @@ -4165,25 +4432,19 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@^1.3.0, once@^1.4.0: +once@^1.3.0, once@^1.3.3, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" -once@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" -opener@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.2.tgz#b32582080042af8680c389a499175b4c54fff523" +opener@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" optimist@^0.6.1: version "0.6.1" @@ -4203,11 +4464,20 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +ora@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" + dependencies: + chalk "^1.1.1" + cli-cursor "^1.0.2" + cli-spinners "^0.1.2" + object-assign "^4.0.1" + os-browserify@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" -os-homedir@^1.0.0: +os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -4221,6 +4491,13 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +osenv@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + output-file-sync@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" @@ -4229,19 +4506,33 @@ output-file-sync@^1.1.0: mkdirp "^0.5.1" object-assign "^4.1.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" param-case@2.1.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.0.tgz#2619f90fd6c829ed0b958f1c84ed03a745a6d70a" + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" dependencies: no-case "^2.2.0" parse-asn1@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23" + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -4282,6 +4573,10 @@ path-exists@^2.0.0: dependencies: pinkie-promise "^2.0.0" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -4290,6 +4585,10 @@ path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" @@ -4318,6 +4617,10 @@ pbkdf2@^3.0.3: dependencies: create-hmac "^1.1.2" +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: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4344,9 +4647,9 @@ pkg-up@^1.0.0: dependencies: find-up "^1.0.0" -platform@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.1.tgz#492210892335bd3131c0a08dda2d93ec3543e423" +platform@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.3.tgz#646c77011899870b6a0903e75e997e8e51da7461" pluralize@^1.2.1: version "1.2.1" @@ -4361,16 +4664,16 @@ postcss-calc@^5.2.0: reduce-css-calc "^1.2.6" postcss-colormin@^2.1.8: - version "2.2.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.1.tgz#dc5421b6ae6f779ef6bfd47352b94abe59d0316b" + 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.0" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.0.tgz#08c6d06130fe58a91a21ff50829e1aad6a3a1acc" + 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" @@ -4382,8 +4685,8 @@ postcss-discard-comments@^2.0.4: postcss "^5.0.14" postcss-discard-duplicates@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.2.tgz#02be520e91571ffb10738766a981d5770989bb32" + 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" @@ -4422,15 +4725,16 @@ postcss-merge-idents@^2.1.5: postcss-value-parser "^3.1.1" postcss-merge-longhand@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.1.tgz#ff59b5dec6d586ce2cea183138f55c5876fa9cdc" + 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.0" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.0.tgz#24f28e70e3bdd9d4ffcc9d2814572ba7856df217" + 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" @@ -4516,8 +4820,8 @@ postcss-normalize-url@^3.0.7: postcss-value-parser "^3.2.3" postcss-ordered-values@^2.1.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.2.tgz#be8b511741fab2dac8e614a2302e9d10267b0771" + 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" @@ -4544,8 +4848,8 @@ postcss-reduce-transforms@^1.0.3: postcss-value-parser "^3.0.1" postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.2.tgz#3d70f5adda130da51c7c0c2fc023f56b1374fe08" + 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" @@ -4580,14 +4884,14 @@ postcss-zindex@^2.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.8: - version "5.2.9" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.9.tgz#282a644f92d4b871ade2d3ce8bd0ea46f18317b6" +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.1.2" + supports-color "^3.2.3" prelude-ls@~1.1.2: version "1.1.2" @@ -4601,30 +4905,81 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" +prettier-eslint-cli@3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-3.4.1.tgz#467bbf2caa0adddbed67bfc6f75b0a0cceb82311" + dependencies: + arrify "^1.0.1" + babel-runtime "^6.23.0" + boolify "^1.0.0" + camelcase-keys "^4.1.0" + chalk "^1.1.3" + common-tags "^1.4.0" + find-up "^2.1.0" + get-stdin "^5.0.1" + glob "^7.1.1" + ignore "^3.2.7" + indent-string "^3.1.0" + lodash.memoize "^4.1.2" + loglevel-colored-level-prefix "^1.0.0" + messageformat "^1.0.2" + prettier-eslint "^5.1.0" + rxjs "^5.3.0" + yargs "^7.0.2" + +prettier-eslint@5.1.0, prettier-eslint@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-5.1.0.tgz#cee9aaaa9f3370665e5897057313a823da0932e2" + dependencies: + common-tags "^1.4.0" + dlv "^1.1.0" + eslint "^3.19.0" + indent-string "^3.1.0" + lodash.merge "^4.6.0" + loglevel-colored-level-prefix "^1.0.0" + prettier "^1.0.2" + pretty-format "^19.0.0" + require-relative "^0.8.7" + +prettier@1.2.2, prettier@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.2.2.tgz#22d17c1132faaaea1f1d4faea31f19f7a1959f3e" + dependencies: + ast-types "0.9.8" + babel-code-frame "6.22.0" + babylon "7.0.0-beta.8" + chalk "1.1.3" + esutils "2.0.2" + flow-parser "0.43.0" + get-stdin "5.0.1" + glob "7.1.1" + jest-validate "19.0.0" + minimist "1.2.0" + pretty-error@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.0.2.tgz#a7db19cbb529ca9f0af3d3a2f77d5caf8e5dec23" + version "2.1.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" dependencies: - renderkid "~2.0.0" + renderkid "^2.0.1" utila "~0.4" -pretty-format@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-18.1.0.tgz#fb65a86f7a7f9194963eee91865c1bcf1039e284" +pretty-format@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" dependencies: - ansi-styles "^2.2.1" + ansi-styles "^3.0.0" private@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" process@^0.11.0: - version "0.11.9" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" process@~0.5.1: version "0.5.2" @@ -4634,18 +4989,24 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" -promise@^7.0.3, promise@^7.1.1: +promise@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" dependencies: asap "~2.0.3" -proxy-addr@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.2.tgz#b4cc5f22610d9535824c123aef9d3cf73c40ba37" +prop-types@15.5.8, prop-types@^15.0.0, prop-types@^15.5.4, prop-types@^15.5.7, prop-types@~15.5.7: + version "15.5.8" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" + dependencies: + fbjs "^0.8.9" + +proxy-addr@~1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" dependencies: forwarded "~0.1.0" - ipaddr.js "1.1.1" + ipaddr.js "1.3.0" prr@~0.0.0: version "0.0.0" @@ -4674,20 +5035,16 @@ punycode@^1.2.4, punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" q@^1.1.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" - -qs@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" + version "1.5.0" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" +qs@6.4.0, qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" -query-string@4.2.3, query-string@^4.1.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.2.3.tgz#9f27273d207a25a8ee4c7b8c74dcd45d556db822" +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" @@ -4700,6 +5057,10 @@ querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" +quick-lru@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.0.0.tgz#7fa80304ab72c1f81cef738739cd47d7cc0c8bff" + randomatic@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" @@ -4715,51 +5076,53 @@ range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -rc@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" +rc@^1.1.7: + version "1.2.1" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" dependencies: deep-extend "~0.4.0" ini "~1.3.0" minimist "^1.2.0" - strip-json-comments "~1.0.4" + strip-json-comments "~2.0.1" -react-addons-test-utils@15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.4.2.tgz#93bcaa718fcae7360d42e8fb1c09756cc36302a2" +react-addons-test-utils@15.5.1: + version "15.5.1" + resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.5.1.tgz#e0d258cda2a122ad0dff69f838260d0c3958f5f7" dependencies: fbjs "^0.8.4" object-assign "^4.1.0" -react-broadcast@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/react-broadcast/-/react-broadcast-0.1.2.tgz#950de63578a2af399a396067a617af7402182330" +react-async-bootstrapper@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/react-async-bootstrapper/-/react-async-bootstrapper-1.1.1.tgz#130153c064558edf5fae6500db4e2081662fa323" dependencies: - invariant "^2.2.1" + react-tree-walker "^2.1.1" + +react-async-component@1.0.0-beta.3: + version "1.0.0-beta.3" + resolved "https://registry.yarnpkg.com/react-async-component/-/react-async-component-1.0.0-beta.3.tgz#72f79feecd47c7345dc15e24eec86d81a0ce320c" react-deep-force-update@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.0.1.tgz#4f7f6c12c3e7de42f345992a3c518236fa1ecad3" -react-dom@15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.3.1.tgz#6d42cd2b64c8c5e0b693f3ffaec301e6e627e24e" - -react-dom@15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz#015363f05b0a1fd52ae9efdd3a0060d90695208f" +react-dom@15.5.4: + version "15.5.4" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da" dependencies: - fbjs "^0.8.1" + fbjs "^0.8.9" loose-envify "^1.1.0" object-assign "^4.1.0" + prop-types "~15.5.7" -react-helmet@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-3.3.0.tgz#419933e7ce5a75d04aab3fefe77169eed8e55646" +react-helmet@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.0.3.tgz#c6da63ee96e83aa7c8fe6d041f28dd288b1b006d" dependencies: - deep-equal "1.0.1" - object-assign "^4.0.1" - react-side-effect "1.0.2" + deep-equal "^1.0.1" + object-assign "^4.1.1" + prop-types "^15.5.4" + react-side-effect "^1.1.0" react-hot-loader@3.0.0-beta.6: version "3.0.0-beta.6" @@ -4772,11 +5135,9 @@ react-hot-loader@3.0.0-beta.6: redbox-react "^1.2.5" source-map "^0.4.4" -react-jobs@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/react-jobs/-/react-jobs-0.6.1.tgz#def655ed320b6a70a9c6918e45bcc8fd62a0f72c" - dependencies: - react-tree-walker "^0.0.1" +react-jobs@1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/react-jobs/-/react-jobs-1.0.0-beta.2.tgz#2cfbef56382f6ef99a240d9290e01ec2b98b1bee" react-proxy@^3.0.0-alpha.0: version "3.0.0-alpha.1" @@ -4784,50 +5145,65 @@ react-proxy@^3.0.0-alpha.0: dependencies: lodash "^4.6.1" -react-redux@5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.2.tgz#3d9878f5f71c6fafcd45de1fbb162ea31f389814" +react-redux@5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.4.tgz#1563babadcfb2672f57f9ceaa439fb16bf85d55b" dependencies: + create-react-class "^15.5.1" hoist-non-react-statics "^1.0.3" invariant "^2.0.0" lodash "^4.2.0" lodash-es "^4.2.0" loose-envify "^1.1.0" + prop-types "^15.0.0" -react-router@4.0.0-alpha.6: - version "4.0.0-alpha.6" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.0.0-alpha.6.tgz#239fcf9a6ba7997021022c9b51d72d370f7b6bf4" +react-router-dom@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.1.1.tgz#3021ade1f2c160af97cf94e25594c5f294583025" dependencies: - history "^4.3.0" - path-to-regexp "^1.5.3" - query-string "4.2.3" - react-broadcast "^0.1.2" + history "^4.5.1" + loose-envify "^1.3.1" + prop-types "^15.5.4" + react-router "^4.1.1" -react-side-effect@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.0.2.tgz#98e354decdbf0281e4223d87852d33e345eda561" +react-router@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.1.1.tgz#d448f3b7c1b429a6fbb03395099949c606b1fe95" dependencies: - fbjs "0.1.0-alpha.10" + history "^4.6.0" + hoist-non-react-statics "^1.2.0" + invariant "^2.2.2" + loose-envify "^1.3.1" + path-to-regexp "^1.5.3" + prop-types "^15.5.4" + warning "^3.0.0" -react-tree-walker@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/react-tree-walker/-/react-tree-walker-0.0.1.tgz#101aead5bd6f23a25df29680046ee73e8d82f9d6" +react-side-effect@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.1.0.tgz#57209f7ebc940d55e0fda82fe51422654175d609" + dependencies: + exenv "^1.2.1" + shallowequal "^0.2.2" -react@15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-15.3.1.tgz#f78501ed8c2ec6e6e31c3223652e97f1369d2bd6" +react-test-renderer@15.5.4: + version "15.5.4" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.5.4.tgz#d4ebb23f613d685ea8f5390109c2d20fbf7c83bc" dependencies: - fbjs "^0.8.4" - loose-envify "^1.1.0" + fbjs "^0.8.9" object-assign "^4.1.0" -react@15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef" +react-tree-walker@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/react-tree-walker/-/react-tree-walker-2.1.1.tgz#80ab80a0caa78f029fea39f42306b13b5d51bb8d" + +react@15.5.4: + version "15.5.4" + resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047" dependencies: - fbjs "^0.8.4" + fbjs "^0.8.9" loose-envify "^1.1.0" object-assign "^4.1.0" + prop-types "^15.5.7" read-pkg-up@^1.0.1: version "1.0.1" @@ -4853,28 +5229,16 @@ readable-stream@1.0: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2, readable-stream@^2.2.6: + version "2.2.9" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" dependencies: - buffer-shims "^1.0.0" + buffer-shims "~1.0.0" core-util-is "~1.0.0" inherits "~2.0.1" isarray "~1.0.0" process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" + string_decoder "~1.0.0" util-deprecate "~1.0.1" readdirp@^2.0.0: @@ -4901,17 +5265,12 @@ rechoir@^0.6.2: resolve "^1.1.6" redbox-react@^1.2.5: - version "1.3.3" - resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.3.3.tgz#63ec9c2cb9c620c46e2b9f8543b4898f1b787e41" + version "1.3.6" + resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.3.6.tgz#70314c57c066257eb70b0a24dc794b5cef4f1c4e" dependencies: error-stack-parser "^1.3.6" object-assign "^4.0.1" - -redeyed@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" - dependencies: - esprima "~3.0.0" + prop-types "^15.5.4" reduce-css-calc@^1.2.6: version "1.3.0" @@ -4927,9 +5286,9 @@ reduce-function-call@^1.0.1: dependencies: balanced-match "^0.4.2" -redux-thunk@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.1.0.tgz#c724bfee75dbe352da2e3ba9bc14302badd89a98" +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: version "3.6.0" @@ -4948,17 +5307,13 @@ regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" -regenerator-runtime@0.10.1, regenerator-runtime@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" - -regenerator-runtime@^0.9.5: - version "0.9.6" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" +regenerator-runtime@0.10.3, regenerator-runtime@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" -regenerator-transform@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" +regenerator-transform@0.9.11: + version "0.9.11" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" dependencies: babel-runtime "^6.18.0" babel-types "^6.19.0" @@ -5001,9 +5356,20 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" -renderkid@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.0.tgz#1859753e7a5adbf35443aba0d4e4579e78abee85" +remarkable@^1.6.2: + version "1.7.1" + resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.1.tgz#aaca4972100b66a642a63a1021ca4bac1be3bff6" + dependencies: + argparse "~0.1.15" + autolinker "~0.15.0" + +remove-trailing-separator@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + +renderkid@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" dependencies: css-select "^1.1.0" dom-converter "~0.1" @@ -5025,18 +5391,18 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@^2.55.0, request@^2.69.0, request@^2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" +request@^2.79.0, request@^2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" - caseless "~0.11.0" + caseless "~0.12.0" combined-stream "~1.0.5" extend "~3.0.0" forever-agent "~0.6.1" form-data "~2.1.1" - har-validator "~2.0.6" + har-validator "~4.2.1" hawk "~3.1.3" http-signature "~1.1.0" is-typedarray "~1.0.0" @@ -5044,20 +5410,30 @@ request@^2.55.0, request@^2.69.0, request@^2.79.0: json-stringify-safe "~5.0.1" mime-types "~2.1.7" oauth-sign "~0.8.1" - qs "~6.3.0" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" stringstream "~0.0.4" tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" + tunnel-agent "^0.6.0" uuid "^3.0.0" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" +require-relative@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" + require-uncached@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" @@ -5065,21 +5441,31 @@ require-uncached@^1.0.2: caller-path "^0.1.0" resolve-from "^1.0.0" +requirejs@2.1.22: + version "2.1.22" + resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.1.22.tgz#dd78fd2d34180c0d62c724b5b8aebc0664e0366f" + +reserved-words@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.1.tgz#6f7c15e5e5614c50da961630da46addc87c0cef2" + resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" resolve-pathname@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.0.2.tgz#e55c016eb2e9df1de98e85002282bfb38c630436" + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.1.0.tgz#e8358801b86b83b17560d4e3c382d7aef2100944" resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" resolve@^1.1.6, resolve@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" + version "1.3.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" + dependencies: + path-parse "^1.0.5" restore-cursor@^1.0.1: version "1.0.1" @@ -5094,16 +5480,12 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@2.5.4, rimraf@^2.2.8, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@~2.5.1, rimraf@~2.5.4: - version "2.5.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" +rimraf@2, rimraf@2.6.1, rimraf@^2.2.8, rimraf@^2.4.4, rimraf@^2.5.1, rimraf@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - ripemd160@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" @@ -5114,18 +5496,25 @@ run-async@^0.1.0: dependencies: once "^1.3.0" -rx-lite@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" -sane@~1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" +rxjs@^5.0.0-beta.11, rxjs@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.3.0.tgz#d88ccbdd46af290cbdb97d5d8055e52453fabe2d" + dependencies: + symbol-observable "^1.0.1" + +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" dependencies: + anymatch "^1.3.0" exec-sh "^0.2.0" fb-watchman "^1.8.0" minimatch "^3.0.2" @@ -5133,44 +5522,44 @@ sane@~1.4.1: walker "~1.0.5" watch "~0.10.0" -sax@^1.1.4, sax@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" +sax@^1.2.1, sax@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" -"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: +"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" -send@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" +send@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f" dependencies: - debug "~2.2.0" + debug "2.6.1" depd "~1.1.0" destroy "~1.0.4" encodeurl "~1.0.1" escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.5.0" + etag "~1.8.0" + fresh "0.5.0" + http-errors "~1.6.1" mime "1.3.4" - ms "0.7.1" + ms "0.7.2" on-finished "~2.3.0" range-parser "~1.2.0" - statuses "~1.3.0" + statuses "~1.3.1" serialize-javascript@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" -serve-static@~1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" +serve-static@1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039" dependencies: encodeurl "~1.0.1" escape-html "~1.0.3" parseurl "~1.3.1" - send "0.14.1" + send "0.15.1" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -5184,9 +5573,9 @@ setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" -setprototypeof@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" sha.js@^2.3.6: version "2.4.8" @@ -5194,9 +5583,25 @@ sha.js@^2.3.6: dependencies: inherits "^2.0.1" -shelljs@^0.7.0, shelljs@^0.7.5: - version "0.7.6" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" +shallowequal@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e" + dependencies: + lodash.keys "^3.1.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shelljs@^0.7.5: + version "0.7.7" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5230,26 +5635,30 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" -source-list-map@^0.1.4, source-list-map@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.7.tgz#d4b5ce2a46535c72c7e8527c71a77d250618172e" +source-list-map@^0.1.7, 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-map-support@0.4.8, source-map-support@^0.4.2: - version "0.4.8" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.8.tgz#4871918d8a3af07289182e974e32844327b2e98b" +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" + +source-map-support@0.4.14, source-map-support@^0.4.2: + version "0.4.14" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef" dependencies: - source-map "^0.5.3" + source-map "^0.5.6" + +source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, 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.x, source-map@^0.4.4: +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.5.0, source-map@^0.5.3, source-map@^0.5.6, 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.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" @@ -5275,8 +5684,8 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + version "1.13.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5293,7 +5702,11 @@ stackframe@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4" -"statuses@>= 1.3.1 < 2", statuses@~1.3.0: +staged-git-files@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35" + +"statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" @@ -5305,19 +5718,29 @@ stream-browserify@^2.0.1: readable-stream "^2.0.2" stream-http@^2.3.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.0.tgz#adf3309ced17624ebfb7ef13e6ac4cfe405a8b12" + version "2.7.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6" dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" - readable-stream "^2.1.0" + readable-stream "^2.2.6" to-arraybuffer "^1.0.0" xtend "^4.0.0" +stream-to-observable@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" + 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.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" + dependencies: + strip-ansi "^3.0.0" + string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -5326,14 +5749,23 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string.prototype.codepointat@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78" +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" +string_decoder@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" + dependencies: + buffer-shims "~1.0.0" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -5344,95 +5776,89 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-bom@3.0.0, strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-json-comments@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -style-loader@0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.1.tgz#468280efbc0473023cd3a6cd56e33b5a1d7fc3a9" +style-loader@0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.16.1.tgz#50e325258d4e78421dd9680636b41e8661595d10" dependencies: - loader-utils "^0.2.7" - -supports-color@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + loader-utils "^1.0.2" supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.0, supports-color@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" +supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: has-flag "^1.0.0" svgo@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.1.tgz#287320fed972cb097e72c2bb1685f96fe08f8034" + 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.2.1" - js-yaml "~3.6.1" + csso "~2.3.1" + js-yaml "~3.7.0" mkdirp "~0.5.1" sax "~1.2.1" whet.extend "~0.9.9" -symbol-observable@^1.0.2: +symbol-observable@^1.0.1, symbol-observable@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" -"symbol-tree@>= 3.1.0 < 4.0.0": - version "3.2.1" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.1.tgz#8549dd1d01fa9f893c18cc9ab0b106b4d9b168cb" +symbol-tree@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@3.7.8, table@^3.7.8: - version "3.7.8" - resolved "https://registry.yarnpkg.com/table/-/table-3.7.8.tgz#b424433ef596851922b2fd77224a69a1951618eb" +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" dependencies: - bluebird "^3.1.1" + ajv "^4.7.0" + ajv-keywords "^1.0.0" chalk "^1.1.1" lodash "^4.0.0" slice-ansi "0.0.4" - string-width "^1.0.1" - strip-ansi "^3.0.0" - tv4 "^1.2.7" - xregexp "^3.0.0" + string-width "^2.0.0" tapable@^0.2.5, tapable@~0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.5.tgz#1ff6ce7ade58e734ca9bfe36ba342304b377a4d0" + version "0.2.6" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" -tar-pack@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" +tar-pack@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" dependencies: - debug "~2.2.0" - fstream "~1.0.10" - fstream-ignore "~1.0.5" - once "~1.3.3" - readable-stream "~2.1.4" - rimraf "~2.5.1" - tar "~2.2.1" - uid-number "~0.0.6" - -tar@~2.2.1: + debug "^2.2.0" + fstream "^1.0.10" + fstream-ignore "^1.0.5" + once "^1.3.3" + readable-stream "^2.1.4" + rimraf "^2.5.1" + tar "^2.2.1" + uid-number "^0.0.6" + +tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -5440,23 +5866,9 @@ tar@~2.2.1: fstream "^1.0.2" inherits "2" -temp@0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" - dependencies: - os-tmpdir "^1.0.0" - rimraf "~2.2.6" - -terminal-table@0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/terminal-table/-/terminal-table-0.0.12.tgz#7b56d009aa6828dfdd10f11b654e79c062965fa2" - dependencies: - colors "^1.0.3" - eastasianwidth "^0.1.0" - -test-exclude@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977" +test-exclude@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.0.3.tgz#86a13ce3effcc60e6c90403cf31a27a60ac6c4e7" dependencies: arrify "^1.0.1" micromatch "^2.3.11" @@ -5472,7 +5884,7 @@ throat@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/throat/-/throat-3.0.0.tgz#e7c64c867cbb3845f10877642f7b60055b8ec0d6" -through@^2.3.6, through@^2.3.8: +through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -5495,10 +5907,10 @@ to-fast-properties@^1.0.1: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" toposort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.0.tgz#b66cf385a1a8a8e68e45b8259e7f55875e8b06ef" + version "1.0.3" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" -tough-cookie@^2.3.1, 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: @@ -5508,6 +5920,10 @@ tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" @@ -5516,13 +5932,11 @@ tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tv4@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.2.7.tgz#bd29389afc73ade49ae5f48142b5d544bf68d120" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" @@ -5534,12 +5948,12 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-is@^1.6.12, type-is@~1.6.13: - version "1.6.14" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" +type-is@^1.6.12, type-is@~1.6.14: + version "1.6.15" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: media-typer "0.3.0" - mime-types "~2.1.13" + mime-types "~2.1.15" typedarray@^0.0.6: version "0.0.6" @@ -5549,23 +5963,31 @@ ua-parser-js@^0.7.9: version "0.7.12" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" -uglify-js@2.7.x, uglify-js@^2.6, uglify-js@^2.7.5: - version "2.7.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" +uglify-js@^2.6, uglify-js@^2.8.5, uglify-js@~2.8.22: + version "2.8.22" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0" dependencies: - async "~0.2.6" source-map "~0.5.1" - uglify-to-browserify "~1.0.0" yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" -uid-number@~0.0.6: +uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" +underscore.string@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" + +underscore@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -5595,16 +6017,16 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" -user-home@2.0.0, user-home@^2.0.0: +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +user-home@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" dependencies: os-homedir "^1.0.0" -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -5636,8 +6058,8 @@ uuid@^2.0.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" v8flags@^2.0.10: - version "2.0.11" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" dependencies: user-home "^1.1.1" @@ -5649,12 +6071,12 @@ validate-npm-package-license@^3.0.1: spdx-expression-parse "~1.0.0" value-equal@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.2.0.tgz#4f41c60a3fc011139a2ec3d3340a8998ae8b69c0" + version "0.2.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.2.1.tgz#c220a304361fce6994dbbedaa3c7e1a1b895871d" vary@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" + version "1.1.1" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" vendors@^1.0.0: version "1.0.1" @@ -5688,47 +6110,51 @@ watch@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" -watchpack@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.2.0.tgz#15d4620f1e7471f13fcb551d5c030d2c3eb42dbb" +watchpack@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" dependencies: async "^2.1.2" chokidar "^1.4.3" graceful-fs "^4.1.2" -webidl-conversions@^3.0.0, webidl-conversions@^3.0.1: +webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" -webpack-bundle-analyzer@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.2.1.tgz#a90edc00eb9cea917d2af009529decf71d7f4a84" +webidl-conversions@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" + +webpack-bundle-analyzer@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.4.0.tgz#e406b016e7452bc864793848c79308782accba8e" dependencies: - acorn "^4.0.3" + acorn "^5.0.3" chalk "^1.1.3" commander "^2.9.0" - ejs "^2.5.5" - express "^4.14.0" - filesize "^3.3.0" + ejs "^2.5.6" + express "^4.15.2" + filesize "^3.5.6" gzip-size "^3.0.0" - lodash "^4.17.2" + lodash "^4.17.4" mkdirp "^0.5.1" - opener "^1.4.2" + opener "^1.4.3" -webpack-dev-middleware@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.9.0.tgz#a1c67a3dfd8a5c5d62740aa0babe61758b4c84aa" +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" dependencies: memory-fs "~0.4.1" mime "^1.3.4" path-is-absolute "^1.0.0" range-parser "^1.0.3" -webpack-hot-middleware@2.15.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.15.0.tgz#71995af7c0025f109df482f86f1e10379526d026" +webpack-hot-middleware@2.18.0: + version "2.18.0" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.0.tgz#a16bb535b83a6ac94a78ac5ebce4f3059e8274d3" dependencies: - ansi-html "0.0.6" + ansi-html "0.0.7" html-entities "^1.2.0" querystring "^0.2.0" strip-ansi "^3.0.0" @@ -5744,17 +6170,24 @@ webpack-node-externals@1.5.4: resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.5.4.tgz#ea05ba17108a23e776c35c42e7bb0e86c225be00" webpack-sources@^0.1.0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.3.tgz#15ce2fb79d0a1da727444ba7c757bf164294f310" + version "0.1.5" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" dependencies: - source-list-map "~0.1.0" + source-list-map "~0.1.7" source-map "~0.5.3" -webpack@2.2.0-rc.3: - version "2.2.0-rc.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.0-rc.3.tgz#ac072c06c88aae75abdfd33510e7c5fd965f843f" +webpack-sources@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" dependencies: - acorn "^4.0.3" + source-list-map "^1.1.1" + source-map "~0.5.3" + +webpack@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.4.1.tgz#15a91dbe34966d8a4b99c7d656efd92a2e5a6f6a" + dependencies: + acorn "^5.0.0" acorn-dynamic-import "^2.0.0" ajv "^4.7.0" ajv-keywords "^1.1.1" @@ -5762,18 +6195,18 @@ webpack@2.2.0-rc.3: enhanced-resolve "^3.0.0" interpret "^1.0.0" json-loader "^0.5.4" - loader-runner "^2.2.0" + json5 "^0.5.1" + loader-runner "^2.3.0" loader-utils "^0.2.16" - memory-fs "~0.3.0" + memory-fs "~0.4.1" mkdirp "~0.5.0" node-libs-browser "^2.0.0" - object-assign "^4.0.1" source-map "^0.5.3" supports-color "^3.1.0" tapable "~0.2.5" - uglify-js "^2.7.5" - watchpack "^1.0.0" - webpack-sources "^0.1.0" + uglify-js "^2.8.5" + watchpack "^1.3.1" + webpack-sources "^0.2.3" yargs "^6.0.0" whatwg-encoding@^1.0.1: @@ -5783,16 +6216,12 @@ whatwg-encoding@^1.0.1: iconv-lite "0.4.13" whatwg-fetch@>=0.10.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.1.tgz#078b9461bbe91cea73cbce8bb122a05f9e92b772" - -whatwg-fetch@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz#0e3684c6cb9995b43efc9df03e4c365d95fd9cc0" + version "2.0.3" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" -whatwg-url@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.2.0.tgz#abf1a3f5ff4bc2005b3f0c2119382631789d8e44" +whatwg-url@^4.3.0: + version "4.7.1" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.7.1.tgz#df4dc2e3f25a63b1fa5b32ed6d6c139577d690de" dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -5805,11 +6234,11 @@ 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.0.5, which@^1.1.1, which@^1.2.11, which@^1.2.9: - version "1.2.12" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" +which@^1.1.1, which@^1.2.10, 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: - isexe "^1.1.1" + isexe "^2.0.0" wide-align@^1.1.0: version "1.1.0" @@ -5821,10 +6250,6 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" -window-size@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" - wordwrap@0.0.2, wordwrap@~0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -5865,14 +6290,10 @@ xml-char-classes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" -"xml-name-validator@>= 2.0.1 < 3.0.0": +xml-name-validator@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" -xregexp@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-3.1.1.tgz#8ee18d75ef5c7cb3f9967f8d29414a6ca5b1a184" - "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -5882,22 +6303,8 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" yallist@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" - -yargs-parser@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" - dependencies: - camelcase "^3.0.0" - lodash.assign "^4.0.6" - -yargs-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-3.2.0.tgz#5081355d19d9d0c8c5d81ada908cb4e6d186664f" - dependencies: - camelcase "^3.0.0" - lodash.assign "^4.1.0" + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" yargs-parser@^4.2.0: version "4.2.1" @@ -5905,43 +6312,29 @@ yargs-parser@^4.2.0: dependencies: camelcase "^3.0.0" -yargs@5.0.0: +yargs-parser@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-5.0.0.tgz#3355144977d05757dbb86d6e38ec056123b3a66e" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" dependencies: - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - lodash.assign "^4.2.0" - 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" - window-size "^0.2.0" - y18n "^3.2.1" - yargs-parser "^3.2.0" + camelcase "^3.0.0" -yargs@^4.2.0: - version "4.8.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" +yargs@7.0.2, yargs@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.0.2.tgz#115b97df1321823e8b8648e8968c782521221f67" dependencies: + camelcase "^3.0.0" cliui "^3.2.0" decamelize "^1.1.1" get-caller-file "^1.0.1" - lodash.assign "^4.0.3" 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.1" + string-width "^1.0.2" which-module "^1.0.0" - window-size "^0.2.0" y18n "^3.2.1" - yargs-parser "^2.4.1" + yargs-parser "^5.0.0" yargs@^6.0.0, yargs@^6.3.0: version "6.6.0"