1 | var path = require("path");
|
2 | var Watchpack = require("../");
|
3 |
|
4 | var folder = path.join(__dirname, "folder");
|
5 |
|
6 | function 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 |
|
30 | startWatcher("folder", [], [folder]);
|
31 | startWatcher("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 | ]);
|