@opensumi/ide-file-service 3.7.1-next-1739781685.0 → 3.7.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/browser/file-service-client.js +4 -4
- package/lib/browser/file-service-client.js.map +1 -1
- package/lib/browser/file-service-provider-client.d.ts +2 -2
- package/lib/browser/file-service-provider-client.d.ts.map +1 -1
- package/lib/browser/file-service-provider-client.js +2 -2
- package/lib/browser/file-service-provider-client.js.map +1 -1
- package/lib/common/files.d.ts +2 -2
- package/lib/common/files.d.ts.map +1 -1
- package/lib/common/watcher.d.ts +2 -3
- package/lib/common/watcher.d.ts.map +1 -1
- package/lib/common/watcher.js.map +1 -1
- package/lib/node/disk-file-system.provider.d.ts +2 -3
- package/lib/node/disk-file-system.provider.d.ts.map +1 -1
- package/lib/node/disk-file-system.provider.js +2 -3
- package/lib/node/disk-file-system.provider.js.map +1 -1
- package/lib/node/hosted/recursive/file-service-watcher.d.ts +13 -14
- package/lib/node/hosted/recursive/file-service-watcher.d.ts.map +1 -1
- package/lib/node/hosted/recursive/file-service-watcher.js +97 -158
- package/lib/node/hosted/recursive/file-service-watcher.js.map +1 -1
- package/lib/node/hosted/un-recursive/file-service-watcher.d.ts +11 -5
- package/lib/node/hosted/un-recursive/file-service-watcher.d.ts.map +1 -1
- package/lib/node/hosted/un-recursive/file-service-watcher.js +31 -15
- package/lib/node/hosted/un-recursive/file-service-watcher.js.map +1 -1
- package/lib/node/hosted/watcher.host.service.d.ts +2 -7
- package/lib/node/hosted/watcher.host.service.d.ts.map +1 -1
- package/lib/node/hosted/watcher.host.service.js +28 -60
- package/lib/node/hosted/watcher.host.service.js.map +1 -1
- package/lib/node/hosted/watcher.process.js +1 -1
- package/lib/node/hosted/watcher.process.js.map +1 -1
- package/lib/node/watcher-process-manager.d.ts +2 -3
- package/lib/node/watcher-process-manager.d.ts.map +1 -1
- package/lib/node/watcher-process-manager.js +3 -4
- package/lib/node/watcher-process-manager.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/file-service-client.ts +4 -4
- package/src/browser/file-service-provider-client.ts +2 -3
- package/src/common/files.ts +2 -2
- package/src/common/watcher.ts +3 -10
- package/src/node/disk-file-system.provider.ts +3 -8
- package/src/node/hosted/recursive/file-service-watcher.ts +108 -190
- package/src/node/hosted/un-recursive/file-service-watcher.ts +46 -22
- package/src/node/hosted/watcher.host.service.ts +33 -100
- package/src/node/hosted/watcher.process.ts +1 -1
- package/src/node/watcher-process-manager.ts +5 -13
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.FileSystemWatcherServer = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const path_1 = tslib_1.__importStar(require("path"));
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
6
|
const watcher_1 = tslib_1.__importDefault(require("@parcel/watcher"));
|
|
8
7
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
9
8
|
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
10
9
|
const uniqBy_1 = tslib_1.__importDefault(require("lodash/uniqBy"));
|
|
11
|
-
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
12
10
|
const utils_1 = require("@opensumi/ide-core-common/lib/utils");
|
|
13
|
-
const
|
|
11
|
+
const common_1 = require("../../../common");
|
|
14
12
|
const file_change_collection_1 = require("../../file-change-collection");
|
|
15
13
|
const shared_1 = require("../shared");
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const watcherPlaceHolder = {
|
|
15
|
+
disposable: {
|
|
16
|
+
dispose: () => { },
|
|
17
|
+
},
|
|
18
|
+
handlers: [],
|
|
19
|
+
};
|
|
20
|
+
class FileSystemWatcherServer extends utils_1.Disposable {
|
|
21
|
+
constructor(excludes = [], logger) {
|
|
18
22
|
super();
|
|
19
23
|
this.excludes = excludes;
|
|
20
24
|
this.logger = logger;
|
|
21
|
-
this.backend = backend;
|
|
22
25
|
this.WATCHER_HANDLERS = new Map();
|
|
23
26
|
this.watcherOptions = new Map();
|
|
24
27
|
this.changes = new file_change_collection_1.FileChangeCollection();
|
|
@@ -31,6 +34,17 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
31
34
|
this.WATCHER_HANDLERS.clear();
|
|
32
35
|
}));
|
|
33
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* 查找某个路径是否已被监听
|
|
39
|
+
* @param watcherPath
|
|
40
|
+
*/
|
|
41
|
+
checkIsAlreadyWatched(watcherPath) {
|
|
42
|
+
for (const [watcherId, watcher] of this.WATCHER_HANDLERS) {
|
|
43
|
+
if (watcherPath.indexOf(watcher.path) === 0) {
|
|
44
|
+
return watcherId;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
34
48
|
/**
|
|
35
49
|
* 如果监听路径不存在,则会监听父目录
|
|
36
50
|
* @param uri 要监听的路径
|
|
@@ -38,30 +52,16 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
38
52
|
* @returns
|
|
39
53
|
*/
|
|
40
54
|
async watchFileChanges(uri, options) {
|
|
41
|
-
return new Promise((resolve, rej) => {
|
|
42
|
-
const timer = setTimeout(() => {
|
|
43
|
-
rej(`Watch ${uri} Timeout`);
|
|
44
|
-
// FIXME:暂时写死3秒
|
|
45
|
-
}, 3000);
|
|
46
|
-
if (options === null || options === void 0 ? void 0 : options.excludes) {
|
|
47
|
-
this.updateWatcherFileExcludes(options.excludes);
|
|
48
|
-
}
|
|
49
|
-
this.doWatchFileChange(uri, options).then(() => {
|
|
50
|
-
resolve(void 0);
|
|
51
|
-
if (timer) {
|
|
52
|
-
clearTimeout(timer);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
async doWatchFileChange(uri, options) {
|
|
58
|
-
if (this.WATCHER_HANDLERS.has(uri)) {
|
|
59
|
-
const handler = this.WATCHER_HANDLERS.get(uri);
|
|
60
|
-
handler === null || handler === void 0 ? void 0 : handler.disposable.dispose();
|
|
61
|
-
this.WATCHER_HANDLERS.delete(uri);
|
|
62
|
-
}
|
|
63
55
|
const basePath = utils_1.FileUri.fsPath(uri);
|
|
64
|
-
this.
|
|
56
|
+
let watcherId = this.checkIsAlreadyWatched(basePath);
|
|
57
|
+
if (watcherId) {
|
|
58
|
+
return watcherId;
|
|
59
|
+
}
|
|
60
|
+
watcherId = FileSystemWatcherServer.WATCHER_SEQUENCE++;
|
|
61
|
+
this.WATCHER_HANDLERS.set(watcherId, {
|
|
62
|
+
...watcherPlaceHolder,
|
|
63
|
+
path: basePath,
|
|
64
|
+
});
|
|
65
65
|
const toDisposeWatcher = new utils_1.DisposableCollection();
|
|
66
66
|
let watchPath;
|
|
67
67
|
const exist = await fs_extra_1.default.pathExists(basePath);
|
|
@@ -77,9 +77,10 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
77
77
|
else {
|
|
78
78
|
watchPath = await this.lookup(basePath);
|
|
79
79
|
}
|
|
80
|
+
this.logger.log('Starting watching:', watchPath, options);
|
|
80
81
|
const handler = (err, events) => {
|
|
81
82
|
if (err) {
|
|
82
|
-
this.logger.error(`
|
|
83
|
+
this.logger.error(`Watching ${watchPath} error: `, err);
|
|
83
84
|
return;
|
|
84
85
|
}
|
|
85
86
|
events = this.trimChangeEvent(events);
|
|
@@ -97,14 +98,15 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
};
|
|
100
|
-
this.WATCHER_HANDLERS.set(
|
|
101
|
+
this.WATCHER_HANDLERS.set(watcherId, {
|
|
101
102
|
path: watchPath,
|
|
102
103
|
disposable: toDisposeWatcher,
|
|
103
104
|
handlers: [handler],
|
|
104
105
|
});
|
|
105
|
-
toDisposeWatcher.push(utils_1.Disposable.create(() => this.WATCHER_HANDLERS.delete(
|
|
106
|
-
toDisposeWatcher.push(await this.start(watchPath, options));
|
|
106
|
+
toDisposeWatcher.push(utils_1.Disposable.create(() => this.WATCHER_HANDLERS.delete(watcherId)));
|
|
107
|
+
toDisposeWatcher.push(await this.start(watcherId, watchPath, options));
|
|
107
108
|
this.addDispose(toDisposeWatcher);
|
|
109
|
+
return watcherId;
|
|
108
110
|
}
|
|
109
111
|
/**
|
|
110
112
|
* 向上查找存在的目录
|
|
@@ -138,48 +140,12 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
138
140
|
async updateWatcherFileExcludes(excludes) {
|
|
139
141
|
this.excludes = excludes;
|
|
140
142
|
}
|
|
141
|
-
async start(basePath, rawOptions) {
|
|
142
|
-
|
|
143
|
+
async start(watcherId, basePath, rawOptions) {
|
|
144
|
+
const disposables = new utils_1.DisposableCollection();
|
|
143
145
|
if (!(await fs_extra_1.default.pathExists(basePath))) {
|
|
144
|
-
return
|
|
146
|
+
return disposables;
|
|
145
147
|
}
|
|
146
148
|
const realPath = await fs_extra_1.default.realpath(basePath);
|
|
147
|
-
if (this.isEnableNSFW()) {
|
|
148
|
-
return this.watchWithNsfw(realPath, rawOptions);
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
// polling
|
|
152
|
-
if (rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.pollingWatch) {
|
|
153
|
-
this.logger.log('[Recursive] Start polling watch:', realPath);
|
|
154
|
-
return this.pollingWatch(realPath, rawOptions);
|
|
155
|
-
}
|
|
156
|
-
return this.watchWithParcel(realPath, rawOptions);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
async watchWithNsfw(realPath, rawOptions) {
|
|
160
|
-
const disposables = new utils_1.DisposableCollection();
|
|
161
|
-
const nsfw = await this.withNSFWModule();
|
|
162
|
-
const watcher = await nsfw(realPath, (events) => this.handleNSFWEvents(events, realPath), {
|
|
163
|
-
errorCallback: (err) => {
|
|
164
|
-
this.logger.error('[Recursive] NSFW watcher encountered an error and will stop watching.', err);
|
|
165
|
-
// see https://github.com/atom/github/issues/342
|
|
166
|
-
this.unwatchFileChanges(realPath);
|
|
167
|
-
},
|
|
168
|
-
});
|
|
169
|
-
await watcher.start();
|
|
170
|
-
disposables.push(utils_1.Disposable.create(async () => {
|
|
171
|
-
this.watcherOptions.delete(realPath);
|
|
172
|
-
await watcher.stop();
|
|
173
|
-
}));
|
|
174
|
-
const excludes = this.excludes.concat((rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes) || []);
|
|
175
|
-
this.watcherOptions.set(realPath, {
|
|
176
|
-
excludesPattern: excludes.map((pattern) => (0, utils_1.parseGlob)(pattern)),
|
|
177
|
-
excludes,
|
|
178
|
-
});
|
|
179
|
-
return disposables;
|
|
180
|
-
}
|
|
181
|
-
async watchWithParcel(realPath, rawOptions) {
|
|
182
|
-
const disposables = new utils_1.DisposableCollection();
|
|
183
149
|
const tryWatchDir = async (maxRetries = 3, retryDelay = 1000) => {
|
|
184
150
|
var _a;
|
|
185
151
|
for (let times = 0; times < maxRetries; times++) {
|
|
@@ -191,96 +157,70 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
191
157
|
// FIXME: 研究此处屏蔽的影响,考虑下阈值应该设置多少,或者更加优雅的方式
|
|
192
158
|
return;
|
|
193
159
|
}
|
|
194
|
-
const handlers = (_a = this.WATCHER_HANDLERS.get(
|
|
160
|
+
const handlers = (_a = this.WATCHER_HANDLERS.get(watcherId)) === null || _a === void 0 ? void 0 : _a.handlers;
|
|
195
161
|
if (!handlers) {
|
|
196
|
-
this.logger.log('[Recursive] No handler found for watcher', realPath);
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
this.logger.log('[Recursive] Received events:', events);
|
|
200
|
-
if (events.length === 0) {
|
|
201
162
|
return;
|
|
202
163
|
}
|
|
203
164
|
for (const handler of handlers) {
|
|
204
165
|
handler(err, events);
|
|
205
166
|
}
|
|
206
167
|
}, {
|
|
207
|
-
backend:
|
|
168
|
+
backend: FileSystemWatcherServer.PARCEL_WATCHER_BACKEND,
|
|
208
169
|
ignore: this.excludes.concat((_a = rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes) !== null && _a !== void 0 ? _a : []),
|
|
209
170
|
});
|
|
210
171
|
}
|
|
211
172
|
catch (e) {
|
|
212
173
|
// Watcher 启动失败,尝试重试
|
|
213
|
-
this.logger.error('
|
|
174
|
+
this.logger.error('watcher subscribe failed ', e, ' try times ', times);
|
|
214
175
|
await new Promise((resolve) => {
|
|
215
176
|
setTimeout(resolve, retryDelay);
|
|
216
177
|
});
|
|
217
178
|
}
|
|
218
179
|
}
|
|
219
180
|
// 经过若干次的尝试后,Parcel Watcher 依然启动失败,此时就不再尝试重试
|
|
220
|
-
this.logger.error(`
|
|
181
|
+
this.logger.error(`watcher subscribe finally failed after ${maxRetries} times`);
|
|
221
182
|
return undefined; // watch 失败则返回 undefined
|
|
222
183
|
};
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
184
|
+
if (this.isEnableNSFW()) {
|
|
185
|
+
const nsfw = await this.withNSFWModule();
|
|
186
|
+
const watcher = await nsfw(realPath, (events) => this.handleNSFWEvents(events, watcherId), {
|
|
187
|
+
errorCallback: (err) => {
|
|
188
|
+
this.logger.error('NSFW watcher encountered an error and will stop watching.', err);
|
|
189
|
+
// see https://github.com/atom/github/issues/342
|
|
190
|
+
this.unwatchFileChanges(watcherId);
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
await watcher.start();
|
|
226
194
|
disposables.push(utils_1.Disposable.create(async () => {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
195
|
+
this.watcherOptions.delete(watcherId);
|
|
196
|
+
await watcher.stop();
|
|
230
197
|
}));
|
|
198
|
+
const excludes = this.excludes.concat((rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes) || []);
|
|
199
|
+
this.watcherOptions.set(watcherId, {
|
|
200
|
+
excludesPattern: excludes.map((pattern) => (0, utils_1.parseGlob)(pattern)),
|
|
201
|
+
excludes,
|
|
202
|
+
});
|
|
231
203
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
if (counter > 1) {
|
|
242
|
-
const parcelEvents = await watcher_1.default.getEventsSince(realPath, snapshotFile, {
|
|
243
|
-
ignore: rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes,
|
|
244
|
-
backend: RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND,
|
|
245
|
-
});
|
|
246
|
-
const handlers = (_a = this.WATCHER_HANDLERS.get(realPath)) === null || _a === void 0 ? void 0 : _a.handlers;
|
|
247
|
-
if (!handlers) {
|
|
248
|
-
this.logger.log('[Recursive] No handler found for watcher', realPath);
|
|
249
|
-
return;
|
|
250
|
-
}
|
|
251
|
-
this.logger.log('[Recursive] Received events:', parcelEvents);
|
|
252
|
-
for (const handler of handlers) {
|
|
253
|
-
handler(null, parcelEvents);
|
|
254
|
-
}
|
|
204
|
+
else {
|
|
205
|
+
const hanlder = await tryWatchDir();
|
|
206
|
+
if (hanlder) {
|
|
207
|
+
// watch 成功才加入 disposables,否则也就无需 dispose
|
|
208
|
+
disposables.push(utils_1.Disposable.create(async () => {
|
|
209
|
+
if (hanlder) {
|
|
210
|
+
await hanlder.unsubscribe();
|
|
211
|
+
}
|
|
212
|
+
}));
|
|
255
213
|
}
|
|
256
|
-
|
|
257
|
-
ignore: rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes,
|
|
258
|
-
backend: RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND,
|
|
259
|
-
});
|
|
260
|
-
pollingWatcher.schedule();
|
|
261
|
-
}, RecursiveFileSystemWatcher.DEFAULT_POLLING_INTERVAL);
|
|
262
|
-
pollingWatcher.schedule(0);
|
|
263
|
-
disposables.push(pollingWatcher);
|
|
214
|
+
}
|
|
264
215
|
return disposables;
|
|
265
216
|
}
|
|
266
|
-
|
|
267
|
-
const watcher = this.WATCHER_HANDLERS.get(
|
|
217
|
+
unwatchFileChanges(watcherId) {
|
|
218
|
+
const watcher = this.WATCHER_HANDLERS.get(watcherId);
|
|
268
219
|
if (watcher) {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}
|
|
272
|
-
catch (err) {
|
|
273
|
-
this.logger.error(`Dispose watcher failed for ${path}`, err);
|
|
274
|
-
}
|
|
275
|
-
finally {
|
|
276
|
-
this.WATCHER_HANDLERS.delete(path);
|
|
277
|
-
}
|
|
220
|
+
this.WATCHER_HANDLERS.delete(watcherId);
|
|
221
|
+
watcher.disposable.dispose();
|
|
278
222
|
}
|
|
279
|
-
|
|
280
|
-
unwatchFileChanges(uri) {
|
|
281
|
-
this.logger.log('[Recursive] Un watch: ', uri);
|
|
282
|
-
const basePath = utils_1.FileUri.fsPath(uri);
|
|
283
|
-
this.disposeWatcher(basePath);
|
|
223
|
+
return Promise.resolve();
|
|
284
224
|
}
|
|
285
225
|
setClient(client) {
|
|
286
226
|
if (this.client && this.disposed) {
|
|
@@ -293,29 +233,28 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
293
233
|
* 社区相关 issue: https://github.com/parcel-bundler/watcher/issues/49
|
|
294
234
|
*/
|
|
295
235
|
isEnableNSFW() {
|
|
296
|
-
return
|
|
236
|
+
return utils_1.isLinux;
|
|
297
237
|
}
|
|
298
|
-
async handleNSFWEvents(events,
|
|
238
|
+
async handleNSFWEvents(events, watcherId) {
|
|
299
239
|
if (events.length > 5000) {
|
|
300
240
|
return;
|
|
301
241
|
}
|
|
302
|
-
const isIgnored = (
|
|
303
|
-
const options = this.watcherOptions.get(
|
|
242
|
+
const isIgnored = (watcherId, path) => {
|
|
243
|
+
const options = this.watcherOptions.get(watcherId);
|
|
304
244
|
if (!options || !options.excludes || options.excludes.length < 1) {
|
|
305
245
|
return false;
|
|
306
246
|
}
|
|
307
|
-
|
|
308
|
-
return excludesPattern.some((match) => match(path));
|
|
247
|
+
return options.excludesPattern.some((match) => match(path));
|
|
309
248
|
};
|
|
310
249
|
const filterEvents = events.filter((event) => {
|
|
311
250
|
// 如果是 RENAME,不会产生临时文件
|
|
312
|
-
if (event.action ===
|
|
251
|
+
if (event.action === common_1.INsfw.actions.RENAMED) {
|
|
313
252
|
return true;
|
|
314
253
|
}
|
|
315
254
|
return !(0, shared_1.shouldIgnorePath)(event.file);
|
|
316
255
|
});
|
|
317
256
|
const mergedEvents = (0, uniqBy_1.default)(filterEvents, (event) => {
|
|
318
|
-
if (event.action ===
|
|
257
|
+
if (event.action === common_1.INsfw.actions.RENAMED) {
|
|
319
258
|
const deletedPath = path_1.default.join(event.directory, event.oldFile);
|
|
320
259
|
const newPath = path_1.default.join(event.newDirectory || event.directory, event.newFile);
|
|
321
260
|
return deletedPath + newPath;
|
|
@@ -324,23 +263,23 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
324
263
|
});
|
|
325
264
|
await Promise.all(mergedEvents.map(async (event) => {
|
|
326
265
|
switch (event.action) {
|
|
327
|
-
case
|
|
266
|
+
case common_1.INsfw.actions.RENAMED:
|
|
328
267
|
{
|
|
329
268
|
const deletedPath = await this.resolvePath(event.directory, event.oldFile);
|
|
330
|
-
if (isIgnored(
|
|
269
|
+
if (isIgnored(watcherId, deletedPath)) {
|
|
331
270
|
return;
|
|
332
271
|
}
|
|
333
272
|
this.pushDeleted(deletedPath);
|
|
334
273
|
if (event.newDirectory) {
|
|
335
274
|
const path = await this.resolvePath(event.newDirectory, event.newFile);
|
|
336
|
-
if (isIgnored(
|
|
275
|
+
if (isIgnored(watcherId, path)) {
|
|
337
276
|
return;
|
|
338
277
|
}
|
|
339
278
|
this.pushAdded(path);
|
|
340
279
|
}
|
|
341
280
|
else {
|
|
342
281
|
const path = await this.resolvePath(event.directory, event.newFile);
|
|
343
|
-
if (isIgnored(
|
|
282
|
+
if (isIgnored(watcherId, path)) {
|
|
344
283
|
return;
|
|
345
284
|
}
|
|
346
285
|
this.pushAdded(path);
|
|
@@ -350,17 +289,17 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
350
289
|
default:
|
|
351
290
|
{
|
|
352
291
|
const path = await this.resolvePath(event.directory, event.file);
|
|
353
|
-
if (isIgnored(
|
|
292
|
+
if (isIgnored(watcherId, path)) {
|
|
354
293
|
return;
|
|
355
294
|
}
|
|
356
295
|
switch (event.action) {
|
|
357
|
-
case
|
|
296
|
+
case common_1.INsfw.actions.CREATED:
|
|
358
297
|
this.pushAdded(path);
|
|
359
298
|
break;
|
|
360
|
-
case
|
|
299
|
+
case common_1.INsfw.actions.DELETED:
|
|
361
300
|
this.pushDeleted(path);
|
|
362
301
|
break;
|
|
363
|
-
case
|
|
302
|
+
case common_1.INsfw.actions.MODIFIED:
|
|
364
303
|
this.pushUpdated(path);
|
|
365
304
|
break;
|
|
366
305
|
}
|
|
@@ -373,13 +312,13 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
373
312
|
return require('nsfw');
|
|
374
313
|
}
|
|
375
314
|
pushAdded(path) {
|
|
376
|
-
this.pushFileChange(path,
|
|
315
|
+
this.pushFileChange(path, common_1.FileChangeType.ADDED);
|
|
377
316
|
}
|
|
378
317
|
pushUpdated(path) {
|
|
379
|
-
this.pushFileChange(path,
|
|
318
|
+
this.pushFileChange(path, common_1.FileChangeType.UPDATED);
|
|
380
319
|
}
|
|
381
320
|
pushDeleted(path) {
|
|
382
|
-
this.pushFileChange(path,
|
|
321
|
+
this.pushFileChange(path, common_1.FileChangeType.DELETED);
|
|
383
322
|
}
|
|
384
323
|
pushFileChange(path, type) {
|
|
385
324
|
const uri = utils_1.FileUri.create(path).toString();
|
|
@@ -415,7 +354,7 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
415
354
|
}
|
|
416
355
|
}
|
|
417
356
|
}
|
|
418
|
-
exports.
|
|
419
|
-
|
|
420
|
-
|
|
357
|
+
exports.FileSystemWatcherServer = FileSystemWatcherServer;
|
|
358
|
+
FileSystemWatcherServer.PARCEL_WATCHER_BACKEND = utils_1.isWindows ? 'windows' : utils_1.isLinux ? 'inotify' : 'fs-events';
|
|
359
|
+
FileSystemWatcherServer.WATCHER_SEQUENCE = 1;
|
|
421
360
|
//# sourceMappingURL=file-service-watcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-service-watcher.js","sourceRoot":"","sources":["../../../../src/node/hosted/recursive/file-service-watcher.ts"],"names":[],"mappings":";;;;AAAA,2BAA4B;AAC5B,qDAAmC;AAEnC,sEAA4C;AAC5C,gEAA0B;AAC1B,uEAAuC;AACvC,mEAAmC;AAEnC,+DAMmC;AAEnC,+DAU6C;AAE7C,qDAAgD;AAChD,yEAAoE;AACpE,sCAA6C;AAgB7C,MAAa,0BAA2B,SAAQ,kBAAU;IAgBxD,YACU,WAAqB,EAAE,EACd,MAAmB,EAC5B,UAAmC,yCAAuB,CAAC,IAAI;QAEvE,KAAK,EAAE,CAAC;QAJA,aAAQ,GAAR,QAAQ,CAAe;QACd,WAAM,GAAN,MAAM,CAAa;QAC5B,YAAO,GAAP,OAAO,CAAwD;QAdjE,qBAAgB,GAAG,IAAI,GAAG,EAG/B,CAAC;QAEM,mBAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;QAInD,YAAO,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAwc/C;;;WAGG;QACgB,wBAAmB,GAAe,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,CAAC,CAAC;QApcrG,IAAI,CAAC,UAAU,CACb,kBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,OAAsB;QACxD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;gBAC5B,eAAe;YACjB,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChB,IAAI,KAAK,EAAE,CAAC;oBACV,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,OAAsB;QACjE,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,QAAQ,GAAG,eAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QAEzD,MAAM,gBAAgB,GAAG,IAAI,4BAAoB,EAAE,CAAC;QACpD,IAAI,SAAiB,CAAC;QAEtB,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,SAAS,GAAG,QAAQ,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAA6B,EAAE,EAAE;YACrD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,SAAS,UAAU,EAAE,GAAG,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,QAAQ;wBACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3B,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,gBAAgB;YAC5B,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CAAC,CAAC;QAEH,gBAAgB,CAAC,IAAI,CAAC,kBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxF,gBAAgB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC;QAC5C,IAAI,GAAG,GAAG,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YACpD,GAAG,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC;QACV,CAAC;QACD,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,MAA6B;QACrD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAA0B,EAAE,EAAE,CAAC,CAAC,IAAA,yBAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAkB;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,UAAoC;QAC1E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;QAExD,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,4BAAoB,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,UAAU;YACV,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,QAAQ,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjD,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,UAAqC;QACjF,MAAM,WAAW,GAAG,IAAI,4BAAoB,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,OAAO,GAAe,MAAM,IAAI,CACpC,QAAQ,EACR,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxE;YACE,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,EAAE,GAAG,CAAC,CAAC;gBAChG,gDAAgD;gBAChD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;SACF,CACF,CAAC;QAEF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,WAAW,CAAC,IAAI,CACd,kBAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,KAAI,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;YAChC,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;YAC9D,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,UAAqC;QACnF,MAAM,WAAW,GAAG,IAAI,4BAAoB,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,KAAK,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;;YAC9D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,OAAO,MAAM,iBAAa,CAAC,SAAS,CAClC,QAAQ,EACR,CAAC,GAAG,EAAE,MAA6B,EAAE,EAAE;;wBACrC,uCAAuC;wBACvC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;4BACzB,yCAAyC;4BACzC,OAAO;wBACT,CAAC;wBACD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC;wBAE/D,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,EAAE,QAAQ,CAAC,CAAC;4BACtE,OAAO;wBACT,CAAC;wBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;wBACxD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACxB,OAAO;wBACT,CAAC;wBAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAC9B,OAA2C,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC,EACD;wBACE,OAAO,EAAE,0BAA0B,CAAC,sBAAsB;wBAC1D,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,mCAAI,EAAE,CAAC;qBACzD,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,oBAAoB;oBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;oBACpF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC5B,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,UAAU,QAAQ,CAAC,CAAC;YAC5F,OAAO,SAAS,CAAC,CAAC,wBAAwB;QAC5C,CAAC,CAAC;QAEF,MAAM,OAAO,GAAgD,MAAM,WAAW,EAAE,CAAC;QAEjF,IAAI,OAAO,EAAE,CAAC;YACZ,yCAAyC;YACzC,WAAW,CAAC,IAAI,CACd,kBAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;gBAC3B,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,UAAqC;QAChF,MAAM,WAAW,GAAG,IAAI,4BAAoB,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,MAAM,cAAc,GAAG,IAAI,wBAAgB,CAAC,KAAK,IAAI,EAAE;;YACrD,OAAO,EAAE,CAAC;YACV,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,MAAM,iBAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE;oBAC9E,MAAM,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,sBAAsB;iBAC3D,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC;gBAE/D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,EAAE,QAAQ,CAAC,CAAC;oBACtE,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;gBAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC9B,OAA2C,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAED,MAAM,iBAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE;gBACxD,MAAM,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ;gBAC5B,OAAO,EAAE,0BAA0B,CAAC,sBAAsB;aAC3D,CAAC,CAAC;YAEH,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,EAAE,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;QAExD,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3B,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjC,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,eAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,MAA2C;QACnD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,OAAO,IAAI,CAAC,OAAO,KAAK,yCAAuB,CAAC,IAAI,IAAI,eAAO,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAA2B,EAAE,QAAgB;QAC1E,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAW,EAAE;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC5G,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,sBAAsB;YACtB,IAAI,KAAK,CAAC,MAAM,KAAK,eAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,IAAA,yBAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,gBAAM,EAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YAClD,IAAI,KAAK,CAAC,MAAM,KAAK,eAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;gBAChE,MAAM,OAAO,GAAG,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;gBAClF,OAAO,WAAW,GAAG,OAAO,CAAC;YAC/B,CAAC;YAED,OAAO,KAAK,CAAC,MAAM,GAAG,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,eAAK,CAAC,OAAO,CAAC,OAAO;oBACxB,CAAC;wBACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;wBAC5E,IAAI,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;4BACrC,OAAO;wBACT,CAAC;wBAED,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;wBAE9B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;4BACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;4BACxE,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;gCAC9B,OAAO;4BACT,CAAC;4BAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACvB,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAQ,CAAC,CAAC;4BACrE,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;gCAC9B,OAAO;4BACT,CAAC;4BAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR;oBACE,CAAC;wBACC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAK,CAAC,CAAC;wBAClE,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;4BAC9B,OAAO;wBACT,CAAC;wBAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;4BACrB,KAAK,eAAK,CAAC,OAAO,CAAC,OAAO;gCACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gCACrB,MAAM;4BACR,KAAK,eAAK,CAAC,OAAO,CAAC,OAAO;gCACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gCACvB,MAAM;4BACR,KAAK,eAAK,CAAC,OAAO,CAAC,QAAQ;gCACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gCACvB,MAAM;wBACV,CAAC;oBACH,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAES,SAAS,CAAC,IAAY;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gCAAc,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAES,WAAW,CAAC,IAAY;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gCAAc,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAES,WAAW,CAAC,IAAY;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gCAAc,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAES,cAAc,CAAC,IAAY,EAAE,IAAoB;QACzD,MAAM,GAAG,GAAG,eAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,IAAY;QACzD,MAAM,IAAI,GAAG,cAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,uCAAuC;QACvC,IAAI,eAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,kBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,+CAA+C;oBAC/C,OAAO,cAAK,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,gDAAgD;oBAChD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAOS,qBAAqB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,6CAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;;AAleH,gEAmeC;AAleyB,iDAAsB,GAAG,iBAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,AAA5D,CAA6D;AAE5F,mDAAwB,GAAG,GAAG,AAAN,CAAO"}
|
|
1
|
+
{"version":3,"file":"file-service-watcher.js","sourceRoot":"","sources":["../../../../src/node/hosted/recursive/file-service-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import { ILogService } from '@opensumi/ide-core-common/lib/log';
|
|
2
2
|
import { DisposableCollection } from '@opensumi/ide-utils/lib';
|
|
3
|
-
import { FileChangeType, FileSystemWatcherClient,
|
|
3
|
+
import { FileChangeType, FileSystemWatcherClient, IFileSystemWatcherServer } from '../../../common/index';
|
|
4
4
|
import { FileChangeCollection } from '../../file-change-collection';
|
|
5
|
-
export declare class UnRecursiveFileSystemWatcher implements
|
|
5
|
+
export declare class UnRecursiveFileSystemWatcher implements IFileSystemWatcherServer {
|
|
6
6
|
private readonly logger;
|
|
7
|
-
private
|
|
7
|
+
private WATCHER_HANDLERS;
|
|
8
|
+
private static WATCHER_SEQUENCE;
|
|
8
9
|
private static readonly FILE_DELETE_HANDLER_DELAY;
|
|
9
10
|
protected changes: FileChangeCollection;
|
|
10
11
|
protected readonly toDispose: DisposableCollection;
|
|
11
12
|
protected client: FileSystemWatcherClient | undefined;
|
|
12
13
|
constructor(logger: ILogService);
|
|
13
14
|
dispose(): void;
|
|
15
|
+
/**
|
|
16
|
+
* 查找某个路径是否已被监听
|
|
17
|
+
* @param watcherPath
|
|
18
|
+
*/
|
|
19
|
+
checkIsAlreadyWatched(watcherPath: string): number | undefined;
|
|
14
20
|
private doWatch;
|
|
15
|
-
watchFileChanges(uri: string): Promise<
|
|
21
|
+
watchFileChanges(uri: string): Promise<number>;
|
|
16
22
|
protected start(basePath: string): Promise<DisposableCollection>;
|
|
17
|
-
unwatchFileChanges(
|
|
23
|
+
unwatchFileChanges(watcherId: number): Promise<void>;
|
|
18
24
|
protected pushAdded(path: string): void;
|
|
19
25
|
protected pushUpdated(path: string): void;
|
|
20
26
|
protected pushDeleted(path: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-service-watcher.d.ts","sourceRoot":"","sources":["../../../../src/node/hosted/un-recursive/file-service-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAc,oBAAoB,
|
|
1
|
+
{"version":3,"file":"file-service-watcher.d.ts","sourceRoot":"","sources":["../../../../src/node/hosted/un-recursive/file-service-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAc,oBAAoB,EAA2C,MAAM,yBAAyB,CAAC;AAEpH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,qBAAa,4BAA6B,YAAW,wBAAwB;IAqB/D,OAAO,CAAC,QAAQ,CAAC,MAAM;IApBnC,OAAO,CAAC,gBAAgB,CAOpB;IAEJ,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAK;IAEpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IAGxD,SAAS,CAAC,OAAO,uBAA8B;IAE/C,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAAgF;IAE5G,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC;gBAEzB,MAAM,EAAE,WAAW;IAEhD,OAAO,IAAI,IAAI;IAKf;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;YAQhD,OAAO;IAqFf,gBAAgB,CAAC,GAAG,EAAE,MAAM;cA6BlB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoBtE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAMlE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAqD;IAEvG,SAAS,CAAC,qBAAqB,IAAI,IAAI;IASvC,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS;CAMtD"}
|
|
@@ -12,7 +12,7 @@ const { join, basename, normalize } = lib_1.path;
|
|
|
12
12
|
class UnRecursiveFileSystemWatcher {
|
|
13
13
|
constructor(logger) {
|
|
14
14
|
this.logger = logger;
|
|
15
|
-
this.
|
|
15
|
+
this.WATCHER_HANDLERS = new Map();
|
|
16
16
|
// 收集发生改变的文件
|
|
17
17
|
this.changes = new file_change_collection_1.FileChangeCollection();
|
|
18
18
|
this.toDispose = new lib_1.DisposableCollection(lib_1.Disposable.create(() => this.setClient(undefined)));
|
|
@@ -24,11 +24,23 @@ class UnRecursiveFileSystemWatcher {
|
|
|
24
24
|
}
|
|
25
25
|
dispose() {
|
|
26
26
|
this.toDispose.dispose();
|
|
27
|
+
this.WATCHER_HANDLERS.clear();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 查找某个路径是否已被监听
|
|
31
|
+
* @param watcherPath
|
|
32
|
+
*/
|
|
33
|
+
checkIsAlreadyWatched(watcherPath) {
|
|
34
|
+
for (const [watcherId, watcher] of this.WATCHER_HANDLERS) {
|
|
35
|
+
if (watcherPath.indexOf(watcher.path) === 0) {
|
|
36
|
+
return watcherId;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
27
39
|
}
|
|
28
40
|
async doWatch(basePath) {
|
|
29
41
|
try {
|
|
30
42
|
const watcher = (0, fs_extra_1.watch)(basePath);
|
|
31
|
-
this.logger.log('
|
|
43
|
+
this.logger.log('start watching', basePath);
|
|
32
44
|
const isDirectory = fs_extra_1.default.lstatSync(basePath).isDirectory();
|
|
33
45
|
const docChildren = new Set();
|
|
34
46
|
let signalDoc = '';
|
|
@@ -50,7 +62,7 @@ class UnRecursiveFileSystemWatcher {
|
|
|
50
62
|
}
|
|
51
63
|
// 开始走监听流程
|
|
52
64
|
watcher.on('error', (code, signal) => {
|
|
53
|
-
this.logger.error(`
|
|
65
|
+
this.logger.error(`Failed to watch ${basePath} for changes using fs.watch() (${code}, ${signal})`);
|
|
54
66
|
watcher.close();
|
|
55
67
|
});
|
|
56
68
|
watcher.on('change', (type, filename) => {
|
|
@@ -108,25 +120,31 @@ class UnRecursiveFileSystemWatcher {
|
|
|
108
120
|
});
|
|
109
121
|
}
|
|
110
122
|
catch (error) {
|
|
111
|
-
this.logger.error(`
|
|
123
|
+
this.logger.error(`Failed to watch ${basePath} for change using fs.watch() (${error.toString()})`);
|
|
112
124
|
}
|
|
113
125
|
}
|
|
114
126
|
async watchFileChanges(uri) {
|
|
115
127
|
const basePath = lib_1.FileUri.fsPath(uri);
|
|
116
128
|
const exist = await fs_extra_1.default.pathExists(basePath);
|
|
129
|
+
let watcherId = this.checkIsAlreadyWatched(basePath);
|
|
130
|
+
if (watcherId) {
|
|
131
|
+
return watcherId;
|
|
132
|
+
}
|
|
133
|
+
watcherId = UnRecursiveFileSystemWatcher.WATCHER_SEQUENCE++;
|
|
117
134
|
const disposables = new lib_1.DisposableCollection(); // 管理可释放的资源
|
|
118
135
|
let watchPath = '';
|
|
119
136
|
if (exist) {
|
|
120
|
-
const stat = await fs_extra_1.default.
|
|
137
|
+
const stat = await fs_extra_1.default.lstatSync(basePath);
|
|
121
138
|
if (stat) {
|
|
122
139
|
watchPath = basePath;
|
|
123
140
|
}
|
|
124
141
|
}
|
|
125
142
|
else {
|
|
126
|
-
this.logger.warn('
|
|
143
|
+
this.logger.warn('This path does not exist. Please try again');
|
|
127
144
|
}
|
|
128
145
|
disposables.push(await this.start(watchPath));
|
|
129
146
|
this.toDispose.push(disposables);
|
|
147
|
+
return watcherId;
|
|
130
148
|
}
|
|
131
149
|
async start(basePath) {
|
|
132
150
|
const disposables = new lib_1.DisposableCollection();
|
|
@@ -134,9 +152,6 @@ class UnRecursiveFileSystemWatcher {
|
|
|
134
152
|
return disposables;
|
|
135
153
|
}
|
|
136
154
|
const realPath = await fs_extra_1.default.realpath(basePath);
|
|
137
|
-
if (this.watcherCollections.has(realPath)) {
|
|
138
|
-
return disposables;
|
|
139
|
-
}
|
|
140
155
|
const tryWatchDir = async (retryDelay = 1000) => {
|
|
141
156
|
try {
|
|
142
157
|
this.doWatch(realPath);
|
|
@@ -151,13 +166,13 @@ class UnRecursiveFileSystemWatcher {
|
|
|
151
166
|
await tryWatchDir();
|
|
152
167
|
return disposables;
|
|
153
168
|
}
|
|
154
|
-
unwatchFileChanges(
|
|
155
|
-
const
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
watcher
|
|
159
|
-
this.watcherCollections.delete(basePath);
|
|
169
|
+
unwatchFileChanges(watcherId) {
|
|
170
|
+
const watcher = this.WATCHER_HANDLERS.get(watcherId);
|
|
171
|
+
if (watcher) {
|
|
172
|
+
this.WATCHER_HANDLERS.delete(watcherId);
|
|
173
|
+
watcher.disposable.dispose();
|
|
160
174
|
}
|
|
175
|
+
return Promise.resolve();
|
|
161
176
|
}
|
|
162
177
|
pushAdded(path) {
|
|
163
178
|
this.pushFileChange(path, index_1.FileChangeType.ADDED);
|
|
@@ -189,5 +204,6 @@ class UnRecursiveFileSystemWatcher {
|
|
|
189
204
|
}
|
|
190
205
|
}
|
|
191
206
|
exports.UnRecursiveFileSystemWatcher = UnRecursiveFileSystemWatcher;
|
|
207
|
+
UnRecursiveFileSystemWatcher.WATCHER_SEQUENCE = 1;
|
|
192
208
|
UnRecursiveFileSystemWatcher.FILE_DELETE_HANDLER_DELAY = 500;
|
|
193
209
|
//# sourceMappingURL=file-service-watcher.js.map
|