From 6d5922e3995357cb30fa8601319c0b66a1236626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81rgio=20Ramos?= Date: Tue, 7 Feb 2017 15:52:24 +0000 Subject: [PATCH] improve webpack config - better stack traces - disable hmr (for now) - runtime eslint - remove all async/await stuff (untill we actually need it) - reaload when modules change - show full path in compiled requires - ignore node dependencies - don't instantiate plugins unless required --- frontend/.babelrc | 42 ++-- frontend/.eslintrc | 2 +- frontend/package.json | 14 +- frontend/src/index.js | 6 +- frontend/src/root.js | 24 +-- frontend/webpack/base.js | 50 +++-- frontend/webpack/development.js | 25 ++- frontend/webpack/plugins.js | 47 +++-- frontend/webpack/production.js | 16 +- frontend/webpack/test.js | 6 +- ui/.babelrc | 42 +++- ui/.eslintrc | 2 +- ui/package.json | 12 +- ui/yarn.lock | 353 ++++++++++++++++---------------- 14 files changed, 370 insertions(+), 271 deletions(-) diff --git a/frontend/.babelrc b/frontend/.babelrc index e743e478..80bcf0f8 100644 --- a/frontend/.babelrc +++ b/frontend/.babelrc @@ -11,35 +11,41 @@ }] ], "plugins": [ - "react-hot-loader/babel", - "transform-es2015-modules-commonjs", - "transform-exponentiation-operator", - "syntax-async-functions", + "transform-class-properties", ["transform-object-rest-spread", { "useBuiltIns": true }], - ["fast-async", { - "runtimePatten": "directive", - "compiler": { - "promises": false, - "es7": true, - "lazyThenables": true - } - }] + ["transform-react-jsx", { + "useBuiltIns": true + }], + "transform-es2015-modules-commonjs", + "transform-exponentiation-operator" ], "env": { - "test": { + "development": { "plugins": [ - "transform-async-to-generator", [ - "transform-runtime", { - "polyfill": false, - "regenerator": false + "transform-react-jsx-source", + "transform-react-jsx-self" + ] + }, + "test": { + "presets": [ + ["env", { + "targets": { + "node": "current" } - ], + }] + ], + "plugins": [ ["babel-plugin-webpack-alias", { "config": "${CONFIG}" }] ] + }, + "production": { + "plugins": [ + "transform-react-constant-elements" + ] } } } diff --git a/frontend/.eslintrc b/frontend/.eslintrc index 3217aaa6..1271c186 100644 --- a/frontend/.eslintrc +++ b/frontend/.eslintrc @@ -39,7 +39,7 @@ "react/no-danger-with-children": 2, "react/no-did-mount-set-state": 2, "react/no-did-update-set-state": 2, - "react/no-multi-comp": 1, + "react/no-multi-comp": 0, "react/no-string-refs": 2, "react/no-unescaped-entities": 2, "react/no-unused-prop-types": 2, diff --git a/frontend/package.json b/frontend/package.json index 55475ac1..21672c05 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -66,26 +66,31 @@ "babel-eslint": "^7.1.1", "babel-loader": "^6.2.10", "babel-plugin-styled-components": "^1.0.0", - "babel-plugin-syntax-async-functions": "^6.13.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-class-properties": "^6.22.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.22.0", "babel-plugin-transform-object-rest-spread": "^6.22.0", + "babel-plugin-transform-react-constant-elements": "^6.22.0", + "babel-plugin-transform-react-jsx": "^6.22.0", + "babel-plugin-transform-react-jsx-self": "^6.22.0", + "babel-plugin-transform-react-jsx-source": "^6.22.0", "babel-plugin-transform-runtime": "^6.22.0", "babel-plugin-webpack-alias": "^2.1.2", "babel-plugin-webpack-loaders": "^0.8.0", "babel-preset-env": "^1.1.8", "babel-preset-react": "^6.22.0", "babel-register": "^6.22.0", + "case-sensitive-paths-webpack-plugin": "^1.1.4", "enzyme": "^2.7.1", "eslint": "^3.15.0", "eslint-config-semistandard": "^7.0.0", "eslint-config-standard": "^6.2.1", + "eslint-loader": "^1.6.1", "eslint-plugin-babel": "^4.0.1", "eslint-plugin-jsx-a11y": "^4.0.0", "eslint-plugin-promise": "^3.4.0", "eslint-plugin-react": "^6.9.0", "eslint-plugin-standard": "^2.0.1", - "fast-async": "^6.2.0", "file-loader": "^0.10.0", "jsdom": "^9.10.0", "json-loader": "^0.5.4", @@ -94,6 +99,7 @@ "nyc": "^10.1.2", "pre-commit": "^1.2.2", "react-addons-test-utils": "^15.4.2", + "react-dev-utils": "^0.4.2", "redux-ava": "^2.2.0", "simple-mock": "^0.7.3", "stylelint": "^7.8.0", @@ -101,8 +107,10 @@ "stylelint-processor-styled-components": "^0.0.4", "tap-xunit": "^1.7.0", "thenify": "^3.2.1", + "url-loader": "^0.5.7", "webpack": "^2.2.1", "webpack-dev-server": "^2.3.0", + "webpack-manifest-plugin": "^1.1.0", "webpack-shell-plugin": "^0.5.0" }, "ava": { diff --git a/frontend/src/index.js b/frontend/src/index.js index 0ae61dbd..7cff689d 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -18,6 +18,6 @@ const render = () => { render(); -if (module.hot) { - module.hot.accept('./root', render); -} +// if (module.hot) { +// module.hot.accept('./root', render); +// } diff --git a/frontend/src/root.js b/frontend/src/root.js index daa7b3fe..c1f47704 100644 --- a/frontend/src/root.js +++ b/frontend/src/root.js @@ -1,6 +1,6 @@ const React = require('react'); const ReactIntlRedux = require('react-intl-redux'); -const ReactHotLoader = require('react-hot-loader'); +// const ReactHotLoader = require('react-hot-loader'); const ReactRedux = require('react-redux'); const ReactRouter = require('react-router-dom'); @@ -11,9 +11,9 @@ const { IntlProvider } = ReactIntlRedux; -const { - AppContainer -} = ReactHotLoader; +// const { +// AppContainer +// } = ReactHotLoader; const { Provider @@ -27,14 +27,12 @@ const store = Store(require('./mock-state.json')); module.exports = () => { return ( - - - - - - - - - + + + + + + + ); }; diff --git a/frontend/webpack/base.js b/frontend/webpack/base.js index a30d9a67..2042dbf6 100644 --- a/frontend/webpack/base.js +++ b/frontend/webpack/base.js @@ -31,6 +31,7 @@ module.exports = { modules: MODULES }, output: { + pathinfo: true, path: STATIC, publicPath: '/static/', filename: '[name].js' @@ -41,7 +42,34 @@ module.exports = { plugins['shell'] ], module: { - loaders: [{ + rules: [{ + test: /js?$/, + enforce: 'pre', + use: [{ + loader: 'eslint-loader' + }], + include: [ + FRONTEND, + UI + ] + }, { + exclude: [ + /\.html$/, + /\.(js|jsx)$/, + /\.css$/, + /\.json$/, + /\.svg$/, + /\.(eot|svg|ttf|woff|woff2)$/ + ], + loader: 'url-loader', + include: [ + FRONTEND, + UI + ], + options: { + limit: 10000 + } + }, { test: /js?$/, exclude: /node_modules/, include: [ @@ -51,26 +79,6 @@ module.exports = { loaders: [ 'babel-loader' ] - }, { - test: /\.json?$/, - exclude: /node_modules/, - include: [ - FRONTEND, - UI - ], - loaders: [ - 'json-loader' - ] - }, { - test: /\.png/, - exclude: /node_modules/, - include: [ - FRONTEND, - UI - ], - loader: [ - 'url-loader' - ] }, { test: /\.svg/, exclude: [ diff --git a/frontend/webpack/development.js b/frontend/webpack/development.js index 86eaeaed..9dae8fad 100644 --- a/frontend/webpack/development.js +++ b/frontend/webpack/development.js @@ -4,6 +4,8 @@ const base = require('./base'); const devServer = { hot: true, + quiet: true, + clientLogLevel: 'none', compress: true, lazy: false, publicPath: base.output.publicPath, @@ -12,20 +14,31 @@ const devServer = { }, historyApiFallback: { index: './static/index.html' + }, + watchOptions: { + ignored: /node_modules/ } }; module.exports = Object.assign(base, { - devtool: 'eval-source-map', + devtool: 'cheap-module-source-map', entry: [ - 'react-hot-loader/patch', - 'webpack-dev-server/client?http://localhost:8080', - 'webpack/hot/only-dev-server', + 'react-dev-utils/webpackHotDevClient', base.entry ], plugins: base.plugins.concat([ - plugins['named-modules'], - plugins['hot-module-replacement'] + plugins['named-modules'](), + plugins['hot-module-replacement'](), + plugins['watch-missing-node-modules'](), + plugins['case-sensitive-paths']() ]), + node: { + fs: 'empty', + net: 'empty', + tls: 'empty' + }, + performance: { + hints: false + }, devServer }); diff --git a/frontend/webpack/plugins.js b/frontend/webpack/plugins.js index 60f569a0..8bc1c318 100644 --- a/frontend/webpack/plugins.js +++ b/frontend/webpack/plugins.js @@ -1,30 +1,53 @@ -const pkg = require('../package.json'); const webpack = require('webpack'); const WebpackShellPlugin = require('webpack-shell-plugin'); +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); +const ManifestPlugin = require('webpack-manifest-plugin'); +const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin'); // eslint-disable-line max-len +const path = require('path'); + +const pkg = require('../package.json'); +const paths = require('./paths'); + +const { + FRONTEND +} = paths; module.exports = { - 'no-errors': new webpack.NoErrorsPlugin(), - 'occurrence-order': new webpack.optimize.OccurrenceOrderPlugin(true), - 'aggressive-merging': new webpack.optimize.AggressiveMergingPlugin(), - 'hot-module-replacement': new webpack.HotModuleReplacementPlugin(), - 'named-modules': new webpack.NamedModulesPlugin(), - 'define': new webpack.DefinePlugin({ + 'manifest': () => new ManifestPlugin({ + fileName: 'asset-manifest.json' + }), + 'watch-missing-node-modules': () => new WatchMissingNodeModulesPlugin( + path.join(FRONTEND, 'node_modules') + ), + 'case-sensitive-paths': () => new CaseSensitivePathsPlugin(), + 'no-errors': () => new webpack.NoEmitOnErrorsPlugin(), + 'occurrence-order': () => new webpack.optimize.OccurrenceOrderPlugin(true), + 'aggressive-merging': () => new webpack.optimize.AggressiveMergingPlugin(), + 'hot-module-replacement': () => new webpack.HotModuleReplacementPlugin(), + 'named-modules': () => new webpack.NamedModulesPlugin(), + 'define': () => new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development'), APP_NAME: JSON.stringify(pkg.name), APP_VERSION: JSON.stringify(pkg.version) } }), - 'shell': new WebpackShellPlugin({ + 'shell': () => new WebpackShellPlugin({ onBuildStart: ['npm run build-locales'] }), - 'uglify-js': new webpack.optimize.UglifyJsPlugin({ + 'uglify-js': () => new webpack.optimize.UglifyJsPlugin({ sourceMap: true, - mangle: true, + compress: { + screw_ie8: true, + warnings: false + }, + mangle: { + screw_ie8: true + }, output: { comments: false, - indent_level: 2 + indent_level: 2, + screw_ie8: true } }) }; - diff --git a/frontend/webpack/production.js b/frontend/webpack/production.js index 0307a183..290bcd7d 100644 --- a/frontend/webpack/production.js +++ b/frontend/webpack/production.js @@ -3,15 +3,21 @@ const base = require('./base'); module.exports = Object.assign(base, { - devtool: 'eval-source-map', + bail: true, + devtool: 'source-map', entry: [ base.entry ], plugins: base.plugins.concat([ - plugins['occurrence-order'], - plugins['aggressive-merging'], - plugins['uglify-js'] - ]) + plugins['occurrence-order'](), + plugins['aggressive-merging'](), + plugins['uglify-js']() + ]), + node: { + fs: 'empty', + net: 'empty', + tls: 'empty' + } }); /** diff --git a/frontend/webpack/test.js b/frontend/webpack/test.js index fba22c12..23c346b1 100644 --- a/frontend/webpack/test.js +++ b/frontend/webpack/test.js @@ -9,9 +9,9 @@ module.exports = { libraryTarget: 'commonjs2', }), plugins: [ - plugins['named-modules'], - plugins['no-errors'], - plugins['define'] + plugins['named-modules'](), + plugins['no-errors'](), + plugins['define']() ], module: base.module }; diff --git a/ui/.babelrc b/ui/.babelrc index 2d71bd81..ba286176 100644 --- a/ui/.babelrc +++ b/ui/.babelrc @@ -2,13 +2,45 @@ "sourceMaps": "both", "presets": [ "react", - "es2015" + ["env", { + "targets": { + "browsers": [ + "last 2 versions" + ] + } + }] ], "plugins": [ - "transform-exponentiation-operator", - "syntax-async-functions", + "transform-class-properties", ["transform-object-rest-spread", { "useBuiltIns": true - }] - ] + }], + ["transform-react-jsx", { + "useBuiltIns": true + }], + "transform-es2015-modules-commonjs", + "transform-exponentiation-operator" + ], + "env": { + "development": { + "plugins": [ + "transform-react-jsx-source", + "transform-react-jsx-self" + ] + }, + "test": { + "presets": [ + ["env", { + "targets": { + "node": "current" + } + }] + ] + }, + "production": { + "plugins": [ + "transform-react-constant-elements" + ] + } + } } diff --git a/ui/.eslintrc b/ui/.eslintrc index ffdad176..9f1ef695 100644 --- a/ui/.eslintrc +++ b/ui/.eslintrc @@ -39,7 +39,7 @@ "react/no-danger-with-children": 2, "react/no-did-mount-set-state": 2, "react/no-did-update-set-state": 2, - "react/no-multi-comp": 1, + "react/no-multi-comp": 0, "react/no-string-refs": 2, "react/no-unescaped-entities": 2, "react/no-unused-prop-types": 2, diff --git a/ui/package.json b/ui/package.json index e2eb5351..38997197 100644 --- a/ui/package.json +++ b/ui/package.json @@ -46,11 +46,17 @@ "babel-cli": "^6.22.2", "babel-core": "^6.22.1", "babel-eslint": "^7.1.1", - "babel-plugin-styled-components": "^1.0.0", - "babel-plugin-syntax-async-functions": "^6.13.0", + "babel-plugin-transform-class-properties": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.22.0", "babel-plugin-transform-object-rest-spread": "^6.22.0", + "babel-plugin-transform-react-constant-elements": "^6.22.0", + "babel-plugin-transform-react-jsx": "^6.22.0", + "babel-plugin-transform-react-jsx-self": "^6.22.0", + "babel-plugin-transform-react-jsx-source": "^6.22.0", + "babel-plugin-transform-runtime": "^6.22.0", + "babel-preset-env": "^1.1.8", "babel-preset-react": "^6.22.0", - "babel-register": "^6.22.0", "dangerously-set-inner-html": "2.0.0", "enzyme": "^2.7.1", "eslint": "^3.15.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index f988da65..c60772f6 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -128,7 +128,7 @@ webpack-dev-middleware "^1.6.0" webpack-hot-middleware "^2.13.2" -abab@^1.0.0, abab@^1.0.3: +abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -143,35 +143,25 @@ accepts@~1.3.3: mime-types "~2.1.11" negotiator "0.6.1" -acorn-globals@^1.0.4: - version "1.0.9" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" - dependencies: - acorn "^2.1.0" - 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 "^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.0, acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" acorn@^4.0.4: - version "4.0.9" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.9.tgz#2d2eb458fe3f0e31062d56cf0b1839c5dc7bd288" + version "4.0.11" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" acorn@4.0.4: version "4.0.4" @@ -371,9 +361,9 @@ 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.4: - version "0.9.4" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.4.tgz#410d1f81890aeb8e0a38621558ba5869ae53c91b" +ast-types@0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.5.tgz#1a660a09945dbceb1f9c9cbb715002617424e04a" async-cache@~1.1.0: version "1.1.0" @@ -406,11 +396,11 @@ auto-bind@^1.1.0: resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961" autoprefixer@^6.0.0, autoprefixer@^6.3.1, autoprefixer@^6.3.7: - version "6.7.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.0.tgz#88992cf04df141e7b8293550f2ee716c565d1cae" + version "6.7.2" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.2.tgz#172ab07b998ae9b957530928a59a40be54a45023" dependencies: - browserslist "~1.6.0" - caniuse-db "^1.0.30000613" + browserslist "^1.7.1" + caniuse-db "^1.0.30000618" normalize-range "^0.1.2" num2fraction "^1.2.2" postcss "^5.2.11" @@ -745,11 +735,7 @@ babel-plugin-react-docgen@^1.4.2: lodash "4.x.x" react-docgen "^2.12.1" -babel-plugin-styled-components: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.0.0.tgz#7463e462ded7103414e6d834967c521be86e5dc6" - -babel-plugin-syntax-async-functions@^6.13.0, babel-plugin-syntax-async-functions@^6.8.0: +babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" @@ -785,6 +771,15 @@ babel-plugin-transform-async-to-generator@^6.16.0, babel-plugin-transform-async- babel-plugin-syntax-async-functions "^6.8.0" babel-runtime "^6.22.0" +babel-plugin-transform-class-properties@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.22.0.tgz#aa78f8134495c7de06c097118ba061844e1dc1d8" + dependencies: + babel-helper-function-name "^6.22.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-plugin-transform-class-properties@6.16.0: version "6.16.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.16.0.tgz#969bca24d34e401d214f36b8af5c1346859bc904" @@ -1007,6 +1002,12 @@ babel-plugin-transform-object-rest-spread@6.16.0: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.0.0" +babel-plugin-transform-react-constant-elements@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.22.0.tgz#4af456f80d283e8be00f00f12852354defa08ee1" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-transform-react-constant-elements@6.9.1: version "6.9.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.9.1.tgz#125b86d96cb322e2139b607fd749ad5fbb17f005" @@ -1069,6 +1070,12 @@ babel-plugin-transform-regenerator@6.16.1: babel-types "^6.16.0" private "~0.1.5" +babel-plugin-transform-runtime@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.22.0.tgz#10968d760bbf6517243081eec778e10fa828551c" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-transform-runtime@6.15.0: version "6.15.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.15.0.tgz#3d75b4d949ad81af157570273846fb59aeb0d57c" @@ -1090,6 +1097,39 @@ babel-polyfill@^6.22.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-preset-env@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.1.8.tgz#c46734c6233c3f87d177513773db3cf3c1758aaa" + 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" + browserslist "^1.4.0" + babel-preset-env@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-0.0.6.tgz#cda63a020069098fad12272a7a447a7c5bafb3c8" @@ -1291,8 +1331,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" @@ -1375,12 +1415,12 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserslist@^1.0.1, browserslist@^1.1.1, browserslist@^1.1.3, browserslist@^1.4.0, browserslist@^1.5.2, browserslist@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.6.0.tgz#85fb7c993540d3fda31c282baf7f5aee698ac9ee" +browserslist@^1.0.1, browserslist@^1.1.1, browserslist@^1.1.3, browserslist@^1.4.0, browserslist@^1.5.2, browserslist@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.1.tgz#cc9bd193979a2a4b09fdb3df6003fefe48ccefe1" dependencies: - caniuse-db "^1.0.30000613" - electron-to-chromium "^1.2.0" + caniuse-db "^1.0.30000617" + electron-to-chromium "^1.2.1" buf-compare@^1.0.0: version "1.0.1" @@ -1399,8 +1439,8 @@ buffer@^4.9.0: isarray "^1.0.0" buffer@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.2.tgz#41d0407ff76782e9ec19f52f88e237ce6bb0de6d" + version "5.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.3.tgz#90d5b2dbcef4004e7e307d0e488595a302e1f8fd" dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -1470,18 +1510,17 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 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.5.3" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.5.3.tgz#5018e674b51c393e4d50614275dc017e27c4a2a2" 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.30000187, caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000613: - version "1.0.30000617" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000617.tgz#9b7fd81f58a35526315c83e60cb5f076f0beb392" +caniuse-db@^1.0.30000187, caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000617, caniuse-db@^1.0.30000618: + version "1.0.30000622" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000622.tgz#9d9690b577384990a58e33ebb903a14da735e5fd" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1837,9 +1876,9 @@ constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" -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-type-parser@^1.0.1: version "1.0.1" @@ -2060,18 +2099,18 @@ 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.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.1.tgz#4f8d91a156f2f1c2aebb40b8fb1b5eb83d94d3b9" dependencies: clap "^1.0.9" source-map "^0.5.3" -"cssom@>= 0.3.0 < 0.4.0", "cssom@>= 0.3.2 < 0.4.0", cssom@0.3.x: +"cssom@>= 0.3.2 < 0.4.0", cssom@0.3.x: 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": +"cssstyle@>= 0.2.37 < 0.3.0": version "0.2.37" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" dependencies: @@ -2517,9 +2556,9 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -electron-to-chromium@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.1.tgz#63ac7579a1c5bedb296c8607621f2efc9a54b968" +electron-to-chromium@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.2.tgz#e41bc9488c88e3cfa1e94bde28e8420d7d47c47c" element-class@^0.2.0: version "0.2.2" @@ -2721,8 +2760,8 @@ eslint-plugin-jsx-a11y@^4.0.0: object-assign "^4.0.1" eslint-plugin-promise@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.0.tgz#6ba9048c2df57be77d036e0c68918bc9b4fc4195" + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.1.tgz#6911a9010bf84e17d82e19e0ab0f80ab3ad6db4c" eslint-plugin-react@^6.9.0: version "6.9.0" @@ -2795,7 +2834,7 @@ 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.1.0: +esprima@^3.1.1, esprima@~3.1.0: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" @@ -2886,12 +2925,12 @@ expand-range@^1.8.1: fill-range "^2.1.0" express@^4.13.3: - version "4.14.0" - resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" + version "4.14.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.14.1.tgz#646c237f766f148c2120aff073817b9e4d7e0d33" 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" @@ -2900,19 +2939,19 @@ express@^4.13.3: encodeurl "~1.0.1" escape-html "~1.0.3" etag "~1.7.0" - finalhandler "0.5.0" + finalhandler "0.5.1" fresh "0.3.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" + proxy-addr "~1.1.3" qs "6.2.0" range-parser "~1.2.0" - send "0.14.1" - serve-static "~1.11.1" - type-is "~1.6.13" + send "0.14.2" + serve-static "~1.11.2" + type-is "~1.6.14" utils-merge "1.0.0" vary "~1.1.0" @@ -2939,8 +2978,8 @@ fastparse@^1.1.1: resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" fbjs@^0.8.1, fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.7, fbjs@^0.8.8: - version "0.8.8" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.8.tgz#02f1b6e0ea0d46c24e0b51a2d24df069563a5ad6" + version "0.8.9" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.9.tgz#180247fbd347dcc9004517b904f865400a0c8f14" dependencies: core-js "^1.0.0" isomorphic-fetch "^2.1.1" @@ -2998,14 +3037,14 @@ filled-array@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" -finalhandler@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" +finalhandler@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.1.tgz#2c400d8d4530935bc232549c5fa385ec07de6fcd" dependencies: debug "~2.2.0" escape-html "~1.0.3" on-finished "~2.3.0" - statuses "~1.3.0" + statuses "~1.3.1" unpipe "~1.0.0" find-cache-dir@^0.1.1: @@ -3373,8 +3412,8 @@ 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.2.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" html-comment-regex@^1.1.0: version "1.1.1" @@ -3405,7 +3444,7 @@ htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^2.0.2" -http-errors@~1.5.0, http-errors@~1.5.1: +http-errors@~1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" dependencies: @@ -3429,7 +3468,7 @@ hyphenate-style-name@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" -iconv-lite@^0.4.13, iconv-lite@~0.4.13, iconv-lite@0.4: +iconv-lite@~0.4.13, iconv-lite@0.4: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" @@ -3450,8 +3489,8 @@ ignore-by-default@^1.0.0: resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" ignore@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" + version "3.2.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410" immutable@^3.8.1: version "3.8.1" @@ -3860,8 +3899,8 @@ istanbul-lib-source-maps@^1.1.0: 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" + version "1.0.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.1.tgz#9a17176bc4a6cbebdae52b2f15961d52fa623fbc" dependencies: handlebars "^4.0.3" @@ -3922,19 +3961,19 @@ js-base64@^2.1.9: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" js-tokens@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1" + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" js-yaml@^3.2.7, js-yaml@^3.4.3, js-yaml@^3.5.1: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + version "3.8.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628" 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" @@ -3943,7 +3982,7 @@ jsbn@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" -jsdom@^9.10.0: +jsdom@^9.10.0, jsdom@^9.9.1: version "9.10.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.10.0.tgz#72d04d9fd5f1164d016dc350ef889af6d0d1a25a" dependencies: @@ -3967,31 +4006,6 @@ jsdom@^9.10.0: whatwg-url "^4.3.0" xml-name-validator "^2.0.1" -jsdom@^9.9.1: - version "9.9.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.9.1.tgz#84f3972ad394ab963233af8725211bce4d01bfd5" - dependencies: - abab "^1.0.0" - acorn "^2.4.0" - acorn-globals "^1.0.4" - 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" - 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" - whatwg-encoding "^1.0.1" - whatwg-url "^4.1.0" - xml-name-validator ">= 2.0.1 < 3.0.0" - jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -4059,10 +4073,9 @@ jsprim@^1.2.2: 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" + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591" dependencies: - acorn-jsx "^3.0.1" object-assign "^4.1.0" keycode@^2.1.1: @@ -4214,10 +4227,6 @@ lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" -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" @@ -4359,10 +4368,8 @@ matcher@^0.1.1: escape-string-regexp "^1.0.4" math-expression-evaluator@^1.2.14: - version "1.2.15" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.15.tgz#38dc5f0194c5bf5ff1c690ad4c4b64df71ac0187" - dependencies: - lodash.indexof "^4.0.5" + version "1.2.16" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9" max-safe-int@^1.0.0: version "1.0.0" @@ -4489,7 +4496,11 @@ minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -minimist@~0.0.1, minimist@0.0.8: +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -4600,8 +4611,8 @@ node-libs-browser@^0.7.0: vm-browserify "0.0.4" 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.33" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" dependencies: mkdirp "~0.5.1" nopt "~3.0.6" @@ -5087,16 +5098,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" @@ -5378,8 +5389,8 @@ postcss-zindex@^2.0.1: uniqs "^2.0.0" postcss@^5.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.18, postcss@^5.0.2, postcss@^5.0.20, postcss@^5.0.21, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.11, postcss@^5.2.4, postcss@^5.2.5: - version "5.2.11" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.11.tgz#ff29bcd6d2efb98bfe08a022055ec599bbe7b761" + version "5.2.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.12.tgz#6a2b15e35dd65634441bb0961fa796904c7890e0" dependencies: chalk "^1.1.3" js-base64 "^2.1.9" @@ -5427,8 +5438,8 @@ pretty-ms@^2.0.0: plur "^1.0.0" private@^0.1.6, private@~0.1.5: - 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" @@ -5448,7 +5459,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -proxy-addr@~1.1.2: +proxy-addr@~1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074" dependencies: @@ -5777,10 +5788,10 @@ readline2@^1.0.1: mute-stream "0.0.5" recast@^0.11.5: - version "0.11.20" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.20.tgz#2cb9bec269c03b36d0598118a936cd0a293ca3f3" + version "0.11.21" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.21.tgz#4e83081c6359ecb2e526d14f4138879333f20ac9" dependencies: - ast-types "0.9.4" + ast-types "0.9.5" esprima "~3.1.0" private "~0.1.5" source-map "~0.5.0" @@ -5900,7 +5911,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@^2.55.0, request@^2.74.0, request@^2.79.0: +request@^2.74.0, request@^2.79.0: version "2.79.0" resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" dependencies: @@ -6018,7 +6029,7 @@ rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" -sax@^1.1.4, sax@^1.2.1, sax@>=0.6.0, sax@~1.2.1: +sax@^1.2.1, sax@>=0.6.0, sax@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" @@ -6032,24 +6043,6 @@ semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0, "semver@2 || 3 || 4 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" - dependencies: - debug "~2.2.0" - 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" - mime "1.3.4" - ms "0.7.1" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.0" - send@0.14.2: version "0.14.2" resolved "https://registry.yarnpkg.com/send/-/send-0.14.2.tgz#39b0438b3f510be5dc6f667a11f71689368cdeef" @@ -6077,7 +6070,7 @@ serve-favicon@^2.3.0: ms "0.7.2" parseurl "~1.3.1" -serve-static@~1.11.1: +serve-static@~1.11.2: version "1.11.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.2.tgz#2cf9889bd4435a320cc36895c9aa57bd662e6ac7" dependencies: @@ -6122,7 +6115,7 @@ 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.0, shelljs@^0.7.4, shelljs@^0.7.5: +shelljs@^0.7.4, shelljs@^0.7.5: version "0.7.6" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" dependencies: @@ -6173,8 +6166,8 @@ source-list-map@^0.1.4, source-list-map@~0.1.7: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" source-map-support@^0.4.0, source-map-support@^0.4.2: - version "0.4.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.10.tgz#d7b19038040a14c0837a18e630a196453952b378" + version "0.4.11" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" dependencies: source-map "^0.5.3" @@ -6271,7 +6264,7 @@ stack-utils@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" -"statuses@>= 1.3.1 < 2", statuses@~1.3.0, statuses@~1.3.1: +"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" @@ -6508,13 +6501,13 @@ svg-tags@^1.0.0: resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" 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" @@ -6527,7 +6520,7 @@ 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.2.1, "symbol-tree@>= 3.1.0 < 4.0.0": +symbol-tree@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.1.tgz#8549dd1d01fa9f893c18cc9ab0b106b4d9b168cb" @@ -6673,7 +6666,7 @@ to-integer@^1.0.1: is-object "^1.0.1" is-symbol "^1.0.1" -tough-cookie@^2.3.1, tough-cookie@^2.3.2, 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: @@ -6689,7 +6682,7 @@ transform-props-with@^2.1.0: dependencies: lodash "^4.10.0" -traverse: +traverse@^0.6.6: version "0.6.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -6723,7 +6716,7 @@ type-component@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/type-component/-/type-component-0.0.1.tgz#952a6c81c21efd24d13d811d0c8498cb860e1956" -type-is@~1.6.13: +type-is@~1.6.14: version "1.6.14" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" dependencies: @@ -6921,8 +6914,8 @@ webpack-core@~0.6.9: source-map "~0.4.1" webpack-dev-middleware@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.9.0.tgz#a1c67a3dfd8a5c5d62740aa0babe61758b4c84aa" + version "1.10.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.0.tgz#7d5be2651e692fddfafd8aaed177c16ff51f0eb8" dependencies: memory-fs "~0.4.1" mime "^1.3.4" @@ -6930,8 +6923,8 @@ webpack-dev-middleware@^1.6.0: range-parser "^1.0.3" webpack-hot-middleware@^2.13.2: - version "2.15.0" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.15.0.tgz#71995af7c0025f109df482f86f1e10379526d026" + version "2.16.1" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.16.1.tgz#ae209bcab2b9b672f1b0fdcf6c5c2a680ff118e1" dependencies: ansi-html "0.0.6" html-entities "^1.2.0" @@ -6968,7 +6961,7 @@ whatwg-fetch@>=0.10.0: version "2.0.2" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz#fe294d1d89e36c5be8b3195057f2e4bc74fc980e" -whatwg-url@^4.1.0, whatwg-url@^4.3.0: +whatwg-url@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.3.0.tgz#92aaee21f4f2a642074357d70ef8500a7cbb171a" dependencies: @@ -7072,7 +7065,7 @@ xdg-basedir@^2.0.0: dependencies: os-homedir "^1.0.0" -xml-name-validator@^2.0.1, "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" @@ -7083,7 +7076,13 @@ xml2js@^0.4: sax ">=0.6.0" xmlbuilder "^4.1.0" -xmlbuilder@^4.1.0, xmlbuilder@~4.1.0: +xmlbuilder@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" + dependencies: + lodash "^4.0.0" + +xmlbuilder@~4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.1.0.tgz#687e84d9c4145af8db438d8bec88805df66249f4" dependencies: