Backend half
This commit is contained in:
Generated
Vendored
+39
@@ -0,0 +1,39 @@
|
||||
import { join } from "path";
|
||||
import { getConfigData } from "./getConfigData";
|
||||
import { getConfigFilepath } from "./getConfigFilepath";
|
||||
import { getCredentialsFilepath } from "./getCredentialsFilepath";
|
||||
import { getHomeDir } from "./getHomeDir";
|
||||
import { parseIni } from "./parseIni";
|
||||
import { slurpFile } from "./slurpFile";
|
||||
const swallowError = () => ({});
|
||||
export const CONFIG_PREFIX_SEPARATOR = ".";
|
||||
export const loadSharedConfigFiles = async (init = {}) => {
|
||||
const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;
|
||||
const homeDir = getHomeDir();
|
||||
const relativeHomeDirPrefix = "~/";
|
||||
let resolvedFilepath = filepath;
|
||||
if (filepath.startsWith(relativeHomeDirPrefix)) {
|
||||
resolvedFilepath = join(homeDir, filepath.slice(2));
|
||||
}
|
||||
let resolvedConfigFilepath = configFilepath;
|
||||
if (configFilepath.startsWith(relativeHomeDirPrefix)) {
|
||||
resolvedConfigFilepath = join(homeDir, configFilepath.slice(2));
|
||||
}
|
||||
const parsedFiles = await Promise.all([
|
||||
slurpFile(resolvedConfigFilepath, {
|
||||
ignoreCache: init.ignoreCache,
|
||||
})
|
||||
.then(parseIni)
|
||||
.then(getConfigData)
|
||||
.catch(swallowError),
|
||||
slurpFile(resolvedFilepath, {
|
||||
ignoreCache: init.ignoreCache,
|
||||
})
|
||||
.then(parseIni)
|
||||
.catch(swallowError),
|
||||
]);
|
||||
return {
|
||||
configFile: parsedFiles[0],
|
||||
credentialsFile: parsedFiles[1],
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user