UNPKG

997 BJavaScriptView Raw
1var path = require("path");
2var Watchpack = require("../");
3
4var folder = path.join(__dirname, "folder");
5
6function startWatcher(name, files, folders) {
7 var w = new Watchpack({
8 aggregateTimeout: 3000
9 });
10
11 w.on("change", function(file, mtime) {
12 console.log(name, "change", path.relative(folder, file), mtime);
13 });
14
15 w.on("aggregated", function(changes) {
16 var times = w.getTimes();
17 console.log(name, "aggregated", changes.map(function(file) {
18 return path.relative(folder, file);
19 }), Object.keys(times).reduce(function(obj, file) {
20 obj[path.relative(folder, file)] = times[file];
21 return obj
22 }, {}));
23 });
24
25 var startTime = Date.now() - 10000;
26 console.log(name, startTime);
27 w.watch(files, folders, startTime);
28}
29
30startWatcher("folder", [], [folder]);
31startWatcher("sub+files", [
32 path.join(folder, "a.txt"),
33 path.join(folder, "b.txt"),
34 path.join(folder, "c.txt"),
35 path.join(folder, "d.txt"),
36], [
37 path.join(folder, "subfolder")
38]);