@bsb/base 9.4.2 → 9.4.5
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/README.md +2 -1
- package/lib/base/BSBEvents.d.ts +3 -3
- package/lib/base/BSBObservable.d.ts +2 -2
- package/lib/base/BSBService.d.ts +6 -6
- package/lib/base/BSBService.js +4 -4
- package/lib/base/PluginConfig.d.ts +6 -3
- package/lib/base/PluginConfig.js.map +1 -1
- package/lib/base/base.d.ts +6 -7
- package/lib/base/base.js.map +1 -1
- package/lib/base/functions.js +6 -6
- package/lib/base/functions.js.map +1 -1
- package/lib/interfaces/plugins.d.ts +1 -1
- package/lib/interfaces/plugins.js +1 -1
- package/lib/interfaces/schema-events.d.ts +9 -2
- package/lib/interfaces/schema-events.js +93 -6
- package/lib/interfaces/schema-events.js.map +1 -1
- package/lib/plugins/config-default/index.d.ts +4 -4
- package/lib/plugins/config-default/index.js +3 -3
- package/lib/plugins/config-default/index.js.map +1 -1
- package/lib/plugins/observable-default/index.js +2 -1
- package/lib/plugins/observable-default/index.js.map +1 -1
- package/lib/plugins/service-benchmarkify/index.js +2 -1
- package/lib/plugins/service-benchmarkify/index.js.map +1 -1
- package/lib/plugins/service-default0/index.js +3 -3
- package/lib/plugins/service-default0/index.js.map +1 -1
- package/lib/plugins/service-default1/index.js +2 -1
- package/lib/plugins/service-default1/index.js.map +1 -1
- package/lib/plugins/service-default2/index.js +2 -1
- package/lib/plugins/service-default2/index.js.map +1 -1
- package/lib/plugins/service-default3/index.d.ts +2 -2
- package/lib/plugins/service-default3/index.js +3 -1
- package/lib/plugins/service-default3/index.js.map +1 -1
- package/lib/plugins/service-default4/index.js +2 -1
- package/lib/plugins/service-default4/index.js.map +1 -1
- package/lib/schemas/config-default.json +18 -12
- package/lib/schemas/config-default.plugin.json +18 -12
- package/lib/schemas/observable-default.json +8 -2
- package/lib/schemas/observable-default.plugin.json +8 -2
- package/lib/schemas/service-benchmarkify.json +8 -2
- package/lib/schemas/service-default0.json +14 -3
- package/lib/schemas/service-default1.json +8 -2
- package/lib/schemas/service-default2.json +8 -2
- package/lib/schemas/service-default3.json +8 -8
- package/lib/schemas/service-default4.json +8 -2
- package/lib/scripts/generate-client-types.d.ts +3 -1
- package/lib/scripts/generate-client-types.js +24 -7
- package/lib/scripts/generate-client-types.js.map +1 -1
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ v9 introduces breaking changes focused on type safety, developer experience, and
|
|
|
56
56
|
**Type Safety Improvements:**
|
|
57
57
|
- `createEventSchemas()` - No more `as const` required, automatic type inference
|
|
58
58
|
- Type branding - Compile-time validation that event types match categories
|
|
59
|
-
- Duplicate name
|
|
59
|
+
- Duplicate name validation - Builds fail when an EventSchemas key is reused across categories
|
|
60
60
|
|
|
61
61
|
**Simplified Configuration:**
|
|
62
62
|
- `createConfigSchema()` - Single function replaces class pattern
|
|
@@ -210,6 +210,7 @@ Notes
|
|
|
210
210
|
|
|
211
211
|
Quick reference:
|
|
212
212
|
- Use `createEventSchemas()` to define typed events with compile-time validation
|
|
213
|
+
- Keep each EventSchemas key unique across emit/on and event type categories
|
|
213
214
|
- Use `createConfigSchema()` to define plugin configuration with metadata
|
|
214
215
|
- Use cross-language type helpers (`uuid`, `int32`, `datetime`, etc.) for better code generation
|
|
215
216
|
- Plugin metadata auto-generates `PLUGIN_CLIENT` and schema files during build
|
package/lib/base/BSBEvents.d.ts
CHANGED
|
@@ -26,16 +26,16 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { Readable } from "node:stream";
|
|
28
28
|
import { BaseWithObservableAndConfig, BaseWithObservableAndConfigConfig } from "./base.js";
|
|
29
|
-
import { BSBReferencePluginConfigDefinition, BSBReferencePluginConfigType
|
|
29
|
+
import { BSBReferencePluginConfigDefinition, BSBReferencePluginConfigType } from "./PluginConfig.js";
|
|
30
30
|
import { Observable } from '../interfaces/observable.js';
|
|
31
|
-
export interface BSBEventsConstructor<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithObservableAndConfigConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig
|
|
31
|
+
export interface BSBEventsConstructor<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithObservableAndConfigConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig>> {
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* @group Events
|
|
35
35
|
* @category Plugins
|
|
36
36
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/BSBEvents.html | API: BSBEvents}
|
|
37
37
|
*/
|
|
38
|
-
export declare abstract class BSBEvents<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithObservableAndConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig
|
|
38
|
+
export declare abstract class BSBEvents<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithObservableAndConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig>> {
|
|
39
39
|
constructor(config: BSBEventsConstructor<ReferencedConfig>);
|
|
40
40
|
/**
|
|
41
41
|
* Run lifecycle method for events plugins.
|
|
@@ -28,7 +28,7 @@ import { DTrace, LogMeta } from "../interfaces/index.js";
|
|
|
28
28
|
import { BaseWithConfig, BaseWithConfigConfig } from "./base.js";
|
|
29
29
|
import { BSBError } from "./errorMessages.js";
|
|
30
30
|
import { BSBReferencePluginConfigDefinition, BSBReferencePluginConfigType } from "./PluginConfig.js";
|
|
31
|
-
export interface BSBObservableConstructor<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithConfigConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig
|
|
31
|
+
export interface BSBObservableConstructor<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithConfigConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig>> {
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Unified Observable plugin base class for logging, metrics, and tracing
|
|
@@ -37,7 +37,7 @@ export interface BSBObservableConstructor<ReferencedConfig extends BSBReferenceP
|
|
|
37
37
|
* @template ReferencedConfig - The type of configuration for the plugin
|
|
38
38
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/classes/BSBObservable.html | API: BSBObservable}
|
|
39
39
|
*/
|
|
40
|
-
export declare abstract class BSBObservable<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig
|
|
40
|
+
export declare abstract class BSBObservable<ReferencedConfig extends BSBReferencePluginConfigType = any> extends BaseWithConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig>> {
|
|
41
41
|
constructor(config: BSBObservableConstructor<ReferencedConfig>);
|
|
42
42
|
/**
|
|
43
43
|
* Logging: Debug level
|
package/lib/base/BSBService.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ import { PluginEvents } from "./PluginEvents.js";
|
|
|
33
33
|
/**
|
|
34
34
|
* @hidden
|
|
35
35
|
*/
|
|
36
|
-
export interface BSBServiceConstructor<ReferencedConfig extends BSBReferencePluginConfigType = any, TEventSchemas extends BSBEventSchemas = BSBEventSchemas> extends BaseWithObservableAndConfigConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig
|
|
36
|
+
export interface BSBServiceConstructor<ReferencedConfig extends BSBReferencePluginConfigType = any, TEventSchemas extends BSBEventSchemas = BSBEventSchemas> extends BaseWithObservableAndConfigConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig>> {
|
|
37
37
|
sbEvents: SBEvents;
|
|
38
38
|
sbObservable: SBObservable;
|
|
39
39
|
eventSchemas?: TEventSchemas;
|
|
@@ -73,13 +73,13 @@ export interface BSBServiceClientDefinition {
|
|
|
73
73
|
* ConfigSchema
|
|
74
74
|
* );
|
|
75
75
|
*
|
|
76
|
-
* export class Plugin extends BSBService<typeof Config
|
|
76
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
77
77
|
* static Config = Config; // Required for auto-generation
|
|
78
78
|
* // PLUGIN_CLIENT is auto-generated from Config.metadata
|
|
79
79
|
* }
|
|
80
80
|
* ```
|
|
81
81
|
*/
|
|
82
|
-
export declare abstract class BSBService<ReferencedConfig extends BSBReferencePluginConfigType = any, TEventSchemas extends BSBEventSchemas = BSBEventSchemas> extends BaseWithObservableAndConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig
|
|
82
|
+
export declare abstract class BSBService<ReferencedConfig extends BSBReferencePluginConfigType = any, TEventSchemas extends BSBEventSchemas = BSBEventSchemas> extends BaseWithObservableAndConfig<ReferencedConfig extends null ? null : BSBReferencePluginConfigDefinition<ReferencedConfig>> {
|
|
83
83
|
/**
|
|
84
84
|
* Static reference to the Config class created with createConfigSchema().
|
|
85
85
|
* Required for auto-generating PLUGIN_CLIENT identity from metadata.
|
|
@@ -114,7 +114,7 @@ export declare abstract class BSBService<ReferencedConfig extends BSBReferencePl
|
|
|
114
114
|
* @example
|
|
115
115
|
* ```typescript
|
|
116
116
|
* // In your plugin class:
|
|
117
|
-
* export class Plugin extends BSBService<typeof Config
|
|
117
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
118
118
|
* static Config = Config;
|
|
119
119
|
* static EventSchemas = EventSchemas;
|
|
120
120
|
* }
|
|
@@ -221,10 +221,10 @@ export declare abstract class BSBService<ReferencedConfig extends BSBReferencePl
|
|
|
221
221
|
*
|
|
222
222
|
* @example
|
|
223
223
|
* ```typescript
|
|
224
|
-
* export class Plugin extends BSBService<typeof Config
|
|
224
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
225
225
|
* private self;
|
|
226
226
|
*
|
|
227
|
-
* constructor(config: BSBServiceConstructor<typeof Config
|
|
227
|
+
* constructor(config: BSBServiceConstructor<InstanceType<typeof Config>, typeof EventSchemas>) {
|
|
228
228
|
* super({ ...config, eventSchemas: EventSchemas });
|
|
229
229
|
*
|
|
230
230
|
* // Create self-client for HTTP handler to call own events
|
package/lib/base/BSBService.js
CHANGED
|
@@ -58,7 +58,7 @@ import { bsb } from "../interfaces/schema-types.js";
|
|
|
58
58
|
* ConfigSchema
|
|
59
59
|
* );
|
|
60
60
|
*
|
|
61
|
-
* export class Plugin extends BSBService<typeof Config
|
|
61
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
62
62
|
* static Config = Config; // Required for auto-generation
|
|
63
63
|
* // PLUGIN_CLIENT is auto-generated from Config.metadata
|
|
64
64
|
* }
|
|
@@ -132,7 +132,7 @@ export class BSBService extends BaseWithObservableAndConfig {
|
|
|
132
132
|
* @example
|
|
133
133
|
* ```typescript
|
|
134
134
|
* // In your plugin class:
|
|
135
|
-
* export class Plugin extends BSBService<typeof Config
|
|
135
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
136
136
|
* static Config = Config;
|
|
137
137
|
* static EventSchemas = EventSchemas;
|
|
138
138
|
* }
|
|
@@ -274,10 +274,10 @@ export class BSBService extends BaseWithObservableAndConfig {
|
|
|
274
274
|
*
|
|
275
275
|
* @example
|
|
276
276
|
* ```typescript
|
|
277
|
-
* export class Plugin extends BSBService<typeof Config
|
|
277
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
278
278
|
* private self;
|
|
279
279
|
*
|
|
280
|
-
* constructor(config: BSBServiceConstructor<typeof Config
|
|
280
|
+
* constructor(config: BSBServiceConstructor<InstanceType<typeof Config>, typeof EventSchemas>) {
|
|
281
281
|
* super({ ...config, eventSchemas: EventSchemas });
|
|
282
282
|
*
|
|
283
283
|
* // Create self-client for HTTP handler to call own events
|
|
@@ -142,8 +142,11 @@ export declare class BSBPluginConfigRef extends BSBPluginConfig<any> {
|
|
|
142
142
|
* // v9 pattern:
|
|
143
143
|
* const TodoConfigSchema = av.object({
|
|
144
144
|
* database: av.object({
|
|
145
|
-
*
|
|
146
|
-
*
|
|
145
|
+
* // .default() makes the key optional in config files while keeping the
|
|
146
|
+
* // inferred type non-optional. Only wrap in av.optional() when there is
|
|
147
|
+
* // no default and the field may genuinely be absent.
|
|
148
|
+
* host: av.string().default('localhost'),
|
|
149
|
+
* port: av.int32().default(5432),
|
|
147
150
|
* }),
|
|
148
151
|
* });
|
|
149
152
|
*
|
|
@@ -157,7 +160,7 @@ export declare class BSBPluginConfigRef extends BSBPluginConfig<any> {
|
|
|
157
160
|
* );
|
|
158
161
|
*
|
|
159
162
|
* // Usage in plugin:
|
|
160
|
-
* export class Plugin extends BSBService<typeof Config
|
|
163
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
161
164
|
* static Config = Config; // Required for auto-generation
|
|
162
165
|
* }
|
|
163
166
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginConfig.js","sourceRoot":"","sources":["../../src/base/PluginConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AA4FH;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,eAAe;IAGnC,6DAA6D;IAC7D,YAAY,GAAW,EAAE,UAAkB,EAAE,SAAiB,EAAE,UAAkB;IAClF,CAAC;IAID;;;OAGG;IACH,MAAM,CAAU,QAAQ,CAAoB;IAE5C;;;;OAIG;IACI,QAAQ,CAAqB;CACrC;AAED;;;GAGG;AACH,MAAM,OAAO,kBACT,SAAQ,eAAoB;IACvB,gBAAgB,GAAG,EAAE,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"PluginConfig.js","sourceRoot":"","sources":["../../src/base/PluginConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AA4FH;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,eAAe;IAGnC,6DAA6D;IAC7D,YAAY,GAAW,EAAE,UAAkB,EAAE,SAAiB,EAAE,UAAkB;IAClF,CAAC;IAID;;;OAGG;IACH,MAAM,CAAU,QAAQ,CAAoB;IAE5C;;;;OAIG;IACI,QAAQ,CAAqB;CACrC;AAED;;;GAGG;AACH,MAAM,OAAO,kBACT,SAAQ,eAAoB;IACvB,gBAAgB,GAAG,EAAE,CAAC;CAC9B;AAyDD,MAAM,UAAU,kBAAkB,CAChC,QAA2B,EAC3B,MAAgB;IAEhB,MAAM,WAAW,GAAG,KAAM,SAAQ,eAAwB;QACxD,gBAAgB,GAAG,MAAiB,CAAC;QACrC,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC;QAEpC,8DAA8D;QACrD,QAAQ,GAAG,QAAQ,CAAC;KAC9B,CAAC;IACF,OAAO,WAA4C,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,YAAY,CAAC;IAC9D,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtD,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/lib/base/base.d.ts
CHANGED
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { DEBUG_MODE, IPluginObservable, Observable } from "../interfaces/index.js";
|
|
28
28
|
import { SBObservable } from "../serviceBase/index.js";
|
|
29
|
-
import { BSBReferenceConfigType } from "./PluginConfig.js";
|
|
30
29
|
/**
|
|
31
30
|
* Main base config
|
|
32
31
|
* @property appId - The unique app id of the app that is running
|
|
@@ -173,22 +172,22 @@ export declare abstract class Base extends MainBase {
|
|
|
173
172
|
/**
|
|
174
173
|
* @hidden
|
|
175
174
|
*/
|
|
176
|
-
export type ConfigPropertyTypeSafe<ReferencedConfig
|
|
175
|
+
export type ConfigPropertyTypeSafe<ReferencedConfig> = [ReferencedConfig] extends [never] ? never : ReferencedConfig extends undefined | null ? never : ReferencedConfig;
|
|
177
176
|
/**
|
|
178
177
|
* @hidden
|
|
179
178
|
*/
|
|
180
|
-
export type ConfigConstructorTypeSafe<ReferencedConfig
|
|
179
|
+
export type ConfigConstructorTypeSafe<ReferencedConfig> = [ReferencedConfig] extends [never] ? undefined : ReferencedConfig extends undefined | null ? undefined : ReferencedConfig;
|
|
181
180
|
/**
|
|
182
181
|
* @hidden
|
|
183
182
|
*/
|
|
184
|
-
export interface BaseWithConfigConfig<ReferencedConfig
|
|
183
|
+
export interface BaseWithConfigConfig<ReferencedConfig> extends MainBaseConfig {
|
|
185
184
|
config: ConfigConstructorTypeSafe<ReferencedConfig>;
|
|
186
185
|
}
|
|
187
186
|
/**
|
|
188
187
|
* @hidden
|
|
189
188
|
* used by logging plugins (does not need events or logging since logging logs its own logs)
|
|
190
189
|
*/
|
|
191
|
-
export declare abstract class BaseWithConfig<ReferencedConfig
|
|
190
|
+
export declare abstract class BaseWithConfig<ReferencedConfig> extends Base {
|
|
192
191
|
/**
|
|
193
192
|
* The config of the plugin
|
|
194
193
|
* @type {PluginConfig}
|
|
@@ -234,14 +233,14 @@ export declare abstract class BaseWithObservable extends Base {
|
|
|
234
233
|
/**
|
|
235
234
|
* @hidden
|
|
236
235
|
*/
|
|
237
|
-
export interface BaseWithObservableAndConfigConfig<ReferencedConfig
|
|
236
|
+
export interface BaseWithObservableAndConfigConfig<ReferencedConfig> extends BaseWithObservableConfig, BaseWithConfigConfig<ReferencedConfig> {
|
|
238
237
|
}
|
|
239
238
|
/**
|
|
240
239
|
* @hidden
|
|
241
240
|
* Base class with config and internal observable support.
|
|
242
241
|
* Use Observable for all logging and metrics operations.
|
|
243
242
|
*/
|
|
244
|
-
export declare abstract class BaseWithObservableAndConfig<ReferencedConfig
|
|
243
|
+
export declare abstract class BaseWithObservableAndConfig<ReferencedConfig> extends BaseWithConfig<ReferencedConfig> {
|
|
245
244
|
/**
|
|
246
245
|
* @hidden
|
|
247
246
|
* Internal ObservableBackend instance for creating Observables.
|
package/lib/base/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/base/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/base/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAuB3D;;GAEG;AACH,MAAM,OAAgB,QAAQ;IAC5B;;;;;OAKG;IACa,KAAK,GAAW,KAAK,CAAC;IAEtC;;;;;;;;OAQG;IACa,IAAI,GAAe,aAAa,CAAC;IACjD;;;OAGG;IACa,GAAG,CAAS;IAC5B;;;OAGG;IACa,UAAU,CAAS;IACnC;;;OAGG;IACa,SAAS,CAAS;IAQlC;;;OAGG;IACa,MAAM,CAAU;IAEhC,YAAY,MAAsB;QAChC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;CAUF;AAED;;GAEG;AACH,MAAM,OAAgB,IACpB,SAAQ,QAAQ;IAChB;;OAEG;IACH,YAAY,MAAsB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CA6DF;AAkCD;;;GAGG;AACH,MAAM,OAAgB,cAGpB,SAAQ,IAAI;IACZ;;;;OAIG;IACa,MAAM,CAA2C;IAEjE,YAAY,MAA8C;QACxD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAA6D,CAAC;IACrF,CAAC;CACF;AAWD;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,kBACpB,SAAQ,IAAI;IACZ;;;;OAIG;IACK,WAAW,CAAoB;IAEvC,YAAY,MAAgC;QAC1C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CACtC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,CACpB,CAAC;QAEF,iCAAiC;QACjC,oEAAoE;IACtE,CAAC;IAED;;;;OAIG;IACH,IAAc,oBAAoB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAYD;;;;GAIG;AACH,MAAM,OAAgB,2BAGpB,SAAQ,cAAgC;IACxC;;;OAGG;IACK,WAAW,CAAoB;IAEvC,YAAY,MAA2D;QACrE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CACtC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,CACpB,CAAC;QAEF,iCAAiC;IACnC,CAAC;IAED;;;OAGG;IACH,IAAc,oBAAoB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC"}
|
package/lib/base/functions.js
CHANGED
|
@@ -124,16 +124,16 @@ export function SmartFunctionCallSync(context, input, ...params) {
|
|
|
124
124
|
*/
|
|
125
125
|
export const ENV_PROPS = av.object({
|
|
126
126
|
/** Active configuration profile (e.g. "default", "prod") */
|
|
127
|
-
BSB_PROFILE: av.optional(av.string()).default("default"),
|
|
127
|
+
BSB_PROFILE: av.optional(av.string()).default("default").describe('Active configuration profile name'),
|
|
128
128
|
/** Path to the root config file when not using plugin-based sources */
|
|
129
|
-
BSB_CONFIG_FILE: av.optional(av.string()).default("config.yaml"),
|
|
129
|
+
BSB_CONFIG_FILE: av.optional(av.string()).default("config.yaml").describe('Path to the root config file when not using plugin-based sources'),
|
|
130
130
|
/** Application working directory */
|
|
131
|
-
APP_DIR: av.optional(av.string()).default(process.cwd()),
|
|
131
|
+
APP_DIR: av.optional(av.string()).default(process.cwd()).describe('Application working directory'),
|
|
132
132
|
/** Logger plugin name to load */
|
|
133
|
-
BSB_LOGGER_PLUGIN: av.optional(av.string()).default("config-default"),
|
|
133
|
+
BSB_LOGGER_PLUGIN: av.optional(av.string()).default("config-default").describe('Logger plugin name to load'),
|
|
134
134
|
/** Logger plugin package (if different from name) */
|
|
135
|
-
BSB_LOGGER_PLUGIN_PACKAGE: av.optional(av.string()).default("config-default"),
|
|
136
|
-
}, { unknownKeys: 'strip' });
|
|
135
|
+
BSB_LOGGER_PLUGIN_PACKAGE: av.optional(av.string()).default("config-default").describe('Logger plugin package when different from the plugin name'),
|
|
136
|
+
}, { unknownKeys: 'strip' }).describe('Validated BSB runtime environment properties');
|
|
137
137
|
/**
|
|
138
138
|
* Parse and validate the current environment against {@link ENV_PROPS}.
|
|
139
139
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/base/functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,gBAAgB,EAAU,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAa,EACb,OAAY,EACZ,KAAoB,EACpB,GAAG,MAAqB;IAExB,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,KAAK,EACtB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAY,EACZ,KAAoB,EACpB,GAAG,MAAqB;IAExB,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,EACxD,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,eAAe,EAAE,CAAC;QAClD,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAY,EACZ,KAAoB,EACpB,GAAG,MAAqB;IAExB,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,EACvD,iDAAiD,CAClD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC;IACjC,4DAA4D;IAC5D,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/base/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -199,7 +199,7 @@ export declare function createBroadcastEvent<TInput extends BSBType>(input: TInp
|
|
|
199
199
|
* - Compile-time validation that fire-and-forget events are in fire-and-forget categories
|
|
200
200
|
* - Compile-time validation that returnable events are in returnable categories
|
|
201
201
|
* - Compile-time validation that broadcast events are in broadcast categories
|
|
202
|
-
* - Runtime duplicate name detection across categories (warns
|
|
202
|
+
* - Runtime duplicate name detection across categories (warns before build validation fails)
|
|
203
203
|
*
|
|
204
204
|
* @param schemas - Event schema definitions with type validation
|
|
205
205
|
* @returns Complete event schema with preserved literal types
|
|
@@ -282,6 +282,13 @@ export interface ServiceClientEventSchemas<T extends BSBEventSchemas> {
|
|
|
282
282
|
* Event category type for exported schemas.
|
|
283
283
|
*/
|
|
284
284
|
export type EventCategory = 'emitEvents' | 'onEvents' | 'emitReturnableEvents' | 'onReturnableEvents' | 'emitBroadcast' | 'onBroadcast';
|
|
285
|
+
/**
|
|
286
|
+
* Validate that each plugin event name is declared once.
|
|
287
|
+
*
|
|
288
|
+
* A plugin EventSchemas contract describes that plugin's public bus surface. To consume events
|
|
289
|
+
* from another service, instantiate that service's generated client and subscribe through it.
|
|
290
|
+
*/
|
|
291
|
+
export declare function validateEventSchemaNames(pluginName: string, schemas: BSBEventSchemas): void;
|
|
285
292
|
/**
|
|
286
293
|
* JSON Schema type definition for cross-language code generation.
|
|
287
294
|
* Uses standard JSON Schema format with BSB-specific extensions.
|
|
@@ -346,7 +353,7 @@ export interface EventSchemaExport {
|
|
|
346
353
|
*
|
|
347
354
|
* @example
|
|
348
355
|
* ```typescript
|
|
349
|
-
* export class Plugin extends BSBService<typeof Config
|
|
356
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
350
357
|
* static exportSchemas(): EventSchemaExport {
|
|
351
358
|
* return exportEventSchemas(
|
|
352
359
|
* Config.metadata.name,
|
|
@@ -89,7 +89,7 @@ export function createBroadcastEvent(input, description) {
|
|
|
89
89
|
* - Compile-time validation that fire-and-forget events are in fire-and-forget categories
|
|
90
90
|
* - Compile-time validation that returnable events are in returnable categories
|
|
91
91
|
* - Compile-time validation that broadcast events are in broadcast categories
|
|
92
|
-
* - Runtime duplicate name detection across categories (warns
|
|
92
|
+
* - Runtime duplicate name detection across categories (warns before build validation fails)
|
|
93
93
|
*
|
|
94
94
|
* @param schemas - Event schema definitions with type validation
|
|
95
95
|
* @returns Complete event schema with preserved literal types
|
|
@@ -114,8 +114,7 @@ export function createBroadcastEvent(input, description) {
|
|
|
114
114
|
* ```
|
|
115
115
|
*/
|
|
116
116
|
export function createEventSchemas(schemas) {
|
|
117
|
-
// Runtime duplicate name detection for developer clarity
|
|
118
|
-
// Note: Duplicate names across categories are not technically invalid, but can be confusing
|
|
117
|
+
// Runtime duplicate name detection for developer clarity before build validation fails.
|
|
119
118
|
if (process.env.NODE_ENV !== 'production') {
|
|
120
119
|
const allNames = new Set();
|
|
121
120
|
const duplicates = [];
|
|
@@ -145,12 +144,99 @@ export function createEventSchemas(schemas) {
|
|
|
145
144
|
// In production, this check is skipped for performance
|
|
146
145
|
// eslint-disable-next-line no-console
|
|
147
146
|
console.warn(`[BSB Warning] Duplicate event names detected: ${uniqueDuplicates.join(', ')}\n` +
|
|
148
|
-
`
|
|
149
|
-
`
|
|
147
|
+
`Build schema export requires event names to be unique across all EventSchemas categories.\n` +
|
|
148
|
+
`Use distinct names for each event contract entry.`);
|
|
150
149
|
}
|
|
151
150
|
}
|
|
152
151
|
return schemas;
|
|
153
152
|
}
|
|
153
|
+
const EVENT_DIRECTION_CONFLICTS = [
|
|
154
|
+
{
|
|
155
|
+
emitCategory: 'emitEvents',
|
|
156
|
+
onCategory: 'onEvents',
|
|
157
|
+
eventType: 'fire-and-forget',
|
|
158
|
+
onMethod: 'onEvent',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
emitCategory: 'emitReturnableEvents',
|
|
162
|
+
onCategory: 'onReturnableEvents',
|
|
163
|
+
eventType: 'returnable',
|
|
164
|
+
onMethod: 'onReturnableEvent',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
emitCategory: 'emitBroadcast',
|
|
168
|
+
onCategory: 'onBroadcast',
|
|
169
|
+
eventType: 'broadcast',
|
|
170
|
+
onMethod: 'onBroadcast',
|
|
171
|
+
},
|
|
172
|
+
];
|
|
173
|
+
const EVENT_CATEGORIES = [
|
|
174
|
+
'emitEvents',
|
|
175
|
+
'onEvents',
|
|
176
|
+
'emitReturnableEvents',
|
|
177
|
+
'onReturnableEvents',
|
|
178
|
+
'emitBroadcast',
|
|
179
|
+
'onBroadcast',
|
|
180
|
+
];
|
|
181
|
+
function getDirectionConflict(categories) {
|
|
182
|
+
for (const rule of EVENT_DIRECTION_CONFLICTS) {
|
|
183
|
+
if (categories.includes(rule.emitCategory) && categories.includes(rule.onCategory)) {
|
|
184
|
+
return {
|
|
185
|
+
emitCategory: rule.emitCategory,
|
|
186
|
+
onCategory: rule.onCategory,
|
|
187
|
+
eventType: rule.eventType,
|
|
188
|
+
onMethod: rule.onMethod,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return undefined;
|
|
193
|
+
}
|
|
194
|
+
function getEventNameConflicts(schemas) {
|
|
195
|
+
const eventCategories = new Map();
|
|
196
|
+
for (const category of EVENT_CATEGORIES) {
|
|
197
|
+
const categorySchemas = schemas[category];
|
|
198
|
+
if (!categorySchemas)
|
|
199
|
+
continue;
|
|
200
|
+
for (const eventName of Object.keys(categorySchemas)) {
|
|
201
|
+
const categories = eventCategories.get(eventName) ?? [];
|
|
202
|
+
categories.push(category);
|
|
203
|
+
eventCategories.set(eventName, categories);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return Array.from(eventCategories.entries())
|
|
207
|
+
.filter(([, categories]) => categories.length > 1)
|
|
208
|
+
.map(([eventName, categories]) => ({
|
|
209
|
+
eventName,
|
|
210
|
+
categories,
|
|
211
|
+
directionConflict: getDirectionConflict(categories),
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Validate that each plugin event name is declared once.
|
|
216
|
+
*
|
|
217
|
+
* A plugin EventSchemas contract describes that plugin's public bus surface. To consume events
|
|
218
|
+
* from another service, instantiate that service's generated client and subscribe through it.
|
|
219
|
+
*/
|
|
220
|
+
export function validateEventSchemaNames(pluginName, schemas) {
|
|
221
|
+
const conflicts = getEventNameConflicts(schemas);
|
|
222
|
+
if (conflicts.length === 0)
|
|
223
|
+
return;
|
|
224
|
+
const conflictLines = conflicts.map((conflict) => `- "${conflict.eventName}" is declared in: ${conflict.categories.join(', ')}.`);
|
|
225
|
+
const directionAdviceLines = conflicts
|
|
226
|
+
.filter((conflict) => conflict.directionConflict !== undefined)
|
|
227
|
+
.map((conflict) => {
|
|
228
|
+
const directionConflict = conflict.directionConflict;
|
|
229
|
+
return (` For "${conflict.eventName}", remove it from ${directionConflict.onCategory}; ` +
|
|
230
|
+
`if this plugin needs to listen to that emitted ${directionConflict.eventType} event, ` +
|
|
231
|
+
`instantiate the generated ServiceClient for the emitting plugin and register the listener with the client ${directionConflict.onMethod} API.`);
|
|
232
|
+
});
|
|
233
|
+
throw new Error(`[BSB Build Error] Invalid EventSchemas for plugin "${pluginName}".\n` +
|
|
234
|
+
`Each event name must be unique across emitEvents, onEvents, emitReturnableEvents, onReturnableEvents, emitBroadcast, and onBroadcast.\n` +
|
|
235
|
+
`${conflictLines.join('\n')}\n` +
|
|
236
|
+
`Use distinct event names for different event types and directions so generated clients have one unambiguous contract entry per key.\n` +
|
|
237
|
+
`EventSchemas describe this plugin's own public bus contract. A self-declared onX entry is not how a plugin subscribes to its own emitted contract.` +
|
|
238
|
+
(directionAdviceLines.length > 0 ? `\n${directionAdviceLines.join('\n')}` : ''));
|
|
239
|
+
}
|
|
154
240
|
/**
|
|
155
241
|
* Export event schemas to JSON format for cross-language client generation.
|
|
156
242
|
*
|
|
@@ -173,7 +259,7 @@ export function createEventSchemas(schemas) {
|
|
|
173
259
|
*
|
|
174
260
|
* @example
|
|
175
261
|
* ```typescript
|
|
176
|
-
* export class Plugin extends BSBService<typeof Config
|
|
262
|
+
* export class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
177
263
|
* static exportSchemas(): EventSchemaExport {
|
|
178
264
|
* return exportEventSchemas(
|
|
179
265
|
* Config.metadata.name,
|
|
@@ -186,6 +272,7 @@ export function createEventSchemas(schemas) {
|
|
|
186
272
|
* @see {@link https://bsbcode.dev/languages/nodejs/types/functions/exportEventSchemas.html | API: exportEventSchemas}
|
|
187
273
|
*/
|
|
188
274
|
export function exportEventSchemas(pluginName, schemas) {
|
|
275
|
+
validateEventSchemaNames(pluginName, schemas);
|
|
189
276
|
const events = {};
|
|
190
277
|
// Helper to process a category of events
|
|
191
278
|
const processCategory = (category, categorySchemas) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-events.js","sourceRoot":"","sources":["../../src/interfaces/schema-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAA0C,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAgI5F;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,WAAoB;IAMpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,iBAA0B,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,MAAe,EACf,WAAoB,EACpB,cAAuB;IAQvB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,YAAqB,EAAE,CAAC;AACxF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,WAAoB;IAMpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAoB,EAAE,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,oCAAoC;AACpC,wDAAwD;AACxD,0DAA0D;AAC1D,gEAAgE;AAChE,uDAAuD;AACvD,kDAAkD;AAClD,sDAAsD;AACtD,cAAc;AACd,KAAK;AACL,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAU;IAEV,
|
|
1
|
+
{"version":3,"file":"schema-events.js","sourceRoot":"","sources":["../../src/interfaces/schema-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,13 +28,13 @@ import { EventsConfig, ObservableConfig, PluginDefinition, PluginType, Observabl
|
|
|
28
28
|
import { BSBConfig, BSBConfigConstructor } from "../../base/BSBConfig.js";
|
|
29
29
|
import * as av from "anyvali";
|
|
30
30
|
export declare const Config: import("../../index.js").BSBPluginConfigClass<av.ObjectSchema<{
|
|
31
|
-
BSB_PROFILE: av.
|
|
32
|
-
BSB_CONFIG_FILE: av.
|
|
31
|
+
BSB_PROFILE: av.StringSchema;
|
|
32
|
+
BSB_CONFIG_FILE: av.StringSchema;
|
|
33
33
|
}>>;
|
|
34
34
|
export declare class Plugin extends BSBConfig<InstanceType<typeof Config>> {
|
|
35
35
|
static Config: import("../../index.js").BSBPluginConfigClass<av.ObjectSchema<{
|
|
36
|
-
BSB_PROFILE: av.
|
|
37
|
-
BSB_CONFIG_FILE: av.
|
|
36
|
+
BSB_PROFILE: av.StringSchema;
|
|
37
|
+
BSB_CONFIG_FILE: av.StringSchema;
|
|
38
38
|
}>>;
|
|
39
39
|
private createDefaultProfile;
|
|
40
40
|
private getRequiredServices;
|
|
@@ -32,9 +32,9 @@ import { BSBConfig } from "../../base/BSBConfig.js";
|
|
|
32
32
|
import { createConfigSchema } from "../../base/PluginConfig.js";
|
|
33
33
|
import * as av from "anyvali";
|
|
34
34
|
const ConfigSchema = av.object({
|
|
35
|
-
BSB_PROFILE: av.
|
|
36
|
-
BSB_CONFIG_FILE: av.
|
|
37
|
-
}, { unknownKeys: "strip" });
|
|
35
|
+
BSB_PROFILE: av.string().default("default").describe("Active configuration profile name"),
|
|
36
|
+
BSB_CONFIG_FILE: av.string().default("./sec-config.yaml").describe("Path to the root BSB configuration file"),
|
|
37
|
+
}, { unknownKeys: "strip" }).describe("Default configuration plugin settings");
|
|
38
38
|
export const Config = createConfigSchema({
|
|
39
39
|
name: "config-default",
|
|
40
40
|
description: "Default configuration plugin for profile and plugin resolution",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/config-default/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAKL,WAAW,EAAE,KAAK,EAClB,QAAQ,GAET,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAwB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC;IAC7B,WAAW,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/config-default/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,8 @@ export const Config = createConfigSchema({
|
|
|
67
67
|
"./docs/core-plugins/observable-default.md",
|
|
68
68
|
"./docs/core-plugins/observable-default-production.md",
|
|
69
69
|
],
|
|
70
|
-
}, av.optional(av.object({}, { unknownKeys: "strip" })).default({})
|
|
70
|
+
}, av.optional(av.object({}, { unknownKeys: "strip" }).describe("Default observable plugin configuration")).default({})
|
|
71
|
+
.describe("Optional default observable plugin configuration"));
|
|
71
72
|
export class Plugin extends BSBObservable {
|
|
72
73
|
static Config = Config;
|
|
73
74
|
logFormatter = new LogFormatter();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/observable-default/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,aAAa,EAA4B,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE1H,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,iCAAiC;AACjC,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,GAAG,EAAE,SAAS;IACd,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;CACX,CAAC;AAIX,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CACtC;IACE,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,sDAAsD;IACnE,KAAK,EAAE,2CAA2C;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;IAClD,aAAa,EAAE;QACb,2CAA2C;QAC3C,sDAAsD;KACvD;CACF,EACD,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/observable-default/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,8 @@ export const Config = createConfigSchema({
|
|
|
34
34
|
description: 'Benchmarking service for performance testing',
|
|
35
35
|
image: '../docs/public/assets/images/bsb-logo.png',
|
|
36
36
|
tags: ['benchmark', 'performance', 'test'],
|
|
37
|
-
}, av.optional(av.object({}, { unknownKeys: "strip" })).default({})
|
|
37
|
+
}, av.optional(av.object({}, { unknownKeys: "strip" }).describe("Benchmark service configuration")).default({})
|
|
38
|
+
.describe("Optional benchmark service configuration"));
|
|
38
39
|
export const EventSchemas = createEventSchemas({
|
|
39
40
|
// Events this service emits (fire-and-forget, first listener receives)
|
|
40
41
|
emitEvents: {
|