diff --git a/src/utils/configurationVault/getConfiguration.js b/src/utils/configurationVault/getConfiguration.js index 933299260c..f802e3a548 100644 --- a/src/utils/configurationVault/getConfiguration.js +++ b/src/utils/configurationVault/getConfiguration.js @@ -24,6 +24,14 @@ const LOCAL_CONFIGURATION: typeof Conf = new Conf({ } }) +const getFile = (path: string): Buffer | void => { + try { + return JSON.parse(readFileSync(path)) + } catch (error) { + return + } +} + const getConfiguration = (): { get: Function, set: Function } => { const loadConfig = (): { [$Values]: string | boolean @@ -31,14 +39,12 @@ const getConfiguration = (): { get: Function, set: Function } => { const packageJson = `${cwd()}/package.json` const configurationFile = `${cwd()}/.gitmojirc.json` - if (pathExistsSync(packageJson)) { - const config = JSON.parse(readFileSync(packageJson))?.gitmoji - if (config) return config + if (pathExistsSync(packageJson) && getFile(packageJson)?.gitmoji) { + return getFile(packageJson)?.gitmoji } - if (pathExistsSync(configurationFile)) { - const config = JSON.parse(readFileSync(configurationFile)) - if (config) return config + if (pathExistsSync(configurationFile) && getFile(configurationFile)) { + return getFile(configurationFile) } return LOCAL_CONFIGURATION.store