diff --git a/lib/init-action.js b/lib/init-action.js index 6579713b3..38cb198d2 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -87762,8 +87762,9 @@ function getConfigFileDoesNotExistErrorMessage(configFile) { function getConfigFileParseErrorMessage(configFile, message) { return `Cannot parse "${configFile}": ${message}`; } -function getInvalidConfigFileMessage(configFile, detail) { - return `The configuration file "${configFile}" is invalid: ${detail}`; +function getInvalidConfigFileMessage(configFile, messages) { + const andMore = messages.length > 10 ? `, and ${messages.length - 10} more.` : "."; + return `The configuration file "${configFile}" is invalid: ${messages.slice(0, 10).join(", ")}${andMore}`; } function getConfigFileRepoFormatInvalidMessage(configFile) { let error2 = `The configuration file "${configFile}" is not a supported remote file reference.`; @@ -88071,7 +88072,7 @@ function parseUserConfig(logger, pathInput, contents) { throw new ConfigurationError( getInvalidConfigFileMessage( pathInput, - `There are ${result.errors.length} error(s)` + result.errors.map((e) => e.stack) ) ); } diff --git a/src/config/db-config.test.ts b/src/config/db-config.test.ts index f6f73b311..a56c73134 100644 --- a/src/config/db-config.test.ts +++ b/src/config/db-config.test.ts @@ -457,6 +457,8 @@ test("parseUserConfig - throws a ConfigurationError if validation fails", (t) => ), { instanceOf: ConfigurationError, + message: + 'The configuration file "test" is invalid: instance.queries is not of a type(s) array.', }, ); diff --git a/src/config/db-config.ts b/src/config/db-config.ts index b20c4fbee..9ae423eb3 100644 --- a/src/config/db-config.ts +++ b/src/config/db-config.ts @@ -506,7 +506,7 @@ export function parseUserConfig( throw new ConfigurationError( errorMessages.getInvalidConfigFileMessage( pathInput, - `There are ${result.errors.length} error(s)`, + result.errors.map((e) => e.stack), ), ); } diff --git a/src/error-messages.ts b/src/error-messages.ts index dc5544153..578ec6973 100644 --- a/src/error-messages.ts +++ b/src/error-messages.ts @@ -23,9 +23,11 @@ export function getConfigFileParseErrorMessage( export function getInvalidConfigFileMessage( configFile: string, - detail: string, + messages: string[], ): string { - return `The configuration file "${configFile}" is invalid: ${detail}`; + const andMore = + messages.length > 10 ? `, and ${messages.length - 10} more.` : "."; + return `The configuration file "${configFile}" is invalid: ${messages.slice(0, 10).join(", ")}${andMore}`; } export function getConfigFileRepoFormatInvalidMessage(