@filen/sync 0.1.3 → 0.1.4

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.
@@ -15,6 +15,7 @@ const stream_1 = require("stream");
15
15
  const util_1 = require("util");
16
16
  const sdk_1 = require("@filen/sdk");
17
17
  const ipc_1 = require("../ipc");
18
+ const semaphore_1 = require("../../semaphore");
18
19
  const pipelineAsync = (0, util_1.promisify)(stream_1.pipeline);
19
20
  /**
20
21
  * LocalFileSystem
@@ -41,6 +42,9 @@ class LocalFileSystem {
41
42
  };
42
43
  this.watcherRunning = false;
43
44
  this.watcherInstance = null;
45
+ this.itemsMutex = new semaphore_1.Semaphore(1);
46
+ this.mutex = new semaphore_1.Semaphore(1);
47
+ this.mkdirMutex = new semaphore_1.Semaphore(1);
44
48
  this.sync = sync;
45
49
  }
46
50
  async getDirectoryTree() {
@@ -79,8 +83,9 @@ class LocalFileSystem {
79
83
  });
80
84
  return;
81
85
  }
82
- if ((0, utils_1.isDirectoryPathIgnoredByDefault)(entry) ||
83
- (0, utils_1.isRelativePathIgnoredByDefault)(entry) ||
86
+ const entryPath = `/${isWindows ? entry.replace(/\\/g, "/") : entry}`;
87
+ if ((0, utils_1.isDirectoryPathIgnoredByDefault)(entryPath) ||
88
+ (0, utils_1.isRelativePathIgnoredByDefault)(entryPath) ||
84
89
  (0, utils_1.isSystemPathIgnoredByDefault)(itemPath)) {
85
90
  ignored.push({
86
91
  localPath: itemPath,
@@ -89,12 +94,11 @@ class LocalFileSystem {
89
94
  });
90
95
  return;
91
96
  }
92
- const entryPath = `/${isWindows ? entry.replace(/\\/g, "/") : entry}`;
93
97
  const itemName = path_1.default.posix.basename(entryPath);
94
98
  if (itemName.startsWith(constants_1.LOCAL_TRASH_NAME)) {
95
99
  return;
96
100
  }
97
- if (this.sync.excludeDotFiles && itemName.startsWith(".")) {
101
+ if (this.sync.excludeDotFiles && (0, utils_1.pathIncludesDotFile)(entryPath)) {
98
102
  ignored.push({
99
103
  localPath: itemPath,
100
104
  relativePath: entry,
@@ -103,17 +107,41 @@ class LocalFileSystem {
103
107
  return;
104
108
  }
105
109
  try {
106
- const stats = await fs_extra_1.default.stat(itemPath);
110
+ const stats = await fs_extra_1.default.lstat(itemPath);
111
+ if (stats.isBlockDevice() || stats.isCharacterDevice() || stats.isFIFO() || stats.isSocket()) {
112
+ ignored.push({
113
+ localPath: itemPath,
114
+ relativePath: entry,
115
+ reason: "invalidType"
116
+ });
117
+ return;
118
+ }
119
+ if (stats.isSymbolicLink()) {
120
+ ignored.push({
121
+ localPath: itemPath,
122
+ relativePath: entry,
123
+ reason: "symlink"
124
+ });
125
+ return;
126
+ }
127
+ if (stats.isFile() && stats.size <= 0) {
128
+ ignored.push({
129
+ localPath: itemPath,
130
+ relativePath: entry,
131
+ reason: "empty"
132
+ });
133
+ return;
134
+ }
107
135
  const item = {
108
136
  lastModified: parseInt(stats.mtimeMs), // Sometimes comes as a float, but we need an int
109
137
  type: stats.isDirectory() ? "directory" : "file",
110
138
  path: entryPath,
111
139
  creation: parseInt(stats.birthtimeMs), // Sometimes comes as a float, but we need an int
112
- size: stats.size,
113
- inode: stats.ino
140
+ size: parseInt(stats.size), // Sometimes comes as a float, but we need an int
141
+ inode: parseInt(stats.ino) // Sometimes comes as a float, but we need an int
114
142
  };
115
143
  tree[entryPath] = item;
116
- inodes[stats.ino] = item;
144
+ inodes[item.inode] = item;
117
145
  }
118
146
  catch (e) {
119
147
  this.sync.worker.logger.log("error", e, "filesystems.local.getDirectoryTree");
@@ -133,8 +161,8 @@ class LocalFileSystem {
133
161
  };
134
162
  return {
135
163
  result: {
136
- tree,
137
- inodes
164
+ tree: this.getDirectoryTreeCache.tree,
165
+ inodes: this.getDirectoryTreeCache.inodes
138
166
  },
139
167
  errors,
140
168
  ignored,
@@ -154,7 +182,7 @@ class LocalFileSystem {
154
182
  return;
155
183
  }
156
184
  this.watcherInstance = await watcher_1.default.subscribe(this.sync.syncPair.localPath, (err, events) => {
157
- if (!err && events) {
185
+ if (!err && events && events.length > 0) {
158
186
  this.lastDirectoryChangeTimestamp = Date.now();
159
187
  }
160
188
  });
@@ -231,63 +259,131 @@ class LocalFileSystem {
231
259
  * @returns {Promise<fs.Stats>}
232
260
  */
