@ps-aux/nodebup 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/bup/aggregate/AggregateBackupController.js +8 -7
- package/lib/bup/dir/DirBackupController.js +6 -5
- package/lib/bup/pg/PgBackupController.js +11 -7
- package/lib/config/Config.js +1 -4
- package/lib/ctx/Context.js +1 -6
- package/lib/fs/Fs.js +12 -9
- package/lib/fs/Fs.test.js +1 -3
- package/lib/fs/fssync/FsSync.spec.js +1 -4
- package/lib/fs/fssync/FsSyncer.js +5 -4
- package/lib/log/logging.js +33 -0
- package/lib/storage/rclone/RCloneFactory.js +7 -6
- package/lib/storage/rclone/RcloneBackupBackend.js +3 -3
- package/lib/storage/rclone/RcloneClient.js +8 -7
- package/lib/storage/rclone/RcloneClient.spec.js +3 -4
- package/lib/storage/restic/ResticBackupBackend.js +2 -2
- package/lib/storage/restic/ResticClient.js +5 -2
- package/lib/storage/restic/ResticClient.spec.js +2 -3
- package/lib/storage/restic/ResticController.js +3 -3
- package/lib/storage/restic/ResticFactory.js +3 -6
- package/lib/tools/compression/Zipper.js +8 -8
- package/lib/tools/compression/Zipper.test.js +1 -3
- package/lib/tools/gpg/Gpg.spec.js +1 -3
- package/lib/tools/shell/Shell.js +9 -9
- package/lib/tools/ssh/SshKeyManager.spec.js +1 -3
- package/package.json +3 -2
- package/lib/log/AppLogger.js +0 -35
- package/lib/log/ConsoleLogger.js +0 -33
- package/lib/log/MinimalLogger.js +0 -31
@@ -17,30 +17,31 @@ var _inversify = require("inversify");
|
|
17
17
|
|
18
18
|
var _ContextSymbols = require("../../ctx/ContextSymbols");
|
19
19
|
|
20
|
-
var _AppLogger = require("../../log/AppLogger");
|
21
|
-
|
22
20
|
var _Path = require("../../fs/path/Path");
|
23
21
|
|
24
22
|
var _config = require("../../config");
|
25
23
|
|
26
24
|
var _BackupStorageProvider = require("../../storage/BackupStorageProvider");
|
27
25
|
|
26
|
+
var _logging = require("../../log/logging");
|
27
|
+
|
28
28
|
var _dec, _dec2, _dec3, _dec4, _class;
|
29
29
|
|
30
30
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
31
31
|
|
32
32
|
let AggregateBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = function (target, key) {
|
33
|
-
return (0, _inversify.inject)(_ContextSymbols.AppConfig_)(target, undefined,
|
34
|
-
}, _dec3 = Reflect.metadata("design:type", Function), _dec4 = Reflect.metadata("design:paramtypes", [typeof _Gpg.Gpg === "undefined" ? Object : _Gpg.Gpg, typeof _SshKeyManager.SshKeyManager === "undefined" ? Object : _SshKeyManager.SshKeyManager, typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs, typeof _FsSyncer.FsSyncer === "undefined" ? Object : _FsSyncer.FsSyncer, typeof
|
35
|
-
constructor(gpg, ssh, fs, fsSyncer,
|
33
|
+
return (0, _inversify.inject)(_ContextSymbols.AppConfig_)(target, undefined, 5);
|
34
|
+
}, _dec3 = Reflect.metadata("design:type", Function), _dec4 = Reflect.metadata("design:paramtypes", [typeof _Gpg.Gpg === "undefined" ? Object : _Gpg.Gpg, typeof _SshKeyManager.SshKeyManager === "undefined" ? Object : _SshKeyManager.SshKeyManager, typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs, typeof _FsSyncer.FsSyncer === "undefined" ? Object : _FsSyncer.FsSyncer, typeof _BackupStorageProvider.BackupStorageProvider === "undefined" ? Object : _BackupStorageProvider.BackupStorageProvider, typeof _config.Config === "undefined" ? Object : _config.Config]), _dec(_class = _dec2(_class = _dec3(_class = _dec4(_class = class AggregateBackupController {
|
35
|
+
constructor(gpg, ssh, fs, fsSyncer, storageProvider, cfg) {
|
36
36
|
this.gpg = gpg;
|
37
37
|
this.ssh = ssh;
|
38
38
|
this.fs = fs;
|
39
39
|
this.fsSyncer = fsSyncer;
|
40
|
-
this.log = log;
|
41
40
|
this.storageProvider = storageProvider;
|
42
41
|
this.cfg = cfg;
|
43
42
|
|
43
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
44
|
+
|
44
45
|
_defineProperty(this, "backup", async aggrName => {
|
45
46
|
const aggrDir = this.cfg.pwd.resolve('.aggr');
|
46
47
|
const aggr = this.cfg.aggregates.find(a => a.name === aggrName);
|
@@ -58,7 +59,7 @@ let AggregateBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = fu
|
|
58
59
|
gpgKey.forEach(k => this.runGpgKeyTask(k, aggrDir));
|
59
60
|
this.storageProvider.provide().store(aggrDir);
|
60
61
|
} finally {
|
61
|
-
this.log.debug();
|
62
|
+
this.log.debug('Removing dir');
|
62
63
|
this.fs.rmDir(aggrDir);
|
63
64
|
}
|
64
65
|
});
|
@@ -7,21 +7,22 @@ exports.DirBackupController = void 0;
|
|
7
7
|
|
8
8
|
var _inversify = require("inversify");
|
9
9
|
|
10
|
-
var _AppLogger = require("../../log/AppLogger");
|
11
|
-
|
12
10
|
var _Path = require("../../fs/path/Path");
|
13
11
|
|
14
12
|
var _BackupStorageProvider = require("../../storage/BackupStorageProvider");
|
15
13
|
|
14
|
+
var _logging = require("../../log/logging");
|
15
|
+
|
16
16
|
var _dec, _dec2, _dec3, _class;
|
17
17
|
|
18
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
19
19
|
|
20
|
-
let DirBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof
|
21
|
-
constructor(
|
22
|
-
this.log = log;
|
20
|
+
let DirBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _BackupStorageProvider.BackupStorageProvider === "undefined" ? Object : _BackupStorageProvider.BackupStorageProvider]), _dec(_class = _dec2(_class = _dec3(_class = class DirBackupController {
|
21
|
+
constructor(storageProvider) {
|
23
22
|
this.storageProvider = storageProvider;
|
24
23
|
|
24
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
25
|
+
|
25
26
|
_defineProperty(this, "backup", inp => {
|
26
27
|
const storage = this.storageProvider.provide();
|
27
28
|
|
@@ -9,8 +9,6 @@ var _Fs = require("../../fs/Fs");
|
|
9
9
|
|
10
10
|
var _inversify = require("inversify");
|
11
11
|
|
12
|
-
var _AppLogger = require("../../log/AppLogger");
|
13
|
-
|
14
12
|
var _Shell = require("../../tools/shell/Shell");
|
15
13
|
|
16
14
|
var _Path = require("../../fs/path/Path");
|
@@ -19,6 +17,8 @@ var _BackupStorageProvider = require("../../storage/BackupStorageProvider");
|
|
19
17
|
|
20
18
|
var _Zipper = require("../../tools/compression/Zipper");
|
21
19
|
|
20
|
+
var _logging = require("../../log/logging");
|
21
|
+
|
22
22
|
var _dec, _dec2, _dec3, _class, _class2, _temp;
|
23
23
|
|
24
24
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
@@ -38,18 +38,19 @@ const parseConnectionUrl = url => {
|
|
38
38
|
};
|
39
39
|
};
|
40
40
|
|
41
|
-
let PgBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs, typeof
|
41
|
+
let PgBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs, typeof _BackupStorageProvider.BackupStorageProvider === "undefined" ? Object : _BackupStorageProvider.BackupStorageProvider, typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell, typeof _Zipper.Zipper === "undefined" ? Object : _Zipper.Zipper]), _dec(_class = _dec2(_class = _dec3(_class = (_temp = _class2 = class PgBackupController {
|
42
42
|
constructor( // private gpg: Gpg,
|
43
43
|
// private ssh: SshKeyManager,
|
44
44
|
fs, // private fsSyncer: FsSyncer,
|
45
|
-
|
45
|
+
storageBackendProvider, // @inject(AppConfig_) private cfg: Config,
|
46
46
|
sh, zip) {
|
47
47
|
this.fs = fs;
|
48
|
-
this.log = log;
|
49
48
|
this.storageBackendProvider = storageBackendProvider;
|
50
49
|
this.sh = sh;
|
51
50
|
this.zip = zip;
|
52
51
|
|
52
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
53
|
+
|
53
54
|
_defineProperty(this, "now", () => {
|
54
55
|
const d = new Date();
|
55
56
|
const fields = [d.getFullYear(), d.getMonth(), d.getDay(), d.getUTCHours(), d.getMinutes(), d.getSeconds()];
|
@@ -69,7 +70,9 @@ let PgBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.m
|
|
69
70
|
|
70
71
|
this.log.info(`Backing up Postgres database, version=${version}`);
|
71
72
|
const connParams = parseConnectionUrl(pgUrl);
|
72
|
-
const pass = connParams.password;
|
73
|
+
const pass = connParams.password; // if (3 > 2)
|
74
|
+
// return
|
75
|
+
|
73
76
|
await this.fs.inTmpDir('pg-backup', async dir => {
|
74
77
|
const outputDir = _Path.AbsPath.from(dir);
|
75
78
|
|
@@ -111,7 +114,8 @@ let PgBackupController = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.m
|
|
111
114
|
const zipFile = this.fs.listFiles(dir)[0];
|
112
115
|
this.zip.unzipDir(zipFile, dir);
|
113
116
|
this.fs.rmFile(zipFile);
|
114
|
-
const outFile = this.fs.listFiles(dir)[0];
|
117
|
+
const outFile = this.fs.listFiles(dir)[0];
|
118
|
+
this.log.debug('Will run psql import from %s', outFile); // Don't forget that this itself might be run in docker
|
115
119
|
// therefore volume mounts are not usable (will apply to the location at host)
|
116
120
|
|
117
121
|
this.sh.exec(`docker run --network host -i ` + `postgres:${version} ` + `psql ${pgUrl} -v ON_ERROR_STOP=0 < ${outFile.str()}`);
|
package/lib/config/Config.js
CHANGED
@@ -15,8 +15,6 @@ var _expandAndCreatePath = require("./expandAndCreatePath");
|
|
15
15
|
|
16
16
|
var _Fs = require("../fs/Fs");
|
17
17
|
|
18
|
-
var _AppLogger = require("../log/AppLogger");
|
19
|
-
|
20
18
|
const expandPaths = (cfg, exp) => {
|
21
19
|
cfg.aggregates.forEach(a => {
|
22
20
|
a.sources.file.forEach(f => {
|
@@ -34,8 +32,7 @@ const expandPaths = (cfg, exp) => {
|
|
34
32
|
|
35
33
|
|
36
34
|
const readFromFile = cwd => {
|
37
|
-
|
38
|
-
const fs = new _Fs.Fs(cwd, new _AppLogger.AppLogger());
|
35
|
+
const fs = new _Fs.Fs(cwd);
|
39
36
|
const cfgPath = cwd.resolve('bup.yaml');
|
40
37
|
const cfg = fs.exists(cfgPath) ? (0, _readYaml.readYaml)(cfgPath.str()) : {
|
41
38
|
aggregates: [],
|
package/lib/ctx/Context.js
CHANGED
@@ -21,8 +21,6 @@ var _ContextSymbols = require("./ContextSymbols");
|
|
21
21
|
|
22
22
|
var _AggregateBackupController = require("../bup/aggregate/AggregateBackupController");
|
23
23
|
|
24
|
-
var _AppLogger = require("../log/AppLogger");
|
25
|
-
|
26
24
|
var _BackupStorageProvider = require("../storage/BackupStorageProvider");
|
27
25
|
|
28
26
|
var _ResticFactory = require("../storage/restic/ResticFactory");
|
@@ -45,10 +43,7 @@ const createContext = (cfg, inp) => {
|
|
45
43
|
const c = new _inversify.Container();
|
46
44
|
c.bind(_ContextSymbols.AppConfig_).toConstantValue(cfg);
|
47
45
|
c.bind(_ContextSymbols.Inputs_).toConstantValue(inp);
|
48
|
-
|
49
|
-
c.bind(_ContextSymbols.Log_).toConstantValue(log);
|
50
|
-
c.bind(_AppLogger.AppLogger).toConstantValue(log);
|
51
|
-
c.bind(_Fs.Fs).toConstantValue(new _Fs.Fs(cfg.pwd, log));
|
46
|
+
c.bind(_Fs.Fs).toConstantValue(new _Fs.Fs(cfg.pwd));
|
52
47
|
const self = [_Gpg.Gpg, _Shell.Shell, _FsSyncer.FsSyncer, _SshKeyManager.SshKeyManager, _BackupStorageProvider.BackupStorageProvider, _StorageConfigProvider.StorageConfigProvider, _ResticFactory.ResticFactory, _AggregateBackupController.AggregateBackupController, _ResticController.ResticController, _B2CredentialsProvider.B2CredentialsProvider, _RCloneFactory.RCloneFactory, _DirBackupController.DirBackupController, _PgBackupController.PgBackupController, _Zipper.Zipper];
|
53
48
|
self.forEach(s => c.bind(s).toSelf());
|
54
49
|
return c;
|
package/lib/fs/Fs.js
CHANGED
@@ -13,32 +13,33 @@ var _Path = require("./path/Path");
|
|
13
13
|
|
14
14
|
var _inversify = require("inversify");
|
15
15
|
|
16
|
-
var _AppLogger = require("../log/AppLogger");
|
17
|
-
|
18
16
|
var _expandAndCreatePath = require("../config/expandAndCreatePath");
|
19
17
|
|
20
18
|
var _os = _interopRequireDefault(require("os"));
|
21
19
|
|
20
|
+
var _logging = require("../log/logging");
|
21
|
+
|
22
22
|
var _dec, _dec2, _dec3, _class;
|
23
23
|
|
24
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
25
25
|
|
26
26
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
27
27
|
|
28
|
-
let Fs = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Path.AbsPath === "undefined" ? Object : _Path.AbsPath
|
29
|
-
constructor(cwd
|
28
|
+
let Fs = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Path.AbsPath === "undefined" ? Object : _Path.AbsPath]), _dec(_class = _dec2(_class = _dec3(_class = class Fs {
|
29
|
+
constructor(cwd) {
|
30
30
|
this.cwd = cwd;
|
31
|
-
|
31
|
+
|
32
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
32
33
|
|
33
34
|
_defineProperty(this, "writeFile", (path, content) => {
|
34
|
-
this.log.
|
35
|
+
this.log.trace('Writing into file %s', path.str());
|
35
36
|
this.ensureParentDir(path);
|
36
37
|
|
37
38
|
_fs.default.writeFileSync(path.str(), content);
|
38
39
|
});
|
39
40
|
|
40
41
|
_defineProperty(this, "writeStream", path => {
|
41
|
-
this.log.
|
42
|
+
this.log.trace('Writing into file %s', path.str());
|
42
43
|
return _fs.default.createWriteStream(path.str());
|
43
44
|
});
|
44
45
|
|
@@ -51,6 +52,8 @@ let Fs = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:
|
|
51
52
|
_defineProperty(this, "isDir", path => _fs.default.lstatSync(path.str()).isDirectory());
|
52
53
|
|
53
54
|
_defineProperty(this, "rmDir", path => {
|
55
|
+
this.log.trace('Removing file %s', path.str());
|
56
|
+
|
54
57
|
_fs.default.rmSync(path.str(), {
|
55
58
|
recursive: true
|
56
59
|
});
|
@@ -85,7 +88,7 @@ let Fs = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:
|
|
85
88
|
});
|
86
89
|
|
87
90
|
_defineProperty(this, "readFile", path => {
|
88
|
-
this.log.
|
91
|
+
this.log.trace('Reading from file %s', path.str());
|
89
92
|
return _fs.default.readFileSync(path.str()).toString();
|
90
93
|
});
|
91
94
|
|
@@ -96,7 +99,7 @@ let Fs = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:
|
|
96
99
|
|
97
100
|
_defineProperty(this, "ensureDir", path => {
|
98
101
|
if (!this.exists(path)) {
|
99
|
-
this.log.
|
102
|
+
this.log.trace('Dir %s does not exist. Wil be created', path.str());
|
100
103
|
|
101
104
|
_fs.default.mkdirSync(path.str(), {
|
102
105
|
recursive: true
|
package/lib/fs/Fs.test.js
CHANGED
@@ -4,10 +4,8 @@ var _Fs = require("./Fs");
|
|
4
4
|
|
5
5
|
var _Path = require("./path/Path");
|
6
6
|
|
7
|
-
var _AppLogger = require("../log/AppLogger");
|
8
|
-
|
9
7
|
it.skip('withTmpDir', async () => {
|
10
|
-
const fs = new _Fs.Fs(_Path.AbsPath.from(__dirname)
|
8
|
+
const fs = new _Fs.Fs(_Path.AbsPath.from(__dirname));
|
11
9
|
await fs.inTmpDir('foo', async () => {
|
12
10
|
console.log('before');
|
13
11
|
const wait = new Promise((res, rej) => {
|
@@ -12,8 +12,6 @@ var _Fs = require("../Fs");
|
|
12
12
|
|
13
13
|
var _Path = require("../path/Path");
|
14
14
|
|
15
|
-
var _AppLogger = require("../../log/AppLogger");
|
16
|
-
|
17
15
|
var _testHelper = require("../../../test/testHelper");
|
18
16
|
|
19
17
|
describe('FsSync', () => {
|
@@ -22,8 +20,7 @@ describe('FsSync', () => {
|
|
22
20
|
const to = _Path.AbsPath.from((0, _test.testDir)('fs/fssync/dst/inner'));
|
23
21
|
|
24
22
|
it('syncs dir', () => {
|
25
|
-
const
|
26
|
-
const sut = new _FsSyncer.FsSyncer(new _Shell.Shell(l), new _Fs.Fs(_Path.AbsPath.from(__dirname), l), l);
|
23
|
+
const sut = new _FsSyncer.FsSyncer(new _Shell.Shell(), new _Fs.Fs(_Path.AbsPath.from(__dirname)));
|
27
24
|
sut.syncDirs(from, to);
|
28
25
|
expect((0, _areDirsSame.areDirsSame)(from, to)).toBe(true);
|
29
26
|
});
|
@@ -11,7 +11,7 @@ var _Fs = require("../Fs");
|
|
11
11
|
|
12
12
|
var _inversify = require("inversify");
|
13
13
|
|
14
|
-
var
|
14
|
+
var _logging = require("../../log/logging");
|
15
15
|
|
16
16
|
var _dec, _dec2, _dec3, _class;
|
17
17
|
|
@@ -23,11 +23,12 @@ const toUnixDirString = path => {
|
|
23
23
|
return val + '/';
|
24
24
|
};
|
25
25
|
|
26
|
-
let FsSyncer = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell, typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs
|
27
|
-
constructor(sh, fs
|
26
|
+
let FsSyncer = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell, typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs]), _dec(_class = _dec2(_class = _dec3(_class = class FsSyncer {
|
27
|
+
constructor(sh, fs) {
|
28
28
|
this.sh = sh;
|
29
29
|
this.fs = fs;
|
30
|
-
|
30
|
+
|
31
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
31
32
|
|
32
33
|
_defineProperty(this, "sync", (from, to) => {
|
33
34
|
if (this.fs.isFile(from)) this.syncFile(from, to);else this.syncDirs(from, to);
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.makeLog = exports.classObjLog = void 0;
|
7
|
+
|
8
|
+
var _pino = _interopRequireDefault(require("pino"));
|
9
|
+
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
|
12
|
+
// TODO set from config
|
13
|
+
const level = process.env.NODEBUP_LOG_LEVEL || 'trace';
|
14
|
+
const root = (0, _pino.default)({
|
15
|
+
name: 'root',
|
16
|
+
transport: {
|
17
|
+
target: 'pino-pretty'
|
18
|
+
},
|
19
|
+
level
|
20
|
+
});
|
21
|
+
|
22
|
+
const makeLog = name => {
|
23
|
+
return root.child({
|
24
|
+
name
|
25
|
+
});
|
26
|
+
}; // TODO make type narrower
|
27
|
+
|
28
|
+
|
29
|
+
exports.makeLog = makeLog;
|
30
|
+
|
31
|
+
const classObjLog = obj => makeLog(obj.constructor.name);
|
32
|
+
|
33
|
+
exports.classObjLog = classObjLog;
|
@@ -9,8 +9,6 @@ var _inversify = require("inversify");
|
|
9
9
|
|
10
10
|
var _Shell = require("../../tools/shell/Shell");
|
11
11
|
|
12
|
-
var _AppLogger = require("../../log/AppLogger");
|
13
|
-
|
14
12
|
var _Fs = require("../../fs/Fs");
|
15
13
|
|
16
14
|
var _RcloneClient = require("./RcloneClient");
|
@@ -19,6 +17,8 @@ var _B2CredentialsProvider = require("../b2/B2CredentialsProvider");
|
|
19
17
|
|
20
18
|
var _RcloneBackupBackend = require("./RcloneBackupBackend");
|
21
19
|
|
20
|
+
var _logging = require("../../log/logging");
|
21
|
+
|
22
22
|
var _dec, _dec2, _dec3, _class;
|
23
23
|
|
24
24
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
@@ -34,13 +34,14 @@ const parseRepoUrl = url => {
|
|
34
34
|
};
|
35
35
|
};
|
36
36
|
|
37
|
-
let RCloneFactory = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell, typeof
|
38
|
-
constructor(sh,
|
37
|
+
let RCloneFactory = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell, typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs, typeof _B2CredentialsProvider.B2CredentialsProvider === "undefined" ? Object : _B2CredentialsProvider.B2CredentialsProvider]), _dec(_class = _dec2(_class = _dec3(_class = class RCloneFactory {
|
38
|
+
constructor(sh, fs, b2) {
|
39
39
|
this.sh = sh;
|
40
|
-
this.log = log;
|
41
40
|
this.fs = fs;
|
42
41
|
this.b2 = b2;
|
43
42
|
|
43
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
44
|
+
|
44
45
|
_defineProperty(this, "createBackupBackend", cfg => new _RcloneBackupBackend.RcloneBackupBackend(this.createClient(cfg)));
|
45
46
|
|
46
47
|
_defineProperty(this, "createClient", cfg => {
|
@@ -65,7 +66,7 @@ let RCloneFactory = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metada
|
|
65
66
|
if (creds) throw new Error(`Credentials not supported for local rclone`);
|
66
67
|
}
|
67
68
|
|
68
|
-
return new _RcloneClient.RcloneClient(props, this.sh
|
69
|
+
return new _RcloneClient.RcloneClient(props, this.sh);
|
69
70
|
});
|
70
71
|
}
|
71
72
|
|
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.RcloneBackupBackend = void 0;
|
7
7
|
|
8
|
-
var _AppLogger = require("../../log/AppLogger");
|
9
|
-
|
10
8
|
var _nclif = require("@ps-aux/nclif");
|
11
9
|
|
10
|
+
var _logging = require("../../log/logging");
|
11
|
+
|
12
12
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
13
13
|
|
14
14
|
class RcloneBackupBackend {
|
15
15
|
constructor(rclone) {
|
16
16
|
this.rclone = rclone;
|
17
17
|
|
18
|
-
_defineProperty(this, "log", (0,
|
18
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
19
19
|
|
20
20
|
_defineProperty(this, "backup", (from, tags) => {
|
21
21
|
if (tags) throw new _nclif.InvalidInputError(`Rclone does not support tags`);
|
@@ -7,10 +7,10 @@ exports.RcloneClient = void 0;
|
|
7
7
|
|
8
8
|
var _inversify = require("inversify");
|
9
9
|
|
10
|
-
var _types = require("../../types");
|
11
|
-
|
12
10
|
var _Shell = require("../../tools/shell/Shell");
|
13
11
|
|
12
|
+
var _logging = require("../../log/logging");
|
13
|
+
|
14
14
|
var _dec, _dec2, _dec3, _class;
|
15
15
|
|
16
16
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
@@ -19,18 +19,19 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
19
19
|
* Tested with: rclone v1.57.0
|
20
20
|
* TODO forwarding stdout to the logger
|
21
21
|
*/
|
22
|
-
let RcloneClient = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof RcloneConfig === "undefined" ? Object : RcloneConfig, typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell
|
23
|
-
constructor(cfg, shell
|
22
|
+
let RcloneClient = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof RcloneConfig === "undefined" ? Object : RcloneConfig, typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell]), _dec(_class = _dec2(_class = _dec3(_class = class RcloneClient {
|
23
|
+
constructor(cfg, shell) {
|
24
24
|
this.cfg = cfg;
|
25
25
|
this.shell = shell;
|
26
|
-
this.log = log;
|
27
26
|
|
28
27
|
_defineProperty(this, "remoteName", 'my');
|
29
28
|
|
30
29
|
_defineProperty(this, "cryptRemoteName", 'crypt');
|
31
30
|
|
31
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
32
|
+
|
32
33
|
_defineProperty(this, "backup", from => {
|
33
|
-
this.log.debug('Running backup for ', this.cfg.type, this.cfg.location);
|
34
|
+
this.log.debug('Running backup for %s %s', this.cfg.type, this.cfg.location);
|
34
35
|
this.shell.exec(`rclone sync ${from.str()} ${this.actualRemoteName}:${this.cfg.location} --config=noconfig`, // Rclone logs error if the file is not set even though it supports env var interface
|
35
36
|
{
|
36
37
|
env: this.env()
|
@@ -38,7 +39,7 @@ let RcloneClient = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadat
|
|
38
39
|
});
|
39
40
|
|
40
41
|
_defineProperty(this, "restore", to => {
|
41
|
-
this.log.debug('Running restore for ', this.cfg.type, this.cfg.location);
|
42
|
+
this.log.debug('Running restore for %s %s', this.cfg.type, this.cfg.location);
|
42
43
|
this.shell.exec(`rclone sync ${this.actualRemoteName}:${this.cfg.location} ${to.str()} --config=noconfig`, {
|
43
44
|
env: this.env()
|
44
45
|
});
|
@@ -15,7 +15,6 @@ var _b2TestConfig = require("../../../test/b2TestConfig");
|
|
15
15
|
var _testHelper = require("../../../test/testHelper");
|
16
16
|
|
17
17
|
describe('RcloneClient', () => {
|
18
|
-
const l = _testHelper.testLog;
|
19
18
|
const getRestoreDir = (0, _test.testdataDirBuilder)('b2/restore');
|
20
19
|
describe('local', () => {
|
21
20
|
const backupDir = (0, _test.testDir)('backup/1');
|
@@ -33,7 +32,7 @@ describe('RcloneClient', () => {
|
|
33
32
|
(0, _testHelper.cleanDir)(restoreDir);
|
34
33
|
});
|
35
34
|
it('backup & restore', () => {
|
36
|
-
const sut = new _RcloneClient.RcloneClient(cfg, new _Shell.Shell(
|
35
|
+
const sut = new _RcloneClient.RcloneClient(cfg, new _Shell.Shell());
|
37
36
|
sut.backup(_Path.AbsPath.from(backupDir));
|
38
37
|
sut.restore(_Path.AbsPath.from(restoreDir));
|
39
38
|
const res = (0, _dirCompare.compareSync)(backupDir, restoreDir);
|
@@ -42,7 +41,7 @@ describe('RcloneClient', () => {
|
|
42
41
|
it('backup & restore unencrypted', () => {
|
43
42
|
const sut = new _RcloneClient.RcloneClient({ ...cfg,
|
44
43
|
encryption: undefined
|
45
|
-
}, new _Shell.Shell(
|
44
|
+
}, new _Shell.Shell());
|
46
45
|
sut.backup(_Path.AbsPath.from(backupDir));
|
47
46
|
sut.restore(_Path.AbsPath.from(restoreDir));
|
48
47
|
const res = (0, _dirCompare.compareSync)(backupDir, restoreDir);
|
@@ -68,7 +67,7 @@ describe('RcloneClient', () => {
|
|
68
67
|
encryption: {
|
69
68
|
password: 'foo123'
|
70
69
|
}
|
71
|
-
}, new _Shell.Shell(
|
70
|
+
}, new _Shell.Shell());
|
72
71
|
const restoreDir = getRestoreDir('b2');
|
73
72
|
afterAll(() => {
|
74
73
|
(0, _testHelper.cleanDir)(restoreDir);
|
@@ -7,7 +7,7 @@ exports.ResticBackupBackend = void 0;
|
|
7
7
|
|
8
8
|
var _Path = require("../../fs/path/Path");
|
9
9
|
|
10
|
-
var
|
10
|
+
var _logging = require("../../log/logging");
|
11
11
|
|
12
12
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
13
13
|
|
@@ -15,7 +15,7 @@ class ResticBackupBackend {
|
|
15
15
|
constructor(restic) {
|
16
16
|
this.restic = restic;
|
17
17
|
|
18
|
-
_defineProperty(this, "log", (0,
|
18
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
19
19
|
|
20
20
|
_defineProperty(this, "backup", (from, tags = []) => {
|
21
21
|
this.log.info(`Performing backup from=${from}, tags=${tags}`);
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.ResticClient = void 0;
|
7
7
|
|
8
|
+
var _logging = require("../../log/logging");
|
9
|
+
|
8
10
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
9
11
|
|
10
12
|
const normalizeUrl = url => {
|
@@ -20,13 +22,14 @@ const normalizeUrl = url => {
|
|
20
22
|
* TODO forwarding stdout to the logger
|
21
23
|
*/
|
22
24
|
class ResticClient {
|
23
|
-
constructor(cfg, shell
|
25
|
+
constructor(cfg, shell) {
|
24
26
|
this.cfg = cfg;
|
25
27
|
this.shell = shell;
|
26
|
-
this.log = log;
|
27
28
|
|
28
29
|
_defineProperty(this, "url", void 0);
|
29
30
|
|
31
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
32
|
+
|
30
33
|
_defineProperty(this, "prepareRepo", () => {
|
31
34
|
this.log.info(`Preparing a restic repo at '${this.url}`);
|
32
35
|
this.shell.exec(`restic init`, {
|
@@ -15,7 +15,6 @@ var _testHelper = require("../../../test/testHelper");
|
|
15
15
|
var _b2TestConfig = require("../../../test/b2TestConfig");
|
16
16
|
|
17
17
|
describe('ResticClient', () => {
|
18
|
-
const l = _testHelper.testLog;
|
19
18
|
const password = 'foo123';
|
20
19
|
describe('local', () => {
|
21
20
|
const backupDir = (0, _test.testDir)('backup/1');
|
@@ -26,7 +25,7 @@ describe('ResticClient', () => {
|
|
26
25
|
password,
|
27
26
|
url: `local:${repoDir}`
|
28
27
|
}
|
29
|
-
}, new _Shell.Shell(
|
28
|
+
}, new _Shell.Shell());
|
30
29
|
afterAll(() => {
|
31
30
|
(0, _testHelper.cleanDir)(repoDir);
|
32
31
|
(0, _testHelper.cleanDir)(restoreDir);
|
@@ -73,7 +72,7 @@ describe('ResticClient', () => {
|
|
73
72
|
url: repoUrl
|
74
73
|
},
|
75
74
|
backblaze: b2Cfg
|
76
|
-
}, new _Shell.Shell(
|
75
|
+
}, new _Shell.Shell());
|
77
76
|
afterAll(() => {
|
78
77
|
(0, _testHelper.cleanDir)(restoreDir);
|
79
78
|
});
|
@@ -13,12 +13,12 @@ var _config = require("../../config");
|
|
13
13
|
|
14
14
|
var _ResticFactory = require("./ResticFactory");
|
15
15
|
|
16
|
-
var _AppLogger = require("../../log/AppLogger");
|
17
|
-
|
18
16
|
var _StorageConfigProvider = require("../StorageConfigProvider");
|
19
17
|
|
20
18
|
var _types = require("../types");
|
21
19
|
|
20
|
+
var _logging = require("../../log/logging");
|
21
|
+
|
22
22
|
var _dec, _dec2, _dec3, _dec4, _class;
|
23
23
|
|
24
24
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
@@ -31,7 +31,7 @@ let ResticController = (_dec = (0, _inversify.injectable)(), _dec2 = function (t
|
|
31
31
|
this.cfg = cfg;
|
32
32
|
this.storageConfigProvider = storageConfigProvider;
|
33
33
|
|
34
|
-
_defineProperty(this, "log", (0,
|
34
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
35
35
|
|
36
36
|
_defineProperty(this, "client", () => {
|
37
37
|
const props = this.storageConfigProvider.provide();
|
@@ -11,8 +11,6 @@ var _ResticClient = require("./ResticClient");
|
|
11
11
|
|
12
12
|
var _Shell = require("../../tools/shell/Shell");
|
13
13
|
|
14
|
-
var _AppLogger = require("../../log/AppLogger");
|
15
|
-
|
16
14
|
var _Fs = require("../../fs/Fs");
|
17
15
|
|
18
16
|
var _B2CredentialsProvider = require("../b2/B2CredentialsProvider");
|
@@ -23,10 +21,9 @@ var _dec, _dec2, _dec3, _class;
|
|
23
21
|
|
24
22
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
25
23
|
|
26
|
-
let ResticFactory = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell, typeof
|
27
|
-
constructor(sh,
|
24
|
+
let ResticFactory = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [typeof _Shell.Shell === "undefined" ? Object : _Shell.Shell, typeof _Fs.Fs === "undefined" ? Object : _Fs.Fs, typeof _B2CredentialsProvider.B2CredentialsProvider === "undefined" ? Object : _B2CredentialsProvider.B2CredentialsProvider]), _dec(_class = _dec2(_class = _dec3(_class = class ResticFactory {
|
25
|
+
constructor(sh, fs, b2) {
|
28
26
|
this.sh = sh;
|
29
|
-
this.log = log;
|
30
27
|
this.fs = fs;
|
31
28
|
this.b2 = b2;
|
32
29
|
|
@@ -49,7 +46,7 @@ let ResticFactory = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metada
|
|
49
46
|
if (creds) throw new Error('Credentials can be set only for the B2 restic backend');
|
50
47
|
}
|
51
48
|
|
52
|
-
return new _ResticClient.ResticClient(props, this.sh
|
49
|
+
return new _ResticClient.ResticClient(props, this.sh);
|
53
50
|
});
|
54
51
|
}
|
55
52
|
|
@@ -9,31 +9,31 @@ var _admZip = _interopRequireDefault(require("adm-zip"));
|
|
9
9
|
|
10
10
|
var _inversify = require("inversify");
|
11
11
|
|
12
|
-
var
|
12
|
+
var _logging = require("../../log/logging");
|
13
13
|
|
14
|
-
var _dec,
|
14
|
+
var _dec, _class;
|
15
15
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
17
|
|
18
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
19
19
|
|
20
|
-
let Zipper = (_dec = (0, _inversify.injectable)(),
|
21
|
-
constructor(
|
22
|
-
this
|
20
|
+
let Zipper = (_dec = (0, _inversify.injectable)(), _dec(_class = class Zipper {
|
21
|
+
constructor() {
|
22
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
23
23
|
|
24
24
|
_defineProperty(this, "zipDir", (dir, to) => {
|
25
|
-
this.log.debug(`Zipping
|
25
|
+
this.log.debug(`Zipping %s to %s`, dir.str(), to.str());
|
26
26
|
const z = new _admZip.default();
|
27
27
|
z.addLocalFolder(dir.str());
|
28
28
|
z.writeZip(to.str());
|
29
29
|
});
|
30
30
|
|
31
31
|
_defineProperty(this, "unzipDir", (zipFile, toDir) => {
|
32
|
-
this.log.debug(`Unzipping
|
32
|
+
this.log.debug(`Unzipping %s to %s`, zipFile.str(), toDir.str());
|
33
33
|
const z = new _admZip.default(zipFile.str());
|
34
34
|
z.extractAllTo(toDir.str());
|
35
35
|
});
|
36
36
|
}
|
37
37
|
|
38
|
-
}) || _class)
|
38
|
+
}) || _class);
|
39
39
|
exports.Zipper = Zipper;
|
@@ -6,10 +6,8 @@ var _Path = require("../../fs/path/Path");
|
|
6
6
|
|
7
7
|
var _testHelper = require("../../../test/testHelper");
|
8
8
|
|
9
|
-
var _AppLogger = require("../../log/AppLogger");
|
10
|
-
|
11
9
|
it('zip', () => {
|
12
|
-
const z = new _Zipper.Zipper(
|
10
|
+
const z = new _Zipper.Zipper();
|
13
11
|
|
14
12
|
const out = _Path.AbsPath.from(__dirname).resolve('../../test-data/out.zip');
|
15
13
|
|
@@ -8,12 +8,10 @@ var _test = require("../../../test");
|
|
8
8
|
|
9
9
|
var _fs = _interopRequireDefault(require("fs"));
|
10
10
|
|
11
|
-
var _testHelper = require("../../../test/testHelper");
|
12
|
-
|
13
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
12
|
|
15
13
|
it('works', () => {
|
16
|
-
const sut = new _Gpg.Gpg(new _Shell.Shell(
|
14
|
+
const sut = new _Gpg.Gpg(new _Shell.Shell());
|
17
15
|
|
18
16
|
const key = _fs.default.readFileSync((0, _test.testDir)('gpg/john.doe@foo.com.key.asc')).toString();
|
19
17
|
|
package/lib/tools/shell/Shell.js
CHANGED
@@ -9,22 +9,22 @@ var _shellCmd = require("./shellCmd");
|
|
9
9
|
|
10
10
|
var _inversify = require("inversify");
|
11
11
|
|
12
|
-
var _AppLogger = require("../../log/AppLogger");
|
13
|
-
|
14
12
|
var _child_process = require("child_process");
|
15
13
|
|
16
|
-
var
|
14
|
+
var _logging = require("../../log/logging");
|
15
|
+
|
16
|
+
var _dec, _class;
|
17
17
|
|
18
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
19
19
|
|
20
20
|
// TODO copy pasted from my other project
|
21
21
|
// TODO don't log the full command as it contains secrets
|
22
|
-
let Shell = (_dec = (0, _inversify.injectable)(),
|
23
|
-
constructor(
|
24
|
-
this
|
22
|
+
let Shell = (_dec = (0, _inversify.injectable)(), _dec(_class = class Shell {
|
23
|
+
constructor() {
|
24
|
+
_defineProperty(this, "log", (0, _logging.classObjLog)(this));
|
25
25
|
|
26
26
|
_defineProperty(this, "exec", (cmd, opts = {}) => {
|
27
|
-
this.log.
|
27
|
+
this.log.trace(cmd);
|
28
28
|
(0, _shellCmd.shellCmd)(cmd, { ...opts
|
29
29
|
});
|
30
30
|
});
|
@@ -34,7 +34,7 @@ let Shell = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("desi
|
|
34
34
|
stdin,
|
35
35
|
opts = {}
|
36
36
|
}) => {
|
37
|
-
this.log.
|
37
|
+
this.log.trace(`<stdin> > ${cmd}`);
|
38
38
|
(0, _shellCmd.shellCmd)(cmd, { ...opts,
|
39
39
|
stdin
|
40
40
|
});
|
@@ -69,5 +69,5 @@ let Shell = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("desi
|
|
69
69
|
});
|
70
70
|
}
|
71
71
|
|
72
|
-
}) || _class)
|
72
|
+
}) || _class);
|
73
73
|
exports.Shell = Shell;
|
@@ -4,13 +4,11 @@ var _SshKeyManager = require("./SshKeyManager");
|
|
4
4
|
|
5
5
|
var _Fs = require("../../fs/Fs");
|
6
6
|
|
7
|
-
var _AppLogger = require("../../log/AppLogger");
|
8
|
-
|
9
7
|
var _Path = require("../../fs/path/Path");
|
10
8
|
|
11
9
|
// TODO setup ci to make tests work
|
12
10
|
it.skip('works', () => {
|
13
|
-
const sut = new _SshKeyManager.SshKeyManager(new _Fs.Fs(_Path.AbsPath.from(__dirname)
|
11
|
+
const sut = new _SshKeyManager.SshKeyManager(new _Fs.Fs(_Path.AbsPath.from(__dirname)));
|
14
12
|
const key = sut.exportKey('id_rsa');
|
15
13
|
console.log('key', key);
|
16
14
|
});
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ps-aux/nodebup",
|
3
|
-
"version": "0.9.
|
3
|
+
"version": "0.9.4",
|
4
4
|
"description": "",
|
5
5
|
"module": "lib/index.js",
|
6
6
|
"main": "lib/index.js",
|
@@ -86,7 +86,8 @@
|
|
86
86
|
"ini": "^2.0.0",
|
87
87
|
"inversify": "^6.0.1",
|
88
88
|
"js-yaml": "^4.1.0",
|
89
|
-
"pino": "^7.
|
89
|
+
"pino": "^7.11.0",
|
90
|
+
"pino-pretty": "^9.1.1",
|
90
91
|
"ramda": "^0.27.1",
|
91
92
|
"reflect-metadata": "^0.1.13",
|
92
93
|
"wait-on": "^6.0.0",
|
package/lib/log/AppLogger.js
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.logger = exports.AppLogger = void 0;
|
7
|
-
|
8
|
-
var _ConsoleLogger = require("./ConsoleLogger");
|
9
|
-
|
10
|
-
var _inversify = require("inversify");
|
11
|
-
|
12
|
-
var _dec, _dec2, _dec3, _class;
|
13
|
-
|
14
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
15
|
-
|
16
|
-
let AppLogger = (_dec = (0, _inversify.injectable)(), _dec2 = Reflect.metadata("design:type", Function), _dec3 = Reflect.metadata("design:paramtypes", [void 0]), _dec(_class = _dec2(_class = _dec3(_class = class AppLogger {
|
17
|
-
constructor(mute = false) {
|
18
|
-
_defineProperty(this, "log", new _ConsoleLogger.ConsoleLogger());
|
19
|
-
|
20
|
-
_defineProperty(this, "debug", this.log.debug);
|
21
|
-
|
22
|
-
_defineProperty(this, "info", this.log.info);
|
23
|
-
|
24
|
-
_defineProperty(this, "error", this.log.error);
|
25
|
-
|
26
|
-
if (mute) this.log.setEnabled(false);
|
27
|
-
}
|
28
|
-
|
29
|
-
}) || _class) || _class) || _class); // TODO make use of the name for logging
|
30
|
-
|
31
|
-
exports.AppLogger = AppLogger;
|
32
|
-
|
33
|
-
const logger = name => new AppLogger();
|
34
|
-
|
35
|
-
exports.logger = logger;
|
package/lib/log/ConsoleLogger.js
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.ConsoleLogger = void 0;
|
7
|
-
|
8
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
9
|
-
|
10
|
-
class ConsoleLogger {
|
11
|
-
constructor() {
|
12
|
-
_defineProperty(this, "enabled", true);
|
13
|
-
|
14
|
-
_defineProperty(this, "print", (...args) => console.log(...args.map(a => a.toString())));
|
15
|
-
|
16
|
-
_defineProperty(this, "debug", (...args) => {
|
17
|
-
if (this.enabled) this.print(args);
|
18
|
-
});
|
19
|
-
|
20
|
-
_defineProperty(this, "info", (...args) => {
|
21
|
-
if (this.enabled) this.print(args);
|
22
|
-
});
|
23
|
-
|
24
|
-
_defineProperty(this, "error", this.print);
|
25
|
-
|
26
|
-
_defineProperty(this, "setEnabled", enabled => {
|
27
|
-
this.enabled = enabled;
|
28
|
-
});
|
29
|
-
}
|
30
|
-
|
31
|
-
}
|
32
|
-
|
33
|
-
exports.ConsoleLogger = ConsoleLogger;
|
package/lib/log/MinimalLogger.js
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.minimalLogger = void 0;
|
7
|
-
|
8
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
9
|
-
|
10
|
-
class MinimalLogger {
|
11
|
-
constructor(onlyError = true) {
|
12
|
-
this.onlyError = onlyError;
|
13
|
-
|
14
|
-
_defineProperty(this, "debug", (...args) => {
|
15
|
-
if (this.onlyError) return;
|
16
|
-
console.log(...args);
|
17
|
-
});
|
18
|
-
|
19
|
-
_defineProperty(this, "info", (...args) => {
|
20
|
-
if (this.onlyError) return;
|
21
|
-
console.log(...args);
|
22
|
-
});
|
23
|
-
|
24
|
-
_defineProperty(this, "error", console.error);
|
25
|
-
}
|
26
|
-
|
27
|
-
}
|
28
|
-
|
29
|
-
const minimalLogger = (onlyError = true) => new MinimalLogger(onlyError);
|
30
|
-
|
31
|
-
exports.minimalLogger = minimalLogger;
|