diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
commit | de98e0b232509d5f40c135d540a70e415272ff85 (patch) | |
tree | a79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/ts-loader/dist/watch-run.js | |
parent | e0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff) |
node_modules
Diffstat (limited to 'node_modules/ts-loader/dist/watch-run.js')
-rw-r--r-- | node_modules/ts-loader/dist/watch-run.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/ts-loader/dist/watch-run.js b/node_modules/ts-loader/dist/watch-run.js new file mode 100644 index 000000000..7c96d796b --- /dev/null +++ b/node_modules/ts-loader/dist/watch-run.js @@ -0,0 +1,38 @@ +"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; |