233
261
  async mkdir({ relativePath }) {
234
- const localPath = path_1.default.join(this.sync.syncPair.localPath, relativePath);
235
- await fs_extra_1.default.ensureDir(localPath);
236
- return await fs_extra_1.default.stat(localPath);
262
+ await this.mkdirMutex.acquire();
263
+ try {
264
+ const localPath = path_1.default.join(this.sync.syncPair.localPath, relativePath);
265
+ await fs_extra_1.default.ensureDir(localPath);
266
+ const stats = await fs_extra_1.default.stat(localPath);
267
+ await this.itemsMutex.acquire();
268
+ const item = {
269
+ type: "directory",
270
+ inode: parseInt(stats.ino), // Sometimes comes as a float, but we need an int
271
+ lastModified: parseInt(stats.mtimeMs), // Sometimes comes as a float, but we need an int
272
+ creation: parseInt(stats.birthtimeMs), // Sometimes comes as a float, but we need an int
273
+ size: 0,
274
+ path: relativePath
275
+ };
276
+ this.getDirectoryTreeCache.tree[relativePath] = item;
277
+ this.getDirectoryTreeCache.inodes[item.inode] = item;
278
+ this.itemsMutex.release();
279
+ return stats;
280
+ }
281
+ finally {
282
+ this.mkdirMutex.release();
283
+ }
237
284
  }
