@filen/sync 0.1.3 → 0.1.5

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.
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lock = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const semaphore_1 = require("../semaphore");
6
+ class Lock {
7
+ constructor(sync) {
8
+ this.resource = "filen-sync";
9
+ this.lockUUID = (0, uuid_1.v4)();
10
+ this.lockAcquired = false;
11
+ this.mutex = new semaphore_1.Semaphore(1);
12
+ this.lockRefreshInterval = undefined;
13
+ this.sync = sync;
14
+ }
15
+ async acquire() {
16
+ await this.mutex.acquire();
17
+ clearInterval(this.lockRefreshInterval);
18
+ try {
19
+ await this.sync.sdk.user().acquireResourceLock({
20
+ resource: this.resource,
21
+ lockUUID: this.lockUUID,
22
+ maxTries: Infinity,
23
+ tryTimeout: 1000
24
+ });
25
+ this.lockRefreshInterval = setInterval(async () => {
26
+ await this.mutex.acquire();
27
+ try {
28
+ if (!this.lockAcquired) {
29
+ return;
30
+ }
31
+ await this.sync.sdk.user().refreshResourceLock({
32
+ resource: this.resource,
33
+ lockUUID: this.lockUUID
34
+ });
35
+ this.lockAcquired = true;
36
+ }
37
+ catch (_a) {
38
+ await this.release().catch(() => { });
39
+ }
40
+ finally {
41
+ this.mutex.release();
42
+ }
43
+ }, 5000);
44
+ this.lockAcquired = true;
45
+ }
46
+ finally {
47
+ this.mutex.release();
48
+ }
49
+ }
50
+ async release() {
51
+ await this.mutex.acquire();
52
+ clearInterval(this.lockRefreshInterval);
53
+ try {
54
+ if (!this.lockAcquired) {
55
+ return;
56
+ }
57
+ await this.sync.sdk.user().releaseResourceLock({
58
+ resource: this.resource,
59
+ lockUUID: this.lockUUID
60
+ });
61
+ this.lockAcquired = false;
62
+ }
63
+ catch (_a) {
64
+ this.lockAcquired = false;
65
+ }
66
+ finally {
67
+ this.mutex.release();
68
+ }
69
+ }
70
+ }
71
+ exports.Lock = Lock;
72
+ exports.default = Lock;
73
+ //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lib/lock.ts"],"names":[],"mappings":";;;AACA,+BAAmC;AACnC,4CAAwC;AAExC,MAAa,IAAI;IAQhB,YAAmB,IAAU;QANZ,aAAQ,GAAG,YAAY,CAAA;QACvB,aAAQ,GAAG,IAAA,SAAM,GAAE,CAAA;QAC5B,iBAAY,GAAG,KAAK,CAAA;QACX,UAAK,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAA;QACjC,wBAAmB,GAA+C,SAAS,CAAA;QAGlF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAE1B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAEvC,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,IAAI;aAChB,CAAC,CAAA;YAEF,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACjD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;gBAE1B,IAAI,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBACxB,OAAM;oBACP,CAAC;oBAED,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC;wBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACvB,CAAC,CAAA;oBAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;gBACzB,CAAC;gBAAC,WAAM,CAAC;oBACR,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBACrC,CAAC;wBAAS,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;gBACrB,CAAC;YACF,CAAC,EAAE,IAAI,CAAC,CAAA;YAER,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACzB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAE1B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAEvC,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxB,OAAM;YACP,CAAC;YAED,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAA;YAEF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAC1B,CAAC;QAAC,WAAM,CAAC;YACR,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC;IACF,CAAC;CACD;AA1ED,oBA0EC;AAED,kBAAe,IAAI,CAAA"}
package/dist/lib/state.js CHANGED
@@ -7,6 +7,7 @@ exports.State = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
9
9
  const v8_1 = require("v8");
10
+ const utils_1 = require("../utils");
10
11
  const STATE_VERSION = 1;
