@datatruck/cli 0.40.0 → 0.40.2
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/lib/actions/BackupAction.js +19 -12
- package/lib/actions/CopyAction.js +20 -12
- package/lib/actions/ExportAction.js +12 -5
- package/lib/actions/RestoreAction.js +12 -5
- package/lib/cli.js +2 -3
- package/lib/repositories/ResticRepository.d.ts +2 -2
- package/lib/tasks/MysqlDumpTask.js +12 -5
- package/lib/tasks/ScriptTask.js +2 -2
- package/lib/utils/async-process.d.ts +0 -5
- package/lib/utils/async.d.ts +0 -1
- package/lib/utils/async.js +1 -2
- package/lib/utils/bytes.js +2 -3
- package/lib/utils/cli.d.ts +0 -1
- package/lib/utils/cli.js +12 -12
- package/lib/utils/cron.js +1 -2
- package/lib/utils/crypto.js +2 -3
- package/lib/utils/datatruck/client.d.ts +1 -2
- package/lib/utils/datatruck/client.js +3 -3
- package/lib/utils/datatruck/command.js +3 -3
- package/lib/utils/datatruck/config.js +15 -15
- package/lib/utils/datatruck/cron-server.js +1 -2
- package/lib/utils/datatruck/job.js +4 -5
- package/lib/utils/datatruck/paths.js +2 -3
- package/lib/utils/datatruck/report-list.js +1 -2
- package/lib/utils/datatruck/repository-server.d.ts +0 -1
- package/lib/utils/datatruck/repository-server.js +7 -3
- package/lib/utils/datatruck/repository.js +4 -5
- package/lib/utils/datatruck/snapshot.js +1 -2
- package/lib/utils/datatruck/task.js +1 -2
- package/lib/utils/date.js +4 -5
- package/lib/utils/exit.js +4 -5
- package/lib/utils/fs.d.ts +0 -3
- package/lib/utils/fs.js +40 -40
- package/lib/utils/git.d.ts +1 -1
- package/lib/utils/http.d.ts +3 -7
- package/lib/utils/http.js +17 -17
- package/lib/utils/list.d.ts +2 -2
- package/lib/utils/list.js +36 -26
- package/lib/utils/logs.js +3 -3
- package/lib/utils/math.js +2 -2
- package/lib/utils/mongodb.js +2 -3
- package/lib/utils/mysql.d.ts +0 -1
- package/lib/utils/mysql.js +2 -3
- package/lib/utils/object.js +6 -6
- package/lib/utils/options.js +5 -4
- package/lib/utils/process.d.ts +0 -1
- package/lib/utils/process.js +3 -4
- package/lib/utils/progress.d.ts +0 -2
- package/lib/utils/progress.js +3 -3
- package/lib/utils/reportSteps.js +2 -3
- package/lib/utils/spawnSteps.js +2 -3
- package/lib/utils/stream.d.ts +0 -1
- package/lib/utils/stream.js +2 -3
- package/lib/utils/string.js +11 -12
- package/lib/utils/tar.js +6 -7
- package/lib/utils/temp.d.ts +0 -1
- package/lib/utils/temp.js +10 -10
- package/lib/utils/virtual-fs.js +2 -2
- package/lib/utils/watcher.js +1 -2
- package/package.json +14 -13
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
3
3
|
if (value !== null && value !== void 0) {
|
|
4
4
|
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
5
|
-
var dispose;
|
|
5
|
+
var dispose, inner;
|
|
6
6
|
if (async) {
|
|
7
7
|
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
8
8
|
dispose = value[Symbol.asyncDispose];
|
|
@@ -10,8 +10,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function
|
|
|
10
10
|
if (dispose === void 0) {
|
|
11
11
|
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
12
12
|
dispose = value[Symbol.dispose];
|
|
13
|
+
if (async) inner = dispose;
|
|
13
14
|
}
|
|
14
15
|
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
16
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
15
17
|
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
16
18
|
}
|
|
17
19
|
else if (async) {
|
|
@@ -25,17 +27,22 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
25
27
|
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
26
28
|
env.hasError = true;
|
|
27
29
|
}
|
|
30
|
+
var r, s = 0;
|
|
28
31
|
function next() {
|
|
29
|
-
while (env.stack.
|
|
30
|
-
var rec = env.stack.pop();
|
|
32
|
+
while (r = env.stack.pop()) {
|
|
31
33
|
try {
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
35
|
+
if (r.dispose) {
|
|
36
|
+
var result = r.dispose.call(r.value);
|
|
37
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
38
|
+
}
|
|
39
|
+
else s |= 1;
|
|
34
40
|
}
|
|
35
41
|
catch (e) {
|
|
36
42
|
fail(e);
|
|
37
43
|
}
|
|
38
44
|
}
|
|
45
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
39
46
|
if (env.hasError) throw env.error;
|
|
40
47
|
}
|
|
41
48
|
return next();
|
|
@@ -445,16 +452,16 @@ class BackupAction {
|
|
|
445
452
|
},
|
|
446
453
|
}));
|
|
447
454
|
}),
|
|
448
|
-
...(0, report_list_1.createReportListTasks)(l, {
|
|
449
|
-
hostname: this.config.hostname ?? (0, os_1.hostname)(),
|
|
450
|
-
action: "backup",
|
|
451
|
-
reports: this.config.reports || [],
|
|
452
|
-
verbose: this.options.verbose,
|
|
453
|
-
onMessage: (result, report) => this.dataFormat(result).format(report.format ?? "list"),
|
|
454
|
-
}),
|
|
455
455
|
];
|
|
456
456
|
},
|
|
457
457
|
}),
|
|
458
|
+
...(0, report_list_1.createReportListTasks)(l, {
|
|
459
|
+
hostname: this.config.hostname ?? (0, os_1.hostname)(),
|
|
460
|
+
action: "backup",
|
|
461
|
+
reports: this.config.reports || [],
|
|
462
|
+
verbose: this.options.verbose,
|
|
463
|
+
onMessage: (result, report) => this.dataFormat(result).format(report.format ?? "list"),
|
|
464
|
+
}),
|
|
458
465
|
])
|
|
459
466
|
.execAndParse(this.options.verbose);
|
|
460
467
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
3
3
|
if (value !== null && value !== void 0) {
|
|
4
4
|
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
5
|
-
var dispose;
|
|
5
|
+
var dispose, inner;
|
|
6
6
|
if (async) {
|
|
7
7
|
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
8
8
|
dispose = value[Symbol.asyncDispose];
|
|
@@ -10,8 +10,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function
|
|
|
10
10
|
if (dispose === void 0) {
|
|
11
11
|
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
12
12
|
dispose = value[Symbol.dispose];
|
|
13
|
+
if (async) inner = dispose;
|
|
13
14
|
}
|
|
14
15
|
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
16
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
15
17
|
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
16
18
|
}
|
|
17
19
|
else if (async) {
|
|
@@ -25,17 +27,22 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
25
27
|
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
26
28
|
env.hasError = true;
|
|
27
29
|
}
|
|
30
|
+
var r, s = 0;
|
|
28
31
|
function next() {
|
|
29
|
-
while (env.stack.
|
|
30
|
-
var rec = env.stack.pop();
|
|
32
|
+
while (r = env.stack.pop()) {
|
|
31
33
|
try {
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
35
|
+
if (r.dispose) {
|
|
36
|
+
var result = r.dispose.call(r.value);
|
|
37
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
38
|
+
}
|
|
39
|
+
else s |= 1;
|
|
34
40
|
}
|
|
35
41
|
catch (e) {
|
|
36
42
|
fail(e);
|
|
37
43
|
}
|
|
38
44
|
}
|
|
45
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
39
46
|
if (env.hasError) throw env.error;
|
|
40
47
|
}
|
|
41
48
|
return next();
|
|
@@ -231,6 +238,7 @@ class CopyAction {
|
|
|
231
238
|
l.$task({
|
|
232
239
|
key: "snapshots",
|
|
233
240
|
data: { snapshots: [] },
|
|
241
|
+
exitOnError: false,
|
|
234
242
|
title: {
|
|
235
243
|
initial: "Fetch snapshots",
|
|
236
244
|
started: "Fetching snapshots",
|
|
@@ -346,16 +354,16 @@ class CopyAction {
|
|
|
346
354
|
},
|
|
347
355
|
});
|
|
348
356
|
})),
|
|
349
|
-
...(0, report_list_1.createReportListTasks)(l, {
|
|
350
|
-
hostname: this.config.hostname ?? (0, os_1.hostname)(),
|
|
351
|
-
action: "copy",
|
|
352
|
-
reports: this.config.reports || [],
|
|
353
|
-
verbose: this.options.verbose,
|
|
354
|
-
onMessage: (result, report) => this.dataFormat(result).format(report.format ?? "list"),
|
|
355
|
-
}),
|
|
356
357
|
];
|
|
357
358
|
},
|
|
358
359
|
}),
|
|
360
|
+
...(0, report_list_1.createReportListTasks)(l, {
|
|
361
|
+
hostname: this.config.hostname ?? (0, os_1.hostname)(),
|
|
362
|
+
action: "copy",
|
|
363
|
+
reports: this.config.reports || [],
|
|
364
|
+
verbose: this.options.verbose,
|
|
365
|
+
onMessage: (result, report) => this.dataFormat(result).format(report.format ?? "list"),
|
|
366
|
+
}),
|
|
359
367
|
])
|
|
360
368
|
.execAndParse(this.options.verbose);
|
|
361
369
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
3
3
|
if (value !== null && value !== void 0) {
|
|
4
4
|
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
5
|
-
var dispose;
|
|
5
|
+
var dispose, inner;
|
|
6
6
|
if (async) {
|
|
7
7
|
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
8
8
|
dispose = value[Symbol.asyncDispose];
|
|
@@ -10,8 +10,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function
|
|
|
10
10
|
if (dispose === void 0) {
|
|
11
11
|
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
12
12
|
dispose = value[Symbol.dispose];
|
|
13
|
+
if (async) inner = dispose;
|
|
13
14
|
}
|
|
14
15
|
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
16
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
15
17
|
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
16
18
|
}
|
|
17
19
|
else if (async) {
|
|
@@ -25,17 +27,22 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
25
27
|
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
26
28
|
env.hasError = true;
|
|
27
29
|
}
|
|
30
|
+
var r, s = 0;
|
|
28
31
|
function next() {
|
|
29
|
-
while (env.stack.
|
|
30
|
-
var rec = env.stack.pop();
|
|
32
|
+
while (r = env.stack.pop()) {
|
|
31
33
|
try {
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
35
|
+
if (r.dispose) {
|
|
36
|
+
var result = r.dispose.call(r.value);
|
|
37
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
38
|
+
}
|
|
39
|
+
else s |= 1;
|
|
34
40
|
}
|
|
35
41
|
catch (e) {
|
|
36
42
|
fail(e);
|
|
37
43
|
}
|
|
38
44
|
}
|
|
45
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
39
46
|
if (env.hasError) throw env.error;
|
|
40
47
|
}
|
|
41
48
|
return next();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
3
3
|
if (value !== null && value !== void 0) {
|
|
4
4
|
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
5
|
-
var dispose;
|
|
5
|
+
var dispose, inner;
|
|
6
6
|
if (async) {
|
|
7
7
|
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
8
8
|
dispose = value[Symbol.asyncDispose];
|
|
@@ -10,8 +10,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function
|
|
|
10
10
|
if (dispose === void 0) {
|
|
11
11
|
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
12
12
|
dispose = value[Symbol.dispose];
|
|
13
|
+
if (async) inner = dispose;
|
|
13
14
|
}
|
|
14
15
|
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
16
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
15
17
|
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
16
18
|
}
|
|
17
19
|
else if (async) {
|
|
@@ -25,17 +27,22 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
25
27
|
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
26
28
|
env.hasError = true;
|
|
27
29
|
}
|
|
30
|
+
var r, s = 0;
|
|
28
31
|
function next() {
|
|
29
|
-
while (env.stack.
|
|
30
|
-
var rec = env.stack.pop();
|
|
32
|
+
while (r = env.stack.pop()) {
|
|
31
33
|
try {
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
35
|
+
if (r.dispose) {
|
|
36
|
+
var result = r.dispose.call(r.value);
|
|
37
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
38
|
+
}
|
|
39
|
+
else s |= 1;
|
|
34
40
|
}
|
|
35
41
|
catch (e) {
|
|
36
42
|
fail(e);
|
|
37
43
|
}
|
|
38
44
|
}
|
|
45
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
39
46
|
if (env.hasError) throw env.error;
|
|
40
47
|
}
|
|
41
48
|
return next();
|
package/lib/cli.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.parseArgs =
|
|
6
|
+
exports.parseArgs = parseArgs;
|
|
7
7
|
const ConfigAction_1 = require("./actions/ConfigAction");
|
|
8
8
|
const globalData_1 = __importDefault(require("./globalData"));
|
|
9
9
|
const cli_1 = require("./utils/cli");
|
|
@@ -49,7 +49,7 @@ function createCommandAction(Constructor) {
|
|
|
49
49
|
if (errors?.length) {
|
|
50
50
|
console.error();
|
|
51
51
|
errors.forEach((error, index) => {
|
|
52
|
-
console.error(chalk_1.default.red(`${index + 1}. ` + error.stack ?? error.message));
|
|
52
|
+
console.error(chalk_1.default.red(`${index + 1}. ` + (error.stack ?? error.message)));
|
|
53
53
|
if (errors[index + 1])
|
|
54
54
|
console.error();
|
|
55
55
|
});
|
|
@@ -112,4 +112,3 @@ function parseArgs(args) {
|
|
|
112
112
|
process.exit(1);
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
|
-
exports.parseArgs = parseArgs;
|
|
@@ -16,8 +16,8 @@ export declare class ResticRepository extends RepositoryAbstract<ResticRepositor
|
|
|
16
16
|
RESTIC_REPOSITORY: string;
|
|
17
17
|
};
|
|
18
18
|
buildEnv(): Promise<{
|
|
19
|
-
RESTIC_PASSWORD?: string
|
|
20
|
-
RESTIC_PASSWORD_FILE?: string
|
|
19
|
+
RESTIC_PASSWORD?: string;
|
|
20
|
+
RESTIC_PASSWORD_FILE?: string;
|
|
21
21
|
RESTIC_REPOSITORY: string;
|
|
22
22
|
}>;
|
|
23
23
|
static createSnapshotTag(name: SnapshotTagEnum, value: string): string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
3
3
|
if (value !== null && value !== void 0) {
|
|
4
4
|
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
5
|
-
var dispose;
|
|
5
|
+
var dispose, inner;
|
|
6
6
|
if (async) {
|
|
7
7
|
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
8
8
|
dispose = value[Symbol.asyncDispose];
|
|
@@ -10,8 +10,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function
|
|
|
10
10
|
if (dispose === void 0) {
|
|
11
11
|
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
12
12
|
dispose = value[Symbol.dispose];
|
|
13
|
+
if (async) inner = dispose;
|
|
13
14
|
}
|
|
14
15
|
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
16
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
15
17
|
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
16
18
|
}
|
|
17
19
|
else if (async) {
|
|
@@ -25,17 +27,22 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
25
27
|
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
26
28
|
env.hasError = true;
|
|
27
29
|
}
|
|
30
|
+
var r, s = 0;
|
|
28
31
|
function next() {
|
|
29
|
-
while (env.stack.
|
|
30
|
-
var rec = env.stack.pop();
|
|
32
|
+
while (r = env.stack.pop()) {
|
|
31
33
|
try {
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
35
|
+
if (r.dispose) {
|
|
36
|
+
var result = r.dispose.call(r.value);
|
|
37
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
38
|
+
}
|
|
39
|
+
else s |= 1;
|
|
34
40
|
}
|
|
35
41
|
catch (e) {
|
|
36
42
|
fail(e);
|
|
37
43
|
}
|
|
38
44
|
}
|
|
45
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
39
46
|
if (env.hasError) throw env.error;
|
|
40
47
|
}
|
|
41
48
|
return next();
|
package/lib/tasks/ScriptTask.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScriptTask = exports.scriptTaskName =
|
|
3
|
+
exports.ScriptTask = exports.scriptTaskName = void 0;
|
|
4
|
+
exports.scriptTaskCode = scriptTaskCode;
|
|
4
5
|
const spawnSteps_1 = require("../utils/spawnSteps");
|
|
5
6
|
const temp_1 = require("../utils/temp");
|
|
6
7
|
const TaskAbstract_1 = require("./TaskAbstract");
|
|
7
8
|
function scriptTaskCode(cb) {
|
|
8
9
|
return `(${cb.toString()})(...arguments);`;
|
|
9
10
|
}
|
|
10
|
-
exports.scriptTaskCode = scriptTaskCode;
|
|
11
11
|
exports.scriptTaskName = "script";
|
|
12
12
|
class ScriptTask extends TaskAbstract_1.TaskAbstract {
|
|
13
13
|
verbose;
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/// <reference types="node" />
|
|
5
|
-
/// <reference types="node" />
|
|
6
1
|
import { ChildProcess, SpawnOptions } from "child_process";
|
|
7
2
|
import { ReadStream } from "fs";
|
|
8
3
|
import { Readable, Writable } from "stream";
|
package/lib/utils/async.d.ts
CHANGED
package/lib/utils/async.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runParallel =
|
|
3
|
+
exports.runParallel = runParallel;
|
|
4
4
|
const promise_pool_1 = require("@supercharge/promise-pool");
|
|
5
5
|
async function runParallel(options) {
|
|
6
6
|
const buffer = new Map();
|
|
@@ -47,4 +47,3 @@ async function runParallel(options) {
|
|
|
47
47
|
if (error)
|
|
48
48
|
throw error;
|
|
49
49
|
}
|
|
50
|
-
exports.runParallel = runParallel;
|
package/lib/utils/bytes.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.formatBytes = formatBytes;
|
|
4
|
+
exports.parseSize = parseSize;
|
|
4
5
|
const units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
5
6
|
const sizeRegex = new RegExp(`^(\\d+(?:\\.\\d+)?)\\s*(${units.join("|")})$`, "i");
|
|
6
7
|
function formatBytes(bytes) {
|
|
@@ -12,7 +13,6 @@ function formatBytes(bytes) {
|
|
|
12
13
|
n = n / 1024;
|
|
13
14
|
return Number(n).toFixed(n < 10 && u > 0 ? 1 : 0) + units[u];
|
|
14
15
|
}
|
|
15
|
-
exports.formatBytes = formatBytes;
|
|
16
16
|
function parseSize(size) {
|
|
17
17
|
const matches = sizeRegex.exec(size);
|
|
18
18
|
if (!matches)
|
|
@@ -26,4 +26,3 @@ function parseSize(size) {
|
|
|
26
26
|
result *= 1024;
|
|
27
27
|
return result;
|
|
28
28
|
}
|
|
29
|
-
exports.parseSize = parseSize;
|
package/lib/utils/cli.d.ts
CHANGED
package/lib/utils/cli.js
CHANGED
|
@@ -3,7 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.showCursorCommand = void 0;
|
|
7
|
+
exports.renderProgressBar = renderProgressBar;
|
|
8
|
+
exports.logExec = logExec;
|
|
9
|
+
exports.renderResult = renderResult;
|
|
10
|
+
exports.renderError = renderError;
|
|
11
|
+
exports.renderListTaskItem = renderListTaskItem;
|
|
12
|
+
exports.renderObject = renderObject;
|
|
13
|
+
exports.confirm = confirm;
|
|
14
|
+
exports.waitForStdDrain = waitForStdDrain;
|
|
15
|
+
exports.colorizeValue = colorizeValue;
|
|
16
|
+
exports.colorizeObject = colorizeObject;
|
|
17
|
+
exports.logJson = logJson;
|
|
7
18
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
19
|
const chalk_2 = require("chalk");
|
|
9
20
|
const readline_1 = require("readline");
|
|
@@ -32,7 +43,6 @@ function renderProgressBar(progress, size = 10, subprogress) {
|
|
|
32
43
|
}
|
|
33
44
|
return (0, chalk_2.cyan)(result);
|
|
34
45
|
}
|
|
35
|
-
exports.renderProgressBar = renderProgressBar;
|
|
36
46
|
function logExec(command, argv = [], env, logToStderr) {
|
|
37
47
|
const envText = env
|
|
38
48
|
? Object.keys(env)
|
|
@@ -47,7 +57,6 @@ function logExec(command, argv = [], env, logToStderr) {
|
|
|
47
57
|
? process.stderr.write(`${text}\n`)
|
|
48
58
|
: console.info(text);
|
|
49
59
|
}
|
|
50
|
-
exports.logExec = logExec;
|
|
51
60
|
function renderResult(error, color = true) {
|
|
52
61
|
return error
|
|
53
62
|
? color
|
|
@@ -57,7 +66,6 @@ function renderResult(error, color = true) {
|
|
|
57
66
|
? chalk_1.default.green("✓")
|
|
58
67
|
: "✓";
|
|
59
68
|
}
|
|
60
|
-
exports.renderResult = renderResult;
|
|
61
69
|
function renderError(error, index) {
|
|
62
70
|
if (!error)
|
|
63
71
|
return "";
|
|
@@ -68,7 +76,6 @@ function renderError(error, index) {
|
|
|
68
76
|
? `${index + 1}. ${message}`
|
|
69
77
|
: message);
|
|
70
78
|
}
|
|
71
|
-
exports.renderError = renderError;
|
|
72
79
|
function renderListTaskItem(item, color, config) {
|
|
73
80
|
const result = config[item.key]?.(item.data);
|
|
74
81
|
if (typeof result === "string" || typeof result === "number") {
|
|
@@ -84,14 +91,12 @@ function renderListTaskItem(item, color, config) {
|
|
|
84
91
|
return "";
|
|
85
92
|
}
|
|
86
93
|
}
|
|
87
|
-
exports.renderListTaskItem = renderListTaskItem;
|
|
88
94
|
function renderObject(object, color) {
|
|
89
95
|
const values = [];
|
|
90
96
|
for (const key in object)
|
|
91
97
|
values.push(`${key}: ${color ? (0, chalk_2.grey)(object[key]) : object[key]}`);
|
|
92
98
|
return values.join(` `);
|
|
93
99
|
}
|
|
94
|
-
exports.renderObject = renderObject;
|
|
95
100
|
function confirm(message) {
|
|
96
101
|
const rl = (0, readline_1.createInterface)({
|
|
97
102
|
input: process.stdin,
|
|
@@ -108,7 +113,6 @@ function confirm(message) {
|
|
|
108
113
|
});
|
|
109
114
|
});
|
|
110
115
|
}
|
|
111
|
-
exports.confirm = confirm;
|
|
112
116
|
async function waitForStdDrain(ms) {
|
|
113
117
|
await Promise.all([process.stdout, process.stderr].map((stream) => new Promise((resolve) => {
|
|
114
118
|
{
|
|
@@ -123,12 +127,10 @@ async function waitForStdDrain(ms) {
|
|
|
123
127
|
}
|
|
124
128
|
})));
|
|
125
129
|
}
|
|
126
|
-
exports.waitForStdDrain = waitForStdDrain;
|
|
127
130
|
function colorizeValue(value, color) {
|
|
128
131
|
const json = JSON.stringify(value);
|
|
129
132
|
return color ? chalk_1.default[color](json) : json;
|
|
130
133
|
}
|
|
131
|
-
exports.colorizeValue = colorizeValue;
|
|
132
134
|
function colorizeObject(input) {
|
|
133
135
|
const object = {};
|
|
134
136
|
for (const key in input) {
|
|
@@ -144,7 +146,6 @@ function colorizeObject(input) {
|
|
|
144
146
|
.join(", ");
|
|
145
147
|
return `{ ${values} }`;
|
|
146
148
|
}
|
|
147
|
-
exports.colorizeObject = colorizeObject;
|
|
148
149
|
function logJson(ctx, msg, data) {
|
|
149
150
|
const json = colorizeObject({
|
|
150
151
|
ctx,
|
|
@@ -153,4 +154,3 @@ function logJson(ctx, msg, data) {
|
|
|
153
154
|
});
|
|
154
155
|
console.log(json);
|
|
155
156
|
}
|
|
156
|
-
exports.logJson = logJson;
|
package/lib/utils/cron.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatCronScheduleObject =
|
|
3
|
+
exports.formatCronScheduleObject = formatCronScheduleObject;
|
|
4
4
|
function formatCronScheduleObject(object) {
|
|
5
5
|
const keys = [
|
|
6
6
|
"minute",
|
|
@@ -24,4 +24,3 @@ function formatCronScheduleObject(object) {
|
|
|
24
24
|
}
|
|
25
25
|
return result.join(" ");
|
|
26
26
|
}
|
|
27
|
-
exports.formatCronScheduleObject = formatCronScheduleObject;
|
package/lib/utils/crypto.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.calcFileHash = calcFileHash;
|
|
4
|
+
exports.assertFileChecksum = assertFileChecksum;
|
|
4
5
|
const crypto_1 = require("crypto");
|
|
5
6
|
const fs_1 = require("fs");
|
|
6
7
|
function calcFileHash(path, algorithm) {
|
|
@@ -12,10 +13,8 @@ function calcFileHash(path, algorithm) {
|
|
|
12
13
|
.on("end", () => resolve(hash.digest("hex")));
|
|
13
14
|
});
|
|
14
15
|
}
|
|
15
|
-
exports.calcFileHash = calcFileHash;
|
|
16
16
|
async function assertFileChecksum(path, checksum, algorithm) {
|
|
17
17
|
const fileChecksum = await calcFileHash(path, algorithm);
|
|
18
18
|
if (fileChecksum !== checksum)
|
|
19
19
|
throw new Error(`Invalid checksum file: ${checksum} != ${fileChecksum}`);
|
|
20
20
|
}
|
|
21
|
-
exports.assertFileChecksum = assertFileChecksum;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { DiskStats } from "../fs";
|
|
3
2
|
import { BasicProgress } from "../progress";
|
|
4
3
|
import { AbstractFs, FsOptions } from "../virtual-fs";
|
|
@@ -13,7 +12,7 @@ export declare class RemoteFs extends AbstractFs {
|
|
|
13
12
|
});
|
|
14
13
|
isLocal(): boolean;
|
|
15
14
|
protected fetchJson(name: string, params: any[]): Promise<any>;
|
|
16
|
-
protected post(name: string, params: any[], data: string): Promise<Response>;
|
|
15
|
+
protected post(name: string, params: any[], data: string): Promise<import("undici").Response>;
|
|
17
16
|
existsDir(path: string): Promise<boolean>;
|
|
18
17
|
rename(source: string, target: string): Promise<void>;
|
|
19
18
|
mkdir(path: string): Promise<void>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.RemoteFs = void 0;
|
|
4
|
+
exports.isRemoteBackend = isRemoteBackend;
|
|
5
|
+
exports.createFs = createFs;
|
|
4
6
|
const cli_1 = require("../cli");
|
|
5
7
|
const http_1 = require("../http");
|
|
6
8
|
const virtual_fs_1 = require("../virtual-fs");
|
|
@@ -101,10 +103,8 @@ exports.RemoteFs = RemoteFs;
|
|
|
101
103
|
function isRemoteBackend(backend) {
|
|
102
104
|
return backend.startsWith("http:") || backend.startsWith("https:");
|
|
103
105
|
}
|
|
104
|
-
exports.isRemoteBackend = isRemoteBackend;
|
|
105
106
|
function createFs(backend, verbose) {
|
|
106
107
|
return isRemoteBackend(backend)
|
|
107
108
|
? new RemoteFs({ backend, verbose })
|
|
108
109
|
: new virtual_fs_1.LocalFs({ backend });
|
|
109
110
|
}
|
|
110
|
-
exports.createFs = createFs;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.datatruckCommands = void 0;
|
|
4
|
+
exports.createCommand = createCommand;
|
|
5
|
+
exports.createCommands = createCommands;
|
|
4
6
|
const BackupCommand_1 = require("../../commands/BackupCommand");
|
|
5
7
|
const CleanCacheCommand_1 = require("../../commands/CleanCacheCommand");
|
|
6
8
|
const ConfigCommand_1 = require("../../commands/ConfigCommand");
|
|
@@ -33,7 +35,6 @@ function createCommand(name, globalOptions, options, streams, configPath) {
|
|
|
33
35
|
throw new error_1.AppError(`Invalid command name: ${name}`);
|
|
34
36
|
return new constructor(globalOptions, options, streams, configPath);
|
|
35
37
|
}
|
|
36
|
-
exports.createCommand = createCommand;
|
|
37
38
|
function createCommands(globalOptions) {
|
|
38
39
|
const object = {};
|
|
39
40
|
for (const name in exports.datatruckCommands) {
|
|
@@ -64,4 +65,3 @@ function createCommands(globalOptions) {
|
|
|
64
65
|
}
|
|
65
66
|
return object;
|
|
66
67
|
}
|
|
67
|
-
exports.createCommands = createCommands;
|