diff --git a/lib/Server.js b/lib/Server.js index 4fa065d149..2283993a1f 100644 --- a/lib/Server.js +++ b/lib/Server.js @@ -444,14 +444,125 @@ class Server { const compilerOptions = this.getCompilerOptions(); // TODO remove `{}` after drop webpack v4 support - const watchOptions = compilerOptions.watchOptions || {}; - const defaultOptionsForStatic = { - directory: path.join(process.cwd(), "public"), - staticOptions: {}, - publicPath: ["/"], - serveIndex: { icons: true }, - // Respect options from compiler watchOptions - watch: watchOptions, + const compilerWatchOptions = compilerOptions.watchOptions || {}; + const getWatchOptions = (watchOptions = {}) => { + const getPolling = () => { + if (typeof watchOptions.usePolling !== "undefined") { + return watchOptions.usePolling; + } + + if (typeof watchOptions.poll !== "undefined") { + return Boolean(watchOptions.poll); + } + + if (typeof compilerWatchOptions.poll !== "undefined") { + return Boolean(compilerWatchOptions.poll); + } + + return false; + }; + const getInterval = () => { + if (typeof watchOptions.interval !== "undefined") { + return watchOptions.interval; + } + + if (typeof watchOptions.poll === "number") { + return watchOptions.poll; + } + + if (typeof compilerWatchOptions.poll === "number") { + return compilerWatchOptions.poll; + } + }; + + const usePolling = getPolling(); + const interval = getInterval(); + const { poll, ...rest } = watchOptions; + + return { + ignoreInitial: true, + persistent: true, + followSymlinks: false, + atomic: false, + alwaysStat: true, + ignorePermissionErrors: true, + // Respect options from compiler watchOptions + usePolling, + interval, + ignored: watchOptions.ignored, + // TODO: we respect these options for all watch options and allow developers to pass them to chokidar, but chokidar doesn't have these options maybe we need revisit that in future + ...rest, + }; + }; + const getStaticItem = (optionsForStatic) => { + const getDefaultStaticOptions = () => { + return { + directory: path.join(process.cwd(), "public"), + staticOptions: {}, + publicPath: ["/"], + serveIndex: { icons: true }, + watch: getWatchOptions(), + }; + }; + + let item; + + if (typeof optionsForStatic === "undefined") { + item = getDefaultStaticOptions(); + } else if (typeof optionsForStatic === "string") { + item = { + ...getDefaultStaticOptions(), + directory: optionsForStatic, + }; + } else { + const def = getDefaultStaticOptions(); + + item = { + directory: + typeof optionsForStatic.directory !== "undefined" + ? optionsForStatic.directory + : def.directory, + // TODO: do merge in the next major release + staticOptions: + typeof optionsForStatic.staticOptions !== "undefined" + ? optionsForStatic.staticOptions + : def.staticOptions, + publicPath: + typeof optionsForStatic.publicPath !== "undefined" + ? optionsForStatic.publicPath + : def.publicPath, + // TODO: do merge in the next major release + serveIndex: + // eslint-disable-next-line no-nested-ternary + typeof optionsForStatic.serveIndex !== "undefined" + ? typeof optionsForStatic.serveIndex === "boolean" && + optionsForStatic.serveIndex + ? def.serveIndex + : optionsForStatic.serveIndex + : def.serveIndex, + watch: + // eslint-disable-next-line no-nested-ternary + typeof optionsForStatic.watch !== "undefined" + ? // eslint-disable-next-line no-nested-ternary + typeof optionsForStatic.watch === "boolean" + ? optionsForStatic.watch + ? def.watch + : false + : getWatchOptions(optionsForStatic.watch) + : def.watch, + }; + } + + if (Server.isAbsoluteURL(item.directory)) { + throw new Error("Using a URL as static.directory is not supported"); + } + + // ensure that publicPath is an array + if (typeof item.publicPath === "string") { + item.publicPath = [item.publicPath]; + } + + return item; }; if (typeof options.allowedHosts === "undefined") { @@ -921,50 +1032,27 @@ class Server { } if (typeof options.static === "undefined") { - options.static = [defaultOptionsForStatic]; + options.static = [getStaticItem()]; } else if (typeof options.static === "boolean") { - options.static = options.static ? [defaultOptionsForStatic] : false; + options.static = options.static ? [getStaticItem()] : false; } else if (typeof options.static === "string") { - options.static = [ - { ...defaultOptionsForStatic, directory: options.static }, - ]; + options.static = [getStaticItem(options.static)]; } else if (Array.isArray(options.static)) { options.static = options.static.map((item) => { if (typeof item === "string") { - return { ...defaultOptionsForStatic, directory: item }; + return getStaticItem(item); } - return { ...defaultOptionsForStatic, ...item }; + return getStaticItem(item); }); } else { - options.static = [{ ...defaultOptionsForStatic, ...options.static }]; - } - - if (options.static) { - options.static.forEach((staticOption) => { - if (Server.isAbsoluteURL(staticOption.directory)) { - throw new Error("Using a URL as static.directory is not supported"); - } - - // ensure that publicPath is an array - if (typeof staticOption.publicPath === "string") { - staticOption.publicPath = [staticOption.publicPath]; - } - - // ensure that watch is an object if true - if (staticOption.watch === true) { - staticOption.watch = defaultOptionsForStatic.watch; - } - - // ensure that serveIndex is an object if true - if (staticOption.serveIndex === true) { - staticOption.serveIndex = defaultOptionsForStatic.serveIndex; - } - }); + options.static = [getStaticItem(options.static)]; } if (typeof options.watchFiles === "string") { - options.watchFiles = [{ paths: options.watchFiles, options: {} }]; + options.watchFiles = [ + { paths: options.watchFiles, options: getWatchOptions() }, + ]; } else if ( typeof options.watchFiles === "object" && options.watchFiles !== null && @@ -973,16 +1061,19 @@ class Server { options.watchFiles = [ { paths: options.watchFiles.paths, - options: options.watchFiles.options || {}, + options: getWatchOptions(options.watchFiles.options || {}), }, ]; } else if (Array.isArray(options.watchFiles)) { options.watchFiles = options.watchFiles.map((item) => { if (typeof item === "string") { - return { paths: item, options: {} }; + return { paths: item, options: getWatchOptions() }; } - return { paths: item.paths, options: item.options || {} }; + return { + paths: item.paths, + options: getWatchOptions(item.options || {}), + }; }); } else { options.watchFiles = []; @@ -2124,36 +2215,8 @@ class Server { } watchFiles(watchPath, watchOptions) { - // duplicate the same massaging of options that watchpack performs - // https://github.com/webpack/watchpack/blob/master/lib/DirectoryWatcher.js#L49 - // this isn't an elegant solution, but we'll improve it in the future - const usePolling = - typeof watchOptions.usePolling !== "undefined" - ? watchOptions.usePolling - : Boolean(watchOptions.poll); - const interval = - // eslint-disable-next-line no-nested-ternary - typeof watchOptions.interval !== "undefined" - ? watchOptions.interval - : typeof watchOptions.poll === "number" - ? watchOptions.poll - : // eslint-disable-next-line no-undefined - undefined; - - const finalWatchOptions = { - ignoreInitial: true, - persistent: true, - followSymlinks: false, - atomic: false, - alwaysStat: true, - ignorePermissionErrors: true, - ignored: watchOptions.ignored, - usePolling, - interval, - }; - const chokidar = require("chokidar"); - const watcher = chokidar.watch(watchPath, finalWatchOptions); + const watcher = chokidar.watch(watchPath, watchOptions); // disabling refreshing on changing the content if (this.options.liveReload) { diff --git a/test/server/__snapshots__/Server.test.js.snap.webpack4 b/test/server/__snapshots__/Server.test.js.snap.webpack4 index d394c36fa9..c01dfba1c7 100644 --- a/test/server/__snapshots__/Server.test.js.snap.webpack4 +++ b/test/server/__snapshots__/Server.test.js.snap.webpack4 @@ -90,7 +90,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -137,7 +147,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -185,7 +205,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -235,7 +265,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -285,7 +325,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -334,7 +384,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -383,7 +443,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -431,7 +501,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -479,7 +559,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -527,7 +617,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -577,7 +677,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -627,7 +737,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -676,7 +796,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -723,7 +853,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -770,7 +910,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -817,7 +967,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -864,7 +1024,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -911,7 +1081,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -958,7 +1138,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1005,7 +1195,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1052,7 +1252,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1099,7 +1309,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1146,7 +1366,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1193,7 +1423,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1240,7 +1480,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1287,7 +1537,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1334,7 +1594,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1382,7 +1652,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "aggregateTimeout": 300, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, }, }, ], @@ -1431,7 +1709,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "poll": 500, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 500, + "persistent": true, + "usePolling": true, }, }, ], @@ -1480,7 +1766,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "aggregateTimeout": 300, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, }, }, ], @@ -1529,7 +1823,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "aggregateTimeout": 300, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, }, }, ], @@ -1577,7 +1879,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, Object { "directory": "/public", @@ -1588,7 +1900,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1635,7 +1957,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, Object { "directory": "/static/path2", @@ -1646,7 +1978,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1693,7 +2035,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, Object { "directory": "/public", @@ -1704,7 +2056,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1751,7 +2113,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1833,7 +2205,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1880,7 +2262,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1927,7 +2319,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1975,7 +2377,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2022,7 +2434,17 @@ Object { "icons": false, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2067,7 +2489,17 @@ Object { ], "serveIndex": false, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2114,7 +2546,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2162,7 +2604,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "poll": 500, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 500, + "persistent": true, + "usePolling": true, }, }, ], @@ -2257,7 +2707,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2307,7 +2767,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2354,7 +2824,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2401,7 +2881,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], diff --git a/test/server/__snapshots__/Server.test.js.snap.webpack5 b/test/server/__snapshots__/Server.test.js.snap.webpack5 index d394c36fa9..c01dfba1c7 100644 --- a/test/server/__snapshots__/Server.test.js.snap.webpack5 +++ b/test/server/__snapshots__/Server.test.js.snap.webpack5 @@ -90,7 +90,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -137,7 +147,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -185,7 +205,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -235,7 +265,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -285,7 +325,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -334,7 +384,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -383,7 +443,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -431,7 +501,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -479,7 +559,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -527,7 +617,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -577,7 +677,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -627,7 +737,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -676,7 +796,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -723,7 +853,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -770,7 +910,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -817,7 +967,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -864,7 +1024,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -911,7 +1081,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -958,7 +1138,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1005,7 +1195,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1052,7 +1252,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1099,7 +1309,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1146,7 +1366,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1193,7 +1423,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1240,7 +1480,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1287,7 +1537,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1334,7 +1594,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1382,7 +1652,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "aggregateTimeout": 300, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, }, }, ], @@ -1431,7 +1709,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "poll": 500, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 500, + "persistent": true, + "usePolling": true, }, }, ], @@ -1480,7 +1766,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "aggregateTimeout": 300, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, }, }, ], @@ -1529,7 +1823,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "aggregateTimeout": 300, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, }, }, ], @@ -1577,7 +1879,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, Object { "directory": "/public", @@ -1588,7 +1900,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1635,7 +1957,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, Object { "directory": "/static/path2", @@ -1646,7 +1978,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1693,7 +2035,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, Object { "directory": "/public", @@ -1704,7 +2056,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1751,7 +2113,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1833,7 +2205,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1880,7 +2262,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1927,7 +2319,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -1975,7 +2377,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2022,7 +2434,17 @@ Object { "icons": false, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2067,7 +2489,17 @@ Object { ], "serveIndex": false, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2114,7 +2546,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2162,7 +2604,15 @@ Object { }, "staticOptions": Object {}, "watch": Object { - "poll": 500, + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 500, + "persistent": true, + "usePolling": true, }, }, ], @@ -2257,7 +2707,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2307,7 +2767,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2354,7 +2824,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], @@ -2401,7 +2881,17 @@ Object { "icons": true, }, "staticOptions": Object {}, - "watch": Object {}, + "watch": Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": undefined, + "persistent": true, + "usePolling": false, + }, }, ], "watchFiles": Array [], diff --git a/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack4 b/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack4 index 783029c365..785a259628 100644 --- a/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack4 +++ b/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack4 @@ -1,5 +1,19 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`'watchFiles' option should work with options {"interval":400,"poll":200} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 400, + "persistent": true, + "usePolling": true, +} +`; + exports[`'watchFiles' option should work with options {"poll":200} should pass correct options to chokidar config 1`] = ` Object { "alwaysStat": true, @@ -28,6 +42,34 @@ Object { } `; +exports[`'watchFiles' option should work with options {"usePolling":false,"interval":200,"poll":400} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 200, + "persistent": true, + "usePolling": false, +} +`; + +exports[`'watchFiles' option should work with options {"usePolling":false,"poll":200} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 200, + "persistent": true, + "usePolling": false, +} +`; + exports[`'watchFiles' option should work with options {"usePolling":false,"poll":true} should pass correct options to chokidar config 1`] = ` Object { "alwaysStat": true, @@ -70,6 +112,20 @@ Object { } `; +exports[`'watchFiles' option should work with options {"usePolling":true,"poll":200} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 200, + "persistent": true, + "usePolling": true, +} +`; + exports[`'watchFiles' option should work with options {"usePolling":true} should pass correct options to chokidar config 1`] = ` Object { "alwaysStat": true, diff --git a/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack5 b/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack5 index 783029c365..785a259628 100644 --- a/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack5 +++ b/test/server/__snapshots__/watchFiles-option.test.js.snap.webpack5 @@ -1,5 +1,19 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`'watchFiles' option should work with options {"interval":400,"poll":200} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 400, + "persistent": true, + "usePolling": true, +} +`; + exports[`'watchFiles' option should work with options {"poll":200} should pass correct options to chokidar config 1`] = ` Object { "alwaysStat": true, @@ -28,6 +42,34 @@ Object { } `; +exports[`'watchFiles' option should work with options {"usePolling":false,"interval":200,"poll":400} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 200, + "persistent": true, + "usePolling": false, +} +`; + +exports[`'watchFiles' option should work with options {"usePolling":false,"poll":200} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 200, + "persistent": true, + "usePolling": false, +} +`; + exports[`'watchFiles' option should work with options {"usePolling":false,"poll":true} should pass correct options to chokidar config 1`] = ` Object { "alwaysStat": true, @@ -70,6 +112,20 @@ Object { } `; +exports[`'watchFiles' option should work with options {"usePolling":true,"poll":200} should pass correct options to chokidar config 1`] = ` +Object { + "alwaysStat": true, + "atomic": false, + "followSymlinks": false, + "ignoreInitial": true, + "ignorePermissionErrors": true, + "ignored": undefined, + "interval": 200, + "persistent": true, + "usePolling": true, +} +`; + exports[`'watchFiles' option should work with options {"usePolling":true} should pass correct options to chokidar config 1`] = ` Object { "alwaysStat": true, diff --git a/test/server/watchFiles-option.test.js b/test/server/watchFiles-option.test.js index 7ec343bb57..7a16f89f45 100644 --- a/test/server/watchFiles-option.test.js +++ b/test/server/watchFiles-option.test.js @@ -327,18 +327,35 @@ describe("'watchFiles' option", () => { { usePolling: true, }, + { + usePolling: true, + poll: 200, + }, { usePolling: false, }, + { + usePolling: false, + poll: 200, + }, { usePolling: false, poll: true, }, + { + interval: 400, + poll: 200, + }, { usePolling: true, interval: 200, poll: 400, }, + { + usePolling: false, + interval: 200, + poll: 400, + }, ]; optionCases.forEach((optionCase) => {