@incanta/config 2.1.1 → 2.1.3

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.
Files changed (49) hide show
  1. package/package.json +7 -5
  2. package/lib/config-env.d.ts +0 -3
  3. package/lib/config-env.d.ts.map +0 -1
  4. package/lib/config-env.js +0 -55
  5. package/lib/config-env.js.map +0 -1
  6. package/lib/config.d.ts +0 -44
  7. package/lib/config.d.ts.map +0 -1
  8. package/lib/config.js +0 -354
  9. package/lib/config.js.map +0 -1
  10. package/lib/index.d.ts +0 -4
  11. package/lib/index.d.ts.map +0 -1
  12. package/lib/index.js +0 -14
  13. package/lib/index.js.map +0 -1
  14. package/lib/loader.d.ts +0 -18
  15. package/lib/loader.d.ts.map +0 -1
  16. package/lib/loader.js +0 -226
  17. package/lib/loader.js.map +0 -1
  18. package/lib/merge-customizer.d.ts +0 -2
  19. package/lib/merge-customizer.d.ts.map +0 -1
  20. package/lib/merge-customizer.js +0 -10
  21. package/lib/merge-customizer.js.map +0 -1
  22. package/lib/secrets/aws-secrets-manager.d.ts +0 -7
  23. package/lib/secrets/aws-secrets-manager.d.ts.map +0 -1
  24. package/lib/secrets/aws-secrets-manager.js +0 -28
  25. package/lib/secrets/aws-secrets-manager.js.map +0 -1
  26. package/lib/secrets/azure-key-vault.d.ts +0 -7
  27. package/lib/secrets/azure-key-vault.d.ts.map +0 -1
  28. package/lib/secrets/azure-key-vault.js +0 -26
  29. package/lib/secrets/azure-key-vault.js.map +0 -1
  30. package/lib/secrets/gcp-secret-manager.d.ts +0 -7
  31. package/lib/secrets/gcp-secret-manager.d.ts.map +0 -1
  32. package/lib/secrets/gcp-secret-manager.js +0 -34
  33. package/lib/secrets/gcp-secret-manager.js.map +0 -1
  34. package/lib/secrets/hcp-vault.d.ts +0 -30
  35. package/lib/secrets/hcp-vault.d.ts.map +0 -1
  36. package/lib/secrets/hcp-vault.js +0 -59
  37. package/lib/secrets/hcp-vault.js.map +0 -1
  38. package/lib/secrets/local.d.ts +0 -7
  39. package/lib/secrets/local.d.ts.map +0 -1
  40. package/lib/secrets/local.js +0 -44
  41. package/lib/secrets/local.js.map +0 -1
  42. package/lib/secrets/provider.d.ts +0 -20
  43. package/lib/secrets/provider.d.ts.map +0 -1
  44. package/lib/secrets/provider.js +0 -38
  45. package/lib/secrets/provider.js.map +0 -1
  46. package/lib/secrets/vault.d.ts +0 -7
  47. package/lib/secrets/vault.d.ts.map +0 -1
  48. package/lib/secrets/vault.js +0 -86
  49. package/lib/secrets/vault.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incanta/config",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "main": "lib/index.js",
