@idlebox/chokidar 0.1.0 → 0.1.2

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
+ 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]}`);
@@ -63,7 +67,12 @@ class WatchHelper {
63
67
  }
64
68
  lowlevel_handler(path) {
65
69
  log('file changes: %s', path);
66
- this.changes.add(path);
70
+ if (path) {
71
+ this.changes.add(path);
72
+ }
73
+ if (!this.changes.size) {
74
+ return;
75
+ }
67
76
  switch (this.state) {
68
77
  case State.IDLE:
69
78
  this.changeState(State.SCHEDULE);
@@ -91,7 +100,7 @@ class WatchHelper {
91
100
  .then(() => {
92
101
  this.onChange(changes);
93
102
  })
94
- .catch(e => {
103
+ .catch((e) => {
95
104
  log('Failed callback: %s', e.stack);
96
105
  })
97
106
  .finally(() => {
@@ -120,7 +129,7 @@ class WatchHelper {
120
129
  }
121
130
  return sum;
122
131
  }
123
- replace(newList) {
132
+ async replace(newList) {
124
133
  const newSet = new Set(newList);
125
134
  for (const item of this.trackedFiles) {
126
135
  if (!newSet.has(item)) {
@@ -133,6 +142,12 @@ class WatchHelper {
133
142
  }
134
143
  }
135
144
  this.add([...newSet]);
145
+ /**
146
+ * 暂时没有办法得知删除操作是否完成
147
+ * 可能遇到问题(不确定):如果删除的项目中有目录,而添加的项目中有其子项,则可能因为异步顺序导致添加后立刻又删除
148
+ * 想不到怎么解决
149
+ */
150
+ throw new Error('replace() is not implemented');
136
151
  }
137
152
  addWatch = (0, node_util_1.deprecate)(this.add.bind(this), 'use add instead of addWatch');
138
153
  delWatch = (0, node_util_1.deprecate)(this.delete.bind(this), 'use delete instead of delWatch');
@@ -197,9 +212,10 @@ const defaultOptions = {
197
212
  watchingEvents: ['add', 'change'],
198
213
  };
199
214
  function startChokidar(reload, options = {}) {
200
- const opts = Object.assign({}, defaultOptions, options);
215
+ const { debounceMs, watchingEvents, ...opts } = Object.assign({}, defaultOptions, options);
201
216
  const watcher = new WatchHelper(new chokidar_1.FSWatcher(opts), reload);
202
- for (const item of opts.watchingEvents) {
217
+ watcher.debounceMs = debounceMs;
218
+ for (const item of watchingEvents) {
203
219
  watcher.listen(item);
204
220
  }
205
221
  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": "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"
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": "AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAkB3D,qBAAa,WAAY,YAAW,YAAY;IAU9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV1B,OAAO,CAAC,KAAK,CAAc;IAEpB,UAAU,SAAO;IACxB,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAqB;gBAGvB,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,eAAe;IAQ3C,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC;IAS3C,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC;IAQ7C,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,OAAO;IA8Bf,IAAI,KAAK,YAER;IAED,IAAI,IAAI,WAMP;IAEK,OAAO,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE;IAuBxC,QAAQ,UAGG,MAAM,GAAG,SAAS,MAAM,EAAE,UAHoC;IACzE,QAAQ,UAcM,MAAM,GAAG,SAAS,MAAM,EAAE,UAduC;IAE/E,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE;IAYrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE;IAYxC,KAAK;IAML,IAAI,eAAe,aAElB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAYtB;IAEK,OAAO;CAGb;AAED,MAAM,WAAW,YAAY;IAC5B,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAElD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAChD,OAAO,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,IAAI,IAAI,CAAC;IAEd,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB,qDAAqD;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAEnC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACnE,QAAA,MAAM,aAAa,sEAAuE,CAAC;AAE3F,MAAM,WAAW,aAAc,SAAQ,eAAe;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;CACjD;AAQD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,YAAY,CAQzG"
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
+ 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]}`);
@@ -59,7 +63,12 @@ export class WatchHelper {
59
63
  }
