@filen/sync 0.1.1 → 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.
Files changed (48) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +1 -1
  3. package/SECURITY.md +17 -17
  4. package/dist/constants.d.ts +7 -0
  5. package/dist/constants.js +51 -1
  6. package/dist/constants.js.map +1 -1
  7. package/dist/ignorer.d.ts +14 -0
  8. package/dist/ignorer.js +69 -0
  9. package/dist/ignorer.js.map +1 -0
  10. package/dist/index.d.ts +31 -17
  11. package/dist/index.js +125 -24
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/deltas.d.ts +9 -31
  14. package/dist/lib/deltas.js +194 -99
  15. package/dist/lib/deltas.js.map +1 -1
  16. package/dist/lib/filesystems/local.d.ts +32 -43
  17. package/dist/lib/filesystems/local.js +383 -106
  18. package/dist/lib/filesystems/local.js.map +1 -1
  19. package/dist/lib/filesystems/remote.d.ts +21 -7
  20. package/dist/lib/filesystems/remote.js +531 -67
  21. package/dist/lib/filesystems/remote.js.map +1 -1
  22. package/dist/lib/ipc.d.ts +9 -0
  23. package/dist/lib/ipc.js +60 -0
  24. package/dist/lib/ipc.js.map +1 -0
  25. package/dist/lib/lock.d.ts +13 -0
  26. package/dist/lib/lock.js +73 -0
  27. package/dist/lib/lock.js.map +1 -0
  28. package/dist/lib/logger.d.ts +14 -0
  29. package/dist/lib/logger.js +93 -0
  30. package/dist/lib/logger.js.map +1 -0
  31. package/dist/lib/state.d.ts +4 -15
  32. package/dist/lib/state.js +106 -87
  33. package/dist/lib/state.js.map +1 -1
  34. package/dist/lib/sync.d.ts +30 -10
  35. package/dist/lib/sync.js +363 -36
  36. package/dist/lib/sync.js.map +1 -1
  37. package/dist/lib/tasks.d.ts +27 -40
  38. package/dist/lib/tasks.js +397 -48
  39. package/dist/lib/tasks.js.map +1 -1
  40. package/dist/types.d.ts +340 -0
  41. package/dist/utils.d.ts +42 -0
  42. package/dist/utils.js +164 -1
  43. package/dist/utils.js.map +1 -1
  44. package/index.d.ts +6 -295
  45. package/jest.config.js +5 -0
  46. package/package.json +62 -58
  47. package/tests/utils.test.ts +33 -0
  48. package/tsconfig.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/lib/filesystems/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/lib/filesystems/remote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type SyncMessage } from "../types";
