aboutsummaryrefslogtreecommitdiff
path: root/node_modules/ts-loader/dist/watch-run.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
commitde98e0b232509d5f40c135d540a70e415272ff85 (patch)
treea79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/ts-loader/dist/watch-run.js
parente0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff)
node_modules
Diffstat (limited to 'node_modules/ts-loader/dist/watch-run.js')
-rw-r--r--node_modules/ts-loader/dist/watch-run.js38
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;