@cenk1cenk2/oclif-common 3.1.0-beta.9 → 3.1.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/dist/index.d.ts CHANGED
@@ -153,8 +153,8 @@ interface UnlockData extends CommonLockerData {
153
153
 
154
154
  declare class GenericParser {
155
155
  static extensions: string[];
156
- parse<T = unknown>(data: string | Buffer): T | Promise<T>;
157
- stringify<T = any>(data: T): string | Promise<string>;
156
+ parse<T = unknown>(data: string | Buffer): T;
157
+ stringify<T = any>(data: T): string;
158
158
  }
159
159
 
160
160
  declare class LockerService<LockFile extends LockableData = LockableData> {
@@ -191,7 +191,7 @@ declare class ParserService {
191
191
  addParsers(...parsers: ClassType<GenericParser>[]): void;
192
192
  read<T = unknown>(file: string): Promise<T>;
193
193
  write<T = LockableData>(file: string, data: T): Promise<void>;
194
- parse<T = unknown>(file: string, data: string | Buffer): T | Promise<T>;
194
+ parse<T = unknown>(file: string, data: string | Buffer): T;
195
195
  stringify<T = any>(file: string, data: T): string | Promise<string>;
196
196
  }
197
197
 
@@ -213,7 +213,7 @@ declare class ConfigService implements GlobalConfig {
213
213
  read<T extends LockableData = LockableData>(path: string): Promise<T>;
214
214
  extend<T extends LockableData = LockableData>(paths: (string | Partial<T>)[], strategy?: MergeStrategy): Promise<T>;
215
215
  merge<T extends LockableData = LockableData>(configs: Partial<T>[], strategy?: MergeStrategy): T;
216
- env<T extends LockableData = LockableData>(definition: string | T, config: T): Promise<T>;
216
+ env<T extends LockableData = LockableData>(definition: string | Record<PropertyKey, any>, config: T): Promise<T>;
217
217
  write<T extends LockableData = LockableData>(path: string, data: T): Promise<void>;
218
218
  private recalculate;
219
219
  }
package/dist/index.js CHANGED
@@ -649,8 +649,8 @@ var ConfigService = class {
649
649
  } else if (typeof value === "object") {
650
650
  let extensions;
651
651
  if ("__element" /* ELEMENT */ in value) {
652
- this.logger.trace("Expanding location to elements: %s", location);
653
652
  extensions = await iter(value["__element" /* ELEMENT */], [...location, "__element" /* ELEMENT */]);
653
+ this.logger.trace("Expanding location to elements: %s -> %s", location, extensions.map((extension) => extension.key.join(".")).join(", "));
654
654
  }
655
655
  if ("__name" /* NAME */ in value && "__format" /* PARSER */ in value) {
656
656
  const variable = [
@@ -671,56 +671,50 @@ var ConfigService = class {
671
671
  return data.flatMap((d) => d).filter(Boolean);
672
672
  }, "iter");
673
673
  const parsed = await iter(env);
674
- this.logger.trace("Environment variable injection: %o", parsed);
675
- const cb = /* @__PURE__ */ __name(async (config2, variable, data) => {
674
+ const cb = /* @__PURE__ */ __name((config2, variable, data) => {
676
675
  if (variable.parser) {
677
676
  try {
678
- variable = await this.parser.parse(variable.parser, data);
677
+ data = this.parser.parse(variable.parser, data);
679
678
  } catch (e) {
680
- this.logger.trace("Can not parse environment environment variable for config: %s -> %s with %s", variable.key?.join("."), variable.env, variable.parser);
679
+ this.logger.trace("Can not parse environment environment variable for config: %s -> %s with %s", variable.key.join("."), variable.env, variable.parser);
681
680
  throw e;
682
681
  }
683
682
  }
684
- this.logger.trace("Overwriting config with environment variable: %s -> %s", variable.key?.join("."), variable.env);
685
- return import_object_path_immutable.default.set(config2, variable.key, variable);
683
+ this.logger.trace("Overwriting config with environment variable: %s -> %s", variable.key.join("."), variable.env);
684
+ return import_object_path_immutable.default.set(config2, variable.key, data);
686
685
  }, "cb");
687
- await Promise.all(
688
- parsed.map(async (variable) => {
689
- let data;
690
- data = process.env[variable.env];
691
- if (data) {
692
- config = await cb(config, variable, data);
693
- }
694
- if (variable.extensions && variable.extensions.length > 0) {
695
- const timeout = 6e4;
696
- const startedAt = Date.now();
697
- for (let i = 0; i < Infinity; i++) {
698
- if (Date.now() - startedAt > timeout) {
699
- throw new Error(`Timed-out in ${timeout}ms while looking for element environment variables.`);
700
- }
701
- const extensions = (await Promise.all(
702
- variable.extensions.map(async (extension) => {
703
- const clone = JSON.parse(JSON.stringify(extension));
704
- clone.env = clone.env.replace("${i}" /* ELEMENT_REPLACER */, i.toString());
705
- clone.key[clone.key.findIndex((value) => value === "__element" /* ELEMENT */)] = i;
706
- data = process.env[clone.env];
707
- this.logger.trace("Extension: %o -> %s", clone, data);
708
- if (!data) {
709
- this.logger.trace("No extension for environment variable: %s -> %s", clone.key.join("."), clone.env);
710
- return;
711
- }
712
- return cb({}, clone, data);
713
- })
714
- )).filter(Boolean);
715
- if (extensions.length === 0) {
716
- this.logger.trace("No more extensions for environment variables: %s -> %d", variable.key.join("."), i);
717
- break;
686
+ parsed.forEach((variable) => {
687
+ let data;
688
+ data = process.env[variable.env];
689
+ if (data) {
690
+ config = cb(config, variable, data);
691
+ }
692
+ if (variable.extensions && variable.extensions.length > 0) {
693
+ const timeout = 6e4;
694
+ const startedAt = Date.now();
695
+ for (let i = 0; i < Infinity; i++) {
696
+ if (Date.now() - startedAt > timeout) {
697
+ throw new Error(`Timed-out in ${timeout}ms while looking for element environment variables.`);
698
+ }
699
+ const extensions = variable.extensions.map((extension) => {
700
+ const clone = JSON.parse(JSON.stringify(extension));
701
+ clone.env = clone.env.replace("${i}" /* ELEMENT_REPLACER */, i.toString());
702
+ clone.key[clone.key.findIndex((value) => value === "__element" /* ELEMENT */)] = i.toString();
703
+ data = process.env[clone.env];
704
+ if (!data) {
705
+ this.logger.trace("No extension for environment variable: %s -> %s", clone.key.join("."), clone.env);
706
+ return;
718
707
  }
719
- config = this.merge([config, ...extensions]);
708
+ config = cb(config, clone, data);
709
+ return true;
710
+ }).filter(Boolean);
711
+ if (extensions.length === 0) {
712
+ this.logger.trace("No more extensions for environment variables: %s -> %d", variable.key.join("."), i);
713
+ break;
720
714
  }
721
715
  }
722
- })
723
- );
716
+ }
717
+ });
724
718
  return config;
725
719
  }
726
720
  async write(path, data) {
@@ -825,7 +819,7 @@ var LockerService = class {
825
819
  return this.parser.parse(await this.fs.read(this.file));
826
820
  }
827
821
  async write(data) {
828
- return this.fs.write(this.file, await this.parser.stringify(data));
822
+ return this.fs.write(this.file, this.parser.stringify(data));
829
823
  }
830
824
  buildPath(d) {
831
825
  if (d?.root !== true && this.root) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cenk1cenk2/oclif-common",
3
- "version": "3.1.0-beta.9",
3
+ "version": "3.1.0",
4
4
  "description": "Oclif common package for oclif2 projects.",
5
5
  "repository": "https://gitlab.kilic.dev/libraries/oclif-tools",
6
6
  "author": {