@theia/filesystem 1.55.0-next.4 → 1.55.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-dialog/file-dialog-widget.d.ts +2 -0
- package/lib/browser/file-dialog/file-dialog-widget.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-widget.js +9 -0
- package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -1
- package/lib/browser/file-tree/file-tree-model.d.ts +1 -5
- package/lib/browser/file-tree/file-tree-model.d.ts.map +1 -1
- package/lib/browser/file-tree/file-tree-model.js +0 -17
- package/lib/browser/file-tree/file-tree-model.js.map +1 -1
- package/lib/browser/file-upload-service.d.ts.map +1 -1
- package/lib/browser/file-upload-service.js +6 -0
- package/lib/browser/file-upload-service.js.map +1 -1
- package/lib/browser/filesystem-preferences.d.ts.map +1 -1
- package/lib/browser/filesystem-preferences.js +1 -2
- package/lib/browser/filesystem-preferences.js.map +1 -1
- package/lib/node/download/file-download-cache.d.ts.map +1 -1
- package/lib/node/download/file-download-cache.js +3 -5
- package/lib/node/download/file-download-cache.js.map +1 -1
- package/lib/node/filesystem-backend-module.d.ts +8 -8
- package/lib/node/filesystem-backend-module.d.ts.map +1 -1
- package/lib/node/filesystem-backend-module.js +27 -27
- package/lib/node/filesystem-backend-module.js.map +1 -1
- package/lib/node/filesystem-watcher-client.d.ts +1 -2
- package/lib/node/filesystem-watcher-client.d.ts.map +1 -1
- package/lib/node/filesystem-watcher-client.js +2 -3
- package/lib/node/filesystem-watcher-client.js.map +1 -1
- package/lib/node/node-file-upload-service.d.ts.map +1 -1
- package/lib/node/node-file-upload-service.js +8 -1
- package/lib/node/node-file-upload-service.js.map +1 -1
- package/lib/node/parcel-watcher/index.d.ts.map +1 -0
- package/lib/node/{nsfw-watcher → parcel-watcher}/index.js +3 -3
- package/lib/node/parcel-watcher/index.js.map +1 -0
- package/lib/node/{nsfw-watcher/nsfw-filesystem-service.d.ts → parcel-watcher/parcel-filesystem-service.d.ts} +29 -29
- package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts.map +1 -0
- package/lib/node/{nsfw-watcher/nsfw-filesystem-service.js → parcel-watcher/parcel-filesystem-service.js} +55 -66
- package/lib/node/parcel-watcher/parcel-filesystem-service.js.map +1 -0
- package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts +2 -0
- package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts.map +1 -0
- package/lib/node/{nsfw-watcher/nsfw-filesystem-watcher.spec.js → parcel-watcher/parcel-filesystem-watcher.spec.js} +22 -29
- package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js.map +1 -0
- package/lib/node/parcel-watcher/parcel-options.d.ts +7 -0
- package/lib/node/parcel-watcher/parcel-options.d.ts.map +1 -0
- package/lib/node/{nsfw-watcher/nsfw-options.js → parcel-watcher/parcel-options.js} +4 -4
- package/lib/node/parcel-watcher/parcel-options.js.map +1 -0
- package/package.json +5 -6
- package/src/browser/file-dialog/file-dialog-widget.ts +11 -0
- package/src/browser/file-tree/file-tree-model.ts +1 -19
- package/src/browser/file-upload-service.ts +5 -0
- package/src/browser/filesystem-preferences.ts +1 -2
- package/src/node/download/file-download-cache.ts +3 -5
- package/src/node/filesystem-backend-module.ts +27 -27
- package/src/node/filesystem-watcher-client.ts +1 -3
- package/src/node/node-file-upload-service.ts +7 -1
- package/src/node/{nsfw-watcher → parcel-watcher}/index.ts +3 -3
- package/src/node/{nsfw-watcher/nsfw-filesystem-service.ts → parcel-watcher/parcel-filesystem-service.ts} +62 -72
- package/src/node/{nsfw-watcher/nsfw-filesystem-watcher.spec.ts → parcel-watcher/parcel-filesystem-watcher.spec.ts} +22 -29
- package/src/node/{nsfw-watcher/nsfw-options.ts → parcel-watcher/parcel-options.ts} +4 -4
- package/lib/node/nsfw-watcher/index.d.ts.map +0 -1
- package/lib/node/nsfw-watcher/index.js.map +0 -1
- package/lib/node/nsfw-watcher/nsfw-filesystem-service.d.ts.map +0 -1
- package/lib/node/nsfw-watcher/nsfw-filesystem-service.js.map +0 -1
- package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.d.ts +0 -2
- package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.d.ts.map +0 -1
- package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.js.map +0 -1
- package/lib/node/nsfw-watcher/nsfw-options.d.ts +0 -7
- package/lib/node/nsfw-watcher/nsfw-options.d.ts.map +0 -1
- package/lib/node/nsfw-watcher/nsfw-options.js.map +0 -1
- package/src/typings/nsfw/index.d.ts +0 -18
- /package/lib/node/{nsfw-watcher → parcel-watcher}/index.d.ts +0 -0
|
@@ -68,7 +68,14 @@ let NodeFileUploadService = NodeFileUploadService_1 = class NodeFileUploadServic
|
|
|
68
68
|
}
|
|
69
69
|
catch (error) {
|
|
70
70
|
console.error(error);
|
|
71
|
-
|
|
71
|
+
if (error.message) {
|
|
72
|
+
// internal server error with error message as response
|
|
73
|
+
response.status(500).send(error.message);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// default internal server error
|
|
77
|
+
response.sendStatus(500);
|
|
78
|
+
}
|
|
72
79
|
}
|
|
73
80
|
}
|
|
74
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-file-upload-service.js","sourceRoot":"","sources":["../../src/node/node-file-upload-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,iCAAkC;AAClC,6BAA8B;AAC9B,yBAA0B;AAE1B,kDAAmD;AACnD,+CAA+E;AAC/E,4DAA0D;AAC1D,uDAA8D;AAGvD,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAG9B,KAAK,CAAC,SAAS,CAAC,GAAwB;QACpC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,qBAAqB,EAAE;SAC/B,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CACJ,SAAS;QACT,wEAAwE;QACxE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAC/B,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CACxE,CAAC;IACN,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,qBAAqB;QACjC,OAAO,mCAAqB,CAAC;IACjC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,sBAAsB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAqB,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,OAAwB,EAAE,QAA0B;QACjF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAChF,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;YACxC,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,cAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,kEAAkE;gBAClE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9G,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"node-file-upload-service.js","sourceRoot":"","sources":["../../src/node/node-file-upload-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/parcel-watcher/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;;AAmB5E,wBAKG"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const yargs = require("@theia/core/shared/yargs");
|
|
19
19
|
const core_1 = require("@theia/core");
|
|
20
|
-
const
|
|
20
|
+
const parcel_filesystem_service_1 = require("./parcel-filesystem-service");
|
|
21
21
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
22
22
|
const options = yargs
|
|
23
23
|
.option('verbose', {
|
|
@@ -25,14 +25,14 @@ const options = yargs
|
|
|
25
25
|
alias: 'v',
|
|
26
26
|
type: 'boolean'
|
|
27
27
|
})
|
|
28
|
-
.option('
|
|
28
|
+
.option('watchOptions', {
|
|
29
29
|
alias: 'o',
|
|
30
30
|
type: 'string',
|
|
31
31
|
coerce: JSON.parse
|
|
32
32
|
})
|
|
33
33
|
.argv;
|
|
34
34
|
exports.default = (connection => {
|
|
35
|
-
const server = new
|
|
35
|
+
const server = new parcel_filesystem_service_1.ParcelFileSystemWatcherService(options);
|
|
36
36
|
const factory = new core_1.RpcProxyFactory(server);
|
|
37
37
|
server.setClient(factory.createProxy());
|
|
38
38
|
factory.listen(connection);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/parcel-watcher/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,kDAAkD;AAClD,sCAA8C;AAE9C,2EAA6E;AAG7E,uDAAuD;AAEvD,MAAM,OAAO,GAET,KAAK;KACJ,MAAM,CAAC,SAAS,EAAE;IACf,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,SAAS;CAClB,CAAC;KACD,MAAM,CAAC,cAAc,EAAE;IACpB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,IAAI,CAAC,KAAK;CACrB,CAAC;KACD,IAAW,CAAC;AAEjB,kBAA8B,CAAC,UAAU,CAAC,EAAE;IACxC,MAAM,MAAM,GAAG,IAAI,0DAA8B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,sBAAe,CAAiC,MAAM,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import nsfw = require('@theia/core/shared/nsfw');
|
|
3
2
|
import { IMinimatch } from 'minimatch';
|
|
4
3
|
import { FileChangeType, FileSystemWatcherService, FileSystemWatcherServiceClient, WatchOptions } from '../../common/filesystem-watcher-protocol';
|
|
5
4
|
import { FileChangeCollection } from '../file-change-collection';
|
|
6
5
|
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
7
|
-
|
|
6
|
+
import { Options, AsyncSubscription, Event } from '@theia/core/shared/@parcel/watcher';
|
|
7
|
+
export interface ParcelWatcherOptions {
|
|
8
8
|
ignored: IMinimatch[];
|
|
9
9
|
}
|
|
10
|
-
export declare const
|
|
11
|
-
export interface
|
|
10
|
+
export declare const ParcelFileSystemWatcherServerOptions: unique symbol;
|
|
11
|
+
export interface ParcelFileSystemWatcherServerOptions {
|
|
12
12
|
verbose: boolean;
|
|
13
13
|
info: (message: string, ...args: any[]) => void;
|
|
14
14
|
error: (message: string, ...args: any[]) => void;
|
|
15
|
-
|
|
15
|
+
parcelOptions: Options;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* This is a flag value passed around upon disposal.
|
|
@@ -28,13 +28,13 @@ export declare const WatcherDisposal: unique symbol;
|
|
|
28
28
|
* Once there are no more references the handle
|
|
29
29
|
* will wait for some time before destroying its resources.
|
|
30
30
|
*/
|
|
31
|
-
export declare class
|
|
31
|
+
export declare class ParcelWatcher {
|
|
32
32
|
/** Filesystem path to be watched. */
|
|
33
33
|
readonly fsPath: string;
|
|
34
34
|
/** Watcher-specific options */
|
|
35
|
-
readonly watcherOptions:
|
|
36
|
-
/** Logging and
|
|
37
|
-
protected readonly
|
|
35
|
+
readonly watcherOptions: ParcelWatcherOptions;
|
|
36
|
+
/** Logging and parcel watcher options */
|
|
37
|
+
protected readonly parcelFileSystemWatchServerOptions: ParcelFileSystemWatcherServerOptions;
|
|
38
38
|
/** The client to forward events to. */
|
|
39
39
|
protected readonly fileSystemWatcherClient: FileSystemWatcherServiceClient;
|
|
40
40
|
/** Amount of time in ms to wait once this handle is not referenced anymore. */
|
|
@@ -46,9 +46,9 @@ export declare class NsfwWatcher {
|
|
|
46
46
|
*/
|
|
47
47
|
protected debugId: number;
|
|
48
48
|
/**
|
|
49
|
-
* When this field is set, it means the
|
|
49
|
+
* When this field is set, it means the watcher instance was successfully started.
|
|
50
50
|
*/
|
|
51
|
-
protected
|
|
51
|
+
protected watcher: AsyncSubscription | undefined;
|
|
52
52
|
/**
|
|
53
53
|
* When the ref count hits zero, we schedule this watch handle to be disposed.
|
|
54
54
|
*/
|
|
@@ -71,7 +71,7 @@ export declare class NsfwWatcher {
|
|
|
71
71
|
* Ensures that events are processed in the order they are emitted,
|
|
72
72
|
* despite being processed async.
|
|
73
73
|
*/
|
|
74
|
-
protected
|
|
74
|
+
protected parcelEventProcessingQueue: Promise<void>;
|
|
75
75
|
/**
|
|
76
76
|
* Resolves once this handle disposed itself and its resources. Never throws.
|
|
77
77
|
*/
|
|
@@ -90,9 +90,9 @@ export declare class NsfwWatcher {
|
|
|
90
90
|
/** Filesystem path to be watched. */
|
|
91
91
|
fsPath: string,
|
|
92
92
|
/** Watcher-specific options */
|
|
93
|
-
watcherOptions:
|
|
94
|
-
/** Logging and
|
|
95
|
-
|
|
93
|
+
watcherOptions: ParcelWatcherOptions,
|
|
94
|
+
/** Logging and parcel watcher options */
|
|
95
|
+
parcelFileSystemWatchServerOptions: ParcelFileSystemWatcherServerOptions,
|
|
96
96
|
/** The client to forward events to. */
|
|
97
97
|
fileSystemWatcherClient: FileSystemWatcherServiceClient,
|
|
98
98
|
/** Amount of time in ms to wait once this handle is not referenced anymore. */
|
|
@@ -117,15 +117,15 @@ export declare class NsfwWatcher {
|
|
|
117
117
|
protected assertNotDisposed(): void;
|
|
118
118
|
/**
|
|
119
119
|
* When starting a watcher, we'll first check and wait for the path to exists
|
|
120
|
-
* before running
|
|
120
|
+
* before running a parcel watcher.
|
|
121
121
|
*/
|
|
122
122
|
protected start(): Promise<void>;
|
|
123
123
|
/**
|
|
124
|
-
* Given a started
|
|
124
|
+
* Given a started parcel watcher instance, gracefully shut it down.
|
|
125
125
|
*/
|
|
126
|
-
protected
|
|
127
|
-
protected
|
|
128
|
-
protected
|
|
126
|
+
protected stopWatcher(watcher: AsyncSubscription): Promise<void>;
|
|
127
|
+
protected createWatcher(): Promise<AsyncSubscription>;
|
|
128
|
+
protected handleWatcherEvents(events: Event[]): void;
|
|
129
129
|
protected resolveEventPath(directory: string, file: string): Promise<string>;
|
|
130
130
|
protected pushFileChange(changes: FileChangeCollection, type: FileChangeType, filePath: string): void;
|
|
131
131
|
protected fireError(): void;
|
|
@@ -154,21 +154,21 @@ export declare class NsfwWatcher {
|
|
|
154
154
|
*
|
|
155
155
|
* This watcherId will map to this handle type which keeps track of the clientId that made the request.
|
|
156
156
|
*/
|
|
157
|
-
export interface
|
|
157
|
+
export interface PacelWatcherHandle {
|
|
158
158
|
clientId: number;
|
|
159
|
-
watcher:
|
|
159
|
+
watcher: ParcelWatcher;
|
|
160
160
|
}
|
|
161
|
-
export declare class
|
|
161
|
+
export declare class ParcelFileSystemWatcherService implements FileSystemWatcherService {
|
|
162
162
|
protected client: FileSystemWatcherServiceClient | undefined;
|
|
163
163
|
protected watcherId: number;
|
|
164
|
-
protected readonly watchers: Map<string,
|
|
165
|
-
protected readonly watcherHandles: Map<number,
|
|
166
|
-
protected readonly options:
|
|
164
|
+
protected readonly watchers: Map<string, ParcelWatcher>;
|
|
165
|
+
protected readonly watcherHandles: Map<number, PacelWatcherHandle>;
|
|
166
|
+
protected readonly options: ParcelFileSystemWatcherServerOptions;
|
|
167
167
|
/**
|
|
168
168
|
* `this.client` is undefined until someone sets it.
|
|
169
169
|
*/
|
|
170
170
|
protected readonly maybeClient: FileSystemWatcherServiceClient;
|
|
171
|
-
constructor(options?: Partial<
|
|
171
|
+
constructor(options?: Partial<ParcelFileSystemWatcherServerOptions>);
|
|
172
172
|
setClient(client: FileSystemWatcherServiceClient | undefined): void;
|
|
173
173
|
/**
|
|
174
174
|
* A specific client requests us to watch a given `uri` according to some `options`.
|
|
@@ -176,7 +176,7 @@ export declare class NsfwFileSystemWatcherService implements FileSystemWatcherSe
|
|
|
176
176
|
* We internally re-use all the same `(uri, options)` pairs.
|
|
177
177
|
*/
|
|
178
178
|
watchFileChanges(clientId: number, uri: string, options?: WatchOptions): Promise<number>;
|
|
179
|
-
protected createWatcher(clientId: number, fsPath: string, options: WatchOptions):
|
|
179
|
+
protected createWatcher(clientId: number, fsPath: string, options: WatchOptions): ParcelWatcher;
|
|
180
180
|
unwatchFileChanges(watcherId: number): Promise<void>;
|
|
181
181
|
/**
|
|
182
182
|
* Given some `URI` and some `WatchOptions`, generate a unique key.
|
|
@@ -189,4 +189,4 @@ export declare class NsfwFileSystemWatcherService implements FileSystemWatcherSe
|
|
|
189
189
|
protected debug(message: string, ...params: any[]): void;
|
|
190
190
|
dispose(): void;
|
|
191
191
|
}
|
|
192
|
-
//# sourceMappingURL=
|
|
192
|
+
//# sourceMappingURL=parcel-filesystem-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parcel-filesystem-service.d.ts","sourceRoot":"","sources":["../../../src/node/parcel-watcher/parcel-filesystem-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
const nsfw = require("@theia/core/shared/nsfw");
|
|
18
|
+
exports.ParcelFileSystemWatcherService = exports.ParcelWatcher = exports.WatcherDisposal = exports.ParcelFileSystemWatcherServerOptions = void 0;
|
|
20
19
|
const path = require("path");
|
|
21
20
|
const fs_1 = require("fs");
|
|
22
21
|
const minimatch_1 = require("minimatch");
|
|
23
22
|
const file_uri_1 = require("@theia/core/lib/common/file-uri");
|
|
24
23
|
const file_change_collection_1 = require("../file-change-collection");
|
|
25
24
|
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
26
|
-
|
|
25
|
+
const watcher_1 = require("@theia/core/shared/@parcel/watcher");
|
|
26
|
+
exports.ParcelFileSystemWatcherServerOptions = Symbol('ParcelFileSystemWatcherServerOptions');
|
|
27
27
|
/**
|
|
28
28
|
* This is a flag value passed around upon disposal.
|
|
29
29
|
*/
|
|
@@ -38,7 +38,7 @@ exports.WatcherDisposal = Symbol('WatcherDisposal');
|
|
|
38
38
|
* Once there are no more references the handle
|
|
39
39
|
* will wait for some time before destroying its resources.
|
|
40
40
|
*/
|
|
41
|
-
class
|
|
41
|
+
class ParcelWatcher {
|
|
42
42
|
constructor(
|
|
43
43
|
/** Initial reference to this handle. */
|
|
44
44
|
initialClientId,
|
|
@@ -46,22 +46,22 @@ class NsfwWatcher {
|
|
|
46
46
|
fsPath,
|
|
47
47
|
/** Watcher-specific options */
|
|
48
48
|
watcherOptions,
|
|
49
|
-
/** Logging and
|
|
50
|
-
|
|
49
|
+
/** Logging and parcel watcher options */
|
|
50
|
+
parcelFileSystemWatchServerOptions,
|
|
51
51
|
/** The client to forward events to. */
|
|
52
52
|
fileSystemWatcherClient,
|
|
53
53
|
/** Amount of time in ms to wait once this handle is not referenced anymore. */
|
|
54
54
|
deferredDisposalTimeout = 10000) {
|
|
55
55
|
this.fsPath = fsPath;
|
|
56
56
|
this.watcherOptions = watcherOptions;
|
|
57
|
-
this.
|
|
57
|
+
this.parcelFileSystemWatchServerOptions = parcelFileSystemWatchServerOptions;
|
|
58
58
|
this.fileSystemWatcherClient = fileSystemWatcherClient;
|
|
59
59
|
this.deferredDisposalTimeout = deferredDisposalTimeout;
|
|
60
60
|
this.disposed = false;
|
|
61
61
|
/**
|
|
62
62
|
* Used for debugging to keep track of the watchers.
|
|
63
63
|
*/
|
|
64
|
-
this.debugId =
|
|
64
|
+
this.debugId = ParcelWatcher.debugIdSequence++;
|
|
65
65
|
/**
|
|
66
66
|
* This deferred only rejects with `WatcherDisposal` and never resolves.
|
|
67
67
|
*/
|
|
@@ -78,7 +78,7 @@ class NsfwWatcher {
|
|
|
78
78
|
* Ensures that events are processed in the order they are emitted,
|
|
79
79
|
* despite being processed async.
|
|
80
80
|
*/
|
|
81
|
-
this.
|
|
81
|
+
this.parcelEventProcessingQueue = Promise.resolve();
|
|
82
82
|
/**
|
|
83
83
|
* Resolves once this handle disposed itself and its resources. Never throws.
|
|
84
84
|
*/
|
|
@@ -161,7 +161,7 @@ class NsfwWatcher {
|
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* When starting a watcher, we'll first check and wait for the path to exists
|
|
164
|
-
* before running
|
|
164
|
+
* before running a parcel watcher.
|
|
165
165
|
*/
|
|
166
166
|
async start() {
|
|
167
167
|
while (await fs_1.promises.stat(this.fsPath).then(() => false, () => true)) {
|
|
@@ -169,71 +169,60 @@ class NsfwWatcher {
|
|
|
169
169
|
this.assertNotDisposed();
|
|
170
170
|
}
|
|
171
171
|
this.assertNotDisposed();
|
|
172
|
-
const watcher = await this.
|
|
172
|
+
const watcher = await this.createWatcher();
|
|
173
173
|
this.assertNotDisposed();
|
|
174
|
-
await watcher.start();
|
|
175
174
|
this.debug('STARTED', `disposed=${this.disposed}`);
|
|
176
175
|
// The watcher could be disposed while it was starting, make sure to check for this:
|
|
177
176
|
if (this.disposed) {
|
|
178
|
-
await this.
|
|
177
|
+
await this.stopWatcher(watcher);
|
|
179
178
|
throw exports.WatcherDisposal;
|
|
180
179
|
}
|
|
181
|
-
this.
|
|
180
|
+
this.watcher = watcher;
|
|
182
181
|
}
|
|
183
182
|
/**
|
|
184
|
-
* Given a started
|
|
183
|
+
* Given a started parcel watcher instance, gracefully shut it down.
|
|
185
184
|
*/
|
|
186
|
-
async
|
|
187
|
-
await watcher.
|
|
185
|
+
async stopWatcher(watcher) {
|
|
186
|
+
await watcher.unsubscribe()
|
|
188
187
|
.then(() => 'success=true', error => error)
|
|
189
188
|
.then(status => this.debug('STOPPED', status));
|
|
190
189
|
}
|
|
191
|
-
async
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
console.error(`
|
|
190
|
+
async createWatcher() {
|
|
191
|
+
let fsPath = await fs_1.promises.realpath(this.fsPath);
|
|
192
|
+
if ((await fs_1.promises.stat(fsPath)).isFile()) {
|
|
193
|
+
fsPath = path.dirname(fsPath);
|
|
194
|
+
}
|
|
195
|
+
return (0, watcher_1.subscribe)(fsPath, (err, events) => {
|
|
196
|
+
if (err) {
|
|
197
|
+
console.error(`Watcher service error on "${fsPath}":`, err);
|
|
199
198
|
this._dispose();
|
|
200
199
|
this.fireError();
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
this.handleWatcherEvents(events);
|
|
203
|
+
}, {
|
|
204
|
+
...this.parcelFileSystemWatchServerOptions.parcelOptions
|
|
206
205
|
});
|
|
207
206
|
}
|
|
208
|
-
|
|
207
|
+
handleWatcherEvents(events) {
|
|
209
208
|
// Only process events if someone is listening.
|
|
210
209
|
if (this.isInUse()) {
|
|
211
|
-
// This callback is async, but
|
|
210
|
+
// This callback is async, but parcel won't wait for it to finish before firing the next one.
|
|
212
211
|
// We will use a lock/queue to make sure everything is processed in the order it arrives.
|
|
213
|
-
this.
|
|
212
|
+
this.parcelEventProcessingQueue = this.parcelEventProcessingQueue.then(async () => {
|
|
214
213
|
const fileChangeCollection = new file_change_collection_1.FileChangeCollection();
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
this.resolveEventPath(event.newDirectory, event.newFile),
|
|
220
|
-
]);
|
|
221
|
-
this.pushFileChange(fileChangeCollection, 2 /* FileChangeType.DELETED */, oldPath);
|
|
222
|
-
this.pushFileChange(fileChangeCollection, 1 /* FileChangeType.ADDED */, newPath);
|
|
214
|
+
for (const event of events) {
|
|
215
|
+
const filePath = event.path;
|
|
216
|
+
if (event.type === 'create') {
|
|
217
|
+
this.pushFileChange(fileChangeCollection, 1 /* FileChangeType.ADDED */, filePath);
|
|
223
218
|
}
|
|
224
|
-
else {
|
|
225
|
-
|
|
226
|
-
if (event.action === 0 /* nsfw.actions.CREATED */) {
|
|
227
|
-
this.pushFileChange(fileChangeCollection, 1 /* FileChangeType.ADDED */, filePath);
|
|
228
|
-
}
|
|
229
|
-
else if (event.action === 1 /* nsfw.actions.DELETED */) {
|
|
230
|
-
this.pushFileChange(fileChangeCollection, 2 /* FileChangeType.DELETED */, filePath);
|
|
231
|
-
}
|
|
232
|
-
else if (event.action === 2 /* nsfw.actions.MODIFIED */) {
|
|
233
|
-
this.pushFileChange(fileChangeCollection, 0 /* FileChangeType.UPDATED */, filePath);
|
|
234
|
-
}
|
|
219
|
+
else if (event.type === 'delete') {
|
|
220
|
+
this.pushFileChange(fileChangeCollection, 2 /* FileChangeType.DELETED */, filePath);
|
|
235
221
|
}
|
|
236
|
-
|
|
222
|
+
else if (event.type === 'update') {
|
|
223
|
+
this.pushFileChange(fileChangeCollection, 0 /* FileChangeType.UPDATED */, filePath);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
237
226
|
const changes = fileChangeCollection.values();
|
|
238
227
|
// If all changes are part of the ignored files, the collection will be empty.
|
|
239
228
|
if (changes.length > 0) {
|
|
@@ -246,7 +235,7 @@ class NsfwWatcher {
|
|
|
246
235
|
}
|
|
247
236
|
}
|
|
248
237
|
async resolveEventPath(directory, file) {
|
|
249
|
-
//
|
|
238
|
+
// parcel already resolves symlinks, the paths should be clean already:
|
|
250
239
|
return path.resolve(directory, file);
|
|
251
240
|
}
|
|
252
241
|
pushFileChange(changes, type, filePath) {
|
|
@@ -291,27 +280,27 @@ class NsfwWatcher {
|
|
|
291
280
|
if (!this.disposed) {
|
|
292
281
|
this.disposed = true;
|
|
293
282
|
this.deferredDisposalDeferred.reject(exports.WatcherDisposal);
|
|
294
|
-
if (this.
|
|
295
|
-
this.
|
|
296
|
-
this.
|
|
283
|
+
if (this.watcher) {
|
|
284
|
+
this.stopWatcher(this.watcher);
|
|
285
|
+
this.watcher = undefined;
|
|
297
286
|
}
|
|
298
287
|
this.debug('DISPOSED');
|
|
299
288
|
}
|
|
300
289
|
}
|
|
301
290
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
302
291
|
info(prefix, ...params) {
|
|
303
|
-
this.
|
|
292
|
+
this.parcelFileSystemWatchServerOptions.info(`${prefix} ParcelWatcher(${this.debugId} at "${this.fsPath}"):`, ...params);
|
|
304
293
|
}
|
|
305
294
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
306
295
|
debug(prefix, ...params) {
|
|
307
|
-
if (this.
|
|
296
|
+
if (this.parcelFileSystemWatchServerOptions.verbose) {
|
|
308
297
|
this.info(prefix, ...params);
|
|
309
298
|
}
|
|
310
299
|
}
|
|
311
300
|
}
|
|
312
|
-
exports.
|
|
313
|
-
|
|
314
|
-
class
|
|
301
|
+
exports.ParcelWatcher = ParcelWatcher;
|
|
302
|
+
ParcelWatcher.debugIdSequence = 0;
|
|
303
|
+
class ParcelFileSystemWatcherService {
|
|
315
304
|
constructor(options) {
|
|
316
305
|
this.watcherId = 0;
|
|
317
306
|
this.watchers = new Map();
|
|
@@ -324,7 +313,7 @@ class NsfwFileSystemWatcherService {
|
|
|
324
313
|
onError: event => { var _a; return (_a = this.client) === null || _a === void 0 ? void 0 : _a.onError(event); },
|
|
325
314
|
};
|
|
326
315
|
this.options = {
|
|
327
|
-
|
|
316
|
+
parcelOptions: {},
|
|
328
317
|
verbose: false,
|
|
329
318
|
info: (message, ...args) => console.info(message, ...args),
|
|
330
319
|
error: (message, ...args) => console.error(message, ...args),
|
|
@@ -362,7 +351,7 @@ class NsfwFileSystemWatcherService {
|
|
|
362
351
|
ignored: options.ignored
|
|
363
352
|
.map(pattern => new minimatch_1.Minimatch(pattern, { dot: true })),
|
|
364
353
|
};
|
|
365
|
-
return new
|
|
354
|
+
return new ParcelWatcher(clientId, fsPath, watcherOptions, this.options, this.maybeClient);
|
|
366
355
|
}
|
|
367
356
|
async unwatchFileChanges(watcherId) {
|
|
368
357
|
const handle = this.watcherHandles.get(watcherId);
|
|
@@ -402,5 +391,5 @@ class NsfwFileSystemWatcherService {
|
|
|
402
391
|
// Singletons shouldn't be disposed...
|
|
403
392
|
}
|
|
404
393
|
}
|
|
405
|
-
exports.
|
|
406
|
-
//# sourceMappingURL=
|
|
394
|
+
exports.ParcelFileSystemWatcherService = ParcelFileSystemWatcherService;
|
|
395
|
+
//# sourceMappingURL=parcel-filesystem-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parcel-filesystem-service.js","sourceRoot":"","sources":["../../../src/node/parcel-watcher/parcel-filesystem-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parcel-filesystem-watcher.spec.d.ts","sourceRoot":"","sources":["../../../src/node/parcel-watcher/parcel-filesystem-watcher.spec.ts"],"names":[],"mappings":""}
|
|
@@ -21,10 +21,10 @@ const cp = require("child_process");
|
|
|
21
21
|
const fs = require("@theia/core/shared/fs-extra");
|
|
22
22
|
const assert = require("assert");
|
|
23
23
|
const node_1 = require("@theia/core/lib/node");
|
|
24
|
-
const
|
|
24
|
+
const parcel_filesystem_service_1 = require("./parcel-filesystem-service");
|
|
25
25
|
const expect = chai.expect;
|
|
26
26
|
const track = temp.track();
|
|
27
|
-
describe('
|
|
27
|
+
describe('parcel-filesystem-watcher', function () {
|
|
28
28
|
let root;
|
|
29
29
|
let watcherService;
|
|
30
30
|
let watcherId;
|
|
@@ -32,7 +32,7 @@ describe('nsfw-filesystem-watcher', function () {
|
|
|
32
32
|
beforeEach(async () => {
|
|
33
33
|
let tempPath = temp.mkdirSync('node-fs-root');
|
|
34
34
|
// Sometimes tempPath will use some Windows 8.3 short name in its path. This is a problem
|
|
35
|
-
// since
|
|
35
|
+
// since parcel always returns paths with long names. We need to convert here.
|
|
36
36
|
// See: https://stackoverflow.com/a/34473971/7983255
|
|
37
37
|
if (process.platform === 'win32') {
|
|
38
38
|
tempPath = cp.execSync(`powershell "(Get-Item -LiteralPath '${tempPath}').FullName"`, {
|
|
@@ -40,9 +40,9 @@ describe('nsfw-filesystem-watcher', function () {
|
|
|
40
40
|
}).trim();
|
|
41
41
|
}
|
|
42
42
|
root = node_1.FileUri.create(fs.realpathSync(tempPath));
|
|
43
|
-
watcherService =
|
|
43
|
+
watcherService = createParcelFileSystemWatcherService();
|
|
44
44
|
watcherId = await watcherService.watchFileChanges(0, root.toString());
|
|
45
|
-
await sleep(
|
|
45
|
+
await sleep(200);
|
|
46
46
|
});
|
|
47
47
|
afterEach(async () => {
|
|
48
48
|
track.cleanupSync();
|
|
@@ -65,13 +65,13 @@ describe('nsfw-filesystem-watcher', function () {
|
|
|
65
65
|
];
|
|
66
66
|
fs.mkdirSync(node_1.FileUri.fsPath(root.resolve('foo')));
|
|
67
67
|
expect(fs.statSync(node_1.FileUri.fsPath(root.resolve('foo'))).isDirectory()).to.be.true;
|
|
68
|
-
await sleep(
|
|
68
|
+
await sleep(200);
|
|
69
69
|
fs.mkdirSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar')));
|
|
70
70
|
expect(fs.statSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar'))).isDirectory()).to.be.true;
|
|
71
|
-
await sleep(
|
|
71
|
+
await sleep(200);
|
|
72
72
|
fs.writeFileSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar').resolve('baz.txt')), 'baz');
|
|
73
73
|
expect(fs.readFileSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar').resolve('baz.txt')), 'utf8')).to.be.equal('baz');
|
|
74
|
-
await sleep(
|
|
74
|
+
await sleep(200);
|
|
75
75
|
assert.deepStrictEqual([...actualUris], expectedUris);
|
|
76
76
|
});
|
|
77
77
|
it('Should not receive file changes events from in the workspace by default if unwatched', async function () {
|
|
@@ -88,16 +88,16 @@ describe('nsfw-filesystem-watcher', function () {
|
|
|
88
88
|
await watcherService.unwatchFileChanges(watcherId);
|
|
89
89
|
fs.mkdirSync(node_1.FileUri.fsPath(root.resolve('foo')));
|
|
90
90
|
expect(fs.statSync(node_1.FileUri.fsPath(root.resolve('foo'))).isDirectory()).to.be.true;
|
|
91
|
-
await sleep(
|
|
91
|
+
await sleep(200);
|
|
92
92
|
fs.mkdirSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar')));
|
|
93
93
|
expect(fs.statSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar'))).isDirectory()).to.be.true;
|
|
94
|
-
await sleep(
|
|
94
|
+
await sleep(200);
|
|
95
95
|
fs.writeFileSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar').resolve('baz.txt')), 'baz');
|
|
96
96
|
expect(fs.readFileSync(node_1.FileUri.fsPath(root.resolve('foo').resolve('bar').resolve('baz.txt')), 'utf8')).to.be.equal('baz');
|
|
97
|
-
await sleep(
|
|
97
|
+
await sleep(200);
|
|
98
98
|
assert.deepStrictEqual(actualUris.size, 0);
|
|
99
99
|
});
|
|
100
|
-
it('Renaming should emit a DELETED
|
|
100
|
+
it('Renaming should emit a DELETED and ADDED event', async function () {
|
|
101
101
|
const file_txt = root.resolve('file.txt');
|
|
102
102
|
const FILE_txt = root.resolve('FILE.txt');
|
|
103
103
|
const changes = [];
|
|
@@ -106,38 +106,31 @@ describe('nsfw-filesystem-watcher', function () {
|
|
|
106
106
|
onError: console.error
|
|
107
107
|
});
|
|
108
108
|
await fs.promises.writeFile(node_1.FileUri.fsPath(file_txt), 'random content\n');
|
|
109
|
-
await sleep(
|
|
109
|
+
await sleep(200);
|
|
110
110
|
await fs.promises.rename(node_1.FileUri.fsPath(file_txt), node_1.FileUri.fsPath(FILE_txt));
|
|
111
|
-
await sleep(
|
|
111
|
+
await sleep(200);
|
|
112
|
+
// The order of DELETED and ADDED is not deterministic
|
|
112
113
|
try {
|
|
113
114
|
expect(changes).deep.eq([
|
|
114
115
|
// initial file creation change event:
|
|
115
116
|
{ type: 1 /* FileChangeType.ADDED */, uri: file_txt.toString() },
|
|
116
117
|
// rename change events:
|
|
117
118
|
{ type: 2 /* FileChangeType.DELETED */, uri: file_txt.toString() },
|
|
118
|
-
{ type: 1 /* FileChangeType.ADDED */, uri: FILE_txt.toString() }
|
|
119
|
+
{ type: 1 /* FileChangeType.ADDED */, uri: FILE_txt.toString() },
|
|
119
120
|
]);
|
|
120
121
|
}
|
|
121
|
-
catch
|
|
122
|
-
// TODO: remove this try/catch once the bug on macOS is fixed.
|
|
123
|
-
// See https://github.com/Axosoft/nsfw/issues/146
|
|
124
|
-
if (process.platform !== 'darwin') {
|
|
125
|
-
throw error;
|
|
126
|
-
}
|
|
127
|
-
// On macOS we only get ADDED events for some reason
|
|
122
|
+
catch {
|
|
128
123
|
expect(changes).deep.eq([
|
|
129
124
|
// initial file creation change event:
|
|
130
125
|
{ type: 1 /* FileChangeType.ADDED */, uri: file_txt.toString() },
|
|
131
126
|
// rename change events:
|
|
132
|
-
{ type: 1 /* FileChangeType.ADDED */, uri:
|
|
133
|
-
{ type:
|
|
127
|
+
{ type: 1 /* FileChangeType.ADDED */, uri: FILE_txt.toString() },
|
|
128
|
+
{ type: 2 /* FileChangeType.DELETED */, uri: file_txt.toString() },
|
|
134
129
|
]);
|
|
135
|
-
// Mark the test case as skipped so it stands out that the bogus branch got tested
|
|
136
|
-
this.skip();
|
|
137
130
|
}
|
|
138
131
|
});
|
|
139
|
-
function
|
|
140
|
-
return new
|
|
132
|
+
function createParcelFileSystemWatcherService() {
|
|
133
|
+
return new parcel_filesystem_service_1.ParcelFileSystemWatcherService({
|
|
141
134
|
verbose: true
|
|
142
135
|
});
|
|
143
136
|
}
|
|
@@ -149,4 +142,4 @@ describe('nsfw-filesystem-watcher', function () {
|
|
|
149
142
|
process.on('unhandledRejection', (reason) => {
|
|
150
143
|
console.error('Unhandled promise rejection: ' + reason);
|
|
151
144
|
});
|
|
152
|
-
//# sourceMappingURL=
|
|
145
|
+
//# sourceMappingURL=parcel-filesystem-watcher.spec.js.map
|