@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.
Files changed (68) hide show
  1. package/lib/browser/file-dialog/file-dialog-widget.d.ts +2 -0
  2. package/lib/browser/file-dialog/file-dialog-widget.d.ts.map +1 -1
  3. package/lib/browser/file-dialog/file-dialog-widget.js +9 -0
  4. package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -1
  5. package/lib/browser/file-tree/file-tree-model.d.ts +1 -5
  6. package/lib/browser/file-tree/file-tree-model.d.ts.map +1 -1
  7. package/lib/browser/file-tree/file-tree-model.js +0 -17
  8. package/lib/browser/file-tree/file-tree-model.js.map +1 -1
  9. package/lib/browser/file-upload-service.d.ts.map +1 -1
  10. package/lib/browser/file-upload-service.js +6 -0
  11. package/lib/browser/file-upload-service.js.map +1 -1
  12. package/lib/browser/filesystem-preferences.d.ts.map +1 -1
  13. package/lib/browser/filesystem-preferences.js +1 -2
  14. package/lib/browser/filesystem-preferences.js.map +1 -1
  15. package/lib/node/download/file-download-cache.d.ts.map +1 -1
  16. package/lib/node/download/file-download-cache.js +3 -5
  17. package/lib/node/download/file-download-cache.js.map +1 -1
  18. package/lib/node/filesystem-backend-module.d.ts +8 -8
  19. package/lib/node/filesystem-backend-module.d.ts.map +1 -1
  20. package/lib/node/filesystem-backend-module.js +27 -27
  21. package/lib/node/filesystem-backend-module.js.map +1 -1
  22. package/lib/node/filesystem-watcher-client.d.ts +1 -2
  23. package/lib/node/filesystem-watcher-client.d.ts.map +1 -1
  24. package/lib/node/filesystem-watcher-client.js +2 -3
  25. package/lib/node/filesystem-watcher-client.js.map +1 -1
  26. package/lib/node/node-file-upload-service.d.ts.map +1 -1
  27. package/lib/node/node-file-upload-service.js +8 -1
  28. package/lib/node/node-file-upload-service.js.map +1 -1
  29. package/lib/node/parcel-watcher/index.d.ts.map +1 -0
  30. package/lib/node/{nsfw-watcher → parcel-watcher}/index.js +3 -3
  31. package/lib/node/parcel-watcher/index.js.map +1 -0
  32. package/lib/node/{nsfw-watcher/nsfw-filesystem-service.d.ts → parcel-watcher/parcel-filesystem-service.d.ts} +29 -29
  33. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts.map +1 -0
  34. package/lib/node/{nsfw-watcher/nsfw-filesystem-service.js → parcel-watcher/parcel-filesystem-service.js} +55 -66
  35. package/lib/node/parcel-watcher/parcel-filesystem-service.js.map +1 -0
  36. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts +2 -0
  37. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts.map +1 -0
  38. package/lib/node/{nsfw-watcher/nsfw-filesystem-watcher.spec.js → parcel-watcher/parcel-filesystem-watcher.spec.js} +22 -29
  39. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js.map +1 -0
  40. package/lib/node/parcel-watcher/parcel-options.d.ts +7 -0
  41. package/lib/node/parcel-watcher/parcel-options.d.ts.map +1 -0
  42. package/lib/node/{nsfw-watcher/nsfw-options.js → parcel-watcher/parcel-options.js} +4 -4
  43. package/lib/node/parcel-watcher/parcel-options.js.map +1 -0
  44. package/package.json +5 -6
  45. package/src/browser/file-dialog/file-dialog-widget.ts +11 -0
  46. package/src/browser/file-tree/file-tree-model.ts +1 -19
  47. package/src/browser/file-upload-service.ts +5 -0
  48. package/src/browser/filesystem-preferences.ts +1 -2
  49. package/src/node/download/file-download-cache.ts +3 -5
  50. package/src/node/filesystem-backend-module.ts +27 -27
  51. package/src/node/filesystem-watcher-client.ts +1 -3
  52. package/src/node/node-file-upload-service.ts +7 -1
  53. package/src/node/{nsfw-watcher → parcel-watcher}/index.ts +3 -3
  54. package/src/node/{nsfw-watcher/nsfw-filesystem-service.ts → parcel-watcher/parcel-filesystem-service.ts} +62 -72
  55. package/src/node/{nsfw-watcher/nsfw-filesystem-watcher.spec.ts → parcel-watcher/parcel-filesystem-watcher.spec.ts} +22 -29
  56. package/src/node/{nsfw-watcher/nsfw-options.ts → parcel-watcher/parcel-options.ts} +4 -4
  57. package/lib/node/nsfw-watcher/index.d.ts.map +0 -1
  58. package/lib/node/nsfw-watcher/index.js.map +0 -1
  59. package/lib/node/nsfw-watcher/nsfw-filesystem-service.d.ts.map +0 -1
  60. package/lib/node/nsfw-watcher/nsfw-filesystem-service.js.map +0 -1
  61. package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.d.ts +0 -2
  62. package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.d.ts.map +0 -1
  63. package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.js.map +0 -1
  64. package/lib/node/nsfw-watcher/nsfw-options.d.ts +0 -7
  65. package/lib/node/nsfw-watcher/nsfw-options.d.ts.map +0 -1
  66. package/lib/node/nsfw-watcher/nsfw-options.js.map +0 -1
  67. package/src/typings/nsfw/index.d.ts +0 -18
  68. /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
