@opensumi/ide-file-service 3.7.1-next-1739439717.0 → 3.7.1-next-1739448958.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 +3 -2
- 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 +3 -2
- package/lib/node/disk-file-system.provider.d.ts.map +1 -1
- package/lib/node/disk-file-system.provider.js +3 -2
- package/lib/node/disk-file-system.provider.js.map +1 -1
- package/lib/node/hosted/recursive/file-service-watcher.d.ts +14 -13
- package/lib/node/hosted/recursive/file-service-watcher.d.ts.map +1 -1
- package/lib/node/hosted/recursive/file-service-watcher.js +158 -97
- package/lib/node/hosted/recursive/file-service-watcher.js.map +1 -1
- package/lib/node/hosted/un-recursive/file-service-watcher.d.ts +5 -11
- package/lib/node/hosted/un-recursive/file-service-watcher.d.ts.map +1 -1
- package/lib/node/hosted/un-recursive/file-service-watcher.js +15 -31
- package/lib/node/hosted/un-recursive/file-service-watcher.js.map +1 -1
- package/lib/node/hosted/watcher.host.service.d.ts +7 -2
- package/lib/node/hosted/watcher.host.service.d.ts.map +1 -1
- package/lib/node/hosted/watcher.host.service.js +60 -28
- 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 +3 -2
- package/lib/node/watcher-process-manager.d.ts.map +1 -1
- package/lib/node/watcher-process-manager.js +4 -3
- 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 +3 -2
- package/src/common/files.ts +2 -2
- package/src/common/watcher.ts +10 -3
- package/src/node/disk-file-system.provider.ts +8 -3
- package/src/node/hosted/recursive/file-service-watcher.ts +190 -108
- package/src/node/hosted/un-recursive/file-service-watcher.ts +22 -46
- package/src/node/hosted/watcher.host.service.ts +100 -33
- package/src/node/hosted/watcher.process.ts +1 -1
- package/src/node/watcher-process-manager.ts +13 -5
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.RecursiveFileSystemWatcher = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const os_1 = require("os");
|
|
6
|
+
const path_1 = tslib_1.__importStar(require("path"));
|
|
6
7
|
const watcher_1 = tslib_1.__importDefault(require("@parcel/watcher"));
|
|
7
8
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
8
9
|
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
9
10
|
const uniqBy_1 = tslib_1.__importDefault(require("lodash/uniqBy"));
|
|
11
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
10
12
|
const utils_1 = require("@opensumi/ide-core-common/lib/utils");
|
|
11
|
-
const
|
|
13
|
+
const watcher_2 = require("../../../common/watcher");
|
|
12
14
|
const file_change_collection_1 = require("../../file-change-collection");
|
|
13
15
|
const shared_1 = require("../shared");
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
dispose: () => { },
|
|
17
|
-
},
|
|
18
|
-
handlers: [],
|
|
19
|
-
};
|
|
20
|
-
class FileSystemWatcherServer extends utils_1.Disposable {
|
|
21
|
-
constructor(excludes = [], logger) {
|
|
16
|
+
class RecursiveFileSystemWatcher extends utils_1.Disposable {
|
|
17
|
+
constructor(excludes = [], logger, backend = ide_core_common_1.RecursiveWatcherBackend.NSFW) {
|
|
22
18
|
super();
|
|
23
19
|
this.excludes = excludes;
|
|
24
20
|
this.logger = logger;
|
|
21
|
+
this.backend = backend;
|
|
25
22
|
this.WATCHER_HANDLERS = new Map();
|
|
26
23
|
this.watcherOptions = new Map();
|
|
27
24
|
this.changes = new file_change_collection_1.FileChangeCollection();
|
|
@@ -34,17 +31,6 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
34
31
|
this.WATCHER_HANDLERS.clear();
|
|
35
32
|
}));
|
|
36
33
|
}
|
|
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
|
-
}
|
|
48
34
|
/**
|
|
49
35
|
* 如果监听路径不存在,则会监听父目录
|
|
50
36
|
* @param uri 要监听的路径
|
|
@@ -52,16 +38,30 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
52
38
|
* @returns
|
|
53
39
|
*/
|
|
54
40
|
async watchFileChanges(uri, options) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
+
});
|
|
64
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
|
+
const basePath = utils_1.FileUri.fsPath(uri);
|
|
64
|
+
this.logger.log('[Recursive] watch file changes: ', uri);
|
|
65
65
|
const toDisposeWatcher = new utils_1.DisposableCollection();
|
|
66
66
|
let watchPath;
|
|
67
67
|
const exist = await fs_extra_1.default.pathExists(basePath);
|
|
@@ -77,10 +77,9 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
77
77
|
else {
|
|
78
78
|
watchPath = await this.lookup(basePath);
|
|
79
79
|
}
|
|
80
|
-
this.logger.log('Starting watching:', watchPath, options);
|
|
81
80
|
const handler = (err, events) => {
|
|
82
81
|
if (err) {
|
|
83
|
-
this.logger.error(`Watching ${watchPath} error: `, err);
|
|
82
|
+
this.logger.error(`[Recursive] Watching ${watchPath} error: `, err);
|
|
84
83
|
return;
|
|
85
84
|
}
|
|
86
85
|
events = this.trimChangeEvent(events);
|
|
@@ -98,15 +97,14 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
98
97
|
}
|
|
99
98
|
}
|
|
100
99
|
};
|
|
101
|
-
this.WATCHER_HANDLERS.set(
|
|
100
|
+
this.WATCHER_HANDLERS.set(watchPath, {
|
|
102
101
|
path: watchPath,
|
|
103
102
|
disposable: toDisposeWatcher,
|
|
104
103
|
handlers: [handler],
|
|
105
104
|
});
|
|
106
|
-
toDisposeWatcher.push(utils_1.Disposable.create(() => this.WATCHER_HANDLERS.delete(
|
|
107
|
-
toDisposeWatcher.push(await this.start(
|
|
105
|
+
toDisposeWatcher.push(utils_1.Disposable.create(() => this.WATCHER_HANDLERS.delete(watchPath)));
|
|
106
|
+
toDisposeWatcher.push(await this.start(watchPath, options));
|
|
108
107
|
this.addDispose(toDisposeWatcher);
|
|
109
|
-
return watcherId;
|
|
110
108
|
}
|
|
111
109
|
/**
|
|
112
110
|
* 向上查找存在的目录
|
|
@@ -140,12 +138,48 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
140
138
|
async updateWatcherFileExcludes(excludes) {
|
|
141
139
|
this.excludes = excludes;
|
|
142
140
|
}
|
|
143
|
-
async start(
|
|
144
|
-
|
|
141
|
+
async start(basePath, rawOptions) {
|
|
142
|
+
this.logger.log('[Recursive] Start watching', basePath);
|
|
145
143
|
if (!(await fs_extra_1.default.pathExists(basePath))) {
|
|
146
|
-
return
|
|
144
|
+
return new utils_1.DisposableCollection();
|
|
147
145
|
}
|
|
148
146
|
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();
|
|
149
183
|
const tryWatchDir = async (maxRetries = 3, retryDelay = 1000) => {
|
|
150
184
|
var _a;
|
|
151
185
|
for (let times = 0; times < maxRetries; times++) {
|
|
@@ -157,70 +191,96 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
157
191
|
// FIXME: 研究此处屏蔽的影响,考虑下阈值应该设置多少,或者更加优雅的方式
|
|
158
192
|
return;
|
|
159
193
|
}
|
|
160
|
-
const handlers = (_a = this.WATCHER_HANDLERS.get(
|
|
194
|
+
const handlers = (_a = this.WATCHER_HANDLERS.get(realPath)) === null || _a === void 0 ? void 0 : _a.handlers;
|
|
161
195
|
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) {
|
|
162
201
|
return;
|
|
163
202
|
}
|
|
164
203
|
for (const handler of handlers) {
|
|
165
204
|
handler(err, events);
|
|
166
205
|
}
|
|
167
206
|
}, {
|
|
168
|
-
backend:
|
|
207
|
+
backend: RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND,
|
|
169
208
|
ignore: this.excludes.concat((_a = rawOptions === null || rawOptions === void 0 ? void 0 : rawOptions.excludes) !== null && _a !== void 0 ? _a : []),
|
|
170
209
|
});
|
|
171
210
|
}
|
|
172
211
|
catch (e) {
|
|
173
212
|
// Watcher 启动失败,尝试重试
|
|
174
|
-
this.logger.error('watcher subscribe failed ', e, ' try times ', times);
|
|
213
|
+
this.logger.error('[Recursive] watcher subscribe failed ', e, ' try times ', times);
|
|
175
214
|
await new Promise((resolve) => {
|
|
176
215
|
setTimeout(resolve, retryDelay);
|
|
177
216
|
});
|
|
178
217
|
}
|
|
179
218
|
}
|
|
180
219
|
// 经过若干次的尝试后,Parcel Watcher 依然启动失败,此时就不再尝试重试
|
|
181
|
-
this.logger.error(`watcher subscribe finally failed after ${maxRetries} times`);
|
|
220
|
+
this.logger.error(`[Recursive] watcher subscribe finally failed after ${maxRetries} times`);
|
|
182
221
|
return undefined; // watch 失败则返回 undefined
|
|
183
222
|
};
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
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();
|
|
223
|
+
const hanlder = await tryWatchDir();
|
|
224
|
+
if (hanlder) {
|
|
225
|
+
// watch 成功才加入 disposables,否则也就无需 dispose
|
|
194
226
|
disposables.push(utils_1.Disposable.create(async () => {
|
|
195
|
-
|
|
196
|
-
|
|
227
|
+
if (hanlder) {
|
|
228
|
+
await hanlder.unsubscribe();
|
|
229
|
+
}
|
|
197
230
|
}));
|
|
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
|
-
});
|
|
203
231
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
232
|
+
return disposables;
|
|
233
|
+
}
|
|
234
|
+
async pollingWatch(realPath, rawOptions) {
|
|
235
|
+
const disposables = new utils_1.DisposableCollection();
|
|
236
|
+
const snapshotFile = (0, path_1.join)((0, os_1.tmpdir)(), `watcher-snapshot-${realPath}`);
|
|
237
|
+
let counter = 0;
|
|
238
|
+
const pollingWatcher = new utils_1.RunOnceScheduler(async () => {
|
|
239
|
+
var _a;
|
|
240
|
+
counter++;
|
|
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
|
+
}
|
|
213
255
|
}
|
|
214
|
-
|
|
256
|
+
await watcher_1.default.writeSnapshot(realPath, snapshotFile, {
|
|
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);
|
|
215
264
|
return disposables;
|
|
216
265
|
}
|
|
217
|
-
|
|
218
|
-
const watcher = this.WATCHER_HANDLERS.get(
|
|
266
|
+
disposeWatcher(path) {
|
|
267
|
+
const watcher = this.WATCHER_HANDLERS.get(path);
|
|
219
268
|
if (watcher) {
|
|
220
|
-
|
|
221
|
-
|
|
269
|
+
try {
|
|
270
|
+
watcher.disposable.dispose();
|
|
271
|
+
}
|
|
272
|
+
catch (err) {
|
|
273
|
+
this.logger.error(`Dispose watcher failed for ${path}`, err);
|
|
274
|
+
}
|
|
275
|
+
finally {
|
|
276
|
+
this.WATCHER_HANDLERS.delete(path);
|
|
277
|
+
}
|
|
222
278
|
}
|
|
223
|
-
|
|
279
|
+
}
|
|
280
|
+
unwatchFileChanges(uri) {
|
|
281
|
+
this.logger.log('[Recursive] Un watch: ', uri);
|
|
282
|
+
const basePath = utils_1.FileUri.fsPath(uri);
|
|
283
|
+
this.disposeWatcher(basePath);
|
|
224
284
|
}
|
|
225
285
|
setClient(client) {
|
|
226
286
|
if (this.client && this.disposed) {
|
|
@@ -233,28 +293,29 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
233
293
|
* 社区相关 issue: https://github.com/parcel-bundler/watcher/issues/49
|
|
234
294
|
*/
|
|
235
295
|
isEnableNSFW() {
|
|
236
|
-
return utils_1.isLinux;
|
|
296
|
+
return this.backend === ide_core_common_1.RecursiveWatcherBackend.NSFW || utils_1.isLinux;
|
|
237
297
|
}
|
|
238
|
-
async handleNSFWEvents(events,
|
|
298
|
+
async handleNSFWEvents(events, realPath) {
|
|
239
299
|
if (events.length > 5000) {
|
|
240
300
|
return;
|
|
241
301
|
}
|
|
242
|
-
const isIgnored = (
|
|
243
|
-
const options = this.watcherOptions.get(
|
|
302
|
+
const isIgnored = (realPath, path) => {
|
|
303
|
+
const options = this.watcherOptions.get(realPath);
|
|
244
304
|
if (!options || !options.excludes || options.excludes.length < 1) {
|
|
245
305
|
return false;
|
|
246
306
|
}
|
|
247
|
-
|
|
307
|
+
const excludesPattern = [...this.excludes.map((pattern) => (0, utils_1.parseGlob)(pattern)), ...options.excludesPattern];
|
|
308
|
+
return excludesPattern.some((match) => match(path));
|
|
248
309
|
};
|
|
249
310
|
const filterEvents = events.filter((event) => {
|
|
250
311
|
// 如果是 RENAME,不会产生临时文件
|
|
251
|
-
if (event.action ===
|
|
312
|
+
if (event.action === watcher_2.INsfw.actions.RENAMED) {
|
|
252
313
|
return true;
|
|
253
314
|
}
|
|
254
315
|
return !(0, shared_1.shouldIgnorePath)(event.file);
|
|
255
316
|
});
|
|
256
317
|
const mergedEvents = (0, uniqBy_1.default)(filterEvents, (event) => {
|
|
257
|
-
if (event.action ===
|
|
318
|
+
if (event.action === watcher_2.INsfw.actions.RENAMED) {
|
|
258
319
|
const deletedPath = path_1.default.join(event.directory, event.oldFile);
|
|
259
320
|
const newPath = path_1.default.join(event.newDirectory || event.directory, event.newFile);
|
|
260
321
|
return deletedPath + newPath;
|
|
@@ -263,23 +324,23 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
263
324
|
});
|
|
264
325
|
await Promise.all(mergedEvents.map(async (event) => {
|
|
265
326
|
switch (event.action) {
|
|
266
|
-
case
|
|
327
|
+
case watcher_2.INsfw.actions.RENAMED:
|
|
267
328
|
{
|
|
268
329
|
const deletedPath = await this.resolvePath(event.directory, event.oldFile);
|
|
269
|
-
if (isIgnored(
|
|
330
|
+
if (isIgnored(realPath, deletedPath)) {
|
|
270
331
|
return;
|
|
271
332
|
}
|
|
272
333
|
this.pushDeleted(deletedPath);
|
|
273
334
|
if (event.newDirectory) {
|
|
274
335
|
const path = await this.resolvePath(event.newDirectory, event.newFile);
|
|
275
|
-
if (isIgnored(
|
|
336
|
+
if (isIgnored(realPath, path)) {
|
|
276
337
|
return;
|
|
277
338
|
}
|
|
278
339
|
this.pushAdded(path);
|
|
279
340
|
}
|
|
280
341
|
else {
|
|
281
342
|
const path = await this.resolvePath(event.directory, event.newFile);
|
|
282
|
-
if (isIgnored(
|
|
343
|
+
if (isIgnored(realPath, path)) {
|
|
283
344
|
return;
|
|
284
345
|
}
|
|
285
346
|
this.pushAdded(path);
|
|
@@ -289,17 +350,17 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
289
350
|
default:
|
|
290
351
|
{
|
|
291
352
|
const path = await this.resolvePath(event.directory, event.file);
|
|
292
|
-
if (isIgnored(
|
|
353
|
+
if (isIgnored(realPath, path)) {
|
|
293
354
|
return;
|
|
294
355
|
}
|
|
295
356
|
switch (event.action) {
|
|
296
|
-
case
|
|
357
|
+
case watcher_2.INsfw.actions.CREATED:
|
|
297
358
|
this.pushAdded(path);
|
|
298
359
|
break;
|
|
299
|
-
case
|
|
360
|
+
case watcher_2.INsfw.actions.DELETED:
|
|
300
361
|
this.pushDeleted(path);
|
|
301
362
|
break;
|
|
302
|
-
case
|
|
363
|
+
case watcher_2.INsfw.actions.MODIFIED:
|
|
303
364
|
this.pushUpdated(path);
|
|
304
365
|
break;
|
|
305
366
|
}
|
|
@@ -312,13 +373,13 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
312
373
|
return require('nsfw');
|
|
313
374
|
}
|
|
314
375
|
pushAdded(path) {
|
|
315
|
-
this.pushFileChange(path,
|
|
376
|
+
this.pushFileChange(path, ide_core_common_1.FileChangeType.ADDED);
|
|
316
377
|
}
|
|
317
378
|
pushUpdated(path) {
|
|
318
|
-
this.pushFileChange(path,
|
|
379
|
+
this.pushFileChange(path, ide_core_common_1.FileChangeType.UPDATED);
|
|
319
380
|
}
|
|
320
381
|
pushDeleted(path) {
|
|
321
|
-
this.pushFileChange(path,
|
|
382
|
+
this.pushFileChange(path, ide_core_common_1.FileChangeType.DELETED);
|
|
322
383
|
}
|
|
323
384
|
pushFileChange(path, type) {
|
|
324
385
|
const uri = utils_1.FileUri.create(path).toString();
|
|
@@ -354,7 +415,7 @@ class FileSystemWatcherServer extends utils_1.Disposable {
|
|
|
354
415
|
}
|
|
355
416
|
}
|
|
356
417
|
}
|
|
357
|
-
exports.
|
|
358
|
-
|
|
359
|
-
|
|
418
|
+
exports.RecursiveFileSystemWatcher = RecursiveFileSystemWatcher;
|
|
419
|
+
RecursiveFileSystemWatcher.PARCEL_WATCHER_BACKEND = utils_1.isWindows ? 'windows' : utils_1.isLinux ? 'inotify' : 'fs-events';
|
|
420
|
+
RecursiveFileSystemWatcher.DEFAULT_POLLING_INTERVAL = 100;
|
|
360
421
|
//# 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,26 +1,20 @@
|
|
|
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, IWatcher } from '../../../common/index';
|
|
4
4
|
import { FileChangeCollection } from '../../file-change-collection';
|
|
5
|
-
export declare class UnRecursiveFileSystemWatcher implements
|
|
5
|
+
export declare class UnRecursiveFileSystemWatcher implements IWatcher {
|
|
6
6
|
private readonly logger;
|
|
7
|
-
private
|
|
8
|
-
private static WATCHER_SEQUENCE;
|
|
7
|
+
private watcherCollections;
|
|
9
8
|
private static readonly FILE_DELETE_HANDLER_DELAY;
|
|
10
9
|
protected changes: FileChangeCollection;
|
|
11
10
|
protected readonly toDispose: DisposableCollection;
|
|
12
11
|
protected client: FileSystemWatcherClient | undefined;
|
|
13
12
|
constructor(logger: ILogService);
|
|
14
13
|
dispose(): void;
|
|
15
|
-
/**
|
|
16
|
-
* 查找某个路径是否已被监听
|
|
17
|
-
* @param watcherPath
|
|
18
|
-
*/
|
|
19
|
-
checkIsAlreadyWatched(watcherPath: string): number | undefined;
|
|
20
14
|
private doWatch;
|
|
21
|
-
watchFileChanges(uri: string): Promise<
|
|
15
|
+
watchFileChanges(uri: string): Promise<void>;
|
|
22
16
|
protected start(basePath: string): Promise<DisposableCollection>;
|
|
23
|
-
unwatchFileChanges(
|
|
17
|
+
unwatchFileChanges(uri: string): void;
|
|
24
18
|
protected pushAdded(path: string): void;
|
|
25
19
|
protected pushUpdated(path: string): void;
|
|
26
20
|
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,EAA8B,MAAM,yBAAyB,CAAC;AAEvG,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,qBAAa,4BAA6B,YAAW,QAAQ;IAY/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXnC,OAAO,CAAC,kBAAkB,CAAwC;IAElE,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;YAID,OAAO;IAuFf,gBAAgB,CAAC,GAAG,EAAE,MAAM;cAoBlB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyBtE,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IASrC,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.watcherCollections = 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,23 +24,11 @@ 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
|
-
}
|
|
39
27
|
}
|
|
40
28
|
async doWatch(basePath) {
|
|
41
29
|
try {
|
|
42
30
|
const watcher = (0, fs_extra_1.watch)(basePath);
|
|
43
|
-
this.logger.log('start watching', basePath);
|
|
31
|
+
this.logger.log('[Un-Recursive] start watching', basePath);
|
|
44
32
|
const isDirectory = fs_extra_1.default.lstatSync(basePath).isDirectory();
|
|
45
33
|
const docChildren = new Set();
|
|
46
34
|
let signalDoc = '';
|
|
@@ -62,7 +50,7 @@ class UnRecursiveFileSystemWatcher {
|
|
|
62
50
|
}
|
|
63
51
|
// 开始走监听流程
|
|
64
52
|
watcher.on('error', (code, signal) => {
|
|
65
|
-
this.logger.error(`Failed to watch ${basePath} for changes using fs.watch() (${code}, ${signal})`);
|
|
53
|
+
this.logger.error(`[Un-Recursive] Failed to watch ${basePath} for changes using fs.watch() (${code}, ${signal})`);
|
|
66
54
|
watcher.close();
|
|
67
55
|
});
|
|
68
56
|
watcher.on('change', (type, filename) => {
|
|
@@ -120,31 +108,25 @@ class UnRecursiveFileSystemWatcher {
|
|
|
120
108
|
});
|
|
121
109
|
}
|
|
122
110
|
catch (error) {
|
|
123
|
-
this.logger.error(`Failed to watch ${basePath} for change using fs.watch() (${error.toString()})`);
|
|
111
|
+
this.logger.error(`[Un-Recursive] Failed to watch ${basePath} for change using fs.watch() (${error.toString()})`);
|
|
124
112
|
}
|
|
125
113
|
}
|
|
126
114
|
async watchFileChanges(uri) {
|
|
127
115
|
const basePath = lib_1.FileUri.fsPath(uri);
|
|
128
116
|
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++;
|
|
134
117
|
const disposables = new lib_1.DisposableCollection(); // 管理可释放的资源
|
|
135
118
|
let watchPath = '';
|
|
136
119
|
if (exist) {
|
|
137
|
-
const stat = await fs_extra_1.default.
|
|
120
|
+
const stat = await fs_extra_1.default.lstat(basePath);
|
|
138
121
|
if (stat) {
|
|
139
122
|
watchPath = basePath;
|
|
140
123
|
}
|
|
141
124
|
}
|
|
142
125
|
else {
|
|
143
|
-
this.logger.warn('This path does not exist. Please try again');
|
|
126
|
+
this.logger.warn('[Un-Recursive] This path does not exist. Please try again');
|
|
144
127
|
}
|
|
145
128
|
disposables.push(await this.start(watchPath));
|
|
146
129
|
this.toDispose.push(disposables);
|
|
147
|
-
return watcherId;
|
|
148
130
|
}
|
|
149
131
|
async start(basePath) {
|
|
150
132
|
const disposables = new lib_1.DisposableCollection();
|
|
@@ -152,6 +134,9 @@ class UnRecursiveFileSystemWatcher {
|
|
|
152
134
|
return disposables;
|
|
153
135
|
}
|
|
154
136
|
const realPath = await fs_extra_1.default.realpath(basePath);
|
|
137
|
+
if (this.watcherCollections.has(realPath)) {
|
|
138
|
+
return disposables;
|
|
139
|
+
}
|
|
155
140
|
const tryWatchDir = async (retryDelay = 1000) => {
|
|
156
141
|
try {
|
|
157
142
|
this.doWatch(realPath);
|
|
@@ -166,13 +151,13 @@ class UnRecursiveFileSystemWatcher {
|
|
|
166
151
|
await tryWatchDir();
|
|
167
152
|
return disposables;
|
|
168
153
|
}
|
|
169
|
-
unwatchFileChanges(
|
|
170
|
-
const
|
|
171
|
-
if (
|
|
172
|
-
this.
|
|
173
|
-
watcher.
|
|
154
|
+
unwatchFileChanges(uri) {
|
|
155
|
+
const basePath = lib_1.FileUri.fsPath(uri);
|
|
156
|
+
if (this.watcherCollections.has(basePath)) {
|
|
157
|
+
const watcher = this.watcherCollections.get(basePath);
|
|
158
|
+
watcher === null || watcher === void 0 ? void 0 : watcher.close();
|
|
159
|
+
this.watcherCollections.delete(basePath);
|
|
174
160
|
}
|
|
175
|
-
return Promise.resolve();
|
|
176
161
|
}
|
|
177
162
|
pushAdded(path) {
|
|
178
163
|
this.pushFileChange(path, index_1.FileChangeType.ADDED);
|
|
@@ -204,6 +189,5 @@ class UnRecursiveFileSystemWatcher {
|
|
|
204
189
|
}
|
|
205
190
|
}
|
|
206
191
|
exports.UnRecursiveFileSystemWatcher = UnRecursiveFileSystemWatcher;
|
|
207
|
-
UnRecursiveFileSystemWatcher.WATCHER_SEQUENCE = 1;
|
|
208
192
|
UnRecursiveFileSystemWatcher.FILE_DELETE_HANDLER_DELAY = 500;
|
|
209
193
|
//# sourceMappingURL=file-service-watcher.js.map
|