@bsb/base 9.0.5 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/BSBConfig.d.ts +3 -3
- package/lib/base/BSBConfig.js +9 -14
- package/lib/base/BSBConfig.js.map +1 -1
- package/lib/base/BSBEvents.d.ts +3 -3
- package/lib/base/BSBEvents.js +12 -17
- package/lib/base/BSBEvents.js.map +1 -1
- package/lib/base/BSBObservable.d.ts +4 -4
- package/lib/base/BSBObservable.js +17 -22
- package/lib/base/BSBObservable.js.map +1 -1
- package/lib/base/BSBService.d.ts +7 -8
- package/lib/base/BSBService.js +17 -22
- package/lib/base/BSBService.js.map +1 -1
- package/lib/base/BSBServiceClient.d.ts +4 -4
- package/lib/base/BSBServiceClient.js +12 -18
- package/lib/base/BSBServiceClient.js.map +1 -1
- package/lib/base/EventValidator.d.ts +16 -17
- package/lib/base/EventValidator.js +13 -34
- package/lib/base/EventValidator.js.map +1 -1
- package/lib/base/ObservableBackend.d.ts +2 -2
- package/lib/base/ObservableBackend.js +21 -26
- package/lib/base/ObservableBackend.js.map +1 -1
- package/lib/base/PluginConfig.d.ts +9 -5
- package/lib/base/PluginConfig.js +4 -11
- package/lib/base/PluginConfig.js.map +1 -1
- package/lib/base/PluginEvents.d.ts +4 -4
- package/lib/base/PluginEvents.js +4 -9
- package/lib/base/PluginEvents.js.map +1 -1
- package/lib/base/PluginObservable.d.ts +13 -14
- package/lib/base/PluginObservable.js +4 -8
- package/lib/base/PluginObservable.js.map +1 -1
- package/lib/base/ResourceContext.d.ts +1 -1
- package/lib/base/ResourceContext.js +1 -5
- package/lib/base/ResourceContext.js.map +1 -1
- package/lib/base/base.d.ts +3 -3
- package/lib/base/base.js +10 -18
- package/lib/base/base.js.map +1 -1
- package/lib/base/errorMessages.d.ts +1 -1
- package/lib/base/errorMessages.js +6 -11
- package/lib/base/errorMessages.js.map +1 -1
- package/lib/base/factory.d.ts +1 -1
- package/lib/base/factory.js +19 -22
- package/lib/base/factory.js.map +1 -1
- package/lib/base/functions.d.ts +19 -14
- package/lib/base/functions.js +19 -26
- package/lib/base/functions.js.map +1 -1
- package/lib/base/index.d.ts +18 -18
- package/lib/base/index.js +18 -37
- package/lib/base/index.js.map +1 -1
- package/lib/base/logFormatter.d.ts +1 -1
- package/lib/base/logFormatter.js +10 -14
- package/lib/base/logFormatter.js.map +1 -1
- package/lib/base/module-runtime.d.ts +3 -0
- package/lib/base/module-runtime.js +15 -0
- package/lib/base/module-runtime.js.map +1 -0
- package/lib/base/tools.d.ts +1 -1
- package/lib/base/tools.js +9 -13
- package/lib/base/tools.js.map +1 -1
- package/lib/cli.js +13 -12
- package/lib/cli.js.map +1 -1
- package/lib/dev.js +22 -11
- package/lib/dev.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +3 -19
- package/lib/index.js.map +1 -1
- package/lib/interfaces/events.d.ts +2 -2
- package/lib/interfaces/events.js +1 -4
- package/lib/interfaces/events.js.map +1 -1
- package/lib/interfaces/index.d.ts +13 -12
- package/lib/interfaces/index.js +12 -32
- package/lib/interfaces/index.js.map +1 -1
- package/lib/interfaces/logging.d.ts +3 -3
- package/lib/interfaces/logging.js +1 -4
- package/lib/interfaces/logging.js.map +1 -1
- package/lib/interfaces/metrics.d.ts +2 -2
- package/lib/interfaces/metrics.js +1 -5
- package/lib/interfaces/metrics.js.map +1 -1
- package/lib/interfaces/observable-types.d.ts +1 -1
- package/lib/interfaces/observable-types.js +1 -4
- package/lib/interfaces/observable-types.js.map +1 -1
- package/lib/interfaces/observable.d.ts +8 -9
- package/lib/interfaces/observable.js +1 -2
- package/lib/interfaces/observable.js.map +1 -1
- package/lib/interfaces/options.d.ts +15 -6
- package/lib/interfaces/options.js +2 -5
- package/lib/interfaces/options.js.map +1 -1
- package/lib/interfaces/plugins.d.ts +2 -2
- package/lib/interfaces/plugins.js +1 -4
- package/lib/interfaces/plugins.js.map +1 -1
- package/lib/interfaces/result.js +8 -18
- package/lib/interfaces/result.js.map +1 -1
- package/lib/interfaces/schema-events.d.ts +4 -19
- package/lib/interfaces/schema-events.js +6 -13
- package/lib/interfaces/schema-events.js.map +1 -1
- package/lib/interfaces/schema-types.d.ts +32 -352
- package/lib/interfaces/schema-types.js +77 -512
- package/lib/interfaces/schema-types.js.map +1 -1
- package/lib/interfaces/service.d.ts +1 -1
- package/lib/interfaces/service.js +1 -2
- package/lib/interfaces/service.js.map +1 -1
- package/lib/interfaces/tools.js +8 -13
- package/lib/interfaces/tools.js.map +1 -1
- package/lib/plugins/config-default/index.d.ts +16 -14
- package/lib/plugins/config-default/index.js +66 -49
- package/lib/plugins/config-default/index.js.map +1 -1
- package/lib/plugins/config-default/interfaces.d.ts +1 -1
- package/lib/plugins/config-default/interfaces.js +1 -2
- package/lib/plugins/config-default/interfaces.js.map +1 -1
- package/lib/plugins/events-default/events/broadcast.d.ts +1 -1
- package/lib/plugins/events-default/events/broadcast.js +2 -6
- package/lib/plugins/events-default/events/broadcast.js.map +1 -1
- package/lib/plugins/events-default/events/emit.d.ts +1 -1
- package/lib/plugins/events-default/events/emit.js +4 -8
- package/lib/plugins/events-default/events/emit.js.map +1 -1
- package/lib/plugins/events-default/events/emitAndReturn.d.ts +1 -1
- package/lib/plugins/events-default/events/emitAndReturn.js +4 -8
- package/lib/plugins/events-default/events/emitAndReturn.js.map +1 -1
- package/lib/plugins/events-default/events/emitStreamAndReceiveStream.d.ts +1 -1
- package/lib/plugins/events-default/events/emitStreamAndReceiveStream.js +8 -12
- package/lib/plugins/events-default/events/emitStreamAndReceiveStream.js.map +1 -1
- package/lib/plugins/events-default/events/index.d.ts +4 -4
- package/lib/plugins/events-default/events/index.js +4 -11
- package/lib/plugins/events-default/events/index.js.map +1 -1
- package/lib/plugins/events-default/index.d.ts +5 -5
- package/lib/plugins/events-default/index.js +10 -14
- package/lib/plugins/events-default/index.js.map +1 -1
- package/lib/plugins/observable-default/index.d.ts +5 -5
- package/lib/plugins/observable-default/index.js +8 -12
- package/lib/plugins/observable-default/index.js.map +1 -1
- package/lib/plugins/service-benchmarkify/index.d.ts +69 -185
- package/lib/plugins/service-benchmarkify/index.js +39 -43
- package/lib/plugins/service-benchmarkify/index.js.map +1 -1
- package/lib/plugins/service-default0/index.d.ts +73 -171
- package/lib/plugins/service-default0/index.js +36 -40
- package/lib/plugins/service-default0/index.js.map +1 -1
- package/lib/plugins/service-default1/client.d.ts +3 -3
- package/lib/plugins/service-default1/client.js +2 -6
- package/lib/plugins/service-default1/client.js.map +1 -1
- package/lib/plugins/service-default1/index.d.ts +75 -177
- package/lib/plugins/service-default1/index.js +41 -45
- package/lib/plugins/service-default1/index.js.map +1 -1
- package/lib/plugins/service-default2/index.d.ts +89 -231
- package/lib/plugins/service-default2/index.js +47 -51
- package/lib/plugins/service-default2/index.js.map +1 -1
- package/lib/plugins/service-default3/index.d.ts +23 -51
- package/lib/plugins/service-default3/index.js +16 -20
- package/lib/plugins/service-default3/index.js.map +1 -1
- package/lib/plugins/service-default4/index.d.ts +13 -27
- package/lib/plugins/service-default4/index.js +12 -16
- package/lib/plugins/service-default4/index.js.map +1 -1
- package/lib/schemas/config-default.json +24 -16
- package/lib/schemas/config-default.plugin.json +24 -16
- package/lib/schemas/events-default.json +1 -1
- package/lib/schemas/events-default.plugin.json +1 -1
- package/lib/schemas/observable-default.json +15 -5
- package/lib/schemas/observable-default.plugin.json +15 -5
- package/lib/schemas/service-benchmarkify.json +232 -147
- package/lib/schemas/service-default0.json +205 -142
- package/lib/schemas/service-default1.json +245 -160
- package/lib/schemas/service-default2.json +270 -183
- package/lib/schemas/service-default3.json +78 -36
- package/lib/schemas/service-default4.json +45 -15
- package/lib/scripts/bsb-client-cli.js +9 -9
- package/lib/scripts/bsb-client-cli.js.map +1 -1
- package/lib/scripts/bsb-plugin-cli.js +48 -50
- package/lib/scripts/bsb-plugin-cli.js.map +1 -1
- package/lib/scripts/export-schemas.js +8 -10
- package/lib/scripts/export-schemas.js.map +1 -1
- package/lib/scripts/extract-schemas-from-source.js +73 -56
- package/lib/scripts/extract-schemas-from-source.js.map +1 -1
- package/lib/scripts/generate-client-types.d.ts +1 -16
- package/lib/scripts/generate-client-types.js +120 -313
- package/lib/scripts/generate-client-types.js.map +1 -1
- package/lib/scripts/generate-plugin-json.js +9 -10
- package/lib/scripts/generate-plugin-json.js.map +1 -1
- package/lib/serviceBase/config.d.ts +4 -4
- package/lib/serviceBase/config.js +33 -35
- package/lib/serviceBase/config.js.map +1 -1
- package/lib/serviceBase/events.d.ts +6 -6
- package/lib/serviceBase/events.js +42 -44
- package/lib/serviceBase/events.js.map +1 -1
- package/lib/serviceBase/index.d.ts +7 -7
- package/lib/serviceBase/index.js +7 -23
- package/lib/serviceBase/index.js.map +1 -1
- package/lib/serviceBase/observable.d.ts +5 -5
- package/lib/serviceBase/observable.js +21 -25
- package/lib/serviceBase/observable.js.map +1 -1
- package/lib/serviceBase/plugins.d.ts +3 -3
- package/lib/serviceBase/plugins.js +47 -53
- package/lib/serviceBase/plugins.js.map +1 -1
- package/lib/serviceBase/serviceBase.d.ts +3 -3
- package/lib/serviceBase/serviceBase.js +40 -44
- package/lib/serviceBase/serviceBase.js.map +1 -1
- package/lib/serviceBase/services.d.ts +6 -6
- package/lib/serviceBase/services.js +21 -22
- package/lib/serviceBase/services.js.map +1 -1
- package/package.json +18 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/serviceBase/observable.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/serviceBase/observable.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
25
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
26
26
|
*/
|
|
27
|
-
import { IPluginLogging, LoadedPlugin, PluginType, PluginTypeDefinitionRef, Result } from "../interfaces";
|
|
27
|
+
import { IPluginLogging, LoadedPlugin, PluginType, PluginTypeDefinitionRef, Result, BSBRuntimeMode } from "../interfaces/index.js";
|
|
28
28
|
/**
|
|
29
29
|
* BSB Plugins Controller
|
|
30
30
|
*
|
|
@@ -41,11 +41,11 @@ export declare class SBPlugins {
|
|
|
41
41
|
protected cwd: string;
|
|
42
42
|
protected nodeModulesPluginDir: string;
|
|
43
43
|
protected referencedPluginDir: string | null;
|
|
44
|
-
protected
|
|
44
|
+
protected runtimeMode: BSBRuntimeMode;
|
|
45
45
|
private static readonly MINOR_SELECTOR_REGEX;
|
|
46
46
|
private static readonly EXACT_VERSION_REGEX;
|
|
47
47
|
private static readonly SEMVER_REGEX;
|
|
48
|
-
constructor(cwd: string,
|
|
48
|
+
constructor(cwd: string, runtimeMode: BSBRuntimeMode);
|
|
49
49
|
private parseSemver;
|
|
50
50
|
private compareSemver;
|
|
51
51
|
private listVersionsFromReferencedDir;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* BSB (Better-Service-Base) is an event-bus based microservice framework.
|
|
4
3
|
* Copyright (C) 2016 - 2025 BetterCorp (PTY) Ltd
|
|
@@ -25,16 +24,15 @@
|
|
|
25
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
26
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
27
26
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const interfaces_1 = require("../interfaces");
|
|
27
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
28
|
+
import { join } from "node:path";
|
|
29
|
+
import { createFakeDTrace, Ok, Err, fromPromise } from "../interfaces/index.js";
|
|
30
|
+
import { toImportUrl } from "../base/module-runtime.js";
|
|
33
31
|
/**
|
|
34
32
|
* @hidden
|
|
35
33
|
*/
|
|
36
34
|
function internalTrace(span) {
|
|
37
|
-
return
|
|
35
|
+
return createFakeDTrace("serviceBase/SBPlugins", span);
|
|
38
36
|
}
|
|
39
37
|
/**
|
|
40
38
|
* BSB Plugins Controller
|
|
@@ -45,25 +43,25 @@ function internalTrace(span) {
|
|
|
45
43
|
* @group Plugins
|
|
46
44
|
* @category Core
|
|
47
45
|
*/
|
|
48
|
-
class SBPlugins {
|
|
46
|
+
export class SBPlugins {
|
|
49
47
|
/**
|
|
50
48
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/SBPlugins.html | API: SBPlugins}
|
|
51
49
|
*/
|
|
52
50
|
cwd;
|
|
53
51
|
nodeModulesPluginDir;
|
|
54
52
|
referencedPluginDir = null;
|
|
55
|
-
|
|
53
|
+
runtimeMode;
|
|
56
54
|
static MINOR_SELECTOR_REGEX = /^\d+\.\d+$/;
|
|
57
55
|
static EXACT_VERSION_REGEX = /^\d+\.\d+\.\d+$/;
|
|
58
56
|
static SEMVER_REGEX = /^(\d+)\.(\d+)\.(\d+)$/;
|
|
59
|
-
constructor(cwd,
|
|
57
|
+
constructor(cwd, runtimeMode) {
|
|
60
58
|
this.cwd = cwd;
|
|
61
|
-
this.
|
|
62
|
-
this.nodeModulesPluginDir =
|
|
59
|
+
this.runtimeMode = runtimeMode;
|
|
60
|
+
this.nodeModulesPluginDir = join(this.cwd, "./node_modules/");
|
|
63
61
|
const pluginDirEnv = process.env.BSB_PLUGINS_DIR ?? process.env.BSB_PLUGIN_DIR;
|
|
64
62
|
if (typeof pluginDirEnv == "string" &&
|
|
65
63
|
pluginDirEnv.length > 3) {
|
|
66
|
-
if (!
|
|
64
|
+
if (!existsSync(pluginDirEnv)) {
|
|
67
65
|
throw new Error(`Plugin directory ${pluginDirEnv} does not exist`);
|
|
68
66
|
}
|
|
69
67
|
this.referencedPluginDir = pluginDirEnv;
|
|
@@ -89,23 +87,23 @@ class SBPlugins {
|
|
|
89
87
|
listVersionsFromReferencedDir(npmPackage) {
|
|
90
88
|
if (!this.referencedPluginDir)
|
|
91
89
|
return [];
|
|
92
|
-
const packageRoot =
|
|
93
|
-
if (!
|
|
90
|
+
const packageRoot = join(this.referencedPluginDir, npmPackage);
|
|
91
|
+
if (!existsSync(packageRoot))
|
|
94
92
|
return [];
|
|
95
93
|
const out = [];
|
|
96
94
|
// New hierarchical layout: /pkg/<major>/<minor>/<micro>/
|
|
97
|
-
for (const majorEntry of
|
|
95
|
+
for (const majorEntry of readdirSync(packageRoot, { withFileTypes: true })) {
|
|
98
96
|
if (!majorEntry.isDirectory() || !/^\d+$/.test(majorEntry.name))
|
|
99
97
|
continue;
|
|
100
|
-
const majorPath =
|
|
101
|
-
for (const minorEntry of
|
|
98
|
+
const majorPath = join(packageRoot, majorEntry.name);
|
|
99
|
+
for (const minorEntry of readdirSync(majorPath, { withFileTypes: true })) {
|
|
102
100
|
if (!minorEntry.isDirectory() || !/^\d+$/.test(minorEntry.name))
|
|
103
101
|
continue;
|
|
104
|
-
const minorPath =
|
|
105
|
-
for (const microEntry of
|
|
102
|
+
const minorPath = join(majorPath, minorEntry.name);
|
|
103
|
+
for (const microEntry of readdirSync(minorPath, { withFileTypes: true })) {
|
|
106
104
|
if (!microEntry.isDirectory() || !/^\d+$/.test(microEntry.name))
|
|
107
105
|
continue;
|
|
108
|
-
const pluginRoot =
|
|
106
|
+
const pluginRoot = join(minorPath, microEntry.name);
|
|
109
107
|
out.push({
|
|
110
108
|
version: `${majorEntry.name}.${minorEntry.name}.${microEntry.name}`,
|
|
111
109
|
packageCwd: pluginRoot,
|
|
@@ -115,12 +113,12 @@ class SBPlugins {
|
|
|
115
113
|
}
|
|
116
114
|
}
|
|
117
115
|
// Legacy layout: /pkg/<major.minor.micro>/
|
|
118
|
-
for (const versionEntry of
|
|
116
|
+
for (const versionEntry of readdirSync(packageRoot, { withFileTypes: true })) {
|
|
119
117
|
if (!versionEntry.isDirectory())
|
|
120
118
|
continue;
|
|
121
119
|
if (!SBPlugins.EXACT_VERSION_REGEX.test(versionEntry.name))
|
|
122
120
|
continue;
|
|
123
|
-
const pluginRoot =
|
|
121
|
+
const pluginRoot = join(packageRoot, versionEntry.name);
|
|
124
122
|
out.push({
|
|
125
123
|
version: versionEntry.name,
|
|
126
124
|
packageCwd: pluginRoot,
|
|
@@ -172,18 +170,18 @@ class SBPlugins {
|
|
|
172
170
|
: "1.0.0";
|
|
173
171
|
if (!nodeModulesLib) {
|
|
174
172
|
// If no package is defined in the config, we will not look anywhere else except for the local plugins
|
|
175
|
-
if (this.
|
|
176
|
-
pluginPath =
|
|
177
|
-
if (!
|
|
173
|
+
if (this.runtimeMode === "dev") {
|
|
174
|
+
pluginPath = join(this.cwd, "./src/plugins/" + plugin);
|
|
175
|
+
if (!existsSync(pluginPath)) {
|
|
178
176
|
pluginPath = "";
|
|
179
177
|
}
|
|
180
178
|
}
|
|
181
179
|
if (pluginPath == "") {
|
|
182
|
-
pluginPath =
|
|
180
|
+
pluginPath = join(this.cwd, "./lib/plugins/" + plugin);
|
|
183
181
|
}
|
|
184
|
-
const packageJsonPath =
|
|
185
|
-
if (
|
|
186
|
-
const packageJSON = JSON.parse(
|
|
182
|
+
const packageJsonPath = join(packageCwd, "./package.json");
|
|
183
|
+
if (existsSync(packageJsonPath)) {
|
|
184
|
+
const packageJSON = JSON.parse(readFileSync(packageJsonPath, "utf-8")
|
|
187
185
|
.toString());
|
|
188
186
|
version = packageJSON.version ?? '0.0.0';
|
|
189
187
|
}
|
|
@@ -194,8 +192,8 @@ class SBPlugins {
|
|
|
194
192
|
const availableVersions = this.listVersionsFromReferencedDir(npmPackage);
|
|
195
193
|
const resolved = this.resolveVersionFromSelector(availableVersions, requestedVersion ?? null);
|
|
196
194
|
if (resolved) {
|
|
197
|
-
const versionedPluginPath =
|
|
198
|
-
if (
|
|
195
|
+
const versionedPluginPath = join(resolved.pluginRoot, "./lib/plugins/" + plugin);
|
|
196
|
+
if (existsSync(versionedPluginPath)) {
|
|
199
197
|
pluginPath = versionedPluginPath;
|
|
200
198
|
packageCwd = resolved.packageCwd;
|
|
201
199
|
version = resolved.version;
|
|
@@ -203,54 +201,51 @@ class SBPlugins {
|
|
|
203
201
|
}
|
|
204
202
|
}
|
|
205
203
|
if (pluginPath == "") {
|
|
206
|
-
const nodeModulesPluginPath =
|
|
207
|
-
const nodeModulesPackageCwd =
|
|
208
|
-
if (
|
|
204
|
+
const nodeModulesPluginPath = join(this.nodeModulesPluginDir, npmPackage, "./lib/plugins/" + plugin);
|
|
205
|
+
const nodeModulesPackageCwd = join(this.nodeModulesPluginDir, npmPackage);
|
|
206
|
+
if (existsSync(nodeModulesPluginPath)) {
|
|
209
207
|
pluginPath = nodeModulesPluginPath;
|
|
210
208
|
packageCwd = nodeModulesPackageCwd;
|
|
211
209
|
}
|
|
212
210
|
}
|
|
213
|
-
if (
|
|
214
|
-
const packageJSON = JSON.parse(
|
|
211
|
+
if (existsSync(packageCwd) && existsSync(join(packageCwd, "./package.json"))) {
|
|
212
|
+
const packageJSON = JSON.parse(readFileSync(join(packageCwd, "./package.json"), "utf-8")
|
|
215
213
|
.toString());
|
|
216
214
|
version = packageJSON.version ?? '0.0.0';
|
|
217
215
|
}
|
|
218
216
|
}
|
|
219
|
-
if (!
|
|
217
|
+
if (!existsSync(pluginPath)) {
|
|
220
218
|
log.error(tTrace, `Plugin {name} in {package} not found`, {
|
|
221
219
|
name: plugin,
|
|
222
220
|
package: npmPackage ?? "self",
|
|
223
221
|
});
|
|
224
|
-
return
|
|
222
|
+
return Err(new Error(`Plugin ${plugin} in ${npmPackage ?? "self"} not found`));
|
|
225
223
|
}
|
|
226
224
|
log.debug(tTrace, `Plugin {name}: attempt to load from {path} as {pluginName}`, {
|
|
227
225
|
name: plugin,
|
|
228
226
|
path: pluginPath,
|
|
229
227
|
pluginName: name,
|
|
230
228
|
});
|
|
231
|
-
const loadResult = await
|
|
229
|
+
const loadResult = await fromPromise(this.loadPluginFile(pluginPath, name, packageCwd, version));
|
|
232
230
|
if (!loadResult.success) {
|
|
233
231
|
log.error(tTrace, `Failed to load plugin {name}: {error}`, {
|
|
234
232
|
name: plugin,
|
|
235
233
|
error: loadResult.error.message,
|
|
236
234
|
});
|
|
237
|
-
return
|
|
235
|
+
return Err(new Error(`Failed to load plugin ${name}: ${loadResult.error.message}`));
|
|
238
236
|
}
|
|
239
237
|
log.info(tTrace, `Successfully loaded plugin {name} v{version}`, { name: plugin, version: version });
|
|
240
|
-
return
|
|
238
|
+
return Ok(loadResult.data);
|
|
241
239
|
}
|
|
242
240
|
async loadPluginFile(pluginPath, pluginName, packageCwd, version) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
if (!(0, node_fs_1.existsSync)(pluginFile)) {
|
|
251
|
-
throw new Error(`Plugin ${pluginName} not found at ${pluginFile}`);
|
|
241
|
+
const candidateFiles = this.runtimeMode === "dev"
|
|
242
|
+
? [join(pluginPath, "./index.ts"), join(pluginPath, "./index.js")]
|
|
243
|
+
: [join(pluginPath, "./index.js")];
|
|
244
|
+
const pluginFile = candidateFiles.find((candidate) => existsSync(candidate));
|
|
245
|
+
if (!pluginFile) {
|
|
246
|
+
throw new Error(`Plugin ${pluginName} not found in ${pluginPath}`);
|
|
252
247
|
}
|
|
253
|
-
const pluginExports = await
|
|
248
|
+
const pluginExports = await import(toImportUrl(pluginFile));
|
|
254
249
|
if (!pluginExports.Plugin) {
|
|
255
250
|
throw new Error(`Plugin ${pluginName} does not export a Plugin class`);
|
|
256
251
|
}
|
|
@@ -270,5 +265,4 @@ class SBPlugins {
|
|
|
270
265
|
};
|
|
271
266
|
}
|
|
272
267
|
}
|
|
273
|
-
exports.SBPlugins = SBPlugins;
|
|
274
268
|
//# sourceMappingURL=plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/serviceBase/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/serviceBase/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
25
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
26
26
|
*/
|
|
27
|
-
import { BSBService } from "../base";
|
|
28
|
-
import { BSBOptions, SimpleBSBOptions, BSBPreset } from "../interfaces";
|
|
27
|
+
import { BSBService } from "../base/index.js";
|
|
28
|
+
import { BSBOptions, SimpleBSBOptions, BSBPreset } from "../interfaces/index.js";
|
|
29
29
|
/**
|
|
30
30
|
* @hidden
|
|
31
31
|
*/
|
|
@@ -223,6 +223,6 @@ export declare class ServiceBase {
|
|
|
223
223
|
* Add a service plugin programmatically
|
|
224
224
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/ServiceBase.html#addService | API: ServiceBase.addService}
|
|
225
225
|
*/
|
|
226
|
-
addService(name: string, plugin: typeof BSBService<any, any>, config: object | any): Promise<import("../base").BSBServiceRef>;
|
|
226
|
+
addService(name: string, plugin: typeof BSBService<any, any>, config: object | any): Promise<import("../base/BSBService.js").BSBServiceRef>;
|
|
227
227
|
}
|
|
228
228
|
export default ServiceBase;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* BSB (Better-Service-Base) is an event-bus based microservice framework.
|
|
4
3
|
* Copyright (C) 2016 - 2025 BetterCorp (PTY) Ltd
|
|
@@ -25,15 +24,13 @@
|
|
|
25
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
26
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
27
26
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const factory_1 = require("../base/factory");
|
|
32
|
-
const interfaces_1 = require("../interfaces");
|
|
27
|
+
import { BSBError, MS_PER_NS, NS_PER_SEC, ObservableBackend, ResourceContextBuilder, PluginObservable, } from "../base/index.js";
|
|
28
|
+
import { resolveBSBOptions, fromSimpleOptions, fromPreset } from "../base/factory.js";
|
|
29
|
+
import { createFakeDTrace, BSBPreset } from "../interfaces/index.js";
|
|
33
30
|
/**
|
|
34
31
|
* @hidden
|
|
35
32
|
*/
|
|
36
|
-
|
|
33
|
+
export const BOOT_STAT_KEYS = {
|
|
37
34
|
BSB: "BSB",
|
|
38
35
|
SELF: "SELF",
|
|
39
36
|
CONFIG: "CONFIG",
|
|
@@ -48,7 +45,7 @@ const TIMEKEEPLOG = "[TIMER] {timerName} took ({nsTime}ns) ({msTime}ms)";
|
|
|
48
45
|
* @hidden
|
|
49
46
|
*/
|
|
50
47
|
function internalTrace(span) {
|
|
51
|
-
return
|
|
48
|
+
return createFakeDTrace("serviceBase/ServiceBase", span);
|
|
52
49
|
}
|
|
53
50
|
/**
|
|
54
51
|
* Main entry point for the BSB framework.
|
|
@@ -60,7 +57,7 @@ function internalTrace(span) {
|
|
|
60
57
|
* @group Main
|
|
61
58
|
* @category Core
|
|
62
59
|
*/
|
|
63
|
-
class ServiceBase {
|
|
60
|
+
export class ServiceBase {
|
|
64
61
|
/**
|
|
65
62
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/ServiceBase.html | API: ServiceBase}
|
|
66
63
|
*/
|
|
@@ -82,7 +79,7 @@ class ServiceBase {
|
|
|
82
79
|
* ```
|
|
83
80
|
*/
|
|
84
81
|
static create(simple) {
|
|
85
|
-
const options =
|
|
82
|
+
const options = fromSimpleOptions(simple);
|
|
86
83
|
return new ServiceBase(options);
|
|
87
84
|
}
|
|
88
85
|
/**
|
|
@@ -102,7 +99,7 @@ class ServiceBase {
|
|
|
102
99
|
* ```
|
|
103
100
|
*/
|
|
104
101
|
static fromPreset(preset, overrides) {
|
|
105
|
-
const options =
|
|
102
|
+
const options = fromPreset(preset, overrides);
|
|
106
103
|
return new ServiceBase(options);
|
|
107
104
|
}
|
|
108
105
|
/**
|
|
@@ -121,7 +118,7 @@ class ServiceBase {
|
|
|
121
118
|
* ```
|
|
122
119
|
*/
|
|
123
120
|
static minimal(cwd) {
|
|
124
|
-
return ServiceBase.fromPreset(
|
|
121
|
+
return ServiceBase.fromPreset(BSBPreset.MINIMAL, { cwd });
|
|
125
122
|
}
|
|
126
123
|
/**
|
|
127
124
|
* Create a development ServiceBase instance with debug logging
|
|
@@ -133,7 +130,7 @@ class ServiceBase {
|
|
|
133
130
|
* @category Factory
|
|
134
131
|
*/
|
|
135
132
|
static development(cwd) {
|
|
136
|
-
return ServiceBase.fromPreset(
|
|
133
|
+
return ServiceBase.fromPreset(BSBPreset.DEVELOPMENT, { cwd });
|
|
137
134
|
}
|
|
138
135
|
/**
|
|
139
136
|
* Create a production ServiceBase instance with optimized settings
|
|
@@ -145,7 +142,7 @@ class ServiceBase {
|
|
|
145
142
|
* @category Factory
|
|
146
143
|
*/
|
|
147
144
|
static production(cwd) {
|
|
148
|
-
return ServiceBase.fromPreset(
|
|
145
|
+
return ServiceBase.fromPreset(BSBPreset.PRODUCTION, { cwd });
|
|
149
146
|
}
|
|
150
147
|
_CORE_PLUGIN_NAME = "core";
|
|
151
148
|
_appId;
|
|
@@ -165,7 +162,7 @@ class ServiceBase {
|
|
|
165
162
|
_heartbeat;
|
|
166
163
|
_startKeep(stepName) {
|
|
167
164
|
if (this._keeps === undefined) {
|
|
168
|
-
throw new
|
|
165
|
+
throw new BSBError(internalTrace("TIMEKEEPER"), "Internal error with timekeeper!");
|
|
169
166
|
}
|
|
170
167
|
if (this.observableBackend !== undefined) {
|
|
171
168
|
this.observableBackend.debug(internalTrace("TIMEKEEPER"), "Starting timer for {log}", { log: stepName });
|
|
@@ -174,15 +171,15 @@ class ServiceBase {
|
|
|
174
171
|
}
|
|
175
172
|
_outputKeep(stepName) {
|
|
176
173
|
if (this._keeps === undefined) {
|
|
177
|
-
throw new
|
|
174
|
+
throw new BSBError(internalTrace("TIMEKEEPER"), "Internal error with timekeeper!");
|
|
178
175
|
}
|
|
179
176
|
if (typeof this._keeps[stepName] === "number") {
|
|
180
|
-
throw new
|
|
177
|
+
throw new BSBError(internalTrace("TIMEKEEPER"), "Internal error with timekeeper!");
|
|
181
178
|
}
|
|
182
179
|
const diff = process.hrtime((this._keeps[stepName] || undefined));
|
|
183
|
-
this._keeps[stepName] = (diff[0] *
|
|
180
|
+
this._keeps[stepName] = (diff[0] * NS_PER_SEC + diff[1]) * MS_PER_NS;
|
|
184
181
|
const logMeta = {
|
|
185
|
-
nsTime: diff[0] *
|
|
182
|
+
nsTime: diff[0] * NS_PER_SEC + diff[1],
|
|
186
183
|
msTime: this._keeps[stepName],
|
|
187
184
|
timerName: stepName,
|
|
188
185
|
};
|
|
@@ -246,21 +243,21 @@ class ServiceBase {
|
|
|
246
243
|
*/
|
|
247
244
|
_region;
|
|
248
245
|
constructor(options = {}) {
|
|
249
|
-
const resolvedOptions =
|
|
246
|
+
const resolvedOptions = resolveBSBOptions(options);
|
|
250
247
|
// Set instance properties from resolved options
|
|
251
248
|
this.cwd = resolvedOptions.cwd;
|
|
252
249
|
this.mode = resolvedOptions.mode;
|
|
253
250
|
this._appId = resolvedOptions.appId;
|
|
254
251
|
this._region = resolvedOptions.region;
|
|
255
|
-
this._startKeep(
|
|
252
|
+
this._startKeep(BOOT_STAT_KEYS.SELF);
|
|
256
253
|
// Initialize subsystems with resolved dependencies
|
|
257
|
-
this.plugins = new resolvedOptions.plugins(this.cwd,
|
|
254
|
+
this.plugins = new resolvedOptions.plugins(this.cwd, resolvedOptions.runtimeMode);
|
|
258
255
|
this.observable = new resolvedOptions.observable(this._appId, this.mode, this.cwd, this.plugins);
|
|
259
256
|
// Initialize unified observable backend BEFORE config and events
|
|
260
|
-
this.observableBackend = new
|
|
257
|
+
this.observableBackend = new ObservableBackend(this.mode, this._appId, this._CORE_PLUGIN_NAME, this.observable);
|
|
261
258
|
// Create Observable factory for subsystems
|
|
262
259
|
const createObservableFromTrace = (trace, pluginName, attributes) => {
|
|
263
|
-
const resource =
|
|
260
|
+
const resource = ResourceContextBuilder.build({
|
|
264
261
|
appId: this._appId,
|
|
265
262
|
mode: this.mode,
|
|
266
263
|
pluginName: pluginName,
|
|
@@ -269,7 +266,7 @@ class ServiceBase {
|
|
|
269
266
|
pluginCwd: this.cwd,
|
|
270
267
|
pluginVersion: "1.0.0"
|
|
271
268
|
}, this._region);
|
|
272
|
-
return new
|
|
269
|
+
return new PluginObservable(trace, resource, this.observableBackend, attributes || {});
|
|
273
270
|
};
|
|
274
271
|
this.events = new resolvedOptions.events(this._appId, this.mode, this.cwd, this.plugins, this.observable, createObservableFromTrace);
|
|
275
272
|
this.config = new resolvedOptions.config(this._appId, this.mode, this.cwd, this.observable, this.plugins, createObservableFromTrace);
|
|
@@ -291,49 +288,49 @@ class ServiceBase {
|
|
|
291
288
|
self.observableBackend.error(internalTrace("UNCAUGHT_EXCEPTION"), "Uncaught exception: {error}\n Stack: {stack}", { error: error.message, stack: error.stack ?? 'no stack trace' });
|
|
292
289
|
self.dispose(3, "uncaught exception", error);
|
|
293
290
|
});
|
|
294
|
-
this._outputKeep(
|
|
291
|
+
this._outputKeep(BOOT_STAT_KEYS.SELF);
|
|
295
292
|
}
|
|
296
293
|
/**
|
|
297
294
|
* Initialize all subsystems and plugins
|
|
298
295
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/ServiceBase.html#init | API: ServiceBase.init}
|
|
299
296
|
*/
|
|
300
297
|
async init() {
|
|
301
|
-
this._startKeep(
|
|
302
|
-
this._startKeep(
|
|
298
|
+
this._startKeep(BOOT_STAT_KEYS.INIT);
|
|
299
|
+
this._startKeep(BOOT_STAT_KEYS.CONFIG);
|
|
303
300
|
await this.config.init();
|
|
304
|
-
this._outputKeep(
|
|
305
|
-
this._startKeep(
|
|
301
|
+
this._outputKeep(BOOT_STAT_KEYS.CONFIG);
|
|
302
|
+
this._startKeep(BOOT_STAT_KEYS.OBSERVABLE);
|
|
306
303
|
await this.observable.init(internalTrace("OBSERVABLE_INIT"), this.config);
|
|
307
|
-
this._outputKeep(
|
|
308
|
-
this._startKeep(
|
|
304
|
+
this._outputKeep(BOOT_STAT_KEYS.OBSERVABLE);
|
|
305
|
+
this._startKeep(BOOT_STAT_KEYS.EVENTS);
|
|
309
306
|
await this.events.init(this.config, this.observable);
|
|
310
|
-
this._outputKeep(
|
|
307
|
+
this._outputKeep(BOOT_STAT_KEYS.EVENTS);
|
|
311
308
|
// SERVICES ORDERING
|
|
312
|
-
this._startKeep(
|
|
309
|
+
this._startKeep(BOOT_STAT_KEYS.SERVICES);
|
|
313
310
|
await this.services.setup(this.config, this.observable, this.events);
|
|
314
311
|
await this.services.init();
|
|
315
|
-
this._outputKeep(
|
|
312
|
+
this._outputKeep(BOOT_STAT_KEYS.SERVICES);
|
|
316
313
|
this.coreMetrics = this.observableBackend;
|
|
317
314
|
this.heartBeatMetric = this.coreMetrics.createCounter("heartbeat", "Heartbeat", "Heartbeat", [this._appId]);
|
|
318
315
|
this.bsbBootTimeMetric = this.coreMetrics.createGauge("bsbBootTime", "BSB Boot Time", "BSB Boot Time", [this._appId]);
|
|
319
|
-
this._outputKeep(
|
|
316
|
+
this._outputKeep(BOOT_STAT_KEYS.INIT);
|
|
320
317
|
}
|
|
321
318
|
/**
|
|
322
319
|
* Run the application after initialization
|
|
323
320
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/ServiceBase.html#run | API: ServiceBase.run}
|
|
324
321
|
*/
|
|
325
322
|
async run() {
|
|
326
|
-
this._startKeep(
|
|
323
|
+
this._startKeep(BOOT_STAT_KEYS.RUN);
|
|
327
324
|
await this.observable.run(internalTrace("OBSERVABLE_RUN"));
|
|
328
325
|
await this.events.run();
|
|
329
326
|
await this.services.run();
|
|
330
327
|
this.observableBackend.info(internalTrace("RUN"), "Disposing config for memory cleanup and safety");
|
|
331
328
|
this.config.dispose();
|
|
332
|
-
this._outputKeep(
|
|
329
|
+
this._outputKeep(BOOT_STAT_KEYS.RUN);
|
|
333
330
|
this._heartbeat = setInterval(() => this.heartBeat(), 60 * 60 * 1000);
|
|
334
331
|
this.heartBeat();
|
|
335
|
-
this._outputKeep(
|
|
336
|
-
this.bsbBootTimeMetric.set(this._keeps[
|
|
332
|
+
this._outputKeep(BOOT_STAT_KEYS.BSB);
|
|
333
|
+
this.bsbBootTimeMetric.set(this._keeps[BOOT_STAT_KEYS.BSB]);
|
|
337
334
|
this._keeps = undefined;
|
|
338
335
|
}
|
|
339
336
|
heartBeat() {
|
|
@@ -395,8 +392,8 @@ class ServiceBase {
|
|
|
395
392
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/ServiceBase.html#addService | API: ServiceBase.addService}
|
|
396
393
|
*/
|
|
397
394
|
async addService(name, plugin, config) {
|
|
398
|
-
if (this._keeps[
|
|
399
|
-
throw new
|
|
395
|
+
if (this._keeps[BOOT_STAT_KEYS.SERVICES] !== undefined) {
|
|
396
|
+
throw new BSBError(internalTrace("ADD_SERVICE"), "Cannot add service plugin as service already called");
|
|
400
397
|
}
|
|
401
398
|
return await this.services.addPlugin(this.config, this.observable, this.events, {
|
|
402
399
|
name,
|
|
@@ -415,6 +412,5 @@ class ServiceBase {
|
|
|
415
412
|
}, config);
|
|
416
413
|
}
|
|
417
414
|
}
|
|
418
|
-
|
|
419
|
-
exports.default = ServiceBase;
|
|
415
|
+
export default ServiceBase;
|
|
420
416
|
//# sourceMappingURL=serviceBase.js.map
|