@abaplint/cli 2.120.18 → 2.120.20
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 +407 -117
- package/package.json +5 -4
package/build/cli.js
CHANGED
|
@@ -6139,7 +6139,7 @@ class MessageSource extends combi_1.Expression {
|
|
|
6139
6139
|
getRunnable() {
|
|
6140
6140
|
const msgid = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), _1.MessageClass, (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
6141
6141
|
const simple = (0, combi_1.seq)(_1.MessageTypeAndNumber, (0, combi_1.opt)(msgid));
|
|
6142
|
-
const mess1 = (0, combi_1.seq)("ID", _1.
|
|
6142
|
+
const mess1 = (0, combi_1.seq)("ID", _1.SimpleSource3, "TYPE", _1.SimpleSource3, "NUMBER", (0, combi_1.altPrio)(_1.MessageNumber, _1.SimpleSource3));
|
|
6143
6143
|
return (0, combi_1.altPrio)(simple, mess1);
|
|
6144
6144
|
}
|
|
6145
6145
|
}
|
|
@@ -7563,7 +7563,7 @@ class Source extends combi_1.Expression {
|
|
|
7563
7563
|
const value = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("VALUE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ValueBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7564
7564
|
const cond = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("COND", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CondBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7565
7565
|
const reff = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("REF", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, (0, combi_1.optPrio)("OPTIONAL"), rparen), { also: combi_1.AlsoIn.OpenABAP });
|
|
7566
|
-
const exact = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("EXACT", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)));
|
|
7566
|
+
const exact = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("EXACT", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7567
7567
|
const filter = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("FILTER", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.FilterBody, rparen), { also: combi_1.AlsoIn.OpenABAP });
|
|
7568
7568
|
const reduce = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("REDUCE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ReduceBody, rparen, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7569
7569
|
const prefix1 = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WDashW), (0, combi_1.tok)(tokens_1.WPlusW));
|
|
@@ -26422,6 +26422,20 @@ class CurrentScope {
|
|
|
26422
26422
|
}
|
|
26423
26423
|
return false;
|
|
26424
26424
|
}
|
|
26425
|
+
isInStaticMethod() {
|
|
26426
|
+
let curr = this.current;
|
|
26427
|
+
while (curr !== undefined) {
|
|
26428
|
+
const stype = curr.getIdentifier().stype;
|
|
26429
|
+
if (stype === _scope_type_1.ScopeType.MethodInstance) {
|
|
26430
|
+
return false;
|
|
26431
|
+
}
|
|
26432
|
+
else if (stype === _scope_type_1.ScopeType.ClassImplementation) {
|
|
26433
|
+
return true;
|
|
26434
|
+
}
|
|
26435
|
+
curr = curr.getParent();
|
|
26436
|
+
}
|
|
26437
|
+
return false;
|
|
26438
|
+
}
|
|
26425
26439
|
addLocalFriend(className, friendName) {
|
|
26426
26440
|
var _a;
|
|
26427
26441
|
const key = className.toUpperCase();
|
|
@@ -27787,7 +27801,8 @@ class TypeUtils {
|
|
|
27787
27801
|
}
|
|
27788
27802
|
}
|
|
27789
27803
|
else if (source instanceof basic_1.XStringType) {
|
|
27790
|
-
if (target instanceof basic_1.
|
|
27804
|
+
if (target instanceof basic_1.CharacterType
|
|
27805
|
+
|| target instanceof basic_1.CLikeType
|
|
27791
27806
|
|| target instanceof basic_1.IntegerType
|
|
27792
27807
|
|| target instanceof basic_1.StringType
|
|
27793
27808
|
|| target instanceof basic_1.ObjectReferenceType
|
|
@@ -29149,19 +29164,59 @@ function checkOffsetLength(source, sourceType, method, input) {
|
|
|
29149
29164
|
|
|
29150
29165
|
"use strict";
|
|
29151
29166
|
|
|
29167
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
29168
|
+
if (k2 === undefined) k2 = k;
|
|
29169
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
29170
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
29171
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
29172
|
+
}
|
|
29173
|
+
Object.defineProperty(o, k2, desc);
|
|
29174
|
+
}) : (function(o, m, k, k2) {
|
|
29175
|
+
if (k2 === undefined) k2 = k;
|
|
29176
|
+
o[k2] = m[k];
|
|
29177
|
+
}));
|
|
29178
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29179
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29180
|
+
}) : function(o, v) {
|
|
29181
|
+
o["default"] = v;
|
|
29182
|
+
});
|
|
29183
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29184
|
+
var ownKeys = function(o) {
|
|
29185
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29186
|
+
var ar = [];
|
|
29187
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29188
|
+
return ar;
|
|
29189
|
+
};
|
|
29190
|
+
return ownKeys(o);
|
|
29191
|
+
};
|
|
29192
|
+
return function (mod) {
|
|
29193
|
+
if (mod && mod.__esModule) return mod;
|
|
29194
|
+
var result = {};
|
|
29195
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
29196
|
+
__setModuleDefault(result, mod);
|
|
29197
|
+
return result;
|
|
29198
|
+
};
|
|
29199
|
+
})();
|
|
29152
29200
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
29153
29201
|
exports.AttributeChain = void 0;
|
|
29202
|
+
const nodes_1 = __webpack_require__(/*! ../../nodes */ "../core/build/src/abap/nodes/index.js");
|
|
29203
|
+
const Expressions = __importStar(__webpack_require__(/*! ../../2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js"));
|
|
29154
29204
|
const void_type_1 = __webpack_require__(/*! ../../types/basic/void_type */ "../core/build/src/abap/types/basic/void_type.js");
|
|
29155
|
-
const
|
|
29205
|
+
const basic_1 = __webpack_require__(/*! ../../types/basic */ "../core/build/src/abap/types/basic/index.js");
|
|
29156
29206
|
const _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ "../core/build/src/abap/5_syntax/_object_oriented.js");
|
|
29157
29207
|
const expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js");
|
|
29158
29208
|
const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "../core/build/src/abap/5_syntax/_syntax_input.js");
|
|
29209
|
+
const component_name_1 = __webpack_require__(/*! ./component_name */ "../core/build/src/abap/5_syntax/expressions/component_name.js");
|
|
29210
|
+
const attribute_name_1 = __webpack_require__(/*! ./attribute_name */ "../core/build/src/abap/5_syntax/expressions/attribute_name.js");
|
|
29211
|
+
const table_expression_1 = __webpack_require__(/*! ./table_expression */ "../core/build/src/abap/5_syntax/expressions/table_expression.js");
|
|
29212
|
+
const field_offset_1 = __webpack_require__(/*! ./field_offset */ "../core/build/src/abap/5_syntax/expressions/field_offset.js");
|
|
29213
|
+
const field_length_1 = __webpack_require__(/*! ./field_length */ "../core/build/src/abap/5_syntax/expressions/field_length.js");
|
|
29159
29214
|
class AttributeChain {
|
|
29160
29215
|
static runSyntax(inputContext, node, input, type) {
|
|
29161
29216
|
if (inputContext instanceof void_type_1.VoidType) {
|
|
29162
29217
|
return inputContext;
|
|
29163
29218
|
}
|
|
29164
|
-
else if (!(inputContext instanceof
|
|
29219
|
+
else if (!(inputContext instanceof basic_1.ObjectReferenceType)) {
|
|
29165
29220
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), "Not an object reference(AttributeChain)"));
|
|
29166
29221
|
return void_type_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
29167
29222
|
}
|
|
@@ -29191,8 +29246,69 @@ class AttributeChain {
|
|
|
29191
29246
|
for (const t of type) {
|
|
29192
29247
|
input.scope.addReference(nameToken, context, t, input.filename);
|
|
29193
29248
|
}
|
|
29194
|
-
|
|
29195
|
-
|
|
29249
|
+
let contextType = context.getType();
|
|
29250
|
+
const children = node.getChildren();
|
|
29251
|
+
for (let i = 1; i < children.length; i++) {
|
|
29252
|
+
const child = children[i];
|
|
29253
|
+
if (contextType instanceof void_type_1.VoidType || contextType instanceof basic_1.UnknownType) {
|
|
29254
|
+
return contextType;
|
|
29255
|
+
}
|
|
29256
|
+
else if (child.get() instanceof Expressions.ArrowOrDash) {
|
|
29257
|
+
const operator = child.getFirstToken().getStr();
|
|
29258
|
+
if (operator === "-" && !(contextType instanceof basic_1.StructureType)) {
|
|
29259
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), "AttributeChain, not a structure"));
|
|
29260
|
+
return void_type_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
29261
|
+
}
|
|
29262
|
+
else if ((operator === "->" || operator === "=>")
|
|
29263
|
+
&& !(contextType instanceof basic_1.ObjectReferenceType)
|
|
29264
|
+
&& !(contextType instanceof basic_1.DataReference)) {
|
|
29265
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), "AttributeChain, not a reference"));
|
|
29266
|
+
return void_type_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
29267
|
+
}
|
|
29268
|
+
}
|
|
29269
|
+
else if (child.get() instanceof Expressions.ComponentName) {
|
|
29270
|
+
if (contextType instanceof basic_1.ObjectReferenceType || contextType instanceof basic_1.DataReference) {
|
|
29271
|
+
contextType = attribute_name_1.AttributeName.runSyntax(contextType, child, input, type);
|
|
29272
|
+
}
|
|
29273
|
+
else {
|
|
29274
|
+
contextType = component_name_1.ComponentName.runSyntax(contextType, child, input);
|
|
29275
|
+
}
|
|
29276
|
+
}
|
|
29277
|
+
else if (child.getFirstToken().getStr() === "*" && contextType instanceof basic_1.DataReference) {
|
|
29278
|
+
contextType = contextType.getType();
|
|
29279
|
+
}
|
|
29280
|
+
else if (child instanceof nodes_1.ExpressionNode && child.get() instanceof Expressions.TableExpression) {
|
|
29281
|
+
if (!(contextType instanceof basic_1.TableType)) {
|
|
29282
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), "Table expression, expected table"));
|
|
29283
|
+
return void_type_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
29284
|
+
}
|
|
29285
|
+
table_expression_1.TableExpression.runSyntax(child, input, contextType);
|
|
29286
|
+
contextType = contextType.getRowType();
|
|
29287
|
+
}
|
|
29288
|
+
else if (child instanceof nodes_1.ExpressionNode && child.get() instanceof Expressions.FieldOffset) {
|
|
29289
|
+
const offset = field_offset_1.FieldOffset.runSyntax(child, input);
|
|
29290
|
+
if (offset !== undefined) {
|
|
29291
|
+
if (contextType instanceof basic_1.CharacterType) {
|
|
29292
|
+
contextType = new basic_1.CharacterType(contextType.getLength() - offset);
|
|
29293
|
+
}
|
|
29294
|
+
else if (contextType instanceof basic_1.HexType) {
|
|
29295
|
+
contextType = new basic_1.HexType(contextType.getLength() - offset);
|
|
29296
|
+
}
|
|
29297
|
+
}
|
|
29298
|
+
}
|
|
29299
|
+
else if (child instanceof nodes_1.ExpressionNode && child.get() instanceof Expressions.FieldLength) {
|
|
29300
|
+
const length = field_length_1.FieldLength.runSyntax(child, input);
|
|
29301
|
+
if (length !== undefined) {
|
|
29302
|
+
if (contextType instanceof basic_1.CharacterType) {
|
|
29303
|
+
contextType = new basic_1.CharacterType(length);
|
|
29304
|
+
}
|
|
29305
|
+
else if (contextType instanceof basic_1.HexType) {
|
|
29306
|
+
contextType = new basic_1.HexType(length);
|
|
29307
|
+
}
|
|
29308
|
+
}
|
|
29309
|
+
}
|
|
29310
|
+
}
|
|
29311
|
+
return contextType;
|
|
29196
29312
|
}
|
|
29197
29313
|
}
|
|
29198
29314
|
exports.AttributeChain = AttributeChain;
|
|
@@ -31969,6 +32085,9 @@ class MessageSource {
|
|
|
31969
32085
|
for (const f of node.findDirectExpressions(Expressions.Source)) {
|
|
31970
32086
|
source_1.Source.runSyntax(f, input);
|
|
31971
32087
|
}
|
|
32088
|
+
for (const f of node.findDirectExpressions(Expressions.SimpleSource3)) {
|
|
32089
|
+
source_1.Source.runSyntax(f, input);
|
|
32090
|
+
}
|
|
31972
32091
|
if (node.getFirstToken().getStr().toUpperCase() === "ID") {
|
|
31973
32092
|
const id = (_a = node.findExpressionAfterToken("ID")) === null || _a === void 0 ? void 0 : _a.concatTokens();
|
|
31974
32093
|
let number = (_b = node.findDirectExpression(Expressions.MessageNumber)) === null || _b === void 0 ? void 0 : _b.concatTokens();
|
|
@@ -32165,6 +32284,11 @@ class MethodCallChain {
|
|
|
32165
32284
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, methodToken, message));
|
|
32166
32285
|
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
32167
32286
|
}
|
|
32287
|
+
if (current === first && (method === null || method === void 0 ? void 0 : method.isStatic()) === false && input.scope.isInStaticMethod() === true) {
|
|
32288
|
+
const message = "Method \"" + methodName + "\" not static";
|
|
32289
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, methodToken, message));
|
|
32290
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
32291
|
+
}
|
|
32168
32292
|
const voidedName = context instanceof basic_1.VoidType ? context.getVoided() : undefined;
|
|
32169
32293
|
const extra = helper.methodReferenceExtras(foundDef, className || voidedName);
|
|
32170
32294
|
input.scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, input.filename, extra);
|
|
@@ -32955,9 +33079,11 @@ class MethodSource {
|
|
|
32955
33079
|
throw new assert_error_1.AssertError("MethodSource, first child expected");
|
|
32956
33080
|
}
|
|
32957
33081
|
let context = this.findTop(first, input, children);
|
|
33082
|
+
let implicitMe = false;
|
|
32958
33083
|
if (context === undefined) {
|
|
32959
33084
|
context = (_a = input.scope.findVariable("me")) === null || _a === void 0 ? void 0 : _a.getType();
|
|
32960
33085
|
children.unshift(first);
|
|
33086
|
+
implicitMe = true;
|
|
32961
33087
|
}
|
|
32962
33088
|
if (input.scope.getLanguageVersion() === version_1.LanguageVersion.Cloud
|
|
32963
33089
|
&& first.get() instanceof Expressions.Dynamic
|
|
@@ -33017,6 +33143,11 @@ class MethodSource {
|
|
|
33017
33143
|
const def = input.scope.findObjectDefinition(className);
|
|
33018
33144
|
// eslint-disable-next-line prefer-const
|
|
33019
33145
|
let { method, def: foundDef } = helper.searchMethodName(def, methodName);
|
|
33146
|
+
if (implicitMe && current === first && (method === null || method === void 0 ? void 0 : method.isStatic()) === false && input.scope.isInStaticMethod() === true) {
|
|
33147
|
+
const message = "Method \"" + methodName + "\" not static";
|
|
33148
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, methodToken, message));
|
|
33149
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
33150
|
+
}
|
|
33020
33151
|
if (method === undefined && (methodName === null || methodName === void 0 ? void 0 : methodName.toUpperCase()) === "CONSTRUCTOR") {
|
|
33021
33152
|
context = basic_1.VoidType.get("CONSTRUCTOR"); // todo, this is a workaround, constructors always exists
|
|
33022
33153
|
}
|
|
@@ -35469,7 +35600,7 @@ class Target {
|
|
|
35469
35600
|
&& !(context instanceof basic_1.VoidType)
|
|
35470
35601
|
&& !(context instanceof unknown_type_1.UnknownType)
|
|
35471
35602
|
&& !(context instanceof unknown_type_1.UnknownType)) {
|
|
35472
|
-
const message =
|
|
35603
|
+
const message = `Not an internal table, "${node.concatTokens()}"`;
|
|
35473
35604
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
35474
35605
|
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
35475
35606
|
}
|
|
@@ -51579,6 +51710,7 @@ class ClassDefinition extends _identifier_1.Identifier {
|
|
|
51579
51710
|
// perform checks after everything has been initialized
|
|
51580
51711
|
this.checkInterfaceVisibility(input, node);
|
|
51581
51712
|
this.checkMethodsFromSuperClasses(input);
|
|
51713
|
+
this.checkMethodNameConflicts(input);
|
|
51582
51714
|
this.checkClassNameLength(input);
|
|
51583
51715
|
this.checkMethodNameLength(input);
|
|
51584
51716
|
this.checkClassConstructorStatic(input);
|
|
@@ -51710,6 +51842,14 @@ class ClassDefinition extends _identifier_1.Identifier {
|
|
|
51710
51842
|
}
|
|
51711
51843
|
}
|
|
51712
51844
|
}
|
|
51845
|
+
checkMethodNameConflicts(input) {
|
|
51846
|
+
for (const m of this.methodDefs.getAll()) {
|
|
51847
|
+
if (this.attributes.findByName(m.getName()) !== undefined
|
|
51848
|
+
|| this.types.getByName(m.getName()) !== undefined) {
|
|
51849
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, m.getToken(), `"${m.getName()}" already defined`));
|
|
51850
|
+
}
|
|
51851
|
+
}
|
|
51852
|
+
}
|
|
51713
51853
|
findFriends(def, input) {
|
|
51714
51854
|
var _a;
|
|
51715
51855
|
const result = [];
|
|
@@ -60052,21 +60192,22 @@ class ABAPObject extends _abstract_object_1.AbstractObject {
|
|
|
60052
60192
|
return this.textsTranslations;
|
|
60053
60193
|
}
|
|
60054
60194
|
findTexts(parsed) {
|
|
60055
|
-
var _a, _b, _c, _d, _e, _f;
|
|
60056
|
-
var
|
|
60195
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
60196
|
+
var _j;
|
|
60057
60197
|
this.texts = {};
|
|
60058
60198
|
if (((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.TPOOL) === null || _d === void 0 ? void 0 : _d.item) === undefined) {
|
|
60059
60199
|
return;
|
|
60060
60200
|
}
|
|
60061
|
-
for (const t of (0, xml_utils_1.xmlToArray)(parsed.abapGit["asx:abap"]["asx:values"].TPOOL.item)) {
|
|
60062
|
-
const id = (
|
|
60201
|
+
for (const t of (0, xml_utils_1.xmlToArray)((_h = (_g = (_f = (_e = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _e === void 0 ? void 0 : _e["asx:abap"]) === null || _f === void 0 ? void 0 : _f["asx:values"]) === null || _g === void 0 ? void 0 : _g.TPOOL) === null || _h === void 0 ? void 0 : _h.item)) {
|
|
60202
|
+
const id = typeof (t === null || t === void 0 ? void 0 : t.ID) === "string" ? t.ID.toUpperCase() : undefined;
|
|
60063
60203
|
if (id === undefined) {
|
|
60064
60204
|
continue;
|
|
60065
60205
|
}
|
|
60066
60206
|
if (id !== "R" && t.KEY === undefined) {
|
|
60067
60207
|
continue;
|
|
60068
60208
|
}
|
|
60069
|
-
const
|
|
60209
|
+
const rawKey = (_j = t.KEY) !== null && _j !== void 0 ? _j : t.ID;
|
|
60210
|
+
const key = typeof rawKey === "string" ? rawKey.toUpperCase() : undefined;
|
|
60070
60211
|
if (key === undefined) {
|
|
60071
60212
|
continue;
|
|
60072
60213
|
}
|
|
@@ -60077,8 +60218,8 @@ class ABAPObject extends _abstract_object_1.AbstractObject {
|
|
|
60077
60218
|
}
|
|
60078
60219
|
}
|
|
60079
60220
|
findTextsTranslations(parsed) {
|
|
60080
|
-
var _a, _b, _c, _d, _e
|
|
60081
|
-
var
|
|
60221
|
+
var _a, _b, _c, _d, _e;
|
|
60222
|
+
var _f;
|
|
60082
60223
|
this.textsTranslations = [];
|
|
60083
60224
|
const values = (_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.I18N_TPOOL) === null || _d === void 0 ? void 0 : _d.item;
|
|
60084
60225
|
if (values === undefined) {
|
|
@@ -60087,7 +60228,8 @@ class ABAPObject extends _abstract_object_1.AbstractObject {
|
|
|
60087
60228
|
for (const langItem of (0, xml_utils_1.xmlToArray)(values)) {
|
|
60088
60229
|
const textElements = {};
|
|
60089
60230
|
for (const item of (0, xml_utils_1.xmlToArray)((_e = langItem.TEXTPOOL) === null || _e === void 0 ? void 0 : _e.item)) {
|
|
60090
|
-
const
|
|
60231
|
+
const rawKey = (_f = item.KEY) !== null && _f !== void 0 ? _f : item.ID;
|
|
60232
|
+
const key = typeof rawKey === "string" ? rawKey.toUpperCase() : undefined;
|
|
60091
60233
|
if (key !== undefined) {
|
|
60092
60234
|
textElements[key] = { entry: (0, xml_utils_1.unescape)(item.ENTRY), maxLength: parseInt(item.LENGTH, 10) };
|
|
60093
60235
|
}
|
|
@@ -60248,11 +60390,14 @@ function parseNumber(value) {
|
|
|
60248
60390
|
return parseInt(value, 10);
|
|
60249
60391
|
}
|
|
60250
60392
|
function parseDynpros(parsed) {
|
|
60251
|
-
var _a, _b, _c, _d;
|
|
60393
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
60252
60394
|
const dynpros = [];
|
|
60253
60395
|
const xmlDynpros = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.DYNPROS;
|
|
60254
60396
|
if (xmlDynpros !== undefined) {
|
|
60255
60397
|
for (const d of (0, xml_utils_1.xmlToArray)(xmlDynpros.item)) {
|
|
60398
|
+
if ((d === null || d === void 0 ? void 0 : d.HEADER) === undefined) {
|
|
60399
|
+
continue;
|
|
60400
|
+
}
|
|
60256
60401
|
const fields = [];
|
|
60257
60402
|
for (const f of (0, xml_utils_1.xmlToArray)((_d = d.FIELDS) === null || _d === void 0 ? void 0 : _d.RPY_DYFATC)) {
|
|
60258
60403
|
fields.push({
|
|
@@ -60267,10 +60412,10 @@ function parseDynpros(parsed) {
|
|
|
60267
60412
|
});
|
|
60268
60413
|
}
|
|
60269
60414
|
dynpros.push({
|
|
60270
|
-
number: d.HEADER.SCREEN,
|
|
60271
|
-
description: d.HEADER.DESCRIPT,
|
|
60272
|
-
nextScreen: d.HEADER.NEXTSCREEN,
|
|
60273
|
-
type: d.HEADER.TYPE,
|
|
60415
|
+
number: (_e = d.HEADER) === null || _e === void 0 ? void 0 : _e.SCREEN,
|
|
60416
|
+
description: (_f = d.HEADER) === null || _f === void 0 ? void 0 : _f.DESCRIPT,
|
|
60417
|
+
nextScreen: (_g = d.HEADER) === null || _g === void 0 ? void 0 : _g.NEXTSCREEN,
|
|
60418
|
+
type: (_h = d.HEADER) === null || _h === void 0 ? void 0 : _h.TYPE,
|
|
60274
60419
|
fields: fields,
|
|
60275
60420
|
});
|
|
60276
60421
|
}
|
|
@@ -60757,7 +60902,7 @@ class AuthorizationCheckField extends _abstract_object_1.AbstractObject {
|
|
|
60757
60902
|
}
|
|
60758
60903
|
}
|
|
60759
60904
|
parse() {
|
|
60760
|
-
var _a;
|
|
60905
|
+
var _a, _b, _c, _d, _e, _f;
|
|
60761
60906
|
if (this.parsedXML) {
|
|
60762
60907
|
return { updated: false, runtime: 0 };
|
|
60763
60908
|
}
|
|
@@ -60766,10 +60911,10 @@ class AuthorizationCheckField extends _abstract_object_1.AbstractObject {
|
|
|
60766
60911
|
const parsed = super.parseRaw2();
|
|
60767
60912
|
if (parsed === undefined
|
|
60768
60913
|
|| parsed.abapGit === undefined
|
|
60769
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
60914
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
60770
60915
|
return { updated: false, runtime: 0 };
|
|
60771
60916
|
}
|
|
60772
|
-
this.parsedXML.rollname = (
|
|
60917
|
+
this.parsedXML.rollname = (_f = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.AUTHX) === null || _f === void 0 ? void 0 : _f.ROLLNAME;
|
|
60773
60918
|
const end = Date.now();
|
|
60774
60919
|
return { updated: true, runtime: end - start };
|
|
60775
60920
|
}
|
|
@@ -61616,17 +61761,16 @@ class Class extends _abap_object_1.ABAPObject {
|
|
|
61616
61761
|
}
|
|
61617
61762
|
/////////////////////////
|
|
61618
61763
|
parseXML() {
|
|
61764
|
+
var _a, _b, _c, _d, _e;
|
|
61619
61765
|
if (this.parsedXML !== undefined) {
|
|
61620
61766
|
return;
|
|
61621
61767
|
}
|
|
61622
61768
|
this.parsedXML = {};
|
|
61623
61769
|
const parsed = super.parseRaw2();
|
|
61624
|
-
if (parsed === undefined
|
|
61625
|
-
|| parsed.abapGit["asx:abap"] === undefined
|
|
61626
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
61770
|
+
if (((_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
61627
61771
|
return;
|
|
61628
61772
|
}
|
|
61629
|
-
const vseo = parsed.abapGit["asx:abap"]["asx:values"].VSEOCLASS;
|
|
61773
|
+
const vseo = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.VSEOCLASS;
|
|
61630
61774
|
if (vseo === undefined) {
|
|
61631
61775
|
return;
|
|
61632
61776
|
}
|
|
@@ -62307,6 +62451,11 @@ class DataElement extends _abstract_object_1.AbstractObject {
|
|
|
62307
62451
|
this.parse();
|
|
62308
62452
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.textsTranslations;
|
|
62309
62453
|
}
|
|
62454
|
+
getDtelMaster() {
|
|
62455
|
+
var _a;
|
|
62456
|
+
this.parse();
|
|
62457
|
+
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.dtelmaster;
|
|
62458
|
+
}
|
|
62310
62459
|
parseType(reg) {
|
|
62311
62460
|
var _a;
|
|
62312
62461
|
const references = [];
|
|
@@ -62384,6 +62533,7 @@ class DataElement extends _abstract_object_1.AbstractObject {
|
|
|
62384
62533
|
datatype: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DATATYPE,
|
|
62385
62534
|
leng: dd04v === null || dd04v === void 0 ? void 0 : dd04v.LENG,
|
|
62386
62535
|
decimals: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DECIMALS,
|
|
62536
|
+
dtelmaster: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DTELMASTER,
|
|
62387
62537
|
texts: {
|
|
62388
62538
|
short: dd04v === null || dd04v === void 0 ? void 0 : dd04v.SCRTEXT_S,
|
|
62389
62539
|
medium: dd04v === null || dd04v === void 0 ? void 0 : dd04v.SCRTEXT_M,
|
|
@@ -62820,6 +62970,7 @@ class EnhancementImplementation extends _abstract_object_1.AbstractObject {
|
|
|
62820
62970
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;
|
|
62821
62971
|
}
|
|
62822
62972
|
parse() {
|
|
62973
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
62823
62974
|
if (this.parsedXML) {
|
|
62824
62975
|
return { updated: false, runtime: 0 };
|
|
62825
62976
|
}
|
|
@@ -62828,11 +62979,11 @@ class EnhancementImplementation extends _abstract_object_1.AbstractObject {
|
|
|
62828
62979
|
const parsed = super.parseRaw2();
|
|
62829
62980
|
if (parsed === undefined
|
|
62830
62981
|
|| parsed.abapGit === undefined
|
|
62831
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
62982
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
62832
62983
|
return { updated: false, runtime: 0 };
|
|
62833
62984
|
}
|
|
62834
|
-
this.parsedXML.className = parsed.abapGit["asx:abap"]["asx:values"].CLASS;
|
|
62835
|
-
this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].SHORTTEXT;
|
|
62985
|
+
this.parsedXML.className = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.CLASS;
|
|
62986
|
+
this.parsedXML.description = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.SHORTTEXT;
|
|
62836
62987
|
const end = Date.now();
|
|
62837
62988
|
return { updated: true, runtime: end - start };
|
|
62838
62989
|
}
|
|
@@ -62880,13 +63031,13 @@ class EnhancementSpot extends _abstract_object_1.AbstractObject {
|
|
|
62880
63031
|
}
|
|
62881
63032
|
/////////////////
|
|
62882
63033
|
parseXML() {
|
|
62883
|
-
var _a, _b;
|
|
63034
|
+
var _a, _b, _c, _d;
|
|
62884
63035
|
const parsed = super.parseRaw2();
|
|
62885
63036
|
if (parsed === undefined) {
|
|
62886
63037
|
return [];
|
|
62887
63038
|
}
|
|
62888
63039
|
const ret = [];
|
|
62889
|
-
for (const b of (0, xml_utils_1.xmlToArray)((_b = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
63040
|
+
for (const b of (0, xml_utils_1.xmlToArray)((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.BADI_DATA) === null || _d === void 0 ? void 0 : _d.ENH_BADI_DATA)) {
|
|
62890
63041
|
ret.push({
|
|
62891
63042
|
name: b.BADI_NAME,
|
|
62892
63043
|
interface: b.INTERFACE_NAME,
|
|
@@ -63329,33 +63480,45 @@ class FunctionGroup extends _abap_object_1.ABAPObject {
|
|
|
63329
63480
|
if (found === undefined) {
|
|
63330
63481
|
return {};
|
|
63331
63482
|
}
|
|
63332
|
-
|
|
63333
|
-
|
|
63483
|
+
try {
|
|
63484
|
+
const parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(found.getRaw());
|
|
63485
|
+
this.findTexts(parsed);
|
|
63486
|
+
}
|
|
63487
|
+
catch (_b) {
|
|
63488
|
+
this.texts = {};
|
|
63489
|
+
}
|
|
63334
63490
|
}
|
|
63335
63491
|
return (_a = this.texts["I"]) !== null && _a !== void 0 ? _a : {};
|
|
63336
63492
|
}
|
|
63337
63493
|
/////////////////////////////////
|
|
63338
63494
|
parseXML() {
|
|
63339
|
-
var _a, _b, _c;
|
|
63495
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
63340
63496
|
this.includes = [];
|
|
63341
63497
|
this.modules = [];
|
|
63342
63498
|
const parsed = this.parseRaw2();
|
|
63343
63499
|
if (parsed === undefined) {
|
|
63344
63500
|
return;
|
|
63345
63501
|
}
|
|
63346
|
-
this.description = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
63502
|
+
this.description = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.AREAT;
|
|
63347
63503
|
this.dynpros = (0, _dynpros_1.parseDynpros)(parsed);
|
|
63348
63504
|
// INCLUDES
|
|
63349
|
-
const includes = (
|
|
63505
|
+
const includes = (_f = (_e = (_d = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _d === void 0 ? void 0 : _d["asx:abap"]) === null || _e === void 0 ? void 0 : _e["asx:values"]) === null || _f === void 0 ? void 0 : _f.INCLUDES;
|
|
63350
63506
|
if (includes !== undefined) {
|
|
63351
63507
|
for (const i of (0, xml_utils_1.xmlToArray)(includes.SOBJ_NAME)) {
|
|
63352
|
-
|
|
63508
|
+
if (typeof i === "string") {
|
|
63509
|
+
this.includes.push(i);
|
|
63510
|
+
}
|
|
63353
63511
|
}
|
|
63354
63512
|
}
|
|
63355
63513
|
// FUNCTION MODULES
|
|
63356
|
-
const functions = (
|
|
63514
|
+
const functions = (_j = (_h = (_g = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _g === void 0 ? void 0 : _g["asx:abap"]) === null || _h === void 0 ? void 0 : _h["asx:values"]) === null || _j === void 0 ? void 0 : _j.FUNCTIONS;
|
|
63357
63515
|
for (const module of (0, xml_utils_1.xmlToArray)(functions === null || functions === void 0 ? void 0 : functions.item)) {
|
|
63358
|
-
|
|
63516
|
+
try {
|
|
63517
|
+
this.modules.push(new types_1.FunctionModuleDefinition(module));
|
|
63518
|
+
}
|
|
63519
|
+
catch (_k) {
|
|
63520
|
+
// Ignore malformed function module metadata.
|
|
63521
|
+
}
|
|
63359
63522
|
}
|
|
63360
63523
|
}
|
|
63361
63524
|
findTextFile() {
|
|
@@ -63911,6 +64074,7 @@ class ICFService extends _abstract_object_1.AbstractObject {
|
|
|
63911
64074
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.handlers;
|
|
63912
64075
|
}
|
|
63913
64076
|
parse() {
|
|
64077
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
63914
64078
|
if (this.parsedXML) {
|
|
63915
64079
|
return { updated: false, runtime: 0 };
|
|
63916
64080
|
}
|
|
@@ -63919,17 +64083,17 @@ class ICFService extends _abstract_object_1.AbstractObject {
|
|
|
63919
64083
|
const parsed = super.parseRaw2();
|
|
63920
64084
|
if (parsed === undefined
|
|
63921
64085
|
|| parsed.abapGit === undefined
|
|
63922
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64086
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
63923
64087
|
return { updated: false, runtime: 0 };
|
|
63924
64088
|
}
|
|
63925
|
-
const table = parsed.abapGit["asx:abap"]["asx:values"].ICFHANDLER_TABLE;
|
|
64089
|
+
const table = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.ICFHANDLER_TABLE;
|
|
63926
64090
|
this.parsedXML.handlers = [];
|
|
63927
64091
|
for (const h of (0, xml_utils_1.xmlToArray)(table)) {
|
|
63928
64092
|
if (h.ICFHANDLER !== undefined) {
|
|
63929
64093
|
this.parsedXML.handlers.push(h.ICFHANDLER.ICFHANDLER);
|
|
63930
64094
|
}
|
|
63931
64095
|
}
|
|
63932
|
-
this.parsedXML.url = parsed.abapGit["asx:abap"]["asx:values"].URL;
|
|
64096
|
+
this.parsedXML.url = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.URL;
|
|
63933
64097
|
const end = Date.now();
|
|
63934
64098
|
return { updated: true, runtime: end - start };
|
|
63935
64099
|
}
|
|
@@ -64352,16 +64516,17 @@ class Interface extends _abap_object_1.ABAPObject {
|
|
|
64352
64516
|
}
|
|
64353
64517
|
/////////////////////////
|
|
64354
64518
|
parseXML() {
|
|
64519
|
+
var _a, _b, _c, _d, _e;
|
|
64355
64520
|
if (this.parsedXML !== undefined) {
|
|
64356
64521
|
return;
|
|
64357
64522
|
}
|
|
64358
64523
|
this.parsedXML = {};
|
|
64359
64524
|
const parsed = super.parseRaw2();
|
|
64360
64525
|
if (parsed === undefined
|
|
64361
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64526
|
+
|| ((_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64362
64527
|
return;
|
|
64363
64528
|
}
|
|
64364
|
-
const vseo = parsed.abapGit["asx:abap"]["asx:values"].VSEOINTERF;
|
|
64529
|
+
const vseo = (_e = (_d = (_c = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.VSEOINTERF;
|
|
64365
64530
|
if (vseo === undefined) {
|
|
64366
64531
|
this.parsedXML.description = "";
|
|
64367
64532
|
this.parsedXML.name = "";
|
|
@@ -64465,7 +64630,7 @@ class LockObject extends _abstract_object_1.AbstractObject {
|
|
|
64465
64630
|
}
|
|
64466
64631
|
}
|
|
64467
64632
|
parse() {
|
|
64468
|
-
var _a, _b;
|
|
64633
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
64469
64634
|
if (this.parsedXML) {
|
|
64470
64635
|
return { updated: false, runtime: 0 };
|
|
64471
64636
|
}
|
|
@@ -64474,11 +64639,11 @@ class LockObject extends _abstract_object_1.AbstractObject {
|
|
|
64474
64639
|
const parsed = super.parseRaw2();
|
|
64475
64640
|
if (parsed === undefined
|
|
64476
64641
|
|| parsed.abapGit === undefined
|
|
64477
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64642
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64478
64643
|
return { updated: false, runtime: 0 };
|
|
64479
64644
|
}
|
|
64480
|
-
this.parsedXML.primaryTable = (
|
|
64481
|
-
this.parsedXML.description = (
|
|
64645
|
+
this.parsedXML.primaryTable = (_f = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.DD25V) === null || _f === void 0 ? void 0 : _f.ROOTTAB;
|
|
64646
|
+
this.parsedXML.description = (_k = (_j = (_h = (_g = parsed.abapGit) === null || _g === void 0 ? void 0 : _g["asx:abap"]) === null || _h === void 0 ? void 0 : _h["asx:values"]) === null || _j === void 0 ? void 0 : _j.DD25V) === null || _k === void 0 ? void 0 : _k.DDTEXT;
|
|
64482
64647
|
const end = Date.now();
|
|
64483
64648
|
return { updated: true, runtime: end - start };
|
|
64484
64649
|
}
|
|
@@ -64566,7 +64731,7 @@ class MaintenanceAndTransportObject extends _abstract_object_1.AbstractObject {
|
|
|
64566
64731
|
}
|
|
64567
64732
|
}
|
|
64568
64733
|
parse() {
|
|
64569
|
-
var _a, _b, _c, _d;
|
|
64734
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
64570
64735
|
if (this.parsedXML) {
|
|
64571
64736
|
return { updated: false, runtime: 0 };
|
|
64572
64737
|
}
|
|
@@ -64575,12 +64740,12 @@ class MaintenanceAndTransportObject extends _abstract_object_1.AbstractObject {
|
|
|
64575
64740
|
const parsed = super.parseRaw2();
|
|
64576
64741
|
if (parsed === undefined
|
|
64577
64742
|
|| parsed.abapGit === undefined
|
|
64578
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64743
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64579
64744
|
return { updated: false, runtime: 0 };
|
|
64580
64745
|
}
|
|
64581
|
-
this.parsedXML.area = (
|
|
64582
|
-
this.parsedXML.objectName = (
|
|
64583
|
-
this.parsedXML.objectType = (
|
|
64746
|
+
this.parsedXML.area = (_g = (_f = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.TOBJ) === null || _f === void 0 ? void 0 : _f.TVDIR) === null || _g === void 0 ? void 0 : _g.AREA;
|
|
64747
|
+
this.parsedXML.objectName = (_l = (_k = (_j = (_h = parsed.abapGit) === null || _h === void 0 ? void 0 : _h["asx:abap"]) === null || _j === void 0 ? void 0 : _j["asx:values"]) === null || _k === void 0 ? void 0 : _k.OBJH) === null || _l === void 0 ? void 0 : _l.OBJECTNAME;
|
|
64748
|
+
this.parsedXML.objectType = (_q = (_p = (_o = (_m = parsed.abapGit) === null || _m === void 0 ? void 0 : _m["asx:abap"]) === null || _o === void 0 ? void 0 : _o["asx:values"]) === null || _p === void 0 ? void 0 : _p.OBJH) === null || _q === void 0 ? void 0 : _q.OBJECTTYPE;
|
|
64584
64749
|
const end = Date.now();
|
|
64585
64750
|
return { updated: true, runtime: end - start };
|
|
64586
64751
|
}
|
|
@@ -64653,7 +64818,7 @@ class MessageClass extends _abstract_object_1.AbstractObject {
|
|
|
64653
64818
|
}
|
|
64654
64819
|
/////////////////////////////////
|
|
64655
64820
|
parseXML() {
|
|
64656
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
64821
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
64657
64822
|
if (this.xml !== undefined) {
|
|
64658
64823
|
return;
|
|
64659
64824
|
}
|
|
@@ -64667,16 +64832,16 @@ class MessageClass extends _abstract_object_1.AbstractObject {
|
|
|
64667
64832
|
if (parsed === undefined) {
|
|
64668
64833
|
return;
|
|
64669
64834
|
}
|
|
64670
|
-
this.xml.topName = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]["asx:values"]) === null ||
|
|
64671
|
-
this.xml.description = (
|
|
64672
|
-
const t100 = (
|
|
64835
|
+
this.xml.topName = (_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.T100A) === null || _d === void 0 ? void 0 : _d.ARBGB;
|
|
64836
|
+
this.xml.description = (_h = (_g = (_f = (_e = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _e === void 0 ? void 0 : _e["asx:abap"]) === null || _f === void 0 ? void 0 : _f["asx:values"]) === null || _g === void 0 ? void 0 : _g.T100A) === null || _h === void 0 ? void 0 : _h.STEXT;
|
|
64837
|
+
const t100 = (_l = (_k = (_j = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _j === void 0 ? void 0 : _j["asx:abap"]) === null || _k === void 0 ? void 0 : _k["asx:values"]) === null || _l === void 0 ? void 0 : _l.T100;
|
|
64673
64838
|
if (t100 === undefined) {
|
|
64674
64839
|
return;
|
|
64675
64840
|
}
|
|
64676
64841
|
for (const msg of (0, xml_utils_1.xmlToArray)(t100.T100)) {
|
|
64677
64842
|
this.xml.parsedMessages.push(new message_1.Message(msg.MSGNR, (0, xml_utils_1.unescape)(msg.TEXT), msg.ARBGB));
|
|
64678
64843
|
}
|
|
64679
|
-
const t100_texts = (
|
|
64844
|
+
const t100_texts = (_p = (_o = (_m = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _m === void 0 ? void 0 : _m["asx:abap"]) === null || _o === void 0 ? void 0 : _o["asx:values"]) === null || _p === void 0 ? void 0 : _p.T100_TEXTS;
|
|
64680
64845
|
if (t100_texts === undefined) {
|
|
64681
64846
|
return;
|
|
64682
64847
|
}
|
|
@@ -64774,6 +64939,7 @@ class MIMEObject extends _abstract_object_1.AbstractObject {
|
|
|
64774
64939
|
return undefined;
|
|
64775
64940
|
}
|
|
64776
64941
|
parse() {
|
|
64942
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
64777
64943
|
if (this.parsedXML) {
|
|
64778
64944
|
return { updated: false, runtime: 0 };
|
|
64779
64945
|
}
|
|
@@ -64782,12 +64948,12 @@ class MIMEObject extends _abstract_object_1.AbstractObject {
|
|
|
64782
64948
|
const parsed = super.parseRaw2();
|
|
64783
64949
|
if (parsed === undefined
|
|
64784
64950
|
|| parsed.abapGit === undefined
|
|
64785
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64951
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64786
64952
|
return { updated: false, runtime: 0 };
|
|
64787
64953
|
}
|
|
64788
|
-
this.parsedXML.URL = parsed.abapGit["asx:abap"]["asx:values"].URL;
|
|
64789
|
-
this.parsedXML.CLASS = parsed.abapGit["asx:abap"]["asx:values"].CLASS;
|
|
64790
|
-
this.parsedXML.FOLDER = parsed.abapGit["asx:abap"]["asx:values"].FOLDER;
|
|
64954
|
+
this.parsedXML.URL = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.URL;
|
|
64955
|
+
this.parsedXML.CLASS = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.CLASS;
|
|
64956
|
+
this.parsedXML.FOLDER = (_l = (_k = (_j = parsed.abapGit) === null || _j === void 0 ? void 0 : _j["asx:abap"]) === null || _k === void 0 ? void 0 : _k["asx:values"]) === null || _l === void 0 ? void 0 : _l.FOLDER;
|
|
64791
64957
|
const end = Date.now();
|
|
64792
64958
|
return { updated: true, runtime: end - start };
|
|
64793
64959
|
}
|
|
@@ -65635,10 +65801,10 @@ class Oauth2Profile extends _abstract_object_1.AbstractObject {
|
|
|
65635
65801
|
return undefined;
|
|
65636
65802
|
}
|
|
65637
65803
|
listScopes() {
|
|
65638
|
-
var _a, _b, _c;
|
|
65804
|
+
var _a, _b, _c, _d, _e;
|
|
65639
65805
|
const ret = [];
|
|
65640
65806
|
const parsed = super.parseRaw2();
|
|
65641
|
-
for (const t of (0, xml_utils_1.xmlToArray)((_c = (_b = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
65807
|
+
for (const t of (0, xml_utils_1.xmlToArray)((_e = (_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.PROFILE) === null || _d === void 0 ? void 0 : _d.T_SCOPES) === null || _e === void 0 ? void 0 : _e.OA2P_SCOPES)) {
|
|
65642
65808
|
ret.push(t.SCOPE);
|
|
65643
65809
|
}
|
|
65644
65810
|
return ret;
|
|
@@ -65923,7 +66089,7 @@ class Program extends _abap_object_1.ABAPObject {
|
|
|
65923
66089
|
}
|
|
65924
66090
|
////////////////////////////
|
|
65925
66091
|
parseXML() {
|
|
65926
|
-
var _a, _b, _c;
|
|
66092
|
+
var _a, _b, _c, _d;
|
|
65927
66093
|
if (this.parsedXML !== undefined) {
|
|
65928
66094
|
return;
|
|
65929
66095
|
}
|
|
@@ -65941,11 +66107,11 @@ class Program extends _abap_object_1.ABAPObject {
|
|
|
65941
66107
|
}
|
|
65942
66108
|
let description = "";
|
|
65943
66109
|
const selectionTexts = {};
|
|
65944
|
-
for (const t of (0, xml_utils_1.xmlToArray)((_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]["asx:values"]) === null ||
|
|
66110
|
+
for (const t of (0, xml_utils_1.xmlToArray)((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.TPOOL) === null || _d === void 0 ? void 0 : _d.item)) {
|
|
65945
66111
|
if ((t === null || t === void 0 ? void 0 : t.ID) === "R") {
|
|
65946
66112
|
description = t.ENTRY ? (0, xml_utils_1.unescape)(t.ENTRY) : "";
|
|
65947
66113
|
}
|
|
65948
|
-
else if ((t === null || t === void 0 ? void 0 : t.ID) === "S" && t.KEY
|
|
66114
|
+
else if ((t === null || t === void 0 ? void 0 : t.ID) === "S" && typeof t.KEY === "string") {
|
|
65949
66115
|
selectionTexts[t.KEY.toUpperCase()] = { entry: t.ENTRY ? (0, xml_utils_1.unescape)(t.ENTRY) : "", maxLength: parseInt(t.LENGTH, 10) };
|
|
65950
66116
|
}
|
|
65951
66117
|
}
|
|
@@ -66012,20 +66178,19 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66012
66178
|
return { updated: true, runtime: end - start };
|
|
66013
66179
|
}
|
|
66014
66180
|
parseXML() {
|
|
66015
|
-
var _a, _b;
|
|
66181
|
+
var _a, _b, _c, _d, _e;
|
|
66016
66182
|
const result = { proxyData: [] };
|
|
66017
66183
|
const parsed = super.parseRaw2();
|
|
66018
66184
|
if (parsed === undefined
|
|
66019
66185
|
|| parsed.abapGit === undefined
|
|
66020
|
-
|| ((_a = parsed.abapGit["asx:abap"]) === null ||
|
|
66186
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
66021
66187
|
return result;
|
|
66022
66188
|
}
|
|
66023
|
-
const values = parsed.abapGit["asx:abap"]["asx:values"];
|
|
66024
|
-
result.proxyData = (0, xml_utils_1.xmlToArray)((
|
|
66189
|
+
const values = (_d = (_c = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"];
|
|
66190
|
+
result.proxyData = (0, xml_utils_1.xmlToArray)((_e = values.PROXY_DATA) === null || _e === void 0 ? void 0 : _e.item);
|
|
66025
66191
|
return result;
|
|
66026
66192
|
}
|
|
66027
66193
|
generateABAPObjects() {
|
|
66028
|
-
var _a, _b, _c, _d, _e;
|
|
66029
66194
|
this.parse();
|
|
66030
66195
|
const result = [];
|
|
66031
66196
|
if (!this.parsedXML) {
|
|
@@ -66033,7 +66198,7 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66033
66198
|
}
|
|
66034
66199
|
// Find interface definition
|
|
66035
66200
|
const intfItem = this.parsedXML.proxyData.find(i => i.R3_TYPE === "INTF");
|
|
66036
|
-
if (!intfItem ||
|
|
66201
|
+
if (!intfItem || typeof intfItem.R3_NAME !== "string") {
|
|
66037
66202
|
return result;
|
|
66038
66203
|
}
|
|
66039
66204
|
const intfName = intfItem.R3_NAME.toLowerCase();
|
|
@@ -66042,10 +66207,10 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66042
66207
|
// Build interface code
|
|
66043
66208
|
let code = `INTERFACE ${intfName} PUBLIC.\n`;
|
|
66044
66209
|
for (const method of methods) {
|
|
66045
|
-
|
|
66046
|
-
if (!methodName) {
|
|
66210
|
+
if (typeof method.R3_NAME !== "string") {
|
|
66047
66211
|
continue;
|
|
66048
66212
|
}
|
|
66213
|
+
const methodName = method.R3_NAME.toLowerCase();
|
|
66049
66214
|
// Find parameters for this method
|
|
66050
66215
|
const importingParameters = this.parsedXML.proxyData.filter(i => i.R3_TYPE === "PAIM" && i.OBJ_NAME1 === method.OBJ_NAME1);
|
|
66051
66216
|
const exportingParameters = this.parsedXML.proxyData.filter(i => i.R3_TYPE === "PAEX" && i.OBJ_NAME1 === method.OBJ_NAME1);
|
|
@@ -66054,8 +66219,8 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66054
66219
|
code += ` IMPORTING\n`;
|
|
66055
66220
|
for (let i = 0; i < importingParameters.length; i++) {
|
|
66056
66221
|
const param = importingParameters[i];
|
|
66057
|
-
const paramName =
|
|
66058
|
-
const paramType =
|
|
66222
|
+
const paramName = typeof param.OBJ_NAME2 === "string" ? param.OBJ_NAME2.toLowerCase() : undefined;
|
|
66223
|
+
const paramType = typeof param.OBJ_NAME_R === "string" ? param.OBJ_NAME_R.toLowerCase() : undefined;
|
|
66059
66224
|
const isLast = i === importingParameters.length - 1 && exportingParameters.length === 0;
|
|
66060
66225
|
code += ` ${paramName} TYPE ${paramType}${isLast ? "." : ""}\n`;
|
|
66061
66226
|
}
|
|
@@ -66064,8 +66229,8 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66064
66229
|
code += ` EXPORTING\n`;
|
|
66065
66230
|
for (let i = 0; i < exportingParameters.length; i++) {
|
|
66066
66231
|
const param = exportingParameters[i];
|
|
66067
|
-
const paramName =
|
|
66068
|
-
const paramType =
|
|
66232
|
+
const paramName = typeof param.OBJ_NAME2 === "string" ? param.OBJ_NAME2.toLowerCase() : undefined;
|
|
66233
|
+
const paramType = typeof param.OBJ_NAME_R === "string" ? param.OBJ_NAME_R.toLowerCase() : undefined;
|
|
66069
66234
|
const isLast = i === exportingParameters.length - 1;
|
|
66070
66235
|
code += ` ${paramName} TYPE ${paramType}${isLast ? "." : ""}\n`;
|
|
66071
66236
|
}
|
|
@@ -67896,7 +68061,7 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
67896
68061
|
return false;
|
|
67897
68062
|
}
|
|
67898
68063
|
parseXML() {
|
|
67899
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
68064
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
|
|
67900
68065
|
const parsed = super.parseRaw2();
|
|
67901
68066
|
if (parsed === undefined) {
|
|
67902
68067
|
return;
|
|
@@ -67906,19 +68071,22 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
67906
68071
|
return;
|
|
67907
68072
|
}
|
|
67908
68073
|
// enhancement category
|
|
67909
|
-
if (((_b = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
68074
|
+
if (((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.DD02V) === null || _d === void 0 ? void 0 : _d.EXCLASS) === undefined) {
|
|
67910
68075
|
this.parsedData.enhancementCategory = EnhancementCategory.NotClassified;
|
|
67911
68076
|
}
|
|
67912
68077
|
else {
|
|
67913
|
-
this.parsedData.enhancementCategory = (
|
|
68078
|
+
this.parsedData.enhancementCategory = (_h = (_g = (_f = (_e = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _e === void 0 ? void 0 : _e["asx:abap"]) === null || _f === void 0 ? void 0 : _f["asx:values"]) === null || _g === void 0 ? void 0 : _g.DD02V) === null || _h === void 0 ? void 0 : _h.EXCLASS;
|
|
67914
68079
|
}
|
|
67915
68080
|
// table category
|
|
67916
|
-
this.parsedData.tableCategory = (
|
|
67917
|
-
this.parsedData.description = (
|
|
67918
|
-
this.parsedData.dataClass = (
|
|
68081
|
+
this.parsedData.tableCategory = (_m = (_l = (_k = (_j = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _j === void 0 ? void 0 : _j["asx:abap"]) === null || _k === void 0 ? void 0 : _k["asx:values"]) === null || _l === void 0 ? void 0 : _l.DD02V) === null || _m === void 0 ? void 0 : _m.TABCLASS;
|
|
68082
|
+
this.parsedData.description = (_r = (_q = (_p = (_o = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _o === void 0 ? void 0 : _o["asx:abap"]) === null || _p === void 0 ? void 0 : _p["asx:values"]) === null || _q === void 0 ? void 0 : _q.DD02V) === null || _r === void 0 ? void 0 : _r.DDTEXT;
|
|
68083
|
+
this.parsedData.dataClass = (_v = (_u = (_t = (_s = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _s === void 0 ? void 0 : _s["asx:abap"]) === null || _t === void 0 ? void 0 : _t["asx:values"]) === null || _u === void 0 ? void 0 : _u.DD09L) === null || _v === void 0 ? void 0 : _v.TABART;
|
|
67919
68084
|
// fields
|
|
67920
|
-
const fields = (
|
|
68085
|
+
const fields = (_y = (_x = (_w = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _w === void 0 ? void 0 : _w["asx:abap"]) === null || _x === void 0 ? void 0 : _x["asx:values"]) === null || _y === void 0 ? void 0 : _y.DD03P_TABLE;
|
|
67921
68086
|
for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD03P)) {
|
|
68087
|
+
if (typeof (field === null || field === void 0 ? void 0 : field.FIELDNAME) !== "string") {
|
|
68088
|
+
continue;
|
|
68089
|
+
}
|
|
67922
68090
|
this.parsedData.fields.push({
|
|
67923
68091
|
FIELDNAME: field.FIELDNAME,
|
|
67924
68092
|
ROLLNAME: field.ROLLNAME,
|
|
@@ -67938,13 +68106,13 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
67938
68106
|
});
|
|
67939
68107
|
}
|
|
67940
68108
|
// secondary indexes
|
|
67941
|
-
const indexes = (
|
|
68109
|
+
const indexes = (_1 = (_0 = (_z = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _z === void 0 ? void 0 : _z["asx:abap"]) === null || _0 === void 0 ? void 0 : _0["asx:values"]) === null || _1 === void 0 ? void 0 : _1.DD12V;
|
|
67942
68110
|
;
|
|
67943
68111
|
this.parsedData.secondaryIndexes = [];
|
|
67944
68112
|
for (const index of (0, xml_utils_1.xmlToArray)(indexes === null || indexes === void 0 ? void 0 : indexes.DD12V)) {
|
|
67945
68113
|
const indexName = index.INDEXNAME;
|
|
67946
68114
|
const indexFields = [];
|
|
67947
|
-
const indexFieldsXml = (
|
|
68115
|
+
const indexFieldsXml = (_4 = (_3 = (_2 = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _2 === void 0 ? void 0 : _2["asx:abap"]) === null || _3 === void 0 ? void 0 : _3["asx:values"]) === null || _4 === void 0 ? void 0 : _4.DD17V;
|
|
67948
68116
|
for (const indexField of (0, xml_utils_1.xmlToArray)(indexFieldsXml === null || indexFieldsXml === void 0 ? void 0 : indexFieldsXml.DD17V)) {
|
|
67949
68117
|
if (indexField.INDEXNAME === indexName) {
|
|
67950
68118
|
// assumption: fields are listed by POSITION in the xml
|
|
@@ -68167,7 +68335,7 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
68167
68335
|
}
|
|
68168
68336
|
////////////////////
|
|
68169
68337
|
parseXML() {
|
|
68170
|
-
var _a, _b;
|
|
68338
|
+
var _a, _b, _c, _d;
|
|
68171
68339
|
if (this.parsedXML !== undefined) {
|
|
68172
68340
|
return;
|
|
68173
68341
|
}
|
|
@@ -68179,11 +68347,14 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
68179
68347
|
if (parsed === undefined || parsed.abapGit === undefined) {
|
|
68180
68348
|
return;
|
|
68181
68349
|
}
|
|
68182
|
-
const values = parsed.abapGit["asx:abap"]["asx:values"];
|
|
68350
|
+
const values = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"];
|
|
68183
68351
|
if (values === undefined) {
|
|
68184
68352
|
return;
|
|
68185
68353
|
}
|
|
68186
68354
|
const dd40v = values.DD40V;
|
|
68355
|
+
if (dd40v === undefined) {
|
|
68356
|
+
return;
|
|
68357
|
+
}
|
|
68187
68358
|
this.parsedXML.rowtype = dd40v.ROWTYPE ? dd40v.ROWTYPE : "";
|
|
68188
68359
|
this.parsedXML.rowkind = dd40v.ROWKIND ? dd40v.ROWKIND : "";
|
|
68189
68360
|
this.parsedXML.datatype = dd40v.DATATYPE;
|
|
@@ -68193,13 +68364,13 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
68193
68364
|
this.parsedXML.keykind = dd40v.KEYKIND;
|
|
68194
68365
|
this.parsedXML.ddtext = dd40v.DDTEXT;
|
|
68195
68366
|
this.parsedXML.keydef = dd40v.KEYDEF;
|
|
68196
|
-
for (const x of (0, xml_utils_1.xmlToArray)((
|
|
68367
|
+
for (const x of (0, xml_utils_1.xmlToArray)((_c = values.DD42V) === null || _c === void 0 ? void 0 : _c.DD42V)) {
|
|
68197
68368
|
this.parsedXML.dd42v.push({
|
|
68198
68369
|
keyname: x.SECKEYNAME || "",
|
|
68199
68370
|
keyfield: x.KEYFIELD || "",
|
|
68200
68371
|
});
|
|
68201
68372
|
}
|
|
68202
|
-
for (const x of (0, xml_utils_1.xmlToArray)((
|
|
68373
|
+
for (const x of (0, xml_utils_1.xmlToArray)((_d = values.DD43V) === null || _d === void 0 ? void 0 : _d.DD43V)) {
|
|
68203
68374
|
this.parsedXML.dd43v.push({
|
|
68204
68375
|
keyname: x.SECKEYNAME || "",
|
|
68205
68376
|
accessmode: x.ACCESSMODE || "",
|
|
@@ -68575,7 +68746,7 @@ class View extends _abstract_object_1.AbstractObject {
|
|
|
68575
68746
|
}
|
|
68576
68747
|
///////////////
|
|
68577
68748
|
parseXML() {
|
|
68578
|
-
var _a, _b, _c;
|
|
68749
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
68579
68750
|
this.parsedData = {
|
|
68580
68751
|
header: {
|
|
68581
68752
|
VIEWCLASS: "",
|
|
@@ -68588,13 +68759,18 @@ class View extends _abstract_object_1.AbstractObject {
|
|
|
68588
68759
|
if (parsed === undefined || parsed.abapGit === undefined) {
|
|
68589
68760
|
return;
|
|
68590
68761
|
}
|
|
68591
|
-
const header = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
68762
|
+
const header = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.DD25V;
|
|
68592
68763
|
this.parsedData.header = {
|
|
68593
68764
|
VIEWCLASS: (header === null || header === void 0 ? void 0 : header.VIEWCLASS) || "",
|
|
68594
68765
|
DDTEXT: (header === null || header === void 0 ? void 0 : header.DDTEXT) || "",
|
|
68595
68766
|
};
|
|
68596
|
-
const fields = (
|
|
68767
|
+
const fields = (_f = (_e = (_d = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _d === void 0 ? void 0 : _d["asx:abap"]) === null || _e === void 0 ? void 0 : _e["asx:values"]) === null || _f === void 0 ? void 0 : _f.DD27P_TABLE;
|
|
68597
68768
|
for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD27P)) {
|
|
68769
|
+
if (typeof (field === null || field === void 0 ? void 0 : field.VIEWFIELD) !== "string"
|
|
68770
|
+
|| typeof (field === null || field === void 0 ? void 0 : field.TABNAME) !== "string"
|
|
68771
|
+
|| typeof (field === null || field === void 0 ? void 0 : field.FIELDNAME) !== "string") {
|
|
68772
|
+
continue;
|
|
68773
|
+
}
|
|
68598
68774
|
this.parsedData.fields.push({
|
|
68599
68775
|
VIEWFIELD: field.VIEWFIELD,
|
|
68600
68776
|
TABNAME: field.TABNAME,
|
|
@@ -68602,7 +68778,7 @@ class View extends _abstract_object_1.AbstractObject {
|
|
|
68602
68778
|
KEYFLAG: field.KEYFLAG,
|
|
68603
68779
|
});
|
|
68604
68780
|
}
|
|
68605
|
-
const join = (
|
|
68781
|
+
const join = (_j = (_h = (_g = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _g === void 0 ? void 0 : _g["asx:abap"]) === null || _h === void 0 ? void 0 : _h["asx:values"]) === null || _j === void 0 ? void 0 : _j.DD28J_TABLE;
|
|
68606
68782
|
for (const j of (0, xml_utils_1.xmlToArray)(join === null || join === void 0 ? void 0 : join.DD28J)) {
|
|
68607
68783
|
this.parsedData.join.push({
|
|
68608
68784
|
LTAB: j.LTAB,
|
|
@@ -68857,7 +69033,7 @@ class WebMIME extends _abstract_object_1.AbstractObject {
|
|
|
68857
69033
|
return undefined;
|
|
68858
69034
|
}
|
|
68859
69035
|
parse() {
|
|
68860
|
-
var _a;
|
|
69036
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
68861
69037
|
if (this.parsedXML) {
|
|
68862
69038
|
return { updated: false, runtime: 0 };
|
|
68863
69039
|
}
|
|
@@ -68866,11 +69042,14 @@ class WebMIME extends _abstract_object_1.AbstractObject {
|
|
|
68866
69042
|
const parsed = super.parseRaw2();
|
|
68867
69043
|
if (parsed === undefined
|
|
68868
69044
|
|| parsed.abapGit === undefined
|
|
68869
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
69045
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
68870
69046
|
return { updated: false, runtime: 0 };
|
|
68871
69047
|
}
|
|
68872
|
-
this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].TEXT;
|
|
68873
|
-
for (const param of (0, xml_utils_1.xmlToArray)((
|
|
69048
|
+
this.parsedXML.description = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.TEXT;
|
|
69049
|
+
for (const param of (0, xml_utils_1.xmlToArray)((_j = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.PARAMS) === null || _j === void 0 ? void 0 : _j.WWWPARAMS)) {
|
|
69050
|
+
if (typeof (param === null || param === void 0 ? void 0 : param.NAME) !== "string") {
|
|
69051
|
+
continue;
|
|
69052
|
+
}
|
|
68874
69053
|
this.parsedXML.params[param.NAME.toLowerCase()] = param.VALUE;
|
|
68875
69054
|
}
|
|
68876
69055
|
const end = Date.now();
|
|
@@ -69471,7 +69650,7 @@ class Registry {
|
|
|
69471
69650
|
}
|
|
69472
69651
|
static abaplintVersion() {
|
|
69473
69652
|
// magic, see build script "version.js"
|
|
69474
|
-
return "2.120.
|
|
69653
|
+
return "2.120.20";
|
|
69475
69654
|
}
|
|
69476
69655
|
getDDICReferences() {
|
|
69477
69656
|
return this.ddicReferences;
|
|
@@ -74195,6 +74374,8 @@ const objects_1 = __webpack_require__(/*! ../objects */ "../core/build/src/objec
|
|
|
74195
74374
|
const _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ "../core/build/src/abap/5_syntax/_reference.js");
|
|
74196
74375
|
const basic_1 = __webpack_require__(/*! ../abap/types/basic */ "../core/build/src/abap/types/basic/index.js");
|
|
74197
74376
|
const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "../core/build/src/abap/2_statements/statements/_statement.js");
|
|
74377
|
+
const statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ "../core/build/src/abap/2_statements/statements/index.js");
|
|
74378
|
+
const expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js");
|
|
74198
74379
|
class ClearExportingParametersConf extends _basic_rule_config_1.BasicRuleConfig {
|
|
74199
74380
|
constructor() {
|
|
74200
74381
|
super(...arguments);
|
|
@@ -74226,6 +74407,8 @@ Note: EXPORTING parameters passed by VALUE are always initialized and are theref
|
|
|
74226
74407
|
Reading and writing the parameter in the same statement (e.g. "ev_result = ev_result + 1") is reported,
|
|
74227
74408
|
as the source is evaluated before the parameter is assigned.
|
|
74228
74409
|
Objects containing parser or syntax errors are not reported.
|
|
74410
|
+
"IS SUPPLIED"/"IS REQUESTED" checks are not considered reads, and "GET REFERENCE OF" plus
|
|
74411
|
+
"ASSIGN ... TO <fs>" are considered writes, as the value can be written via the reference.
|
|
74229
74412
|
|
|
74230
74413
|
Class and interface method implementations and function modules are checked.`,
|
|
74231
74414
|
tags: [_irule_1.RuleTag.Styleguide],
|
|
@@ -74351,6 +74534,16 @@ ENDCLASS.`,
|
|
|
74351
74534
|
}
|
|
74352
74535
|
const pos = reference.position.getStart();
|
|
74353
74536
|
if (reference.referenceType === _reference_1.ReferenceType.DataReadReference) {
|
|
74537
|
+
if (this.isSuppliedOrRequested(reference, obj)) {
|
|
74538
|
+
continue; // "IS SUPPLIED" / "IS REQUESTED" does not read the value
|
|
74539
|
+
}
|
|
74540
|
+
if (this.isReferenceOrAssign(reference, obj)) {
|
|
74541
|
+
// "GET REFERENCE OF" and "ASSIGN ... TO <fs>" may be used for writing the value
|
|
74542
|
+
if (earliestWrite === undefined || pos.isBefore(earliestWrite.position.getStart())) {
|
|
74543
|
+
earliestWrite = reference;
|
|
74544
|
+
}
|
|
74545
|
+
continue;
|
|
74546
|
+
}
|
|
74354
74547
|
if (firstRead === undefined || pos.isBefore(firstRead.position.getStart())) {
|
|
74355
74548
|
firstRead = reference;
|
|
74356
74549
|
}
|
|
@@ -74373,6 +74566,46 @@ ENDCLASS.`,
|
|
|
74373
74566
|
const message = `EXPORTING parameter "${parameter.getName().toLowerCase()}" read before it is cleared or assigned`;
|
|
74374
74567
|
return issue_1.Issue.atIdentifier(firstRead.position, message, this.getMetadata().key, this.conf.severity);
|
|
74375
74568
|
}
|
|
74569
|
+
isReferenceOrAssign(reference, obj) {
|
|
74570
|
+
const file = obj.getABAPFileByName(reference.position.getFilename());
|
|
74571
|
+
const pos = reference.position.getStart();
|
|
74572
|
+
for (const statement of (file === null || file === void 0 ? void 0 : file.getStatements()) || []) {
|
|
74573
|
+
const start = statement.getStart();
|
|
74574
|
+
const end = statement.getEnd();
|
|
74575
|
+
if (pos.equals(start) === false && (pos.isAfter(start) === false || pos.isBefore(end) === false)) {
|
|
74576
|
+
continue;
|
|
74577
|
+
}
|
|
74578
|
+
const type = statement.get();
|
|
74579
|
+
return type instanceof statements_1.GetReference || type instanceof statements_1.Assign;
|
|
74580
|
+
}
|
|
74581
|
+
return false;
|
|
74582
|
+
}
|
|
74583
|
+
isSuppliedOrRequested(reference, obj) {
|
|
74584
|
+
const file = obj.getABAPFileByName(reference.position.getFilename());
|
|
74585
|
+
const pos = reference.position.getStart();
|
|
74586
|
+
for (const statement of (file === null || file === void 0 ? void 0 : file.getStatements()) || []) {
|
|
74587
|
+
const start = statement.getStart();
|
|
74588
|
+
const end = statement.getEnd();
|
|
74589
|
+
if (pos.equals(start) === false && (pos.isAfter(start) === false || pos.isBefore(end) === false)) {
|
|
74590
|
+
continue;
|
|
74591
|
+
}
|
|
74592
|
+
for (const compare of statement.findAllExpressionsRecursive(expressions_1.Compare)) {
|
|
74593
|
+
const upper = compare.concatTokens().toUpperCase();
|
|
74594
|
+
if (upper.includes(" IS SUPPLIED") === false
|
|
74595
|
+
&& upper.includes(" IS REQUESTED") === false
|
|
74596
|
+
&& upper.includes(" IS NOT SUPPLIED") === false
|
|
74597
|
+
&& upper.includes(" IS NOT REQUESTED") === false) {
|
|
74598
|
+
continue;
|
|
74599
|
+
}
|
|
74600
|
+
const cStart = compare.getFirstToken().getStart();
|
|
74601
|
+
const cEnd = compare.getLastToken().getEnd();
|
|
74602
|
+
if ((pos.equals(cStart) || pos.isAfter(cStart)) && pos.isBefore(cEnd)) {
|
|
74603
|
+
return true;
|
|
74604
|
+
}
|
|
74605
|
+
}
|
|
74606
|
+
}
|
|
74607
|
+
return false;
|
|
74608
|
+
}
|
|
74376
74609
|
statementStart(reference, obj) {
|
|
74377
74610
|
const file = obj.getABAPFileByName(reference.position.getFilename());
|
|
74378
74611
|
for (const statement of (file === null || file === void 0 ? void 0 : file.getStatements()) || []) {
|
|
@@ -92424,11 +92657,18 @@ Consider using ABAP Doc for documentation.`,
|
|
|
92424
92657
|
return this.checkXML(xml, file);
|
|
92425
92658
|
}
|
|
92426
92659
|
checkXML(xml, file) {
|
|
92427
|
-
|
|
92428
|
-
|
|
92660
|
+
var _a, _b, _c, _d, _e;
|
|
92661
|
+
let parsed;
|
|
92662
|
+
try {
|
|
92663
|
+
parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(xml);
|
|
92664
|
+
}
|
|
92665
|
+
catch (_f) {
|
|
92429
92666
|
return [];
|
|
92430
92667
|
}
|
|
92431
|
-
|
|
92668
|
+
if (((_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
92669
|
+
return [];
|
|
92670
|
+
}
|
|
92671
|
+
const desc = (_e = (_d = (_c = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.DESCRIPTIONS;
|
|
92432
92672
|
if (desc === undefined) {
|
|
92433
92673
|
return [];
|
|
92434
92674
|
}
|
|
@@ -98766,6 +99006,40 @@ class XMLConsistency {
|
|
|
98766
99006
|
const issues = [];
|
|
98767
99007
|
const texts = obj.getTexts();
|
|
98768
99008
|
const maxLengths = obj.getTextMaxLengths();
|
|
99009
|
+
const hasLabelTexts = (texts === null || texts === void 0 ? void 0 : texts.short) !== undefined
|
|
99010
|
+
|| (texts === null || texts === void 0 ? void 0 : texts.medium) !== undefined
|
|
99011
|
+
|| (texts === null || texts === void 0 ? void 0 : texts.long) !== undefined
|
|
99012
|
+
|| (texts === null || texts === void 0 ? void 0 : texts.heading) !== undefined;
|
|
99013
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.short) !== undefined) {
|
|
99014
|
+
const issue = this.checkRequiredField(file, "SCRLEN1", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.short);
|
|
99015
|
+
if (issue) {
|
|
99016
|
+
issues.push(issue);
|
|
99017
|
+
}
|
|
99018
|
+
}
|
|
99019
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.medium) !== undefined) {
|
|
99020
|
+
const issue = this.checkRequiredField(file, "SCRLEN2", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.medium);
|
|
99021
|
+
if (issue) {
|
|
99022
|
+
issues.push(issue);
|
|
99023
|
+
}
|
|
99024
|
+
}
|
|
99025
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.long) !== undefined) {
|
|
99026
|
+
const issue = this.checkRequiredField(file, "SCRLEN3", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.long);
|
|
99027
|
+
if (issue) {
|
|
99028
|
+
issues.push(issue);
|
|
99029
|
+
}
|
|
99030
|
+
}
|
|
99031
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.heading) !== undefined) {
|
|
99032
|
+
const issue = this.checkRequiredField(file, "HEADLEN", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.heading);
|
|
99033
|
+
if (issue) {
|
|
99034
|
+
issues.push(issue);
|
|
99035
|
+
}
|
|
99036
|
+
}
|
|
99037
|
+
if (hasLabelTexts) {
|
|
99038
|
+
const issue = this.checkRequiredField(file, "DTELMASTER", obj.getDtelMaster());
|
|
99039
|
+
if (issue) {
|
|
99040
|
+
issues.push(issue);
|
|
99041
|
+
}
|
|
99042
|
+
}
|
|
98769
99043
|
for (const issue of [
|
|
98770
99044
|
this.checkTextLength(file, "DDTEXT", obj.getDescription(), 60),
|
|
98771
99045
|
this.checkTextLength(file, "SCRTEXT_S", texts === null || texts === void 0 ? void 0 : texts.short, maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.short),
|
|
@@ -98793,6 +99067,12 @@ class XMLConsistency {
|
|
|
98793
99067
|
}
|
|
98794
99068
|
return issues;
|
|
98795
99069
|
}
|
|
99070
|
+
checkRequiredField(file, fieldName, value) {
|
|
99071
|
+
if (value === undefined || value === "") {
|
|
99072
|
+
return issue_1.Issue.atRow(file, 1, `Missing required field ${fieldName} in DD04V`, this.getMetadata().key, this.conf.severity);
|
|
99073
|
+
}
|
|
99074
|
+
return undefined;
|
|
99075
|
+
}
|
|
98796
99076
|
runDomain(obj, file) {
|
|
98797
99077
|
var _a, _b;
|
|
98798
99078
|
const maxTextLength = 60;
|
|
@@ -100202,15 +100482,15 @@ function xmlToArray(data) {
|
|
|
100202
100482
|
}
|
|
100203
100483
|
}
|
|
100204
100484
|
function unescape(str) {
|
|
100205
|
-
if (str
|
|
100485
|
+
if (typeof str !== "string") {
|
|
100206
100486
|
return "";
|
|
100207
100487
|
}
|
|
100208
|
-
|
|
100209
|
-
|
|
100210
|
-
|
|
100211
|
-
|
|
100212
|
-
|
|
100213
|
-
return
|
|
100488
|
+
let result = str.replace(/&/g, "&");
|
|
100489
|
+
result = result.replace(/>/g, ">");
|
|
100490
|
+
result = result.replace(/</g, "<");
|
|
100491
|
+
result = result.replace(/"/g, "\"");
|
|
100492
|
+
result = result.replace(/'/g, "'");
|
|
100493
|
+
return result;
|
|
100214
100494
|
}
|
|
100215
100495
|
//# sourceMappingURL=xml_utils.js.map
|
|
100216
100496
|
|
|
@@ -100229,13 +100509,19 @@ exports.ApackDependencyProvider = void 0;
|
|
|
100229
100509
|
const xml_js_1 = __webpack_require__(/*! xml-js */ "./node_modules/xml-js/lib/index.js");
|
|
100230
100510
|
class ApackDependencyProvider {
|
|
100231
100511
|
static fromManifest(manifestContents) {
|
|
100232
|
-
var _a, _b;
|
|
100512
|
+
var _a, _b, _c, _d, _e;
|
|
100233
100513
|
if (!manifestContents || !manifestContents.length) {
|
|
100234
100514
|
return [];
|
|
100235
100515
|
}
|
|
100236
100516
|
const result = [];
|
|
100237
|
-
|
|
100238
|
-
|
|
100517
|
+
let manifest;
|
|
100518
|
+
try {
|
|
100519
|
+
manifest = (0, xml_js_1.xml2js)(manifestContents, { compact: true });
|
|
100520
|
+
}
|
|
100521
|
+
catch (_f) {
|
|
100522
|
+
return [];
|
|
100523
|
+
}
|
|
100524
|
+
let apackDependencies = (_d = (_c = (_b = (_a = manifest === null || manifest === void 0 ? void 0 : manifest["asx:abap"]) === null || _a === void 0 ? void 0 : _a["asx:values"]) === null || _b === void 0 ? void 0 : _b["DATA"]) === null || _c === void 0 ? void 0 : _c["DEPENDENCIES"]) === null || _d === void 0 ? void 0 : _d.item;
|
|
100239
100525
|
if (!apackDependencies) {
|
|
100240
100526
|
return [];
|
|
100241
100527
|
}
|
|
@@ -100243,9 +100529,13 @@ class ApackDependencyProvider {
|
|
|
100243
100529
|
apackDependencies = [apackDependencies];
|
|
100244
100530
|
}
|
|
100245
100531
|
for (const dependency of apackDependencies) {
|
|
100532
|
+
const url = (_e = dependency === null || dependency === void 0 ? void 0 : dependency["GIT_URL"]) === null || _e === void 0 ? void 0 : _e["_text"];
|
|
100533
|
+
if (typeof url !== "string") {
|
|
100534
|
+
continue;
|
|
100535
|
+
}
|
|
100246
100536
|
result.push({
|
|
100247
100537
|
files: "/src/**/*.*",
|
|
100248
|
-
url
|
|
100538
|
+
url,
|
|
100249
100539
|
});
|
|
100250
100540
|
}
|
|
100251
100541
|
return result;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.120.
|
|
3
|
+
"version": "2.120.20",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
11
|
-
"clean": "
|
|
11
|
+
"clean": "rimraf build",
|
|
12
12
|
"compile": "npm run clean && tsc",
|
|
13
13
|
"test": "npm run compile && mocha && npm run lint && npm run webpack",
|
|
14
14
|
"webpack": "webpack --progress",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"url": "git+https://github.com/abaplint/abaplint.git"
|
|
27
27
|
},
|
|
28
28
|
"engines": {
|
|
29
|
-
"node": ">=
|
|
29
|
+
"node": ">=22.0.0"
|
|
30
30
|
},
|
|
31
31
|
"keywords": [
|
|
32
32
|
"ABAP",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"homepage": "https://abaplint.org",
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@abaplint/core": "^2.120.
|
|
42
|
+
"@abaplint/core": "^2.120.20",
|
|
43
43
|
"@types/chai": "^4.3.20",
|
|
44
44
|
"@types/minimist": "^1.2.5",
|
|
45
45
|
"@types/mocha": "^10.0.10",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"mocha": "^11.7.6",
|
|
56
56
|
"p-limit": "^3.1.0",
|
|
57
57
|
"progress": "^2.0.3",
|
|
58
|
+
"rimraf": "^6.1.3",
|
|
58
59
|
"typescript": "^7.0.2",
|
|
59
60
|
"webpack": "^5.107.2",
|
|
60
61
|
"webpack-cli": "^7.0.3",
|