@abaplint/cli 2.117.1 → 2.117.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +16 -8
- package/package.json +2 -2
package/build/cli.js
CHANGED
|
@@ -47123,6 +47123,7 @@ function parseDynpros(parsed) {
|
|
|
47123
47123
|
name: f.NAME,
|
|
47124
47124
|
type: f.TYPE,
|
|
47125
47125
|
length: parseNumber(f.LENGTH),
|
|
47126
|
+
vislength: parseNumber(f.VISLENGTH),
|
|
47126
47127
|
line: parseNumber(f.LINE),
|
|
47127
47128
|
column: parseNumber(f.COLUMN),
|
|
47128
47129
|
height: parseNumber(f.HEIGHT),
|
|
@@ -55815,7 +55816,7 @@ class Registry {
|
|
|
55815
55816
|
}
|
|
55816
55817
|
static abaplintVersion() {
|
|
55817
55818
|
// magic, see build script "version.sh"
|
|
55818
|
-
return "2.117.
|
|
55819
|
+
return "2.117.2";
|
|
55819
55820
|
}
|
|
55820
55821
|
getDDICReferences() {
|
|
55821
55822
|
return this.ddicReferences;
|
|
@@ -64156,15 +64157,15 @@ class DynproChecks {
|
|
|
64156
64157
|
const ret = [];
|
|
64157
64158
|
for (let index = 0; index < dynpro.fields.length; index++) {
|
|
64158
64159
|
const current = dynpro.fields[index];
|
|
64159
|
-
if (current.name === undefined) {
|
|
64160
|
+
if (current.name === undefined || current.type === "FRAME") {
|
|
64160
64161
|
continue;
|
|
64161
64162
|
}
|
|
64162
64163
|
for (let compare = index + 1; compare < dynpro.fields.length; compare++) {
|
|
64163
64164
|
const other = dynpro.fields[compare];
|
|
64164
|
-
if (other.name === undefined || this.overlaps(current, other) === false) {
|
|
64165
|
+
if (other.name === undefined || other.type === "FRAME" || this.overlaps(current, other) === false) {
|
|
64165
64166
|
continue;
|
|
64166
64167
|
}
|
|
64167
|
-
const message = `Screen ${dynpro.number},
|
|
64168
|
+
const message = `Screen ${dynpro.number}, ${current.type} ${current.name} and ${other.type} ${other.name} are overlapping`;
|
|
64168
64169
|
ret.push(issue_1.Issue.atPosition(file, new position_1.Position(1, 1), message, this.getMetadata().key, this.getConfig().severity));
|
|
64169
64170
|
}
|
|
64170
64171
|
}
|
|
@@ -64181,8 +64182,8 @@ class DynproChecks {
|
|
|
64181
64182
|
if (firstLastLine < second.line || secondLastLine < first.line) {
|
|
64182
64183
|
return false;
|
|
64183
64184
|
}
|
|
64184
|
-
const firstLastColumn = first.column + Math.max(first.length, 1) - 1;
|
|
64185
|
-
const secondLastColumn = second.column + Math.max(second.length, 1) - 1;
|
|
64185
|
+
const firstLastColumn = first.column + Math.max(first.vislength || first.length, 1) - 1;
|
|
64186
|
+
const secondLastColumn = second.column + Math.max(second.vislength || second.length, 1) - 1;
|
|
64186
64187
|
return first.column <= secondLastColumn && second.column <= firstLastColumn;
|
|
64187
64188
|
}
|
|
64188
64189
|
}
|
|
@@ -70315,7 +70316,8 @@ class MSAGConsistency {
|
|
|
70315
70316
|
key: "msag_consistency",
|
|
70316
70317
|
title: "MSAG consistency check",
|
|
70317
70318
|
shortDescription: `Checks the validity of messages in message classes`,
|
|
70318
|
-
extendedInformation: `Message numbers must be 3 digits, message text must not be empty
|
|
70319
|
+
extendedInformation: `Message numbers must be 3 digits, message text must not be empty,\n` +
|
|
70320
|
+
`message text must not exceed 73 characters, no message number duplicates`,
|
|
70319
70321
|
};
|
|
70320
70322
|
}
|
|
70321
70323
|
getDescription(reason) {
|
|
@@ -70351,6 +70353,12 @@ class MSAGConsistency {
|
|
|
70351
70353
|
const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
|
|
70352
70354
|
issues.push(issue);
|
|
70353
70355
|
}
|
|
70356
|
+
if (message.getMessage().length > 73) {
|
|
70357
|
+
const text = `Message text too long (max 73 characters): message ${message.getNumber()}`;
|
|
70358
|
+
const position = new position_1.Position(1, 1);
|
|
70359
|
+
const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
|
|
70360
|
+
issues.push(issue);
|
|
70361
|
+
}
|
|
70354
70362
|
const num = message.getNumber();
|
|
70355
70363
|
if (numbers.has(num)) {
|
|
70356
70364
|
const text = "Duplicate message number " + num;
|
|
@@ -70364,7 +70372,7 @@ class MSAGConsistency {
|
|
|
70364
70372
|
if (this.getConfig().numericParameters === true) {
|
|
70365
70373
|
const placeholderCount = message.getPlaceholderCount();
|
|
70366
70374
|
if (placeholderCount > 4) {
|
|
70367
|
-
const text = `More than 4 placeholders in
|
|
70375
|
+
const text = `More than 4 placeholders in message ${message.getNumber()}`;
|
|
70368
70376
|
const position = new position_1.Position(1, 1);
|
|
70369
70377
|
const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
|
|
70370
70378
|
issues.push(issue);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.117.
|
|
3
|
+
"version": "2.117.2",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://abaplint.org",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@abaplint/core": "^2.117.
|
|
41
|
+
"@abaplint/core": "^2.117.2",
|
|
42
42
|
"@types/chai": "^4.3.20",
|
|
43
43
|
"@types/minimist": "^1.2.5",
|
|
44
44
|
"@types/mocha": "^10.0.10",
|