60
64
  lowlevel_handler(path) {
61
65
  log('file changes: %s', path);
62
- this.changes.add(path);
66
+ if (path) {
67
+ this.changes.add(path);
68
+ }
69
+ if (!this.changes.size) {
70
+ return;
71
+ }
63
72
  switch (this.state) {
64
73
  case State.IDLE:
65
74
  this.changeState(State.SCHEDULE);
@@ -87,7 +96,7 @@ export class WatchHelper {
87
96
  .then(() => {
88
97
  this.onChange(changes);
89
98
  })
90
- .catch(e => {
99
+ .catch((e) => {
91
100
  log('Failed callback: %s', e.stack);
92
101
  })
93
102
  .finally(() => {
@@ -116,7 +125,7 @@ export class WatchHelper {
116
125
  }
117
126
  return sum;
118
127
  }
119
- replace(newList) {
128
+ async replace(newList) {
120
129
  const newSet = new Set(newList);
121
130
  for (const item of this.trackedFiles) {
122
131
  if (!newSet.has(item)) {
@@ -129,6 +138,12 @@ export class WatchHelper {
129
138
  }
130
139
  }
131
140
  this.add([...newSet]);
141
+ /**
142
+ * 暂时没有办法得知删除操作是否完成
143
+ * 可能遇到问题(不确定):如果删除的项目中有目录,而添加的项目中有其子项,则可能因为异步顺序导致添加后立刻又删除
144
+ * 想不到怎么解决
145
+ */
146
+ throw new Error('replace() is not implemented');
132
147
  }
133
148
  addWatch = deprecate(this.add.bind(this), 'use add instead of addWatch');
134
149
  delWatch = deprecate(this.delete.bind(this), 'use delete instead of delWatch');
@@ -192,9 +207,10 @@ const defaultOptions = {
192
207
  watchingEvents: ['add', 'change'],
193
208
  };
194
209
  export function startChokidar(reload, options = {}) {
195
- const opts = Object.assign({}, defaultOptions, options);
210
+ const { debounceMs, watchingEvents, ...opts } = Object.assign({}, defaultOptions, options);
196
211
  const watcher = new WatchHelper(new FSWatcher(opts), reload);
197
- for (const item of opts.watchingEvents) {
212
+ watcher.debounceMs = debounceMs;
213
+ for (const item of watchingEvents) {
198
214
  watcher.listen(item);
199
215
  }
200
216
  return watcher;
@@ -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/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.2",
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,14 +18,14 @@
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.10"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@rushstack/heft": "^0.68.2",
25
25
  "@types/debug": "^4.1.12",
26
26
  "@types/node": "^22.8.6",
27
- "@build-script/single-dog-asset": "^1.0.34",
28
- "@internal/local-rig": "^1.0.1"
27
+ "@internal/local-rig": "^1.0.1",
28
+ "@build-script/single-dog-asset": "^1.0.34"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "heft --unmanaged build",
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
+ 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) {
@@ -67,7 +71,12 @@ export class WatchHelper implements IWatchHelper {
67
71
 
68
72
  private lowlevel_handler(path: string) {
69
73
  log('file changes: %s', path);
70
- this.changes.add(path);
74
+ if (path) {
75
+ this.changes.add(path);
76
+ }
77
+ if (!this.changes.size) {
78
+ return;
79
+ }
71
80
  switch (this.state) {
72
81
  case State.IDLE:
73
82
  this.changeState(State.SCHEDULE);
@@ -98,7 +107,7 @@ export class WatchHelper implements IWatchHelper {
98
107
  .then(() => {
99
108
  this.onChange(changes);
100
109
  })
101
- .catch(e => {
110
+ .catch((e) => {
102
111
  log('Failed callback: %s', e.stack);
103
112
  })
104
113
  .finally(() => {
@@ -128,7 +137,7 @@ export class WatchHelper implements IWatchHelper {
128
137
  return sum;
129
138
  }
130
139
 
131
- replace(newList: readonly string[]) {
140
+ async replace(newList: readonly string[]) {
132
141
  const newSet = new Set(newList);
133
142
  for (const item of this.trackedFiles) {
134
143
  if (!newSet.has(item)) {
@@ -142,6 +151,13 @@ export class WatchHelper implements IWatchHelper {
142
151
  }
143
152
 
144
153
  this.add([...newSet]);
154
+
155
+ /**
156
+ * 暂时没有办法得知删除操作是否完成
157
+ * 可能遇到问题(不确定):如果删除的项目中有目录,而添加的项目中有其子项,则可能因为异步顺序导致添加后立刻又删除
158
+ * 想不到怎么解决
159
+ */
160
+ throw new Error('replace() is not implemented');
145
161
  }
146
162
 
147
163
  addWatch = deprecate(this.add.bind(this), 'use add instead of addWatch');
@@ -212,7 +228,7 @@ export interface IWatchHelper {
212
228
 
213
229
  add(files: string | readonly string[]): void;
214
230
  delete(files: string | readonly string[]): void;
215
- replace(files: readonly string[]): void;
231
+ replace(files: readonly string[]): Promise<void>;
216
232
  reset(): void;
217
233
 
218
234
  /** 注意: chokidar的api无法同步获取监听文件数量,这个数值不会实时的反映实际情况 */
@@ -246,9 +262,10 @@ const defaultOptions: IExtraOptions = {
246
262
  };
247
263
 
248
264
  export function startChokidar(reload: IReloadFunction, options: Partial<IExtraOptions> = {}): IWatchHelper {
249
- const opts = Object.assign({}, defaultOptions, options);
265
+ const { debounceMs, watchingEvents, ...opts } = Object.assign({}, defaultOptions, options);
250
266
  const watcher = new WatchHelper(new FSWatcher(opts), reload);
251
- for (const item of opts.watchingEvents) {
267
+ watcher.debounceMs = debounceMs;
268
+ for (const item of watchingEvents) {
252
269
  watcher.listen(item);
253
270
  }
254
271
  return watcher;