@opensumi/ide-file-service 3.7.1-next-1736321498.0 → 3.7.1-next-1736420958.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 +94 -139
- 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 -16
- 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 -55
- 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 +105 -170
- package/src/node/hosted/un-recursive/file-service-watcher.ts +45 -24
- package/src/node/hosted/watcher.host.service.ts +33 -95
- package/src/node/hosted/watcher.process.ts +1 -1
- package/src/node/watcher-process-manager.ts +5 -13
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SumiConnectionMultiplexer } from '@opensumi/ide-connection';
|
|
2
|
-
import { RecursiveWatcherBackend } from '@opensumi/ide-core-common';
|
|
3
2
|
import { UriComponents } from '@opensumi/ide-utils/lib/uri';
|
|
4
3
|
import { IWatcherHostService } from '../../common/watcher';
|
|
5
4
|
import { IWatcher } from '../disk-file-system.provider';
|
|
@@ -7,9 +6,6 @@ import { WatcherProcessLogger } from './watch-process-log';
|
|
|
7
6
|
export declare class WatcherHostServiceImpl implements IWatcherHostService {
|
|
8
7
|
private rpcProtocol;
|
|
9
8
|
private logger;
|
|
10
|
-
private backend;
|
|
11
|
-
private static WATCHER_SEQUENCE;
|
|
12
|
-
private WATCHER_HANDLERS;
|
|
13
9
|
/**
|
|
14
10
|
* recursive file system watcher
|
|
15
11
|
*/
|
|
@@ -21,14 +17,13 @@ export declare class WatcherHostServiceImpl implements IWatcherHostService {
|
|
|
21
17
|
protected readonly watcherCollection: Map<string, IWatcher>;
|
|
22
18
|
private defaultExcludes;
|
|
23
19
|
private watchedDirs;
|
|
24
|
-
constructor(rpcProtocol: SumiConnectionMultiplexer, logger: WatcherProcessLogger
|
|
20
|
+
constructor(rpcProtocol: SumiConnectionMultiplexer, logger: WatcherProcessLogger);
|
|
25
21
|
initWatcherServer(excludes?: string[], force?: boolean): void;
|
|
26
|
-
|
|
22
|
+
private getWatcherServer;
|
|
27
23
|
private doWatch;
|
|
28
24
|
$watch(uri: UriComponents, options?: {
|
|
29
25
|
excludes?: string[];
|
|
30
26
|
recursive?: boolean;
|
|
31
|
-
pollingWatch?: boolean;
|
|
32
27
|
}): Promise<number>;
|
|
33
28
|
$unwatch(watcherId: number): Promise<void>;
|
|
34
29
|
$setWatcherFileExcludes(excludes: string[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.host.service.d.ts","sourceRoot":"","sources":["../../../src/node/hosted/watcher.host.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"watcher.host.service.d.ts","sourceRoot":"","sources":["../../../src/node/hosted/watcher.host.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAY,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAmD,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,qBAAa,sBAAuB,YAAW,mBAAmB;IAiBpD,OAAO,CAAC,WAAW;IAA6B,OAAO,CAAC,MAAM;IAhB1E;;OAEG;IACH,OAAO,CAAC,0BAA0B,CAAC,CAA0B;IAE7D;;OAEG;IACH,OAAO,CAAC,4BAA4B,CAAC,CAA+B;IAEpE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,wBAA+B;IAEnE,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAO,CAAC,WAAW,CAA0B;gBAEzB,WAAW,EAAE,yBAAyB,EAAU,MAAM,EAAE,oBAAoB;IAOhG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,UAAQ;IAmCpD,OAAO,CAAC,gBAAgB;YAcV,OAAO;IA0Bf,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMhC"}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WatcherHostServiceImpl = void 0;
|
|
4
|
-
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
5
4
|
const file_watch_1 = require("@opensumi/ide-core-common/lib/preferences/file-watch");
|
|
6
5
|
const uri_1 = require("@opensumi/ide-utils/lib/uri");
|
|
7
6
|
const watcher_1 = require("../../common/watcher");
|
|
8
7
|
const file_service_watcher_1 = require("./recursive/file-service-watcher");
|
|
9
8
|
const file_service_watcher_2 = require("./un-recursive/file-service-watcher");
|
|
10
|
-
const watcherPlaceHolder = {
|
|
11
|
-
disposable: {
|
|
12
|
-
dispose: () => { },
|
|
13
|
-
},
|
|
14
|
-
handlers: [],
|
|
15
|
-
};
|
|
16
9
|
class WatcherHostServiceImpl {
|
|
17
|
-
constructor(rpcProtocol, logger
|
|
10
|
+
constructor(rpcProtocol, logger) {
|
|
18
11
|
this.rpcProtocol = rpcProtocol;
|
|
19
12
|
this.logger = logger;
|
|
20
|
-
this.backend = backend;
|
|
21
|
-
this.WATCHER_HANDLERS = new Map();
|
|
22
13
|
this.watcherCollection = new Map();
|
|
23
14
|
this.defaultExcludes = [];
|
|
24
15
|
this.watchedDirs = new Set();
|
|
@@ -39,16 +30,16 @@ class WatcherHostServiceImpl {
|
|
|
39
30
|
(_b = this.unrecursiveFileSystemWatcher) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
40
31
|
// rewatch
|
|
41
32
|
for (const [_uri, { options, disposable }] of this.watcherCollection) {
|
|
33
|
+
this.doWatch(uri_1.Uri.parse(_uri), options);
|
|
42
34
|
this.logger.log('rewatch file changes: ', _uri, ' recursive: ', options === null || options === void 0 ? void 0 : options.recursive);
|
|
43
35
|
disposable.dispose();
|
|
44
|
-
this.doWatch(uri_1.Uri.parse(_uri), options);
|
|
45
36
|
}
|
|
46
37
|
}
|
|
47
|
-
this.recursiveFileSystemWatcher = new file_service_watcher_1.
|
|
38
|
+
this.recursiveFileSystemWatcher = new file_service_watcher_1.FileSystemWatcherServer(excludes, this.logger);
|
|
48
39
|
this.unrecursiveFileSystemWatcher = new file_service_watcher_2.UnRecursiveFileSystemWatcher(this.logger);
|
|
49
40
|
const watcherClient = {
|
|
50
41
|
onDidFilesChanged: (events) => {
|
|
51
|
-
this.logger.log('onDidFilesChanged: ', events);
|
|
42
|
+
this.logger.log('watcher server onDidFilesChanged: ', events);
|
|
52
43
|
const proxy = this.rpcProtocol.getProxy(watcher_1.WatcherProcessManagerProxy);
|
|
53
44
|
proxy.$onDidFilesChanged(events);
|
|
54
45
|
},
|
|
@@ -56,55 +47,38 @@ class WatcherHostServiceImpl {
|
|
|
56
47
|
this.recursiveFileSystemWatcher.setClient(watcherClient);
|
|
57
48
|
this.unrecursiveFileSystemWatcher.setClient(watcherClient);
|
|
58
49
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
50
|
+
getWatcherServer(recursive) {
|
|
51
|
+
const useRecursiveServer = recursive;
|
|
52
|
+
let watcherServer;
|
|
53
|
+
this.initWatcherServer();
|
|
54
|
+
if (useRecursiveServer) {
|
|
55
|
+
watcherServer = this.recursiveFileSystemWatcher;
|
|
64
56
|
}
|
|
57
|
+
else {
|
|
58
|
+
watcherServer = this.unrecursiveFileSystemWatcher;
|
|
59
|
+
}
|
|
60
|
+
return watcherServer;
|
|
65
61
|
}
|
|
66
62
|
async doWatch(uri, options) {
|
|
67
63
|
var _a;
|
|
68
|
-
this.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (watcherId) {
|
|
72
|
-
this.logger.log(uri.toString(), 'is already watched');
|
|
73
|
-
return watcherId;
|
|
64
|
+
const watcherServer = this.getWatcherServer(options === null || options === void 0 ? void 0 : options.recursive);
|
|
65
|
+
if (!watcherServer) {
|
|
66
|
+
return -1;
|
|
74
67
|
}
|
|
75
|
-
watcherId = WatcherHostServiceImpl.WATCHER_SEQUENCE++;
|
|
76
|
-
this.WATCHER_HANDLERS.set(watcherId, {
|
|
77
|
-
...watcherPlaceHolder,
|
|
78
|
-
path: basePath,
|
|
79
|
-
});
|
|
80
68
|
this.logger.log('watch file changes: ', uri.toString(), ' recursive: ', options === null || options === void 0 ? void 0 : options.recursive);
|
|
81
69
|
const mergedExcludes = new Set([...((_a = options === null || options === void 0 ? void 0 : options.excludes) !== null && _a !== void 0 ? _a : []), ...this.defaultExcludes]);
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this.unrecursiveFileSystemWatcher.unwatchFileChanges(uri.toString());
|
|
86
|
-
this.watchedDirs.delete(uri.toString());
|
|
87
|
-
}));
|
|
88
|
-
if (options === null || options === void 0 ? void 0 : options.recursive) {
|
|
89
|
-
this.logger.log('use recursive watcher for: ', uri.toString());
|
|
90
|
-
try {
|
|
91
|
-
await this.recursiveFileSystemWatcher.watchFileChanges(uri.toString(), {
|
|
92
|
-
excludes: Array.from(mergedExcludes),
|
|
93
|
-
pollingWatch: options === null || options === void 0 ? void 0 : options.pollingWatch,
|
|
94
|
-
});
|
|
95
|
-
disposables.push(ide_core_common_1.Disposable.create(() => {
|
|
96
|
-
this.recursiveFileSystemWatcher.unwatchFileChanges(uri.toString());
|
|
97
|
-
this.watchedDirs.delete(uri.toString());
|
|
98
|
-
}));
|
|
99
|
-
}
|
|
100
|
-
catch (error) {
|
|
101
|
-
// watch error or timeout
|
|
102
|
-
this.logger.error('watch error: ', error);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
this.watcherCollection.set(uri.toString(), { id: watcherId, options, disposable: disposables });
|
|
70
|
+
const id = await watcherServer.watchFileChanges(uri.toString(), {
|
|
71
|
+
excludes: Array.from(mergedExcludes),
|
|
72
|
+
});
|
|
106
73
|
this.watchedDirs.add(uri.toString());
|
|
107
|
-
|
|
74
|
+
const disposable = {
|
|
75
|
+
dispose: () => {
|
|
76
|
+
watcherServer.unwatchFileChanges(id);
|
|
77
|
+
this.watchedDirs.delete(uri.toString());
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
this.watcherCollection.set(uri.toString(), { id, options, disposable });
|
|
81
|
+
return id;
|
|
108
82
|
}
|
|
109
83
|
async $watch(uri, options) {
|
|
110
84
|
const _uri = uri_1.URI.revive(uri);
|
|
@@ -133,5 +107,4 @@ class WatcherHostServiceImpl {
|
|
|
133
107
|
}
|
|
134
108
|
}
|
|
135
109
|
exports.WatcherHostServiceImpl = WatcherHostServiceImpl;
|
|
136
|
-
WatcherHostServiceImpl.WATCHER_SEQUENCE = 1;
|
|
137
110
|
//# sourceMappingURL=watcher.host.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.host.service.js","sourceRoot":"","sources":["../../../src/node/hosted/watcher.host.service.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"watcher.host.service.js","sourceRoot":"","sources":["../../../src/node/hosted/watcher.host.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ async function initWatcherProcess() {
|
|
|
29
29
|
timeout: -1,
|
|
30
30
|
});
|
|
31
31
|
const logger = new watch_process_log_1.WatcherProcessLogger(watcherInjector, initData.logDir, initData.logLevel);
|
|
32
|
-
const watcherHostService = new watcher_host_service_1.WatcherHostServiceImpl(watcherProtocol, logger
|
|
32
|
+
const watcherHostService = new watcher_host_service_1.WatcherHostServiceImpl(watcherProtocol, logger);
|
|
33
33
|
watcherHostService.initWatcherServer();
|
|
34
34
|
}
|
|
35
35
|
(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.process.js","sourceRoot":"","sources":["../../../src/node/hosted/watcher.process.ts"],"names":[],"mappings":";;AAAA,6BAAuC;AAEvC,qCAAwC;AACxC,6DAAqE;AACrE,oFAA6F;AAC7F,gEAA8D;AAC9D,oEAAoF;AACpF,+DAA+G;AAC/G,mDAAsE;AAEtE,kDAA4F;AAE5F,2DAA2D;AAC3D,iEAAgE;AAEhE,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,MAAM,GAAQ,OAAO,CAAC;AAE5B,KAAK,UAAU,kBAAkB;IAC/B,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,MAAM,eAAe,GAAG,IAAI,aAAQ,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,IAAI,mBAAO,EAA0B,CAAC;IAE9D,eAAe,CAAC,YAAY,CAAC;QAC3B,KAAK,EAAE,iBAAS;QAChB,QAAQ,EAAE,IAAI,6BAAqB,CAAC,eAAe,CAAC;KACrD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAI,CAAC,+BAAqB,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAI,CAAC,uCAA6B,CAAC,CAAC,CAAC;IAEnE,MAAM,MAAM,GAAG,IAAA,sBAAgB,EAAC,UAAU,CAAC,CAAC;IAE5C,MAAM,eAAe,GAAG,IAAI,0CAAyB,CAAC,IAAI,6BAAmB,CAAC,MAAM,CAAC,EAAE;QACrF,OAAO,EAAE,CAAC,CAAC;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,wCAAoB,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7F,MAAM,kBAAkB,GAAG,IAAI,6CAAsB,CAAC,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"watcher.process.js","sourceRoot":"","sources":["../../../src/node/hosted/watcher.process.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DidFilesChangedParams, FileSystemWatcherClient
|
|
1
|
+
import { DidFilesChangedParams, FileSystemWatcherClient } from '@opensumi/ide-core-common/lib/types/file-watch';
|
|
2
2
|
import { UriComponents } from '@opensumi/ide-core-node';
|
|
3
3
|
import { IWatcherProcessManager } from '../common/watcher';
|
|
4
4
|
export declare const WatcherProcessManagerToken: unique symbol;
|
|
@@ -21,12 +21,11 @@ export declare class WatcherProcessManagerImpl implements IWatcherProcessManager
|
|
|
21
21
|
private createWatcherServer;
|
|
22
22
|
get watcherHost(): string;
|
|
23
23
|
private createWatcherProcess;
|
|
24
|
-
createProcess(clientId: string
|
|
24
|
+
createProcess(clientId: string): Promise<number | undefined>;
|
|
25
25
|
dispose(): Promise<void>;
|
|
26
26
|
watch(uri: UriComponents, options?: {
|
|
27
27
|
excludes?: string[];
|
|
28
28
|
recursive?: boolean;
|
|
29
|
-
pollingWatch: boolean;
|
|
30
29
|
}): Promise<number>;
|
|
31
30
|
unWatch(watcheId: any): Promise<void>;
|
|
32
31
|
setWatcherFileExcludes(excludes: string[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher-process-manager.d.ts","sourceRoot":"","sources":["../../src/node/watcher-process-manager.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"watcher-process-manager.d.ts","sourceRoot":"","sources":["../../src/node/watcher-process-manager.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAEhH,OAAO,EAAoC,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG1F,OAAO,EAEL,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,0BAA0B,eAAkC,CAAC;AAE1E,qBACa,yBAA0B,YAAW,sBAAsB;IACtE,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,cAAc,CAAC,CAAe;IAEtC,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,kBAAkB,CAAkC;IAG5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAGnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,OAAO,CAAC,aAAa,CAA0B;;IAM/C,SAAS,CAAC,MAAM,EAAE,uBAAuB;IAMzC,kBAAkB,CAAC,OAAO,EAAE,qBAAqB;IAIjD,IAAI,SAAS,kBAEZ;IAED,OAAO,CAAC,6BAA6B,CAAkC;IAEvE,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,QAAQ;YAIF,iBAAiB;YAIjB,mBAAmB;IAkBjC,IAAI,WAAW,WAOd;YAEa,oBAAoB;IA0B5B,aAAa,CAAC,QAAQ,EAAE,MAAM;IAY9B,OAAO;IAUP,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlG,OAAO,CAAC,QAAQ,KAAA;IAKhB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE;CAIhD"}
|
|
@@ -68,7 +68,7 @@ let WatcherProcessManagerImpl = class WatcherProcessManagerImpl {
|
|
|
68
68
|
? path_1.default.join(__dirname, '../../lib/node/hosted/watcher.process.js')
|
|
69
69
|
: path_1.default.join(__dirname, 'hosted', 'watcher.process.' + ide_utils_1.process.extFileType)));
|
|
70
70
|
}
|
|
71
|
-
async createWatcherProcess(clientId, ipcHandlerPath
|
|
71
|
+
async createWatcherProcess(clientId, ipcHandlerPath) {
|
|
72
72
|
const forkArgs = [
|
|
73
73
|
`--${watcher_1.SUMI_WATCHER_PROCESS_SOCK_KEY}=${JSON.stringify({
|
|
74
74
|
path: ipcHandlerPath,
|
|
@@ -76,7 +76,6 @@ let WatcherProcessManagerImpl = class WatcherProcessManagerImpl {
|
|
|
76
76
|
`--${watcher_1.WATCHER_INIT_DATA_KEY}=${JSON.stringify({
|
|
77
77
|
logDir: this.appConfig.logDir,
|
|
78
78
|
logLevel: this.appConfig.logLevel,
|
|
79
|
-
backend,
|
|
80
79
|
clientId,
|
|
81
80
|
})}`,
|
|
82
81
|
];
|
|
@@ -90,12 +89,12 @@ let WatcherProcessManagerImpl = class WatcherProcessManagerImpl {
|
|
|
90
89
|
});
|
|
91
90
|
return this.watcherProcess.pid;
|
|
92
91
|
}
|
|
93
|
-
async createProcess(clientId
|
|
92
|
+
async createProcess(clientId) {
|
|
94
93
|
this.logger.log('create watcher process for client: ', clientId);
|
|
95
94
|
this.logger.log('appconfig watcherHost: ', this.watcherHost);
|
|
96
95
|
const ipcHandlerPath = await this.getIPCHandlerPath('watcher_process');
|
|
97
96
|
await this.createWatcherServer(clientId, ipcHandlerPath);
|
|
98
|
-
const pid = await this.createWatcherProcess(clientId, ipcHandlerPath
|
|
97
|
+
const pid = await this.createWatcherProcess(clientId, ipcHandlerPath);
|
|
99
98
|
return pid;
|
|
100
99
|
}
|
|
101
100
|
async dispose() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher-process-manager.js","sourceRoot":"","sources":["../../src/node/watcher-process-manager.ts"],"names":[],"mappings":";;;;AAAA,iDAAmD;AACnD,6BAAmD;AACnD,wDAAwB;AAExB,qCAAqD;AAErD,0FAAoG;AACpG,qFAAgG;AAChG,2DAA4F;
|
|
1
|
+
{"version":3,"file":"watcher-process-manager.js","sourceRoot":"","sources":["../../src/node/watcher-process-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-file-service",
|
|
3
|
-
"version": "3.7.1-next-
|
|
3
|
+
"version": "3.7.1-next-1736420958.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"url": "git@github.com:opensumi/core.git"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@opensumi/ide-connection": "3.7.1-next-
|
|
22
|
-
"@opensumi/ide-core-common": "3.7.1-next-
|
|
23
|
-
"@opensumi/ide-core-node": "3.7.1-next-
|
|
24
|
-
"@opensumi/ide-logs": "3.7.1-next-
|
|
25
|
-
"@opensumi/ide-utils": "3.7.1-next-
|
|
21
|
+
"@opensumi/ide-connection": "3.7.1-next-1736420958.0",
|
|
22
|
+
"@opensumi/ide-core-common": "3.7.1-next-1736420958.0",
|
|
23
|
+
"@opensumi/ide-core-node": "3.7.1-next-1736420958.0",
|
|
24
|
+
"@opensumi/ide-logs": "3.7.1-next-1736420958.0",
|
|
25
|
+
"@opensumi/ide-utils": "3.7.1-next-1736420958.0",
|
|
26
26
|
"@parcel/watcher": "2.1.0",
|
|
27
27
|
"file-type": "16.5.4",
|
|
28
28
|
"nsfw": "2.2.0",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"write-file-atomic": "^5.0.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@opensumi/ide-core-browser": "3.7.1-next-
|
|
35
|
-
"@opensumi/ide-dev-tool": "3.7.1-next-
|
|
34
|
+
"@opensumi/ide-core-browser": "3.7.1-next-1736420958.0",
|
|
35
|
+
"@opensumi/ide-dev-tool": "3.7.1-next-1736420958.0"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "6b174974d4a6c58151ad9e509710b43e38e02ee8"
|
|
38
38
|
}
|
|
@@ -143,7 +143,7 @@ export class FileServiceClient implements IFileServiceClient, IDisposable {
|
|
|
143
143
|
async initialize() {
|
|
144
144
|
const provider = await this.getProvider(Schemes.file);
|
|
145
145
|
if (provider.initialize) {
|
|
146
|
-
await provider.initialize(this.clientId
|
|
146
|
+
await provider.initialize(this.clientId);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
|
|
@@ -354,8 +354,8 @@ export class FileServiceClient implements IFileServiceClient, IDisposable {
|
|
|
354
354
|
|
|
355
355
|
// 添加监听文件
|
|
356
356
|
async watchFileChanges(uri: URI, excludes?: string[]): Promise<IFileServiceWatcher> {
|
|
357
|
-
const
|
|
358
|
-
const
|
|
357
|
+
const unRecursiveDirectories = this.appConfig.unRecursiveDirectories || [];
|
|
358
|
+
const isUnRecursive = unRecursiveDirectories.some((dir) => uri.path.toString().startsWith(dir));
|
|
359
359
|
|
|
360
360
|
const _uri = this.convertUri(uri.toString());
|
|
361
361
|
const originWatcher = this.uriWatcherMap.get(_uri.toString());
|
|
@@ -374,7 +374,7 @@ export class FileServiceClient implements IFileServiceClient, IDisposable {
|
|
|
374
374
|
|
|
375
375
|
const watcherId = await provider.watch(_uri.codeUri, {
|
|
376
376
|
excludes,
|
|
377
|
-
|
|
377
|
+
recursive: !isUnRecursive,
|
|
378
378
|
});
|
|
379
379
|
|
|
380
380
|
this.watcherDisposerMap.set(id, {
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
Emitter,
|
|
4
4
|
Event,
|
|
5
5
|
FileSystemProviderCapabilities,
|
|
6
|
-
RecursiveWatcherBackend,
|
|
7
6
|
Uri,
|
|
8
7
|
debounce,
|
|
9
8
|
getDebugLogger,
|
|
@@ -107,10 +106,10 @@ export class DiskFsProviderClient extends CoreFileServiceProviderClient implemen
|
|
|
107
106
|
return this._capabilities;
|
|
108
107
|
}
|
|
109
108
|
|
|
110
|
-
async initialize(clientId: string
|
|
109
|
+
async initialize(clientId: string) {
|
|
111
110
|
if (this.fileServiceProvider?.initialize) {
|
|
112
111
|
try {
|
|
113
|
-
await this.fileServiceProvider?.initialize(clientId
|
|
112
|
+
await this.fileServiceProvider?.initialize(clientId);
|
|
114
113
|
} catch (err) {
|
|
115
114
|
getDebugLogger('fileService.fsProvider').error('initialize error', err);
|
|
116
115
|
}
|
package/src/common/files.ts
CHANGED
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
isFunction,
|
|
30
30
|
isUndefinedOrNull,
|
|
31
31
|
} from '@opensumi/ide-core-common';
|
|
32
|
-
import { FileStat, FileSystemProvider
|
|
32
|
+
import { FileStat, FileSystemProvider } from '@opensumi/ide-core-common/lib/types/file';
|
|
33
33
|
|
|
34
34
|
import type { Range } from 'vscode-languageserver-types';
|
|
35
35
|
export {
|
|
@@ -420,7 +420,7 @@ export function containsExtraFileMethod<X extends {}, Y extends keyof ExtendedFi
|
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
export interface IDiskFileProvider extends FileSystemProvider {
|
|
423
|
-
initialize?: (clientid: string
|
|
423
|
+
initialize?: (clientid: string) => Promise<void>;
|
|
424
424
|
copy: FileCopyFn;
|
|
425
425
|
access: FileAccessFn;
|
|
426
426
|
getCurrentUserHome: FileGetCurrentUserHomeFn;
|
package/src/common/watcher.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { ProxyIdentifier } from '@opensumi/ide-connection/lib/common/rpc/multiplexer';
|
|
2
2
|
import { Event, FileChange, IRelativePattern, URI, UriComponents } from '@opensumi/ide-core-common';
|
|
3
|
-
import {
|
|
4
|
-
DidFilesChangedParams,
|
|
5
|
-
FileSystemWatcherClient,
|
|
6
|
-
RecursiveWatcherBackend,
|
|
7
|
-
} from '@opensumi/ide-core-common/lib/types/file-watch';
|
|
3
|
+
import { DidFilesChangedParams, FileSystemWatcherClient } from '@opensumi/ide-core-common/lib/types/file-watch';
|
|
8
4
|
|
|
9
5
|
import { IFileServiceClient } from './file-service-client';
|
|
10
6
|
|
|
@@ -79,14 +75,11 @@ export const WatcherProcessManagerProxy = new ProxyIdentifier('WatcherProcessMan
|
|
|
79
75
|
export interface IWatcherProcessManager {
|
|
80
76
|
whenReady: Promise<void>;
|
|
81
77
|
|
|
82
|
-
createProcess(clientId: string
|
|
78
|
+
createProcess(clientId: string): Promise<number | undefined>;
|
|
83
79
|
setClient(client: FileSystemWatcherClient): void;
|
|
84
80
|
dispose(): Promise<void>;
|
|
85
81
|
|
|
86
|
-
watch(
|
|
87
|
-
uri: UriComponents,
|
|
88
|
-
options?: { excludes?: string[]; recursive?: boolean; pollingWatch?: boolean },
|
|
89
|
-
): Promise<number>;
|
|
82
|
+
watch(uri: UriComponents, options?: { excludes?: string[]; recursive?: boolean }): Promise<number>;
|
|
90
83
|
unWatch(watcherId: number): Promise<void>;
|
|
91
84
|
setWatcherFileExcludes(excludes: string[]): Promise<void>;
|
|
92
85
|
|
|
@@ -38,7 +38,6 @@ import {
|
|
|
38
38
|
FileType,
|
|
39
39
|
IDiskFileProvider,
|
|
40
40
|
IWatcherProcessManager,
|
|
41
|
-
RecursiveWatcherBackend,
|
|
42
41
|
handleError,
|
|
43
42
|
isErrnoException,
|
|
44
43
|
notEmpty,
|
|
@@ -106,8 +105,8 @@ export class DiskFileSystemProvider extends RPCService<IRPCDiskFileSystemProvide
|
|
|
106
105
|
});
|
|
107
106
|
}
|
|
108
107
|
|
|
109
|
-
async initialize(clientId: string
|
|
110
|
-
await this.watcherProcessManager.createProcess(clientId
|
|
108
|
+
async initialize(clientId: string) {
|
|
109
|
+
await this.watcherProcessManager.createProcess(clientId);
|
|
111
110
|
}
|
|
112
111
|
|
|
113
112
|
get whenReady() {
|
|
@@ -144,17 +143,13 @@ export class DiskFileSystemProvider extends RPCService<IRPCDiskFileSystemProvide
|
|
|
144
143
|
* @param {{ excludes: string[] }}
|
|
145
144
|
* @memberof DiskFileSystemProvider
|
|
146
145
|
*/
|
|
147
|
-
async watch(
|
|
148
|
-
uri: UriComponents,
|
|
149
|
-
options?: { excludes?: string[]; recursive?: boolean; pollingWatch?: boolean },
|
|
150
|
-
): Promise<number> {
|
|
146
|
+
async watch(uri: UriComponents, options?: { excludes?: string[]; recursive?: boolean }): Promise<number> {
|
|
151
147
|
await this.whenReady;
|
|
152
148
|
const _uri = Uri.revive(uri);
|
|
153
149
|
|
|
154
150
|
const id = await this.watcherProcessManager.watch(_uri, {
|
|
155
151
|
excludes: options?.excludes ?? [],
|
|
156
152
|
recursive: options?.recursive ?? this.recursive,
|
|
157
|
-
pollingWatch: options?.pollingWatch,
|
|
158
153
|
});
|
|
159
154
|
|
|
160
155
|
return id;
|