Skip to content

Commit 3180e85

Browse files
d3xter666GitHub Enterprise
authored andcommitted
[FIX] Resolve messageDetails links as soon as there are messageDetails (#73)
MessageDetails' links used to be resolved just before displaying them. This might cause an issue if the raw messageDetails are used: `format=json`, for example Now all messageDetails' links are resolved as soon as they are added to the data structre
1 parent ab0c483 commit 3180e85

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

packages/ui5-linter/src/detectors/Reporter.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
} from "@jridgewell/trace-mapping";
99

1010
import {LintMessageSeverity} from "./AbstractDetector.js";
11+
import {resolveLinks} from "../formatter/lib/resolveLinks.js";
1112

1213
import type {LintResult, LintMessage, CoverageInfo} from "./AbstractDetector.js";
1314
import type {
@@ -60,7 +61,7 @@ export default class Reporter implements BaseReporter {
6061
};
6162

6263
if (messageDetails) {
63-
msg["messageDetails"] = messageDetails;
64+
msg["messageDetails"] = resolveLinks(messageDetails);
6465
}
6566

6667
this.#messages.push(msg);
@@ -79,7 +80,7 @@ export default class Reporter implements BaseReporter {
7980
};
8081

8182
if (messageDetails) {
82-
coverageInfo["messageDetails"] = messageDetails;
83+
coverageInfo["messageDetails"] = resolveLinks(messageDetails);
8384
}
8485

8586
this.#coverageInfo.push(coverageInfo);

packages/ui5-linter/src/formatter/text.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import chalk from "chalk";
22
import {LintMessageSeverity, LintResult, LintMessage} from "../detectors/AbstractDetector.js";
3-
import {resolveLinks} from "./lib/resolveLinks.js";
43

54
function formatSeverity(severity: LintMessageSeverity) {
65
if (severity === LintMessageSeverity.Error) {
@@ -78,7 +77,7 @@ export class Text {
7877
messages.forEach((msg) => {
7978
const messageDetails = (showDetails && msg.messageDetails) ?
8079
(`\n ${chalk.white.bold("Details:")}\n ` +
81-
`${chalk.italic(resolveLinks(msg.messageDetails).replaceAll("\n", "\n "))}`) :
80+
`${chalk.italic(msg.messageDetails.replaceAll("\n", "\n "))}`) :
8281
"";
8382

8483
this.#writeln(
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import anyTest, { TestFn } from "ava";
2+
import { resolveLinks } from "../../../../src/formatter/lib/resolveLinks.js";
3+
4+
const test = anyTest as TestFn;
5+
6+
test("Test links", (t) => {
7+
const input = [
8+
"(since 1.120) - Please use {@link sap.ui.core.message.MessageType } instead.",
9+
"(since 1.119) - Please use {@link sap.ui.core.Lib.getResourceBundleFor Lib.getResourceBundleFor }instead.",
10+
"(since 1.118) - See {@link module :sap/ui/core/Theming.attachApplied Theming.attachApplied }instead.",
11+
"(since 1.56) - Use {@link module :sap/ui/VersionInfo.load} instead",
12+
];
13+
const expected = [
14+
"(since 1.120) - Please use sap.ui.core.message.MessageType (https://ui5.sap.com/1.120/#/api/sap.ui.core.message.MessageType) instead.",
15+
"(since 1.119) - Please use Lib.getResourceBundleFor (https://ui5.sap.com/1.120/#/api/sap.ui.core.Lib)instead.",
16+
"(since 1.118) - See Theming.attachApplied (https://ui5.sap.com/1.120/#/api/module:sap/ui/core/Theming%23methods/sap/ui/core/Theming.attachApplied)instead.",
17+
"(since 1.56) - Use sap/ui/VersionInfo.load (https://ui5.sap.com/1.120/#/api/module:sap/ui/VersionInfo%23methods/sap/ui/VersionInfo.load) instead"
18+
];
19+
20+
input.forEach((text, index) => {
21+
t.is(resolveLinks(text), expected[index], "Correct resolution of links");
22+
});
23+
});

0 commit comments

Comments
 (0)