From 7a66870af9734c2f319b5359bc22301f1034ecaa Mon Sep 17 00:00:00 2001 From: Ian Mitchell Date: Mon, 28 Nov 2016 06:04:59 -0800 Subject: [PATCH] Add Polling for Bash on Windows (#302) * Add Polling for Bash on Windows Fixes #166 * Add Windows Bash Dependency --- package.json | 1 + server/hot-reloader.js | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 197f9ea322..794a3dff52 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "glamor": "2.18.2", "glob-promise": "2.0.0", "htmlescape": "1.1.1", + "is-windows-bash": "1.0.1", "json-loader": "0.5.4", "loader-utils": "0.2.16", "minimist": "1.2.0", diff --git a/server/hot-reloader.js b/server/hot-reloader.js index bab1b6fef9..9c13425f80 100644 --- a/server/hot-reloader.js +++ b/server/hot-reloader.js @@ -1,6 +1,7 @@ import { join, relative, sep } from 'path' import webpackDevMiddleware from 'webpack-dev-middleware' import webpackHotMiddleware from 'webpack-hot-middleware' +import isWindowsBash from 'is-windows-bash' import webpack from './build/webpack' import read from './read' @@ -106,6 +107,14 @@ export default class HotReloader { this.prevChunkHashes = chunkHashes }) + const windowsSettings = isWindowsBash() ? { + lazy: false, + watchOptions: { + aggregateTimeout: 300, + poll: true + } + } : {} + this.webpackDevMiddleware = webpackDevMiddleware(compiler, { publicPath: '/_webpack/', noInfo: true, @@ -124,7 +133,8 @@ export default class HotReloader { timings: false, version: false, warnings: false - } + }, + ...windowsSettings }) this.webpackHotMiddleware = webpackHotMiddleware(compiler, { log: false })