@filen/sync 0.1.101 → 0.2.1
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/dist/index.d.ts +2 -1
- package/dist/lib/filesystems/local.d.ts +5 -4
- package/dist/lib/filesystems/remote.d.ts +3 -2
- package/dist/lib/lock.d.ts +35 -2
- package/dist/lib/lock.js +84 -26
- package/dist/lib/lock.js.map +1 -1
- package/dist/lib/sync.js +4 -1
- package/dist/lib/sync.js.map +1 -1
- package/dist/semaphore.d.ts +55 -8
- package/dist/semaphore.js +93 -50
- package/dist/semaphore.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type SyncPair, type SyncMessage, type SyncMode } from "./types";
|
|
2
2
|
import Sync from "./lib/sync";
|
|
3
3
|
import FilenSDK, { type FilenSDKConfig } from "@filen/sdk";
|
|
4
|
+
import { Semaphore } from "./semaphore";
|
|
4
5
|
import Logger from "./lib/logger";
|
|
5
6
|
/**
|
|
6
7
|
* SyncWorker
|
|
@@ -14,7 +15,7 @@ export declare class SyncWorker {
|
|
|
14
15
|
readonly syncPairs: SyncPair[];
|
|
15
16
|
readonly syncs: Record<string, Sync>;
|
|
16
17
|
readonly dbPath: string;
|
|
17
|
-
readonly updateSyncPairsMutex:
|
|
18
|
+
readonly updateSyncPairsMutex: Semaphore;
|
|
18
19
|
readonly sdk: FilenSDK;
|
|
19
20
|
readonly logger: Logger;
|
|
20
21
|
readonly runOnce: boolean;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import fs from "fs-extra";
|
|
3
3
|
import type Sync from "../sync";
|
|
4
4
|
import { type CloudItem } from "@filen/sdk";
|
|
5
|
+
import { Semaphore } from "../../semaphore";
|
|
5
6
|
export type LocalItem = {
|
|
6
7
|
lastModified: number;
|
|
7
8
|
type: "file" | "directory";
|
|
@@ -51,10 +52,10 @@ export declare class LocalFileSystem {
|
|
|
51
52
|
watcherRunning: boolean;
|
|
52
53
|
private watcherInstanceParcel;
|
|
53
54
|
private watcherInstanceNode;
|
|
54
|
-
readonly itemsMutex:
|
|
55
|
-
readonly mutex:
|
|
56
|
-
readonly mkdirMutex:
|
|
57
|
-
readonly watcherMutex:
|
|
55
|
+
readonly itemsMutex: Semaphore;
|
|
56
|
+
readonly mutex: Semaphore;
|
|
57
|
+
readonly mkdirMutex: Semaphore;
|
|
58
|
+
readonly watcherMutex: Semaphore;
|
|
58
59
|
watcherInstanceFallbackInterval: ReturnType<typeof setInterval> | undefined;
|
|
59
60
|
ignoredCache: Map<string, {
|
|
60
61
|
ignored: true;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type Sync from "../sync";
|
|
3
3
|
import { type CloudItemTree, type FSItemType } from "@filen/sdk";
|
|
4
|
+
import { Semaphore } from "../../semaphore";
|
|
4
5
|
import fs from "fs-extra";
|
|
5
6
|
import { type DistributiveOmit, type Prettify } from "../../types";
|
|
6
7
|
export type RemoteItemBase = Prettify<DistributiveOmit<CloudItemTree, "parent" | "color" | "favorited" | "timestamp"> & {
|
|
@@ -36,8 +37,8 @@ export declare class RemoteFileSystem {
|
|
|
36
37
|
};
|
|
37
38
|
private readonly mutex;
|
|
38
39
|
private readonly mkdirMutex;
|
|
39
|
-
readonly itemsMutex:
|
|
40
|
-
readonly listSemaphore:
|
|
40
|
+
readonly itemsMutex: Semaphore;
|
|
41
|
+
readonly listSemaphore: Semaphore;
|
|
41
42
|
private deviceIdCache;
|
|
42
43
|
ignoredCache: Map<string, {
|
|
43
44
|
ignored: true;
|
package/dist/lib/lock.d.ts
CHANGED
|
@@ -1,13 +1,46 @@
|
|
|
1
1
|
import type Sync from "./sync";
|
|
2
|
+
/**
|
|
3
|
+
* Lock
|
|
4
|
+
*
|
|
5
|
+
* @export
|
|
6
|
+
* @class Lock
|
|
7
|
+
* @typedef {Lock}
|
|
8
|
+
*/
|
|
2
9
|
export declare class Lock {
|
|
3
10
|
private readonly sync;
|
|
4
11
|
private readonly resource;
|
|
5
12
|
private lockUUID;
|
|
6
13
|
private lockRefreshInterval;
|
|
7
|
-
private lockAcquired;
|
|
8
14
|
private mutex;
|
|
9
|
-
|
|
15
|
+
private acquiredCount;
|
|
16
|
+
/**
|
|
17
|
+
* Creates an instance of Lock.
|
|
18
|
+
*
|
|
19
|
+
* @constructor
|
|
20
|
+
* @public
|
|
21
|
+
* @param {{ sync: Sync; resource: string }} param0
|
|
22
|
+
* @param {Sync} param0.sync
|
|
23
|
+
* @param {string} param0.resource
|
|
24
|
+
*/
|
|
25
|
+
constructor({ sync, resource }: {
|
|
26
|
+
sync: Sync;
|
|
27
|
+
resource: string;
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Acquire the lock on <resource>.
|
|
31
|
+
*
|
|
32
|
+
* @public
|
|
33
|
+
* @async
|
|
34
|
+
* @returns {Promise<void>}
|
|
35
|
+
*/
|
|
10
36
|
acquire(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Release the acquired lock on <resource>.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
* @async
|
|
42
|
+
* @returns {Promise<void>}
|
|
43
|
+
*/
|
|
11
44
|
release(): Promise<void>;
|
|
12
45
|
}
|
|
13
46
|
export default Lock;
|
package/dist/lib/lock.js
CHANGED
|
@@ -1,33 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Lock = void 0;
|
|
4
7
|
const uuid_1 = require("uuid");
|
|
5
|
-
const semaphore_1 = require("../semaphore");
|
|
8
|
+
const semaphore_1 = __importDefault(require("../semaphore"));
|
|
9
|
+
/**
|
|
10
|
+
* Lock
|
|
11
|
+
*
|
|
12
|
+
* @export
|
|
13
|
+
* @class Lock
|
|
14
|
+
* @typedef {Lock}
|
|
15
|
+
*/
|
|
6
16
|
class Lock {
|
|
7
|
-
|
|
8
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Creates an instance of Lock.
|
|
19
|
+
*
|
|
20
|
+
* @constructor
|
|
21
|
+
* @public
|
|
22
|
+
* @param {{ sync: Sync; resource: string }} param0
|
|
23
|
+
* @param {Sync} param0.sync
|
|
24
|
+
* @param {string} param0.resource
|
|
25
|
+
*/
|
|
26
|
+
constructor({ sync, resource }) {
|
|
9
27
|
this.lockUUID = null;
|
|
10
28
|
this.lockRefreshInterval = undefined;
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
29
|
+
this.mutex = new semaphore_1.default(1);
|
|
30
|
+
this.acquiredCount = 0;
|
|
13
31
|
this.sync = sync;
|
|
32
|
+
this.resource = resource;
|
|
14
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Acquire the lock on <resource>.
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
38
|
+
* @async
|
|
39
|
+
* @returns {Promise<void>}
|
|
40
|
+
*/
|
|
15
41
|
async acquire() {
|
|
16
42
|
await this.mutex.acquire();
|
|
43
|
+
let didIncrement = false;
|
|
17
44
|
try {
|
|
45
|
+
this.acquiredCount++;
|
|
46
|
+
didIncrement = true;
|
|
47
|
+
if (this.acquiredCount > 1) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
18
50
|
clearInterval(this.lockRefreshInterval);
|
|
19
51
|
if (!this.lockUUID) {
|
|
20
52
|
this.lockUUID = (0, uuid_1.v4)();
|
|
21
53
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
54
|
+
try {
|
|
55
|
+
await this.sync.sdk.user().acquireResourceLock({
|
|
56
|
+
resource: this.resource,
|
|
57
|
+
lockUUID: this.lockUUID,
|
|
58
|
+
maxTries: Infinity,
|
|
59
|
+
tryTimeout: 1000
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
this.acquiredCount--;
|
|
64
|
+
didIncrement = false;
|
|
65
|
+
throw err;
|
|
66
|
+
}
|
|
29
67
|
this.lockRefreshInterval = setInterval(async () => {
|
|
30
|
-
if (
|
|
68
|
+
if (this.acquiredCount === 0 || !this.lockUUID) {
|
|
69
|
+
clearInterval(this.lockRefreshInterval);
|
|
31
70
|
return;
|
|
32
71
|
}
|
|
33
72
|
await this.mutex.acquire();
|
|
@@ -37,35 +76,54 @@ class Lock {
|
|
|
37
76
|
lockUUID: this.lockUUID
|
|
38
77
|
});
|
|
39
78
|
}
|
|
40
|
-
catch (
|
|
41
|
-
|
|
42
|
-
this.sync.worker.logger.log("error", e);
|
|
79
|
+
catch (_a) {
|
|
80
|
+
// Noop
|
|
43
81
|
}
|
|
44
82
|
finally {
|
|
45
83
|
this.mutex.release();
|
|
46
84
|
}
|
|
47
85
|
}, 5000);
|
|
48
86
|
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if (didIncrement) {
|
|
89
|
+
this.acquiredCount--;
|
|
90
|
+
}
|
|
91
|
+
throw err;
|
|
92
|
+
}
|
|
49
93
|
finally {
|
|
50
94
|
this.mutex.release();
|
|
51
95
|
}
|
|
52
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Release the acquired lock on <resource>.
|
|
99
|
+
*
|
|
100
|
+
* @public
|
|
101
|
+
* @async
|
|
102
|
+
* @returns {Promise<void>}
|
|
103
|
+
*/
|
|
53
104
|
async release() {
|
|
54
105
|
await this.mutex.acquire();
|
|
106
|
+
const previousCount = structuredClone(this.acquiredCount);
|
|
55
107
|
try {
|
|
56
|
-
if (
|
|
108
|
+
if (this.acquiredCount === 0 || !this.lockUUID) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this.acquiredCount--;
|
|
112
|
+
if (this.acquiredCount > 0) {
|
|
57
113
|
return;
|
|
58
114
|
}
|
|
59
115
|
clearInterval(this.lockRefreshInterval);
|
|
60
|
-
|
|
61
|
-
.user()
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
116
|
+
try {
|
|
117
|
+
await this.sync.sdk.user().releaseResourceLock({
|
|
118
|
+
resource: this.resource,
|
|
119
|
+
lockUUID: this.lockUUID
|
|
120
|
+
});
|
|
121
|
+
this.lockUUID = null;
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
this.acquiredCount = previousCount;
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
69
127
|
}
|
|
70
128
|
finally {
|
|
71
129
|
this.mutex.release();
|
package/dist/lib/lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lib/lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lib/lock.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sync.js
CHANGED
|
@@ -72,7 +72,10 @@ class Sync {
|
|
|
72
72
|
this.tasks = new tasks_1.default(this);
|
|
73
73
|
this.state = new state_1.default(this);
|
|
74
74
|
this.ignorer = new ignorer_1.default(this, "ignorer");
|
|
75
|
-
this.lock = new lock_1.default(
|
|
75
|
+
this.lock = new lock_1.default({
|
|
76
|
+
sync: this,
|
|
77
|
+
resource: `sync-remoteParentUUID-${this.syncPair.remoteParentUUID}`
|
|
78
|
+
});
|
|
76
79
|
this.cleanupLocalTrash();
|
|
77
80
|
}
|
|
78
81
|
async smokeTest() {
|
package/dist/lib/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/semaphore.d.ts
CHANGED
|
@@ -1,14 +1,61 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Semaphore
|
|
3
|
+
*
|
|
4
|
+
* @export
|
|
5
|
+
* @class Semaphore
|
|
6
|
+
* @typedef {Semaphore}
|
|
7
|
+
*/
|
|
8
|
+
export declare class Semaphore {
|
|
9
|
+
private counter;
|
|
10
|
+
private waiting;
|
|
11
|
+
private maxCount;
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of Semaphore.
|
|
14
|
+
*
|
|
15
|
+
* @constructor
|
|
16
|
+
* @public
|
|
17
|
+
* @param {number} [max=1]
|
|
18
|
+
*/
|
|
19
|
+
constructor(max?: number);
|
|
20
|
+
/**
|
|
21
|
+
* Acquire a lock.
|
|
22
|
+
*
|
|
23
|
+
* @public
|
|
24
|
+
* @returns {Promise<void>}
|
|
25
|
+
*/
|
|
2
26
|
acquire(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Release a lock.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
3
32
|
release(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the locks in the queue.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
* @returns {number}
|
|
38
|
+
*/
|
|
4
39
|
count(): number;
|
|
40
|
+
/**
|
|
41
|
+
* Set max number of concurrent locks.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
* @param {number} newMax
|
|
45
|
+
*/
|
|
5
46
|
setMax(newMax: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* Purge all waiting promises.
|
|
49
|
+
*
|
|
50
|
+
* @public
|
|
51
|
+
* @returns {number}
|
|
52
|
+
*/
|
|
6
53
|
purge(): number;
|
|
54
|
+
/**
|
|
55
|
+
* Internal process queue.
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
private processQueue;
|
|
7
60
|
}
|
|
8
|
-
|
|
9
|
-
* Basic Semaphore implementation.
|
|
10
|
-
* @date 2/15/2024 - 4:52:51 AM
|
|
11
|
-
*
|
|
12
|
-
* @type {new (max: number) => ISemaphore}
|
|
13
|
-
*/
|
|
14
|
-
export declare const Semaphore: new (max: number) => ISemaphore;
|
|
61
|
+
export default Semaphore;
|
package/dist/semaphore.js
CHANGED
|
@@ -2,63 +2,106 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Semaphore = void 0;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* @date 2/15/2024 - 4:52:51 AM
|
|
5
|
+
* Semaphore
|
|
7
6
|
*
|
|
8
|
-
* @
|
|
7
|
+
* @export
|
|
8
|
+
* @class Semaphore
|
|
9
|
+
* @typedef {Semaphore}
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
11
|
+
class Semaphore {
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of Semaphore.
|
|
14
|
+
*
|
|
15
|
+
* @constructor
|
|
16
|
+
* @public
|
|
17
|
+
* @param {number} [max=1]
|
|
18
|
+
*/
|
|
19
|
+
constructor(max = 1) {
|
|
20
|
+
this.counter = 0;
|
|
21
|
+
this.waiting = [];
|
|
22
|
+
this.maxCount = max;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Acquire a lock.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
* @returns {Promise<void>}
|
|
29
|
+
*/
|
|
30
|
+
acquire() {
|
|
31
|
+
if (this.counter < this.maxCount) {
|
|
32
|
+
this.counter++;
|
|
33
|
+
return Promise.resolve();
|
|
30
34
|
}
|
|
31
35
|
else {
|
|
32
|
-
return new Promise((resolve,
|
|
33
|
-
waiting.push({
|
|
34
|
-
resolve
|
|
35
|
-
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
this.waiting.push({
|
|
38
|
+
resolve,
|
|
39
|
+
reject
|
|
36
40
|
});
|
|
37
41
|
});
|
|
38
42
|
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
maxCount = newMax;
|
|
49
|
-
};
|
|
50
|
-
this.purge = function () {
|
|
51
|
-
const unresolved = waiting.length;
|
|
52
|
-
for (let i = 0; i < unresolved; i++) {
|
|
53
|
-
const w = waiting[i];
|
|
54
|
-
if (!w) {
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
w.err("Task has been purged");
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Release a lock.
|
|
46
|
+
*
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
release() {
|
|
50
|
+
if (this.counter <= 0) {
|
|
51
|
+
return;
|
|
58
52
|
}
|
|
59
|
-
counter
|
|
60
|
-
|
|
53
|
+
this.counter--;
|
|
54
|
+
this.processQueue();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Returns the locks in the queue.
|
|
58
|
+
*
|
|
59
|
+
* @public
|
|
60
|
+
* @returns {number}
|
|
61
|
+
*/
|
|
62
|
+
count() {
|
|
63
|
+
return this.counter;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Set max number of concurrent locks.
|
|
67
|
+
*
|
|
68
|
+
* @public
|
|
69
|
+
* @param {number} newMax
|
|
70
|
+
*/
|
|
71
|
+
setMax(newMax) {
|
|
72
|
+
this.maxCount = newMax;
|
|
73
|
+
this.processQueue();
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Purge all waiting promises.
|
|
77
|
+
*
|
|
78
|
+
* @public
|
|
79
|
+
* @returns {number}
|
|
80
|
+
*/
|
|
81
|
+
purge() {
|
|
82
|
+
const unresolved = this.waiting.length;
|
|
83
|
+
for (const waiter of this.waiting) {
|
|
84
|
+
waiter.reject("Task has been purged");
|
|
85
|
+
}
|
|
86
|
+
this.counter = 0;
|
|
87
|
+
this.waiting = [];
|
|
61
88
|
return unresolved;
|
|
62
|
-
}
|
|
63
|
-
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Internal process queue.
|
|
92
|
+
*
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
processQueue() {
|
|
96
|
+
if (this.waiting.length > 0 && this.counter < this.maxCount) {
|
|
97
|
+
this.counter++;
|
|
98
|
+
const waiter = this.waiting.shift();
|
|
99
|
+
if (waiter) {
|
|
100
|
+
waiter.resolve();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.Semaphore = Semaphore;
|
|
106
|
+
exports.default = Semaphore;
|
|
64
107
|
//# sourceMappingURL=semaphore.js.map
|
package/dist/semaphore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semaphore.js","sourceRoot":"","sources":["../src/semaphore.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"semaphore.js","sourceRoot":"","sources":["../src/semaphore.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,MAAa,SAAS;IAQrB;;;;;;OAMG;IACH,YAAmB,MAAc,CAAC;QAd1B,YAAO,GAAW,CAAC,CAAA;QACnB,YAAO,GAGV,EAAE,CAAA;QAWN,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACI,OAAO;QACb,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,CAAA;YAEd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACjB,OAAO;oBACP,MAAM;iBACN,CAAC,CAAA;YACH,CAAC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,OAAO;QACb,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACvB,OAAM;QACP,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAA;QAEd,IAAI,CAAC,YAAY,EAAE,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACI,KAAK;QACX,OAAO,IAAI,CAAC,OAAO,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAAc;QAC3B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;QAEtB,IAAI,CAAC,YAAY,EAAE,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACI,KAAK;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAEtC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QAEjB,OAAO,UAAU,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACK,YAAY;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAA;YAEd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;YAEnC,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAhHD,8BAgHC;AAED,kBAAe,SAAS,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@filen/sync",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Filen Sync",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"wait-on": "^7.2.0"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@filen/sdk": "^0.
|
|
57
|
+
"@filen/sdk": "^0.3.7",
|
|
58
58
|
"@parcel/watcher": "^2.5.1",
|
|
59
59
|
"fast-glob": "^3.3.3",
|
|
60
60
|
"fs-extra": "^11.3.0",
|