fcdns 0.3.6 → 0.3.7
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/CHANGELOG.md +96 -0
- package/lib/cli.js +1 -1
- package/lib/cli.js.map +1 -1
- package/lib/logger.js +68 -0
- package/lib/logger.js.map +1 -0
- package/lib/server.js +26 -26
- package/lib/server.js.map +1 -1
- package/lib/utils/countup.js +9 -0
- package/lib/utils/countup.js.map +1 -0
- package/lib/utils/get-elapsed.js +9 -0
- package/lib/utils/get-elapsed.js.map +1 -0
- package/lib/utils/get-timestamp.js +8 -0
- package/lib/utils/get-timestamp.js.map +1 -0
- package/lib/utils/level-to-string.js +16 -0
- package/lib/utils/level-to-string.js.map +1 -0
- package/package.json +15 -15
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
+
|
|
5
|
+
### [0.3.7](https://github.com/BlackGlory/fcdns/compare/v0.3.6...v0.3.7) (2022-03-20)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* forward entire response instead of answers ([326fbaf](https://github.com/BlackGlory/fcdns/commit/326fbaf40bc028bdd8c1d3b7c5c540430aa0e7dd))
|
|
11
|
+
|
|
12
|
+
### [0.3.6](https://github.com/BlackGlory/fcdns/compare/v0.3.5...v0.3.6) (2022-03-03)
|
|
13
|
+
|
|
14
|
+
### [0.3.5](https://github.com/BlackGlory/fcdns/compare/v0.3.4...v0.3.5) (2022-02-28)
|
|
15
|
+
|
|
16
|
+
### [0.3.4](https://github.com/BlackGlory/fcdns/compare/v0.3.3...v0.3.4) (2022-02-28)
|
|
17
|
+
|
|
18
|
+
### [0.3.3](https://github.com/BlackGlory/fcdns/compare/v0.3.2...v0.3.3) (2022-01-02)
|
|
19
|
+
|
|
20
|
+
### [0.3.2](https://github.com/BlackGlory/fcdns/compare/v0.3.1...v0.3.2) (2021-12-21)
|
|
21
|
+
|
|
22
|
+
### [0.3.1](https://github.com/BlackGlory/fcdns/compare/v0.3.0...v0.3.1) (2021-12-17)
|
|
23
|
+
|
|
24
|
+
## [0.3.0](https://github.com/BlackGlory/fcdns/compare/v0.2.7...v0.3.0) (2021-12-17)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### ⚠ BREAKING CHANGES
|
|
28
|
+
|
|
29
|
+
* - The minimum version is Node.js v16
|
|
30
|
+
|
|
31
|
+
* upgrade dependencies ([c9072dc](https://github.com/BlackGlory/fcdns/commit/c9072dc80e8f6867aca7f0a9d05abec154195f21))
|
|
32
|
+
|
|
33
|
+
### [0.2.7](https://github.com/BlackGlory/fcdns/compare/v0.2.6...v0.2.7) (2021-12-12)
|
|
34
|
+
|
|
35
|
+
### [0.2.6](https://github.com/BlackGlory/fcdns/compare/v0.2.5...v0.2.6) (2021-10-17)
|
|
36
|
+
|
|
37
|
+
### [0.2.5](https://github.com/BlackGlory/fcdns/compare/v0.2.4...v0.2.5) (2021-10-14)
|
|
38
|
+
|
|
39
|
+
### [0.2.4](https://github.com/BlackGlory/fcdns/compare/v0.2.3...v0.2.4) (2021-10-06)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Features
|
|
43
|
+
|
|
44
|
+
* add loose mode ([561f7f9](https://github.com/BlackGlory/fcdns/commit/561f7f9181a5bd76e5093ed5e7fc65daadd4702d))
|
|
45
|
+
|
|
46
|
+
### [0.2.3](https://github.com/BlackGlory/fcdns/compare/v0.2.2...v0.2.3) (2021-09-18)
|
|
47
|
+
|
|
48
|
+
### [0.2.2](https://github.com/BlackGlory/fcdns/compare/v0.2.1...v0.2.2) (2021-07-12)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
### Bug Fixes
|
|
52
|
+
|
|
53
|
+
* isHostnamePattern ([eee8e03](https://github.com/BlackGlory/fcdns/commit/eee8e03703e4cac962db6b2d05965f877051c30b))
|
|
54
|
+
|
|
55
|
+
### [0.2.1](https://github.com/BlackGlory/fcdns/compare/v0.2.0...v0.2.1) (2021-07-09)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### Features
|
|
59
|
+
|
|
60
|
+
* improve hostname pattern ([f86b9a6](https://github.com/BlackGlory/fcdns/commit/f86b9a64c92160dc5995fa1dc77e0a1f2c1daa3d))
|
|
61
|
+
|
|
62
|
+
## [0.2.0](https://github.com/BlackGlory/fcdns/compare/v0.1.6...v0.2.0) (2021-07-09)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### ⚠ BREAKING CHANGES
|
|
66
|
+
|
|
67
|
+
* rename whitelist.txt to ip-whitelist.txt
|
|
68
|
+
|
|
69
|
+
### Features
|
|
70
|
+
|
|
71
|
+
* add hostname whitelist ([f96d2f3](https://github.com/BlackGlory/fcdns/commit/f96d2f38daf1506e168d7e380b09edad87165d06))
|
|
72
|
+
* support to parse ip addresses in whitelist ([10024db](https://github.com/BlackGlory/fcdns/commit/10024db45acb5201f67ecc64a7e2cf54ade396b4))
|
|
73
|
+
|
|
74
|
+
### [0.1.6](https://github.com/BlackGlory/fcdns/compare/v0.1.5...v0.1.6) (2021-05-17)
|
|
75
|
+
|
|
76
|
+
### [0.1.5](https://github.com/BlackGlory/fcdns/compare/v0.1.4...v0.1.5) (2021-05-14)
|
|
77
|
+
|
|
78
|
+
### [0.1.4](https://github.com/BlackGlory/fcdns/compare/v0.1.3...v0.1.4) (2021-05-08)
|
|
79
|
+
|
|
80
|
+
### [0.1.3](https://github.com/BlackGlory/fcdns/compare/v0.1.2...v0.1.3) (2021-05-08)
|
|
81
|
+
|
|
82
|
+
### [0.1.2](https://github.com/BlackGlory/fcdns/compare/v0.1.1...v0.1.2) (2021-04-22)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
### Bug Fixes
|
|
86
|
+
|
|
87
|
+
* handle uncaught errors ([a324ed8](https://github.com/BlackGlory/fcdns/commit/a324ed8241feb1aab029b5bd23d3f792bce42c58))
|
|
88
|
+
|
|
89
|
+
### [0.1.1](https://github.com/BlackGlory/fcdns/compare/v0.1.0...v0.1.1) (2021-04-14)
|
|
90
|
+
|
|
91
|
+
## 0.1.0 (2021-04-12)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
### Features
|
|
95
|
+
|
|
96
|
+
* init ([5185bb9](https://github.com/BlackGlory/fcdns/commit/5185bb9103536124b15192b340bd0a91d1eb49af))
|
package/lib/cli.js
CHANGED
|
@@ -72,7 +72,7 @@ function getOptions() {
|
|
|
72
72
|
const testCacheFilename = opts.testCache;
|
|
73
73
|
(0, errors_1.assert)(/^\d+$/.test(opts.testTimeout), 'The parameter test timeout must be integer');
|
|
74
74
|
const testTimeout = Number.parseInt(opts.testTimeout, 10);
|
|
75
|
-
const logLevel = (0, extra_logger_1.stringToLevel)(opts.log,
|
|
75
|
+
const logLevel = (0, extra_logger_1.stringToLevel)(opts.log, extra_logger_1.Level.Info);
|
|
76
76
|
const looseMode = opts.looseMode;
|
|
77
77
|
return {
|
|
78
78
|
testServer,
|
package/lib/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/lib/logger.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
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.createCustomLogger = void 0;
|
|
7
|
+
const extra_logger_1 = require("extra-logger");
|
|
8
|
+
const level_to_string_1 = require("./utils/level-to-string");
|
|
9
|
+
const types_1 = require("@blackglory/types");
|
|
10
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
function createCustomLogger(level) {
|
|
12
|
+
return (0, extra_logger_1.createLogger)(level, {
|
|
13
|
+
[1]: printMessage(1, console.log),
|
|
14
|
+
[2]: printMessage(2, console.log),
|
|
15
|
+
[3]: printMessage(3, console.info),
|
|
16
|
+
[4]: printMessage(4, console.warn),
|
|
17
|
+
[5]: printError(5, console.error),
|
|
18
|
+
[6]: printError(6, console.error)
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.createCustomLogger = createCustomLogger;
|
|
22
|
+
function printMessage(level, log) {
|
|
23
|
+
return ({ id, timestamp, hostname, elapsed, message }) => {
|
|
24
|
+
const pre = createPrefix({ level, id, timestamp, hostname });
|
|
25
|
+
const post = (0, types_1.isntUndefined)(elapsed) ? createPostfix({ elapsed }) : null;
|
|
26
|
+
let result = `${pre} ${message}`;
|
|
27
|
+
if (post) {
|
|
28
|
+
result += ' ' + post;
|
|
29
|
+
}
|
|
30
|
+
log(result);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function printError(level, log) {
|
|
34
|
+
return ({ id, timestamp, hostname, elapsed, reason }) => {
|
|
35
|
+
const pre = createPrefix({ level, id, timestamp, hostname });
|
|
36
|
+
const post = (0, types_1.isntUndefined)(elapsed) ? createPostfix({ elapsed }) : null;
|
|
37
|
+
let result = `${pre} ${reason}`;
|
|
38
|
+
if (post) {
|
|
39
|
+
result += ' ' + post;
|
|
40
|
+
}
|
|
41
|
+
log(result);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function createPrefix({ level, timestamp, id, hostname }) {
|
|
45
|
+
return `[${(0, level_to_string_1.levelToString)(level).toUpperCase()}]`
|
|
46
|
+
+ `[${formatDate(timestamp)}]`
|
|
47
|
+
+ ` #${id}`
|
|
48
|
+
+ ` ${formatHostname(hostname)}`;
|
|
49
|
+
}
|
|
50
|
+
function createPostfix({ elapsed }) {
|
|
51
|
+
return formatElapsedTime(elapsed);
|
|
52
|
+
}
|
|
53
|
+
function formatDate(timestamp) {
|
|
54
|
+
return new Date(timestamp).toLocaleString();
|
|
55
|
+
}
|
|
56
|
+
function formatHostname(hostname) {
|
|
57
|
+
return chalk_1.default.cyan(hostname);
|
|
58
|
+
}
|
|
59
|
+
function formatElapsedTime(elapsed) {
|
|
60
|
+
if (elapsed <= 100) {
|
|
61
|
+
return chalk_1.default.green `${elapsed}ms`;
|
|
62
|
+
}
|
|
63
|
+
if (elapsed <= 300) {
|
|
64
|
+
return chalk_1.default.yellow `${elapsed}ms`;
|
|
65
|
+
}
|
|
66
|
+
return chalk_1.default.red `${elapsed}ms`;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/lib/server.js
CHANGED
|
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.startServer = void 0;
|
|
30
30
|
const router_1 = require("./router");
|
|
31
31
|
const dns = __importStar(require("native-node-dns"));
|
|
32
|
-
const extra_promise_1 = require("extra-promise");
|
|
33
32
|
const resource_record_type_1 = require("./resource-record-type");
|
|
34
33
|
const return_style_1 = require("return-style");
|
|
35
34
|
const ms_1 = __importDefault(require("ms"));
|
|
@@ -39,28 +38,29 @@ function startServer({ logger, port, router, trustedServer, untrustedServer }) {
|
|
|
39
38
|
server.on('error', console.error);
|
|
40
39
|
server.on('socketError', console.error);
|
|
41
40
|
server.on('request', async (req, res) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
logger.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
41
|
+
logger.trace(`request: ${JSON.stringify(req)}`);
|
|
42
|
+
res.header.rcode = dns.consts.NAME_TO_RCODE.SERVFAIL;
|
|
43
|
+
const startTime = Date.now();
|
|
44
|
+
const question = req.question[0];
|
|
45
|
+
var [err, target] = await (0, return_style_1.getErrorResultAsync)(() => router.getTarget(question.name));
|
|
46
|
+
if (err) {
|
|
47
|
+
logger.error(`${formatHostname(question.name)} ${err}`, getElapsed(startTime));
|
|
48
|
+
logger.trace(`response: ${JSON.stringify(res)}`);
|
|
49
|
+
return res.send();
|
|
50
|
+
}
|
|
51
|
+
logger.debug(`${formatHostname(question.name)} ${router_1.Target[target]}`, getElapsed(startTime));
|
|
52
|
+
const server = target === router_1.Target.Trusted ? trustedServer : untrustedServer;
|
|
53
|
+
var [err, response] = await (0, return_style_1.getErrorResultAsync)(() => resolve(server, question));
|
|
54
|
+
if (err) {
|
|
55
|
+
logger.error(`${formatHostname(question.name)} ${err}`, getElapsed(startTime));
|
|
56
|
+
logger.trace(`response: ${JSON.stringify(res)}`);
|
|
57
|
+
return res.send();
|
|
58
|
+
}
|
|
59
|
+
logger.info(`${formatHostname(question.name)} ${resource_record_type_1.ResourceRecordType[question.type]}`, getElapsed(startTime));
|
|
60
|
+
res.header.rcode = response.header.rcode;
|
|
61
|
+
res.answer = response.answer;
|
|
62
|
+
res.authority = response.authority;
|
|
63
|
+
logger.trace(`response: ${JSON.stringify(res)}`);
|
|
64
64
|
res.send();
|
|
65
65
|
});
|
|
66
66
|
return server.serve(port);
|
|
@@ -68,7 +68,7 @@ function startServer({ logger, port, router, trustedServer, untrustedServer }) {
|
|
|
68
68
|
exports.startServer = startServer;
|
|
69
69
|
function resolve(server, question) {
|
|
70
70
|
return new Promise((resolve, reject) => {
|
|
71
|
-
|
|
71
|
+
let response;
|
|
72
72
|
const request = dns.Request({
|
|
73
73
|
question,
|
|
74
74
|
server: {
|
|
@@ -82,11 +82,11 @@ function resolve(server, question) {
|
|
|
82
82
|
});
|
|
83
83
|
request.on('timeout', () => reject());
|
|
84
84
|
request.on('cancelled', () => reject());
|
|
85
|
-
request.on('end', () => resolve(
|
|
85
|
+
request.on('end', () => resolve(response));
|
|
86
86
|
request.on('message', (err, msg) => {
|
|
87
87
|
if (err)
|
|
88
88
|
return reject(err);
|
|
89
|
-
|
|
89
|
+
response = msg;
|
|
90
90
|
});
|
|
91
91
|
request.send();
|
|
92
92
|
});
|
package/lib/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyC;AACzC,qDAAsC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countup.js","sourceRoot":"","sources":["../../src/utils/countup.ts"],"names":[],"mappings":";;;AAAA,IAAI,KAAK,GAAG,CAAC,CAAA;AAEb,SAAgB,OAAO;IACrB,OAAO,EAAE,KAAK,CAAA;AAChB,CAAC;AAFD,0BAEC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getElapsed = void 0;
|
|
4
|
+
const get_timestamp_1 = require("./get-timestamp");
|
|
5
|
+
function getElapsed(startTime) {
|
|
6
|
+
return (0, get_timestamp_1.getTimestamp)() - startTime;
|
|
7
|
+
}
|
|
8
|
+
exports.getElapsed = getElapsed;
|
|
9
|
+
//# sourceMappingURL=get-elapsed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-elapsed.js","sourceRoot":"","sources":["../../src/utils/get-elapsed.ts"],"names":[],"mappings":";;;AAAA,wDAAmD;AAEnD,SAAgB,UAAU,CAAC,SAAiB;IAC1C,OAAO,IAAA,4BAAY,GAAE,GAAG,SAAS,CAAA;AACnC,CAAC;AAFD,gCAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-timestamp.js","sourceRoot":"","sources":["../../src/utils/get-timestamp.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY;IAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.levelToString = void 0;
|
|
4
|
+
function levelToString(level) {
|
|
5
|
+
switch (level) {
|
|
6
|
+
case 3: return 'Info';
|
|
7
|
+
case 2: return 'Debug';
|
|
8
|
+
case 4: return 'Warn';
|
|
9
|
+
case 1: return 'Trace';
|
|
10
|
+
case 5: return 'Error';
|
|
11
|
+
case 6: return 'Fatal';
|
|
12
|
+
default: return 'None';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.levelToString = levelToString;
|
|
16
|
+
//# sourceMappingURL=level-to-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-to-string.js","sourceRoot":"","sources":["../../src/utils/level-to-string.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,KAAY;IACxC,QAAQ,KAAK,EAAE;QACb,MAAe,CAAC,CAAC,OAAO,MAAM,CAAA;QAC9B,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,MAAe,CAAC,CAAC,OAAO,MAAM,CAAA;QAC9B,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAA;KACvB;AACH,CAAC;AAVD,sCAUC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fcdns",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.7",
|
|
4
4
|
"description": "DNS relay server with fact-checking.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dns"
|
|
@@ -30,15 +30,15 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@commitlint/cli": "^16.2.
|
|
33
|
+
"@commitlint/cli": "^16.2.3",
|
|
34
34
|
"@commitlint/config-conventional": "^16.2.1",
|
|
35
35
|
"@types/jest": "^27.4.1",
|
|
36
36
|
"@types/ms": "^0.7.31",
|
|
37
37
|
"@types/node": "14",
|
|
38
38
|
"@types/ping": "^0.4.1",
|
|
39
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
40
|
-
"@typescript-eslint/parser": "^5.
|
|
41
|
-
"eslint": "^8.
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^5.15.0",
|
|
40
|
+
"@typescript-eslint/parser": "^5.15.0",
|
|
41
|
+
"eslint": "^8.11.0",
|
|
42
42
|
"husky": "4",
|
|
43
43
|
"internet-number": "^3.0.1",
|
|
44
44
|
"jest": "^27.5.1",
|
|
@@ -46,24 +46,24 @@
|
|
|
46
46
|
"rimraf": "^3.0.2",
|
|
47
47
|
"standard-version": "^9.3.2",
|
|
48
48
|
"ts-jest": "^27.1.3",
|
|
49
|
-
"tsconfig-paths": "^3.
|
|
49
|
+
"tsconfig-paths": "^3.14.0",
|
|
50
50
|
"tscpaths": "^0.0.9",
|
|
51
51
|
"typescript": "^4.6.2"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@blackglory/errors": "^2.2.
|
|
55
|
-
"@blackglory/go": "^0.
|
|
56
|
-
"@blackglory/types": "^0.
|
|
54
|
+
"@blackglory/errors": "^2.2.1",
|
|
55
|
+
"@blackglory/go": "^1.0.0",
|
|
56
|
+
"@blackglory/types": "^1.0.0",
|
|
57
57
|
"address-range": "^0.2.9",
|
|
58
58
|
"chalk": "^4.1.2",
|
|
59
|
-
"commander": "^9.
|
|
60
|
-
"extra-filesystem": "^0.4.
|
|
61
|
-
"extra-logger": "^0.6.
|
|
62
|
-
"extra-promise": "^0.
|
|
63
|
-
"iterable-operator": "^0.
|
|
59
|
+
"commander": "^9.1.0",
|
|
60
|
+
"extra-filesystem": "^0.4.2",
|
|
61
|
+
"extra-logger": "^0.6.5",
|
|
62
|
+
"extra-promise": "^1.0.1",
|
|
63
|
+
"iterable-operator": "^1.0.1",
|
|
64
64
|
"ms": "^2.1.3",
|
|
65
65
|
"native-node-dns": "^0.7.6",
|
|
66
66
|
"ping": "^0.4.1",
|
|
67
|
-
"return-style": "^0.
|
|
67
|
+
"return-style": "^1.0.0"
|
|
68
68
|
}
|
|
69
69
|
}
|