28 lines
969 B
JavaScript
28 lines
969 B
JavaScript
|
import { getConfigData } from "./getConfigData";
|
||
|
import { getConfigFilepath } from "./getConfigFilepath";
|
||
|
import { getCredentialsFilepath } from "./getCredentialsFilepath";
|
||
|
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 parsedFiles = await Promise.all([
|
||
|
slurpFile(configFilepath, {
|
||
|
ignoreCache: init.ignoreCache,
|
||
|
})
|
||
|
.then(parseIni)
|
||
|
.then(getConfigData)
|
||
|
.catch(swallowError),
|
||
|
slurpFile(filepath, {
|
||
|
ignoreCache: init.ignoreCache,
|
||
|
})
|
||
|
.then(parseIni)
|
||
|
.catch(swallowError),
|
||
|
]);
|
||
|
return {
|
||
|
configFile: parsedFiles[0],
|
||
|
credentialsFile: parsedFiles[1],
|
||
|
};
|
||
|
};
|