11
12
  /**
12
13
  * State
@@ -27,64 +28,75 @@ class State {
27
28
  const tasks = doneTasks.sort((a, b) => b.path.split("/").length - a.path.split("/").length);
28
29
  for (const task of tasks) {
29
30
  switch (task.type) {
30
- case "renameRemoteDirectory":
31
- case "renameRemoteFile": {
32
- for (const oldPath in currentRemoteTree.tree) {
33
- if (oldPath.startsWith(task.from + "/") || oldPath === task.from) {
34
- const newPath = oldPath.split(task.from).join(task.to);
35
- const oldItem = currentRemoteTree.tree[oldPath];
36
- if (oldItem) {
37
- const item = Object.assign(Object.assign({}, oldItem), { path: newPath, name: path_1.default.posix.basename(newPath) });
38
- currentRemoteTree.tree[newPath] = item;
39
- delete currentRemoteTree.tree[oldPath];
40
- }
41
- }
42
- }
43
- for (const uuid in currentRemoteTree.uuids) {
44
- const currentItem = currentRemoteTree.uuids[uuid];
45
- if (!currentItem) {
46
- continue;
47
- }
48
- const oldPath = currentItem.path;
49
- if (oldPath.startsWith(task.from + "/") || oldPath === task.from) {
50
- const newPath = oldPath.split(task.from).join(task.to);
51
- const item = Object.assign(Object.assign({}, currentItem), { path: newPath, name: path_1.default.posix.basename(newPath) });
52
- currentRemoteTree.uuids[uuid] = item;
53
- }
54
- }
55
- break;
56
- }
57
31
  case "renameLocalDirectory":
58
32
  case "renameLocalFile": {
33
+ if (this.sync.localFileHashes[task.from]) {
34
+ this.sync.localFileHashes[task.to] = this.sync.localFileHashes[task.from];
35
+ }
36
+ delete this.sync.localFileHashes[task.from];
37
+ const oldItem = currentLocalTree.tree[task.from];
38
+ if (oldItem) {
39
+ currentLocalTree.tree[task.to] = Object.assign(Object.assign({}, oldItem), { path: task.to });
40
+ currentLocalTree.inodes[oldItem.inode] = Object.assign(Object.assign({}, oldItem), { path: task.to });
41
+ }
42
+ delete currentLocalTree.tree[task.from];
59
43
  for (const oldPath in currentLocalTree.tree) {
60
- if (oldPath.startsWith(task.from + "/") || oldPath === task.from) {
61
- const newPath = oldPath.split(task.from).join(task.to);
44
+ if (oldPath.startsWith(task.from + "/") && oldPath !== task.from) {
45
+ const newPath = (0, utils_1.replacePathStartWithFromAndTo)(oldPath, task.from, task.to);
62
46
  const oldItem = currentLocalTree.tree[oldPath];
63
47
  if (oldItem) {
64
48
  const item = Object.assign(Object.assign({}, oldItem), { path: newPath });
65
49
  currentLocalTree.tree[newPath] = item;
66
50
  delete currentLocalTree.tree[oldPath];
51
+ const oldItemINode = currentLocalTree.inodes[oldItem.inode];
52
+ if (oldItemINode) {
53
+ currentLocalTree.inodes[oldItem.inode] = Object.assign(Object.assign({}, oldItemINode), { path: newPath });
54
+ }
55
+ }
56
+ const oldItemHash = this.sync.localFileHashes[oldPath];
57
+ if (oldItemHash) {
58
+ this.sync.localFileHashes[newPath] = oldItemHash;
59
+ delete this.sync.localFileHashes[oldPath];
67
60
  }
68
61
  }
69
62
  }
70
- for (const inode in currentLocalTree.inodes) {
71
- const currentItem = currentLocalTree.inodes[inode];
72
- if (!currentItem) {
73
- continue;
74
- }
75
- const oldPath = currentItem.path;
76
- if (oldPath.startsWith(task.from + "/") || oldPath === task.from) {
77
- const newPath = oldPath.split(task.from).join(task.to);
78
- const item = Object.assign(Object.assign({}, currentItem), { path: newPath });
79
- currentLocalTree.inodes[inode] = item;
63
+ break;
64
+ }
65
+ case "renameRemoteDirectory":
66
+ case "renameRemoteFile": {
67
+ const oldItem = currentRemoteTree.tree[task.from];
68
+ if (oldItem) {
69
+ const newItem = Object.assign(Object.assign({}, oldItem), { path: task.to, name: path_1.default.posix.basename(task.to) });
70
+ currentRemoteTree.tree[task.to] = newItem;
71
+ currentRemoteTree.uuids[oldItem.uuid] = newItem;
72
+ }
73
+ delete currentRemoteTree.tree[task.from];
74
+ for (const oldPath in currentRemoteTree.tree) {
75
+ if (oldPath.startsWith(task.from + "/") && oldPath !== task.from) {
76
+ const newPath = (0, utils_1.replacePathStartWithFromAndTo)(oldPath, task.from, task.to);
77
+ const oldItem = currentRemoteTree.tree[oldPath];
78
+ if (oldItem) {
79
+ const newItem = Object.assign(Object.assign({}, oldItem), { path: newPath, name: path_1.default.posix.basename(newPath) });
80
+ currentRemoteTree.tree[newPath] = newItem;
81
+ delete currentRemoteTree.tree[oldPath];
82
+ const oldItemUUID = currentRemoteTree.uuids[oldItem.uuid];
83
+ if (oldItemUUID) {
84
+ currentRemoteTree.uuids[oldItemUUID.uuid] = Object.assign(Object.assign({}, oldItemUUID), { path: newPath, name: path_1.default.posix.basename(newPath) });
85
+ }
86
+ }
80
87
  }
81
88
  }
82
89
  break;
83
90
  }
84
91
  case "deleteLocalDirectory":
85
- case "deleteLocalFile":
86
- case "deleteRemoteDirectory":
87
- case "deleteRemoteFile": {
92
+ case "deleteLocalFile": {
93
+ delete this.sync.localFileHashes[task.path];
94
+ delete currentLocalTree.tree[task.path];
95
+ for (const path in this.sync.localFileHashes) {
96
+ if (path.startsWith(task.path + "/") || path === task.path) {
97
+ delete this.sync.localFileHashes[path];
98
+ }
99
+ }
88
100
  for (const path in currentLocalTree.tree) {
89
101
  if (path.startsWith(task.path + "/") || path === task.path) {
90
102
  delete currentLocalTree.tree[path];
@@ -100,6 +112,11 @@ class State {
100
112
  delete currentLocalTree.inodes[inode];
101
113
  }
102
114
  }
115
+ break;
116
+ }
117
+ case "deleteRemoteDirectory":
118
+ case "deleteRemoteFile": {
119
+ delete currentRemoteTree.tree[task.path];
103
120
  for (const path in currentRemoteTree.tree) {
104
121
  if (path.startsWith(task.path + "/") || path === task.path) {
105
122
  delete currentRemoteTree.tree[path];
@@ -115,38 +132,51 @@ class State {
115
132
  delete currentRemoteTree.uuids[uuid];
116
133
  }
117
134
  }
118
- delete this.sync.localFileHashes[task.path];
119
135
  break;
120
136
  }
121
137
  case "createRemoteDirectory": {
122
- const item = {
123
- name: path_1.default.posix.basename(task.path),
138
+ const localItem = {
139
+ lastModified: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
124
140
  type: "directory",
125
- uuid: task.uuid,
141
+ path: task.path,
126
142
  size: 0,
127
- path: task.path
143
+ creation: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
144
+ inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
128
145
  };
129
- currentRemoteTree.tree[task.path] = item;
130
- currentRemoteTree.uuids[item.uuid] = item;
146
+ currentRemoteTree.tree[task.item.path] = task.item;
147
+ currentRemoteTree.uuids[task.item.uuid] = task.item;
148
+ currentLocalTree.tree[task.path] = localItem;
149
+ currentLocalTree.inodes[localItem.inode] = localItem;
131
150
  break;
132
151
  }
133
152
  case "uploadFile": {
134
- const item = Object.assign(Object.assign({}, task.item), { path: task.path });
135
- currentRemoteTree.tree[task.path] = item;
136
- currentRemoteTree.uuids[item.uuid] = item;
153
+ const localItem = {
154
+ lastModified: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
155
+ type: "file",
156
+ path: task.path,
157
+ size: parseInt(task.stats.size), // Sometimes comes as a float, but we need an int
158
+ creation: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
159
+ inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
160
+ };
161
+ currentRemoteTree.tree[task.item.path] = task.item;
162
+ currentRemoteTree.uuids[task.item.uuid] = task.item;
163
+ currentLocalTree.tree[task.path] = localItem;
164
+ currentLocalTree.inodes[localItem.inode] = localItem;
137
165
  break;
138
166
  }
139
167
  case "createLocalDirectory": {
140
- const item = {
168
+ const localItem = {
141
169
  lastModified: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
142
170
  type: "directory",
143
171
  path: task.path,
144
172
  creation: parseInt(task.stats.birthtimeMs), // Sometimes comes as a float, but we need an int
145
- size: task.stats.size,
146
- inode: task.stats.ino
173
+ size: parseInt(task.stats.size), // Sometimes comes as a float, but we need an int
174
+ inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
147
175
  };
148
- currentLocalTree.tree[task.path] = item;
149
- currentLocalTree.inodes[item.inode] = item;
176
+ currentLocalTree.tree[task.path] = localItem;
177
+ currentLocalTree.inodes[localItem.inode] = localItem;
178
+ currentRemoteTree.tree[task.item.path] = task.item;
179
+ currentRemoteTree.uuids[task.item.uuid] = task.item;
150
180
  break;
151
181
  }
152
182
  case "downloadFile": {
@@ -155,11 +185,13 @@ class State {
155
185
  type: "file",
156
186
  path: task.path,
157
187
  creation: parseInt(task.stats.birthtimeMs), // Sometimes comes as a float, but we need an int
158
- size: task.stats.size,
159
- inode: task.stats.ino
188
+ size: parseInt(task.stats.size), // Sometimes comes as a float, but we need an int
189
+ inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
160
190
  };
161
191
  currentLocalTree.tree[task.path] = item;
162
192
  currentLocalTree.inodes[item.inode] = item;
193
+ currentRemoteTree.tree[task.item.path] = task.item;
194
+ currentRemoteTree.uuids[task.item.uuid] = task.item;
163
195
  break;
164
196
  }
165
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ import { type SyncPair, type SyncMode } from "../types";
3
3
  import { LocalFileSystem, LocalTree } from "./filesystems/local";
4
4
  import { RemoteFileSystem, RemoteTree } from "./filesystems/remote";
5
5
  import Deltas from "./deltas";
6
- import Tasks from "./tasks";
6
+ import Tasks, { type TaskError } from "./tasks";
7
7
  import State from "./state";
8
8
  import Ignorer from "../ignorer";
9
9
  import type SyncWorker from "..";
10
+ import Lock from "./lock";
10
11
  /**
11
12
  * Sync
12
13
  *
@@ -35,6 +36,10 @@ export declare class Sync {
35
36
  mode: SyncMode;
36
37
  excludeDotFiles: boolean;
37
38
  readonly worker: SyncWorker;
39
+ removed: boolean;
40
+ saveStateOnNoChanges: boolean;
41
+ readonly lock: Lock;
42
+ taskErrors: TaskError[];
38
43
  /**
39
44
  * Creates an instance of Sync.
40
45
  *
@@ -54,7 +59,9 @@ export declare class Sync {
54
59
  * @private
55
60
  */
56
61
  private setupMainThreadListeners;
62
+ smokeTest(): Promise<void>;
57
63
  initialize(): Promise<void>;
64
+ cleanup(): Promise<void>;
58
65
  private run;
59
66
  }
60
67
  export default Sync;