better default config location detection
This commit is contained in:
parent
a123569677
commit
f92cbdbf47
@ -294,6 +294,26 @@ function normalizeInlineFilename(parentFile: string, f: string): string {
|
|||||||
return nodejs_path().join(resolvedParentDir, f);
|
return nodejs_path().join(resolvedParentDir, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crude implementation of the which(1) shell command.
|
||||||
|
*
|
||||||
|
* Tries to locate the location of an executable based on the
|
||||||
|
* "PATH" environment variable.
|
||||||
|
*/
|
||||||
|
function which(name: string): string | undefined {
|
||||||
|
const paths = process.env["PATH"]?.split(":");
|
||||||
|
if (!paths) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
for (const path of paths) {
|
||||||
|
const filename = nodejs_path().join(path, name);
|
||||||
|
if (nodejs_fs().existsSync(filename)) {
|
||||||
|
return filename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
export class Configuration {
|
export class Configuration {
|
||||||
private sectionMap: SectionMap = {};
|
private sectionMap: SectionMap = {};
|
||||||
|
|
||||||
@ -613,6 +633,16 @@ export class Configuration {
|
|||||||
|
|
||||||
private loadDefaults(): void {
|
private loadDefaults(): void {
|
||||||
let bc = process.env["TALER_BASE_CONFIG"];
|
let bc = process.env["TALER_BASE_CONFIG"];
|
||||||
|
if (!bc) {
|
||||||
|
/* Try to locate the configuration based on the location
|
||||||
|
* of the taler-config binary. */
|
||||||
|
const path = which("taler-config");
|
||||||
|
if (path) {
|
||||||
|
bc = nodejs_fs().realpathSync(
|
||||||
|
nodejs_path().dirname(path) + "/../share/taler/config.d",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!bc) {
|
if (!bc) {
|
||||||
bc = "/usr/share/taler/config.d";
|
bc = "/usr/share/taler/config.d";
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,6 @@ export async function runLibeufinTutorialTest(t: GlobalTestState) {
|
|||||||
currency: "EUR",
|
currency: "EUR",
|
||||||
facadeName: "my-twg",
|
facadeName: "my-twg",
|
||||||
});
|
});
|
||||||
|
|
||||||
await libeufinCli.listFacades();
|
await libeufinCli.listFacades();
|
||||||
}
|
}
|
||||||
runLibeufinTutorialTest.suites = ["libeufin"];
|
runLibeufinTutorialTest.suites = ["libeufin"];
|
||||||
|
Loading…
Reference in New Issue
Block a user