@mainsail/kernel 0.0.1-evm.3 → 0.0.1-evm.31
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.d.ts +2 -2
- package/distribution/application.d.ts.map +1 -1
- package/distribution/application.js +78 -82
- package/distribution/application.js.map +1 -1
- package/distribution/bootstrap/boot-service-providers.d.ts.map +1 -1
- package/distribution/bootstrap/boot-service-providers.js +9 -3
- 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 +34 -40
- package/distribution/bootstrap/load-service-providers.js.map +1 -1
- package/distribution/bootstrap/register-base-bindings.d.ts.map +1 -1
- package/distribution/bootstrap/register-base-bindings.js +8 -6
- 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.d.ts.map +1 -1
- package/distribution/bootstrap/register-base-paths.js +7 -5
- 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.d.ts.map +1 -1
- package/distribution/bootstrap/register-service-providers.js +44 -55
- package/distribution/bootstrap/register-service-providers.js.map +1 -1
- package/distribution/container.d.ts +2 -2
- package/distribution/container.d.ts.map +1 -1
- package/distribution/container.js.map +1 -1
- package/distribution/environment.d.ts.map +1 -1
- package/distribution/index.d.ts +0 -1
- package/distribution/index.d.ts.map +1 -1
- package/distribution/index.js +0 -1
- package/distribution/index.js.map +1 -1
- package/distribution/ipc/emit.d.ts.map +1 -1
- package/distribution/ipc/handler.d.ts +1 -1
- package/distribution/ipc/handler.d.ts.map +1 -1
- package/distribution/ipc/handler.js +1 -0
- package/distribution/ipc/handler.js.map +1 -1
- package/distribution/ipc/sub-process.d.ts +2 -3
- package/distribution/ipc/sub-process.d.ts.map +1 -1
- package/distribution/ipc/sub-process.js +28 -4
- 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.d.ts.map +1 -1
- package/distribution/providers/service-provider-repository.js +29 -40
- 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.d.ts.map +1 -1
- package/distribution/services/cache/drivers/memory.js +19 -24
- package/distribution/services/cache/drivers/memory.js.map +1 -1
- package/distribution/services/cache/service-provider.d.ts.map +1 -1
- package/distribution/services/cache/service-provider.js +14 -3
- package/distribution/services/cache/service-provider.js.map +1 -1
- package/distribution/services/config/drivers/local.d.ts.map +1 -1
- package/distribution/services/config/drivers/local.js +90 -95
- package/distribution/services/config/drivers/local.js.map +1 -1
- package/distribution/services/config/repository.d.ts.map +1 -1
- package/distribution/services/config/repository.js +9 -25
- 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.d.ts.map +1 -1
- package/distribution/services/events/drivers/memory.js +42 -46
- package/distribution/services/events/drivers/memory.js.map +1 -1
- package/distribution/services/events/manager.d.ts.map +1 -1
- package/distribution/services/events/manager.js +13 -2
- package/distribution/services/events/manager.js.map +1 -1
- package/distribution/services/events/service-provider.d.ts.map +1 -1
- package/distribution/services/events/service-provider.js +14 -3
- package/distribution/services/events/service-provider.js.map +1 -1
- package/distribution/services/filesystem/drivers/local.d.ts +0 -2
- package/distribution/services/filesystem/drivers/local.d.ts.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/filesystem/drivers/null.d.ts +0 -2
- package/distribution/services/filesystem/drivers/null.d.ts.map +1 -1
- package/distribution/services/filesystem/manager.d.ts.map +1 -1
- package/distribution/services/filesystem/manager.js +13 -2
- package/distribution/services/filesystem/manager.js.map +1 -1
- package/distribution/services/filesystem/service-provider.d.ts.map +1 -1
- package/distribution/services/filesystem/service-provider.js +14 -3
- package/distribution/services/filesystem/service-provider.js.map +1 -1
- package/distribution/services/log/drivers/memory.d.ts +1 -0
- package/distribution/services/log/drivers/memory.d.ts.map +1 -1
- package/distribution/services/log/drivers/memory.js +17 -29
- package/distribution/services/log/drivers/memory.js.map +1 -1
- package/distribution/services/log/drivers/null.d.ts +1 -0
- package/distribution/services/log/drivers/null.d.ts.map +1 -1
- package/distribution/services/log/drivers/null.js +3 -0
- package/distribution/services/log/drivers/null.js.map +1 -1
- package/distribution/services/log/manager.d.ts.map +1 -1
- package/distribution/services/log/manager.js +13 -2
- package/distribution/services/log/manager.js.map +1 -1
- package/distribution/services/log/service-provider.d.ts.map +1 -1
- package/distribution/services/log/service-provider.js +14 -3
- package/distribution/services/log/service-provider.js.map +1 -1
- package/distribution/services/pipeline/drivers/memory.d.ts +5 -5
- package/distribution/services/pipeline/drivers/memory.d.ts.map +1 -1
- package/distribution/services/pipeline/drivers/memory.js +4 -11
- package/distribution/services/pipeline/drivers/memory.js.map +1 -1
- package/distribution/services/pipeline/drivers/null.d.ts +3 -4
- package/distribution/services/pipeline/drivers/null.d.ts.map +1 -1
- package/distribution/services/pipeline/drivers/null.js +0 -3
- package/distribution/services/pipeline/drivers/null.js.map +1 -1
- package/distribution/services/pipeline/service-provider.d.ts.map +1 -1
- package/distribution/services/pipeline/service-provider.js +14 -5
- package/distribution/services/pipeline/service-provider.js.map +1 -1
- package/distribution/services/queue/drivers/memory.d.ts +0 -1
- package/distribution/services/queue/drivers/memory.d.ts.map +1 -1
- package/distribution/services/queue/drivers/memory.js +70 -87
- package/distribution/services/queue/drivers/memory.js.map +1 -1
- package/distribution/services/queue/drivers/null.d.ts +0 -1
- package/distribution/services/queue/drivers/null.d.ts.map +1 -1
- package/distribution/services/queue/drivers/null.js +1 -2
- package/distribution/services/queue/drivers/null.js.map +1 -1
- package/distribution/services/queue/service-provider.d.ts.map +1 -1
- package/distribution/services/queue/service-provider.js +14 -5
- package/distribution/services/queue/service-provider.js.map +1 -1
- package/distribution/services/schedule/block-job.d.ts +1 -1
- package/distribution/services/schedule/block-job.d.ts.map +1 -1
- package/distribution/services/schedule/block-job.js +5 -5
- 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.d.ts +1 -1
- package/distribution/services/schedule/listeners.d.ts.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/schedule/service-provider.d.ts.map +1 -1
- package/distribution/services/schedule/service-provider.js +13 -2
- package/distribution/services/schedule/service-provider.js.map +1 -1
- package/distribution/services/triggers/action.d.ts +6 -4
- package/distribution/services/triggers/action.d.ts.map +1 -1
- package/distribution/services/triggers/action.js +9 -18
- package/distribution/services/triggers/action.js.map +1 -1
- package/distribution/services/triggers/service-provider.d.ts.map +1 -1
- package/distribution/services/triggers/service-provider.js +13 -2
- package/distribution/services/triggers/service-provider.js.map +1 -1
- package/distribution/services/triggers/triggers.d.ts +4 -4
- package/distribution/services/triggers/triggers.d.ts.map +1 -1
- package/distribution/services/triggers/triggers.js +42 -50
- 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/services/validation/manager.d.ts.map +1 -1
- package/distribution/services/validation/manager.js +13 -2
- package/distribution/services/validation/manager.js.map +1 -1
- package/distribution/services/validation/service-provider.d.ts.map +1 -1
- package/distribution/services/validation/service-provider.js +14 -3
- package/distribution/services/validation/service-provider.js.map +1 -1
- package/distribution/support/class-manager.d.ts.map +1 -1
- package/distribution/support/class-manager.js +17 -33
- package/distribution/support/class-manager.js.map +1 -1
- package/distribution/support/instance-manager.d.ts.map +1 -1
- package/distribution/support/instance-manager.js +17 -32
- package/distribution/support/instance-manager.js.map +1 -1
- package/distribution/types/container.d.ts +1 -1
- package/distribution/types/container.d.ts.map +1 -1
- package/distribution/types/index.d.ts +1 -1
- package/distribution/types/index.d.ts.map +1 -1
- package/package.json +23 -26
- package/distribution/services/mixins/index.d.ts +0 -2
- package/distribution/services/mixins/index.d.ts.map +0 -1
- package/distribution/services/mixins/index.js +0 -2
- package/distribution/services/mixins/index.js.map +0 -1
- package/distribution/services/mixins/mixins.d.ts +0 -10
- package/distribution/services/mixins/mixins.d.ts.map +0 -1
- package/distribution/services/mixins/mixins.js +0 -50
- package/distribution/services/mixins/mixins.js.map +0 -1
- package/distribution/services/mixins/service-provider.d.ts +0 -5
- package/distribution/services/mixins/service-provider.d.ts.map +0 -1
- package/distribution/services/mixins/service-provider.js +0 -9
- package/distribution/services/mixins/service-provider.js.map +0 -1
- package/distribution/utils/assert.d.ts +0 -16
- package/distribution/utils/assert.d.ts.map +0 -1
- package/distribution/utils/assert.js +0 -24
- package/distribution/utils/assert.js.map +0 -1
- package/distribution/utils/calculate-forging-info.d.ts +0 -10
- package/distribution/utils/calculate-forging-info.d.ts.map +0 -1
- package/distribution/utils/calculate-forging-info.js +0 -24
- package/distribution/utils/calculate-forging-info.js.map +0 -1
- package/distribution/utils/format-currency.d.ts +0 -4
- package/distribution/utils/format-currency.d.ts.map +0 -1
- package/distribution/utils/format-currency.js +0 -9
- package/distribution/utils/format-currency.js.map +0 -1
- package/distribution/utils/index.d.ts +0 -24
- package/distribution/utils/index.d.ts.map +0 -1
- package/distribution/utils/index.js +0 -19
- package/distribution/utils/index.js.map +0 -1
- package/distribution/utils/ip-address.d.ts +0 -5
- package/distribution/utils/ip-address.d.ts.map +0 -1
- package/distribution/utils/ip-address.js +0 -18
- package/distribution/utils/ip-address.js.map +0 -1
- package/distribution/utils/is-blacklisted.d.ts +0 -2
- package/distribution/utils/is-blacklisted.d.ts.map +0 -1
- package/distribution/utils/is-blacklisted.js +0 -17
- package/distribution/utils/is-blacklisted.js.map +0 -1
- package/distribution/utils/is-block-chained.d.ts +0 -4
- package/distribution/utils/is-block-chained.d.ts.map +0 -1
- package/distribution/utils/is-block-chained.js +0 -29
- package/distribution/utils/is-block-chained.js.map +0 -1
- package/distribution/utils/is-majority.d.ts +0 -2
- package/distribution/utils/is-majority.d.ts.map +0 -1
- package/distribution/utils/is-majority.js +0 -2
- package/distribution/utils/is-majority.js.map +0 -1
- package/distribution/utils/is-minority.d.ts +0 -2
- package/distribution/utils/is-minority.d.ts.map +0 -1
- package/distribution/utils/is-minority.js +0 -2
- package/distribution/utils/is-minority.js.map +0 -1
- package/distribution/utils/is-whitelisted.d.ts +0 -2
- package/distribution/utils/is-whitelisted.d.ts.map +0 -1
- package/distribution/utils/is-whitelisted.js +0 -17
- package/distribution/utils/is-whitelisted.js.map +0 -1
- package/distribution/utils/lock.d.ts +0 -7
- package/distribution/utils/lock.d.ts.map +0 -1
- package/distribution/utils/lock.js +0 -60
- package/distribution/utils/lock.js.map +0 -1
- package/distribution/utils/round-calculator.d.ts +0 -4
- package/distribution/utils/round-calculator.d.ts.map +0 -1
- package/distribution/utils/round-calculator.js +0 -63
- package/distribution/utils/round-calculator.js.map +0 -1
- package/distribution/utils/supply-calculator.d.ts +0 -4
- package/distribution/utils/supply-calculator.d.ts.map +0 -1
- package/distribution/utils/supply-calculator.js +0 -26
- package/distribution/utils/supply-calculator.js.map +0 -1
- package/distribution/utils/timestamp-calculator.d.ts +0 -3
- package/distribution/utils/timestamp-calculator.d.ts.map +0 -1
- package/distribution/utils/timestamp-calculator.js +0 -18
- package/distribution/utils/timestamp-calculator.js.map +0 -1
|
@@ -7,27 +7,22 @@ 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 _LoadServiceProviders_instances, _LoadServiceProviders_discoverConfiguration, _LoadServiceProviders_discoverPlugins;
|
|
16
10
|
import { inject, injectable } from "@mainsail/container";
|
|
17
11
|
import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
|
|
12
|
+
import { assert } from "@mainsail/utils";
|
|
18
13
|
import path from "path";
|
|
19
14
|
import { URL } from "url";
|
|
20
15
|
import { PluginConfiguration, PluginManifest, ServiceProviderRepository } from "../providers/index.js";
|
|
21
16
|
import { ConfigRepository } from "../services/config/index.js";
|
|
22
|
-
import { assert } from "../utils/assert.js";
|
|
23
17
|
let LoadServiceProviders = class LoadServiceProviders {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
app;
|
|
19
|
+
configRepository;
|
|
20
|
+
fileSystem;
|
|
21
|
+
serviceProviderRepository;
|
|
27
22
|
async bootstrap() {
|
|
28
23
|
const plugins = this.configRepository.get(`app.${this.app.thread()}`);
|
|
29
24
|
assert.defined(plugins);
|
|
30
|
-
const installedPlugins = await
|
|
25
|
+
const installedPlugins = await this.#discoverPlugins(this.app.dataPath("plugins"));
|
|
31
26
|
const pluginPath = this.app.config("pluginPath", undefined, "");
|
|
32
27
|
assert.string(pluginPath);
|
|
33
28
|
for (const plugin of plugins) {
|
|
@@ -60,7 +55,7 @@ let LoadServiceProviders = class LoadServiceProviders {
|
|
|
60
55
|
}
|
|
61
56
|
const serviceProvider = this.app.resolve(ServiceProvider);
|
|
62
57
|
serviceProvider.setManifest(this.app.resolve(PluginManifest).discover(packageModule, import.meta.url));
|
|
63
|
-
serviceProvider.setConfig(await
|
|
58
|
+
serviceProvider.setConfig(await this.#discoverConfiguration(serviceProvider, plugin.options, packageModule));
|
|
64
59
|
this.serviceProviderRepository.set(plugin.package, serviceProvider);
|
|
65
60
|
const alias = serviceProvider.alias();
|
|
66
61
|
if (alias) {
|
|
@@ -68,36 +63,35 @@ let LoadServiceProviders = class LoadServiceProviders {
|
|
|
68
63
|
}
|
|
69
64
|
}
|
|
70
65
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
66
|
+
async #discoverConfiguration(serviceProvider, options, packageId) {
|
|
67
|
+
const serviceProviderName = serviceProvider.name();
|
|
68
|
+
assert.string(serviceProviderName);
|
|
69
|
+
const hasDefaults = Object.keys(serviceProvider.configDefaults()).length > 0;
|
|
70
|
+
if (hasDefaults) {
|
|
71
|
+
return this.app
|
|
72
|
+
.resolve(PluginConfiguration)
|
|
73
|
+
.from(serviceProviderName, serviceProvider.configDefaults())
|
|
74
|
+
.merge(options);
|
|
75
|
+
}
|
|
76
|
+
const plugins = await this.app.resolve(PluginConfiguration).discover(serviceProviderName, packageId);
|
|
77
|
+
return plugins.merge(options);
|
|
82
78
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
});
|
|
79
|
+
async #discoverPlugins(pluginPath) {
|
|
80
|
+
const plugins = [];
|
|
81
|
+
const glob = await import("glob");
|
|
82
|
+
const packagePaths = glob
|
|
83
|
+
.sync("{*/*/package.json,*/package.json}", { cwd: pluginPath })
|
|
84
|
+
.map((packagePath) => path.join(pluginPath, packagePath).slice(0, -"/package.json".length));
|
|
85
|
+
for (const packagePath of packagePaths) {
|
|
86
|
+
const packageJson = this.fileSystem.readJSONSync(path.join(packagePath, "package.json"));
|
|
87
|
+
plugins.push({
|
|
88
|
+
name: packageJson.name,
|
|
89
|
+
path: packagePath,
|
|
90
|
+
version: packageJson.version,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return plugins;
|
|
99
94
|
}
|
|
100
|
-
return plugins;
|
|
101
95
|
};
|
|
102
96
|
__decorate([
|
|
103
97
|
inject(Identifiers.Application.Instance),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-service-providers.js","sourceRoot":"","sources":["../../source/bootstrap/load-service-providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-service-providers.js","sourceRoot":"","sources":["../../source/bootstrap/load-service-providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-base-bindings.d.ts","sourceRoot":"","sources":["../../source/bootstrap/register-base-bindings.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAe,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-base-bindings.d.ts","sourceRoot":"","sources":["../../source/bootstrap/register-base-bindings.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAKxE,qBACa,oBAAqB,YAAW,SAAS,CAAC,MAAM,CAAC,YAAY;IAEzE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBvC"}
|
|
@@ -9,10 +9,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import { inject, injectable } from "@mainsail/container";
|
|
11
11
|
import { Constants, Contracts, Identifiers } from "@mainsail/contracts";
|
|
12
|
+
import { assert } from "@mainsail/utils";
|
|
12
13
|
import path from "path";
|
|
13
14
|
import { URL } from "url";
|
|
14
|
-
import { assert } from "../utils/assert.js";
|
|
15
15
|
let RegisterBaseBindings = class RegisterBaseBindings {
|
|
16
|
+
app;
|
|
17
|
+
fileSystem;
|
|
16
18
|
async bootstrap() {
|
|
17
19
|
const flags = this.app.config("app.flags");
|
|
18
20
|
const { version } = this.fileSystem.readJSONSync(path.resolve(new URL(".", import.meta.url).pathname, "../../package.json"));
|
|
@@ -23,11 +25,11 @@ let RegisterBaseBindings = class RegisterBaseBindings {
|
|
|
23
25
|
this.app.bind(Identifiers.Application.Thread).toConstantValue(flags.thread || "main");
|
|
24
26
|
this.app.bind(Identifiers.Application.Version).toConstantValue(version);
|
|
25
27
|
// @@TODO implement a getter/setter that sets vars locally and in the process.env variables
|
|
26
|
-
process.env[Constants.EnvironmentVariables.
|
|
27
|
-
// process.env[Constants.EnvironmentVariables.
|
|
28
|
-
process.env[Constants.EnvironmentVariables.
|
|
29
|
-
process.env[Constants.EnvironmentVariables.
|
|
30
|
-
process.env[Constants.EnvironmentVariables.
|
|
28
|
+
process.env[Constants.EnvironmentVariables.MAINSAIL_ENV] = flags.env;
|
|
29
|
+
// process.env[Constants.EnvironmentVariables.MAINSAIL_ENV] = process.env.MAINSAIL_ENV;
|
|
30
|
+
process.env[Constants.EnvironmentVariables.MAINSAIL_TOKEN] = flags.token;
|
|
31
|
+
process.env[Constants.EnvironmentVariables.MAINSAIL_NETWORK_NAME] = flags.network;
|
|
32
|
+
process.env[Constants.EnvironmentVariables.MAINSAIL_VERSION] = version;
|
|
31
33
|
}
|
|
32
34
|
};
|
|
33
35
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-base-bindings.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-bindings.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"register-base-bindings.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-bindings.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAGnB,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAEf,GAAG,CAAgC;IAGnC,UAAU,CAA+B;IAEnD,KAAK,CAAC,SAAS;QACrB,MAAM,KAAK,GAAuC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE/E,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAC1E,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAS,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAS,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAS,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAC9F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAS,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEhF,2FAA2F;QAC3F,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;QACrE,uFAAuF;QACvF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IACxE,CAAC;CACD,CAAA;AA3BiB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;iDACW;AAGnC;IADhB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;;wDACU;AAL9C,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CA6BhC"}
|
|
@@ -11,6 +11,8 @@ import { inject, injectable } from "@mainsail/container";
|
|
|
11
11
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
12
12
|
import { ConfigManager, ConfigRepository } from "../services/config/index.js";
|
|
13
13
|
let RegisterBaseConfiguration = class RegisterBaseConfiguration {
|
|
14
|
+
app;
|
|
15
|
+
configRepository;
|
|
14
16
|
async bootstrap() {
|
|
15
17
|
this.app.bind(Identifiers.Services.Config.Manager).to(ConfigManager).inSingletonScope();
|
|
16
18
|
await this.app.get(Identifiers.Services.Config.Manager).boot();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-base-configuration.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-configuration.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;
|
|
1
|
+
{"version":3,"file":"register-base-configuration.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-configuration.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAEpB,GAAG,CAAgC;IAGnC,gBAAgB,CAAoB;IAE9C,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAgB,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAEvG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,+CAA+C;QAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACxG,CAAC;CACD,CAAA;AAdiB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;sDACW;AAGnC;IADhB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;8BACF,gBAAgB;mEAAC;AALzC,yBAAyB;IADrC,UAAU,EAAE;GACA,yBAAyB,CAgBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-base-paths.d.ts","sourceRoot":"","sources":["../../source/bootstrap/register-base-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-base-paths.d.ts","sourceRoot":"","sources":["../../source/bootstrap/register-base-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAO7D,qBACa,iBAAkB,YAAW,SAAS,CAAC,MAAM,CAAC,YAAY;IAEtE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAwCvC"}
|
|
@@ -9,17 +9,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import { inject, injectable } from "@mainsail/container";
|
|
11
11
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
12
|
-
import { camelCase, expandTilde, set } from "@mainsail/utils";
|
|
12
|
+
import { assert, camelCase, expandTilde, set } from "@mainsail/utils";
|
|
13
13
|
import envPaths from "env-paths";
|
|
14
14
|
import { join, resolve } from "path";
|
|
15
15
|
import { ConfigRepository } from "../services/config/index.js";
|
|
16
|
-
import { assert } from "../utils/assert.js";
|
|
17
16
|
let RegisterBasePaths = class RegisterBasePaths {
|
|
17
|
+
app;
|
|
18
|
+
configRepository;
|
|
19
|
+
fileSystem;
|
|
18
20
|
async bootstrap() {
|
|
19
21
|
const paths = Object.entries(envPaths("mainsail", { suffix: "" }));
|
|
20
22
|
for (let [type, path] of paths) {
|
|
21
23
|
path = join(path, this.app.name());
|
|
22
|
-
const configKey = `
|
|
24
|
+
const configKey = `MAINSAIL_PATH_${type.toUpperCase()}`;
|
|
23
25
|
const processPath = process.env[configKey];
|
|
24
26
|
// 1. Check if a path is defined via process variables.
|
|
25
27
|
if (processPath) {
|
|
@@ -36,11 +38,11 @@ let RegisterBasePaths = class RegisterBasePaths {
|
|
|
36
38
|
path = this.configRepository.get(`app.flags.paths.${type}`);
|
|
37
39
|
}
|
|
38
40
|
path = resolve(expandTilde(path));
|
|
39
|
-
assert.
|
|
41
|
+
assert.string(path);
|
|
40
42
|
this.fileSystem.ensureDirSync(path);
|
|
41
43
|
set(process.env, configKey, path);
|
|
42
44
|
const pathMethod = camelCase(`use_${type}_path`);
|
|
43
|
-
assert.
|
|
45
|
+
assert.string(pathMethod);
|
|
44
46
|
this.app[pathMethod](path);
|
|
45
47
|
this.app.rebind(`path.${type}`).toConstantValue(path);
|
|
46
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-base-paths.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-paths.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,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-base-paths.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-paths.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,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGxD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAEZ,GAAG,CAAgC;IAGnC,gBAAgB,CAAoB;IAGpC,UAAU,CAA+B;IAEnD,KAAK,CAAC,SAAS;QACrB,MAAM,KAAK,GAA4B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5F,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAEnC,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAExD,MAAM,WAAW,GAAuB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAE/D,uDAAuD;YACvD,IAAI,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC1B,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACP,gFAAgF;oBAChF,IAAI,GAAG,WAAW,CAAC;gBACpB,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjE,8DAA8D;gBAC9D,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAElC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEpC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAElC,MAAM,UAAU,GAAuB,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;YAErE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE1B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAS,QAAQ,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;CACD,CAAA;AAhDiB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;8CACW;AAGnC;IADhB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;8BACF,gBAAgB;2DAAC;AAGpC;IADhB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;;qDACU;AAR9C,iBAAiB;IAD7B,UAAU,EAAE;GACA,iBAAiB,CAkD7B"}
|
|
@@ -11,6 +11,7 @@ import { inject, injectable } from "@mainsail/container";
|
|
|
11
11
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
|
12
12
|
import { Cache, Filesystem, Log, Pipeline, Queue, Schedule, Triggers, Validation } from "../services/index.js";
|
|
13
13
|
let RegisterBaseServiceProviders = class RegisterBaseServiceProviders {
|
|
14
|
+
app;
|
|
14
15
|
async bootstrap() {
|
|
15
16
|
await this.app.resolve(Log.ServiceProvider).register();
|
|
16
17
|
await this.app.resolve(Triggers.ServiceProvider).register();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-base-service-providers.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-service-providers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGxG,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;
|
|
1
|
+
{"version":3,"file":"register-base-service-providers.js","sourceRoot":"","sources":["../../source/bootstrap/register-base-service-providers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGxG,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAEvB,GAAG,CAAgC;IAE7C,KAAK,CAAC,SAAS;QACrB,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEvD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE5D,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE9D,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEzD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE5D,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEzD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE9D,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7D,CAAC;CACD,CAAA;AAnBiB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;yDACW;AAFxC,4BAA4B;IADxC,UAAU,EAAE;GACA,4BAA4B,CAqBxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-service-providers.d.ts","sourceRoot":"","sources":["../../source/bootstrap/register-service-providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AASzE,qBACa,wBAAyB,YAAW,SAAS,CAAC,MAAM,CAAC,YAAY;;IAE7E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAErC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"register-service-providers.d.ts","sourceRoot":"","sources":["../../source/bootstrap/register-service-providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AASzE,qBACa,wBAAyB,YAAW,SAAS,CAAC,MAAM,CAAC,YAAY;;IAE7E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAErC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CA4GvC"}
|
|
@@ -7,31 +7,24 @@ 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 _RegisterServiceProviders_instances, _RegisterServiceProviders_validateConfiguration, _RegisterServiceProviders_satisfiesDependencies;
|
|
16
10
|
import { inject, injectable } from "@mainsail/container";
|
|
17
11
|
import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
|
|
12
|
+
import { assert } from "@mainsail/utils";
|
|
18
13
|
import semver from "semver";
|
|
19
|
-
import { assert } from "../utils/assert.js";
|
|
20
14
|
// @TODO review the implementation
|
|
21
15
|
let RegisterServiceProviders = class RegisterServiceProviders {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
16
|
+
app;
|
|
17
|
+
logger;
|
|
25
18
|
async bootstrap() {
|
|
26
19
|
const serviceProviders = this.app.get(Identifiers.ServiceProvider.Repository);
|
|
27
20
|
for (const [name, serviceProvider] of serviceProviders.all()) {
|
|
28
21
|
const serviceProviderName = serviceProvider.name();
|
|
29
|
-
assert.
|
|
22
|
+
assert.string(serviceProviderName);
|
|
30
23
|
try {
|
|
31
24
|
// Does the configuration conform to the given rules?
|
|
32
|
-
await
|
|
25
|
+
await this.#validateConfiguration(serviceProvider);
|
|
33
26
|
// Are all dependencies installed with the correct versions?
|
|
34
|
-
if (await
|
|
27
|
+
if (await this.#satisfiesDependencies(serviceProvider)) {
|
|
35
28
|
await serviceProviders.register(name);
|
|
36
29
|
}
|
|
37
30
|
}
|
|
@@ -46,58 +39,54 @@ let RegisterServiceProviders = class RegisterServiceProviders {
|
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
41
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
validator.validate(config.all(), configSchema);
|
|
60
|
-
if (validator.fails()) {
|
|
61
|
-
const serviceProviderName = serviceProvider.name();
|
|
62
|
-
assert.defined(serviceProviderName);
|
|
63
|
-
throw new Exceptions.InvalidPluginConfiguration(serviceProviderName, validator.errors());
|
|
64
|
-
}
|
|
65
|
-
serviceProvider.setConfig(config.merge(validator.valid() || {}));
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
_RegisterServiceProviders_satisfiesDependencies = async function _RegisterServiceProviders_satisfiesDependencies(serviceProvider) {
|
|
69
|
-
const serviceProviders = this.app.get(Identifiers.ServiceProvider.Repository);
|
|
70
|
-
for (const dependency of serviceProvider.dependencies()) {
|
|
71
|
-
const { name, version: constraint, required } = dependency;
|
|
72
|
-
const isRequired = typeof required === "function" ? await required() : !!required;
|
|
73
|
-
const serviceProviderName = serviceProvider.name();
|
|
74
|
-
assert.defined(serviceProviderName);
|
|
75
|
-
if (!serviceProviders.has(name)) {
|
|
76
|
-
// The dependency is necessary for this package to function. We'll output an error and terminate the process.
|
|
77
|
-
if (isRequired) {
|
|
78
|
-
const error = new Exceptions.RequiredDependencyCannotBeFound(serviceProviderName, name);
|
|
79
|
-
await this.app.terminate(error.message, error);
|
|
42
|
+
async #validateConfiguration(serviceProvider) {
|
|
43
|
+
const configSchema = serviceProvider.configSchema();
|
|
44
|
+
if (Object.keys(configSchema).length > 0) {
|
|
45
|
+
const config = serviceProvider.config();
|
|
46
|
+
const validator = this.app.get(Identifiers.Services.Validation.Manager).driver();
|
|
47
|
+
validator.validate(config.all(), configSchema);
|
|
48
|
+
if (validator.fails()) {
|
|
49
|
+
const serviceProviderName = serviceProvider.name();
|
|
50
|
+
assert.string(serviceProviderName);
|
|
51
|
+
throw new Exceptions.InvalidPluginConfiguration(serviceProviderName, validator.errors());
|
|
80
52
|
}
|
|
81
|
-
|
|
82
|
-
const error = new Exceptions.OptionalDependencyCannotBeFound(serviceProviderName, name);
|
|
83
|
-
this.logger.warning(error.message);
|
|
84
|
-
serviceProviders.fail(serviceProviderName);
|
|
85
|
-
return false;
|
|
53
|
+
serviceProvider.setConfig(config.merge(validator.valid() || {}));
|
|
86
54
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
55
|
+
}
|
|
56
|
+
async #satisfiesDependencies(serviceProvider) {
|
|
57
|
+
const serviceProviders = this.app.get(Identifiers.ServiceProvider.Repository);
|
|
58
|
+
for (const dependency of serviceProvider.dependencies()) {
|
|
59
|
+
const { name, version: constraint, required } = dependency;
|
|
60
|
+
const isRequired = typeof required === "function" ? await required() : !!required;
|
|
61
|
+
const serviceProviderName = serviceProvider.name();
|
|
62
|
+
assert.string(serviceProviderName);
|
|
63
|
+
if (!serviceProviders.has(name)) {
|
|
64
|
+
// The dependency is necessary for this package to function. We'll output an error and terminate the process.
|
|
92
65
|
if (isRequired) {
|
|
66
|
+
const error = new Exceptions.RequiredDependencyCannotBeFound(serviceProviderName, name);
|
|
93
67
|
await this.app.terminate(error.message, error);
|
|
94
68
|
}
|
|
69
|
+
// The dependency is optional for this package to function. We'll only output a warning.
|
|
70
|
+
const error = new Exceptions.OptionalDependencyCannotBeFound(serviceProviderName, name);
|
|
95
71
|
this.logger.warning(error.message);
|
|
96
72
|
serviceProviders.fail(serviceProviderName);
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
if (constraint) {
|
|
76
|
+
const version = serviceProviders.get(name).version();
|
|
77
|
+
assert.string(version);
|
|
78
|
+
if (!semver.satisfies(version, constraint)) {
|
|
79
|
+
const error = new Exceptions.DependencyVersionOutOfRange(name, constraint, version);
|
|
80
|
+
if (isRequired) {
|
|
81
|
+
await this.app.terminate(error.message, error);
|
|
82
|
+
}
|
|
83
|
+
this.logger.warning(error.message);
|
|
84
|
+
serviceProviders.fail(serviceProviderName);
|
|
85
|
+
}
|
|
97
86
|
}
|
|
98
87
|
}
|
|
88
|
+
return true;
|
|
99
89
|
}
|
|
100
|
-
return true;
|
|
101
90
|
};
|
|
102
91
|
__decorate([
|
|
103
92
|
inject(Identifiers.Application.Instance),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-service-providers.js","sourceRoot":"","sources":["../../source/bootstrap/register-service-providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register-service-providers.js","sourceRoot":"","sources":["../../source/bootstrap/register-service-providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const container:
|
|
1
|
+
import { Container } from "@mainsail/container";
|
|
2
|
+
export declare const container: Container;
|
|
3
3
|
//# sourceMappingURL=container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../source/container.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../source/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../source/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../source/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../source/environment.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../source/environment.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,OAAoE,CAAC;AAE3G,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACxD,MAAM,MAAM,EACZ,eAAe,CAAC,KACd,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAMlF,CAAC"}
|
package/distribution/index.d.ts
CHANGED
|
@@ -7,5 +7,4 @@ export * as Providers from "./providers/index.js";
|
|
|
7
7
|
export * as Services from "./services/index.js";
|
|
8
8
|
export * as Support from "./support/index.js";
|
|
9
9
|
export * as Types from "./types/index.js";
|
|
10
|
-
export * as Utils from "./utils/index.js";
|
|
11
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
|
package/distribution/index.js
CHANGED
|
@@ -7,5 +7,4 @@ export * as Providers from "./providers/index.js";
|
|
|
7
7
|
export * as Services from "./services/index.js";
|
|
8
8
|
export * as Support from "./support/index.js";
|
|
9
9
|
export * as Types from "./types/index.js";
|
|
10
|
-
export * as Utils from "./utils/index.js";
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../source/ipc/emit.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../source/ipc/emit.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,EAAE,MAAM,GAAG,KAAG,IAE/C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Contracts } from "@mainsail/contracts";
|
|
2
|
-
export declare class Handler<T extends
|
|
2
|
+
export declare class Handler<T extends Record<string, any>> implements Contracts.Kernel.IPC.Handler<T> {
|
|
3
3
|
private readonly handler;
|
|
4
4
|
constructor(handler: T);
|
|
5
5
|
handleRequest(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../source/ipc/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,qBAAa,OAAO,CAAC,CAAC,SAAS,EAAE,CAAE,YAAW,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../source/ipc/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,qBAAa,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,YAAW,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAI;gBAET,OAAO,EAAE,CAAC;IAMtB,aAAa,IAAI,IAAI;CAc5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../source/ipc/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../source/ipc/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,OAAO,OAAO;IACF,OAAO,CAAI;IAE5B,YAAmB,OAAU;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEM,aAAa;QACnB,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,MAAM,gCAAgC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,UAAU,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
1
|
import { Contracts } from "@mainsail/contracts";
|
|
3
2
|
import { Worker } from "worker_threads";
|
|
4
|
-
export declare class Subprocess<T extends
|
|
3
|
+
export declare class Subprocess<T extends Record<string, any>> implements Contracts.Kernel.IPC.Subprocess<T> {
|
|
5
4
|
private lastId;
|
|
6
5
|
private readonly subprocess;
|
|
7
6
|
private readonly callbacks;
|
|
8
7
|
private readonly eventHandlers;
|
|
9
|
-
constructor(subprocess: Worker);
|
|
8
|
+
constructor(app: Contracts.Kernel.Application, subprocess: Worker);
|
|
10
9
|
kill(): Promise<number>;
|
|
11
10
|
getQueueSize(): number;
|
|
12
11
|
sendRequest(method: string, ...arguments_: any): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-process.d.ts","sourceRoot":"","sources":["../../source/ipc/sub-process.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sub-process.d.ts","sourceRoot":"","sources":["../../source/ipc/sub-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,YAAW,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+D;IACzF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8D;gBAEzE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM;IA8B3D,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,YAAY,IAAI,MAAM;IAKtB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAS7D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAInG,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,mBAAmB;CAe3B"}
|
|
@@ -1,11 +1,35 @@
|
|
|
1
|
+
import { Identifiers } from "@mainsail/contracts";
|
|
2
|
+
import split from "split2";
|
|
1
3
|
export class Subprocess {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
lastId = 1;
|
|
5
|
+
subprocess;
|
|
6
|
+
callbacks = new Map();
|
|
7
|
+
eventHandlers = new Map();
|
|
8
|
+
constructor(app, subprocess) {
|
|
6
9
|
this.subprocess = subprocess;
|
|
7
10
|
this.subprocess.on("message", this.onSubprocessMessage.bind(this));
|
|
8
11
|
this.subprocess.on("message", this.onEmit.bind(this));
|
|
12
|
+
const logger = app.get(Identifiers.Services.Log.Service);
|
|
13
|
+
this.subprocess.stdout.pipe(split()).on("data", (line) => {
|
|
14
|
+
// [LEVEL] MESSAGE
|
|
15
|
+
const match = line.match(/^\[(\w+)]\s+(.*)$/);
|
|
16
|
+
if (!match) {
|
|
17
|
+
// Fallback to normal console.log if output doesn't match expected format.
|
|
18
|
+
// For example, this is the case when worker uses `console.log` directly instead of logger service.
|
|
19
|
+
console.log(line);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const [, level, message] = match;
|
|
23
|
+
if (logger.isValidLevel(level)) {
|
|
24
|
+
logger[level](message);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
logger.warning(`[unknown:${level}] ${message}`);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
this.subprocess.stderr.pipe(split()).on("data", (line) => {
|
|
31
|
+
logger.error(line);
|
|
32
|
+
});
|
|
9
33
|
}
|
|
10
34
|
async kill() {
|
|
11
35
|
return this.subprocess.terminate();
|