UNPKG

lambda-live-debugger

Version:

Debug Lambda functions locally like it is running in the cloud

40 lines (39 loc) 1.48 kB
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 { readFile } from "./readFile"; const swallowError = () => ({}); export { CONFIG_PREFIX_SEPARATOR } from "./constants"; 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([ readFile(resolvedConfigFilepath, { ignoreCache: init.ignoreCache, }) .then(parseIni) .then(getConfigData) .catch(swallowError), readFile(resolvedFilepath, { ignoreCache: init.ignoreCache, }) .then(parseIni) .catch(swallowError), ]); return { configFile: parsedFiles[0], credentialsFile: parsedFiles[1], }; };