@mainsail/kernel 0.0.1-rc.3 → 0.0.1-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distribution/application.js +65 -72
- package/distribution/application.js.map +1 -1
- package/distribution/bootstrap/boot-service-providers.js +4 -0
- package/distribution/bootstrap/boot-service-providers.js.map +1 -1
- package/distribution/bootstrap/listen-to-shutdown-signals.js +1 -0
- package/distribution/bootstrap/listen-to-shutdown-signals.js.map +1 -1
- package/distribution/bootstrap/listeners.js +18 -35
- package/distribution/bootstrap/listeners.js.map +1 -1
- package/distribution/bootstrap/load-configuration.js +1 -0
- package/distribution/bootstrap/load-configuration.js.map +1 -1
- package/distribution/bootstrap/load-environment-variables.js +1 -0
- package/distribution/bootstrap/load-environment-variables.js.map +1 -1
- package/distribution/bootstrap/load-service-providers.js +33 -39
- package/distribution/bootstrap/load-service-providers.js.map +1 -1
- package/distribution/bootstrap/register-base-bindings.js +2 -0
- package/distribution/bootstrap/register-base-bindings.js.map +1 -1
- package/distribution/bootstrap/register-base-configuration.js +2 -0
- package/distribution/bootstrap/register-base-configuration.js.map +1 -1
- package/distribution/bootstrap/register-base-paths.js +3 -0
- package/distribution/bootstrap/register-base-paths.js.map +1 -1
- package/distribution/bootstrap/register-base-service-providers.js +1 -0
- package/distribution/bootstrap/register-base-service-providers.js.map +1 -1
- package/distribution/bootstrap/register-service-providers.js +42 -50
- package/distribution/bootstrap/register-service-providers.js.map +1 -1
- package/distribution/ipc/handler.js +1 -0
- package/distribution/ipc/handler.js.map +1 -1
- package/distribution/ipc/sub-process.js +4 -3
- package/distribution/ipc/sub-process.js.map +1 -1
- package/distribution/providers/plugin-configuration.js +21 -37
- package/distribution/providers/plugin-configuration.js.map +1 -1
- package/distribution/providers/plugin-manifest.js +6 -20
- package/distribution/providers/plugin-manifest.js.map +1 -1
- package/distribution/providers/service-provider-repository.js +27 -38
- package/distribution/providers/service-provider-repository.js.map +1 -1
- package/distribution/providers/service-provider.js +17 -32
- package/distribution/providers/service-provider.js.map +1 -1
- package/distribution/services/cache/drivers/memory.js +13 -21
- package/distribution/services/cache/drivers/memory.js.map +1 -1
- package/distribution/services/config/drivers/local.d.ts.map +1 -1
- package/distribution/services/config/drivers/local.js +89 -93
- package/distribution/services/config/drivers/local.js.map +1 -1
- package/distribution/services/config/repository.js +8 -23
- package/distribution/services/config/repository.js.map +1 -1
- package/distribution/services/config/watcher.js +6 -20
- package/distribution/services/config/watcher.js.map +1 -1
- package/distribution/services/events/drivers/memory.js +35 -44
- package/distribution/services/events/drivers/memory.js.map +1 -1
- package/distribution/services/filesystem/drivers/local.js +3 -0
- package/distribution/services/filesystem/drivers/local.js.map +1 -1
- package/distribution/services/log/drivers/memory.js +14 -29
- package/distribution/services/log/drivers/memory.js.map +1 -1
- package/distribution/services/pipeline/drivers/memory.js +5 -12
- package/distribution/services/pipeline/drivers/memory.js.map +1 -1
- package/distribution/services/queue/drivers/memory.js +69 -85
- package/distribution/services/queue/drivers/memory.js.map +1 -1
- package/distribution/services/schedule/block-job.js +3 -3
- package/distribution/services/schedule/block-job.js.map +1 -1
- package/distribution/services/schedule/cron-job.js +46 -72
- package/distribution/services/schedule/cron-job.js.map +1 -1
- package/distribution/services/schedule/listeners.js +6 -19
- package/distribution/services/schedule/listeners.js.map +1 -1
- package/distribution/services/schedule/schedule.js +1 -0
- package/distribution/services/schedule/schedule.js.map +1 -1
- package/distribution/services/triggers/action.js +9 -18
- package/distribution/services/triggers/action.js.map +1 -1
- package/distribution/services/triggers/triggers.js +41 -53
- package/distribution/services/triggers/triggers.js.map +1 -1
- package/distribution/services/validation/drivers/joi.js +26 -45
- package/distribution/services/validation/drivers/joi.js.map +1 -1
- package/distribution/support/class-manager.js +16 -31
- package/distribution/support/class-manager.js.map +1 -1
- package/distribution/support/instance-manager.js +16 -31
- package/distribution/support/instance-manager.js.map +1 -1
- package/package.json +17 -17
|
@@ -7,25 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
11
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
12
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
13
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
|
-
};
|
|
15
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
16
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
17
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
18
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
19
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
20
|
-
};
|
|
21
|
-
var _ServiceProvider_packageConfiguration, _ServiceProvider_packageManifest;
|
|
22
10
|
import { inject, injectable } from "@mainsail/container";
|
|
23
11
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
24
12
|
let ServiceProvider = class ServiceProvider {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
13
|
+
app;
|
|
14
|
+
#packageConfiguration;
|
|
15
|
+
#packageManifest;
|
|
29
16
|
async boot() {
|
|
30
17
|
//
|
|
31
18
|
}
|
|
@@ -33,34 +20,34 @@ let ServiceProvider = class ServiceProvider {
|
|
|
33
20
|
//
|
|
34
21
|
}
|
|
35
22
|
manifest() {
|
|
36
|
-
return
|
|
23
|
+
return this.#packageManifest;
|
|
37
24
|
}
|
|
38
25
|
setManifest(manifest) {
|
|
39
|
-
|
|
26
|
+
this.#packageManifest = manifest;
|
|
40
27
|
}
|
|
41
28
|
name() {
|
|
42
|
-
if (
|
|
43
|
-
return
|
|
29
|
+
if (this.#packageManifest) {
|
|
30
|
+
return this.#packageManifest.get("name");
|
|
44
31
|
}
|
|
45
32
|
return undefined;
|
|
46
33
|
}
|
|
47
34
|
version() {
|
|
48
|
-
if (
|
|
49
|
-
return
|
|
35
|
+
if (this.#packageManifest) {
|
|
36
|
+
return this.#packageManifest.get("version");
|
|
50
37
|
}
|
|
51
38
|
return undefined;
|
|
52
39
|
}
|
|
53
40
|
alias() {
|
|
54
|
-
if (
|
|
55
|
-
return
|
|
41
|
+
if (this.#packageManifest) {
|
|
42
|
+
return this.#packageManifest.get("arkecosystem.core.alias");
|
|
56
43
|
}
|
|
57
44
|
return undefined;
|
|
58
45
|
}
|
|
59
46
|
config() {
|
|
60
|
-
return
|
|
47
|
+
return this.#packageConfiguration;
|
|
61
48
|
}
|
|
62
49
|
setConfig(config) {
|
|
63
|
-
|
|
50
|
+
this.#packageConfiguration = config;
|
|
64
51
|
}
|
|
65
52
|
configDefaults() {
|
|
66
53
|
return {};
|
|
@@ -69,8 +56,8 @@ let ServiceProvider = class ServiceProvider {
|
|
|
69
56
|
return {};
|
|
70
57
|
}
|
|
71
58
|
dependencies() {
|
|
72
|
-
if (
|
|
73
|
-
return
|
|
59
|
+
if (this.#packageManifest) {
|
|
60
|
+
return this.#packageManifest.get("arkecosystem.core.dependencies", []);
|
|
74
61
|
}
|
|
75
62
|
return [];
|
|
76
63
|
}
|
|
@@ -81,14 +68,12 @@ let ServiceProvider = class ServiceProvider {
|
|
|
81
68
|
return false;
|
|
82
69
|
}
|
|
83
70
|
async required() {
|
|
84
|
-
if (
|
|
85
|
-
return
|
|
71
|
+
if (this.#packageManifest) {
|
|
72
|
+
return this.#packageManifest.get("arkecosystem.core.required", false);
|
|
86
73
|
}
|
|
87
74
|
return false;
|
|
88
75
|
}
|
|
89
76
|
};
|
|
90
|
-
_ServiceProvider_packageConfiguration = new WeakMap();
|
|
91
|
-
_ServiceProvider_packageManifest = new WeakMap();
|
|
92
77
|
__decorate([
|
|
93
78
|
inject(Identifiers.Application.Instance),
|
|
94
79
|
__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../../source/providers/service-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../../source/providers/service-provider.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMtD,IAAe,eAAe,GAA9B,MAAe,eAAe;IAEjB,GAAG,CAAgC;IAEtD,qBAAqB,CAAuB;IAE5C,gBAAgB,CAAkB;IAE3B,KAAK,CAAC,IAAI;QAChB,EAAE;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,EAAE;IACH,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAEM,WAAW,CAAC,QAAwB;QAC1C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IAClC,CAAC;IAEM,IAAI;QACV,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,OAAO;QACb,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK;QACX,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,MAAM;QACZ,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAEM,SAAS,CAAC,MAA2B;QAC3C,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACrC,CAAC;IAEM,cAAc;QACpB,OAAO,EAAE,CAAC;IACX,CAAC;IAEM,YAAY;QAClB,OAAO,EAAE,CAAC;IACX,CAAC;IAEM,YAAY;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,eAAwB;QAC7C,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,eAAwB;QAChD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;CAGD,CAAA;AAvFmB;IADlB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;4CACa;AAFjC,eAAe;IADpC,UAAU,EAAE;GACS,eAAe,CAyFpC"}
|
|
@@ -7,32 +7,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
11
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
12
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
13
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
|
-
};
|
|
15
|
-
var _MemoryCacheStore_store;
|
|
16
10
|
import { inject, injectable } from "@mainsail/container";
|
|
17
11
|
import { Contracts, Events, Exceptions, Identifiers } from "@mainsail/contracts";
|
|
18
12
|
let MemoryCacheStore = class MemoryCacheStore {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
13
|
+
eventDispatcher;
|
|
14
|
+
#store = new Map();
|
|
22
15
|
async make() {
|
|
23
16
|
return this;
|
|
24
17
|
}
|
|
25
18
|
async all() {
|
|
26
|
-
return [...
|
|
19
|
+
return [...this.#store.entries()];
|
|
27
20
|
}
|
|
28
21
|
async keys() {
|
|
29
|
-
return [...
|
|
22
|
+
return [...this.#store.keys()];
|
|
30
23
|
}
|
|
31
24
|
async values() {
|
|
32
|
-
return [...
|
|
25
|
+
return [...this.#store.values()];
|
|
33
26
|
}
|
|
34
27
|
async get(key) {
|
|
35
|
-
const value =
|
|
28
|
+
const value = this.#store.get(key);
|
|
36
29
|
if (value) {
|
|
37
30
|
void this.eventDispatcher.dispatch(Events.CacheEvent.Hit, { key, value });
|
|
38
31
|
}
|
|
@@ -42,10 +35,10 @@ let MemoryCacheStore = class MemoryCacheStore {
|
|
|
42
35
|
return value;
|
|
43
36
|
}
|
|
44
37
|
async getMany(keys) {
|
|
45
|
-
return keys.map((key) =>
|
|
38
|
+
return keys.map((key) => this.#store.get(key));
|
|
46
39
|
}
|
|
47
40
|
async put(key, value, seconds) {
|
|
48
|
-
|
|
41
|
+
this.#store.set(key, value);
|
|
49
42
|
void this.eventDispatcher.dispatch(Events.CacheEvent.Written, { key, seconds, value });
|
|
50
43
|
return this.has(key);
|
|
51
44
|
}
|
|
@@ -53,13 +46,13 @@ let MemoryCacheStore = class MemoryCacheStore {
|
|
|
53
46
|
return Promise.all(values.map(async (value) => this.put(value[0], value[1])));
|
|
54
47
|
}
|
|
55
48
|
async has(key) {
|
|
56
|
-
return
|
|
49
|
+
return this.#store.has(key);
|
|
57
50
|
}
|
|
58
51
|
async hasMany(keys) {
|
|
59
52
|
return Promise.all(keys.map(async (key) => this.has(key)));
|
|
60
53
|
}
|
|
61
54
|
async missing(key) {
|
|
62
|
-
return !
|
|
55
|
+
return !this.#store.has(key);
|
|
63
56
|
}
|
|
64
57
|
async missingMany(keys) {
|
|
65
58
|
return Promise.all([...keys].map(async (key) => this.missing(key)));
|
|
@@ -71,7 +64,7 @@ let MemoryCacheStore = class MemoryCacheStore {
|
|
|
71
64
|
throw new Exceptions.NotImplemented(this.constructor.name, "foreverMany");
|
|
72
65
|
}
|
|
73
66
|
async forget(key) {
|
|
74
|
-
|
|
67
|
+
this.#store.delete(key);
|
|
75
68
|
void this.eventDispatcher.dispatch(Events.CacheEvent.Forgotten, { key });
|
|
76
69
|
return this.missing(key);
|
|
77
70
|
}
|
|
@@ -79,15 +72,14 @@ let MemoryCacheStore = class MemoryCacheStore {
|
|
|
79
72
|
return Promise.all(keys.map(async (key) => this.forget(key)));
|
|
80
73
|
}
|
|
81
74
|
async flush() {
|
|
82
|
-
|
|
75
|
+
this.#store.clear();
|
|
83
76
|
void this.eventDispatcher.dispatch(Events.CacheEvent.Flushed);
|
|
84
|
-
return
|
|
77
|
+
return this.#store.size === 0;
|
|
85
78
|
}
|
|
86
79
|
async getPrefix() {
|
|
87
80
|
throw new Exceptions.NotImplemented(this.constructor.name, "getPrefix");
|
|
88
81
|
}
|
|
89
82
|
};
|
|
90
|
-
_MemoryCacheStore_store = new WeakMap();
|
|
91
83
|
__decorate([
|
|
92
84
|
inject(Identifiers.Services.EventDispatcher.Service),
|
|
93
85
|
__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../source/services/cache/drivers/memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../source/services/cache/drivers/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../source/services/config/drivers/local.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AASzE,qBACa,iBAAkB,YAAW,SAAS,CAAC,MAAM,CAAC,YAAY;;IAEtE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAGtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAGhE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAE/B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAczC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../source/services/config/drivers/local.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AASzE,qBACa,iBAAkB,YAAW,SAAS,CAAC,MAAM,CAAC,YAAY;;IAEtE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAGtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAGhE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAE/B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAczC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAsI/C"}
|
|
@@ -7,12 +7,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
11
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
12
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
13
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
|
-
};
|
|
15
|
-
var _LocalConfigLoader_instances, _LocalConfigLoader_loadApplication, _LocalConfigLoader_loadPeers, _LocalConfigLoader_loadValidators, _LocalConfigLoader_loadCryptography, _LocalConfigLoader_loadFromLocation, _LocalConfigLoader_skipFileIfNotExists;
|
|
16
10
|
import { inject, injectable } from "@mainsail/container";
|
|
17
11
|
import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
|
|
18
12
|
import { assert, dotenv, get, set } from "@mainsail/utils";
|
|
@@ -21,9 +15,10 @@ import Joi from "joi";
|
|
|
21
15
|
import { extname } from "path";
|
|
22
16
|
import { ConfigRepository } from "../repository.js";
|
|
23
17
|
let LocalConfigLoader = class LocalConfigLoader {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
app;
|
|
19
|
+
configRepository;
|
|
20
|
+
validationService;
|
|
21
|
+
configFlags;
|
|
27
22
|
async loadEnvironmentVariables() {
|
|
28
23
|
try {
|
|
29
24
|
const config = dotenv.parseFile(this.app.environmentFile());
|
|
@@ -39,103 +34,104 @@ let LocalConfigLoader = class LocalConfigLoader {
|
|
|
39
34
|
}
|
|
40
35
|
async loadConfiguration() {
|
|
41
36
|
try {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
this.#loadApplication();
|
|
38
|
+
this.#loadPeers();
|
|
39
|
+
this.#loadValidators();
|
|
40
|
+
this.#loadCryptography();
|
|
46
41
|
}
|
|
47
42
|
catch (error) {
|
|
48
43
|
throw new Exceptions.ApplicationConfigurationCannotBeLoaded(error.message);
|
|
49
44
|
}
|
|
50
45
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
.
|
|
61
|
-
|
|
62
|
-
main: Joi.array()
|
|
63
|
-
.items(Joi.object().keys({ options: Joi.object().optional(), package: Joi.string() }))
|
|
64
|
-
.required(),
|
|
65
|
-
services: Joi.object().optional(),
|
|
66
|
-
"transaction-pool": Joi.array()
|
|
67
|
-
.items(Joi.object().keys({ options: Joi.object().optional(), package: Joi.string() }))
|
|
68
|
-
.optional(),
|
|
69
|
-
}).unknown(true));
|
|
70
|
-
if (this.validationService.fails()) {
|
|
71
|
-
throw new Error(JSON.stringify(this.validationService.errors()));
|
|
72
|
-
}
|
|
73
|
-
this.configRepository.set("app.flags", {
|
|
74
|
-
...this.app.get(Identifiers.Config.Flags),
|
|
75
|
-
...get(this.validationService.valid(), "flags", {}),
|
|
76
|
-
});
|
|
77
|
-
this.configRepository.set("app.main", get(this.validationService.valid(), "main", []));
|
|
78
|
-
this.configRepository.set("app.transaction-pool", get(this.validationService.valid(), "transaction-pool", []));
|
|
79
|
-
this.configRepository.set("app.crypto-worker", get(this.validationService.valid(), "crypto-worker", []));
|
|
80
|
-
this.configRepository.set("app.evm-api", get(this.validationService.valid(), "evm-api", []));
|
|
81
|
-
};
|
|
82
|
-
_LocalConfigLoader_loadPeers = function _LocalConfigLoader_loadPeers() {
|
|
83
|
-
if (__classPrivateFieldGet(this, _LocalConfigLoader_instances, "m", _LocalConfigLoader_skipFileIfNotExists).call(this, "peers.json")) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
this.validationService.validate(__classPrivateFieldGet(this, _LocalConfigLoader_instances, "m", _LocalConfigLoader_loadFromLocation).call(this, ["peers.json"]), Joi.object({
|
|
87
|
-
list: Joi.array()
|
|
88
|
-
.items(Joi.object().keys({
|
|
89
|
-
ip: Joi.string()
|
|
90
|
-
.ip({ version: ["ipv4", "ipV6"] })
|
|
46
|
+
#loadApplication() {
|
|
47
|
+
this.validationService.validate(this.#loadFromLocation(["app.json"]), Joi.object({
|
|
48
|
+
"crypto-worker": Joi.array()
|
|
49
|
+
.items(Joi.object().keys({ options: Joi.object().optional(), package: Joi.string() }))
|
|
50
|
+
.optional(),
|
|
51
|
+
"evm-api": Joi.array()
|
|
52
|
+
.items(Joi.object().keys({ options: Joi.object().optional(), package: Joi.string() }))
|
|
53
|
+
.optional(),
|
|
54
|
+
flags: Joi.array().items(Joi.string()).optional(),
|
|
55
|
+
main: Joi.array()
|
|
56
|
+
.items(Joi.object().keys({ options: Joi.object().optional(), package: Joi.string() }))
|
|
91
57
|
.required(),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
58
|
+
services: Joi.object().optional(),
|
|
59
|
+
"transaction-pool": Joi.array()
|
|
60
|
+
.items(Joi.object().keys({ options: Joi.object().optional(), package: Joi.string() }))
|
|
61
|
+
.optional(),
|
|
62
|
+
}).unknown(true));
|
|
63
|
+
if (this.validationService.fails()) {
|
|
64
|
+
throw new Error(JSON.stringify(this.validationService.errors()));
|
|
65
|
+
}
|
|
66
|
+
this.configRepository.set("app.flags", {
|
|
67
|
+
...this.app.get(Identifiers.Config.Flags),
|
|
68
|
+
...get(this.validationService.valid(), "flags", {}),
|
|
69
|
+
});
|
|
70
|
+
this.configRepository.set("app.main", get(this.validationService.valid(), "main", []));
|
|
71
|
+
this.configRepository.set("app.transaction-pool", get(this.validationService.valid(), "transaction-pool", []));
|
|
72
|
+
this.configRepository.set("app.crypto-worker", get(this.validationService.valid(), "crypto-worker", []));
|
|
73
|
+
this.configRepository.set("app.evm-api", get(this.validationService.valid(), "evm-api", []));
|
|
99
74
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
75
|
+
#loadPeers() {
|
|
76
|
+
if (this.#skipFileIfNotExists("peers.json")) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.validationService.validate(this.#loadFromLocation(["peers.json"]), Joi.object({
|
|
80
|
+
list: Joi.array()
|
|
81
|
+
.items(Joi.object().keys({
|
|
82
|
+
ip: Joi.string()
|
|
83
|
+
.ip({
|
|
84
|
+
version: ["ipv4", "ipv6"],
|
|
85
|
+
})
|
|
86
|
+
.required(),
|
|
87
|
+
port: Joi.number().port().required(),
|
|
88
|
+
}))
|
|
89
|
+
.required(),
|
|
90
|
+
sources: Joi.array().items(Joi.string().uri()).optional(),
|
|
91
|
+
}));
|
|
92
|
+
if (this.validationService.fails()) {
|
|
93
|
+
throw new Error(JSON.stringify(this.validationService.errors()));
|
|
94
|
+
}
|
|
95
|
+
this.configRepository.set("peers", this.validationService.valid());
|
|
105
96
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
97
|
+
#loadValidators() {
|
|
98
|
+
if (this.#skipFileIfNotExists("validators.json")) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.validationService.validate(this.#loadFromLocation(["validators.json"]), Joi.object({
|
|
102
|
+
keystore: Joi.string().optional(),
|
|
103
|
+
secrets: Joi.array().items(Joi.string()).required(),
|
|
104
|
+
}));
|
|
105
|
+
if (this.validationService.fails()) {
|
|
106
|
+
throw new Error(JSON.stringify(this.validationService.errors()));
|
|
107
|
+
}
|
|
108
|
+
this.configRepository.set("validators", this.validationService.valid());
|
|
112
109
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
110
|
+
#loadCryptography() {
|
|
111
|
+
if (this.#skipFileIfNotExists("crypto.json", true)) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
this.configRepository.set("crypto", this.#loadFromLocation(["crypto.json"]));
|
|
118
115
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return config;
|
|
116
|
+
#loadFromLocation(files) {
|
|
117
|
+
for (const file of files) {
|
|
118
|
+
const fullPath = this.app.configPath(file);
|
|
119
|
+
if (existsSync(fullPath)) {
|
|
120
|
+
const config = extname(fullPath) === ".json"
|
|
121
|
+
? JSON.parse(readFileSync(fullPath).toString())
|
|
122
|
+
: readFileSync(fullPath);
|
|
123
|
+
assert.defined(config);
|
|
124
|
+
return config;
|
|
125
|
+
}
|
|
130
126
|
}
|
|
127
|
+
throw new Exceptions.FileException(`Failed to discovery any files matching [${files.join(", ")}].`);
|
|
131
128
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return
|
|
129
|
+
#skipFileIfNotExists(filename, alwaysOptional = false) {
|
|
130
|
+
if (!existsSync(this.app.configPath(filename))) {
|
|
131
|
+
return alwaysOptional || this.configFlags.allowMissingConfigFiles === true;
|
|
132
|
+
}
|
|
133
|
+
return false;
|
|
137
134
|
}
|
|
138
|
-
return false;
|
|
139
135
|
};
|
|
140
136
|
__decorate([
|
|
141
137
|
inject(Identifiers.Application.Instance),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../source/services/config/drivers/local.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../source/services/config/drivers/local.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,56 +4,41 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
13
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
14
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
15
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
16
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
17
|
-
};
|
|
18
|
-
var _ConfigRepository_items;
|
|
19
7
|
import { injectable } from "@mainsail/container";
|
|
20
8
|
import { assert, get, has, set, unset } from "@mainsail/utils";
|
|
21
9
|
let ConfigRepository = class ConfigRepository {
|
|
22
|
-
|
|
23
|
-
_ConfigRepository_items.set(this, {});
|
|
24
|
-
}
|
|
10
|
+
#items = {};
|
|
25
11
|
all() {
|
|
26
|
-
return
|
|
12
|
+
return this.#items;
|
|
27
13
|
}
|
|
28
14
|
get(key, defaultValue) {
|
|
29
|
-
const value = get(
|
|
15
|
+
const value = get(this.#items, key, defaultValue);
|
|
30
16
|
assert.defined(value);
|
|
31
17
|
return value;
|
|
32
18
|
}
|
|
33
19
|
set(key, value) {
|
|
34
|
-
set(
|
|
20
|
+
set(this.#items, key, value);
|
|
35
21
|
return this.has(key);
|
|
36
22
|
}
|
|
37
23
|
unset(key) {
|
|
38
|
-
unset(
|
|
24
|
+
unset(this.#items, key);
|
|
39
25
|
return this.has(key);
|
|
40
26
|
}
|
|
41
27
|
has(key) {
|
|
42
|
-
return has(
|
|
28
|
+
return has(this.#items, key);
|
|
43
29
|
}
|
|
44
30
|
hasAll(keys) {
|
|
45
31
|
for (const key of keys) {
|
|
46
|
-
if (!has(
|
|
32
|
+
if (!has(this.#items, key)) {
|
|
47
33
|
return false;
|
|
48
34
|
}
|
|
49
35
|
}
|
|
50
36
|
return true;
|
|
51
37
|
}
|
|
52
38
|
merge(items) {
|
|
53
|
-
|
|
39
|
+
this.#items = { ...this.#items, ...items };
|
|
54
40
|
}
|
|
55
41
|
};
|
|
56
|
-
_ConfigRepository_items = new WeakMap();
|
|
57
42
|
ConfigRepository = __decorate([
|
|
58
43
|
injectable()
|
|
59
44
|
], ConfigRepository);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../source/services/config/repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../source/services/config/repository.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKxD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC5B,MAAM,GAA+B,EAAE,CAAC;IAEjC,GAAG;QACT,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAEM,GAAG,CAAI,GAAW,EAAE,YAAgB;QAC1C,MAAM,KAAK,GAAkB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAEjE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtB,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,GAAG,CAAI,GAAW,EAAE,KAAQ;QAClC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,GAAW;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,GAAG,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,IAAc;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,KAAmB;QAC/B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5C,CAAC;CACD,CAAA;AA5CY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA4C5B"}
|
|
@@ -7,42 +7,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
11
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
12
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
13
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
14
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
15
|
-
};
|
|
16
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
-
};
|
|
21
|
-
var _Watcher_watcher;
|
|
22
10
|
import { inject, injectable } from "@mainsail/container";
|
|
23
11
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
24
12
|
import nsfw from "nsfw";
|
|
25
13
|
let Watcher = class Watcher {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
14
|
+
app;
|
|
15
|
+
#watcher;
|
|
29
16
|
async boot() {
|
|
30
17
|
const configFiles = new Set([".env", "validators.json", "peers.json", "plugins.js", "plugins.json"]);
|
|
31
|
-
|
|
18
|
+
this.#watcher = await nsfw(this.app.configPath(), (events) => {
|
|
32
19
|
for (const event of events) {
|
|
33
20
|
if (event.action === 2 /* nsfw.ActionType.MODIFIED */ && configFiles.has(event.file)) {
|
|
34
21
|
this.app.reboot();
|
|
35
22
|
break;
|
|
36
23
|
}
|
|
37
24
|
}
|
|
38
|
-
})
|
|
39
|
-
await
|
|
25
|
+
});
|
|
26
|
+
await this.#watcher.start();
|
|
40
27
|
}
|
|
41
28
|
async dispose() {
|
|
42
|
-
return
|
|
29
|
+
return this.#watcher.stop();
|
|
43
30
|
}
|
|
44
31
|
};
|
|
45
|
-
_Watcher_watcher = new WeakMap();
|
|
46
32
|
__decorate([
|
|
47
33
|
inject(Identifiers.Application.Instance),
|
|
48
34
|
__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../source/services/config/watcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../source/services/config/watcher.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,IAAI,MAAM,MAAM,CAAC;AAGjB,IAAM,OAAO,GAAb,MAAM,OAAO;IAEF,GAAG,CAAgC;IAEpD,QAAQ,CAAa;IAEd,KAAK,CAAC,IAAI;QAChB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;QAErG,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAC5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,MAAM,qCAA6B,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACD,CAAA;AAtBiB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;oCACW;AAFxC,OAAO;IADnB,UAAU,EAAE;GACA,OAAO,CAwBnB"}
|