@map-colonies/config 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -28
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -3
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/errors.d.ts +6 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -0
- package/dist/errors.js.map +1 -1
- package/dist/metrics.d.ts +3 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +51 -0
- package/dist/metrics.js.map +1 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +8 -2
- package/dist/options.js.map +1 -1
- package/dist/types.d.ts +12 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/package.json +14 -5
package/README.md
CHANGED
|
@@ -62,6 +62,10 @@ The `ConfigInstance` interface represents the your way to interact with the conf
|
|
|
62
62
|
- **Description**: Retrieves the resolved options from the configuration object. Useful for debugging.
|
|
63
63
|
- **Returns**: The resolved options, which are an instance of `BaseOptions`.
|
|
64
64
|
|
|
65
|
+
##### `initializeMetrics(registry: promClient.Registry): void`
|
|
66
|
+
- **Description**: Initializes the metrics for the configuration.
|
|
67
|
+
- **Parameters**:
|
|
68
|
+
- `registry` (`promClient.Registry`): The prometheus registry to use for the metrics.
|
|
65
69
|
|
|
66
70
|
# Configuration Options
|
|
67
71
|
|
|
@@ -76,19 +80,22 @@ This package allows you to configure various options for loading and managing co
|
|
|
76
80
|
|
|
77
81
|
### `configName`
|
|
78
82
|
- **Type**: `string`
|
|
79
|
-
- **Optional**: `
|
|
83
|
+
- **Optional**: `true`
|
|
84
|
+
-
|
|
80
85
|
- **Description**: The name of the remote configuration.
|
|
81
86
|
- **Environment Variable**: `CONFIG_NAME`
|
|
82
87
|
|
|
83
88
|
### `version`
|
|
84
89
|
- **Type**: `'latest' | number`
|
|
85
|
-
- **Optional**: `
|
|
90
|
+
- **Optional**: `true`
|
|
91
|
+
- **Default**: `latest`
|
|
86
92
|
- **Description**: The version of the remote configuration. It can be either `'latest'` or a number.
|
|
87
93
|
- **Environment Variable**: `CONFIG_VERSION`
|
|
88
94
|
|
|
89
95
|
### `configServerUrl`
|
|
90
96
|
- **Type**: `string`
|
|
91
|
-
- **Optional**: `
|
|
97
|
+
- **Optional**: `true`
|
|
98
|
+
- **Default**: `http://localhost:8080`
|
|
92
99
|
- **Description**: The URL of the configuration server.
|
|
93
100
|
- **Environment Variable**: `CONFIG_SERVER_URL`
|
|
94
101
|
|
|
@@ -111,31 +118,6 @@ This package allows you to configure various options for loading and managing co
|
|
|
111
118
|
- **Default**: `./config`
|
|
112
119
|
- **Description**: The path to the local configuration folder.
|
|
113
120
|
|
|
114
|
-
## JSON Schema
|
|
115
|
-
|
|
116
|
-
The options are validated against the following JSON schema:
|
|
117
|
-
|
|
118
|
-
```json
|
|
119
|
-
{
|
|
120
|
-
"required": ["configName", "configServerUrl", "version"],
|
|
121
|
-
"additionalProperties": false,
|
|
122
|
-
"type": "object",
|
|
123
|
-
"properties": {
|
|
124
|
-
"configName": { "type": "string" },
|
|
125
|
-
"version": {
|
|
126
|
-
"oneOf": [
|
|
127
|
-
{ "type": "string", "const": "latest" },
|
|
128
|
-
{ "type": "integer", "minimum": 1 }
|
|
129
|
-
]
|
|
130
|
-
},
|
|
131
|
-
"configServerUrl": { "type": "string" },
|
|
132
|
-
"offlineMode": { "type": "boolean", "nullable": true },
|
|
133
|
-
"ignoreServerIsOlderVersionError": { "type": "boolean", "nullable": true },
|
|
134
|
-
"localConfigPath": { "type": "string", "default": "./config" }
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
121
|
## Environment Variable Configuration
|
|
140
122
|
|
|
141
123
|
The following environment variables can be used to configure the options:
|
|
@@ -265,6 +247,11 @@ try {
|
|
|
265
247
|
```
|
|
266
248
|
- **Description**: This error occurs when there is a version mismatch between the remote and local schemas. The payload includes the versions of both the remote and local schemas.
|
|
267
249
|
|
|
250
|
+
### `promClientNotInstalledError`
|
|
251
|
+
- **Code**: `8`
|
|
252
|
+
- **Payload**: `Error`
|
|
253
|
+
- **Description**: This error occurs when the `prom-client` package is not installed. The payload contains the error object.
|
|
254
|
+
|
|
268
255
|
# Debugging
|
|
269
256
|
If for some reason you want to debug the package you can either use the `getConfigParts` or the `getResolvedOptions` functions described in the API or use the more powerful debug logger.
|
|
270
257
|
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAMxE,OAAO,EAAe,aAAa,EAAE,cAAc,EAAU,MAAM,SAAS,CAAC;AAe7E;;;;;;GAMG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS;IAAE,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAC3E,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAwG/C"}
|
package/dist/config.js
CHANGED
|
@@ -17,6 +17,7 @@ const validator_1 = require("./validator");
|
|
|
17
17
|
const debug_1 = require("./utils/debug");
|
|
18
18
|
const constants_1 = require("./constants");
|
|
19
19
|
const errors_1 = require("./errors");
|
|
20
|
+
const metrics_1 = require("./metrics");
|
|
20
21
|
const debug = (0, debug_1.createDebug)('config');
|
|
21
22
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
22
23
|
const arrayMerge = (destinationArray, sourceArray) => sourceArray;
|
|
@@ -30,9 +31,10 @@ const arrayMerge = (destinationArray, sourceArray) => sourceArray;
|
|
|
30
31
|
async function config(options) {
|
|
31
32
|
// handle package options
|
|
32
33
|
debug('config called with options: %j', { ...options, schema: options.schema.$id });
|
|
33
|
-
const { schema: baseSchema, ...unvalidatedOptions } = options;
|
|
34
|
+
const { schema: baseSchema, metricsRegistry, ...unvalidatedOptions } = options;
|
|
34
35
|
const { configName, offlineMode, version, ignoreServerIsOlderVersionError } = (0, options_1.initializeOptions)(unvalidatedOptions);
|
|
35
36
|
let remoteConfig = {};
|
|
37
|
+
let serverConfigResponse = undefined;
|
|
36
38
|
// handle remote config
|
|
37
39
|
if (offlineMode !== true) {
|
|
38
40
|
debug('handling fetching remote data');
|
|
@@ -46,7 +48,7 @@ async function config(options) {
|
|
|
46
48
|
});
|
|
47
49
|
}
|
|
48
50
|
// get the remote config
|
|
49
|
-
|
|
51
|
+
serverConfigResponse = await (0, httpClient_1.getRemoteConfig)(configName, version);
|
|
50
52
|
if (serverConfigResponse.schemaId !== baseSchema.$id) {
|
|
51
53
|
debug('schema version mismatch. local: %s, remote: %s', baseSchema.$id, serverConfigResponse.schemaId);
|
|
52
54
|
throw (0, errors_1.createConfigError)('schemaVersionMismatchError', 'The schema version of the remote config does not match the schema version of the local config', {
|
|
@@ -96,7 +98,10 @@ async function config(options) {
|
|
|
96
98
|
debug('getResolvedOptions called');
|
|
97
99
|
return (0, options_1.getOptions)();
|
|
98
100
|
}
|
|
99
|
-
|
|
101
|
+
function initializeMetrics(registry) {
|
|
102
|
+
(0, metrics_1.initializeMetrics)(registry, baseSchema.$id, serverConfigResponse?.version);
|
|
103
|
+
}
|
|
104
|
+
return { get, getAll, getConfigParts, getResolvedOptions, initializeMetrics };
|
|
100
105
|
}
|
|
101
106
|
exports.config = config;
|
|
102
107
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,uEAAwE;AACxE,oDAA+B;AAC/B,oDAA4B;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const LOCAL_SCHEMAS_PACKAGE_VERSION: string;
|
|
2
|
+
export declare const PACKAGE_NAME: string;
|
|
2
3
|
export declare const SCHEMA_DOMAIN = "https://mapcolonies.com/";
|
|
3
4
|
export declare const SCHEMAS_PACKAGE_RESOLVED_PATH: string;
|
|
4
5
|
export declare const SCHEMA_BASE_PATH: string;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,6BAA6B,QAAgG,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,6BAA6B,QAAgG,CAAC;AAC3I,eAAO,MAAM,YAAY,QAAyE,CAAC;AAEnG,eAAO,MAAM,aAAa,6BAA6B,CAAC;AAExD,eAAO,MAAM,6BAA6B,QAA2C,CAAC;AACtF,eAAO,MAAM,gBAAgB,QAA6F,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -3,11 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SCHEMA_BASE_PATH = exports.SCHEMAS_PACKAGE_RESOLVED_PATH = exports.SCHEMA_DOMAIN = exports.LOCAL_SCHEMAS_PACKAGE_VERSION = void 0;
|
|
6
|
+
exports.SCHEMA_BASE_PATH = exports.SCHEMAS_PACKAGE_RESOLVED_PATH = exports.SCHEMA_DOMAIN = exports.PACKAGE_NAME = exports.LOCAL_SCHEMAS_PACKAGE_VERSION = void 0;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const read_pkg_1 = require("@map-colonies/read-pkg");
|
|
9
9
|
const schemasPackagePathBuildPath = require.resolve('@map-colonies/schemas').substring(0, require.resolve('@map-colonies/schemas').indexOf('build'));
|
|
10
10
|
exports.LOCAL_SCHEMAS_PACKAGE_VERSION = (0, read_pkg_1.readPackageJsonSync)(node_path_1.default.join(schemasPackagePathBuildPath, 'package.json')).version;
|
|
11
|
+
exports.PACKAGE_NAME = (0, read_pkg_1.readPackageJsonSync)('package.json').name ?? 'package-name-not-defined';
|
|
11
12
|
exports.SCHEMA_DOMAIN = 'https://mapcolonies.com/';
|
|
12
13
|
exports.SCHEMAS_PACKAGE_RESOLVED_PATH = require.resolve('@map-colonies/schemas');
|
|
13
14
|
exports.SCHEMA_BASE_PATH = exports.SCHEMAS_PACKAGE_RESOLVED_PATH.substring(0, exports.SCHEMAS_PACKAGE_RESOLVED_PATH.lastIndexOf('/'));
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,qDAA6D;AAE7D,MAAM,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACxI,QAAA,6BAA6B,GAAG,IAAA,8BAAmB,EAAC,mBAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC,OAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,qDAA6D;AAE7D,MAAM,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACxI,QAAA,6BAA6B,GAAG,IAAA,8BAAmB,EAAC,mBAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC,OAAiB,CAAC;AAC9H,QAAA,YAAY,GAAG,IAAA,8BAAmB,EAAC,cAAc,CAAC,CAAC,IAAI,IAAI,0BAA0B,CAAC;AAEtF,QAAA,aAAa,GAAG,0BAA0B,CAAC;AAE3C,QAAA,6BAA6B,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACzE,QAAA,gBAAgB,GAAG,qCAA6B,CAAC,SAAS,CAAC,CAAC,EAAE,qCAA6B,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
package/dist/errors.d.ts
CHANGED
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;kBAG+F,MAAM;;;;;;;;;;wBAExD,MAAM;;;;;;kCACmB,MAAM;iCAAuB,MAAM;;;;;;iCAC5C,MAAM;gCAAsB,MAAM;;;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;kBAG+F,MAAM;;;;;;;;;;wBAExD,MAAM;;;;;;kCACmB,MAAM;iCAAuB,MAAM;;;;;;iCAC5C,MAAM;gCAAsB,MAAM;;;;;;qBAC7C,MAAM;;;CAEP,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,SAAS,SAAS,MAAM,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAE,SAAQ,KAAK;aAUnD,OAAO,EAAE,OAAO,GAAG,SAAS;IATjG,SAAgB,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAEtD;;;;;;OAMG;gBACgB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAkB,OAAO,EAAE,OAAO,GAAG,SAAS;CAKlG;AAED,wBAAgB,iBAAiB,CAAC,SAAS,SAAS,MAAM,YAAY,EAAE,OAAO,SAAS,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EACxH,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACf,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAEjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,CAMzI"}
|
package/dist/errors.js
CHANGED
|
@@ -9,6 +9,7 @@ const configErrors = {
|
|
|
9
9
|
schemaNotFoundError: { code: 5, payload: {} },
|
|
10
10
|
schemasPackageVersionMismatchError: { code: 6, payload: {} },
|
|
11
11
|
schemaVersionMismatchError: { code: 7, payload: {} },
|
|
12
|
+
promClientNotInstalledError: { code: 8, payload: {} },
|
|
12
13
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
14
|
};
|
|
14
15
|
/**
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAGA,MAAM,YAAY,GAAG;IACnB,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAuB,EAAE;IACpE,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAuB,EAAE;IACpE,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAgF,EAAE;IACzH,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAW,EAAE;IACnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAA4B,EAAE;IACvE,kCAAkC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAmE,EAAE;IAC7H,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAiE,EAAE;IACnH,8DAA8D;CACG,CAAC;AAOpE;;;;;GAKG;AACH,MAAa,WAAgG,SAAQ,KAAK;IAUnD;IATrD,IAAI,CAAkC;IAEtD;;;;;;OAMG;IACH,YAAmB,IAAe,EAAE,OAAe,EAAkB,OAA4B;QAC/F,KAAK,CAAC,OAAO,CAAC,CAAC;QADoD,YAAO,GAAP,OAAO,CAAqB;QAE/F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;CACF;AAfD,kCAeC;AAED,SAAgB,iBAAiB,CAC/B,IAAe,EACf,OAAe,EACf,OAAgB;IAEhB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAND,8CAMC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAuC,KAAc,EAAE,SAAoB;IACtG,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAND,sCAMC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAGA,MAAM,YAAY,GAAG;IACnB,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAuB,EAAE;IACpE,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAuB,EAAE;IACpE,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAgF,EAAE;IACzH,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAW,EAAE;IACnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAA4B,EAAE;IACvE,kCAAkC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAmE,EAAE;IAC7H,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAiE,EAAE;IACnH,2BAA2B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAyB,EAAE;IAC5E,8DAA8D;CACG,CAAC;AAOpE;;;;;GAKG;AACH,MAAa,WAAgG,SAAQ,KAAK;IAUnD;IATrD,IAAI,CAAkC;IAEtD;;;;;;OAMG;IACH,YAAmB,IAAe,EAAE,OAAe,EAAkB,OAA4B;QAC/F,KAAK,CAAC,OAAO,CAAC,CAAC;QADoD,YAAO,GAAP,OAAO,CAAqB;QAE/F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;CACF;AAfD,kCAeC;AAED,SAAgB,iBAAiB,CAC/B,IAAe,EACf,OAAe,EACf,OAAgB;IAEhB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAND,8CAMC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAuC,KAAc,EAAE,SAAoB;IACtG,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAND,sCAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0B5C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgC/G"}
|
package/dist/metrics.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeMetrics = void 0;
|
|
4
|
+
const options_1 = require("./options");
|
|
5
|
+
const version_1 = require("./version");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const debug_1 = require("./utils/debug");
|
|
8
|
+
const errors_1 = require("./errors");
|
|
9
|
+
const debug = (0, debug_1.createDebug)('metrics');
|
|
10
|
+
const MILLISECONDS_PER_SECOND = 1000;
|
|
11
|
+
let promClient;
|
|
12
|
+
function loadPromClient() {
|
|
13
|
+
if (promClient !== undefined) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
debug('loading prom-client');
|
|
17
|
+
try {
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
19
|
+
promClient = require('prom-client');
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw (0, errors_1.createConfigError)('promClientNotInstalledError', 'prom-client is not installed and metrics was initialized', error);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function initializeMetrics(registry, schemaId, actualVersion) {
|
|
26
|
+
debug('initializing metrics');
|
|
27
|
+
loadPromClient();
|
|
28
|
+
if (promClient === undefined) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const { offlineMode, configName, version } = (0, options_1.getOptions)();
|
|
32
|
+
const gauge = new promClient.Gauge({
|
|
33
|
+
name: 'config_time_of_last_fetch_unix_timestamp',
|
|
34
|
+
help: 'The time of the last fetch of the configuration in unix timestamp',
|
|
35
|
+
labelNames: ['name', 'request_version', 'actual_version', 'offline_mode', 'schemas_package_version', 'package_version', 'schema_id'],
|
|
36
|
+
});
|
|
37
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
38
|
+
gauge.set({
|
|
39
|
+
name: configName,
|
|
40
|
+
request_version: version,
|
|
41
|
+
actual_version: actualVersion,
|
|
42
|
+
offline_mode: String(offlineMode ?? false),
|
|
43
|
+
schemas_package_version: constants_1.LOCAL_SCHEMAS_PACKAGE_VERSION,
|
|
44
|
+
package_version: version_1.PACKAGE_VERSION,
|
|
45
|
+
schema_id: schemaId,
|
|
46
|
+
}, Math.round(Date.now() / MILLISECONDS_PER_SECOND));
|
|
47
|
+
/* eslint-enable @typescript-eslint/naming-convention */
|
|
48
|
+
registry.registerMetric(gauge);
|
|
49
|
+
}
|
|
50
|
+
exports.initializeMetrics = initializeMetrics;
|
|
51
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AACvC,uCAA4C;AAC5C,2CAA4D;AAC5D,yCAA4C;AAC5C,qCAA6C;AAE7C,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,SAAS,CAAC,CAAC;AACrC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,IAAI,UAAoD,CAAC;AAEzD,SAAS,cAAc;IACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,mEAAmE;QACnE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,0BAAiB,EAAC,6BAA6B,EAAE,0DAA0D,EAAE,KAAc,CAAC,CAAC;IACrI,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAkB,EAAE,QAAgB,EAAE,aAAiC;IACvG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9B,cAAc,EAAE,CAAC;IAEjB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAA,oBAAU,GAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;QACjC,IAAI,EAAE,0CAA0C;QAChD,IAAI,EAAE,mEAAmE;QACzE,UAAU,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,WAAW,CAAC;KACrI,CAAC,CAAC;IAEH,yDAAyD;IACzD,KAAK,CAAC,GAAG,CACP;QACE,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,OAAO;QACxB,cAAc,EAAE,aAAa;QAC7B,YAAY,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC1C,uBAAuB,EAAE,yCAA6B;QACtD,eAAe,EAAE,yBAAe;QAChC,SAAS,EAAE,QAAQ;KACpB,EAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB,CAAC,CACjD,CAAC;IAEF,wDAAwD;IACxD,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAhCD,8CAgCC"}
|
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiB,MAAM,SAAS,CAAC;AA+BrD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAmB5E;AAED,wBAAgB,UAAU,IAAI,WAAW,CAQxC"}
|
package/dist/options.js
CHANGED
|
@@ -9,7 +9,13 @@ const types_1 = require("./types");
|
|
|
9
9
|
const validator_1 = require("./validator");
|
|
10
10
|
const debug_1 = require("./utils/debug");
|
|
11
11
|
const errors_1 = require("./errors");
|
|
12
|
+
const constants_1 = require("./constants");
|
|
12
13
|
const debug = (0, debug_1.createDebug)('options');
|
|
14
|
+
const defaultOptions = {
|
|
15
|
+
configName: constants_1.PACKAGE_NAME,
|
|
16
|
+
configServerUrl: 'http://localhost:8080',
|
|
17
|
+
version: 'latest',
|
|
18
|
+
};
|
|
13
19
|
const envOptions = {
|
|
14
20
|
configName: process.env.CONFIG_NAME,
|
|
15
21
|
configServerUrl: process.env.CONFIG_SERVER_URL,
|
|
@@ -25,8 +31,8 @@ for (const key in envOptions) {
|
|
|
25
31
|
}
|
|
26
32
|
let baseOptions = undefined;
|
|
27
33
|
function initializeOptions(options) {
|
|
28
|
-
debug('initializing options with %j and
|
|
29
|
-
const mergedOptions =
|
|
34
|
+
debug('initializing options with default options: %j function input: %j and environment variables: %j', defaultOptions, options, envOptions);
|
|
35
|
+
const mergedOptions = deepmerge_1.default.all([defaultOptions, options, envOptions]);
|
|
30
36
|
debug('merged options: %j', mergedOptions);
|
|
31
37
|
const [errors, validatedOptions] = (0, validator_1.validate)(validator_1.ajvOptionsValidator, types_1.optionsSchema, mergedOptions);
|
|
32
38
|
if (errors) {
|
package/dist/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,mCAAqD;AACrD,2CAA4D;AAC5D,yCAA4C;AAC5C,qCAA6C;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,mCAAqD;AACrD,2CAA4D;AAC5D,yCAA4C;AAC5C,qCAA6C;AAC7C,2CAA2C;AAE3C,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,SAAS,CAAC,CAAC;AAErC,MAAM,cAAc,GAAgB;IAClC,UAAU,EAAE,wBAAY;IACxB,eAAe,EAAE,uBAAuB;IACxC,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,MAAM,UAAU,GAA+C;IAC7D,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;IACnC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAC9C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACnC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAC5C,+BAA+B,EAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C;CACzF,CAAC;AAEF,iFAAiF;AACjF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAC7B,IAAI,UAAU,CAAC,GAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,UAAU,CAAC,GAAwB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,IAAI,WAAW,GAA4B,SAAS,CAAC;AAErD,SAAgB,iBAAiB,CAAC,OAA6B;IAC7D,KAAK,CAAC,gGAAgG,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC7I,MAAM,aAAa,GAAG,mBAAS,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;IAE3C,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAA,oBAAQ,EAAC,+BAAmB,EAAE,qBAAa,EAAE,aAAa,CAAC,CAAC;IAE/F,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,IAAA,0BAAiB,EACrB,uBAAuB,EACvB,6GAA6G,EAC7G,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACxC,WAAW,GAAG,gBAA+B,CAAC;IAC9C,OAAO,WAAW,CAAC;AACrB,CAAC;AAnBD,8CAmBC;AAED,SAAgB,UAAU;IACxB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AARD,gCAQC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="lodash" />
|
|
2
2
|
import { typeSymbol } from '@map-colonies/schemas/build/schemas/symbol';
|
|
3
3
|
import { JSONSchemaType } from 'ajv';
|
|
4
|
+
import type { Registry } from 'prom-client';
|
|
4
5
|
type Prettify<T> = {
|
|
5
6
|
[K in keyof T]: T[K];
|
|
6
7
|
} & {};
|
|
@@ -62,11 +63,16 @@ export interface BaseOptions {
|
|
|
62
63
|
/**
|
|
63
64
|
* Represents the options for configuration.
|
|
64
65
|
*/
|
|
65
|
-
export type ConfigOptions<T extends SchemaWithType> = Prettify<BaseOptions & {
|
|
66
|
+
export type ConfigOptions<T extends SchemaWithType> = Prettify<Partial<BaseOptions> & {
|
|
66
67
|
/**
|
|
67
68
|
* The schema of the configuration object.
|
|
68
69
|
*/
|
|
69
70
|
schema: T;
|
|
71
|
+
/**
|
|
72
|
+
* The registry for the metrics. If not provided, the metrics will not be registered.
|
|
73
|
+
* Depends on the prom-client package being installed.
|
|
74
|
+
*/
|
|
75
|
+
metricsRegistry?: Registry;
|
|
70
76
|
}>;
|
|
71
77
|
export declare const optionsSchema: JSONSchemaType<BaseOptions>;
|
|
72
78
|
/**
|
|
@@ -100,6 +106,11 @@ export interface ConfigInstance<T> {
|
|
|
100
106
|
* @returns The resolved options.
|
|
101
107
|
*/
|
|
102
108
|
getResolvedOptions: () => BaseOptions;
|
|
109
|
+
/**
|
|
110
|
+
* Initializes the metrics for the configuration object.
|
|
111
|
+
* @param registry - The registry for the metrics.
|
|
112
|
+
*/
|
|
113
|
+
initializeMetrics: (registry: Registry) => void;
|
|
103
114
|
}
|
|
104
115
|
export {};
|
|
105
116
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,QAAQ,CAAC,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAErB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEhD,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,IAAI,QAAQ,CAC5D,OAAO,CAAC,WAAW,CAAC,GAAG;IACrB;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IACV;;;OAGG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC;CAC5B,CACF,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,WAAW,CAiBrD,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,GAAG,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAErE;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhB;;;OAGG;IACH,cAAc,EAAE,MAAM;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,kBAAkB,EAAE,MAAM,WAAW,CAAC;IAEtC;;;OAGG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CACjD"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,uEAAwE;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,uEAAwE;AAwF3D,QAAA,aAAa,GAAgC;IACxD,QAAQ,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC;IACtD,oBAAoB,EAAE,KAAK;IAC3B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;aAChC;SACF;QACD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChD,+BAA+B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzE;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,qBAAqB;AACrB,mBAAmB;AACN,QAAA,eAAe,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@map-colonies/config",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Config package for MapColonies with support for central config management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
"prelint": "npm run format",
|
|
17
17
|
"lint": "eslint .",
|
|
18
18
|
"lint:fix": "eslint --fix .",
|
|
19
|
+
"pretest": "npm run generate:version",
|
|
19
20
|
"test": "cross-env SUPPRESS_NO_CONFIG_WARNING=true NODE_CONFIG_STRICT_MODE=false jest --config=./tests/configurations/jest.config.js",
|
|
20
|
-
"prebuild": "npm run clean",
|
|
21
|
+
"prebuild": "npm run clean && npm run generate:version",
|
|
21
22
|
"build": "tsc --project tsconfig.build.json",
|
|
22
23
|
"start": "npm run build && cd dist && node ./index.js",
|
|
23
24
|
"clean": "rimraf dist",
|
|
24
|
-
"prepublish": "npm run build"
|
|
25
|
+
"prepublish": "npm run build",
|
|
26
|
+
"generate:version": "node scripts/generateVersionFile.mjs"
|
|
25
27
|
},
|
|
26
28
|
"repository": {
|
|
27
29
|
"type": "git",
|
|
@@ -61,7 +63,13 @@
|
|
|
61
63
|
"undici": "^6.18.2"
|
|
62
64
|
},
|
|
63
65
|
"peerDependencies": {
|
|
64
|
-
"@map-colonies/schemas": "^1.0.0"
|
|
66
|
+
"@map-colonies/schemas": "^1.0.0",
|
|
67
|
+
"prom-client": "^15.0.0"
|
|
68
|
+
},
|
|
69
|
+
"peerDependenciesMeta": {
|
|
70
|
+
"prom-client": {
|
|
71
|
+
"optional": true
|
|
72
|
+
}
|
|
65
73
|
},
|
|
66
74
|
"devDependencies": {
|
|
67
75
|
"@commitlint/cli": "^11.0.0",
|
|
@@ -80,6 +88,7 @@
|
|
|
80
88
|
"prettier": "^2.2.1",
|
|
81
89
|
"pretty-quick": "^3.1.0",
|
|
82
90
|
"ts-jest": "^29.1.5",
|
|
83
|
-
"typescript": "^5.4.5"
|
|
91
|
+
"typescript": "^5.4.5",
|
|
92
|
+
"prom-client": "^15.0.0"
|
|
84
93
|
}
|
|
85
94
|
}
|