@idlebox/chokidar 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/main.cjs CHANGED
@@ -39,6 +39,7 @@ class WatchHelper {
39
39
  if (!allowedEvents.includes(item)) {
40
40
  throw new Error(`not allowed watcher event name: ${item}`);
41
41
  }
42
+ console.log('listen: %s [before %d]', item, this.watcher.listenerCount(item));
42
43
  if (this.watcher.listenerCount(item) === 0) {
43
44
  this.watcher.addListener(item, this.lowlevel_handler);
44
45
  }
@@ -55,7 +56,10 @@ class WatchHelper {
55
56
  clearTimeout(this._debounce);
56
57
  this._debounce = undefined;
57
58
  }
58
- this._debounce = setTimeout(this.handler, this.debounceMs);
59
+ this._debounce = setTimeout(() => {
60
+ this._debounce = undefined;
61
+ this.handler();
62
+ }, this.debounceMs);
59
63
  }
60
64
  changeState(s) {
61
65
  log(`state change: ${State[s]}`);
@@ -91,7 +95,7 @@ class WatchHelper {
91
95
  .then(() => {
92
96
  this.onChange(changes);
93
97
  })
94
- .catch(e => {
98
+ .catch((e) => {
95
99
  log('Failed callback: %s', e.stack);
96
100
  })
97
101
  .finally(() => {
@@ -120,7 +124,7 @@ class WatchHelper {
120
124
  }
121
125
  return sum;
122
126
  }
123
- replace(newList) {
127
+ async replace(newList) {
124
128
  const newSet = new Set(newList);
125
129
  for (const item of this.trackedFiles) {
126
130
  if (!newSet.has(item)) {
@@ -133,6 +137,12 @@ class WatchHelper {
133
137
  }
134
138
  }
135
139
  this.add([...newSet]);
140
+ /**
141
+ * 暂时没有办法得知删除操作是否完成
142
+ * 可能遇到问题(不确定):如果删除的项目中有目录,而添加的项目中有其子项,则可能因为异步顺序导致添加后立刻又删除
143
+ * 想不到怎么解决
144
+ */
145
+ throw new Error('replace() is not implemented');
136
146
  }
137
147
  addWatch = (0, node_util_1.deprecate)(this.add.bind(this), 'use add instead of addWatch');
138
148
  delWatch = (0, node_util_1.deprecate)(this.delete.bind(this), 'use delete instead of delWatch');
@@ -197,9 +207,10 @@ const defaultOptions = {
197
207
  watchingEvents: ['add', 'change'],
198
208
  };
199
209
  function startChokidar(reload, options = {}) {
200
- const opts = Object.assign({}, defaultOptions, options);
210
+ const { debounceMs, watchingEvents, ...opts } = Object.assign({}, defaultOptions, options);
201
211
  const watcher = new WatchHelper(new chokidar_1.FSWatcher(opts), reload);
202
- for (const item of opts.watchingEvents) {
212
+ watcher.debounceMs = debounceMs;
213
+ for (const item of watchingEvents) {
203
214
  watcher.listen(item);
204
215
  }
205
216
  return watcher;
@@ -6,5 +6,5 @@
6
6
  "../../src/main.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;AAuPA,sCAOC;;AA9PD,uCAA2D;AAC3D,0DAA0B;AAC1B,yCAAiC;AACjC,yCAAsC;AAEtC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,UAAU,CAAC,CAAC;AAE9B,IAAK,KASJ;AATD,WAAK,KAAK;IACT,iBAAiB;IACjB,iCAAQ,CAAA;IACR,mBAAmB;IACnB,iCAAQ,CAAA;IACR,WAAW;IACX,yCAAY,CAAA;IACZ,uDAAuD;IACvD,6CAAc,CAAA;AACf,CAAC,EATI,KAAK,KAAL,KAAK,QAST;AAED,MAAa,WAAW;IAUL;IACA;IAVV,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IAEpB,UAAU,GAAG,GAAG,CAAC;IAChB,OAAO,CAAiB;IACxB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IACnB,GAAG,CAAqB;IACjC,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,YACkB,OAAkB,EAClB,QAAyB;QADzB,YAAO,GAAP,OAAO,CAAW;QAClB,aAAQ,GAAR,QAAQ,CAAiB;QAE1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAoC;QAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IACD,QAAQ,CAAC,IAAoC;QAC5C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,SAAS,CAAkB;IAC3B,QAAQ;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEO,WAAW,CAAC,CAAQ;QAC3B,GAAG,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACpC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,KAAK,CAAC,IAAI;gBACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACR,KAAK,KAAK,CAAC,QAAQ;gBAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACR,KAAK,KAAK,CAAC,IAAI;gBACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACnC,OAAO;YACR,KAAK,KAAK,CAAC,UAAU;gBACpB,OAAO;YACR;gBACC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IAEO,OAAO;QACd,GAAG,CAAC,YAAY,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE;aAC9B,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE;YACV,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,YAAY,CAAC,GAAG,EAAE;oBACjB,MAAM,CAAC,CAAC;gBACT,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI;QACP,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC7D,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,OAA0B;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACzE,QAAQ,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;IAE/E,GAAG,CAAC,KAAiC;QACpC,uCAAuC;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAiC;QACvC,uCAAuC;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAiB,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO;QACV,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;CACD;AA1LD,kCA0LC;AA8BD,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAU,CAAC;AAO3F,MAAM,cAAc,GAAkB;IACrC,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;CACjC,CAAC;AAEF,SAAgB,aAAa,CAAC,MAAuB,EAAE,UAAkC,EAAE;IAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,oBAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"
9
+ "mappings": ";;;AAkQA,sCAQC;;AA1QD,uCAA2D;AAC3D,0DAA0B;AAC1B,yCAAiC;AACjC,yCAAsC;AAEtC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,UAAU,CAAC,CAAC;AAE9B,IAAK,KASJ;AATD,WAAK,KAAK;IACT,iBAAiB;IACjB,iCAAQ,CAAA;IACR,mBAAmB;IACnB,iCAAQ,CAAA;IACR,WAAW;IACX,yCAAY,CAAA;IACZ,uDAAuD;IACvD,6CAAc,CAAA;AACf,CAAC,EATI,KAAK,KAAL,KAAK,QAST;AAED,MAAa,WAAW;IAUL;IACA;IAVV,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IAEpB,UAAU,GAAG,GAAG,CAAC;IAChB,OAAO,CAAiB;IACxB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IACnB,GAAG,CAAqB;IACjC,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,YACkB,OAAkB,EAClB,QAAyB;QADzB,YAAO,GAAP,OAAO,CAAW;QAClB,aAAQ,GAAR,QAAQ,CAAiB;QAE1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAoC;QAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IACD,QAAQ,CAAC,IAAoC;QAC5C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,SAAS,CAAkB;IAC3B,QAAQ;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;IAEO,WAAW,CAAC,CAAQ;QAC3B,GAAG,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACpC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,KAAK,CAAC,IAAI;gBACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACR,KAAK,KAAK,CAAC,QAAQ;gBAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACR,KAAK,KAAK,CAAC,IAAI;gBACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACnC,OAAO;YACR,KAAK,KAAK,CAAC,UAAU;gBACpB,OAAO;YACR;gBACC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IAEO,OAAO;QACd,GAAG,CAAC,YAAY,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE;aAC9B,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,YAAY,CAAC,GAAG,EAAE;oBACjB,MAAM,CAAC,CAAC;gBACT,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI;QACP,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC7D,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA0B;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAEtB;;;;WAIG;QACH,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACzE,QAAQ,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;IAE/E,GAAG,CAAC,KAAiC;QACpC,uCAAuC;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAiC;QACvC,uCAAuC;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAiB,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO;QACV,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;CACD;AArMD,kCAqMC;AA8BD,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAU,CAAC;AAO3F,MAAM,cAAc,GAAkB;IACrC,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;CACjC,CAAC;AAEF,SAAgB,aAAa,CAAC,MAAuB,EAAE,UAAkC,EAAE;IAC1F,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,oBAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"
10
10
  }
package/lib/esm/main.d.ts CHANGED
@@ -18,7 +18,7 @@ export declare class WatchHelper implements IWatchHelper {
18
18
  private handler;
19
19
  get empty(): boolean;
20
20
  get size(): number;
21
- replace(newList: readonly string[]): void;
21
+ replace(newList: readonly string[]): Promise<void>;
22
22
  addWatch: (files: string | readonly string[]) => void;
23
23
  delWatch: (files: string | readonly string[]) => void;
24
24
  add(files: string | readonly string[]): void;
@@ -36,7 +36,7 @@ export interface IWatchHelper {
36
36
  delWatch(files: string | readonly string[]): void;
37
37
  add(files: string | readonly string[]): void;
38
38
  delete(files: string | readonly string[]): void;
39
- replace(files: readonly string[]): void;
39
+ replace(files: readonly string[]): Promise<void>;
40
40
  reset(): void;
41
41
  /** 注意: chokidar的api无法同步获取监听文件数量,这个数值不会实时的反映实际情况 */
42
42
  readonly size: number;
@@ -6,5 +6,5 @@
6
6
  "../../src/main.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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"
9
+ "mappings": "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"
10
10
  }
package/lib/esm/main.js CHANGED
@@ -35,6 +35,7 @@ export class WatchHelper {
35
35
  if (!allowedEvents.includes(item)) {
36
36
  throw new Error(`not allowed watcher event name: ${item}`);
37
37
  }
38
+ console.log('listen: %s [before %d]', item, this.watcher.listenerCount(item));
38
39
  if (this.watcher.listenerCount(item) === 0) {
39
40
  this.watcher.addListener(item, this.lowlevel_handler);
40
41
  }
@@ -51,7 +52,10 @@ export class WatchHelper {
51
52
  clearTimeout(this._debounce);
52
53
  this._debounce = undefined;
53
54
  }
54
- this._debounce = setTimeout(this.handler, this.debounceMs);
55
+ this._debounce = setTimeout(() => {
56
+ this._debounce = undefined;
57
+ this.handler();
58
+ }, this.debounceMs);
55
59
  }
56
60
  changeState(s) {
57
61
  log(`state change: ${State[s]}`);
@@ -87,7 +91,7 @@ export class WatchHelper {
87
91
  .then(() => {
88
92
  this.onChange(changes);
89
93
  })
90
- .catch(e => {
94
+ .catch((e) => {
91
95
  log('Failed callback: %s', e.stack);
92
96
  })
93
97
  .finally(() => {
@@ -116,7 +120,7 @@ export class WatchHelper {
116
120
  }
117
121
  return sum;
118
122
  }
119
- replace(newList) {
123
+ async replace(newList) {
120
124
  const newSet = new Set(newList);
121
125
  for (const item of this.trackedFiles) {
122
126
  if (!newSet.has(item)) {
@@ -129,6 +133,12 @@ export class WatchHelper {
129
133
  }
130
134
  }
131
135
  this.add([...newSet]);
136
+ /**
137
+ * 暂时没有办法得知删除操作是否完成
138
+ * 可能遇到问题(不确定):如果删除的项目中有目录,而添加的项目中有其子项,则可能因为异步顺序导致添加后立刻又删除
139
+ * 想不到怎么解决
140
+ */
141
+ throw new Error('replace() is not implemented');
132
142
  }
133
143
  addWatch = deprecate(this.add.bind(this), 'use add instead of addWatch');
134
144
  delWatch = deprecate(this.delete.bind(this), 'use delete instead of delWatch');
@@ -192,9 +202,10 @@ const defaultOptions = {
192
202
  watchingEvents: ['add', 'change'],
193
203
  };
194
204
  export function startChokidar(reload, options = {}) {
195
- const opts = Object.assign({}, defaultOptions, options);
205
+ const { debounceMs, watchingEvents, ...opts } = Object.assign({}, defaultOptions, options);
196
206
  const watcher = new WatchHelper(new FSWatcher(opts), reload);
197
- for (const item of opts.watchingEvents) {
207
+ watcher.debounceMs = debounceMs;
208
+ for (const item of watchingEvents) {
198
209
  watcher.listen(item);
199
210
  }
200
211
  return watcher;
@@ -6,5 +6,5 @@
6
6
  "../../src/main.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "wBAAgD,UAAU;;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;AAE9B,IAAK,KASJ;AATD,WAAK,KAAK;IACT,iBAAiB;IACjB,iCAAQ,CAAA;IACR,mBAAmB;IACnB,iCAAQ,CAAA;IACR,WAAW;IACX,yCAAY,CAAA;IACZ,uDAAuD;IACvD,6CAAc,CAAA;AACf,CAAC,EATI,KAAK,KAAL,KAAK,QAST;AAED,MAAM,OAAO,WAAW;IAUL;IACA;IAVV,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IAEpB,UAAU,GAAG,GAAG,CAAC;IAChB,OAAO,CAAiB;IACxB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IACnB,GAAG,CAAqB;IACjC,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,YACkB,OAAkB,EAClB,QAAyB;QADzB,YAAO,GAAP,OAAO,CAAW;QAClB,aAAQ,GAAR,QAAQ,CAAiB;QAE1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAoC;QAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IACD,QAAQ,CAAC,IAAoC;QAC5C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,SAAS,CAAkB;IAC3B,QAAQ;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEO,WAAW,CAAC,CAAQ;QAC3B,GAAG,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACpC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,KAAK,CAAC,IAAI;gBACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACR,KAAK,KAAK,CAAC,QAAQ;gBAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACR,KAAK,KAAK,CAAC,IAAI;gBACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACnC,OAAO;YACR,KAAK,KAAK,CAAC,UAAU;gBACpB,OAAO;YACR;gBACC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IAEO,OAAO;QACd,GAAG,CAAC,YAAY,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE;aAC9B,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE;YACV,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,YAAY,CAAC,GAAG,EAAE;oBACjB,MAAM,CAAC,CAAC;gBACT,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI;QACP,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC7D,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,OAA0B;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACzE,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;IAE/E,GAAG,CAAC,KAAiC;QACpC,uCAAuC;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAiC;QACvC,uCAAuC;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAiB,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO;QACV,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;CACD;AA8BD,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAU,CAAC;AAO3F,MAAM,cAAc,GAAkB;IACrC,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;CACjC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAAuB,EAAE,UAAkC,EAAE;IAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"
9
+ "mappings": "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"
10
10
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@idlebox/chokidar",
3
3
  "type": "module",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "license": "MIT",
6
6
  "author": "GongT <admin@gongt.me> https://github.com/gongt/",
7
7
  "main": "./lib/cjs/__create_index.generated.cjs",
@@ -18,7 +18,7 @@
18
18
  "dependencies": {
19
19
  "chokidar": "^4.0.1",
20
20
  "debug": "^4.3.7",
21
- "@idlebox/common": "^1.4.6"
21
+ "@idlebox/common": "^1.4.7"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@rushstack/heft": "^0.68.2",
package/src/main.ts CHANGED
@@ -27,7 +27,7 @@ export class WatchHelper implements IWatchHelper {
27
27
 
28
28
  constructor(
29
29
  private readonly watcher: FSWatcher,
30
- private readonly onChange: IReloadFunction,
30
+ private readonly onChange: IReloadFunction
31
31
  ) {
32
32
  this.lowlevel_handler = this.lowlevel_handler.bind(this);
33
33
  this.handler = this.handler.bind(this);
@@ -39,6 +39,7 @@ export class WatchHelper implements IWatchHelper {
39
39
  if (!allowedEvents.includes(item)) {
40
40
  throw new Error(`not allowed watcher event name: ${item}`);
41
41
  }
42
+ console.log('listen: %s [before %d]', item, this.watcher.listenerCount(item));
42
43
  if (this.watcher.listenerCount(item) === 0) {
43
44
  this.watcher.addListener(item, this.lowlevel_handler);
44
45
  }
@@ -57,7 +58,10 @@ export class WatchHelper implements IWatchHelper {
57
58
  clearTimeout(this._debounce);
58
59
  this._debounce = undefined;
59
60
  }
60
- this._debounce = setTimeout(this.handler, this.debounceMs);
61
+ this._debounce = setTimeout(() => {
62
+ this._debounce = undefined;
63
+ this.handler();
64
+ }, this.debounceMs);
61
65
  }
62
66
 
63
67
  private changeState(s: State) {
@@ -98,7 +102,7 @@ export class WatchHelper implements IWatchHelper {
98
102
  .then(() => {
99
103
  this.onChange(changes);
100
104
  })
101
- .catch(e => {
105
+ .catch((e) => {
102
106
  log('Failed callback: %s', e.stack);
103
107
  })
104
108
  .finally(() => {
@@ -128,7 +132,7 @@ export class WatchHelper implements IWatchHelper {
128
132
  return sum;
129
133
  }
130
134
 
131
- replace(newList: readonly string[]) {
135
+ async replace(newList: readonly string[]) {
132
136
  const newSet = new Set(newList);
133
137
  for (const item of this.trackedFiles) {
134
138
  if (!newSet.has(item)) {
@@ -142,6 +146,13 @@ export class WatchHelper implements IWatchHelper {
142
146
  }
143
147
 
144
148
  this.add([...newSet]);
149
+
150
+ /**
151
+ * 暂时没有办法得知删除操作是否完成
152
+ * 可能遇到问题(不确定):如果删除的项目中有目录,而添加的项目中有其子项,则可能因为异步顺序导致添加后立刻又删除
153
+ * 想不到怎么解决
154
+ */
155
+ throw new Error('replace() is not implemented');
145
156
  }
146
157
 
147
158
  addWatch = deprecate(this.add.bind(this), 'use add instead of addWatch');
@@ -212,7 +223,7 @@ export interface IWatchHelper {
212
223
 
213
224
  add(files: string | readonly string[]): void;
214
225
  delete(files: string | readonly string[]): void;
215
- replace(files: readonly string[]): void;
226
+ replace(files: readonly string[]): Promise<void>;
216
227
  reset(): void;
217
228
 
218
229
  /** 注意: chokidar的api无法同步获取监听文件数量,这个数值不会实时的反映实际情况 */
@@ -246,9 +257,10 @@ const defaultOptions: IExtraOptions = {
246
257
  };
247
258
 
248
259
  export function startChokidar(reload: IReloadFunction, options: Partial<IExtraOptions> = {}): IWatchHelper {
249
- const opts = Object.assign({}, defaultOptions, options);
260
+ const { debounceMs, watchingEvents, ...opts } = Object.assign({}, defaultOptions, options);
250
261
  const watcher = new WatchHelper(new FSWatcher(opts), reload);
251
- for (const item of opts.watchingEvents) {
262
+ watcher.debounceMs = debounceMs;
263
+ for (const item of watchingEvents) {
252
264
  watcher.listen(item);
253
265
  }
254
266
  return watcher;