@hg-ts/config-loader 0.1.88 → 0.1.94

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,21 +1,5 @@
1
1
  import { ZodType } from '@hg-ts/validation';
2
- import { PathBuilderOptions } from './path-builder';
3
- export type ConfigLoaderOptions = PathBuilderOptions & {
4
- recursive?: boolean;
5
- cache?: boolean;
6
- };
7
- export declare class ConfigLoader {
8
- private readonly pathBuilder;
9
- private readonly options;
10
- private readonly cacheMap;
11
- constructor(options?: ConfigLoaderOptions);
12
- load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
13
- private loadRawConfig;
14
- private loadConfigFile;
15
- private mergeConfigs;
16
- private validate;
17
- private get cacheEnabled();
18
- private get isRecursive();
19
- private get recursiveRootKey();
2
+ export declare abstract class ConfigLoader {
3
+ abstract load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
20
4
  }
21
5
  //# sourceMappingURL=config-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAEP,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAEN,kBAAkB,EAClB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAOF,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAEtC,OAAO,GAAE,mBAAwB;IAKvC,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAoB9F,aAAa;YAkBb,cAAc;IAU5B,OAAO,CAAC,YAAY;YAeN,QAAQ;IAOtB,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,WAAW,GAEtB;IAID,OAAO,KAAK,gBAAgB,GAE3B;CACD"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,8BAAsB,YAAY;aACjB,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAC/G"}
@@ -1,75 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigLoader = void 0;
4
- const tslib_1 = require("tslib");
5
- const strict_1 = tslib_1.__importDefault(require("node:assert/strict"));
6
- const promises_1 = tslib_1.__importDefault(require("node:fs/promises"));
7
- const exceptions_1 = require("./exceptions");
8
- const path_builder_1 = require("./path-builder");
9
4
  class ConfigLoader {
10
- pathBuilder;
11
- options;
12
- cacheMap = new Map();
13
- constructor(options = {}) {
14
- this.pathBuilder = new path_builder_1.PathBuilder(options);
15
- this.options = this.pathBuilder.options;
16
- }
17
- async load(schema, name) {
18
- if (this.cacheMap.has(name)) {
19
- const cacheItem = this.cacheMap.get(name);
20
- strict_1.default.ok(cacheItem.schema === schema, `cached instance of config "${name}" has another schema`);
21
- return cacheItem.config;
22
- }
23
- const rawConfig = await this.loadRawConfig(name);
24
- const config = await this.validate(schema, rawConfig);
25
- if (this.cacheEnabled) {
26
- this.cacheMap.set(name, { schema, config });
27
- }
28
- return config;
29
- }
30
- async loadRawConfig(name) {
31
- const paths = this.pathBuilder.build(name);
32
- const configs = await Promise.all(paths.map(async (path) => this.loadConfigFile(path)));
33
- if (!configs[0]) {
34
- throw new exceptions_1.NoBaseConfigException(name);
35
- }
36
- return this.mergeConfigs(configs);
37
- }
38
- async loadConfigFile(path) {
39
- try {
40
- const content = await promises_1.default.readFile(path, { encoding: 'utf-8' });
41
- return JSON.parse(content);
42
- }
43
- catch (error) {
44
- return null;
45
- }
46
- }
47
- mergeConfigs(configs) {
48
- return configs
49
- .filter(config => config !== null)
50
- .filter((config) => typeof config === 'object')
51
- .reduce((merged, next) => {
52
- if (this.isRecursive && merged[this.recursiveRootKey] === true) {
53
- return merged;
54
- }
55
- return {
56
- ...merged,
57
- ...next,
58
- };
59
- });
60
- }
61
- async validate(schema, config) {
62
- return schema.parseAsync(config);
63
- }
64
- get cacheEnabled() {
65
- return this.options.cache ?? false;
66
- }
67
- get isRecursive() {
68
- return this.options.recursive ?? false;
69
- }
70
- get recursiveRootKey() {
71
- return 'root';
72
- }
73
5
  }
74
6
  exports.ConfigLoader = ConfigLoader;
75
7
  //# sourceMappingURL=config-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;CAEjC;AAFD,oCAEC"}
@@ -0,0 +1,22 @@
1
+ import { ZodType } from '@hg-ts/validation';
2
+ import { ConfigLoader } from './config-loader';
3
+ import { PathBuilderOptions } from './path-builder';
4
+ export type ConfigLoaderOptions = PathBuilderOptions & {
5
+ recursive?: boolean;
6
+ cache?: boolean;
7
+ };
8
+ export declare class FileConfigLoader implements ConfigLoader {
9
+ private readonly pathBuilder;
10
+ private readonly options;
11
+ private readonly cacheMap;
12
+ constructor(options?: ConfigLoaderOptions);
13
+ load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
14
+ private loadRawConfig;
15
+ private loadConfigFile;
16
+ private mergeConfigs;
17
+ private validate;
18
+ private get cacheEnabled();
19
+ private get isRecursive();
20
+ private get recursiveRootKey();
21
+ }
22
+ //# sourceMappingURL=file.config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.config-loader.d.ts","sourceRoot":"","sources":["../src/file.config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAEP,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAEN,kBAAkB,EAClB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAOF,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAEtC,OAAO,GAAE,mBAAwB;IAKvC,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAoB9F,aAAa;YAkBb,cAAc;IAU5B,OAAO,CAAC,YAAY;YAeN,QAAQ;IAOtB,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,WAAW,GAEtB;IAID,OAAO,KAAK,gBAAgB,GAE3B;CACD"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileConfigLoader = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const strict_1 = tslib_1.__importDefault(require("node:assert/strict"));
6
+ const promises_1 = tslib_1.__importDefault(require("node:fs/promises"));
7
+ const exceptions_1 = require("./exceptions");
8
+ const path_builder_1 = require("./path-builder");
9
+ class FileConfigLoader {
10
+ pathBuilder;
11
+ options;
12
+ cacheMap = new Map();
13
+ constructor(options = {}) {
14
+ this.pathBuilder = new path_builder_1.PathBuilder(options);
15
+ this.options = this.pathBuilder.options;
16
+ }
17
+ async load(schema, name) {
18
+ if (this.cacheMap.has(name)) {
19
+ const cacheItem = this.cacheMap.get(name);
20
+ strict_1.default.ok(cacheItem.schema === schema, `cached instance of config "${name}" has another schema`);
21
+ return cacheItem.config;
22
+ }
23
+ const rawConfig = await this.loadRawConfig(name);
24
+ const config = await this.validate(schema, rawConfig);
25
+ if (this.cacheEnabled) {
26
+ this.cacheMap.set(name, { schema, config });
27
+ }
28
+ return config;
29
+ }
30
+ async loadRawConfig(name) {
31
+ const paths = this.pathBuilder.build(name);
32
+ const configs = await Promise.all(paths.map(async (path) => this.loadConfigFile(path)));
33
+ if (!configs[0]) {
34
+ throw new exceptions_1.NoBaseConfigException(name);
35
+ }
36
+ return this.mergeConfigs(configs);
37
+ }
38
+ async loadConfigFile(path) {
39
+ try {
40
+ const content = await promises_1.default.readFile(path, { encoding: 'utf-8' });
41
+ return JSON.parse(content);
42
+ }
43
+ catch (error) {
44
+ return null;
45
+ }
46
+ }
47
+ mergeConfigs(configs) {
48
+ return configs
49
+ .filter(config => config !== null)
50
+ .filter((config) => typeof config === 'object')
51
+ .reduce((merged, next) => {
52
+ if (this.isRecursive && merged[this.recursiveRootKey] === true) {
53
+ return merged;
54
+ }
55
+ return {
56
+ ...merged,
57
+ ...next,
58
+ };
59
+ });
60
+ }
61
+ async validate(schema, config) {
62
+ return schema.parseAsync(config);
63
+ }
64
+ get cacheEnabled() {
65
+ return this.options.cache ?? false;
66
+ }
67
+ get isRecursive() {
68
+ return this.options.recursive ?? false;
69
+ }
70
+ get recursiveRootKey() {
71
+ return 'root';
72
+ }
73
+ }
74
+ exports.FileConfigLoader = FileConfigLoader;
75
+ //# sourceMappingURL=file.config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.config-loader.js","sourceRoot":"","sources":["../src/file.config-loader.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './config-loader';
2
+ export * from './file.config-loader';
3
+ export * from './mock.config-loader';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./config-loader"), exports);
5
+ tslib_1.__exportStar(require("./file.config-loader"), exports);
6
+ tslib_1.__exportStar(require("./mock.config-loader"), exports);
5
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,+DAAqC;AACrC,+DAAqC"}
@@ -0,0 +1,8 @@
1
+ import { ZodType } from '@hg-ts/validation';
2
+ import { ConfigLoader } from './config-loader';
3
+ export declare class MockConfigLoader implements ConfigLoader {
4
+ private readonly configMap;
5
+ constructor(configMap: Map<string, unknown>);
6
+ load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
7
+ }
8
+ //# sourceMappingURL=mock.config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.config-loader.d.ts","sourceRoot":"","sources":["../src/mock.config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;gBAE9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAK5G"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockConfigLoader = void 0;
4
+ class MockConfigLoader {
5
+ configMap;
6
+ constructor(configMap) {
7
+ this.configMap = configMap;
8
+ }
9
+ async load(schema, name) {
10
+ const config = this.configMap.get(name);
11
+ return schema.parse(config);
12
+ }
13
+ }
14
+ exports.MockConfigLoader = MockConfigLoader;
15
+ //# sourceMappingURL=mock.config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.config-loader.js","sourceRoot":"","sources":["../src/mock.config-loader.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAgB;IACX,SAAS,CAAuB;IAEjD,YAAmB,SAA+B;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,IAAI,CAA4B,MAA2B,EAAE,IAAY;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACD;AAZD,4CAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.test.d.ts","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,EACL,MAAM,cAAc,CAAC;AAItB,qBACa,gBAAiB,SAAQ,KAAK;IAE7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBxC"}
1
+ {"version":3,"file":"config-loader.test.d.ts","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,EAEL,MAAM,cAAc,CAAC;AAKtB,qBACa,gBAAiB,SAAQ,KAAK;IAE7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBxC"}
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigLoaderTest = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const validation_1 = tslib_1.__importDefault(require("@hg-ts/validation"));
6
5
  const tests_1 = require("@hg-ts/tests");
7
- const config_loader_1 = require("../config-loader");
6
+ const validation_1 = tslib_1.__importDefault(require("@hg-ts/validation"));
7
+ const file_config_loader_1 = require("../file.config-loader");
8
8
  let ConfigLoaderTest = class ConfigLoaderTest extends tests_1.Suite {
9
9
  async simple() {
10
- const loader = new config_loader_1.ConfigLoader();
10
+ const loader = new file_config_loader_1.FileConfigLoader();
11
11
  const merged = loader['mergeConfigs']([
12
12
  {
13
13
  a: 'a',
@@ -23,7 +23,7 @@ let ConfigLoaderTest = class ConfigLoaderTest extends tests_1.Suite {
23
23
  (0, tests_1.expect)(merged['c']).toBe('c');
24
24
  }
25
25
  async recursive() {
26
- const loader = new config_loader_1.ConfigLoader({ recursive: true });
26
+ const loader = new file_config_loader_1.FileConfigLoader({ recursive: true });
27
27
  const merged = loader['mergeConfigs']([
28
28
  {
29
29
  a: 'a',
@@ -45,7 +45,7 @@ let ConfigLoaderTest = class ConfigLoaderTest extends tests_1.Suite {
45
45
  (0, tests_1.expect)(merged['c']).toBe('c');
46
46
  }
47
47
  async enforceEnv() {
48
- const loader = new config_loader_1.ConfigLoader();
48
+ const loader = new file_config_loader_1.FileConfigLoader();
49
49
  const configSchema = validation_1.default.object({
50
50
  number: validation_1.default.union([validation_1.default.number(), validation_1.default.string()])
51
51
  .enforceEnv('SOME_NUMERIC_ENV')
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.test.js","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.test.js","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@hg-ts/config-loader",
3
- "version": "0.1.88",
3
+ "version": "0.1.94",
4
4
  "main": "dist/index.js",
5
5
  "exports": {
6
6
  ".": "./dist/index.js"
7
7
  },
8
8
  "repository": "git@gitlab.com:hyper-graph/framework.git",
9
9
  "scripts": {
10
- "prepack": "yarn build && yarn lint:ts && yarn test",
10
+ "publishPackage": "npm publish",
11
+ "prepack": "turbo preparePackage",
12
+ "clear": "rm -rf dist",
11
13
  "build": "tsc",
12
14
  "build:dev": "tsc-watch",
13
15
  "lint:ts": "lint-ts",
@@ -16,12 +18,12 @@
16
18
  "test:dev": "yarn build:dev --onSuccess \"yarn test\""
17
19
  },
18
20
  "devDependencies": {
19
- "@hg-ts-config/typescript": "0.1.88",
20
- "@hg-ts/exception": "0.1.88",
21
- "@hg-ts/execution-mode": "0.1.88",
22
- "@hg-ts/linter": "0.1.88",
23
- "@hg-ts/tests": "0.1.88",
24
- "@hg-ts/types": "0.1.88",
21
+ "@hg-ts-config/typescript": "workspace:*",
22
+ "@hg-ts/exception": "workspace:*",
23
+ "@hg-ts/execution-mode": "workspace:*",
24
+ "@hg-ts/linter": "workspace:*",
25
+ "@hg-ts/tests": "workspace:*",
26
+ "@hg-ts/types": "workspace:*",
25
27
  "@types/node": "22.10.6",
26
28
  "eslint": "9.18.0",
27
29
  "reflect-metadata": "0.2.2",
@@ -30,12 +32,12 @@
30
32
  "typescript": "5.7.3"
31
33
  },
32
34
  "peerDependencies": {
33
- "@hg-ts/exception": "0.1.88",
34
- "@hg-ts/execution-mode": "0.1.88",
35
+ "@hg-ts/exception": "workspace:*",
36
+ "@hg-ts/execution-mode": "workspace:*",
35
37
  "reflect-metadata": "*",
36
38
  "tslib": "*"
37
39
  },
38
40
  "dependencies": {
39
- "@hg-ts/validation": "0.1.88"
41
+ "@hg-ts/validation": "workspace:*"
40
42
  }
41
- }
43
+ }
@@ -1,7 +0,0 @@
1
- import { Suite } from '@hg-ts/tests';
2
- export declare class ConfigLoaderTestSuite extends Suite {
3
- simple(): Promise<void>;
4
- recursive(): Promise<void>;
5
- enforceEnv(): Promise<void>;
6
- }
7
- //# sourceMappingURL=config-loader.test-suite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-loader.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/config-loader.test-suite.ts"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,EACL,MAAM,cAAc,CAAC;AAItB,qBACa,qBAAsB,SAAQ,KAAK;IAElC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBxC"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigLoaderTestSuite = void 0;
4
- const tslib_1 = require("tslib");
5
- const validation_1 = tslib_1.__importDefault(require("@hg-ts/validation"));
6
- const tests_1 = require("@hg-ts/tests");
7
- const config_loader_1 = require("../config-loader");
8
- let ConfigLoaderTestSuite = class ConfigLoaderTestSuite extends tests_1.Suite {
9
- async simple() {
10
- const loader = new config_loader_1.ConfigLoader();
11
- const merged = loader['mergeConfigs']([
12
- {
13
- a: 'a',
14
- b: 'b',
15
- },
16
- {
17
- a: 'aa',
18
- c: 'c',
19
- },
20
- ]);
21
- (0, tests_1.expect)(merged['a']).toBe('aa');
22
- (0, tests_1.expect)(merged['b']).toBe('b');
23
- (0, tests_1.expect)(merged['c']).toBe('c');
24
- }
25
- async recursive() {
26
- const loader = new config_loader_1.ConfigLoader({ recursive: true });
27
- const merged = loader['mergeConfigs']([
28
- {
29
- a: 'a',
30
- b: 'b',
31
- },
32
- {
33
- a: 'aa',
34
- c: 'c',
35
- root: true,
36
- },
37
- {
38
- a: 'aaa',
39
- b: 'bbb',
40
- c: 'ccc',
41
- },
42
- ]);
43
- (0, tests_1.expect)(merged['a']).toBe('aa');
44
- (0, tests_1.expect)(merged['b']).toBe('b');
45
- (0, tests_1.expect)(merged['c']).toBe('c');
46
- }
47
- async enforceEnv() {
48
- const loader = new config_loader_1.ConfigLoader();
49
- const configSchema = validation_1.default.object({
50
- number: validation_1.default.union([validation_1.default.number(), validation_1.default.string()])
51
- .enforceEnv('SOME_NUMERIC_ENV')
52
- .transform(value => Number(value))
53
- .pipe(validation_1.default.number()),
54
- bool: validation_1.default.union([validation_1.default.string(), validation_1.default.boolean()])
55
- .enforceEnv('SOME_BOOLEAN_ENV')
56
- .transformBooleanString(),
57
- });
58
- process.env['SOME_NUMERIC_ENV'] = '10';
59
- process.env['SOME_BOOLEAN_ENV'] = 'false';
60
- const config = { number: 1, bool: true };
61
- const transformed = await loader['validate'](configSchema, config);
62
- (0, tests_1.expect)(transformed.number).toBe(10);
63
- (0, tests_1.expect)(transformed.bool).toBe(false);
64
- }
65
- };
66
- exports.ConfigLoaderTestSuite = ConfigLoaderTestSuite;
67
- tslib_1.__decorate([
68
- (0, tests_1.Test)(),
69
- tslib_1.__metadata("design:type", Function),
70
- tslib_1.__metadata("design:paramtypes", []),
71
- tslib_1.__metadata("design:returntype", Promise)
72
- ], ConfigLoaderTestSuite.prototype, "simple", null);
73
- tslib_1.__decorate([
74
- (0, tests_1.Test)(),
75
- tslib_1.__metadata("design:type", Function),
76
- tslib_1.__metadata("design:paramtypes", []),
77
- tslib_1.__metadata("design:returntype", Promise)
78
- ], ConfigLoaderTestSuite.prototype, "recursive", null);
79
- tslib_1.__decorate([
80
- (0, tests_1.Test)(),
81
- tslib_1.__metadata("design:type", Function),
82
- tslib_1.__metadata("design:paramtypes", []),
83
- tslib_1.__metadata("design:returntype", Promise)
84
- ], ConfigLoaderTestSuite.prototype, "enforceEnv", null);
85
- exports.ConfigLoaderTestSuite = ConfigLoaderTestSuite = tslib_1.__decorate([
86
- (0, tests_1.Describe)()
87
- ], ConfigLoaderTestSuite);
88
- //# sourceMappingURL=config-loader.test-suite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-loader.test-suite.js","sourceRoot":"","sources":["../../src/tests/config-loader.test-suite.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { Suite } from '@hg-ts/tests';
2
- export declare class PathBuilderTestSuite extends Suite {
3
- simple(): Promise<void>;
4
- recursive(): Promise<void>;
5
- full(): Promise<void>;
6
- configDir(): Promise<void>;
7
- envBuilder(): Promise<void>;
8
- envBuilderWithOverrideProd(): Promise<void>;
9
- envBuilderWithOverrideDev(): Promise<void>;
10
- basePostfix(): Promise<void>;
11
- basePostfixWithOverridePostfix(): Promise<void>;
12
- overridePostfix(): Promise<void>;
13
- private getPaths;
14
- }
15
- //# sourceMappingURL=path-builder.test-suite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-builder.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/path-builder.test-suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,EACL,MAAM,cAAc,CAAC;AAWtB,qBACa,oBAAqB,SAAQ,KAAK;IAEjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BrB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3C,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/C,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7C,OAAO,CAAC,QAAQ;CAKhB"}
@@ -1,155 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PathBuilderTestSuite = void 0;
4
- const tslib_1 = require("tslib");
5
- const tests_1 = require("@hg-ts/tests");
6
- const execution_mode_1 = require("@hg-ts/execution-mode");
7
- const path_builder_1 = require("../path-builder");
8
- let PathBuilderTestSuite = class PathBuilderTestSuite extends tests_1.Suite {
9
- async simple() {
10
- const paths = this.getPaths();
11
- (0, tests_1.expect)(paths).toHaveLength(1);
12
- (0, tests_1.expect)(paths[0]).toBe('/tmp/example.json');
13
- }
14
- async recursive() {
15
- const paths = this.getPaths({ recursive: true });
16
- (0, tests_1.expect)(paths).toHaveLength(2);
17
- (0, tests_1.expect)(paths[0]).toBe('/tmp/example.json');
18
- (0, tests_1.expect)(paths[1]).toBe('/example.json');
19
- }
20
- async full() {
21
- const paths = this.getPaths({
22
- recursive: true,
23
- overridePostfix: 'override',
24
- basePostfix: 'config',
25
- envBuilder: true,
26
- overrideEnv: new execution_mode_1.MockExecutionMode(execution_mode_1.ExecutionModeVariants.DEMO),
27
- configDir: 'config',
28
- });
29
- let index = 0;
30
- (0, tests_1.expect)(paths).toHaveLength(12);
31
- (0, tests_1.expect)(paths[index++]).toBe('/tmp/config/base/example.config.json');
32
- (0, tests_1.expect)(paths[index++]).toBe('/tmp/config/base/example.override.json');
33
- (0, tests_1.expect)(paths[index++]).toBe('/tmp/config/demo/example.config.json');
34
- (0, tests_1.expect)(paths[index++]).toBe('/tmp/config/demo/example.override.json');
35
- (0, tests_1.expect)(paths[index++]).toBe('/tmp/config/local/example.config.json');
36
- (0, tests_1.expect)(paths[index++]).toBe('/tmp/config/local/example.override.json');
37
- (0, tests_1.expect)(paths[index++]).toBe('/config/base/example.config.json');
38
- (0, tests_1.expect)(paths[index++]).toBe('/config/base/example.override.json');
39
- (0, tests_1.expect)(paths[index++]).toBe('/config/demo/example.config.json');
40
- (0, tests_1.expect)(paths[index++]).toBe('/config/demo/example.override.json');
41
- (0, tests_1.expect)(paths[index++]).toBe('/config/local/example.config.json');
42
- (0, tests_1.expect)(paths[index++]).toBe('/config/local/example.override.json');
43
- }
44
- async configDir() {
45
- const paths = this.getPaths({ configDir: 'config' });
46
- (0, tests_1.expect)(paths).toHaveLength(1);
47
- (0, tests_1.expect)(paths[0]).toBe('/tmp/config/example.json');
48
- }
49
- async envBuilder() {
50
- const paths = this.getPaths({ envBuilder: true });
51
- (0, tests_1.expect)(paths).toHaveLength(2);
52
- (0, tests_1.expect)(paths[0]).toBe('/tmp/base/example.json');
53
- (0, tests_1.expect)(paths[1]).toBe('/tmp/local/example.json');
54
- }
55
- async envBuilderWithOverrideProd() {
56
- const paths = this.getPaths({ envBuilder: true, overrideEnv: new execution_mode_1.MockExecutionMode(execution_mode_1.ExecutionModeVariants.PROD) });
57
- (0, tests_1.expect)(paths).toHaveLength(3);
58
- (0, tests_1.expect)(paths[0]).toBe('/tmp/base/example.json');
59
- (0, tests_1.expect)(paths[1]).toBe('/tmp/prod/example.json');
60
- (0, tests_1.expect)(paths[2]).toBe('/tmp/local/example.json');
61
- }
62
- async envBuilderWithOverrideDev() {
63
- const paths = this.getPaths({ envBuilder: true, overrideEnv: new execution_mode_1.MockExecutionMode(execution_mode_1.ExecutionModeVariants.DEV) });
64
- (0, tests_1.expect)(paths).toHaveLength(3);
65
- (0, tests_1.expect)(paths[0]).toBe('/tmp/base/example.json');
66
- (0, tests_1.expect)(paths[1]).toBe('/tmp/dev/example.json');
67
- (0, tests_1.expect)(paths[2]).toBe('/tmp/local/example.json');
68
- }
69
- async basePostfix() {
70
- const paths = this.getPaths({ basePostfix: 'config' });
71
- (0, tests_1.expect)(paths).toHaveLength(1);
72
- (0, tests_1.expect)(paths[0]).toBe('/tmp/example.config.json');
73
- }
74
- async basePostfixWithOverridePostfix() {
75
- const paths = this.getPaths({ basePostfix: 'config', overridePostfix: 'override' });
76
- (0, tests_1.expect)(paths).toHaveLength(2);
77
- (0, tests_1.expect)(paths[0]).toBe('/tmp/example.config.json');
78
- (0, tests_1.expect)(paths[1]).toBe('/tmp/example.override.json');
79
- }
80
- async overridePostfix() {
81
- const paths = this.getPaths({ overridePostfix: 'override' });
82
- (0, tests_1.expect)(paths).toHaveLength(2);
83
- (0, tests_1.expect)(paths[0]).toBe('/tmp/example.json');
84
- (0, tests_1.expect)(paths[1]).toBe('/tmp/example.override.json');
85
- }
86
- getPaths(options = {}) {
87
- const builder = new path_builder_1.PathBuilder({ appPath: '/tmp', ...options });
88
- return builder.build('example');
89
- }
90
- };
91
- exports.PathBuilderTestSuite = PathBuilderTestSuite;
92
- tslib_1.__decorate([
93
- (0, tests_1.Test)(),
94
- tslib_1.__metadata("design:type", Function),
95
- tslib_1.__metadata("design:paramtypes", []),
96
- tslib_1.__metadata("design:returntype", Promise)
97
- ], PathBuilderTestSuite.prototype, "simple", null);
98
- tslib_1.__decorate([
99
- (0, tests_1.Test)(),
100
- tslib_1.__metadata("design:type", Function),
101
- tslib_1.__metadata("design:paramtypes", []),
102
- tslib_1.__metadata("design:returntype", Promise)
103
- ], PathBuilderTestSuite.prototype, "recursive", null);
104
- tslib_1.__decorate([
105
- (0, tests_1.Test)(),
106
- tslib_1.__metadata("design:type", Function),
107
- tslib_1.__metadata("design:paramtypes", []),
108
- tslib_1.__metadata("design:returntype", Promise)
109
- ], PathBuilderTestSuite.prototype, "full", null);
110
- tslib_1.__decorate([
111
- (0, tests_1.Test)(),
112
- tslib_1.__metadata("design:type", Function),
113
- tslib_1.__metadata("design:paramtypes", []),
114
- tslib_1.__metadata("design:returntype", Promise)
115
- ], PathBuilderTestSuite.prototype, "configDir", null);
116
- tslib_1.__decorate([
117
- (0, tests_1.Test)(),
118
- tslib_1.__metadata("design:type", Function),
119
- tslib_1.__metadata("design:paramtypes", []),
120
- tslib_1.__metadata("design:returntype", Promise)
121
- ], PathBuilderTestSuite.prototype, "envBuilder", null);
122
- tslib_1.__decorate([
123
- (0, tests_1.Test)(),
124
- tslib_1.__metadata("design:type", Function),
125
- tslib_1.__metadata("design:paramtypes", []),
126
- tslib_1.__metadata("design:returntype", Promise)
127
- ], PathBuilderTestSuite.prototype, "envBuilderWithOverrideProd", null);
128
- tslib_1.__decorate([
129
- (0, tests_1.Test)(),
130
- tslib_1.__metadata("design:type", Function),
131
- tslib_1.__metadata("design:paramtypes", []),
132
- tslib_1.__metadata("design:returntype", Promise)
133
- ], PathBuilderTestSuite.prototype, "envBuilderWithOverrideDev", null);
134
- tslib_1.__decorate([
135
- (0, tests_1.Test)(),
136
- tslib_1.__metadata("design:type", Function),
137
- tslib_1.__metadata("design:paramtypes", []),
138
- tslib_1.__metadata("design:returntype", Promise)
139
- ], PathBuilderTestSuite.prototype, "basePostfix", null);
140
- tslib_1.__decorate([
141
- (0, tests_1.Test)(),
142
- tslib_1.__metadata("design:type", Function),
143
- tslib_1.__metadata("design:paramtypes", []),
144
- tslib_1.__metadata("design:returntype", Promise)
145
- ], PathBuilderTestSuite.prototype, "basePostfixWithOverridePostfix", null);
146
- tslib_1.__decorate([
147
- (0, tests_1.Test)(),
148
- tslib_1.__metadata("design:type", Function),
149
- tslib_1.__metadata("design:paramtypes", []),
150
- tslib_1.__metadata("design:returntype", Promise)
151
- ], PathBuilderTestSuite.prototype, "overridePostfix", null);
152
- exports.PathBuilderTestSuite = PathBuilderTestSuite = tslib_1.__decorate([
153
- (0, tests_1.Describe)()
154
- ], PathBuilderTestSuite);
155
- //# sourceMappingURL=path-builder.test-suite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-builder.test-suite.js","sourceRoot":"","sources":["../../src/tests/path-builder.test-suite.ts"],"names":[],"mappings":"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"}