@abaplint/cli 2.112.6 → 2.112.8
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 +77 -33
- package/package.json +6 -6
package/build/cli.js
CHANGED
|
@@ -22098,9 +22098,9 @@ class ObjectOriented {
|
|
|
22098
22098
|
return ignore;
|
|
22099
22099
|
}
|
|
22100
22100
|
// returns list of interfaces implemented
|
|
22101
|
-
fromInterfaces(
|
|
22101
|
+
fromInterfaces(definition, skip) {
|
|
22102
22102
|
const ignore = [];
|
|
22103
|
-
for (const i of
|
|
22103
|
+
for (const i of definition.getImplementing()) {
|
|
22104
22104
|
ignore.push(...this.fromInterfaceByName(i.name, ignore.concat(skip || [])));
|
|
22105
22105
|
}
|
|
22106
22106
|
return ignore;
|
|
@@ -23734,7 +23734,7 @@ class BasicTypes {
|
|
|
23734
23734
|
const attr = token.getStr();
|
|
23735
23735
|
const c = new _object_oriented_1.ObjectOriented(this.input.scope).searchConstantName(obj, attr);
|
|
23736
23736
|
if (c instanceof class_constant_1.ClassConstant) {
|
|
23737
|
-
this.input.scope.addReference(firstToken, obj, _reference_1.ReferenceType.ObjectOrientedReference, this.input.filename);
|
|
23737
|
+
this.input.scope.addReference(firstToken, obj, _reference_1.ReferenceType.ObjectOrientedReference, this.input.filename, { ooName: obj.getName() });
|
|
23738
23738
|
this.input.scope.addReference(token, c, _reference_1.ReferenceType.DataReadReference, this.input.filename);
|
|
23739
23739
|
const val = c.getValue();
|
|
23740
23740
|
if (typeof val === "string") {
|
|
@@ -38730,6 +38730,7 @@ const _scope_type_1 = __webpack_require__(/*! ../5_syntax/_scope_type */ "./node
|
|
|
38730
38730
|
const event_definition_1 = __webpack_require__(/*! ./event_definition */ "./node_modules/@abaplint/core/build/src/abap/types/event_definition.js");
|
|
38731
38731
|
const method_definitions_1 = __webpack_require__(/*! ./method_definitions */ "./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js");
|
|
38732
38732
|
const _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
|
|
38733
|
+
const _object_oriented_1 = __webpack_require__(/*! ../5_syntax/_object_oriented */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js");
|
|
38733
38734
|
class InterfaceDefinition extends _identifier_1.Identifier {
|
|
38734
38735
|
constructor(node, input) {
|
|
38735
38736
|
if (!(node.get() instanceof Structures.Interface)) {
|
|
@@ -38795,32 +38796,12 @@ class InterfaceDefinition extends _identifier_1.Identifier {
|
|
|
38795
38796
|
}
|
|
38796
38797
|
parse(input, node) {
|
|
38797
38798
|
this.checkInterfacesExists(input, node);
|
|
38799
|
+
const helper = new _object_oriented_1.ObjectOriented(input.scope);
|
|
38800
|
+
helper.fromInterfaces(this);
|
|
38798
38801
|
// todo, proper sequencing, the statements should be processed line by line
|
|
38799
38802
|
this.attributes = new class_attributes_1.Attributes(node, input);
|
|
38800
38803
|
this.typeDefinitions = this.attributes.getTypes();
|
|
38801
38804
|
this.aliases = this.attributes.getAliases();
|
|
38802
|
-
// todo, cleanup aliases, vs "object_oriented.ts" vs "class_implementation.ts"
|
|
38803
|
-
// this adds the aliased types to scope?
|
|
38804
|
-
/*
|
|
38805
|
-
for (const a of this.aliases) {
|
|
38806
|
-
const [objName, fieldName] = a.getComponent().split("~");
|
|
38807
|
-
const idef = input.scope.findInterfaceDefinition(objName);
|
|
38808
|
-
if (idef) {
|
|
38809
|
-
const foundType = idef.getTypeDefinitions().getByName(fieldName);
|
|
38810
|
-
if (foundType) {
|
|
38811
|
-
input.scope.addTypeNamed(a.getName(), foundType);
|
|
38812
|
-
} else {
|
|
38813
|
-
const foundField = idef.getAttributes().findByName(fieldName);
|
|
38814
|
-
if (foundField && foundField instanceof ClassConstant) {
|
|
38815
|
-
const token = new TokenIdentifier(a.getStart(), a.getName());
|
|
38816
|
-
const id = new TypedIdentifier(token, input.filename, foundField.getType());
|
|
38817
|
-
const constant = new ClassConstant(id, Visibility.Public, foundField.getValue());
|
|
38818
|
-
input.scope.addIdentifier(constant);
|
|
38819
|
-
}
|
|
38820
|
-
}
|
|
38821
|
-
}
|
|
38822
|
-
}
|
|
38823
|
-
*/
|
|
38824
38805
|
const events = node.findAllStatements(Statements.Events);
|
|
38825
38806
|
for (const e of events) {
|
|
38826
38807
|
this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, input));
|
|
@@ -39684,6 +39665,9 @@ class CDSParser {
|
|
|
39684
39665
|
if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {
|
|
39685
39666
|
res = combi_1.Combi.run(new Expressions.CDSDefineCustom(), tokens, version_1.defaultVersion);
|
|
39686
39667
|
}
|
|
39668
|
+
if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {
|
|
39669
|
+
res = combi_1.Combi.run(new Expressions.CDSExtendView(), tokens, version_1.defaultVersion);
|
|
39670
|
+
}
|
|
39687
39671
|
if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {
|
|
39688
39672
|
return undefined;
|
|
39689
39673
|
}
|
|
@@ -40154,6 +40138,31 @@ exports.CDSElement = CDSElement;
|
|
|
40154
40138
|
|
|
40155
40139
|
/***/ }),
|
|
40156
40140
|
|
|
40141
|
+
/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_extend_view.js":
|
|
40142
|
+
/*!**********************************************************************************!*\
|
|
40143
|
+
!*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_extend_view.js ***!
|
|
40144
|
+
\**********************************************************************************/
|
|
40145
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
40146
|
+
|
|
40147
|
+
"use strict";
|
|
40148
|
+
|
|
40149
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
40150
|
+
exports.CDSExtendView = void 0;
|
|
40151
|
+
const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/cds/expressions/index.js");
|
|
40152
|
+
const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
|
|
40153
|
+
const cds_name_1 = __webpack_require__(/*! ./cds_name */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js");
|
|
40154
|
+
class CDSExtendView extends combi_1.Expression {
|
|
40155
|
+
getRunnable() {
|
|
40156
|
+
const namedot = (0, combi_1.seq)(cds_name_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(".", cds_name_1.CDSName)), (0, combi_1.opt)(_1.CDSAs));
|
|
40157
|
+
const valueNested = (0, combi_1.seq)("{", namedot, (0, combi_1.star)((0, combi_1.seq)(",", namedot)), "}");
|
|
40158
|
+
return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.str)("EXTEND VIEW"), (0, combi_1.opt)((0, combi_1.str)("ENTITY")), cds_name_1.CDSName, (0, combi_1.str)("WITH"), (0, combi_1.opt)(cds_name_1.CDSName), valueNested, (0, combi_1.opt)(";"));
|
|
40159
|
+
}
|
|
40160
|
+
}
|
|
40161
|
+
exports.CDSExtendView = CDSExtendView;
|
|
40162
|
+
//# sourceMappingURL=cds_extend_view.js.map
|
|
40163
|
+
|
|
40164
|
+
/***/ }),
|
|
40165
|
+
|
|
40157
40166
|
/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js":
|
|
40158
40167
|
/*!*******************************************************************************!*\
|
|
40159
40168
|
!*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js ***!
|
|
@@ -40222,6 +40231,28 @@ exports.CDSGroupBy = CDSGroupBy;
|
|
|
40222
40231
|
|
|
40223
40232
|
/***/ }),
|
|
40224
40233
|
|
|
40234
|
+
/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_having.js":
|
|
40235
|
+
/*!*****************************************************************************!*\
|
|
40236
|
+
!*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_having.js ***!
|
|
40237
|
+
\*****************************************************************************/
|
|
40238
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
40239
|
+
|
|
40240
|
+
"use strict";
|
|
40241
|
+
|
|
40242
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
40243
|
+
exports.CDSHaving = void 0;
|
|
40244
|
+
const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/cds/expressions/index.js");
|
|
40245
|
+
const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
|
|
40246
|
+
class CDSHaving extends combi_1.Expression {
|
|
40247
|
+
getRunnable() {
|
|
40248
|
+
return (0, combi_1.seq)("HAVING", _1.CDSCondition);
|
|
40249
|
+
}
|
|
40250
|
+
}
|
|
40251
|
+
exports.CDSHaving = CDSHaving;
|
|
40252
|
+
//# sourceMappingURL=cds_having.js.map
|
|
40253
|
+
|
|
40254
|
+
/***/ }),
|
|
40255
|
+
|
|
40225
40256
|
/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js":
|
|
40226
40257
|
/*!******************************************************************************!*\
|
|
40227
40258
|
!*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js ***!
|
|
@@ -40400,7 +40431,7 @@ class CDSSelect extends combi_1.Expression {
|
|
|
40400
40431
|
const fields = (0, combi_1.opt)((0, combi_1.seq)((0, combi_1.star)((0, combi_1.seq)(_1.CDSElement, ",")), _1.CDSElement));
|
|
40401
40432
|
const distinct = (0, combi_1.str)("DISTINCT");
|
|
40402
40433
|
const elements = (0, combi_1.seq)((0, combi_1.str)("{"), (0, combi_1.plus)(_1.CDSElement), (0, combi_1.star)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.str)("}"));
|
|
40403
|
-
return (0, combi_1.seq)("SELECT", (0, combi_1.opt)(distinct), (0, combi_1.opt)(fields), "FROM", _1.CDSSource, (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs), (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.star)(cds_association_1.CDSAssociation), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.opt)(elements), (0, combi_1.opt)(_1.CDSGroupBy), (0, combi_1.opt)(_1.
|
|
40434
|
+
return (0, combi_1.seq)("SELECT", (0, combi_1.opt)(distinct), (0, combi_1.opt)(fields), "FROM", _1.CDSSource, (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs), (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.star)(cds_association_1.CDSAssociation), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.opt)(elements), (0, combi_1.opt)(_1.CDSWhere), (0, combi_1.opt)(_1.CDSGroupBy), (0, combi_1.opt)(_1.CDSHaving), (0, combi_1.opt)((0, combi_1.seq)("UNION", (0, combi_1.opt)("ALL"), CDSSelect)));
|
|
40404
40435
|
}
|
|
40405
40436
|
}
|
|
40406
40437
|
exports.CDSSelect = CDSSelect;
|
|
@@ -40562,14 +40593,16 @@ __exportStar(__webpack_require__(/*! ./cds_define_custom */ "./node_modules/@aba
|
|
|
40562
40593
|
__exportStar(__webpack_require__(/*! ./cds_define_projection */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js"), exports);
|
|
40563
40594
|
__exportStar(__webpack_require__(/*! ./cds_define_view */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js"), exports);
|
|
40564
40595
|
__exportStar(__webpack_require__(/*! ./cds_element */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js"), exports);
|
|
40596
|
+
__exportStar(__webpack_require__(/*! ./cds_extend_view */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_extend_view.js"), exports);
|
|
40565
40597
|
__exportStar(__webpack_require__(/*! ./cds_function */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js"), exports);
|
|
40566
40598
|
__exportStar(__webpack_require__(/*! ./cds_group_by */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js"), exports);
|
|
40567
|
-
__exportStar(__webpack_require__(/*! ./
|
|
40599
|
+
__exportStar(__webpack_require__(/*! ./cds_having */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_having.js"), exports);
|
|
40568
40600
|
__exportStar(__webpack_require__(/*! ./cds_integer */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js"), exports);
|
|
40569
40601
|
__exportStar(__webpack_require__(/*! ./cds_join */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js"), exports);
|
|
40570
40602
|
__exportStar(__webpack_require__(/*! ./cds_name */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js"), exports);
|
|
40571
40603
|
__exportStar(__webpack_require__(/*! ./cds_parameters_select */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js"), exports);
|
|
40572
40604
|
__exportStar(__webpack_require__(/*! ./cds_parameters */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js"), exports);
|
|
40605
|
+
__exportStar(__webpack_require__(/*! ./cds_provider_contract */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js"), exports);
|
|
40573
40606
|
__exportStar(__webpack_require__(/*! ./cds_relation */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js"), exports);
|
|
40574
40607
|
__exportStar(__webpack_require__(/*! ./cds_select */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js"), exports);
|
|
40575
40608
|
__exportStar(__webpack_require__(/*! ./cds_source */ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js"), exports);
|
|
@@ -52350,7 +52383,7 @@ class Registry {
|
|
|
52350
52383
|
}
|
|
52351
52384
|
static abaplintVersion() {
|
|
52352
52385
|
// magic, see build script "version.sh"
|
|
52353
|
-
return "2.112.
|
|
52386
|
+
return "2.112.8";
|
|
52354
52387
|
}
|
|
52355
52388
|
getDDICReferences() {
|
|
52356
52389
|
return this.ddicReferences;
|
|
@@ -56440,7 +56473,7 @@ class CyclicOO {
|
|
|
56440
56473
|
return {
|
|
56441
56474
|
key: "cyclic_oo",
|
|
56442
56475
|
title: "Cyclic OO",
|
|
56443
|
-
shortDescription: `Finds cyclic OO references`,
|
|
56476
|
+
shortDescription: `Finds cyclic/circular OO references`,
|
|
56444
56477
|
extendedInformation: `Runs for global INTF + CLAS objects
|
|
56445
56478
|
|
|
56446
56479
|
Objects must be without syntax errors for this rule to take effect
|
|
@@ -76419,6 +76452,7 @@ Builder.prototype.j2x = function(jObj, level) {
|
|
|
76419
76452
|
//repeated nodes
|
|
76420
76453
|
const arrLen = jObj[key].length;
|
|
76421
76454
|
let listTagVal = "";
|
|
76455
|
+
let listTagAttr = "";
|
|
76422
76456
|
for (let j = 0; j < arrLen; j++) {
|
|
76423
76457
|
const item = jObj[key][j];
|
|
76424
76458
|
if (typeof item === 'undefined') {
|
|
@@ -76428,17 +76462,27 @@ Builder.prototype.j2x = function(jObj, level) {
|
|
|
76428
76462
|
else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
76429
76463
|
// val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
|
|
76430
76464
|
} else if (typeof item === 'object') {
|
|
76431
|
-
if(this.options.oneListGroup
|
|
76432
|
-
|
|
76465
|
+
if(this.options.oneListGroup){
|
|
76466
|
+
const result = this.j2x(item, level + 1);
|
|
76467
|
+
listTagVal += result.val;
|
|
76468
|
+
if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {
|
|
76469
|
+
listTagAttr += result.attrStr
|
|
76470
|
+
}
|
|
76433
76471
|
}else{
|
|
76434
76472
|
listTagVal += this.processTextOrObjNode(item, key, level)
|
|
76435
76473
|
}
|
|
76436
76474
|
} else {
|
|
76437
|
-
|
|
76475
|
+
if (this.options.oneListGroup) {
|
|
76476
|
+
let textValue = this.options.tagValueProcessor(key, item);
|
|
76477
|
+
textValue = this.replaceEntitiesValue(textValue);
|
|
76478
|
+
listTagVal += textValue;
|
|
76479
|
+
} else {
|
|
76480
|
+
listTagVal += this.buildTextValNode(item, key, '', level);
|
|
76481
|
+
}
|
|
76438
76482
|
}
|
|
76439
76483
|
}
|
|
76440
76484
|
if(this.options.oneListGroup){
|
|
76441
|
-
listTagVal = this.buildObjectNode(listTagVal, key,
|
|
76485
|
+
listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);
|
|
76442
76486
|
}
|
|
76443
76487
|
val += listTagVal;
|
|
76444
76488
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.112.
|
|
3
|
+
"version": "2.112.8",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -38,23 +38,23 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://abaplint.org",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@abaplint/core": "^2.112.
|
|
41
|
+
"@abaplint/core": "^2.112.8",
|
|
42
42
|
"@types/chai": "^4.3.16",
|
|
43
43
|
"@types/glob": "^8.1.0",
|
|
44
44
|
"@types/minimist": "^1.2.5",
|
|
45
45
|
"@types/mocha": "^10.0.7",
|
|
46
|
-
"@types/node": "^
|
|
46
|
+
"@types/node": "^22.0.0",
|
|
47
47
|
"@types/progress": "^2.0.7",
|
|
48
|
-
"chai": "^4.
|
|
48
|
+
"chai": "^4.5.0",
|
|
49
49
|
"chalk": "^5.3.0",
|
|
50
50
|
"eslint": "^8.57.0",
|
|
51
51
|
"glob": "^7.2.3",
|
|
52
52
|
"json5": "^2.2.3",
|
|
53
|
-
"memfs": "
|
|
53
|
+
"memfs": "=4.9.3",
|
|
54
54
|
"minimist": "^1.2.8",
|
|
55
55
|
"mocha": "^10.7.0",
|
|
56
56
|
"progress": "^2.0.3",
|
|
57
|
-
"typescript": "^5.5.
|
|
57
|
+
"typescript": "^5.5.4",
|
|
58
58
|
"webpack": "^5.93.0",
|
|
59
59
|
"webpack-cli": "^5.1.4",
|
|
60
60
|
"xml-js": "^1.6.11"
|