@cenk1cenk2/oclif-common 3.1.0-beta.14 → 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 -38
- 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,43 +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
|
-
|
|
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
|
-
clone.key = clone.key.slice(clone.key.findIndex((value) => value === "__element" /* ELEMENT */) + 1);
|
|
711
|
-
extension = cb(extension, clone, data);
|
|
712
|
-
})
|
|
713
|
-
);
|
|
714
|
-
if (Object.keys(extension).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
|
}
|
|
718
|
-
config =
|
|
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;
|
|
719
714
|
}
|
|
720
715
|
}
|
|
721
|
-
}
|
|
722
|
-
);
|
|
716
|
+
}
|
|
717
|
+
});
|
|
723
718
|
return config;
|
|
724
719
|
}
|
|
725
720
|
async write(path, data) {
|
|
@@ -824,7 +819,7 @@ var LockerService = class {
|
|
|
824
819
|
return this.parser.parse(await this.fs.read(this.file));
|
|
825
820
|
}
|
|
826
821
|
async write(data) {
|
|
827
|
-
return this.fs.write(this.file,
|
|
822
|
+
return this.fs.write(this.file, this.parser.stringify(data));
|
|
828
823
|
}
|
|
829
824
|
buildPath(d) {
|
|
830
825
|
if (d?.root !== true && this.root) {
|
package/package.json
CHANGED