238
- /**
239
- * Delete a file/directory inside the local sync path.
240
- * @date 3/3/2024 - 10:05:55 PM
241
- *
242
- * @public
243
- * @async
244
- * @param {{ relativePath: string; permanent?: boolean }} param0
245
- * @param {string} param0.relativePath
246
- * @param {boolean} [param0.permanent=false]
247
- * @returns {Promise<void>}
248
- */
249
285
  async unlink({ relativePath, permanent = false }) {
250
- const localPath = path_1.default.join(this.sync.syncPair.localPath, relativePath);
251
- if (!permanent) {
252
- const localTrashPath = path_1.default.join(this.sync.syncPair.localPath, constants_1.LOCAL_TRASH_NAME);
253
- await fs_extra_1.default.ensureDir(localTrashPath);
254
- await fs_extra_1.default.move(localPath, path_1.default.join(localTrashPath, path_1.default.posix.basename(relativePath)), {
255
- overwrite: true
256
- });
257
- return;
286
+ await this.mutex.acquire();
287
+ try {
288
+ const item = this.getDirectoryTreeCache.tree[relativePath];
289
+ if (!item) {
290
+ return;
291
+ }
292
+ const localPath = path_1.default.join(this.sync.syncPair.localPath, relativePath);
293
+ if (!permanent) {
294
+ const localTrashPath = path_1.default.join(this.sync.syncPair.localPath, constants_1.LOCAL_TRASH_NAME);
295
+ await fs_extra_1.default.ensureDir(localTrashPath);
296
+ await fs_extra_1.default.move(localPath, path_1.default.join(localTrashPath, path_1.default.posix.basename(relativePath)), {
297
+ overwrite: true
298
+ });
299
+ }
300
+ else {
301
+ await fs_extra_1.default.rm(localPath, {
302
+ force: true,
303
+ maxRetries: 60 * 10,
304
+ recursive: true,
305
+ retryDelay: 100
306
+ });
307
+ }
308
+ await this.itemsMutex.acquire();
309
+ delete this.getDirectoryTreeCache.tree[relativePath];
310
+ delete this.getDirectoryTreeCache.inodes[item.inode];
311
+ delete this.sync.localFileHashes[relativePath];
312
+ for (const entry in this.getDirectoryTreeCache.tree) {
313
+ if (entry.startsWith(relativePath + "/") || entry === relativePath) {
314
+ const entryItem = this.getDirectoryTreeCache.tree[entry];
315
+ if (entryItem) {
316
+ delete this.getDirectoryTreeCache.inodes[entryItem.inode];
317
+ }
318
+ delete this.sync.localFileHashes[entry];
319
+ delete this.getDirectoryTreeCache.tree[entry];
320
+ }
321
+ }
322
+ this.itemsMutex.release();
323
+ }
324
+ finally {
325
+ this.mutex.release();
258
326
  }
259
- await fs_extra_1.default.rm(localPath, {
260
- force: true,
261
- maxRetries: 60 * 10,
262
- recursive: true,
263
- retryDelay: 100
264
- });
265
327
  }
266
- /**
267
- * Rename a file/directory inside the local sync path. Recursively creates intermediate directories if needed.
268
- * @date 3/2/2024 - 12:41:15 PM
269
- *
270
- * @public
271
- * @async
272
- * @param {{ fromRelativePath: string; toRelativePath: string }} param0
273
- * @param {string} param0.fromRelativePath
274
- * @param {string} param0.toRelativePath
275
- * @returns {Promise<fs.Stats>}
276
- */
277
328
  async rename({ fromRelativePath, toRelativePath }) {
278
- const fromLocalPath = path_1.default.join(this.sync.syncPair.localPath, fromRelativePath);
279
- const toLocalPath = path_1.default.join(this.sync.syncPair.localPath, toRelativePath);
280
- const fromLocalPathParentPath = path_1.default.dirname(fromLocalPath);
281
- const toLocalPathParentPath = path_1.default.dirname(toLocalPath);
282
- await fs_extra_1.default.ensureDir(toLocalPathParentPath);
283
- if (fromLocalPathParentPath === toLocalPathParentPath) {
284
- await fs_extra_1.default.rename(fromLocalPath, toLocalPath);
285
- return await fs_extra_1.default.stat(toLocalPath);
329
+ await this.mutex.acquire();
330
+ try {
331
+ if (fromRelativePath === "/" || toRelativePath === "/") {
332
+ throw new Error("Invalid paths.");
333
+ }
334
+ const item = this.getDirectoryTreeCache.tree[fromRelativePath];
335
+ if (!item) {
336
+ throw new Error(`Could not rename ${fromRelativePath} to ${toRelativePath}: Path not found.`);
337
+ }
338
+ const fromLocalPath = path_1.default.join(this.sync.syncPair.localPath, fromRelativePath);
339
+ const toLocalPath = path_1.default.join(this.sync.syncPair.localPath, toRelativePath);
340
+ const fromLocalPathParentPath = path_1.default.dirname(fromLocalPath);
341
+ const toLocalPathParentPath = path_1.default.dirname(toLocalPath);
342
+ if (!(await fs_extra_1.default.exists(toLocalPathParentPath))) {
343
+ throw new Error(`Could not rename ${fromLocalPath} to ${toLocalPath}: Parent directory missing.`);
344
+ }
345
+ if (fromLocalPathParentPath === toLocalPathParentPath) {
346
+ await fs_extra_1.default.rename(fromLocalPath, toLocalPath);
347
+ }
348
+ else {
349
+ if (toRelativePath.startsWith(fromRelativePath)) {
350
+ throw new Error("Invalid paths.");
351
+ }
352
+ await fs_extra_1.default.move(fromLocalPath, toLocalPath, {
353
+ overwrite: true
354
+ });
355
+ }
356
+ const stats = await fs_extra_1.default.stat(toLocalPath);
357
+ await this.itemsMutex.acquire();
358
+ this.getDirectoryTreeCache.tree[toRelativePath] = Object.assign(Object.assign({}, item), { path: toRelativePath });
359
+ this.getDirectoryTreeCache.inodes[item.inode] = Object.assign(Object.assign({}, item), { path: toRelativePath });
360
+ delete this.getDirectoryTreeCache.tree[fromRelativePath];
361
+ delete this.sync.localFileHashes[fromRelativePath];
362
+ for (const oldPath in this.getDirectoryTreeCache.tree) {
363
+ if (oldPath.startsWith(fromRelativePath + "/") && oldPath !== fromRelativePath) {
364
+ const newPath = (0, utils_1.replacePathStartWithFromAndTo)(oldPath, fromRelativePath, toRelativePath);
365
+ const oldItem = this.getDirectoryTreeCache.tree[oldPath];
366
+ if (oldItem) {
367
+ this.getDirectoryTreeCache.tree[newPath] = Object.assign(Object.assign({}, oldItem), { path: newPath });
368
+ delete this.getDirectoryTreeCache.tree[oldPath];
369
+ const oldItemInode = this.getDirectoryTreeCache.inodes[oldItem.inode];
370
+ if (oldItemInode) {
371
+ this.getDirectoryTreeCache.inodes[oldItem.inode] = Object.assign(Object.assign({}, oldItemInode), { path: newPath });
372
+ }
373
+ }
374
+ const oldItemHash = this.sync.localFileHashes[oldPath];
375
+ if (oldItemHash) {
376
+ this.sync.localFileHashes[newPath] = oldItemHash;
377
+ delete this.sync.localFileHashes[oldPath];
378
+ }
379
+ }
380
+ }
381
+ this.itemsMutex.release();
382
+ return stats;
383
+ }
384
+ finally {
385
+ this.mutex.release();
286
386
  }
287
- await fs_extra_1.default.move(fromLocalPath, toLocalPath, {
288
- overwrite: true
289
- });
290
- return await fs_extra_1.default.stat(toLocalPath);
291
387
  }
292
388
  /**
293
389
  * Upload a local file.
@@ -297,12 +393,13 @@ class LocalFileSystem {
297
393
  * @async
298
394
  * @param {{ relativePath: string }} param0
299
395
  * @param {string} param0.relativePath
300
- * @returns {Promise<void>}
396
+ * @returns {Promise<CloudItem>}
301
397
  */
302
398
  async upload({ relativePath }) {
303
399
  var _a;
304
400
  const localPath = path_1.default.join(this.sync.syncPair.localPath, relativePath);
305
401
  const signalKey = `upload:${relativePath}`;
402
+ const stats = await fs_extra_1.default.stat(localPath);
306
403
  if (!this.sync.pauseSignals[signalKey]) {
307
404
  this.sync.pauseSignals[signalKey] = new sdk_1.PauseSignal();
308
405
  }
@@ -316,7 +413,8 @@ class LocalFileSystem {
316
413
  of: "upload",
317
414
  type: "queued",
318
415
  relativePath,
319
- localPath
416
+ localPath,
417
+ size: parseInt(stats.size) // Sometimes comes as a float, but we need an int
320
418
  }
321
419
  });
322
420
  try {
@@ -347,7 +445,8 @@ class LocalFileSystem {
347
445
  type: "error",
348
446
  relativePath,
349
447
  localPath,
350
- error: (0, utils_1.serializeError)(err)
448
+ error: (0, utils_1.serializeError)(err),
449
+ size: parseInt(stats.size) // Sometimes comes as a float, but we need an int
351
450
  }
352
451
  });