5
5
  "exports": {
6
6
  ".": "./lib/index.js",
@@ -15,14 +15,15 @@
15
15
  "license": "MIT",
16
16
  "scripts": {
17
17
  "build": "tsc -b .",
18
- "test": "jest"
18
+ "test": "jest",
19
+ "audit": "yarn-audit-fix"
19
20
  },
20
21
  "dependencies": {
21
22
  "@aws-sdk/client-secrets-manager": "^3.839.0",
22
23
  "@azure/identity": "^4.10.1",
23
24
  "@azure/keyvault-secrets": "^4.10.0",
24
- "@google-cloud/secret-manager": "^6.0.1",
25
- "js-yaml": "^4.1.0",
25
+ "@google-cloud/secret-manager": "^6.1.1",
26
+ "js-yaml": "^4.1.1",
26
27
  "json5": "^2.2.3",
27
28
  "jsonc-parser": "^3.2.0",
28
29
  "lodash.mergewith": "^4.6.2"
@@ -43,6 +44,7 @@
43
44
  "jest": "^29.5.0",
44
45
  "prettier": "^2.8.1",
45
46
  "ts-jest": "^29.1.0",
46
- "typescript": "^5.0.4"
47
+ "typescript": "^5.0.4",
48
+ "yarn-audit-fix": "^10.1.1"
47
49
  }
48
50
  }
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=config-env.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-env.d.ts","sourceRoot":"","sources":["../src/config-env.ts"],"names":[],"mappings":""}
package/lib/config-env.js DELETED
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const child_process_1 = require("child_process");
8
- const lodash_mergewith_1 = __importDefault(require("lodash.mergewith"));
9
- const index_1 = __importDefault(require("./index"));
10
- const merge_customizer_1 = require("./merge-customizer");
11
- let command = process.argv.slice(2).join(" ");
12
- let envName = "";
13
- if (command.startsWith("--env=") || command.startsWith("-e=")) {
14
- const isLongOption = command.startsWith("--env=");
15
- const commandAfterEnv = command.substring(command.indexOf(isLongOption ? "--env=" : "-e=") + (isLongOption ? 6 : 3));
16
- if (commandAfterEnv.startsWith('"') || commandAfterEnv.startsWith("'")) {
17
- const quoteChar = commandAfterEnv[0];
18
- // find next quoteChar, ensuring it wasn't escaped
19
- let endQuoteIndex = -1;
20
- let startQuoteIndex = 0;
21
- // eslint-disable-next-line no-constant-condition
22
- while (true) {
23
- endQuoteIndex = commandAfterEnv.indexOf(quoteChar, startQuoteIndex + 1);
24
- if (endQuoteIndex !== -1 && commandAfterEnv[endQuoteIndex - 1] !== "\\") {
25
- break;
26
- }
27
- if (endQuoteIndex === -1) {
28
- throw new Error(`Unmatched quote in command: ${commandAfterEnv}. Please ensure quotes are properly closed.`);
29
- }
30
- startQuoteIndex = endQuoteIndex;
31
- }
32
- envName = commandAfterEnv.substring(1, endQuoteIndex).trim();
33
- command = commandAfterEnv.substring(endQuoteIndex + 1).trim();
34
- index_1.default.init({
35
- configDir: index_1.default.dir(),
36
- configEnv: envName,
37
- cwd: index_1.default.cwd(),
38
- });
39
- }
40
- else {
41
- const tokens = commandAfterEnv.split(" ");
42
- envName = tokens[0].trim();
43
- command = tokens.slice(1).join(" ").trim();
44
- }
45
- }
46
- const env = {};
47
- if (envName) {
48
- env.NODE_CONFIG_ENV = envName;
49
- }
50
- (0, lodash_mergewith_1.default)(env, process.env, index_1.default.getConfiguredEnv(), merge_customizer_1.mergeWithCustomizer);
51
- (0, child_process_1.execSync)(command, {
52
- env,
53
- stdio: "inherit",
54
- });
55
- //# sourceMappingURL=config-env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-env.js","sourceRoot":"","sources":["../src/config-env.ts"],"names":[],"mappings":";;;;;;AAEA,iDAAyC;AACzC,wEAAyC;AACzC,oDAA6B;AAC7B,yDAAyD;AAEzD,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9C,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CACvC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;IAEF,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACrC,kDAAkD;QAClD,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,iDAAiD;QACjD,OAAO,IAAI,EAAE,CAAC;YACZ,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;YAExE,IAAI,aAAa,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxE,MAAM;YACR,CAAC;YAED,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,+BAA+B,eAAe,6CAA6C,CAC5F,CAAC;YACJ,CAAC;YAED,eAAe,GAAG,aAAa,CAAC;QAClC,CAAC;QAED,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9D,eAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,eAAM,CAAC,GAAG,EAAE;YACvB,SAAS,EAAE,OAAO;YAClB,GAAG,EAAE,eAAM,CAAC,GAAG,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,GAAG,GAAQ,EAAE,CAAC;AAEpB,IAAI,OAAO,EAAE,CAAC;IACZ,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;AAChC,CAAC;AAED,IAAA,0BAAS,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,eAAM,CAAC,gBAAgB,EAAE,EAAE,sCAAmB,CAAC,CAAC;AAE5E,IAAA,wBAAQ,EAAC,OAAO,EAAE;IAChB,GAAG;IACH,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC"}
package/lib/config.d.ts DELETED
@@ -1,44 +0,0 @@
1
- export interface IConfigOptions {
2
- configDir?: string;
3
- configEnv?: string;
4
- cwd?: string;
5
- }
6
- export interface IConfigSettings {
7
- defaults?: {
8
- dir?: string;
9
- env?: string;
10
- };
11
- extraDirs?: string[];
12
- }
13
- export default class Config {
14
- private configDir;
15
- private configEnv;
16
- private configCwd;
17
- private extraConfigDirs;
18
- private values;
19
- private normalizedValues;
20
- private customValues;
21
- private envVarConfig;
22
- private secretsToken;
23
- private secretsCache;
24
- constructor(options?: IConfigOptions);
25
- init(options?: IConfigOptions): void;
26
- dir(): string;
27
- env(): string;
28
- cwd(): string;
29
- configEnvDir(configEnv: string): string | null;
30
- getConfiguredEnv(): any;
31
- get<T>(key: string): T;
32
- getWithParts<T>(keyParts: string[]): T;
33
- getWithSecrets<T>(key: string): Promise<T>;
34
- processSecrets<T>(v: T): Promise<T>;
35
- normalizeString(value: string, currentPath: string[]): string;
36
- normalizeArray(arr: any[], currentPath: string[]): any[];
37
- normalizeObject(obj: any, currentPath: string[]): any;
38
- tryGet<T>(key: string): T | null;
39
- getJson(): any;
40
- set<T>(key: string, value: T): void;
41
- setWithParts<T>(keyParts: string[], value: T): void;
42
- save(): Promise<void>;
43
- }
44
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAOD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,YAAY,CAGJ;IAChB,OAAO,CAAC,YAAY,CAA+B;gBAEhC,OAAO,CAAC,EAAE,cAAc;IAIpC,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IA0IpC,GAAG,IAAI,MAAM;IAIb,GAAG,IAAI,MAAM;IAIb,GAAG,IAAI,MAAM;IAIb,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA0B9C,gBAAgB,IAAI,GAAG;IAevB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAKtB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC;IAyBhC,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAW1C,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmEzC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IAgD7D,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;IAkBxD,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG;IA4BrD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAShC,OAAO,IAAI,GAAG;IAMd,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAKnC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAe7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAMnC"}
package/lib/config.js DELETED
@@ -1,354 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const lodash_mergewith_1 = __importDefault(require("lodash.mergewith"));
7
- const path_1 = __importDefault(require("path"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const loader_1 = require("./loader");
10
- const provider_1 = require("./secrets/provider");
11
- const merge_customizer_1 = require("./merge-customizer");
12
- class Config {
13
- configDir = "";
14
- configEnv = "";
15
- configCwd = "";
16
- extraConfigDirs = [];
17
- values;
18
- normalizedValues;
19
- customValues;
20
- envVarConfig;
21
- secretsToken = null;
22
- secretsCache = {};
23
- constructor(options) {
24
- this.init(options);
25
- }
26
- init(options) {
27
- this.values = {};
28
- this.normalizedValues = {};
29
- this.customValues = {};
30
- this.secretsToken = null;
31
- this.secretsCache = {};
32
- let defaultConfigDir = "config";
33
- let defaultConfigEnv = "default";
34
- this.configCwd = options?.cwd || process.cwd();
35
- if (fs_1.default.existsSync(path_1.default.join(this.configCwd, "config-settings.json"))) {
36
- const configSettings = JSON.parse(fs_1.default.readFileSync(path_1.default.join(this.configCwd, "config-settings.json"), "utf-8"));
37
- if (configSettings.defaults) {
38
- if (configSettings.defaults.dir) {
39
- defaultConfigDir = configSettings.defaults.dir;
40
- }
41
- if (configSettings.defaults.env) {
42
- defaultConfigEnv = configSettings.defaults.env;
43
- }
44
- }
45
- if (configSettings.extraDirs && Array.isArray(configSettings.extraDirs)) {
46
- this.extraConfigDirs = configSettings.extraDirs;
47
- }
48
- }
49
- this.configDir =
50
- options?.configDir ||
51
- (process.env["NODE_CONFIG_DIR"] &&
52
- path_1.default.relative(this.configCwd, process.env["NODE_CONFIG_DIR"])) ||
53
- path_1.default.join(this.configCwd, defaultConfigDir);
54
- this.configEnv =
55
- options?.configEnv || process.env["NODE_CONFIG_ENV"] || defaultConfigEnv;
56
- const configEnvDir = this.configEnvDir(this.configEnv);
57
- const configFolderOptions = loader_1.Loader.readConfigSettings(configEnvDir || path_1.default.join(this.configDir, "default"));
58
- const defaultValues = loader_1.Loader.loadRoot(path_1.default.join(this.configDir, "default"), {
59
- ...configFolderOptions,
60
- parentNames: [],
61
- }, this);
62
- let envValues = {
63
- data: {},
64
- loadedNames: [],
65
- };
66
- if (configEnvDir) {
67
- envValues = loader_1.Loader.loadRoot(configEnvDir, {
68
- ...configFolderOptions,
69
- existingObj: defaultValues.data,
70
- }, this);
71
- }
72
- const overrideValues = loader_1.Loader.loadFile(path_1.default.join(this.configDir, "override.json"), {});
73
- (0, lodash_mergewith_1.default)(this.values, defaultValues.data, envValues.data, overrideValues, merge_customizer_1.mergeWithCustomizer);
74
- const applyBases = (obj, currentPath = []) => {
75
- for (const key of Object.keys(obj)) {
76
- if (key === "incantaConfigBase") {
77
- const baseName = obj[key];
78
- const baseValue = obj[baseName];
79
- for (const objKey in obj) {
80
- if (objKey !== key && objKey !== baseName) {
81
- obj[objKey] = (0, lodash_mergewith_1.default)({}, baseValue, obj[objKey]);
82
- }
83
- }
84
- }
85
- else if (typeof obj[key] === "object" && obj[key] !== null) {
86
- applyBases(obj[key], [...currentPath, key]);
87
- }
88
- }
89
- };
90
- applyBases(this.values);
91
- const removeIncantaConfigBase = (obj) => {
92
- for (const key of Object.keys(obj)) {
93
- if (key === "incantaConfigBase") {
94
- delete obj[key];
95
- }
96
- else if (typeof obj[key] === "object" && obj[key] !== null) {
97
- removeIncantaConfigBase(obj[key]);
98
- }
99
- }
100
- };
101
- removeIncantaConfigBase(this.values);
102
- this.values = loader_1.Loader.convertKebabToCamelCase(this.values, configFolderOptions);
103
- this.normalizedValues = this.normalizeObject(this.values, []);
104
- // load the environment variables that are configured to be injected
105
- // using config-env
106
- const dirContents = fs_1.default.readdirSync(this.configDir, { encoding: "utf-8" });
107
- this.envVarConfig = {};
108
- for (const file of dirContents) {
109
- if (file.startsWith("environment.")) {
110
- this.envVarConfig = loader_1.Loader.loadFile(path_1.default.join(this.configDir, file), {});
111
- break;
112
- }
113
- }
114
- }
115
- dir() {
116
- return this.configDir;
117
- }
118
- env() {
119
- return this.configEnv;
120
- }
121
- cwd() {
122
- return this.configCwd;
123
- }
124
- configEnvDir(configEnv) {
125
- if (fs_1.default.existsSync(path_1.default.join(this.configDir, configEnv))) {
126
- return path_1.default.join(this.configDir, configEnv);
127
- }
128
- for (const extraDir of this.extraConfigDirs) {
129
- if (fs_1.default.existsSync(path_1.default.join(extraDir, configEnv))) {
130
- return path_1.default.join(extraDir, configEnv);
131
- }
132
- }
133
- if (process.env["NODE_CONFIG_SKIP_ENV_WARNING"] !== "true") {
134
- console.error(`\nERROR: Cannot find config environment "${configEnv}" in ${this.configDir} or configured extra dirs: [${this.extraConfigDirs.join(", ")}].\nThis error is for a **single environment folder**; ` +
135
- `if you see multiple folders listed in this error, you likely have a typo "parentNames" (i.e. ["parent 1, parent 2"] instead of ["parent 1", "parent 2"]).\n` +
136
- `We're continuing on with the default environment folder, but this is likely an error for you.\n`);
137
- }
138
- return null;
139
- }
140
- getConfiguredEnv() {
141
- const extraEnv = {};
142
- const envKeys = Object.keys(this.envVarConfig);
143
- for (const key of envKeys) {
144
- const configKey = this.envVarConfig[key];
145
- const envValue = this.get(configKey);
146
- extraEnv[key] = `${envValue}`;
147
- }
148
- return extraEnv;
149
- }
150
- get(key) {
151
- const parts = key.split(".");
152
- return this.getWithParts(parts);
153
- }
154
- getWithParts(keyParts) {
155
- if (keyParts.length === 0) {
156
- throw new Error("Cannot use an empty key");
157
- }
158
- let obj = (0, lodash_mergewith_1.default)({}, this.normalizedValues, merge_customizer_1.mergeWithCustomizer);
159
- for (const part of keyParts) {
160
- // convert to camelCase first
161
- const newPart = part.replace(/-([a-zA-Z0-9])/g, function (_, match) {
162
- return match.toUpperCase();
163
- });
164
- if (typeof obj[newPart] === "undefined" && obj[part] === undefined) {
165
- throw new Error(`Could not find value for key ${keyParts.join(".")}`);
166
- }
167
- else if (obj[newPart] === undefined && obj[part] !== undefined) {
168
- obj = obj[part];
169
- }
170
- else {
171
- obj = obj[newPart];
172
- }
173
- }
174
- return obj;
175
- }
176
- async getWithSecrets(key) {
177
- let value = this.get(key);
178
- const provider = this.normalizedValues.secrets?.provider;
179
- if (typeof provider === "string" && provider !== provider_1.SecretsProviderType.None) {
180
- value = await this.processSecrets(value);
181
- }
182
- return value;
183
- }
184
- async processSecrets(v) {
185
- if (typeof this.normalizedValues.secrets?.provider === "undefined" ||
186
- (typeof this.normalizedValues.secrets?.provider === "string" &&
187
- this.normalizedValues.secrets.provider === provider_1.SecretsProviderType.None)) {
188
- return v;
189
- }
190
- if (typeof v === "string" && v.startsWith("secret|")) {
191
- const secretKey = v.slice(7);
192
- const provider = (0, provider_1.GetSecretsProvider)(this.normalizedValues.secrets.provider);
193
- if (this.secretsToken === null ||
194
- this.secretsToken.expires.getTime() < Date.now() + 500) {
195
- this.secretsToken = await provider.getAuthToken(this);
196
- }
197
- if (this.secretsCache[secretKey] === undefined ||
198
- this.secretsCache[secretKey].expires < new Date()) {
199
- const secretValue = await provider.getSecret(this, this.secretsToken.value, secretKey);
200
- this.secretsCache[secretKey] = {
201
- value: secretValue,
202
- expires: new Date(Date.now() +
203
- this.get("secrets.cache-duration-seconds") * 1000),
204
- };
205
- }
206
- if (this.secretsCache[secretKey] === undefined) {
207
- throw new Error(`Secret ${secretKey} not found`);
208
- }
209
- return this.secretsCache[secretKey].value;
210
- }
211
- else if (typeof v === "object" && v !== null) {
212
- if (Array.isArray(v)) {
213
- const newObjs = [];
214
- for (const value of v) {
215
- newObjs.push(await this.processSecrets(value));
216
- }
217
- return newObjs;
218
- }
219
- else {
220
- const newObj = {};
221
- for (const key of Object.keys(v)) {
222
- const value = v[key];
223
- newObj[key] = await this.processSecrets(value);
224
- }
225
- return newObj;
226
- }
227
- }
228
- return v;
229
- }
230
- normalizeString(value, currentPath) {
231
- let result = value;
232
- const variableRegex = /\$\{[a-zA-Z\-_0-9./]+\}/g;
233
- const regexResult = value.matchAll(variableRegex);
234
- for (const match of regexResult) {
235
- const key = match[0].slice(2, match[0].length - 1);
236
- let keyToFetchValue;
237
- if (key.startsWith(".")) {
238
- keyToFetchValue = path_1.default
239
- .normalize(`${currentPath.join("/")}/${key}`)
240
- .replaceAll("\\", "/")
241
- .replaceAll("/", ".");
242
- }
243
- else {
244
- keyToFetchValue = key;
245
- }
246
- let obj = (0, lodash_mergewith_1.default)({}, this.values, merge_customizer_1.mergeWithCustomizer);
247
- const keyParts = keyToFetchValue.split(".");
248
- for (const part of keyParts) {
249
- // convert to camelCase first
250
- const newPart = part.replace(/-([a-zA-Z0-9])/g, function (_, match) {
251
- return match.toUpperCase();
252
- });
253
- if (typeof obj[newPart] === "undefined" && obj[part] === undefined) {
254
- throw new Error(`Could not find value for key ${keyParts.join(".")}`);
255
- }
256
- else if (obj[newPart] === undefined && obj[part] !== undefined) {
257
- obj = obj[part];
258
- }
259
- else {
260
- obj = obj[newPart];
261
- }
262
- }
263
- if (obj !== null) {
264
- if (typeof obj === "string" && obj.match(variableRegex) !== null) {
265
- obj = this.normalizeString(obj, keyParts.slice(0, -1));
266
- }
267
- result = result.replace(match[0], `${obj}`);
268
- }
269
- }
270
- return result;
271
- }
272
- normalizeArray(arr, currentPath) {
273
- return arr.map((value) => {
274
- if (typeof value === "string") {
275
- return this.normalizeString(value, currentPath);
276
- }
277
- else if (typeof value === "object") {
278
- if (value === null) {
279
- return null;
280
- }
281
- else if (Array.isArray(value)) {
282
- return this.normalizeArray(value, currentPath);
283
- }
284
- else {
285
- return this.normalizeObject(value, currentPath);
286
- }
287
- }
288
- return value;
289
- });
290
- }
291
- normalizeObject(obj, currentPath) {
292
- if (typeof obj !== "object" || obj === null) {
293
- return obj;
294
- }
295
- const newObj = (0, lodash_mergewith_1.default)({}, obj, merge_customizer_1.mergeWithCustomizer);
296
- for (const property of Object.keys(newObj)) {
297
- const value = newObj[property];
298
- if (typeof value === "string") {
299
- newObj[property] = this.normalizeString(value, currentPath);
300
- }
301
- else if (typeof value === "object") {
302
- if (value === null) {
303
- newObj[property] = null;
304
- }
305
- else if (Array.isArray(value)) {
306
- newObj[property] = this.normalizeArray(value, currentPath);
307
- }
308
- else {
309
- newObj[property] = this.normalizeObject(value, [
310
- ...currentPath,
311
- property,
312
- ]);
313
- }
314
- }
315
- }
316
- return newObj;
317
- }
318
- tryGet(key) {
319
- try {
320
- const value = this.get(key);
321
- return value;
322
- }
323
- catch {
324
- return null;
325
- }
326
- }
327
- getJson() {
328
- const values = (0, lodash_mergewith_1.default)({}, this.normalizedValues, merge_customizer_1.mergeWithCustomizer);
329
- return values;
330
- }
331
- set(key, value) {
332
- const parts = key.split(".");
333
- this.setWithParts(parts, value);
334
- }
335
- setWithParts(keyParts, value) {
336
- if (keyParts.length === 0) {
337
- throw new Error("Cannot use an empty key");
338
- }
339
- const obj = {};
340
- for (let i = 0; i < keyParts.length - 1; i++) {
341
- obj[keyParts[i]] = {};
342
- }
343
- obj[keyParts[keyParts.length - 1]] = value;
344
- (0, lodash_mergewith_1.default)(this.customValues, obj, merge_customizer_1.mergeWithCustomizer);
345
- }
346
- async save() {
347
- const fileContents = JSON.stringify(this.customValues, null, 2);
348
- await fs_1.default.promises.writeFile(this.configDir, fileContents, {
349
- encoding: "utf-8",
350
- });
351
- }
352
- }
353
- exports.default = Config;
354
- //# sourceMappingURL=config.js.map
package/lib/config.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import Config from "./config";
2
- declare const _default: Config;
3
- export = _default;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;;AAY9B,kBAAqB"}
package/lib/index.js DELETED
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- const config_1 = __importDefault(require("./config"));
6
- let config = undefined;
7
- function GetConfig() {
8
- if (!config) {
9
- config = new config_1.default();
10
- }
11
- return config;
12
- }
13
- module.exports = GetConfig();
14
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,sDAA8B;AAE9B,IAAI,MAAM,GAAuB,SAAS,CAAC;AAE3C,SAAS,SAAS;IAChB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iBAAS,SAAS,EAAE,CAAC"}
package/lib/loader.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import Config from "./config";
2
- export interface IConfigFolderOptions {
3
- variableCasing?: "original" | "camel" | "both";
4
- parentNames?: string[];
5
- loadedNames?: string[];
6
- existingObj?: any;
7
- }
8
- export declare class Loader {
9
- static readConfigSettings(folder: string): IConfigFolderOptions;
10
- static convertKebabToCamelCase(obj: any, options: IConfigFolderOptions): any;
11
- static loadFile(filePath: string, options: IConfigFolderOptions): any;
12
- static loadRoot(folder: string, options: IConfigFolderOptions, config: Config): {
13
- data: any;
14
- loadedNames: string[];
15
- };
16
- static load(folder: string, options: IConfigFolderOptions): any;
17
- }
18
- //# sourceMappingURL=loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAMA,OAAO,MAAM,MAAM,UAAU,CAAC;AAG9B,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED,qBAAa,MAAM;WACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;WA8BxD,uBAAuB,CACnC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,oBAAoB,GAC5B,GAAG;WAsEQ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,GAAG;WAmC9D,QAAQ,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,GACb;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;WAqDzB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,GAAG;CA+FvE"}