diff --git a/lib/file-client/result-templates.ts b/lib/file-client/result-templates.ts index d147eb20..36d41562 100644 --- a/lib/file-client/result-templates.ts +++ b/lib/file-client/result-templates.ts @@ -1,6 +1,8 @@ import { ResultParser } from '@config/types'; import { LintMessage } from '@engine/types'; +const NEW_LINE_REGEX = /\n/g; + // Note that this is part of public API export interface ResultTemplateOptions { repository: string; @@ -30,16 +32,19 @@ ${options.error} // prettier-ignore const RESULT_TEMPLATE_MARKDOWN = (options: ResultTemplateOptions): string => `## Rule: ${options.rule} -- Message: \`${options.message}\` -- Path: \`${options.path}\` -- [Link](${options.link}) + +- Message: \`${options.message.replace(NEW_LINE_REGEX, ' ')}\` +- Path: \`${options.path}\` +- [Link](${options.link}) + \`\`\`${options.extension || ''} ${options.source || ''} \`\`\` -${options.error ? -`\`\`\` +${options.error ? ` +\`\`\` ${options.error} -\`\`\`` : ''}`; +\`\`\` +` : ''}`; // prettier-ignore export const RESULTS_TEMPLATE_CI_BASE = (options: ResultTemplateOptions): string => diff --git a/test/integration/integration.cli.test.ts b/test/integration/integration.cli.test.ts index 8082cc42..ac120f20 100644 --- a/test/integration/integration.cli.test.ts +++ b/test/integration/integration.cli.test.ts @@ -32,15 +32,17 @@ describe('CLI', () => { expect(sanitizeStackTrace(results)).toMatchInlineSnapshot(` "## Rule: unable-to-parse-rule-id - - Message: \`Cannot read property 'someAttribute' of undefined - Occurred while linting :2\` - - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/expected-to-crash-linter.js\` - - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/expected-to-crash-linter.js#L2) + + - Message: \`Cannot read property 'someAttribute' of undefined Occurred while linting :2\` + - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/expected-to-crash-linter.js\` + - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/expected-to-crash-linter.js#L2) + \`\`\`js // Identifier.name = attributeForCrashing window.attributeForCrashing(); \`\`\` + \`\`\` TypeError: Cannot read property 'someAttribute' of undefined Occurred while linting :2 @@ -55,10 +57,13 @@ describe('CLI', () => { at /node_modules/eslint/lib/linter/linter.js:952:32 at Array.forEach () \`\`\` + ## Rule: no-undef - - Message: \`'bar' is not defined.\` - - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` - - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L1-L1) + + - Message: \`'bar' is not defined.\` + - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` + - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L1-L1) + \`\`\`js var foo = bar; @@ -69,9 +74,11 @@ describe('CLI', () => { \`\`\` ## Rule: no-empty - - Message: \`Empty block statement.\` - - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` - - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L3-L4) + + - Message: \`Empty block statement.\` + - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` + - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L3-L4) + \`\`\`js var foo = bar; @@ -85,9 +92,11 @@ describe('CLI', () => { \`\`\` ## Rule: getter-return - - Message: \`Expected to return a value in getter 'name'.\` - - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` - - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L7-L7) + + - Message: \`Expected to return a value in getter 'name'.\` + - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` + - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L7-L7) + \`\`\`js if (foo) { } @@ -102,9 +111,11 @@ describe('CLI', () => { \`\`\` ## Rule: no-compare-neg-zero - - Message: \`Do not use the '===' operator to compare against -0.\` - - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` - - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L14-L14) + + - Message: \`Do not use the '===' operator to compare against -0.\` + - Path: \`AriPerkkio/eslint-remote-tester-integration-test-target/index.js\` + - [Link](https://github.com/AriPerkkio/eslint-remote-tester-integration-test-target/blob/HEAD/index.js#L14-L14) + \`\`\`js }; p.getName();