2
+ export declare function throttlePostMessageToMain(message: SyncMessage, callback: (message: SyncMessage) => void): void;
3
+ /**
4
+ * Send a message to the main thread if we are running inside a worker thread, otherwise send it to the process interface.
5
+ *
6
+ * @export
7
+ * @param {SyncMessage} message
8
+ */
9
+ export declare function postMessageToMain(message: SyncMessage): void;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postMessageToMain = exports.throttlePostMessageToMain = void 0;
4
+ const worker_threads_1 = require("worker_threads");
5
+ const postMessageToMainProgressThrottle = {};
6
+ // We have to throttle the "progress" events of the "download"/"upload" message type. The SDK sends too many events for the IPC to handle properly.
7
+ // It freezes the main process if we don't throttle it.
8
+ function throttlePostMessageToMain(message, callback) {
9
+ const now = Date.now();
10
+ let key = "";
11
+ if (message.type === "transfer" && message.data.type === "progress") {
12
+ key = `${message.type}:${message.data.relativePath}:${message.data.localPath}:${message.data.type}`;
13
+ if (!postMessageToMainProgressThrottle[key]) {
14
+ postMessageToMainProgressThrottle[key] = {
15
+ next: 0,
16
+ storedBytes: 0
17
+ };
18
+ }
19
+ postMessageToMainProgressThrottle[key].storedBytes += message.data.bytes;
20
+ if (postMessageToMainProgressThrottle[key].next > now) {
21
+ return;
22
+ }
23
+ message = Object.assign(Object.assign({}, message), { data: Object.assign(Object.assign({}, message.data), { bytes: postMessageToMainProgressThrottle[key].storedBytes }) });
24
+ }
25
+ callback(message);
26
+ if (key.length > 0 && postMessageToMainProgressThrottle[key] && message.type === "transfer") {
27
+ postMessageToMainProgressThrottle[key].storedBytes = 0;
28
+ postMessageToMainProgressThrottle[key].next = now + 100;
29
+ if (message.data.type === "error" ||
30
+ message.data.type === "queued" ||
31
+ // TODO: Stopped event (message.data.type === "stopped")
32
+ message.data.type === "finished") {
33
+ delete postMessageToMainProgressThrottle[key];
34
+ }
35
+ }
36
+ }
37
+ exports.throttlePostMessageToMain = throttlePostMessageToMain;
38
+ /**
39
+ * Send a message to the main thread if we are running inside a worker thread, otherwise send it to the process interface.
40
+ *
41
+ * @export
42
+ * @param {SyncMessage} message
43
+ */
44
+ function postMessageToMain(message) {
45
+ throttlePostMessageToMain(message, throttledMessage => {
46
+ if (process.onMessage) {
47
+ process.onMessage(message);
48
+ return;
49
+ }
50
+ if (worker_threads_1.isMainThread || !worker_threads_1.parentPort) {
51
+ if (process.send) {
52
+ process.send(throttledMessage);
53
+ }
54
+ return;
55
+ }
56
+ worker_threads_1.parentPort.postMessage(throttledMessage);
57
+ });
58
+ }
59
+ exports.postMessageToMain = postMessageToMain;
60
+ //# sourceMappingURL=ipc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/lib/ipc.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AAGzD,MAAM,iCAAiC,GAMnC,EAAE,CAAA;AAEN,mJAAmJ;AACnJ,uDAAuD;AACvD,SAAgB,yBAAyB,CAAC,OAAoB,EAAE,QAAwC;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrE,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAEnG,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,iCAAiC,CAAC,GAAG,CAAC,GAAG;gBACxC,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,CAAC;aACd,CAAA;QACF,CAAC;QAED,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;QAEzE,IAAI,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACxD,OAAM;QACP,CAAC;QAED,OAAO,mCACH,OAAO,KACV,IAAI,kCACA,OAAO,CAAC,IAAI,KACf,KAAK,EAAE,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,MAE3D,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7F,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,GAAG,CAAC,CAAA;QACvD,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;QAExD,IACC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC9B,wDAAwD;YACxD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAC/B,CAAC;YACF,OAAO,iCAAiC,CAAC,GAAG,CAAC,CAAA;QAC9C,CAAC;IACF,CAAC;AACF,CAAC;AA5CD,8DA4CC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAoB;IACrD,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE;QACrD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAE1B,OAAM;QACP,CAAC;QAED,IAAI,6BAAY,IAAI,CAAC,2BAAU,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/B,CAAC;YAED,OAAM;QACP,CAAC;QAED,2BAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACH,CAAC;AAlBD,8CAkBC"}
@@ -0,0 +1,13 @@
1
+ import type Sync from "./sync";
2
+ export declare class Lock {
3
+ private readonly sync;
4
+ private readonly resource;
5
+ private readonly lockUUID;
6
+ private lockAcquired;
7
+ private readonly mutex;
8
+ private lockRefreshInterval;
9
+ constructor(sync: Sync);
10
+ acquire(): Promise<void>;
11
+ release(): Promise<void>;
12
+ }
13
+ export default Lock;
@@ -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"}
@@ -0,0 +1,14 @@
1
+ export declare class Logger {
2
+ private readonly path;
3
+ private readonly debugStream;
4
+ private readonly infoStream;
5
+ private readonly errorStream;
6
+ private readonly warnStream;
7
+ private readonly infoMutex;
8
+ private readonly debugMutex;
9
+ private readonly errorMutex;
10
+ private readonly warnMutex;
11
+ constructor(dbPath: string);
12
+ log(level: "info" | "debug" | "warn" | "error", object: unknown, where?: string): void;
13
+ }
14
+ export default Logger;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Logger = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const rotating_file_stream_1 = require("rotating-file-stream");
9
+ const semaphore_1 = require("../semaphore");
10
+ class Logger {
11
+ constructor(dbPath) {
12
+ this.infoMutex = new semaphore_1.Semaphore(1);
13
+ this.debugMutex = new semaphore_1.Semaphore(1);
14
+ this.errorMutex = new semaphore_1.Semaphore(1);
15
+ this.warnMutex = new semaphore_1.Semaphore(1);
16
+ this.path = path_1.default.join(dbPath, "logs");
17
+ this.debugStream = (0, rotating_file_stream_1.createStream)("debug.log", {
18
+ size: "10M",
19
+ interval: "5m",
20
+ compress: "gzip",
21
+ maxFiles: 3,
22
+ encoding: "utf-8",
23
+ path: this.path
24
+ });
25
+ this.infoStream = (0, rotating_file_stream_1.createStream)("info.log", {
26
+ size: "10M",
27
+ interval: "5m",
28
+ compress: "gzip",
29
+ maxFiles: 3,
30
+ encoding: "utf-8",
31
+ path: this.path
32
+ });
33
+ this.warnStream = (0, rotating_file_stream_1.createStream)("warn.log", {
34
+ size: "10M",
35
+ interval: "5m",
36
+ compress: "gzip",
37
+ maxFiles: 3,
38
+ encoding: "utf-8",
39
+ path: this.path
40
+ });
41
+ this.errorStream = (0, rotating_file_stream_1.createStream)("error.log", {
42
+ size: "10M",
43
+ interval: "5m",
44
+ compress: "gzip",
45
+ maxFiles: 3,
46
+ encoding: "utf-8",
47
+ path: this.path
48
+ });
49
+ }
50
+ log(level, object, where) {
51
+ // eslint-disable-next-line no-extra-semi
52
+ ;
53
+ (async () => {
54
+ const mutex = level === "info"
55
+ ? this.infoMutex
56
+ : level === "debug"
57
+ ? this.debugMutex
58
+ : level === "warn"
59
+ ? this.warnMutex
60
+ : this.errorMutex;
61
+ await mutex.acquire();
62
+ try {
63
+ const stream = level === "info"
64
+ ? this.infoStream
65
+ : level === "debug"
66
+ ? this.debugStream
67
+ : level === "warn"
68
+ ? this.warnStream
69
+ : this.errorStream;
70
+ if (!stream.writable ||
71
+ stream.destroyed ||
72
+ stream.errored ||
73
+ stream.closed ||
74
+ stream.writableEnded ||
75
+ stream.writableFinished) {
76
+ return;
77
+ }
78
+ const log = `[${level}] [${new Date()}] ${where ? `[${where}] ` : ""}${JSON.stringify(object)}`;
79
+ await new Promise(resolve => {
80
+ stream.write(`${log}\n`, () => {
81
+ resolve();
82
+ });
83
+ });
84
+ }
85
+ finally {
86
+ mutex.release();
87
+ }
88
+ })();
89
+ }
90
+ }
91
+ exports.Logger = Logger;
92
+ exports.default = Logger;
93
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type Sync from "./sync";
2
- import type { RemoteTree } from "./filesystems/remote";
3
- import type { LocalTree } from "./filesystems/local";
4
- import type { DoneTask } from "./tasks";
2
+ import { type RemoteTree } from "./filesystems/remote";
3
+ import { type LocalTree } from "./filesystems/local";
4
+ import { type DoneTask } from "./tasks";
5
5
  /**
6
6
  * State
7
7
  * @date 3/1/2024 - 11:11:32 PM
@@ -13,18 +13,7 @@ import type { DoneTask } from "./tasks";
13
13
  export declare class State {
14
14
  private readonly sync;
15
15
  private readonly statePath;
16
- /**
17
- * Creates an instance of State.
18
- * @date 3/1/2024 - 11:11:36 PM
19
- *
20
- * @constructor
21
- * @public
22
- * @param {{ sync: Sync }} param0
23
- * @param {Sync} param0.sync
24
- */
25
- constructor({ sync }: {
26
- sync: Sync;
27
- });
16
+ constructor(sync: Sync);
28
17
  applyDoneTasksToState({ doneTasks, currentLocalTree, currentRemoteTree }: {
29
18
  doneTasks: DoneTask[];
30
19
  currentLocalTree: LocalTree;