@abaplint/cli 2.102.60 → 2.102.62
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 +20 -2
- package/package.json +4 -4
package/build/cli.js
CHANGED
|
@@ -1620,6 +1620,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
1620
1620
|
exports.Token = void 0;
|
|
1621
1621
|
const position_1 = __webpack_require__(/*! ../../../position */ "./node_modules/@abaplint/core/build/src/position.js");
|
|
1622
1622
|
class Token {
|
|
1623
|
+
[Symbol.for("debug.description")]() {
|
|
1624
|
+
return `${this.constructor.name} ${this.str}`;
|
|
1625
|
+
}
|
|
1623
1626
|
constructor(start, str) {
|
|
1624
1627
|
this.start = start;
|
|
1625
1628
|
this.str = str;
|
|
@@ -26313,12 +26316,16 @@ exports.SQLCompare = void 0;
|
|
|
26313
26316
|
const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
|
|
26314
26317
|
const nodes_1 = __webpack_require__(/*! ../../nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
|
|
26315
26318
|
const basic_1 = __webpack_require__(/*! ../../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
|
|
26319
|
+
const source_1 = __webpack_require__(/*! ./source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js");
|
|
26316
26320
|
const sql_source_1 = __webpack_require__(/*! ./sql_source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js");
|
|
26317
26321
|
class SQLCompare {
|
|
26318
26322
|
runSyntax(node, scope, filename, tables) {
|
|
26319
26323
|
var _a;
|
|
26320
26324
|
let sourceType;
|
|
26321
26325
|
let token;
|
|
26326
|
+
for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
|
|
26327
|
+
new source_1.Source().runSyntax(s, scope, filename);
|
|
26328
|
+
}
|
|
26322
26329
|
for (const s of node.findAllExpressions(Expressions.SQLSource)) {
|
|
26323
26330
|
for (const child of s.getChildren()) {
|
|
26324
26331
|
if (child instanceof nodes_1.ExpressionNode) {
|
|
@@ -27123,6 +27130,9 @@ class ScopeData {
|
|
|
27123
27130
|
}
|
|
27124
27131
|
}
|
|
27125
27132
|
class SpaghettiScopeNode extends ScopeData {
|
|
27133
|
+
[Symbol.for("debug.description")]() {
|
|
27134
|
+
return `SpaghettiSN ${this.identifier.sname} ${this.identifier.stype}`;
|
|
27135
|
+
}
|
|
27126
27136
|
constructor(identifier, parent) {
|
|
27127
27137
|
super();
|
|
27128
27138
|
this.identifier = identifier;
|
|
@@ -34707,6 +34717,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
34707
34717
|
exports.TypedIdentifier = void 0;
|
|
34708
34718
|
const _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ "./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js");
|
|
34709
34719
|
class TypedIdentifier extends _identifier_1.Identifier {
|
|
34720
|
+
[Symbol.for("debug.description")]() {
|
|
34721
|
+
return `${this.constructor.name} ${this.getName()}:${this.getType().constructor.name}`;
|
|
34722
|
+
}
|
|
34710
34723
|
static from(id, type, meta) {
|
|
34711
34724
|
return new TypedIdentifier(id.getToken(), id.getFilename(), type, meta);
|
|
34712
34725
|
}
|
|
@@ -42583,6 +42596,9 @@ const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node
|
|
|
42583
42596
|
const xml_utils_1 = __webpack_require__(/*! ../xml_utils */ "./node_modules/@abaplint/core/build/src/xml_utils.js");
|
|
42584
42597
|
const abap_parser_1 = __webpack_require__(/*! ../abap/abap_parser */ "./node_modules/@abaplint/core/build/src/abap/abap_parser.js");
|
|
42585
42598
|
class ABAPObject extends _abstract_object_1.AbstractObject {
|
|
42599
|
+
[Symbol.for("debug.description")]() {
|
|
42600
|
+
return `${this.constructor.name} ${this.getName()}`;
|
|
42601
|
+
}
|
|
42586
42602
|
constructor(name) {
|
|
42587
42603
|
super(name);
|
|
42588
42604
|
this.parsed = [];
|
|
@@ -50095,7 +50111,7 @@ class Registry {
|
|
|
50095
50111
|
}
|
|
50096
50112
|
static abaplintVersion() {
|
|
50097
50113
|
// magic, see build script "version.sh"
|
|
50098
|
-
return "2.102.
|
|
50114
|
+
return "2.102.62";
|
|
50099
50115
|
}
|
|
50100
50116
|
getDDICReferences() {
|
|
50101
50117
|
return this.ddicReferences;
|
|
@@ -52659,7 +52675,7 @@ class CheckSubrc extends _abap_rule_1.ABAPRule {
|
|
|
52659
52675
|
|
|
52660
52676
|
If sy-dbcnt is checked after database statements, it is considered okay.
|
|
52661
52677
|
|
|
52662
|
-
"SELECT SINGLE @abap_true FROM " is considered as an existence check
|
|
52678
|
+
"SELECT SINGLE @abap_true FROM " is considered as an existence check, also "SELECT COUNT( * )" is considered okay
|
|
52663
52679
|
|
|
52664
52680
|
If IS ASSIGNED is checked after assigning, it is considered okay.
|
|
52665
52681
|
|
|
@@ -52710,6 +52726,8 @@ FIND statement with MATCH COUNT is considered okay if subrc is not checked`,
|
|
|
52710
52726
|
else if (config.selectTable === true
|
|
52711
52727
|
&& statement.get() instanceof Statements.Select
|
|
52712
52728
|
&& statement.concatTokens().toUpperCase().startsWith("SELECT SINGLE ") === false
|
|
52729
|
+
&& statement.concatTokens().toUpperCase().startsWith("SELECT COUNT( * ) ") === false
|
|
52730
|
+
&& statement.concatTokens().toUpperCase().startsWith("SELECT COUNT(*) ") === false
|
|
52713
52731
|
&& this.isChecked(i, statements) === false
|
|
52714
52732
|
&& this.checksDbcnt(i, statements) === false) {
|
|
52715
52733
|
issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.102.
|
|
3
|
+
"version": "2.102.62",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://abaplint.org",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@abaplint/core": "^2.102.
|
|
41
|
+
"@abaplint/core": "^2.102.62",
|
|
42
42
|
"@types/chai": "^4.3.9",
|
|
43
43
|
"@types/glob": "^7.2.0",
|
|
44
44
|
"@types/minimist": "^1.2.4",
|
|
45
45
|
"@types/mocha": "^10.0.3",
|
|
46
|
-
"@types/node": "^20.8.
|
|
46
|
+
"@types/node": "^20.8.8",
|
|
47
47
|
"@types/progress": "^2.0.6",
|
|
48
48
|
"chai": "^4.3.10",
|
|
49
49
|
"chalk": "^5.3.0",
|
|
50
|
-
"eslint": "^8.
|
|
50
|
+
"eslint": "^8.52.0",
|
|
51
51
|
"glob": "^7.2.3",
|
|
52
52
|
"json5": "^2.2.3",
|
|
53
53
|
"memfs": "^4.6.0",
|