353
452
  },
@@ -360,7 +459,8 @@ class LocalFileSystem {
360
459
  type: "progress",
361
460
  relativePath,
362
461
  localPath,
363
- bytes
462
+ bytes,
463
+ size: parseInt(stats.size) // Sometimes comes as a float, but we need an int
364
464
  }
365
465
  });
366
466
  },
@@ -372,7 +472,8 @@ class LocalFileSystem {
372
472
  of: "upload",
373
473
  type: "started",
374
474
  relativePath,
375
- localPath
475
+ localPath,
476
+ size: parseInt(stats.size) // Sometimes comes as a float, but we need an int
376
477
  }
377
478
  });
378
479
  }
@@ -388,7 +489,8 @@ class LocalFileSystem {
388
489
  of: "upload",
389
490
  type: "finished",
390
491
  relativePath,
391
- localPath
492
+ localPath,
493
+ size: parseInt(stats.size) // Sometimes comes as a float, but we need an int
392
494
  }
393
495
  });
394
496
  return item;
@@ -404,7 +506,8 @@ class LocalFileSystem {
404
506
  type: "error",
405
507
  relativePath,
406
508
  localPath,
407
- error: (0, utils_1.serializeError)(e)
509
+ error: (0, utils_1.serializeError)(e),
510
+ size: parseInt(stats.size) // Sometimes comes as a float, but we need an int
408
511
  }
