@cenk1cenk2/oclif-common 3.1.0-beta.7 → 3.1.0-beta.8
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 +1 -0
- package/dist/index.js +29 -25
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -647,19 +647,19 @@ var ConfigService = class {
|
|
|
647
647
|
if (typeof value === "string") {
|
|
648
648
|
return [{ key: location, env: value }];
|
|
649
649
|
} else if (typeof value === "object") {
|
|
650
|
-
|
|
650
|
+
let extensions;
|
|
651
651
|
if ("__element" /* ELEMENT */ in value) {
|
|
652
652
|
this.logger.trace("Expanding location to elements: %s", location);
|
|
653
|
-
|
|
653
|
+
extensions = await iter(value["__element" /* ELEMENT */], [...location, "__element" /* ELEMENT */]);
|
|
654
654
|
}
|
|
655
655
|
if ("__name" /* NAME */ in value && "__format" /* PARSER */ in value) {
|
|
656
656
|
const variable = [
|
|
657
657
|
{
|
|
658
658
|
key: location,
|
|
659
659
|
env: value["__name" /* NAME */],
|
|
660
|
-
parser: value["__format" /* PARSER */]
|
|
661
|
-
|
|
662
|
-
|
|
660
|
+
parser: value["__format" /* PARSER */],
|
|
661
|
+
extensions
|
|
662
|
+
}
|
|
663
663
|
];
|
|
664
664
|
return variable;
|
|
665
665
|
} else {
|
|
@@ -672,7 +672,7 @@ var ConfigService = class {
|
|
|
672
672
|
}, "iter");
|
|
673
673
|
const parsed = await iter(env);
|
|
674
674
|
this.logger.trace("Environment variable injection: %o", parsed);
|
|
675
|
-
const cb = /* @__PURE__ */ __name(async (variable, data) => {
|
|
675
|
+
const cb = /* @__PURE__ */ __name(async (config2, variable, data) => {
|
|
676
676
|
if (variable.parser) {
|
|
677
677
|
try {
|
|
678
678
|
variable = await this.parser.parse(variable.parser, data);
|
|
@@ -681,39 +681,43 @@ var ConfigService = class {
|
|
|
681
681
|
throw e;
|
|
682
682
|
}
|
|
683
683
|
}
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
return variable;
|
|
687
|
-
});
|
|
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);
|
|
688
686
|
}, "cb");
|
|
689
687
|
await Promise.all(
|
|
690
688
|
parsed.map(async (variable) => {
|
|
691
689
|
let data;
|
|
692
|
-
|
|
690
|
+
data = process.env[variable.env];
|
|
691
|
+
if (data) {
|
|
692
|
+
config = await cb(config, variable, data);
|
|
693
|
+
}
|
|
694
|
+
if (variable.extensions) {
|
|
693
695
|
const timeout = 6e4;
|
|
694
696
|
const startedAt = Date.now();
|
|
695
697
|
for (let i = 0; i < Infinity; i++) {
|
|
696
698
|
if (Date.now() - startedAt > timeout) {
|
|
697
699
|
throw new Error(`Timed-out in ${timeout}ms while looking for element environment variables.`);
|
|
698
700
|
}
|
|
699
|
-
const
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
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
|
+
data = process.env[clone.env];
|
|
706
|
+
if (!data) {
|
|
707
|
+
this.logger.trace("No extension for environment variable: %s -> %d", clone.env, i);
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
710
|
+
clone.key[clone.key.findIndex((value) => value === "__element" /* ELEMENT */)] = i;
|
|
711
|
+
return cb({}, clone, data);
|
|
712
|
+
})
|
|
713
|
+
)).filter(Boolean);
|
|
714
|
+
if (extensions.length === 0) {
|
|
715
|
+
this.logger.trace("No more extensions for environment variables: %s -> %d", variable.key.join("."), i);
|
|
705
716
|
break;
|
|
706
717
|
}
|
|
707
|
-
|
|
708
|
-
config = await cb(clone, data);
|
|
718
|
+
config = this.merge([config, ...extensions]);
|
|
709
719
|
}
|
|
710
|
-
return;
|
|
711
|
-
}
|
|
712
|
-
data = process.env[variable.env];
|
|
713
|
-
if (!data) {
|
|
714
|
-
return;
|
|
715
720
|
}
|
|
716
|
-
config = await cb(variable, data);
|
|
717
721
|
})
|
|
718
722
|
);
|
|
719
723
|
return config;
|
package/package.json
CHANGED