@cenk1cenk2/oclif-common 3.1.0-beta.16 → 3.1.0-beta.17
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 +3 -3
- package/dist/index.js +33 -37
- package/package.json +1 -1
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
|
|
157
|
-
stringify<T = any>(data: T): 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
|
|
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
|
|
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,10 +671,10 @@ var ConfigService = class {
|
|
|
671
671
|
return data.flatMap((d) => d).filter(Boolean);
|
|
672
672
|
}, "iter");
|
|
673
673
|
const parsed = await iter(env);
|
|
674
|
-
const cb = /* @__PURE__ */ __name(
|
|
674
|
+
const cb = /* @__PURE__ */ __name((config2, variable, data) => {
|
|
675
675
|
if (variable.parser) {
|
|
676
676
|
try {
|
|
677
|
-
data =
|
|
677
|
+
data = this.parser.parse(variable.parser, data);
|
|
678
678
|
} catch (e) {
|
|
679
679
|
this.logger.trace("Can not parse environment environment variable for config: %s -> %s with %s", variable.key.join("."), variable.env, variable.parser);
|
|
680
680
|
throw e;
|
|
@@ -683,42 +683,38 @@ var ConfigService = class {
|
|
|
683
683
|
this.logger.trace("Overwriting config with environment variable: %s -> %s", variable.key.join("."), variable.env);
|
|
684
684
|
return import_object_path_immutable.default.set(config2, variable.key, data);
|
|
685
685
|
}, "cb");
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
const
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
this.logger.trace("No extension for environment variable: %s -> %s", clone.key.join("."), clone.env);
|
|
708
|
-
return;
|
|
709
|
-
}
|
|
710
|
-
config = await cb(config, clone, data);
|
|
711
|
-
return true;
|
|
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);
|
|
716
|
-
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(async (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;
|
|
717
707
|
}
|
|
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;
|
|
718
714
|
}
|
|
719
715
|
}
|
|
720
|
-
}
|
|
721
|
-
);
|
|
716
|
+
}
|
|
717
|
+
});
|
|
722
718
|
return config;
|
|
723
719
|
}
|
|
724
720
|
async write(path, data) {
|
|
@@ -823,7 +819,7 @@ var LockerService = class {
|
|
|
823
819
|
return this.parser.parse(await this.fs.read(this.file));
|
|
824
820
|
}
|
|
825
821
|
async write(data) {
|
|
826
|
-
return this.fs.write(this.file,
|
|
822
|
+
return this.fs.write(this.file, this.parser.stringify(data));
|
|
827
823
|
}
|
|
828
824
|
buildPath(d) {
|
|
829
825
|
if (d?.root !== true && this.root) {
|
package/package.json
CHANGED