@incanta/config 0.5.8 → 0.5.10

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/config-env.js CHANGED
@@ -5,11 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const child_process_1 = require("child_process");
8
- const lodash_merge_1 = __importDefault(require("lodash.merge"));
8
+ const lodash_mergewith_1 = __importDefault(require("lodash.mergewith"));
9
9
  const index_1 = __importDefault(require("./index"));
10
+ const merge_customizer_1 = require("./merge-customizer");
10
11
  const command = process.argv.slice(2).join(" ");
11
12
  const env = {};
12
- (0, lodash_merge_1.default)(env, process.env, index_1.default.getConfiguredEnv());
13
+ (0, lodash_mergewith_1.default)(env, process.env, index_1.default.getConfiguredEnv(), merge_customizer_1.mergeWithCustomizer);
13
14
  (0, child_process_1.execSync)(command, {
14
15
  env,
15
16
  stdio: "inherit",
@@ -1 +1 @@
1
- {"version":3,"file":"config-env.js","sourceRoot":"","sources":["../src/config-env.ts"],"names":[],"mappings":";;;;;;AAEA,iDAAyC;AACzC,gEAAiC;AACjC,oDAA6B;AAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEhD,MAAM,GAAG,GAAQ,EAAE,CAAC;AAEpB,IAAA,sBAAK,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,eAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEnD,IAAA,wBAAQ,EAAC,OAAO,EAAE;IAChB,GAAG;IACH,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"config-env.js","sourceRoot":"","sources":["../src/config-env.ts"],"names":[],"mappings":";;;;;;AAEA,iDAAyC;AACzC,wEAAyC;AACzC,oDAA6B;AAC7B,yDAAyD;AAEzD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEhD,MAAM,GAAG,GAAQ,EAAE,CAAC;AAEpB,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;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;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,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,CAA2B;IAC/C,OAAO,CAAC,sBAAsB,CAAqB;gBAEhC,OAAO,CAAC,EAAE,cAAc;IAIpC,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IA8FpC,GAAG,IAAI,MAAM;IAIb,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsB9C,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,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B,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;IA8DzC,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"}
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;CACpB;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;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,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,CAA2B;IAC/C,OAAO,CAAC,sBAAsB,CAAqB;gBAEhC,OAAO,CAAC,EAAE,cAAc;IAIpC,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAoGpC,GAAG,IAAI,MAAM;IAIb,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsB9C,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,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B,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;IA8DzC,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 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
- const lodash_merge_1 = __importDefault(require("lodash.merge"));
6
+ const lodash_mergewith_1 = __importDefault(require("lodash.mergewith"));
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const loader_1 = require("./loader");
10
10
  const provider_1 = require("./secrets/provider");
11
+ const merge_customizer_1 = require("./merge-customizer");
11
12
  class Config {
12
13
  configDir = "";
13
14
  extraConfigDirs = [];
@@ -64,7 +65,7 @@ class Config {
64
65
  envValues = loader_1.Loader.loadRoot(configEnvDir, configFolderOptions, this);
65
66
  }
66
67
  const overrideValues = loader_1.Loader.loadFile(path_1.default.join(this.configDir, "override.json"), {});
67
- (0, lodash_merge_1.default)(this.values, defaultValues.data, envValues.data, overrideValues);
68
+ (0, lodash_mergewith_1.default)(this.values, defaultValues.data, envValues.data, overrideValues, merge_customizer_1.mergeWithCustomizer);
68
69
  this.values = loader_1.Loader.convertKebabToCamelCase(this.values, configFolderOptions);
69
70
  this.normalizedValues = this.normalizeObject(this.values, []);
70
71
  // load the environment variables that are configured to be injected
@@ -113,7 +114,7 @@ class Config {
113
114
  if (keyParts.length === 0) {
114
115
  throw new Error("Cannot use an empty key");
115
116
  }
116
- let obj = (0, lodash_merge_1.default)({}, this.normalizedValues);
117
+ let obj = (0, lodash_mergewith_1.default)({}, this.normalizedValues, merge_customizer_1.mergeWithCustomizer);
117
118
  for (const part of keyParts) {
118
119
  // convert to camelCase first
119
120
  const newPart = part.replace(/-([a-zA-Z0-9])/g, function (_, match) {
@@ -207,7 +208,7 @@ class Config {
207
208
  else {
208
209
  keyToFetchValue = key;
209
210
  }
210
- let obj = (0, lodash_merge_1.default)({}, this.values);
211
+ let obj = (0, lodash_mergewith_1.default)({}, this.values, merge_customizer_1.mergeWithCustomizer);
211
212
  const keyParts = keyToFetchValue.split(".");
212
213
  for (const part of keyParts) {
213
214
  // convert to camelCase first
@@ -256,7 +257,7 @@ class Config {
256
257
  if (typeof obj !== "object" || obj === null) {
257
258
  return obj;
258
259
  }
259
- const newObj = (0, lodash_merge_1.default)({}, obj);
260
+ const newObj = (0, lodash_mergewith_1.default)({}, obj, merge_customizer_1.mergeWithCustomizer);
260
261
  for (const property of Object.keys(newObj)) {
261
262
  const value = newObj[property];
262
263
  if (typeof value === "string") {
@@ -289,7 +290,7 @@ class Config {
289
290
  }
290
291
  }
291
292
  getJson() {
292
- const values = (0, lodash_merge_1.default)({}, this.normalizedValues);
293
+ const values = (0, lodash_mergewith_1.default)({}, this.normalizedValues, merge_customizer_1.mergeWithCustomizer);
293
294
  return values;
294
295
  }
295
296
  set(key, value) {
@@ -305,7 +306,7 @@ class Config {
305
306
  obj[keyParts[i]] = {};
306
307
  }
307
308
  obj[keyParts[keyParts.length - 1]] = value;
308
- (0, lodash_merge_1.default)(this.customValues, obj);
309
+ (0, lodash_mergewith_1.default)(this.customValues, obj, merge_customizer_1.mergeWithCustomizer);
309
310
  }
310
311
  async save() {
311
312
  const fileContents = JSON.stringify(this.customValues, null, 2);
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAMA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,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;CACxB;AAED,qBAAa,MAAM;WACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;WA8BxD,uBAAuB,CACnC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,oBAAoB,GAC5B,GAAG;WAkEQ,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;WA8CzB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,GAAG;CAmEvE"}
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;CACxB;AAED,qBAAa,MAAM;WACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;WA8BxD,uBAAuB,CACnC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,oBAAoB,GAC5B,GAAG;WAkEQ,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;WA4CzB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,GAAG;CAoEvE"}
package/lib/loader.js CHANGED
@@ -9,7 +9,8 @@ const path_1 = __importDefault(require("path"));
9
9
  const jsonc_parser_1 = require("jsonc-parser");
10
10
  const json5_1 = __importDefault(require("json5"));
11
11
  const js_yaml_1 = __importDefault(require("js-yaml"));
12
- const lodash_merge_1 = __importDefault(require("lodash.merge"));
12
+ const lodash_mergewith_1 = __importDefault(require("lodash.mergewith"));
13
+ const merge_customizer_1 = require("./merge-customizer");
13
14
  class Loader {
14
15
  static readConfigSettings(folder) {
15
16
  let options = {};
@@ -116,32 +117,31 @@ class Loader {
116
117
  }
117
118
  static loadRoot(folder, options, config) {
118
119
  const baseObj = {};
119
- const loadedNames = options.loadedNames || [];
120
- loadedNames.push(folder);
120
+ let loadedNames = options.loadedNames || [];
121
+ loadedNames.push(path_1.default.basename(folder));
121
122
  if (options.parentNames) {
122
123
  for (const parentName of options.parentNames) {
123
124
  if (parentName === "default") {
124
125
  // skip explicitly stated default parents; they're already loaded
125
126
  continue;
126
127
  }
127
- if (options.loadedNames?.includes(parentName)) {
128
+ if (loadedNames.includes(parentName)) {
128
129
  continue;
129
130
  }
130
131
  const parentFolder = config.configEnvDir(parentName);
131
132
  if (parentFolder) {
132
133
  const parentOptions = Loader.readConfigSettings(parentFolder);
133
- loadedNames.push(parentName);
134
134
  const parentResult = Loader.loadRoot(parentFolder, {
135
135
  ...options,
136
136
  parentNames: parentOptions.parentNames,
137
137
  loadedNames,
138
138
  }, config);
139
- (0, lodash_merge_1.default)(baseObj, parentResult.data);
140
- loadedNames.push(...parentResult.loadedNames);
139
+ (0, lodash_mergewith_1.default)(baseObj, parentResult.data, merge_customizer_1.mergeWithCustomizer);
140
+ loadedNames = parentResult.loadedNames;
141
141
  }
142
142
  }
143
143
  }
144
- (0, lodash_merge_1.default)(baseObj, Loader.load(folder, options));
144
+ (0, lodash_mergewith_1.default)(baseObj, Loader.load(folder, options), merge_customizer_1.mergeWithCustomizer);
145
145
  return {
146
146
  data: baseObj,
147
147
  loadedNames,
@@ -159,7 +159,7 @@ class Loader {
159
159
  // first load the index file
160
160
  for (const content of contents) {
161
161
  if (!content.isDirectory() && /^_?index\./.exec(content.name) !== null) {
162
- (0, lodash_merge_1.default)(baseObj, Loader.loadFile(path_1.default.join(folder, content.name), options));
162
+ (0, lodash_mergewith_1.default)(baseObj, Loader.loadFile(path_1.default.join(folder, content.name), options), merge_customizer_1.mergeWithCustomizer);
163
163
  }
164
164
  }
165
165
  // then load other files
@@ -174,7 +174,7 @@ class Loader {
174
174
  baseObj[key] = {};
175
175
  }
176
176
  const obj = Loader.load(path_1.default.join(folder, content.name), options);
177
- (0, lodash_merge_1.default)(baseObj[key], obj);
177
+ (0, lodash_mergewith_1.default)(baseObj[key], obj, merge_customizer_1.mergeWithCustomizer);
178
178
  }
179
179
  else {
180
180
  if (/^_?index\./.exec(content.name) !== null) {
@@ -188,7 +188,7 @@ class Loader {
188
188
  baseObj[key] = {};
189
189
  }
190
190
  const obj = Loader.loadFile(path_1.default.join(folder, content.name), options);
191
- (0, lodash_merge_1.default)(baseObj[key], obj);
191
+ (0, lodash_mergewith_1.default)(baseObj[key], obj, merge_customizer_1.mergeWithCustomizer);
192
192
  }
193
193
  else {
194
194
  console.log(`Invalid file name ${content.name}. Config files must have a supported extension and contain no extra periods in the file name`);
package/lib/loader.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function mergeWithCustomizer(objValue: any, srcValue: any): any;
2
+ //# sourceMappingURL=merge-customizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-customizer.d.ts","sourceRoot":"","sources":["../src/merge-customizer.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAKrE"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeWithCustomizer = void 0;
4
+ function mergeWithCustomizer(objValue, srcValue) {
5
+ if (Array.isArray(objValue) || Array.isArray(srcValue)) {
6
+ // we want arrays to be replaced, not merged
7
+ return srcValue;
8
+ }
9
+ }
10
+ exports.mergeWithCustomizer = mergeWithCustomizer;
11
+ //# sourceMappingURL=merge-customizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-customizer.js","sourceRoot":"","sources":["../src/merge-customizer.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB,CAAC,QAAa,EAAE,QAAa;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtD,4CAA4C;QAC5C,OAAO,QAAQ,CAAC;KACjB;AACH,CAAC;AALD,kDAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incanta/config",
3
- "version": "0.5.8",
3
+ "version": "0.5.10",
4
4
  "main": "lib/index.js",
5
5
  "exports": {
6
6
  ".": "./lib/index.js",
@@ -22,12 +22,12 @@
22
22
  "js-yaml": "^4.1.0",
23
23
  "json5": "^2.2.3",
24
24
  "jsonc-parser": "^3.2.0",
25
- "lodash.merge": "^4.6.2"
25
+ "lodash.mergewith": "^4.6.2"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@jest/globals": "^29.5.0",
29
29
  "@types/js-yaml": "^4.0.5",
30
- "@types/lodash.merge": "^4.6.7",
30
+ "@types/lodash.mergewith": "^4.6.9",
31
31
  "@types/node": "^18.11.18",
32
32
  "@typescript-eslint/eslint-plugin": "^5.48.0",
33
33
  "@typescript-eslint/parser": "^5.48.0",
package/src/config-env.ts CHANGED
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { execSync } from "child_process";
4
- import merge from "lodash.merge";
4
+ import mergeWith from "lodash.mergewith";
5
5
  import config from "./index";
6
+ import { mergeWithCustomizer } from "./merge-customizer";
6
7
 
7
8
  const command = process.argv.slice(2).join(" ");
8
9
 
9
10
  const env: any = {};
10
11
 
11
- merge(env, process.env, config.getConfiguredEnv());
12
+ mergeWith(env, process.env, config.getConfiguredEnv(), mergeWithCustomizer);
12
13
 
13
14
  execSync(command, {
14
15
  env,
package/src/config.ts CHANGED
@@ -1,8 +1,9 @@
1
- import merge from "lodash.merge";
1
+ import mergeWith from "lodash.mergewith";
2
2
  import path from "path";
3
3
  import fs from "fs";
4
4
  import { Loader } from "./loader";
5
5
  import { GetSecretsProvider, SecretsProviderType } from "./secrets/provider";
6
+ import { mergeWithCustomizer } from "./merge-customizer";
6
7
 
7
8
  export interface IConfigOptions {
8
9
  configDir?: string;
@@ -108,7 +109,13 @@ export default class Config {
108
109
  {}
109
110
  );
110
111
 
111
- merge(this.values, defaultValues.data, envValues.data, overrideValues);
112
+ mergeWith(
113
+ this.values,
114
+ defaultValues.data,
115
+ envValues.data,
116
+ overrideValues,
117
+ mergeWithCustomizer
118
+ );
112
119
 
113
120
  this.values = Loader.convertKebabToCamelCase(
114
121
  this.values,
@@ -183,7 +190,7 @@ export default class Config {
183
190
  throw new Error("Cannot use an empty key");
184
191
  }
185
192
 
186
- let obj = merge({}, this.normalizedValues);
193
+ let obj = mergeWith({}, this.normalizedValues, mergeWithCustomizer);
187
194
 
188
195
  for (const part of keyParts) {
189
196
  // convert to camelCase first
@@ -313,7 +320,7 @@ export default class Config {
313
320
  keyToFetchValue = key;
314
321
  }
315
322
 
316
- let obj = merge({}, this.values);
323
+ let obj = mergeWith({}, this.values, mergeWithCustomizer);
317
324
 
318
325
  const keyParts = keyToFetchValue.split(".");
319
326
  for (const part of keyParts) {
@@ -366,7 +373,7 @@ export default class Config {
366
373
  return obj;
367
374
  }
368
375
 
369
- const newObj = merge({}, obj);
376
+ const newObj = mergeWith({}, obj, mergeWithCustomizer);
370
377
 
371
378
  for (const property of Object.keys(newObj)) {
372
379
  const value = newObj[property];
@@ -399,7 +406,7 @@ export default class Config {
399
406
  }
400
407
 
401
408
  public getJson(): any {
402
- const values = merge({}, this.normalizedValues);
409
+ const values = mergeWith({}, this.normalizedValues, mergeWithCustomizer);
403
410
 
404
411
  return values;
405
412
  }
@@ -421,7 +428,7 @@ export default class Config {
421
428
 
422
429
  obj[keyParts[keyParts.length - 1]] = value;
423
430
 
424
- merge(this.customValues, obj);
431
+ mergeWith(this.customValues, obj, mergeWithCustomizer);
425
432
  }
426
433
 
427
434
  public async save(): Promise<void> {
package/src/loader.ts CHANGED
@@ -3,8 +3,9 @@ import path from "path";
3
3
  import { parse as parseJsonc } from "jsonc-parser";
4
4
  import JSON5 from "json5";
5
5
  import YAML from "js-yaml";
6
- import merge from "lodash.merge";
6
+ import mergeWith from "lodash.mergewith";
7
7
  import Config from "./config";
8
+ import { mergeWithCustomizer } from "./merge-customizer";
8
9
 
9
10
  export interface IConfigFolderOptions {
10
11
  variableCasing?: "original" | "camel" | "both";
@@ -153,8 +154,8 @@ export class Loader {
153
154
  config: Config
154
155
  ): { data: any; loadedNames: string[] } {
155
156
  const baseObj: any = {};
156
- const loadedNames = options.loadedNames || [];
157
- loadedNames.push(folder);
157
+ let loadedNames = options.loadedNames || [];
158
+ loadedNames.push(path.basename(folder));
158
159
 
159
160
  if (options.parentNames) {
160
161
  for (const parentName of options.parentNames) {
@@ -162,7 +163,7 @@ export class Loader {
162
163
  // skip explicitly stated default parents; they're already loaded
163
164
  continue;
164
165
  }
165
- if (options.loadedNames?.includes(parentName)) {
166
+ if (loadedNames.includes(parentName)) {
166
167
  continue;
167
168
  }
168
169
 
@@ -171,8 +172,6 @@ export class Loader {
171
172
  if (parentFolder) {
172
173
  const parentOptions = Loader.readConfigSettings(parentFolder);
173
174
 
174
- loadedNames.push(parentName);
175
-
176
175
  const parentResult = Loader.loadRoot(
177
176
  parentFolder,
178
177
  {
@@ -183,13 +182,13 @@ export class Loader {
183
182
  config
184
183
  );
185
184
 
186
- merge(baseObj, parentResult.data);
187
- loadedNames.push(...parentResult.loadedNames);
185
+ mergeWith(baseObj, parentResult.data, mergeWithCustomizer);
186
+ loadedNames = parentResult.loadedNames;
188
187
  }
189
188
  }
190
189
  }
191
190
 
192
- merge(baseObj, Loader.load(folder, options));
191
+ mergeWith(baseObj, Loader.load(folder, options), mergeWithCustomizer);
193
192
 
194
193
  return {
195
194
  data: baseObj,
@@ -212,9 +211,10 @@ export class Loader {
212
211
  // first load the index file
213
212
  for (const content of contents) {
214
213
  if (!content.isDirectory() && /^_?index\./.exec(content.name) !== null) {
215
- merge(
214
+ mergeWith(
216
215
  baseObj,
217
- Loader.loadFile(path.join(folder, content.name), options)
216
+ Loader.loadFile(path.join(folder, content.name), options),
217
+ mergeWithCustomizer
218
218
  );
219
219
  }
220
220
  }
@@ -235,7 +235,7 @@ export class Loader {
235
235
 
236
236
  const obj = Loader.load(path.join(folder, content.name), options);
237
237
 
238
- merge(baseObj[key], obj);
238
+ mergeWith(baseObj[key], obj, mergeWithCustomizer);
239
239
  } else {
240
240
  if (/^_?index\./.exec(content.name) !== null) {
241
241
  // we already loaded this to be be in the base config
@@ -252,7 +252,7 @@ export class Loader {
252
252
 
253
253
  const obj = Loader.loadFile(path.join(folder, content.name), options);
254
254
 
255
- merge(baseObj[key], obj);
255
+ mergeWith(baseObj[key], obj, mergeWithCustomizer);
256
256
  } else {
257
257
  console.log(
258
258
  `Invalid file name ${content.name}. Config files must have a supported extension and contain no extra periods in the file name`
@@ -0,0 +1,6 @@
1
+ export function mergeWithCustomizer(objValue: any, srcValue: any): any {
2
+ if (Array.isArray(objValue) || Array.isArray(srcValue)) {
3
+ // we want arrays to be replaced, not merged
4
+ return srcValue;
5
+ }
6
+ }