@mayhem93/nexxus-core-lib 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,9 +34,7 @@ class NexxusFilterQuery {
34
34
  if (node.operator === '$and') {
35
35
  return node.conditions.every(childNode => this.testNode(childNode, object));
36
36
  }
37
- else {
38
- return node.conditions.some(childNode => this.testNode(childNode, object));
39
- }
37
+ return node.conditions.some(childNode => this.testNode(childNode, object));
40
38
  }
41
39
  validateAndParse() {
42
40
  this.nodes = this.parseQuery(this.query, this.modelDef);
@@ -1 +1 @@
1
- {"version":3,"file":"FilterQuery.js","sourceRoot":"","sources":["../../src/common/FilterQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterQuery.js","sourceRoot":"","sources":["../../src/common/FilterQuery.ts"],"names":[],"mappings":"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"}
package/dist-cjs/index.js CHANGED
@@ -7,6 +7,7 @@ tslib_1.__exportStar(require("./lib/ConfigProvider"), exports);
7
7
  tslib_1.__exportStar(require("./lib/ConfigManager"), exports);
8
8
  tslib_1.__exportStar(require("./lib/BaseService"), exports);
9
9
  tslib_1.__exportStar(require("./lib/Logger"), exports);
10
+ tslib_1.__exportStar(require("./lib/ServiceResolver"), exports);
10
11
  tslib_1.__exportStar(require("./common/QueuePayloads"), exports);
11
12
  tslib_1.__exportStar(require("./common/JsonPatch"), exports);
12
13
  tslib_1.__exportStar(require("./common/FilterQuery"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAiC;AACjC,+DAAqC;AACrC,8DAAoC;AACpC,4DAAkC;AAClC,uDAA6B;AAE7B,iEAAuC;AACvC,6DAAmC;AACnC,+DAAqC;AACrC,8DAAoC;AACpC,mEAAyC;AACzC,6DAAmC;AACnC,gEAAsC;AACtC,kEAAwC;AACxC,4DAAkC;AAClC,+DAAqC;AACrC,wDAA8B;AAEjB,QAAA,gBAAgB,GAAG,KAAK,CAAC;AACzB,QAAA,gBAAgB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAiC;AACjC,+DAAqC;AACrC,8DAAoC;AACpC,4DAAkC;AAClC,uDAA6B;AAC7B,gEAAsC;AAEtC,iEAAuC;AACvC,6DAAmC;AACnC,+DAAqC;AACrC,8DAAoC;AACpC,mEAAyC;AACzC,6DAAmC;AACnC,gEAAsC;AACtC,kEAAwC;AACxC,4DAAkC;AAClC,+DAAqC;AACrC,wDAA8B;AAEjB,QAAA,gBAAgB,GAAG,KAAK,CAAC;AACzB,QAAA,gBAAgB,GAAG,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseService.js","sourceRoot":"","sources":["../../src/lib/BaseService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseService.js","sourceRoot":"","sources":["../../src/lib/BaseService.ts"],"names":[],"mappings":";;;;AAOA,6CAAmD;AAKnD,oDAA8B;AAC9B,6CAA2C;AAuD3C,SAAS,MAAM,CAAC,MAAW,EAAE,WAAmB;IAC9C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,iBAAiB;IACb,OAAO,CAAe;IAE9B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,0BAAY,EAAE,CAAC;IACpC,CAAC;IAED,EAAE,CAAoB,KAAQ,EAAE,QAAiE;QAC/F,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAwB,EAAE,QAAQ,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,QAAiE;QACjG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAwB,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAoB,KAAQ,EAAE,QAAiE;QAChG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAwB,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,GAAG,OAA0C;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAwB,EAAE,GAAG,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AAED,MAAsB,iBAAoE,SAAQ,iBAAqB;IAE3G,MAAM,CAAc;IAEpB,MAAM,CAAC,OAAO,CAAgB;IAC9B,MAAM,CAAC,OAAO,CAAgB;IAO9B,MAAM,CAAC,aAAa,CAAS;IAC7B,MAAM,CAAC,UAAU,CAAS;IAC5B,MAAM,CAAC,cAAc,CAAS;IAEtC,YAAY,MAAmB;QAC7B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,YAAY;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,YAAY;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,gCAAmB,CAAC,2BAA2B,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,IAAI,CAAC,IAAI,UAAU;gBAC5E,+GAA+G,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,UAAU,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,UAAU;YACV,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;CACF;AA7DD,8CA6DC;AA3DW;IADT,MAAM;iDACuB"}
@@ -10,17 +10,22 @@ const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
10
10
  const fs = tslib_1.__importStar(require("node:fs"));
11
11
  const path = tslib_1.__importStar(require("node:path"));
12
12
  class NexxusConfigManager {
13
- static CONF_FILE_NAME = "nexxus.conf.json";
13
+ static CONF_FILE_NAME = 'nexxus.conf.json';
14
+ static DEFAULT_CONF_PATH = '/etc/nexxus';
14
15
  jsonSchema;
15
16
  envVarsSpecs = [];
16
17
  cliArgsSpecs = [];
17
18
  data = {};
18
19
  configProviders = [];
19
20
  customProviders = [];
20
- constructor(configFileName) {
21
+ registeredServices = new Set();
22
+ dataInitialized = false;
23
+ hasNewRegistrations = false;
24
+ constructor(configFilePath) {
21
25
  const schemaPath = path.join(__dirname, "../../src/schemas/root.schema.json");
26
+ const resolvedConfPath = path.resolve(configFilePath || process.env.NXX_CONF_PATH || path.join(NexxusConfigManager.DEFAULT_CONF_PATH, NexxusConfigManager.CONF_FILE_NAME));
22
27
  this.jsonSchema = JSON.parse(fs.readFileSync(schemaPath, 'utf-8'));
23
- this.configProviders.push(new ConfigProvider_1.NexxusFileConfigProvider(path.join(process.cwd(), configFileName ?? NexxusConfigManager.CONF_FILE_NAME)));
28
+ this.configProviders.push(new ConfigProvider_1.NexxusFileConfigProvider(resolvedConfPath));
24
29
  this.configProviders.push(new ConfigProvider_1.NexxusEnvVarsConfigProvider());
25
30
  this.configProviders.push(new ConfigProvider_1.NexxusCliArgConfigProvider());
26
31
  }
@@ -41,16 +46,30 @@ class NexxusConfigManager {
41
46
  this.jsonSchema.required.push(def.where);
42
47
  }
43
48
  }
49
+ registerService(svc) {
50
+ if (this.registeredServices.has(svc.name)) {
51
+ return;
52
+ }
53
+ const schemaDef = svc.schema();
54
+ const className = svc.name;
55
+ const configRootKey = schemaDef.where;
56
+ this.cliArgsSpecs.push({ className, configRootKey, specs: svc.cliArgConfig() });
57
+ this.envVarsSpecs.push({ className, configRootKey, specs: svc.envVarConfig() });
58
+ this.addJsonSchemaDef(schemaDef);
59
+ this.registeredServices.add(className);
60
+ this.hasNewRegistrations = true;
61
+ }
44
62
  async validateServices(svcs) {
45
- for (const NxxSvc of svcs) {
46
- const schemaDef = NxxSvc.schema();
47
- const className = NxxSvc.name;
48
- const configRootKey = schemaDef.where;
49
- this.cliArgsSpecs.push({ className, configRootKey, specs: NxxSvc.cliArgConfig() });
50
- this.envVarsSpecs.push({ className, configRootKey, specs: NxxSvc.envVarConfig() });
51
- this.addJsonSchemaDef(schemaDef);
63
+ if (svcs) {
64
+ for (const svc of svcs) {
65
+ this.registerService(svc);
66
+ }
67
+ }
68
+ if (!this.hasNewRegistrations) {
69
+ return;
52
70
  }
53
71
  await this.validate();
72
+ this.hasNewRegistrations = false;
54
73
  }
55
74
  populateFromCliArgs() {
56
75
  if (this.cliArgsSpecs.length === 0) {
@@ -111,9 +130,24 @@ class NexxusConfigManager {
111
130
  }).join('\n');
112
131
  }
113
132
  async validate() {
114
- const fileConfigProvider = this.configProviders[0];
115
- this.data = fileConfigProvider.getConfig();
116
- await this.populateFromCustomProviders();
133
+ if (!this.dataInitialized) {
134
+ const fileConfigProvider = this.configProviders[0];
135
+ try {
136
+ this.data = fileConfigProvider.getConfig();
137
+ }
138
+ catch (e) {
139
+ if (e instanceof Exceptions_1.FatalErrorException) {
140
+ if (e.subcode === Exceptions_1.FatalErrorException.SUBCODES.CONFIG_FILE_NOT_FOUND) {
141
+ this.data = {};
142
+ }
143
+ else {
144
+ throw e;
145
+ }
146
+ }
147
+ }
148
+ await this.populateFromCustomProviders();
149
+ this.dataInitialized = true;
150
+ }
117
151
  this.populateFromCliArgs();
118
152
  this.populateFromEnvVars();
119
153
  const ajv = new ajv_1.Ajv({ useDefaults: true });
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../../src/lib/ConfigManager.ts"],"names":[],"mappings":";;;;AAAA,6CAA2E;AAE3E,qDAO0B;AAE1B,6BAAuC;AACvC,sDAAgC;AAChC,kEAAkC;AAGlC,oDAA8B;AAC9B,wDAAkC;AAsClC,MAAa,mBAAmB;IACtB,MAAM,CAAC,cAAc,GAAsB,kBAAkB,CAAC;IAE9D,UAAU,CAAc;IACxB,YAAY,GAA0C,EAAE,CAAC;IACzD,YAAY,GAA0C,EAAE,CAAC;IACzD,IAAI,GAAiB,EAAE,CAAC;IAExB,eAAe,GAAkC,EAAE,CAAC;IACpD,eAAe,GAAkC,EAAE,CAAC;IAE5D,YAAY,cAAwB;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;QAE9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,yCAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,4CAA2B,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,2CAA0B,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,iBAAiB,CAAC,QAA+B;QACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEO,gBAAgB,CAAC,GAA4B;QAGnD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAA;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,IAAI,EAAE,EAA2B,CAAC;QACrG,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,IAAsC;QAClE,KAAI,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9B,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;YAEtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAyB,IAAI,GAAG,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAA+B,CAAC;QAEjF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,mCAAsB,CAAC,iCAAiC,GAAG,CAAC,IAAI;sCAC9C,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACpG,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE7C,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBAChE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAgC,CAAC;QAClF,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,4CAA2B,CAAC,cAAc,CAAC;QAE1D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,mCAAsB,CAAC,uBAAuB,MAAM,GAAG,MAAM,CAAC,IAAI;sCAChD,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACvG,CAAC;gBAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChF,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACvC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;YAE1C,IAAI,CAAC,IAAI,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAyB;QAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,KAAK,GAAG,CAAC,YAAY,IAAI,OAAO,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC;QACjE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAA6B,CAAC;QAE/E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAA2B,CAAC,CAAC;YAErF,MAAM,IAAI,gCAAmB,CAAC,kCAAkC,GAAG,gBAAgB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAEM,SAAS,CAAC,KAAc;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;;AA9JH,kDA+JC"}
1
+ {"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../../src/lib/ConfigManager.ts"],"names":[],"mappings":";;;;AAAA,6CAA2E;AAE3E,qDAO0B;AAE1B,6BAAuC;AACvC,sDAAgC;AAChC,kEAAkC;AAGlC,oDAA8B;AAC9B,wDAAkC;AAsClC,MAAa,mBAAmB;IACtB,MAAM,CAAC,cAAc,GAAsB,kBAAkB,CAAC;IAC9D,MAAM,CAAC,iBAAiB,GAAsB,aAAa,CAAC;IAE5D,UAAU,CAAc;IACxB,YAAY,GAA0C,EAAE,CAAC;IACzD,YAAY,GAA0C,EAAE,CAAC;IACzD,IAAI,GAAiB,EAAE,CAAC;IAExB,eAAe,GAAkC,EAAE,CAAC;IACpD,eAAe,GAAkC,EAAE,CAAC;IAQpD,kBAAkB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAQ5C,eAAe,GAAY,KAAK,CAAC;IAOjC,mBAAmB,GAAY,KAAK,CAAC;IAE7C,YAAY,cAAwB;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;QAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAC5F,mBAAmB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,cAAc,CAC1E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,yCAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,4CAA2B,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,2CAA0B,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,iBAAiB,CAAC,QAA+B;QACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEO,gBAAgB,CAAC,GAA4B;QAGnD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAA;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,IAAI,EAAE,EAA2B,CAAC;QACrG,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAYM,eAAe,CAAC,GAAuB;QAC5C,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAaM,KAAK,CAAC,gBAAgB,CAAC,IAAgC;QAC5D,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAyB,IAAI,GAAG,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAA+B,CAAC;QAEjF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,mCAAsB,CAAC,iCAAiC,GAAG,CAAC,IAAI;sCAC9C,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACpG,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE7C,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBAChE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAgC,CAAC;QAClF,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,4CAA2B,CAAC,cAAc,CAAC;QAE1D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,mCAAsB,CAAC,uBAAuB,MAAM,GAAG,MAAM,CAAC,IAAI;sCAChD,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACvG,CAAC;gBAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChF,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACvC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;YAE1C,IAAI,CAAC,IAAI,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAyB;QAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,KAAK,GAAG,CAAC,YAAY,IAAI,OAAO,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC;QACjE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,QAAQ;QAKpB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAA6B,CAAC;YAE/E,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC7C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,gCAAmB,EAAE,CAAC;oBACrC,IAAI,CAAC,CAAC,OAAO,KAAK,gCAAmB,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;wBAGrE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAA2B,CAAC,CAAC;YAErF,MAAM,IAAI,gCAAmB,CAAC,kCAAkC,GAAG,gBAAgB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAEM,SAAS,CAAC,KAAc;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;;AAnPH,kDAoPC"}
@@ -22,7 +22,15 @@ class NexxusFileConfigProvider extends NexxusConfigProvider {
22
22
  fs.accessSync(this.filePath);
23
23
  }
24
24
  catch (e) {
25
- throw new Exceptions_1.FatalErrorException(`Cannot access config file "${this.filePath}": ${e.message}`);
25
+ if (e.code === 'ENOENT') {
26
+ throw new Exceptions_1.FatalErrorException(`Cannot access config file "${this.filePath}": ${e.message}`, Exceptions_1.FatalErrorException.SUBCODES.CONFIG_FILE_NOT_FOUND);
27
+ }
28
+ else if (e.code === 'EACCES') {
29
+ throw new Exceptions_1.FatalErrorException(`Cannot access config file "${this.filePath}": ${e.message}`, Exceptions_1.FatalErrorException.SUBCODES.CONFIG_FILE_UNREADABLE);
30
+ }
31
+ else {
32
+ throw new Exceptions_1.FatalErrorException(`Failed reading config file "${this.filePath}": ${e.message}`);
33
+ }
26
34
  }
27
35
  return JSON.parse(fs.readFileSync(this.filePath, 'utf-8'));
28
36
  }
@@ -44,6 +52,7 @@ exports.NexxusEnvVarsConfigProvider = NexxusEnvVarsConfigProvider;
44
52
  class NexxusCliArgConfigProvider extends NexxusConfigProvider {
45
53
  argParser;
46
54
  originalExit;
55
+ addedArgs = new Set();
47
56
  constructor() {
48
57
  super();
49
58
  this.argParser = new argparse_1.ArgumentParser({ add_help: false, usage: argparse_1.SUPPRESS });
@@ -55,7 +64,11 @@ class NexxusCliArgConfigProvider extends NexxusConfigProvider {
55
64
  };
56
65
  }
57
66
  addArgument(name, type) {
67
+ if (this.addedArgs.has(name)) {
68
+ return;
69
+ }
58
70
  this.argParser.add_argument(`--${name}`, { type: type, dest: name, required: false });
71
+ this.addedArgs.add(name);
59
72
  }
60
73
  getConfig() {
61
74
  return this.argParser.parse_args();
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/lib/ConfigProvider.ts"],"names":[],"mappings":";;;;AAAA,6CAAmD;AAEnD,+CAAyB;AAEzB,uCAAoD;AASpD,MAAsB,oBAAoB;CAEzC;AAFD,oDAEC;AAED,MAAsB,yBAAyB;CAE9C;AAFD,8DAEC;AAED,MAAa,wBAAyB,SAAQ,oBAAoB;IAC5C;IAApB,YAAoB,QAAgB;QAClC,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAQ;IAEpC,CAAC;IAEM,SAAS;QACd,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,gCAAmB,CAAC,8BAA8B,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAiB,CAAC;IAC7E,CAAC;CACF;AAdD,4DAcC;AAED,MAAa,2BAA4B,SAAQ,oBAAoB;IACnE,MAAM,CAAC,cAAc,GAAsB,MAAM,CAAC;IAE3C,SAAS;QACd,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAW,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;;AAbH,kEAcC;AAED,MAAa,0BAA2B,SAAQ,oBAAoB;IAC1D,SAAS,CAAiB;IAC1B,YAAY,CAA4C;IAEhE;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;YACxD,IAAI,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAA;IACH,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,IAAgB;QAC/C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;CACF;AAvBD,gEAuBC"}
1
+ {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/lib/ConfigProvider.ts"],"names":[],"mappings":"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"}
@@ -14,15 +14,26 @@ var NexxusExceptions;
14
14
  })(NexxusExceptions || (exports.NexxusExceptions = NexxusExceptions = {}));
15
15
  ;
16
16
  class NexxusException extends Error {
17
- constructor(type, message) {
17
+ subcode;
18
+ constructor(type, message, subcode) {
18
19
  super(message);
19
20
  this.name = type;
21
+ this.subcode = subcode;
20
22
  }
21
23
  }
22
24
  exports.NexxusException = NexxusException;
25
+ var FatalErrorSubcodes;
26
+ (function (FatalErrorSubcodes) {
27
+ FatalErrorSubcodes["CONFIG_FILE_NOT_FOUND"] = "CONFIG_FILE_NOT_FOUND";
28
+ FatalErrorSubcodes["CONFIG_FILE_INVALID_JSON"] = "CONFIG_FILE_INVALID_JSON";
29
+ FatalErrorSubcodes["CONFIG_FILE_INVALID_SCHEMA"] = "CONFIG_FILE_INVALID_SCHEMA";
30
+ FatalErrorSubcodes["CONFIG_FILE_UNREADABLE"] = "CONFIG_FILE_UNREADABLE";
31
+ })(FatalErrorSubcodes || (FatalErrorSubcodes = {}));
32
+ ;
23
33
  class FatalErrorException extends NexxusException {
24
- constructor(message) {
25
- super(NexxusExceptions.FATAL_ERROR, message);
34
+ static SUBCODES = FatalErrorSubcodes;
35
+ constructor(message, subcode) {
36
+ super(NexxusExceptions.FATAL_ERROR, message, subcode);
26
37
  }
27
38
  }
28
39
  exports.FatalErrorException = FatalErrorException;
@@ -1 +1 @@
1
- {"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../../src/lib/Exceptions.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,uDAAmC,CAAA;IACnC,uDAAmC,CAAA;IACnC,iEAA6C,CAAA;IAC7C,6DAAyC,CAAA;IACzC,oEAAgD,CAAA;IAChD,wEAAoD,CAAA;IACpD,sEAAkD,CAAA;IAClD,oEAAgD,CAAA;AAClD,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B;AAAA,CAAC;AAEF,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AALD,0CAKC;AAED,MAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,sBAAuB,SAAQ,eAAe;IACzD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,8DAIC;AAED,MAAa,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;CACF;AAJD,kEAIC;AAED,MAAa,0BAA2B,SAAQ,eAAe;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAJD,gEAIC;AAED,MAAa,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,8DAIC"}
1
+ {"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../../src/lib/Exceptions.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,uDAAmC,CAAA;IACnC,uDAAmC,CAAA;IACnC,iEAA6C,CAAA;IAC7C,6DAAyC,CAAA;IACzC,oEAAgD,CAAA;IAChD,wEAAoD,CAAA;IACpD,sEAAkD,CAAA;IAClD,oEAAgD,CAAA;AAClD,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B;AAAA,CAAC;AAEF,MAAa,eAAgB,SAAQ,KAAK;IACxB,OAAO,CAAU;IAEjC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAgB;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AARD,0CAQC;AAED,IAAK,kBAKJ;AALD,WAAK,kBAAkB;IACrB,qEAA+C,CAAA;IAC/C,2EAAqD,CAAA;IACrD,+EAAyD,CAAA;IACzD,uEAAiD,CAAA;AACnD,CAAC,EALI,kBAAkB,KAAlB,kBAAkB,QAKtB;AAAA,CAAC;AAEF,MAAa,mBAAoB,SAAQ,eAAe;IAC/C,MAAM,CAAC,QAAQ,GAAyC,kBAAkB,CAAC;IAElF,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;;AALH,kDAMC;AAED,MAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,sBAAuB,SAAQ,eAAe;IACzD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,8DAIC;AAED,MAAa,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;CACF;AAJD,kEAIC;AAED,MAAa,0BAA2B,SAAQ,eAAe;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAJD,gEAIC;AAED,MAAa,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,8DAIC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveConstructableServiceClass = resolveConstructableServiceClass;
4
+ exports.resolveFactoryServiceClass = resolveFactoryServiceClass;
5
+ const tslib_1 = require("tslib");
6
+ const BaseService_1 = require("./BaseService");
7
+ const Exceptions_1 = require("./Exceptions");
8
+ const node_module_1 = require("node:module");
9
+ const node_url_1 = require("node:url");
10
+ const path = tslib_1.__importStar(require("node:path"));
11
+ const requireFromApp = (0, node_module_1.createRequire)(path.join(process.cwd(), 'package.json'));
12
+ async function loadPackage(configuredName) {
13
+ let resolvedPath;
14
+ try {
15
+ resolvedPath = requireFromApp.resolve(configuredName);
16
+ }
17
+ catch (e) {
18
+ throw new Exceptions_1.InvalidConfigException(`Service package "${configuredName}" could not be resolved — make sure it's installed in your deployment. Underlying error: ${e.message}`);
19
+ }
20
+ return Promise.resolve(`${(0, node_url_1.pathToFileURL)(resolvedPath).href}`).then(s => tslib_1.__importStar(require(s)));
21
+ }
22
+ function assertNexxusService(cls, configuredName) {
23
+ if (typeof cls !== 'function' || !(cls.prototype instanceof BaseService_1.NexxusBaseService)) {
24
+ throw new Exceptions_1.InvalidConfigException(`Class resolved from "${configuredName}" does not extend NexxusBaseService. Make sure the adapter extends NexxusBaseService.`);
25
+ }
26
+ }
27
+ function pickDefaultExport(mod, configuredName) {
28
+ if (typeof mod.default === 'function') {
29
+ return mod.default;
30
+ }
31
+ if (typeof mod === 'function') {
32
+ return mod;
33
+ }
34
+ throw new Exceptions_1.InvalidConfigException(`Package "${configuredName}" does not default-export a class. Nexxus adapters must default-export the adapter class itself.`);
35
+ }
36
+ async function resolveConstructableServiceClass(configuredName, builtins) {
37
+ if (configuredName in builtins) {
38
+ return builtins[configuredName];
39
+ }
40
+ const mod = await loadPackage(configuredName);
41
+ const cls = pickDefaultExport(mod, configuredName);
42
+ assertNexxusService(cls, configuredName);
43
+ return cls;
44
+ }
45
+ async function resolveFactoryServiceClass(configuredName, builtins) {
46
+ if (configuredName in builtins) {
47
+ return builtins[configuredName];
48
+ }
49
+ const mod = await loadPackage(configuredName);
50
+ const cls = pickDefaultExport(mod, configuredName);
51
+ assertNexxusService(cls, configuredName);
52
+ if (typeof cls.create !== 'function') {
53
+ throw new Exceptions_1.InvalidConfigException(`Class resolved from "${configuredName}" does not expose a static create() method — required for factory-style services.`);
54
+ }
55
+ return cls;
56
+ }
57
+ //# sourceMappingURL=ServiceResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceResolver.js","sourceRoot":"","sources":["../../src/lib/ServiceResolver.ts"],"names":[],"mappings":";;AAwFA,4EAcC;AAQD,gEAoBC;;AAlID,+CAIuB;AACvB,6CAAsD;AAEtD,6CAA4C;AAC5C,uCAAyC;AACzC,wDAAkC;AASlC,MAAM,cAAc,GAAG,IAAA,2BAAa,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;AAQ/E,KAAK,UAAU,WAAW,CAAC,cAAsB;IAC/C,IAAI,YAAoB,CAAC;IAEzB,IAAI,CAAC;QACH,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,mCAAsB,CAC9B,oBAAoB,cAAc,4FAA6F,CAAW,CAAC,OAAO,EAAE,CACrJ,CAAC;IACJ,CAAC;IAED,0BAAc,IAAA,wBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,gDAAE;AAClD,CAAC;AAOD,SAAS,mBAAmB,CAAC,GAAY,EAAE,cAAsB;IAC/D,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,CAAC,CAAE,GAA8B,CAAC,SAAS,YAAY,+BAAiB,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,mCAAsB,CAC9B,wBAAwB,cAAc,uFAAuF,CAC9H,CAAC;IACJ,CAAC;AACH,CAAC;AASD,SAAS,iBAAiB,CAAC,GAAQ,EAAE,cAAsB;IACzD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,mCAAsB,CAC9B,YAAY,cAAc,kGAAkG,CAC7H,CAAC;AACJ,CAAC;AAgBM,KAAK,UAAU,gCAAgC,CACpD,cAAsB,EACtB,QAAyD;IAEzD,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEnD,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEzC,OAAO,GAAsC,CAAC;AAChD,CAAC;AAQM,KAAK,UAAU,0BAA0B,CAC9C,cAAsB,EACtB,QAAmD;IAEnD,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEnD,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEzC,IAAI,OAAQ,GAA4B,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/D,MAAM,IAAI,mCAAsB,CAC9B,wBAAwB,cAAc,mFAAmF,CAC1H,CAAC;IACJ,CAAC;IAED,OAAO,GAAgC,CAAC;AAC1C,CAAC"}
@@ -30,9 +30,7 @@ export class NexxusFilterQuery {
30
30
  if (node.operator === '$and') {
31
31
  return node.conditions.every(childNode => this.testNode(childNode, object));
32
32
  }
33
- else {
34
- return node.conditions.some(childNode => this.testNode(childNode, object));
35
- }
33
+ return node.conditions.some(childNode => this.testNode(childNode, object));
36
34
  }
37
35
  validateAndParse() {
38
36
  this.nodes = this.parseQuery(this.query, this.modelDef);
@@ -1 +1 @@
1
- {"version":3,"file":"FilterQuery.js","sourceRoot":"","sources":["../../src/common/FilterQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterQuery.js","sourceRoot":"","sources":["../../src/common/FilterQuery.ts"],"names":[],"mappings":"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"}
package/dist-esm/index.js CHANGED
@@ -3,6 +3,7 @@ export * from "./lib/ConfigProvider";
3
3
  export * from "./lib/ConfigManager";
4
4
  export * from "./lib/BaseService";
5
5
  export * from "./lib/Logger";
6
+ export * from "./lib/ServiceResolver";
6
7
  export * from "./common/QueuePayloads";
7
8
  export * from "./common/JsonPatch";
8
9
  export * from "./common/FilterQuery";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAE7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseService.js","sourceRoot":"","sources":["../../src/lib/BaseService.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C,SAAS,MAAM,CAAC,MAAW,EAAE,WAAmB;IAC9C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,iBAAiB;IACb,OAAO,CAAe;IAE9B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,EAAE,CAAoB,KAAQ,EAAE,QAAiE;QAC/F,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAwB,EAAE,QAAQ,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,QAAiE;QACjG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAwB,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAoB,KAAQ,EAAE,QAAiE;QAChG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAwB,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,GAAG,OAA0C;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAwB,EAAE,GAAG,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AAED,MAAM,OAAgB,iBAAoE,SAAQ,iBAAqB;IAE3G,MAAM,CAAc;IAEpB,MAAM,CAAC,OAAO,CAAgB;IAC9B,MAAM,CAAC,OAAO,CAAgB;IAO9B,MAAM,CAAC,aAAa,CAAS;IAC7B,MAAM,CAAC,UAAU,CAAS;IAC5B,MAAM,CAAC,cAAc,CAAS;IAEtC,YAAY,MAAmB;QAC7B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,YAAY;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,YAAY;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,IAAI,CAAC,IAAI,UAAU;gBAC5E,+GAA+G,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,UAAU,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,UAAU;YACV,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;CACF;AA3DW;IADT,MAAM;iDACuB"}
1
+ {"version":3,"file":"BaseService.js","sourceRoot":"","sources":["../../src/lib/BaseService.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,22 @@ import deepMerge from "deepmerge";
6
6
  import * as fs from "node:fs";
7
7
  import * as path from "node:path";
8
8
  export class NexxusConfigManager {
9
- static CONF_FILE_NAME = "nexxus.conf.json";
9
+ static CONF_FILE_NAME = 'nexxus.conf.json';
10
+ static DEFAULT_CONF_PATH = '/etc/nexxus';
10
11
  jsonSchema;
11
12
  envVarsSpecs = [];
12
13
  cliArgsSpecs = [];
13
14
  data = {};
14
15
  configProviders = [];
15
16
  customProviders = [];
16
- constructor(configFileName) {
17
+ registeredServices = new Set();
18
+ dataInitialized = false;
19
+ hasNewRegistrations = false;
20
+ constructor(configFilePath) {
17
21
  const schemaPath = path.join(__dirname, "../../src/schemas/root.schema.json");
22
+ const resolvedConfPath = path.resolve(configFilePath || process.env.NXX_CONF_PATH || path.join(NexxusConfigManager.DEFAULT_CONF_PATH, NexxusConfigManager.CONF_FILE_NAME));
18
23
  this.jsonSchema = JSON.parse(fs.readFileSync(schemaPath, 'utf-8'));
19
- this.configProviders.push(new NexxusFileConfigProvider(path.join(process.cwd(), configFileName ?? NexxusConfigManager.CONF_FILE_NAME)));
24
+ this.configProviders.push(new NexxusFileConfigProvider(resolvedConfPath));
20
25
  this.configProviders.push(new NexxusEnvVarsConfigProvider());
21
26
  this.configProviders.push(new NexxusCliArgConfigProvider());
22
27
  }
@@ -37,16 +42,30 @@ export class NexxusConfigManager {
37
42
  this.jsonSchema.required.push(def.where);
38
43
  }
39
44
  }
45
+ registerService(svc) {
46
+ if (this.registeredServices.has(svc.name)) {
47
+ return;
48
+ }
49
+ const schemaDef = svc.schema();
50
+ const className = svc.name;
51
+ const configRootKey = schemaDef.where;
52
+ this.cliArgsSpecs.push({ className, configRootKey, specs: svc.cliArgConfig() });
53
+ this.envVarsSpecs.push({ className, configRootKey, specs: svc.envVarConfig() });
54
+ this.addJsonSchemaDef(schemaDef);
55
+ this.registeredServices.add(className);
56
+ this.hasNewRegistrations = true;
57
+ }
40
58
  async validateServices(svcs) {
41
- for (const NxxSvc of svcs) {
42
- const schemaDef = NxxSvc.schema();
43
- const className = NxxSvc.name;
44
- const configRootKey = schemaDef.where;
45
- this.cliArgsSpecs.push({ className, configRootKey, specs: NxxSvc.cliArgConfig() });
46
- this.envVarsSpecs.push({ className, configRootKey, specs: NxxSvc.envVarConfig() });
47
- this.addJsonSchemaDef(schemaDef);
59
+ if (svcs) {
60
+ for (const svc of svcs) {
61
+ this.registerService(svc);
62
+ }
63
+ }
64
+ if (!this.hasNewRegistrations) {
65
+ return;
48
66
  }
49
67
  await this.validate();
68
+ this.hasNewRegistrations = false;
50
69
  }
51
70
  populateFromCliArgs() {
52
71
  if (this.cliArgsSpecs.length === 0) {
@@ -107,9 +126,24 @@ export class NexxusConfigManager {
107
126
  }).join('\n');
108
127
  }
109
128
  async validate() {
110
- const fileConfigProvider = this.configProviders[0];
111
- this.data = fileConfigProvider.getConfig();
112
- await this.populateFromCustomProviders();
129
+ if (!this.dataInitialized) {
130
+ const fileConfigProvider = this.configProviders[0];
131
+ try {
132
+ this.data = fileConfigProvider.getConfig();
133
+ }
134
+ catch (e) {
135
+ if (e instanceof FatalErrorException) {
136
+ if (e.subcode === FatalErrorException.SUBCODES.CONFIG_FILE_NOT_FOUND) {
137
+ this.data = {};
138
+ }
139
+ else {
140
+ throw e;
141
+ }
142
+ }
143
+ }
144
+ await this.populateFromCustomProviders();
145
+ this.dataInitialized = true;
146
+ }
113
147
  this.populateFromCliArgs();
114
148
  this.populateFromEnvVars();
115
149
  const ajv = new Ajv({ useDefaults: true });
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../../src/lib/ConfigManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../../src/lib/ConfigManager.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,15 @@ export class NexxusFileConfigProvider extends NexxusConfigProvider {
16
16
  fs.accessSync(this.filePath);
17
17
  }
18
18
  catch (e) {
19
- throw new FatalErrorException(`Cannot access config file "${this.filePath}": ${e.message}`);
19
+ if (e.code === 'ENOENT') {
20
+ throw new FatalErrorException(`Cannot access config file "${this.filePath}": ${e.message}`, FatalErrorException.SUBCODES.CONFIG_FILE_NOT_FOUND);
21
+ }
22
+ else if (e.code === 'EACCES') {
23
+ throw new FatalErrorException(`Cannot access config file "${this.filePath}": ${e.message}`, FatalErrorException.SUBCODES.CONFIG_FILE_UNREADABLE);
24
+ }
25
+ else {
26
+ throw new FatalErrorException(`Failed reading config file "${this.filePath}": ${e.message}`);
27
+ }
20
28
  }
21
29
  return JSON.parse(fs.readFileSync(this.filePath, 'utf-8'));
22
30
  }
@@ -36,6 +44,7 @@ export class NexxusEnvVarsConfigProvider extends NexxusConfigProvider {
36
44
  export class NexxusCliArgConfigProvider extends NexxusConfigProvider {
37
45
  argParser;
38
46
  originalExit;
47
+ addedArgs = new Set();
39
48
  constructor() {
40
49
  super();
41
50
  this.argParser = new ArgumentParser({ add_help: false, usage: SUPPRESS });
@@ -47,7 +56,11 @@ export class NexxusCliArgConfigProvider extends NexxusConfigProvider {
47
56
  };
48
57
  }
49
58
  addArgument(name, type) {
59
+ if (this.addedArgs.has(name)) {
60
+ return;
61
+ }
50
62
  this.argParser.add_argument(`--${name}`, { type: type, dest: name, required: false });
63
+ this.addedArgs.add(name);
51
64
  }
52
65
  getConfig() {
53
66
  return this.argParser.parse_args();
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/lib/ConfigProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AASpD,MAAM,OAAgB,oBAAoB;CAEzC;AAED,MAAM,OAAgB,yBAAyB;CAE9C;AAED,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAC5C;IAApB,YAAoB,QAAgB;QAClC,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAQ;IAEpC,CAAC;IAEM,SAAS;QACd,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAiB,CAAC;IAC7E,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IACnE,MAAM,CAAC,cAAc,GAAsB,MAAM,CAAC;IAE3C,SAAS;QACd,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAW,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;;AAGH,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IAC1D,SAAS,CAAiB;IAC1B,YAAY,CAA4C;IAEhE;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;YACxD,IAAI,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAA;IACH,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,IAAgB;QAC/C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/lib/ConfigProvider.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,25 @@ export var NexxusExceptions;
11
11
  })(NexxusExceptions || (NexxusExceptions = {}));
12
12
  ;
13
13
  export class NexxusException extends Error {
14
- constructor(type, message) {
14
+ subcode;
15
+ constructor(type, message, subcode) {
15
16
  super(message);
16
17
  this.name = type;
18
+ this.subcode = subcode;
17
19
  }
18
20
  }
21
+ var FatalErrorSubcodes;
22
+ (function (FatalErrorSubcodes) {
23
+ FatalErrorSubcodes["CONFIG_FILE_NOT_FOUND"] = "CONFIG_FILE_NOT_FOUND";
24
+ FatalErrorSubcodes["CONFIG_FILE_INVALID_JSON"] = "CONFIG_FILE_INVALID_JSON";
25
+ FatalErrorSubcodes["CONFIG_FILE_INVALID_SCHEMA"] = "CONFIG_FILE_INVALID_SCHEMA";
26
+ FatalErrorSubcodes["CONFIG_FILE_UNREADABLE"] = "CONFIG_FILE_UNREADABLE";
27
+ })(FatalErrorSubcodes || (FatalErrorSubcodes = {}));
28
+ ;
19
29
  export class FatalErrorException extends NexxusException {
20
- constructor(message) {
21
- super(NexxusExceptions.FATAL_ERROR, message);
30
+ static SUBCODES = FatalErrorSubcodes;
31
+ constructor(message, subcode) {
32
+ super(NexxusExceptions.FATAL_ERROR, message, subcode);
22
33
  }
23
34
  }
24
35
  export class BadRequestException extends NexxusException {
@@ -1 +1 @@
1
- {"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../../src/lib/Exceptions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,uDAAmC,CAAA;IACnC,uDAAmC,CAAA;IACnC,iEAA6C,CAAA;IAC7C,6DAAyC,CAAA;IACzC,oEAAgD,CAAA;IAChD,wEAAoD,CAAA;IACpD,sEAAkD,CAAA;IAClD,oEAAgD,CAAA;AAClD,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAAA,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../../src/lib/Exceptions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,uDAAmC,CAAA;IACnC,uDAAmC,CAAA;IACnC,iEAA6C,CAAA;IAC7C,6DAAyC,CAAA;IACzC,oEAAgD,CAAA;IAChD,wEAAoD,CAAA;IACpD,sEAAkD,CAAA;IAClD,oEAAgD,CAAA;AAClD,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAAA,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,OAAO,CAAU;IAEjC,YAAY,IAAY,EAAE,OAAe,EAAE,OAAgB;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,IAAK,kBAKJ;AALD,WAAK,kBAAkB;IACrB,qEAA+C,CAAA;IAC/C,2EAAqD,CAAA;IACrD,+EAAyD,CAAA;IACzD,uEAAiD,CAAA;AACnD,CAAC,EALI,kBAAkB,KAAlB,kBAAkB,QAKtB;AAAA,CAAC;AAEF,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IAC/C,MAAM,CAAC,QAAQ,GAAyC,kBAAkB,CAAC;IAElF,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;;AAGH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzD,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ import { NexxusBaseService } from './BaseService';
2
+ import { InvalidConfigException } from './Exceptions';
3
+ import { createRequire } from 'node:module';
4
+ import { pathToFileURL } from 'node:url';
5
+ import * as path from 'node:path';
6
+ const requireFromApp = createRequire(path.join(process.cwd(), 'package.json'));
7
+ async function loadPackage(configuredName) {
8
+ let resolvedPath;
9
+ try {
10
+ resolvedPath = requireFromApp.resolve(configuredName);
11
+ }
12
+ catch (e) {
13
+ throw new InvalidConfigException(`Service package "${configuredName}" could not be resolved — make sure it's installed in your deployment. Underlying error: ${e.message}`);
14
+ }
15
+ return import(pathToFileURL(resolvedPath).href);
16
+ }
17
+ function assertNexxusService(cls, configuredName) {
18
+ if (typeof cls !== 'function' || !(cls.prototype instanceof NexxusBaseService)) {
19
+ throw new InvalidConfigException(`Class resolved from "${configuredName}" does not extend NexxusBaseService. Make sure the adapter extends NexxusBaseService.`);
20
+ }
21
+ }
22
+ function pickDefaultExport(mod, configuredName) {
23
+ if (typeof mod.default === 'function') {
24
+ return mod.default;
25
+ }
26
+ if (typeof mod === 'function') {
27
+ return mod;
28
+ }
29
+ throw new InvalidConfigException(`Package "${configuredName}" does not default-export a class. Nexxus adapters must default-export the adapter class itself.`);
30
+ }
31
+ export async function resolveConstructableServiceClass(configuredName, builtins) {
32
+ if (configuredName in builtins) {
33
+ return builtins[configuredName];
34
+ }
35
+ const mod = await loadPackage(configuredName);
36
+ const cls = pickDefaultExport(mod, configuredName);
37
+ assertNexxusService(cls, configuredName);
38
+ return cls;
39
+ }
40
+ export async function resolveFactoryServiceClass(configuredName, builtins) {
41
+ if (configuredName in builtins) {
42
+ return builtins[configuredName];
43
+ }
44
+ const mod = await loadPackage(configuredName);
45
+ const cls = pickDefaultExport(mod, configuredName);
46
+ assertNexxusService(cls, configuredName);
47
+ if (typeof cls.create !== 'function') {
48
+ throw new InvalidConfigException(`Class resolved from "${configuredName}" does not expose a static create() method — required for factory-style services.`);
49
+ }
50
+ return cls;
51
+ }
52
+ //# sourceMappingURL=ServiceResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceResolver.js","sourceRoot":"","sources":["../../src/lib/ServiceResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;AAQ/E,KAAK,UAAU,WAAW,CAAC,cAAsB;IAC/C,IAAI,YAAoB,CAAC;IAEzB,IAAI,CAAC;QACH,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,sBAAsB,CAC9B,oBAAoB,cAAc,4FAA6F,CAAW,CAAC,OAAO,EAAE,CACrJ,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAOD,SAAS,mBAAmB,CAAC,GAAY,EAAE,cAAsB;IAC/D,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,CAAC,CAAE,GAA8B,CAAC,SAAS,YAAY,iBAAiB,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,sBAAsB,CAC9B,wBAAwB,cAAc,uFAAuF,CAC9H,CAAC;IACJ,CAAC;AACH,CAAC;AASD,SAAS,iBAAiB,CAAC,GAAQ,EAAE,cAAsB;IACzD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,sBAAsB,CAC9B,YAAY,cAAc,kGAAkG,CAC7H,CAAC;AACJ,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,cAAsB,EACtB,QAAyD;IAEzD,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEnD,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEzC,OAAO,GAAsC,CAAC;AAChD,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,cAAsB,EACtB,QAAmD;IAEnD,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEnD,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEzC,IAAI,OAAQ,GAA4B,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/D,MAAM,IAAI,sBAAsB,CAC9B,wBAAwB,cAAc,mFAAmF,CAC1H,CAAC;IACJ,CAAC;IAED,OAAO,GAAgC,CAAC;AAC1C,CAAC"}
@@ -3,6 +3,7 @@ export * from "./lib/ConfigProvider";
3
3
  export * from "./lib/ConfigManager";
4
4
  export * from "./lib/BaseService";
5
5
  export * from "./lib/Logger";
6
+ export * from "./lib/ServiceResolver";
6
7
  export * from "./common/QueuePayloads";
7
8
  export * from "./common/JsonPatch";
8
9
  export * from "./common/FilterQuery";
@@ -6,6 +6,49 @@ export interface INexxusBaseServices {
6
6
  configManager: NexxusConfigManager;
7
7
  logger: NexxusBaseLogger<NexxusConfig>;
8
8
  }
9
+ /**
10
+ * Static-only shape of a Nexxus service class. Anything ConfigManager needs to
11
+ * register a service's config lives here — `name` (for diagnostics), plus the
12
+ * three static-config accessors. Constructor visibility is intentionally
13
+ * absent, so classes that expose an async factory instead of a public
14
+ * constructor (e.g. `WinstonNexxusLogger.create(...)`) still satisfy the type.
15
+ *
16
+ * All `NexxusBaseService` subclasses satisfy this structurally. Downstream code
17
+ * writing custom services should type against this interface when passing
18
+ * classes to `ConfigManager.validateServices(...)`.
19
+ */
20
+ export interface NexxusServiceClass {
21
+ readonly name: string;
22
+ schema(): AddJsonSchemaDefFuncArg;
23
+ envVarConfig(): ConfigEnvVars;
24
+ cliArgConfig(): ConfigCliArgs;
25
+ }
26
+ /**
27
+ * `NexxusServiceClass` + a public constructor. This is the default shape for
28
+ * pluggable adapters — DB, MQ, most anything without async init. Consumers
29
+ * `new Cls(services)` directly at the bootstrap site.
30
+ *
31
+ * If your adapter needs to await something before it's ready (dynamic
32
+ * imports, remote fetches, warm-up connections), use
33
+ * `NexxusFactoryServiceClass` instead — that's what `WinstonNexxusLogger`
34
+ * does for dynamic transports.
35
+ */
36
+ export interface NexxusConstructableServiceClass extends NexxusServiceClass {
37
+ new (services: INexxusBaseServices): NexxusBaseService<any, any>;
38
+ }
39
+ /**
40
+ * `NexxusServiceClass` + a static async factory. For adapters whose
41
+ * initialization has to await something — dynamic imports, remote handshakes,
42
+ * schema fetches. The class typically hides its constructor (private) so
43
+ * consumers must go through `Cls.create(services)`.
44
+ *
45
+ * Currently used only for `WinstonNexxusLogger`. Most adapters are fine as
46
+ * `NexxusConstructableServiceClass`; only reach for this when async init is
47
+ * actually needed.
48
+ */
49
+ export interface NexxusFactoryServiceClass extends NexxusServiceClass {
50
+ create(services: INexxusBaseServices): Promise<NexxusBaseService<any, any>>;
51
+ }
9
52
  declare class TypedEventEmitter<E> {
10
53
  private emitter;
11
54
  constructor();
@@ -1,4 +1,4 @@
1
- import { NexxusBaseService } from './BaseService';
1
+ import { NexxusServiceClass } from './BaseService';
2
2
  import { CliArgType, NexxusConfig, INexxusConfigProvider } from "./ConfigProvider";
3
3
  import type { JSONSchema7Definition } from "json-schema";
4
4
  export type AddJsonSchemaDefFuncArg = {
@@ -22,16 +22,59 @@ type CliArgsSpec = {
22
22
  export type ConfigCliArgs = Array<CliArgsSpec>;
23
23
  export declare class NexxusConfigManager {
24
24
  private static CONF_FILE_NAME;
25
+ private static DEFAULT_CONF_PATH;
25
26
  private jsonSchema;
26
27
  private envVarsSpecs;
27
28
  private cliArgsSpecs;
28
29
  private data;
29
30
  private configProviders;
30
31
  private customProviders;
31
- constructor(configFileName?: string);
32
+ /**
33
+ * Names (class.name) of services already registered. Guards against
34
+ * double-registration when the same class is passed to `registerService`
35
+ * or `validateServices` more than once — schema, env, and CLI specs each
36
+ * carry a uniqueness invariant that would otherwise throw on a second pass.
37
+ */
38
+ private registeredServices;
39
+ /**
40
+ * True until the file + custom providers have been loaded into `this.data`
41
+ * (i.e., first successful validate()). Subsequent validate() calls skip
42
+ * re-reading the config file — the file is treated as immutable for the
43
+ * lifetime of this ConfigManager.
44
+ */
45
+ private dataInitialized;
46
+ /**
47
+ * True when at least one service has been registered since the last
48
+ * successful validate(). Lets `validateServices()` no-op cleanly when
49
+ * called after everything's already been validated.
50
+ */
51
+ private hasNewRegistrations;
52
+ constructor(configFilePath?: string);
32
53
  addCustomProvider(provider: INexxusConfigProvider): void;
33
54
  private addJsonSchemaDef;
34
- validateServices(svcs: Array<typeof NexxusBaseService>): Promise<void>;
55
+ /**
56
+ * Register a service's config schema, env-var spec, and CLI-arg spec so
57
+ * they're included in the next `validateServices()` pass. Idempotent per
58
+ * class name — repeat calls with the same class are silent no-ops.
59
+ *
60
+ * Intended usage: call once per service class ahead of time (in any order),
61
+ * then call `validateServices()` once to actually run validation. For the
62
+ * shorthand where you know all services up front, `validateServices([...])`
63
+ * still accepts an array and registers each entry before validating.
64
+ */
65
+ registerService(svc: NexxusServiceClass): void;
66
+ /**
67
+ * Runs config validation against every registered service's schema. Safe
68
+ * to call multiple times — the config file is read only on the first call,
69
+ * and repeat calls with no new registrations short-circuit as a no-op.
70
+ *
71
+ * The optional `svcs` array is a shorthand: each entry is passed through
72
+ * `registerService()` before validation runs. Existing callers passing all
73
+ * services up front (`validateServices([A, B, C])`) continue to work.
74
+ * Later calls can register additional services (e.g. dynamically-resolved
75
+ * logger/db/mq implementations) and re-validate.
76
+ */
77
+ validateServices(svcs?: Array<NexxusServiceClass>): Promise<void>;
35
78
  private populateFromCliArgs;
36
79
  private populateFromEnvVars;
37
80
  private populateFromCustomProviders;
@@ -21,7 +21,13 @@ export declare class NexxusEnvVarsConfigProvider extends NexxusConfigProvider {
21
21
  export declare class NexxusCliArgConfigProvider extends NexxusConfigProvider {
22
22
  private argParser;
23
23
  private originalExit;
24
+ private addedArgs;
24
25
  constructor();
26
+ /**
27
+ * Idempotent per argument name — safe to call multiple times across repeat
28
+ * `ConfigManager.validateServices()` invocations. Argparse would otherwise
29
+ * throw on a second `add_argument` with the same name.
30
+ */
25
31
  addArgument(name: string, type: CliArgType): void;
26
32
  getConfig(): NexxusConfig;
27
33
  }
@@ -9,10 +9,18 @@ export declare enum NexxusExceptions {
9
9
  INVALID_USER_MODEL = "InvalidUserModelException"
10
10
  }
11
11
  export declare class NexxusException extends Error {
12
- constructor(type: string, message: string);
12
+ readonly subcode?: string;
13
+ constructor(type: string, message: string, subcode?: string);
14
+ }
15
+ declare enum FatalErrorSubcodes {
16
+ CONFIG_FILE_NOT_FOUND = "CONFIG_FILE_NOT_FOUND",
17
+ CONFIG_FILE_INVALID_JSON = "CONFIG_FILE_INVALID_JSON",
18
+ CONFIG_FILE_INVALID_SCHEMA = "CONFIG_FILE_INVALID_SCHEMA",
19
+ CONFIG_FILE_UNREADABLE = "CONFIG_FILE_UNREADABLE"
13
20
  }
14
21
  export declare class FatalErrorException extends NexxusException {
15
- constructor(message: string);
22
+ static SUBCODES: Readonly<typeof FatalErrorSubcodes>;
23
+ constructor(message: string, subcode?: FatalErrorSubcodes);
16
24
  }
17
25
  export declare class BadRequestException extends NexxusException {
18
26
  constructor(message: string);
@@ -35,3 +43,4 @@ export declare class InvalidSchemaDataException extends NexxusException {
35
43
  export declare class InvalidUserModelException extends NexxusException {
36
44
  constructor(message: string);
37
45
  }
46
+ export {};
@@ -0,0 +1,23 @@
1
+ import { NexxusConstructableServiceClass, NexxusFactoryServiceClass } from './BaseService';
2
+ /**
3
+ * Resolves a config-declared service to a **constructable** class — one the
4
+ * bootstrap will instantiate via `new Cls(services)`.
5
+ *
6
+ * 1. If `configuredName` is in `builtins`, that class is returned directly
7
+ * (fast path — no I/O, no dynamic import). Callers pass their known
8
+ * static-imported builtins here.
9
+ * 2. Otherwise the name is treated as an npm package specifier and loaded
10
+ * via dynamic import against the app's install tree.
11
+ *
12
+ * Used by `NexxusApi.resolveConstructableService` and
13
+ * `NexxusBaseWorker.resolveConstructableService` — the host classes provide
14
+ * their own builtin maps.
15
+ */
16
+ export declare function resolveConstructableServiceClass(configuredName: string, builtins: Record<string, NexxusConstructableServiceClass>): Promise<NexxusConstructableServiceClass>;
17
+ /**
18
+ * Same as `resolveConstructableServiceClass` but for services that expose an
19
+ * async `static create(services)` factory. Runtime-checks the class actually
20
+ * has `create` before returning, so misconfigurations surface here instead
21
+ * of blowing up at bootstrap time.
22
+ */
23
+ export declare function resolveFactoryServiceClass(configuredName: string, builtins: Record<string, NexxusFactoryServiceClass>): Promise<NexxusFactoryServiceClass>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mayhem93/nexxus-core-lib",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "Core types and structures used by other Nexxus packages",
5
5
  "main": "dist-cjs/index.js",
6
6
  "module": "dist-esm/index.js",