- response.sendStatus(500); // internal server error
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":"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"}
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 nsfw_filesystem_service_1 = require("./nsfw-filesystem-service");
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('nsfwOptions', {
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 nsfw_filesystem_service_1.NsfwFileSystemWatcherService(options);
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
- export interface NsfwWatcherOptions {
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 NsfwFileSystemWatcherServerOptions: unique symbol;
11
- export interface NsfwFileSystemWatcherServerOptions {
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
- nsfwOptions: nsfw.Options;
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 NsfwWatcher {
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: NsfwWatcherOptions;
36
- /** Logging and Nsfw options */
37
- protected readonly nsfwFileSystemWatchServerOptions: NsfwFileSystemWatcherServerOptions;
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 nsfw instance was successfully started.
49
+ * When this field is set, it means the watcher instance was successfully started.
50
50
  */
51
- protected nsfw: nsfw.NSFW | undefined;
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 nsfwEventProcessingQueue: Promise<void>;
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: NsfwWatcherOptions,
94
- /** Logging and Nsfw options */
95
- nsfwFileSystemWatchServerOptions: NsfwFileSystemWatcherServerOptions,
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 an NSFW watcher.
120
+ * before running a parcel watcher.
121
121
  */
122
122
  protected start(): Promise<void>;
123
123
  /**
124
- * Given a started nsfw instance, gracefully shut it down.
124
+ * Given a started parcel watcher instance, gracefully shut it down.
125
125
  */
126
- protected stopNsfw(watcher: nsfw.NSFW): Promise<void>;
127
- protected createNsfw(): Promise<nsfw.NSFW>;
128
- protected handleNsfwEvents(events: nsfw.FileChangeEvent[]): void;
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 NsfwWatcherHandle {
157
+ export interface PacelWatcherHandle {
158
158
  clientId: number;
159
- watcher: NsfwWatcher;
159
+ watcher: ParcelWatcher;
160
160
  }
161
- export declare class NsfwFileSystemWatcherService implements FileSystemWatcherService {
161
+ export declare class ParcelFileSystemWatcherService implements FileSystemWatcherService {
162
162
  protected client: FileSystemWatcherServiceClient | undefined;
163
163
  protected watcherId: number;
164
- protected readonly watchers: Map<string, NsfwWatcher>;
165
- protected readonly watcherHandles: Map<number, NsfwWatcherHandle>;
166
- protected readonly options: NsfwFileSystemWatcherServerOptions;
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<NsfwFileSystemWatcherServerOptions>);
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): NsfwWatcher;
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=nsfw-filesystem-service.d.ts.map
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.NsfwFileSystemWatcherService = exports.NsfwWatcher = exports.WatcherDisposal = exports.NsfwFileSystemWatcherServerOptions = void 0;
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
- exports.NsfwFileSystemWatcherServerOptions = Symbol('NsfwFileSystemWatcherServerOptions');
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 NsfwWatcher {
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 Nsfw options */
50
- nsfwFileSystemWatchServerOptions,
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.nsfwFileSystemWatchServerOptions = nsfwFileSystemWatchServerOptions;
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 = NsfwWatcher.debugIdSequence++;
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.nsfwEventProcessingQueue = Promise.resolve();
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 an NSFW watcher.
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.createNsfw();
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.stopNsfw(watcher);
177
+ await this.stopWatcher(watcher);
179
178
  throw exports.WatcherDisposal;
180
179
  }
181
- this.nsfw = watcher;
180
+ this.watcher = watcher;
182
181
  }
183
182
  /**
184
- * Given a started nsfw instance, gracefully shut it down.
183
+ * Given a started parcel watcher instance, gracefully shut it down.
185
184
  */
186
- async stopNsfw(watcher) {
187
- await watcher.stop()
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 createNsfw() {
192
- const fsPath = await fs_1.promises.realpath(this.fsPath);
193
- return nsfw(fsPath, events => this.handleNsfwEvents(events), {
194
- ...this.nsfwFileSystemWatchServerOptions.nsfwOptions,
195
- // The errorCallback is called whenever NSFW crashes *while* watching.
196
- // See https://github.com/atom/github/issues/342
197
- errorCallback: error => {
198
- console.error(`NSFW service error on "${fsPath}":`, 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
- // Make sure to call user's error handling code:
202
- if (this.nsfwFileSystemWatchServerOptions.nsfwOptions.errorCallback) {
203
- this.nsfwFileSystemWatchServerOptions.nsfwOptions.errorCallback(error);
204
- }
205
- },
200
+ return;
201
+ }
202
+ this.handleWatcherEvents(events);
203
+ }, {
204
+ ...this.parcelFileSystemWatchServerOptions.parcelOptions
206
205
  });
207
206
  }
208
- handleNsfwEvents(events) {
207
+ handleWatcherEvents(events) {
209
208
  // Only process events if someone is listening.
210
209
  if (this.isInUse()) {
211
- // This callback is async, but nsfw won't wait for it to finish before firing the next one.
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.nsfwEventProcessingQueue = this.nsfwEventProcessingQueue.then(async () => {
212
+ this.parcelEventProcessingQueue = this.parcelEventProcessingQueue.then(async () => {
214
213
  const fileChangeCollection = new file_change_collection_1.FileChangeCollection();
215
- await Promise.all(events.map(async (event) => {
216
- if (event.action === 3 /* nsfw.actions.RENAMED */) {
217
- const [oldPath, newPath] = await Promise.all([
218
- this.resolveEventPath(event.directory, event.oldFile),
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
- const filePath = await this.resolveEventPath(event.directory, event.file);
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
- // nsfw already resolves symlinks, the paths should be clean already:
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.nsfw) {
295
- this.stopNsfw(this.nsfw);
296
- this.nsfw = undefined;
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.nsfwFileSystemWatchServerOptions.info(`${prefix} NsfwWatcher(${this.debugId} at "${this.fsPath}"):`, ...params);
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.nsfwFileSystemWatchServerOptions.verbose) {
296
+ if (this.parcelFileSystemWatchServerOptions.verbose) {
308
297
  this.info(prefix, ...params);
309
298
  }
310
299
  }
311
300
  }
312
- exports.NsfwWatcher = NsfwWatcher;
313
- NsfwWatcher.debugIdSequence = 0;
314
- class NsfwFileSystemWatcherService {
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
- nsfwOptions: {},
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 NsfwWatcher(clientId, fsPath, watcherOptions, this.options, this.maybeClient);
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.NsfwFileSystemWatcherService = NsfwFileSystemWatcherService;
406
- //# sourceMappingURL=nsfw-filesystem-service.js.map
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parcel-filesystem-watcher.spec.d.ts.map
@@ -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 nsfw_filesystem_service_1 = require("./nsfw-filesystem-service");
24
+ const parcel_filesystem_service_1 = require("./parcel-filesystem-service");
25
25
  const expect = chai.expect;
26
26
  const track = temp.track();
27
- describe('nsfw-filesystem-watcher', function () {
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 NSFW always returns paths with long names. We need to convert here.
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 = createNsfwFileSystemWatcherService();
43
+ watcherService = createParcelFileSystemWatcherService();
44
44
  watcherId = await watcherService.watchFileChanges(0, root.toString());
45
- await sleep(2000);
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(2000);
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(2000);
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(2000);
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(2000);
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(2000);
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(2000);
97
+ await sleep(200);
98
98
  assert.deepStrictEqual(actualUris.size, 0);
99
99
  });
100
- it('Renaming should emit a DELETED change followed by ADDED', async function () {
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(1000);
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(1000);
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 (error) {
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: file_txt.toString() },
133
- { type: 1 /* FileChangeType.ADDED */, uri: FILE_txt.toString() }
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 createNsfwFileSystemWatcherService() {
140
- return new nsfw_filesystem_service_1.NsfwFileSystemWatcherService({
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=nsfw-filesystem-watcher.spec.js.map
145
+ //# sourceMappingURL=parcel-filesystem-watcher.spec.js.map