From 493f9da97065f171ac0f387c94da4b65049c7a2a Mon Sep 17 00:00:00 2001 From: Adam Butler Date: Mon, 25 Sep 2017 10:43:38 +0100 Subject: [PATCH] Upgrade webpacker 2.0 -> 3.0 --- .babelrc | 1 + .gitignore | 1 - .postcssrc.yml | 2 +- Gemfile | 2 +- Gemfile.lock | 8 +- Procfile | 1 - README.md | 55 +---- bin/webpack | 7 +- bin/webpack-dev-server | 47 +++- bin/webpack-watcher | 10 - config/webpack/configuration.js | 35 --- config/webpack/development.js | 33 +-- config/webpack/environment.js | 3 + config/webpack/loaders/assets.js | 12 - config/webpack/loaders/babel.js | 5 - config/webpack/loaders/coffee.js | 4 - config/webpack/loaders/erb.js | 9 - config/webpack/loaders/react.js | 5 - config/webpack/loaders/sass.js | 15 -- config/webpack/production.js | 36 +-- config/webpack/shared.js | 58 ----- config/webpack/test.js | 7 +- config/webpacker.yml | 20 +- package.json | 3 +- yarn.lock | 399 +++++++++++++++++++++++++++++-- 25 files changed, 454 insertions(+), 324 deletions(-) delete mode 100755 bin/webpack-watcher delete mode 100644 config/webpack/configuration.js create mode 100644 config/webpack/environment.js delete mode 100644 config/webpack/loaders/assets.js delete mode 100644 config/webpack/loaders/babel.js delete mode 100644 config/webpack/loaders/coffee.js delete mode 100644 config/webpack/loaders/erb.js delete mode 100644 config/webpack/loaders/react.js delete mode 100644 config/webpack/loaders/sass.js delete mode 100644 config/webpack/shared.js diff --git a/.babelrc b/.babelrc index 7b46c78d55..75e4c04e4a 100644 --- a/.babelrc +++ b/.babelrc @@ -15,6 +15,7 @@ ], "plugins": [ "syntax-dynamic-import", + "transform-object-rest-spread", [ "transform-class-properties", { diff --git a/.gitignore b/.gitignore index 8ed5c338fa..da57f95a8b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,5 +19,4 @@ .powder /public/packs /node_modules -/public/packs /public/packs-test diff --git a/.postcssrc.yml b/.postcssrc.yml index bc4f02ab33..7a948da61f 100644 --- a/.postcssrc.yml +++ b/.postcssrc.yml @@ -1,4 +1,4 @@ plugins: postcss-smart-import: {} - precss: {} autoprefixer: {} + postcss-cssnext: {} diff --git a/Gemfile b/Gemfile index ea0a136178..d0e2ad1564 100644 --- a/Gemfile +++ b/Gemfile @@ -8,7 +8,7 @@ end # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.1.2' -gem 'webpacker', '~> 2.0' +gem 'webpacker', '~> 3.0' # Use postgresql as the database for Active Record gem 'pg', '~> 0.18' diff --git a/Gemfile.lock b/Gemfile.lock index 56ba2984af..05446b6f7d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -242,6 +242,8 @@ GEM public_suffix (2.0.5) puma (3.9.1) rack (2.0.3) + rack-proxy (0.6.2) + rack rack-test (0.6.3) rack (>= 1.0) rails (5.1.2) @@ -366,9 +368,9 @@ GEM activemodel (>= 5.0) bindex (>= 0.4.0) railties (>= 5.0) - webpacker (2.0) + webpacker (3.0.1) activesupport (>= 4.2) - multi_json (~> 1.2) + rack-proxy (>= 0.6.1) railties (>= 4.2) websocket-driver (0.6.5) websocket-extensions (>= 0.1.0) @@ -424,7 +426,7 @@ DEPENDENCIES tzinfo-data uglifier (>= 1.3.0) web-console (>= 3.3.0) - webpacker (~> 2.0) + webpacker (~> 3.0) RUBY VERSION ruby 2.4.1p111 diff --git a/Procfile b/Procfile index 27565d7e7b..b31a2ae973 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,2 @@ release: bundle exec rake db:migrate web: rails s -webpack: ./bin/webpack-dev-server diff --git a/README.md b/README.md index 746bff9591..c4e35382f0 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,10 @@ $ bundle install $ rake db:create $ rake db:migrate $ ./bin/yarn install -$ foreman start +$ rails s ``` -> Note: This will start `rails` on port `5000` and `webpack-dev-server` on `8080` - -You should now be able to see the site on http://localhost:5000/ +You should now be able to see the site on http://localhost:3000/ ### Setting up with Docker @@ -40,29 +38,12 @@ $ docker-compose run web rake db:setup $ open http://localhost:3000 ``` -You will still need to run the webpack-dev-server on your local machine. - To stop the server cleanly run: ``` $ docker-compose down ``` -### Compiling assets - -To compile assets in runtime simply start the webpack server with: - -``` -$ ./bin/webpack-dev-server -``` - -You can run both the Rails server and Webpack simultaneously using Foreman: - -``` -$ foreman start -$ open http://localhost:5000 -``` - ### Features - A powerful markup engine with pipeline (see [this blog post](https://lab.io/articles/2017/02/12/extending-markdown-with-middleware/) for details on how this works). @@ -112,38 +93,6 @@ This is because Docker wasn't shut down cleanly. To fix this run: $ docker-compose run web rm /myapp/tmp/pids/server.pid ``` -#### A webpack error occurs during setup - -Run the `webpack-dev-server` like so: - -``` -$ ./bin/webpack-dev-server -``` - -#### `/packs/application.js` can not be found or returns a status code of `404` - -First check that you are running the `webpack-dev-server`. It can be run like so: - -``` -$ ./bin/webpack-dev-server -``` - -If you are running `webpack-dev-server` then give it a minute or check the output of your terminal as the initial compilation can take up to a minute on some systems. - -If this still doesn't solve your issue check nothing else is using the same port (since it does not raise any exceptions when this is the case). This is commonly used by Applications like Sketch. - -You can check what processes or applications are using this port by running: - -``` -$ lsof -i tcp:8080 -``` - -If you want to kill the process that is blocking this port run the following replacing `` with the PID of found in the last command: - -``` -$ kill -``` - #### I get an exception `PG::ConnectionBad - could not connect to server: Connection refused` when I try to run the app. This error indicates that PostgreSQL is not running. If you installed PostgreSQL using `brew` you can get information about how to start it by running: diff --git a/bin/webpack b/bin/webpack index 867550eb8f..528233a784 100755 --- a/bin/webpack +++ b/bin/webpack @@ -2,7 +2,6 @@ $stdout.sync = true require "shellwords" -require "yaml" ENV["RAILS_ENV"] ||= "development" RAILS_ENV = ENV["RAILS_ENV"] @@ -20,9 +19,9 @@ unless File.exist?(WEBPACK_CONFIG) exit! end -newenv = { "NODE_PATH" => NODE_MODULES_PATH.shellescape } -cmdline = ["yarn", "run", "webpack", "--", "--config", WEBPACK_CONFIG] + ARGV +env = { "NODE_PATH" => NODE_MODULES_PATH.shellescape } +cmd = [ "#{NODE_MODULES_PATH}/.bin/webpack", "--config", WEBPACK_CONFIG ] + ARGV Dir.chdir(APP_PATH) do - exec newenv, *cmdline + exec env, *cmd end diff --git a/bin/webpack-dev-server b/bin/webpack-dev-server index a867f2c013..c9672f6633 100755 --- a/bin/webpack-dev-server +++ b/bin/webpack-dev-server @@ -3,6 +3,7 @@ $stdout.sync = true require "shellwords" require "yaml" +require "socket" ENV["RAILS_ENV"] ||= "development" RAILS_ENV = ENV["RAILS_ENV"] @@ -13,7 +14,9 @@ NODE_ENV = ENV["NODE_ENV"] APP_PATH = File.expand_path("../", __dir__) CONFIG_FILE = File.join(APP_PATH, "config/webpacker.yml") NODE_MODULES_PATH = File.join(APP_PATH, "node_modules") -WEBPACK_CONFIG = File.join(APP_PATH, "config/webpack/development.js") +WEBPACK_CONFIG = File.join(APP_PATH, "config/webpack/#{NODE_ENV}.js") + +DEFAULT_LISTEN_HOST_ADDR = NODE_ENV == 'development' ? 'localhost' : '0.0.0.0' def args(key) index = ARGV.index(key) @@ -21,23 +24,45 @@ def args(key) end begin - dev_server = YAML.load_file(CONFIG_FILE)["development"]["dev_server"] + dev_server = YAML.load_file(CONFIG_FILE)[RAILS_ENV]["dev_server"] - DEV_SERVER_HOST = "http#{"s" if args('--https') || dev_server["https"]}://#{args('--host') || dev_server["host"]}:#{args('--port') || dev_server["port"]}" + HOSTNAME = args('--host') || dev_server["host"] + PORT = args('--port') || dev_server["port"] + HTTPS = ARGV.include?('--https') || dev_server["https"] + DEV_SERVER_ADDR = "http#{"s" if HTTPS}://#{HOSTNAME}:#{PORT}" + LISTEN_HOST_ADDR = args('--listen-host') || DEFAULT_LISTEN_HOST_ADDR rescue Errno::ENOENT, NoMethodError - puts "Webpack dev_server configuration not found in #{CONFIG_FILE}." - puts "Please run bundle exec rails webpacker:install to install webpacker" + $stdout.puts "Webpack dev_server configuration not found in #{CONFIG_FILE}." + $stdout.puts "Please run bundle exec rails webpacker:install to install webpacker" + exit! +end + +begin + server = TCPServer.new(LISTEN_HOST_ADDR, PORT) + server.close + +rescue Errno::EADDRINUSE + $stdout.puts "Another program is running on port #{PORT}. Set a new port in #{CONFIG_FILE} for dev_server" exit! end -newenv = { - "NODE_PATH" => NODE_MODULES_PATH.shellescape, - "ASSET_HOST" => DEV_SERVER_HOST.shellescape -}.freeze +# Delete supplied host, port and listen-host CLI arguments +["--host", "--port", "--listen-host"].each do |arg| + ARGV.delete(args(arg)) + ARGV.delete(arg) +end + +env = { "NODE_PATH" => NODE_MODULES_PATH.shellescape } -cmdline = ["yarn", "run", "webpack-dev-server", "--", "--progress", "--color", "--config", WEBPACK_CONFIG] + ARGV +cmd = [ + "#{NODE_MODULES_PATH}/.bin/webpack-dev-server", "--progress", "--color", + "--config", WEBPACK_CONFIG, + "--host", LISTEN_HOST_ADDR, + "--public", "#{HOSTNAME}:#{PORT}", + "--port", PORT.to_s +] + ARGV Dir.chdir(APP_PATH) do - exec newenv, *cmdline + exec env, *cmd end diff --git a/bin/webpack-watcher b/bin/webpack-watcher deleted file mode 100755 index a984f7c44a..0000000000 --- a/bin/webpack-watcher +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env ruby - -ENV['RAILS_ENV'] ||= 'development' -ENV['NODE_ENV'] ||= ENV['RAILS_ENV'] - -BIN_PATH = File.expand_path('.', __dir__) - -Dir.chdir(BIN_PATH) do - exec "./webpack --watch --progress --color #{ARGV.join(" ")}" -end diff --git a/config/webpack/configuration.js b/config/webpack/configuration.js deleted file mode 100644 index 0d669ff0a5..0000000000 --- a/config/webpack/configuration.js +++ /dev/null @@ -1,35 +0,0 @@ -// Common configuration for webpacker loaded from config/webpacker.yml - -const { join, resolve } = require('path') -const { env } = require('process') -const { safeLoad } = require('js-yaml') -const { readFileSync } = require('fs') - -const configPath = resolve('config', 'webpacker.yml') -const loadersDir = join(__dirname, 'loaders') -const settings = safeLoad(readFileSync(configPath), 'utf8')[env.NODE_ENV] - -function removeOuterSlashes(string) { - return string.replace(/^\/*/, '').replace(/\/*$/, '') -} - -function formatPublicPath(host = '', path = '') { - let formattedHost = removeOuterSlashes(host) - if (formattedHost && !/^http/i.test(formattedHost)) { - formattedHost = `//${formattedHost}` - } - const formattedPath = removeOuterSlashes(path) - return `${formattedHost}/${formattedPath}/` -} - -const output = { - path: resolve('public', settings.public_output_path), - publicPath: formatPublicPath(env.ASSET_HOST, settings.public_output_path) -} - -module.exports = { - settings, - env, - loadersDir, - output -} diff --git a/config/webpack/development.js b/config/webpack/development.js index 87772d84ff..81269f6513 100644 --- a/config/webpack/development.js +++ b/config/webpack/development.js @@ -1,32 +1,3 @@ -// Note: You must restart bin/webpack-dev-server for changes to take effect +const environment = require('./environment') -const merge = require('webpack-merge') -const sharedConfig = require('./shared.js') -const { settings, output } = require('./configuration.js') - -module.exports = merge(sharedConfig, { - devtool: 'cheap-eval-source-map', - - stats: { - errorDetails: true - }, - - output: { - pathinfo: true - }, - - devServer: { - clientLogLevel: 'none', - https: settings.dev_server.https, - host: settings.dev_server.host, - port: settings.dev_server.port, - contentBase: output.path, - publicPath: output.publicPath, - compress: true, - headers: { 'Access-Control-Allow-Origin': '*' }, - historyApiFallback: true, - watchOptions: { - ignored: /node_modules/ - } - } -}) +module.exports = environment.toWebpackConfig() diff --git a/config/webpack/environment.js b/config/webpack/environment.js new file mode 100644 index 0000000000..d16d9af743 --- /dev/null +++ b/config/webpack/environment.js @@ -0,0 +1,3 @@ +const { environment } = require('@rails/webpacker') + +module.exports = environment diff --git a/config/webpack/loaders/assets.js b/config/webpack/loaders/assets.js deleted file mode 100644 index 595f073fc3..0000000000 --- a/config/webpack/loaders/assets.js +++ /dev/null @@ -1,12 +0,0 @@ -const { env, publicPath } = require('../configuration.js') - -module.exports = { - test: /\.(jpg|jpeg|png|gif|svg|eot|ttf|woff|woff2)$/i, - use: [{ - loader: 'file-loader', - options: { - publicPath, - name: env.NODE_ENV === 'production' ? '[name]-[hash].[ext]' : '[name].[ext]' - } - }] -} diff --git a/config/webpack/loaders/babel.js b/config/webpack/loaders/babel.js deleted file mode 100644 index 416419f319..0000000000 --- a/config/webpack/loaders/babel.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - test: /\.js(\.erb)?$/, - // exclude: /node_modules/, - loader: 'babel-loader' -} diff --git a/config/webpack/loaders/coffee.js b/config/webpack/loaders/coffee.js deleted file mode 100644 index dae8742492..0000000000 --- a/config/webpack/loaders/coffee.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - test: /\.coffee(\.erb)?$/, - loader: 'coffee-loader' -} diff --git a/config/webpack/loaders/erb.js b/config/webpack/loaders/erb.js deleted file mode 100644 index 4cd7d68495..0000000000 --- a/config/webpack/loaders/erb.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - test: /\.erb$/, - enforce: 'pre', - exclude: /node_modules/, - loader: 'rails-erb-loader', - options: { - runner: 'bin/rails runner' - } -} diff --git a/config/webpack/loaders/react.js b/config/webpack/loaders/react.js deleted file mode 100644 index cfd6417745..0000000000 --- a/config/webpack/loaders/react.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - test: /\.(js|jsx)?(\.erb)?$/, - exclude: /node_modules/, - loader: 'babel-loader' -} diff --git a/config/webpack/loaders/sass.js b/config/webpack/loaders/sass.js deleted file mode 100644 index de430539b6..0000000000 --- a/config/webpack/loaders/sass.js +++ /dev/null @@ -1,15 +0,0 @@ -const ExtractTextPlugin = require('extract-text-webpack-plugin') -const { env } = require('../configuration.js') - -module.exports = { - test: /\.(scss|sass|css)$/i, - use: ExtractTextPlugin.extract({ - fallback: 'style-loader', - use: [ - { loader: 'css-loader', options: { minimize: env.NODE_ENV === 'production' } }, - { loader: 'postcss-loader', options: { sourceMap: true } }, - 'resolve-url-loader', - { loader: 'sass-loader', options: { sourceMap: true } } - ] - }) -} diff --git a/config/webpack/production.js b/config/webpack/production.js index b814cceb79..81269f6513 100644 --- a/config/webpack/production.js +++ b/config/webpack/production.js @@ -1,35 +1,3 @@ -// Note: You must restart bin/webpack-dev-server for changes to take effect +const environment = require('./environment') -/* eslint global-require: 0 */ - -const webpack = require('webpack') -const merge = require('webpack-merge') -const CompressionPlugin = require('compression-webpack-plugin') -const sharedConfig = require('./shared.js') - -module.exports = merge(sharedConfig, { - output: { filename: '[name]-[chunkhash].js' }, - devtool: 'source-map', - stats: 'normal', - - plugins: [ - new webpack.optimize.UglifyJsPlugin({ - minimize: true, - sourceMap: true, - - compress: { - warnings: false - }, - - output: { - comments: false - } - }), - - new CompressionPlugin({ - asset: '[path].gz[query]', - algorithm: 'gzip', - test: /\.(js|css|html|json|ico|svg|eot|otf|ttf)$/ - }) - ] -}) +module.exports = environment.toWebpackConfig() diff --git a/config/webpack/shared.js b/config/webpack/shared.js deleted file mode 100644 index d901cc6da9..0000000000 --- a/config/webpack/shared.js +++ /dev/null @@ -1,58 +0,0 @@ -// Note: You must restart bin/webpack-dev-server for changes to take effect - -/* eslint global-require: 0 */ -/* eslint import/no-dynamic-require: 0 */ - -const webpack = require('webpack') -const { basename, dirname, join, relative, resolve } = require('path') -const { sync } = require('glob') -const ExtractTextPlugin = require('extract-text-webpack-plugin') -const ManifestPlugin = require('webpack-manifest-plugin') -const extname = require('path-complete-extname') -const { env, settings, output, loadersDir } = require('./configuration.js') - -const extensionGlob = `**/*{${settings.extensions.join(',')}}*` -const entryPath = join(settings.source_path, settings.source_entry_path) -const packPaths = sync(join(entryPath, extensionGlob)) - -module.exports = { - entry: packPaths.reduce( - (map, entry) => { - const localMap = map - const namespace = relative(join(entryPath), dirname(entry)) - localMap[join(namespace, basename(entry, extname(entry)))] = resolve(entry) - return localMap - }, {} - ), - - output: { - filename: '[name].js', - path: output.path, - publicPath: output.publicPath - }, - - module: { - rules: sync(join(loadersDir, '*.js')).map(loader => require(loader)) - }, - - plugins: [ - new webpack.EnvironmentPlugin(JSON.parse(JSON.stringify(env))), - new ExtractTextPlugin(env.NODE_ENV === 'production' ? '[name]-[hash].css' : '[name].css'), - new ManifestPlugin({ - publicPath: output.publicPath, - writeToFileEmit: true - }) - ], - - resolve: { - extensions: settings.extensions, - modules: [ - resolve(settings.source_path), - 'node_modules' - ] - }, - - resolveLoader: { - modules: ['node_modules'] - } -} diff --git a/config/webpack/test.js b/config/webpack/test.js index e002d0cdc5..81269f6513 100644 --- a/config/webpack/test.js +++ b/config/webpack/test.js @@ -1,6 +1,3 @@ -// Note: You must restart bin/webpack-dev-server for changes to take effect +const environment = require('./environment') -const merge = require('webpack-merge') -const sharedConfig = require('./shared.js') - -module.exports = merge(sharedConfig, {}) +module.exports = environment.toWebpackConfig() diff --git a/config/webpacker.yml b/config/webpacker.yml index 122029661f..e62a7acd13 100644 --- a/config/webpacker.yml +++ b/config/webpacker.yml @@ -4,6 +4,14 @@ default: &default source_path: app/javascript source_entry_path: packs public_output_path: packs + cache_path: tmp/cache/webpacker + + # Additional paths webpack should lookup modules + # ['app/assets', 'engine/foo/app/assets'] + resolved_paths: [] + + # Reload manifest.json on all requests so we reload latest compiled packs + cache_manifest: false extensions: - .coffee @@ -23,16 +31,26 @@ default: &default development: <<: *default + compile: true dev_server: host: localhost - port: 8080 + port: 3035 + hmr: false https: false test: <<: *default + compile: true + # Compile test packs to a separate directory public_output_path: packs-test production: <<: *default + + # Production depends on precompilation of packs prior to booting for performance. + compile: false + + # Cache manifest.json for performance + cache_manifest: true diff --git a/package.json b/package.json index 420172131e..f2bb9d8c1c 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "dependencies": { + "@rails/webpacker": "^3.0.1", "autoprefixer": "^7.1.2", "babel-core": "^6.25.0", "babel-loader": "7.x", @@ -39,7 +40,7 @@ "webpack-merge": "^4.1.0" }, "devDependencies": { - "webpack-dev-server": "^2.6.1" + "webpack-dev-server": "^2.8.2" }, "version": "1.1.0" } diff --git a/yarn.lock b/yarn.lock index a1840ddbff..ced7a0747b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,37 @@ # yarn lockfile v1 +"@rails/webpacker@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@rails/webpacker/-/webpacker-3.0.1.tgz#54da0c2a0d2b7c482cd4eb2eca73beb28150c45d" + dependencies: + babel-core "^6.26.0" + babel-loader "^7.1.2" + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.26.0" + babel-polyfill "^6.26.0" + babel-preset-env "^1.6.0" + coffee-loader "^0.8.0" + coffeescript "^1.12.7" + compression-webpack-plugin "^1.0.0" + css-loader "^0.28.5" + extract-text-webpack-plugin "^3.0.0" + file-loader "^0.11.2" + glob "^7.1.2" + js-yaml "^3.9.1" + node-sass "^4.5.3" + path-complete-extname "^0.1.0" + postcss-cssnext "^3.0.2" + postcss-loader "^2.0.6" + postcss-smart-import "^0.7.5" + rails-erb-loader "^5.2.1" + resolve-url-loader "^2.1.0" + sass-loader "^6.0.6" + style-loader "^0.18.2" + webpack "^3.5.5" + webpack-manifest-plugin "^1.3.1" + abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" @@ -147,6 +178,13 @@ array-flatten@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -259,6 +297,14 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + babel-core@^6.24.1, babel-core@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" @@ -283,6 +329,30 @@ babel-core@^6.24.1, babel-core@^6.25.0: slash "^1.0.0" source-map "^0.5.0" +babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + babel-generator@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" @@ -296,6 +366,19 @@ babel-generator@^6.25.0: source-map "^0.5.0" trim-right "^1.0.1" +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.6" + trim-right "^1.0.1" + 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" @@ -413,6 +496,14 @@ babel-loader@7.x: loader-utils "^1.0.2" mkdirp "^0.5.1" +babel-loader@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" + dependencies: + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" @@ -664,6 +755,13 @@ babel-plugin-transform-object-rest-spread@^6.23.0: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.22.0" +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + babel-plugin-transform-react-display-name@^6.23.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" @@ -713,6 +811,14 @@ babel-polyfill@^6.23.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + babel-preset-env@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.0.tgz#2de1c782a780a0a5d605d199c957596da43c44e4" @@ -777,6 +883,18 @@ babel-register@^6.24.1: mkdirp "^0.5.1" source-map-support "^0.4.2" +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + 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" @@ -784,6 +902,13 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + babel-template@^6.24.1, babel-template@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" @@ -794,6 +919,16 @@ babel-template@^6.24.1, babel-template@^6.25.0: babylon "^6.17.2" lodash "^4.2.0" +babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + babel-traverse@^6.24.1, babel-traverse@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" @@ -808,6 +943,20 @@ babel-traverse@^6.24.1, babel-traverse@^6.25.0: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" @@ -817,10 +966,23 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25.0: lodash "^4.2.0" to-fast-properties "^1.0.1" +babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + babylon@^6.17.2: version "6.17.4" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + balanced-match@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a" @@ -1156,10 +1318,20 @@ coffee-loader@^0.7.3: dependencies: loader-utils "^1.0.2" +coffee-loader@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/coffee-loader/-/coffee-loader-0.8.0.tgz#ec48e7327da8e3a99047a99d9bdcfcac12df3694" + dependencies: + loader-utils "^1.0.2" + coffee-script@^1.12.7: version "1.12.7" resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" +coffeescript@^1.12.7: + version "1.12.7" + resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.12.7.tgz#e57ee4c4867cf7f606bfc4a0f2d550c0981ddd27" + color-convert@^1.3.0, color-convert@^1.8.2, color-convert@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" @@ -1282,7 +1454,7 @@ convert-source-map@^0.3.3: version "0.3.5" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" -convert-source-map@^1.1.0, convert-source-map@^1.1.1: +convert-source-map@^1.1.0, convert-source-map@^1.1.1, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1302,6 +1474,10 @@ core-js@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" + 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" @@ -1416,6 +1592,25 @@ css-loader@^0.28.4: postcss-value-parser "^3.3.0" source-list-map "^0.1.7" +css-loader@^0.28.5: + version "0.28.7" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b" + dependencies: + babel-code-frame "^6.11.0" + css-selector-tokenizer "^0.7.0" + cssnano ">=2.6.1 <4" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.0.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.0.0" + postcss-modules-local-by-default "^1.0.1" + postcss-modules-scope "^1.0.0" + postcss-modules-values "^1.1.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + css-selector-tokenizer@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz#6445f582c7930d241dcc5007a43d6fcb8f073152" @@ -1533,6 +1728,12 @@ debug@^2.1.1, debug@^2.2.0, debug@^2.6.6: dependencies: ms "2.0.0" +debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + debug@~0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" @@ -1559,6 +1760,20 @@ deep-extend@~0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" +default-gateway@^2.2.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.5.0.tgz#78e24dbd2e1df7490c2b8050515b8e816bfa7da5" + dependencies: + execa "^0.7.0" + ip-regex "^2.1.0" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" @@ -1693,6 +1908,24 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.7.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.8.2.tgz#25103263dc4decbda60e0c737ca32313518027ee" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: version "0.10.24" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.24.tgz#a55877c9924bc0c8d9bd3c2cbe17495ac1709b14" @@ -2009,6 +2242,10 @@ for-own@^1.0.0: dependencies: for-in "^1.0.1" +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -2082,6 +2319,10 @@ function-bind@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + gauge@~2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" @@ -2147,6 +2388,10 @@ globals@^9.0.0: version "9.17.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -2377,11 +2622,12 @@ ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -internal-ip@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" +internal-ip@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-2.0.3.tgz#ed3cf9b671ac7ff23037bfacad42eb439cd9546c" dependencies: - meow "^3.3.0" + default-gateway "^2.2.2" + ipaddr.js "^1.5.2" interpret@^1.0.0: version "1.0.2" @@ -2397,7 +2643,11 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ip@^1.1.0: +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + +ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -2405,6 +2655,10 @@ ipaddr.js@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" +ipaddr.js@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" + is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" @@ -2433,6 +2687,14 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + is-dotfile@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" @@ -2523,6 +2785,12 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^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" @@ -2533,6 +2801,10 @@ is-svg@^2.0.0: dependencies: html-comment-regex "^1.1.0" +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2541,6 +2813,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-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + 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" @@ -2599,6 +2875,10 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + js-yaml@^3.4.3, js-yaml@^3.9.0: version "3.9.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.0.tgz#4ffbbf25c2ac963b8299dc74da7e3740de1c18ce" @@ -2606,6 +2886,13 @@ js-yaml@^3.4.3, js-yaml@^3.9.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^3.9.1: + version "3.10.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" @@ -2941,7 +3228,7 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.3.0, meow@^3.7.0: +meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -3243,6 +3530,10 @@ 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-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + object-path@^0.9.2: version "0.9.2" resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" @@ -3278,12 +3569,11 @@ onecolor@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-3.0.4.tgz#75a46f80da6c7aaa5b4daae17a47198bd9652494" -opn@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" +opn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" + is-wsl "^1.1.0" original@>=0.0.5: version "1.0.0" @@ -3393,7 +3683,7 @@ 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: +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -4116,7 +4406,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -private@^0.1.6: +private@^0.1.6, private@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -4218,6 +4508,13 @@ rails-erb-loader@^5.1.0: loader-utils "^1.1.0" lodash.defaults "^4.2.0" +rails-erb-loader@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/rails-erb-loader/-/rails-erb-loader-5.2.1.tgz#399b7781b88c129bc621a8256329ed2f855398e9" + dependencies: + loader-utils "^1.1.0" + lodash.defaults "^4.2.0" + randomatic@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" @@ -4360,6 +4657,14 @@ regenerator-runtime@^0.10.0: version "0.10.3" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + regenerator-transform@0.9.11: version "0.9.11" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" @@ -4720,6 +5025,12 @@ source-map-resolve@^0.3.0: source-map-url "~0.3.0" urix "~0.1.0" +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + 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" @@ -4906,7 +5217,7 @@ 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.1, supports-color@^3.2.3: +supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -4981,6 +5292,10 @@ to-fast-properties@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" @@ -5175,11 +5490,12 @@ webpack-dev-middleware@^1.11.0: path-is-absolute "^1.0.0" range-parser "^1.0.3" -webpack-dev-server@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.6.1.tgz#0b292a9da96daf80a65988f69f87b4166e5defe7" +webpack-dev-server@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.8.2.tgz#abd61f410778cc4c843d7cebbf41465b1ab7734c" dependencies: ansi-html "0.0.7" + array-includes "^3.0.3" bonjour "^3.5.0" chokidar "^1.6.0" compression "^1.5.2" @@ -5188,19 +5504,20 @@ webpack-dev-server@^2.6.1: express "^4.13.3" html-entities "^1.2.0" http-proxy-middleware "~0.17.4" - internal-ip "^1.2.0" + internal-ip "^2.0.2" + ip "^1.1.5" loglevel "^1.4.1" - opn "4.0.2" + opn "^5.1.0" portfinder "^1.0.9" selfsigned "^1.9.1" serve-index "^1.7.2" sockjs "0.3.18" sockjs-client "1.1.4" spdy "^3.4.1" - strip-ansi "^3.0.0" - supports-color "^3.1.1" + strip-ansi "^3.0.1" + supports-color "^4.2.1" webpack-dev-middleware "^1.11.0" - yargs "^6.0.0" + yargs "^6.6.0" webpack-manifest-plugin@^1.2.1: version "1.2.1" @@ -5209,6 +5526,13 @@ webpack-manifest-plugin@^1.2.1: fs-extra "^0.30.0" lodash ">=3.5 <5" +webpack-manifest-plugin@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-1.3.2.tgz#5ea8ee5756359ddc1d98814324fe43496349a7d4" + dependencies: + fs-extra "^0.30.0" + lodash ">=3.5 <5" + webpack-merge@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.0.tgz#6ad72223b3e0b837e531e4597c199f909361511e" @@ -5249,6 +5573,33 @@ webpack@^3.4.1: webpack-sources "^1.0.1" yargs "^8.0.2" +webpack@^3.5.5: + version "3.6.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.6.0.tgz#a89a929fbee205d35a4fa2cc487be9cbec8898bc" + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^5.1.5" + ajv-keywords "^2.0.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + websocket-driver@>=0.5.1: version "0.6.5" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" @@ -5364,7 +5715,7 @@ yargs@^4.7.1: y18n "^3.2.1" yargs-parser "^2.4.1" -yargs@^6.0.0: +yargs@^6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: