"use strict"; var path = require("path"); var utils = require("./utils"); var constants = require("./constants"); /** * Make function which will manually update changed files */ function makeWatchRun(instance) { var lastTimes = {}; var startTime = null; return function (watching, cb) { var watcher = watching.compiler.watchFileSystem.watcher || watching.compiler.watchFileSystem.wfs.watcher; if (null === instance.modifiedFiles) { instance.modifiedFiles = {}; } startTime = startTime || watching.startTime; var times = watcher.getTimes(); Object.keys(times) .filter(function (filePath) { return times[filePath] > (lastTimes[filePath] || startTime) && !!filePath.match(constants.tsTsxJsJsxRegex); }) .forEach(function (filePath) { lastTimes[filePath] = times[filePath]; filePath = path.normalize(filePath); var file = instance.files[filePath]; if (file) { file.text = utils.readFile(filePath) || ''; file.version++; instance.version++; instance.modifiedFiles[filePath] = file; } }); cb(); }; } module.exports = makeWatchRun;