@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.
- package/lib/configuration.d.ts +4 -3
- package/lib/configuration.js +39 -13
- package/lib/configuration.js.map +1 -1
- package/lib/decorators.js +2 -2
- package/lib/decorators.js.map +1 -1
- package/lib/index.d.ts +3 -8
- package/lib/index.js +3 -9
- package/lib/index.js.map +1 -1
- package/lib/sources.js +0 -2
- package/lib/sources.js.map +1 -1
- package/lib/types.d.ts +16 -1
- package/lib/types.js.map +1 -1
- package/package.json +3 -3
package/lib/configuration.d.ts
CHANGED
|
@@ -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
|
/**
|
package/lib/configuration.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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)(
|
|
217
|
+
(0, di_1.Injectable)(configuration_common_1.Configuration),
|
|
192
218
|
__metadata("design:paramtypes", [Object])
|
|
193
219
|
], FrameworkConfiguration);
|
|
194
220
|
exports.FrameworkConfiguration = FrameworkConfiguration;
|
package/lib/configuration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAuD;AACvD,sDAAsD;AACtD,
|
|
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(
|
|
19
|
+
config = di_1.DI.get(configuration_common_1.Configuration);
|
|
20
20
|
}
|
|
21
21
|
return config.get(path, dafaultValue);
|
|
22
22
|
};
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,
|
|
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
|
-
*
|
|
3
|
-
*
|
|
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 *
|
|
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
|
-
*
|
|
16
|
-
*
|
|
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
|
-
|
|
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":"
|
|
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');
|
package/lib/sources.js.map
CHANGED
|
@@ -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 {
|
|
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":";;;
|
|
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.
|
|
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.
|
|
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": "
|
|
54
|
+
"gitHead": "d29df7b43d1c135b075569f94d079be323ff2ba4"
|
|
55
55
|
}
|