@opensumi/ide-file-service 3.7.1-next-1739168904.0 → 3.7.1-next-1739175521.0
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 -13
- package/lib/node/hosted/recursive/file-service-watcher.d.ts.map +1 -1
- package/lib/node/hosted/recursive/file-service-watcher.js +95 -146
- 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 -57
- 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 +106 -179
- package/src/node/hosted/un-recursive/file-service-watcher.ts +47 -21
- package/src/node/hosted/watcher.host.service.ts +33 -97
- 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,83 +157,67 @@ 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
|
-
unwatchFileChanges(
|
|
267
|
-
this.
|
|
268
|
-
const watcher = this.WATCHER_HANDLERS.get(uri);
|
|
217
|
+
unwatchFileChanges(watcherId) {
|
|
218
|
+
const watcher = this.WATCHER_HANDLERS.get(watcherId);
|
|
269
219
|
if (watcher) {
|
|
270
|
-
this.WATCHER_HANDLERS.delete(
|
|
220
|
+
this.WATCHER_HANDLERS.delete(watcherId);
|
|
271
221
|
watcher.disposable.dispose();
|
|
272
222
|
}
|
|
273
223
|
return Promise.resolve();
|
|
@@ -283,29 +233,28 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
283
233
|
* 社区相关 issue: https://github.com/parcel-bundler/watcher/issues/49
|
|
284
234
|
*/
|
|
285
235
|
isEnableNSFW() {
|
|
286
|
-
return
|
|
236
|
+
return utils_1.isLinux;
|
|
287
237
|
}
|
|
288
|
-
async handleNSFWEvents(events,
|
|
238
|
+
async handleNSFWEvents(events, watcherId) {
|
|
289
239
|
if (events.length > 5000) {
|
|
290
240
|
return;
|
|
291
241
|
}
|
|
292
|
-
const isIgnored = (
|
|
293
|
-
const options = this.watcherOptions.get(
|
|
242
|
+
const isIgnored = (watcherId, path) => {
|
|
243
|
+
const options = this.watcherOptions.get(watcherId);
|
|
294
244
|
if (!options || !options.excludes || options.excludes.length < 1) {
|
|
295
245
|
return false;
|
|
296
246
|
}
|
|
297
|
-
|
|
298
|
-
return excludesPattern.some((match) => match(path));
|
|
247
|
+
return options.excludesPattern.some((match) => match(path));
|
|
299
248
|
};
|
|
300
249
|
const filterEvents = events.filter((event) => {
|
|
301
250
|
// 如果是 RENAME,不会产生临时文件
|
|
302
|
-
if (event.action ===
|
|
251
|
+
if (event.action === common_1.INsfw.actions.RENAMED) {
|
|
303
252
|
return true;
|
|
304
253
|
}
|
|
305
254
|
return !(0, shared_1.shouldIgnorePath)(event.file);
|
|
306
255
|
});
|
|
307
256
|
const mergedEvents = (0, uniqBy_1.default)(filterEvents, (event) => {
|
|
308
|
-
if (event.action ===
|
|
257
|
+
if (event.action === common_1.INsfw.actions.RENAMED) {
|
|
309
258
|
const deletedPath = path_1.default.join(event.directory, event.oldFile);
|
|
310
259
|
const newPath = path_1.default.join(event.newDirectory || event.directory, event.newFile);
|
|
311
260
|
return deletedPath + newPath;
|
|
@@ -314,23 +263,23 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
314
263
|
});
|
|
315
264
|
await Promise.all(mergedEvents.map(async (event) => {
|
|
316
265
|
switch (event.action) {
|
|
317
|
-
case
|
|
266
|
+
case common_1.INsfw.actions.RENAMED:
|
|
318
267
|
{
|
|
319
268
|
const deletedPath = await this.resolvePath(event.directory, event.oldFile);
|
|
320
|
-
if (isIgnored(
|
|
269
|
+
if (isIgnored(watcherId, deletedPath)) {
|
|
321
270
|
return;
|
|
322
271
|
}
|
|
323
272
|
this.pushDeleted(deletedPath);
|
|
324
273
|
if (event.newDirectory) {
|
|
325
274
|
const path = await this.resolvePath(event.newDirectory, event.newFile);
|
|
326
|
-
if (isIgnored(
|
|
275
|
+
if (isIgnored(watcherId, path)) {
|
|
327
276
|
return;
|
|
328
277
|
}
|
|
329
278
|
this.pushAdded(path);
|
|
330
279
|
}
|
|
331
280
|
else {
|
|
332
281
|
const path = await this.resolvePath(event.directory, event.newFile);
|
|
333
|
-
if (isIgnored(
|
|
282
|
+
if (isIgnored(watcherId, path)) {
|
|
334
283
|
return;
|
|
335
284
|
}
|
|
336
285
|
this.pushAdded(path);
|
|
@@ -340,17 +289,17 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
340
289
|
default:
|
|
341
290
|
{
|
|
342
291
|
const path = await this.resolvePath(event.directory, event.file);
|
|
343
|
-
if (isIgnored(
|
|
292
|
+
if (isIgnored(watcherId, path)) {
|
|
344
293
|
return;
|
|
345
294
|
}
|
|
346
295
|
switch (event.action) {
|
|
347
|
-
case
|
|
296
|
+
case common_1.INsfw.actions.CREATED:
|
|
348
297
|
this.pushAdded(path);
|
|
349
298
|
break;
|
|
350
|
-
case
|
|
299
|
+
case common_1.INsfw.actions.DELETED:
|
|
351
300
|
this.pushDeleted(path);
|
|
352
301
|
break;
|
|
353
|
-
case
|
|
302
|
+
case common_1.INsfw.actions.MODIFIED:
|
|
354
303
|
this.pushUpdated(path);
|
|
355
304
|
break;
|
|
356
305
|
}
|
|
@@ -363,13 +312,13 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
363
312
|
return require('nsfw');
|
|
364
313
|
}
|
|
365
314
|
pushAdded(path) {
|
|
366
|
-
this.pushFileChange(path,
|
|
315
|
+
this.pushFileChange(path, common_1.FileChangeType.ADDED);
|
|
367
316
|
}
|
|
368
317
|
pushUpdated(path) {
|
|
369
|
-
this.pushFileChange(path,
|
|
318
|
+
this.pushFileChange(path, common_1.FileChangeType.UPDATED);
|
|
370
319
|
}
|
|
371
320
|
pushDeleted(path) {
|
|
372
|
-
this.pushFileChange(path,
|
|
321
|
+
this.pushFileChange(path, common_1.FileChangeType.DELETED);
|
|
373
322
|
}
|
|
374
323
|
pushFileChange(path, type) {
|
|
375
324
|
const uri = utils_1.FileUri.create(path).toString();
|
|
@@ -405,7 +354,7 @@ class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
|
405
354
|
}
|
|
406
355
|
}
|
|
407
356
|
}
|
|
408
|
-
exports.
|
|
409
|
-
|
|
410
|
-
|
|
357
|
+
exports.FileSystemWatcherServer = FileSystemWatcherServer;
|
|
358
|
+
FileSystemWatcherServer.PARCEL_WATCHER_BACKEND = utils_1.isWindows ? 'windows' : utils_1.isLinux ? 'inotify' : 'fs-events';
|
|
359
|
+
FileSystemWatcherServer.WATCHER_SEQUENCE = 1;
|
|
411
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":"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"}
|
|
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
|
-
|
|
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
|