+1
-0
@@ -7,1 +7,2 @@ # Ordered by date of first contribution. | ||
| luckydrq <ruoqi.drq@alibaba-inc.com> (https://github.com/luckydrq) | ||
| popomore <sakura9515@gmail.com> (https://github.com/popomore) |
+5
-0
| 1.0.0 / 2015-05-07 | ||
| ================== | ||
| * improve: do not pass dirs when instantiation | ||
| 0.2.1 / 2014-11-11 | ||
@@ -3,0 +8,0 @@ ================== |
+33
-28
| /**! | ||
| * wt - index.js | ||
| * | ||
| * Copyright(c) fengmk2 and other contributors. | ||
| * Copyright(c) node-modules and other contributors. | ||
| * MIT Licensed | ||
| * | ||
| * Authors: | ||
| * fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com) | ||
| * fengmk2 <fengmk2@gmail.com> (http://fengmk2.com) | ||
| */ | ||
@@ -34,3 +34,3 @@ | ||
| */ | ||
| function Watcher(dirs, options, done) { | ||
| function Watcher(options) { | ||
| // http://nodejs.org/dist/v0.11.12/docs/api/fs.html#fs_caveats | ||
@@ -41,8 +41,2 @@ // The recursive option is currently supported on OS X. | ||
| if (typeof options === 'function') { | ||
| // Watcher(dirs, done); | ||
| done = options; | ||
| options = null; | ||
| } | ||
| options = options || {}; | ||
@@ -59,23 +53,27 @@ if (options.ignoreHidden === undefined || options.ignoreHidden === null) { | ||
| if (typeof dirs === 'string') { | ||
| dirs = [dirs]; | ||
| this._watchers = {}; | ||
| } | ||
| Watcher.watch = function (dirs, options, done) { | ||
| // watch(dirs, done); | ||
| if (typeof options === 'function') { | ||
| done = options; | ||
| options = null; | ||
| } | ||
| this._watchers = {}; | ||
| dirs.forEach(this.watch.bind(this)); | ||
| // watch(dirs); | ||
| if (!done) { | ||
| done = function() {}; | ||
| } | ||
| var index = 0; | ||
| var that = this; | ||
| dirs.forEach(function (dir) { | ||
| that.once('watch-' + dir, function () { | ||
| if (++index === dirs.length) { | ||
| debug('watch %j ready', dirs); | ||
| done && done(); | ||
| var count = Array.isArray(dirs) ? dirs.length : 1; | ||
| return new Watcher(options) | ||
| .watch(dirs) | ||
| .once('error', done) | ||
| .on('watch', function () { | ||
| count--; | ||
| if (count === 0) { | ||
| done(); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| Watcher.watch = function (dirs, options, done) { | ||
| return new Watcher(dirs, options, done); | ||
| }; | ||
@@ -88,2 +86,7 @@ | ||
| proto.watch = function (dir) { | ||
| if (Array.isArray(dir)) { | ||
| dir.forEach(this.watch.bind(this)); | ||
| return this; | ||
| } | ||
| var watchers = this._watchers; | ||
@@ -112,7 +115,10 @@ var that = this; | ||
| }).on('error', function (err) { | ||
| that.emit('watch-error-' + dir, err); | ||
| err.dir = dir; | ||
| that.emit('watch-error', err); | ||
| }).on('end', function () { | ||
| debug('watch %s done', dir); | ||
| that.emit('watch-' + dir); | ||
| debug('now watching %s', Object.keys(that._watchers)); | ||
| that.emit('watch', dir); | ||
| }); | ||
| return this; | ||
| }; | ||
@@ -180,3 +186,2 @@ | ||
| } | ||
| that.emit('all', info); | ||
@@ -183,0 +188,0 @@ if (info.remove) { |
+1
-2
| { | ||
| "name": "wt", | ||
| "version": "0.2.1", | ||
| "version": "1.0.0", | ||
| "description": "wt: Simple dir watcher, including all subdirectories, support multi dirs", | ||
@@ -22,3 +22,2 @@ "main": "index.js", | ||
| "contributors": "*", | ||
| "cov": "*", | ||
| "istanbul": "*", | ||
@@ -25,0 +24,0 @@ "jshint": "*", |
+1
-2
@@ -27,4 +27,2 @@ wt | ||
|  | ||
| wt: Simple dir watcher, including all subdirectories, support events and multi dirs: | ||
@@ -66,2 +64,3 @@ | ||
| Copyright (c) 2014 fengmk2 <fengmk2@gmail.com> and other contributors | ||
| Copyright (c) 2015 node-modules and other contributors | ||
@@ -68,0 +67,0 @@ Permission is hereby granted, free of charge, to any person obtaining |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
10260
1.95%7
-12.5%172
3.61%0
-100%83
-1.19%