@spinajs/configuration 1.2.48 → 1.2.60

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.
@@ -1,6 +1,5 @@
1
- import { Container } from '@spinajs/di';
2
- import { ConfigurationSource } from '@spinajs/configuration-common';
3
- import { Configuration, ConfigurationOptions, IConfigurationSchema } from './types';
1
+ import { Class, Container } from '@spinajs/di';
2
+ import { ConfigurationSource, IConfigLike, Configuration, ConfigurationOptions, IConfigurationSchema } from '@spinajs/configuration-common';
4
3
  import Ajv from 'ajv';
5
4
  import './sources';
6
5
  export declare class FrameworkConfiguration extends Configuration {
@@ -51,7 +50,9 @@ export declare class FrameworkConfiguration extends Configuration {
51
50
  */
52
51
  merge(path: string[] | string, value: unknown): void;
53
52
  resolveAsync(): Promise<void>;
53
+ mergeSource(sType: Class<ConfigurationSource>): Promise<void>;
54
54
  protected loadSources(): Promise<void>;
55
+ protected validateAndMerge(rCfg: IConfigLike): void;
55
56
  protected initValidator(): void;
56
57
  protected dir(toJoin: string): string;
57
58
  /**
@@ -10,20 +10,21 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FrameworkConfiguration = void 0;
13
+ /* eslint-disable prettier/prettier */
13
14
  /* eslint-disable @typescript-eslint/no-var-requires */
14
15
  /* eslint-disable @typescript-eslint/no-unsafe-call */
15
16
  const di_1 = require("@spinajs/di");
16
17
  const exceptions_1 = require("@spinajs/exceptions");
17
18
  const path_1 = require("path");
18
19
  const configuration_common_1 = require("@spinajs/configuration-common");
19
- const types_1 = require("./types");
20
20
  const util_1 = require("./util");
21
21
  const _ = require("lodash");
22
22
  const ajv_1 = require("ajv");
23
23
  const exception_1 = require("./exception");
24
24
  const internal_logger_1 = require("@spinajs/internal-logger");
25
25
  require("./sources");
26
- let FrameworkConfiguration = class FrameworkConfiguration extends types_1.Configuration {
26
+ const configuration_1 = require("./config/configuration");
27
+ let FrameworkConfiguration = class FrameworkConfiguration extends configuration_common_1.Configuration {
27
28
  /**
28
29
  *
29
30
  * @param app - application name, pass it when you run in application mode
@@ -92,13 +93,33 @@ let FrameworkConfiguration = class FrameworkConfiguration extends types_1.Config
92
93
  internal_logger_1.InternalLogger.trace(`App base dir is ${this.AppBaseDir}`, 'Configuration');
93
94
  this.initValidator();
94
95
  this.applyAppDirs();
96
+ // add default configuration of this module
97
+ // so we dont need to import it
98
+ this.set('configuration', configuration_1.default);
95
99
  /**
96
100
  * Load and validate data from cfg sources
97
101
  * in proper order
98
102
  */
99
103
  await this.loadSources();
104
+ /**
105
+ * Merge from DI container
106
+ * eg. when custom modules have config and dont want to use files
107
+ * eg. in webpack environment
108
+ */
109
+ this.Container.resolve(Array.ofType('__configuration__')).forEach((c) => {
110
+ Object.keys(c).forEach((k) => {
111
+ this.merge(k, c[`${k}`]);
112
+ });
113
+ });
100
114
  this.configure();
101
115
  }
116
+ async mergeSource(sType) {
117
+ const source = this.Container.resolve(sType);
118
+ const sCfg = await source.Load(this);
119
+ if (sCfg) {
120
+ this.validateAndMerge(sCfg);
121
+ }
122
+ }
102
123
  async loadSources() {
103
124
  this.Sources = this.Container.resolve(Array.ofType(configuration_common_1.ConfigurationSource), [
104
125
  this.RunApp,
@@ -111,18 +132,23 @@ let FrameworkConfiguration = class FrameworkConfiguration extends types_1.Config
111
132
  });
112
133
  for (const source of this.Sources) {
113
134
  const rCfg = await source.Load(this);
114
- Object.keys(rCfg).forEach((k) => {
115
- const schema = this.ValidationSchemas.find((x) => x.$configurationModule === k);
116
- if (schema) {
117
- const result = this.Validator.validate(schema, rCfg[`${k}`]);
118
- if (!result) {
119
- throw new exception_1.InvalidConfiguration('invalid configuration ! Check config files and restart app.', this.Validator.errors);
120
- }
121
- }
122
- });
123
- _.mergeWith(this.Config, rCfg, util_1.mergeArrays);
135
+ if (rCfg) {
136
+ this.validateAndMerge(rCfg);
137
+ }
124
138
  }
125
139
  }
140
+ validateAndMerge(rCfg) {
141
+ Object.keys(rCfg).forEach((k) => {
142
+ const schema = this.ValidationSchemas.find((x) => x.$configurationModule === k);
143
+ if (schema) {
144
+ const result = this.Validator.validate(schema, rCfg[`${k}`]);
145
+ if (!result) {
146
+ throw new exception_1.InvalidConfiguration('invalid configuration ! Check config files and restart app.', this.Validator.errors);
147
+ }
148
+ }
149
+ });
150
+ _.mergeWith(this.Config, rCfg, util_1.mergeArrays);
151
+ }
126
152
  initValidator() {
127
153
  this.Validator = new ajv_1.default({
128
154
  logger: {
@@ -188,7 +214,7 @@ __decorate([
188
214
  __metadata("design:type", di_1.Container)
189
215
  ], FrameworkConfiguration.prototype, "Container", void 0);
190
216
  FrameworkConfiguration = __decorate([
191
- (0, di_1.Injectable)(types_1.Configuration),
217
+ (0, di_1.Injectable)(configuration_common_1.Configuration),
192
218
  __metadata("design:paramtypes", [Object])
193
219
  ], FrameworkConfiguration);
194
220
  exports.FrameworkConfiguration = FrameworkConfiguration;
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"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"}
package/lib/decorators.js CHANGED
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Config = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ const configuration_common_1 = require("@spinajs/configuration-common");
5
6
  const di_1 = require("@spinajs/di");
6
- const types_1 = require("./types");
7
7
  /**
8
8
  * Injects configuration value to given class property
9
9
  *
@@ -16,7 +16,7 @@ function Config(path, dafaultValue) {
16
16
  let config = null;
17
17
  const getter = () => {
18
18
  if (!config) {
19
- config = di_1.DI.get(types_1.Configuration);
19
+ config = di_1.DI.get(configuration_common_1.Configuration);
20
20
  }
21
21
  return config.get(path, dafaultValue);
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,oCAAiC;AACjC,mCAAwC;AAExC;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,YAAsB;IACzD,OAAO,CAAC,MAAY,EAAE,GAAY,EAAO,EAAE;QACzC,IAAI,MAAM,GAAkB,IAAI,CAAC;QAEjC,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,OAAE,CAAC,GAAG,CAAC,qBAAa,CAAC,CAAC;aAChC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,GAAG,EAAE,MAAM;YACX,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,wBAiBC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,wEAA8D;AAC9D,oCAAiC;AAEjC;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,YAAsB;IACzD,OAAO,CAAC,MAAY,EAAE,GAAY,EAAO,EAAE;QACzC,IAAI,MAAM,GAAkB,IAAI,CAAC;QAEjC,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,OAAE,CAAC,GAAG,CAAC,oCAAa,CAAC,CAAC;aAChC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,GAAG,EAAE,MAAM;YACX,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,wBAiBC"}
package/lib/index.d.ts CHANGED
@@ -1,13 +1,8 @@
1
1
  /**
2
- * We export default configuration for webpack modules
3
- * Normally we load configuration from disk via filesystem
4
- * But webpack is bundlig all files into one.
5
- *
6
- * When we export, we can see configuration variable
7
- * in webpack module cache and webpack config loader can see it
2
+ * Reexport for simplicity, we dont need to import configuration-common
3
+ * and remember all this packages :)
8
4
  */
9
- export * as configuration from './config/configuration';
10
- export * from './types';
5
+ export * from '@spinajs/configuration-common';
11
6
  export * from './sources';
12
7
  export * from './decorators';
13
8
  export * from './configuration';
package/lib/index.js CHANGED
@@ -10,17 +10,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.configuration = void 0;
14
13
  /**
15
- * We export default configuration for webpack modules
16
- * Normally we load configuration from disk via filesystem
17
- * But webpack is bundlig all files into one.
18
- *
19
- * When we export, we can see configuration variable
20
- * in webpack module cache and webpack config loader can see it
14
+ * Reexport for simplicity, we dont need to import configuration-common
15
+ * and remember all this packages :)
21
16
  */
22
- exports.configuration = require("./config/configuration");
23
- __exportStar(require("./types"), exports);
17
+ __exportStar(require("@spinajs/configuration-common"), exports);
24
18
  __exportStar(require("./sources"), exports);
25
19
  __exportStar(require("./decorators"), exports);
26
20
  __exportStar(require("./configuration"), exports);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,0DAAwD;AACxD,0CAAwB;AACxB,4CAA0B;AAC1B,+CAA6B;AAC7B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;GAGG;AACH,gEAA8C;AAC9C,4CAA0B;AAC1B,+CAA6B;AAC7B,kDAAgC"}
package/lib/sources.js CHANGED
@@ -95,7 +95,6 @@ let JsFileSource = class JsFileSource extends BaseFileSource {
95
95
  else {
96
96
  return _.mergeWith(common, this.load('*.prod.js', _load), util_1.mergeArrays);
97
97
  }
98
- return common;
99
98
  function _load(file) {
100
99
  //Log.trace(`Trying to load file ${file}`, 'Configuration');
101
100
  (0, util_1.uncache)(file);
@@ -121,7 +120,6 @@ let JsonFileSource = class JsonFileSource extends BaseFileSource {
121
120
  else {
122
121
  return _.mergeWith(common, this.load('*.prod.json', _load), util_1.mergeArrays);
123
122
  }
124
- return common;
125
123
  function _load(file) {
126
124
  try {
127
125
  internal_logger_1.InternalLogger.trace(`Trying to load file ${file}`, 'Configuration');
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { AsyncModule } from '@spinajs/di';
1
+ import { ConfigurationSource } from '@spinajs/configuration-common';
2
+ import { AsyncModule, Class } from '@spinajs/di';
2
3
  /**
3
4
  * App version struct
4
5
  */
@@ -63,4 +64,18 @@ export declare abstract class Configuration extends AsyncModule {
63
64
  * @param value - value to merge
64
65
  */
65
66
  abstract merge(path: string[] | string, value: unknown): void;
67
+ /**
68
+ *
69
+ * Loads & merge configuration loaded from specific source.
70
+ * Use it when you want load configuration not at startup
71
+ * eg. becouse it depends on other module, or some runtime action
72
+ *
73
+ * When there is need for load configuration from source at startup,
74
+ * simply decorate ConfigurationSource class with 'Autoinject' decorator.
75
+ * it will be registered in container and configuration module will resolve and
76
+ * load it automatically
77
+ *
78
+ * @param source - configuration source to load from
79
+ */
80
+ abstract mergeSource(source: Class<ConfigurationSource>): Promise<void>;
66
81
  }
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,oCAA0C;AA4C1C,MAAsB,aAAc,SAAQ,gBAAW;CAkCtD;AAlCD,sCAkCC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AACA,oCAAiD;AA4CjD,MAAsB,aAAc,SAAQ,gBAAW;CAiDtD;AAjDD,sCAiDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spinajs/configuration",
3
- "version": "1.2.48",
3
+ "version": "1.2.60",
4
4
  "description": "framework configuration module",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "homepage": "https://github.com/spinajs/configuration#readme",
42
42
  "dependencies": {
43
- "@spinajs/configuration-common": "^1.2.32",
43
+ "@spinajs/configuration-common": "^1.2.60",
44
44
  "@spinajs/di": "^1.2.32",
45
45
  "@spinajs/exceptions": "^1.2.7",
46
46
  "@spinajs/internal-logger": "^1.2.32",
@@ -51,5 +51,5 @@
51
51
  "glob": "^7.1.4",
52
52
  "lodash": "^4.17.14"
53
53
  },
54
- "gitHead": "134abbafa841f6a59776c06c7581bc90de8bf8d5"
54
+ "gitHead": "d29df7b43d1c135b075569f94d079be323ff2ba4"
55
55
  }