409
512
  });
410
513
  }
@@ -415,6 +518,32 @@ class LocalFileSystem {
415
518
  delete this.sync.abortControllers[signalKey];
416
519
  }
417
520
  }
521
+ async isPathWritable(path) {
522
+ try {
523
+ await fs_extra_1.default.access(path, fs_extra_1.default.constants.W_OK | fs_extra_1.default.constants.R_OK);
524
+ return true;
525
+ }
526
+ catch (_a) {
527
+ return false;
528
+ }
529
+ }
530
+ async isPathReadable(path) {
531
+ try {
532
+ await fs_extra_1.default.access(path, fs_extra_1.default.constants.R_OK);
533
+ return true;
534
+ }
535
+ catch (_a) {
536
+ return false;
537
+ }
538
+ }
539
+ async pathExists(path) {
540
+ try {
541
+ return await fs_extra_1.default.exists(path);
542
+ }
543
+ catch (_a) {
544
+ return false;
545
+ }
546
+ }
418
547
  }
419
548
  exports.LocalFileSystem = LocalFileSystem;
420
549
  exports.default = LocalFileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/lib/filesystems/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/lib/filesystems/local.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export type RemoteTree = {
15
15
  export type RemoteTreeIgnored = {
16
16
  localPath: string;
17
17
  relativePath: string;
18
- reason: "dotFile" | "invalidPath" | "remoteIgnore" | "pathLength" | "nameLength" | "defaultIgnore";
18
+ reason: "dotFile" | "invalidPath" | "remoteIgnore" | "pathLength" | "nameLength" | "defaultIgnore" | "empty";
19
19
  };
20
20
  export declare class RemoteFileSystem {
21
21
  private readonly sync;
@@ -109,5 +109,8 @@ export declare class RemoteFileSystem {
109
109
  download({ relativePath }: {
110
110
  relativePath: string;
111
111
  }): Promise<fs.Stats>;
112
+ remoteDirPathExisting(): Promise<boolean>;
113
+ directoryExists(relativePath: string): Promise<boolean>;
114
+ fileExists(relativePath: string): Promise<boolean>;
112
115
  }
113
116
  export default RemoteFileSystem;