@abaplint/transpiler-cli 2.11.15 → 2.11.17
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/bundle.js +159 -22
- package/package.json +3 -3
package/build/bundle.js
CHANGED
|
@@ -27220,27 +27220,24 @@ class Source {
|
|
|
27220
27220
|
console.dir(inferredType);
|
|
27221
27221
|
console.dir(typeToken);
|
|
27222
27222
|
*/
|
|
27223
|
-
// hmm, need to align all this
|
|
27224
27223
|
if (typeName === "#" && inferredType && typeToken) {
|
|
27225
27224
|
const found = basic.lookupQualifiedName(inferredType.getQualifiedName());
|
|
27226
27225
|
if (found) {
|
|
27227
|
-
input.scope.addReference(typeToken, found, _reference_1.ReferenceType.InferredType, input.filename);
|
|
27228
|
-
}
|
|
27229
|
-
else if (inferredType instanceof basic_1.DataReference) {
|
|
27230
|
-
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, inferredType);
|
|
27231
|
-
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename);
|
|
27226
|
+
input.scope.addReference(typeToken, found, _reference_1.ReferenceType.InferredType, input.filename, { foundQualified: true });
|
|
27232
27227
|
}
|
|
27233
27228
|
else if (inferredType instanceof basic_1.ObjectReferenceType) {
|
|
27234
27229
|
const def = input.scope.findObjectDefinition(inferredType.getQualifiedName());
|
|
27230
|
+
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, inferredType);
|
|
27235
27231
|
if (def) {
|
|
27236
|
-
|
|
27237
|
-
|
|
27232
|
+
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename, { foundQualified: true });
|
|
27233
|
+
}
|
|
27234
|
+
else {
|
|
27235
|
+
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename, { foundQualified: false });
|
|
27238
27236
|
}
|
|
27239
27237
|
}
|
|
27240
|
-
else
|
|
27241
|
-
// character is bit special it does not have a qualified name eg "TYPE c LENGTH 6"
|
|
27238
|
+
else {
|
|
27242
27239
|
const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, inferredType);
|
|
27243
|
-
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename);
|
|
27240
|
+
input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename, { foundQualified: false });
|
|
27244
27241
|
}
|
|
27245
27242
|
}
|
|
27246
27243
|
}
|
|
@@ -53690,7 +53687,7 @@ class Registry {
|
|
|
53690
53687
|
}
|
|
53691
53688
|
static abaplintVersion() {
|
|
53692
53689
|
// magic, see build script "version.sh"
|
|
53693
|
-
return "2.113.
|
|
53690
|
+
return "2.113.165";
|
|
53694
53691
|
}
|
|
53695
53692
|
getDDICReferences() {
|
|
53696
53693
|
return this.ddicReferences;
|
|
@@ -59623,7 +59620,7 @@ ${indentation}`);
|
|
|
59623
59620
|
const fix = edit_helper_1.EditHelper.merge(fix2, fix1);
|
|
59624
59621
|
return issue_1.Issue.atToken(lowFile, inlineData.getFirstToken(), "Outline SELECT @DATA", this.getMetadata().key, this.conf.severity, fix);
|
|
59625
59622
|
}
|
|
59626
|
-
// the anonymous type
|
|
59623
|
+
// the anonymous type might be used in inferred type statements, define it so it can be referred
|
|
59627
59624
|
anonymousTableType(high, lowFile, highSyntax) {
|
|
59628
59625
|
if (!(high.get() instanceof Statements.Data)) {
|
|
59629
59626
|
return undefined;
|
|
@@ -60610,6 +60607,9 @@ ${indentation} output = ${uniqueName}.\n`;
|
|
|
60610
60607
|
if (!(node.get() instanceof Statements.Loop)) {
|
|
60611
60608
|
return undefined;
|
|
60612
60609
|
}
|
|
60610
|
+
if (this.lowReg.getConfig().getVersion() === version_1.Version.OpenABAP) {
|
|
60611
|
+
return undefined;
|
|
60612
|
+
}
|
|
60613
60613
|
const source = (_a = node.findDirectExpression(Expressions.LoopSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.SimpleSource2);
|
|
60614
60614
|
if (source === undefined) {
|
|
60615
60615
|
return undefined;
|
|
@@ -61205,7 +61205,7 @@ ${indentation} output = ${uniqueName}.\n`;
|
|
|
61205
61205
|
throw new SkipToNextFile(issue);
|
|
61206
61206
|
}
|
|
61207
61207
|
findType(i, lowFile, highSyntax, ref = false) {
|
|
61208
|
-
var _a;
|
|
61208
|
+
var _a, _b;
|
|
61209
61209
|
const expr = i.findDirectExpression(Expressions.TypeNameOrInfer);
|
|
61210
61210
|
if (expr === undefined) {
|
|
61211
61211
|
return undefined;
|
|
@@ -61224,7 +61224,8 @@ ${indentation} output = ${uniqueName}.\n`;
|
|
|
61224
61224
|
if (r.referenceType === _reference_1.ReferenceType.InferredType
|
|
61225
61225
|
&& r.resolved
|
|
61226
61226
|
&& r.position.getStart().equals(firstToken.getStart())
|
|
61227
|
-
&& r.resolved instanceof _typed_identifier_1.TypedIdentifier
|
|
61227
|
+
&& r.resolved instanceof _typed_identifier_1.TypedIdentifier
|
|
61228
|
+
&& ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.foundQualified) === true) {
|
|
61228
61229
|
inferred = r.resolved;
|
|
61229
61230
|
break;
|
|
61230
61231
|
}
|
|
@@ -61236,7 +61237,7 @@ ${indentation} output = ${uniqueName}.\n`;
|
|
|
61236
61237
|
return inferred.getType().toABAP();
|
|
61237
61238
|
}
|
|
61238
61239
|
else {
|
|
61239
|
-
return (
|
|
61240
|
+
return (_b = inferred.getType().getQualifiedName()) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
61240
61241
|
}
|
|
61241
61242
|
}
|
|
61242
61243
|
outlineFS(low, high, lowFile, highSyntax) {
|
|
@@ -78891,6 +78892,38 @@ exports.DatabaseTableTranspiler = DatabaseTableTranspiler;
|
|
|
78891
78892
|
|
|
78892
78893
|
/***/ }),
|
|
78893
78894
|
|
|
78895
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/field_assignment.js":
|
|
78896
|
+
/*!*************************************************************************************!*\
|
|
78897
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/field_assignment.js ***!
|
|
78898
|
+
\*************************************************************************************/
|
|
78899
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
78900
|
+
|
|
78901
|
+
"use strict";
|
|
78902
|
+
|
|
78903
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
78904
|
+
exports.FieldAssignmentTranspiler = void 0;
|
|
78905
|
+
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
78906
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
78907
|
+
class FieldAssignmentTranspiler {
|
|
78908
|
+
transpile(node, traversal) {
|
|
78909
|
+
const ret = new chunk_1.Chunk();
|
|
78910
|
+
const field = node.findDirectExpression(core_1.Expressions.FieldSub);
|
|
78911
|
+
if (field === undefined) {
|
|
78912
|
+
throw new Error("FieldAssignmentTranspiler, Expected FieldSub");
|
|
78913
|
+
}
|
|
78914
|
+
const source = node.findDirectExpression(core_1.Expressions.Source);
|
|
78915
|
+
if (source === undefined) {
|
|
78916
|
+
throw new Error("FieldAssignmentTranspiler, Expected Source");
|
|
78917
|
+
}
|
|
78918
|
+
ret.appendString(`.setField("${field.concatTokens().toLowerCase()}", ${traversal.traverse(source).getCode()})`);
|
|
78919
|
+
return ret;
|
|
78920
|
+
}
|
|
78921
|
+
}
|
|
78922
|
+
exports.FieldAssignmentTranspiler = FieldAssignmentTranspiler;
|
|
78923
|
+
//# sourceMappingURL=field_assignment.js.map
|
|
78924
|
+
|
|
78925
|
+
/***/ }),
|
|
78926
|
+
|
|
78894
78927
|
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/field_chain.js":
|
|
78895
78928
|
/*!********************************************************************************!*\
|
|
78896
78929
|
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/field_chain.js ***!
|
|
@@ -79983,6 +80016,7 @@ const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/transpiler/bui
|
|
|
79983
80016
|
const constant_1 = __webpack_require__(/*! ./constant */ "./node_modules/@abaplint/transpiler/build/src/expressions/constant.js");
|
|
79984
80017
|
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
79985
80018
|
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
80019
|
+
const value_body_1 = __webpack_require__(/*! ./value_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/value_body.js");
|
|
79986
80020
|
class SourceTranspiler {
|
|
79987
80021
|
addGet;
|
|
79988
80022
|
constructor(addGet = false) {
|
|
@@ -80061,6 +80095,13 @@ class SourceTranspiler {
|
|
|
80061
80095
|
ret.appendString(traversal.traverse(c.getFirstChild()).getCode());
|
|
80062
80096
|
ret.appendString(")");
|
|
80063
80097
|
}
|
|
80098
|
+
else if (c.get() instanceof core_1.Expressions.ValueBody) {
|
|
80099
|
+
const typ = node.findFirstExpression(core_1.Expressions.TypeNameOrInfer);
|
|
80100
|
+
if (typ === undefined) {
|
|
80101
|
+
throw new Error("TypeNameOrInfer not found in ValueBody");
|
|
80102
|
+
}
|
|
80103
|
+
ret.appendChunk(new value_body_1.ValueBodyTranspiler().transpile(typ, c, traversal));
|
|
80104
|
+
}
|
|
80064
80105
|
else {
|
|
80065
80106
|
ret.appendString("SourceUnknown-" + c.get().constructor.name);
|
|
80066
80107
|
}
|
|
@@ -80303,6 +80344,10 @@ class SQLCondTranspiler {
|
|
|
80303
80344
|
ret += this.sqlSource(source, traversal, filename, table);
|
|
80304
80345
|
return ret;
|
|
80305
80346
|
}
|
|
80347
|
+
if (fieldNameExpression && c.getChildren().length === 3 && c.concatTokens().toUpperCase().endsWith(" IS NULL")) {
|
|
80348
|
+
ret += fieldName + " IS NULL";
|
|
80349
|
+
return ret;
|
|
80350
|
+
}
|
|
80306
80351
|
if (fieldName === undefined || operator === undefined || source === undefined) {
|
|
80307
80352
|
throw new Error("SQL Condition, transpiler todo2, " + c.concatTokens());
|
|
80308
80353
|
}
|
|
@@ -81084,7 +81129,7 @@ exports.TypeNameOrInfer = void 0;
|
|
|
81084
81129
|
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
81085
81130
|
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
81086
81131
|
class TypeNameOrInfer {
|
|
81087
|
-
|
|
81132
|
+
findType(node, traversal) {
|
|
81088
81133
|
let type;
|
|
81089
81134
|
const scope = traversal.findCurrentScopeByToken(node.getFirstToken());
|
|
81090
81135
|
if (node.concatTokens() === "#") {
|
|
@@ -81096,6 +81141,10 @@ class TypeNameOrInfer {
|
|
|
81096
81141
|
if (type === undefined) {
|
|
81097
81142
|
throw new Error("TypeNameOrInfer, type not found: " + node.concatTokens());
|
|
81098
81143
|
}
|
|
81144
|
+
return type;
|
|
81145
|
+
}
|
|
81146
|
+
transpile(node, traversal) {
|
|
81147
|
+
const type = this.findType(node, traversal);
|
|
81099
81148
|
const ret = new chunk_1.Chunk();
|
|
81100
81149
|
ret.appendString(transpile_types_1.TranspileTypes.toType(type));
|
|
81101
81150
|
return ret;
|
|
@@ -81106,6 +81155,90 @@ exports.TypeNameOrInfer = TypeNameOrInfer;
|
|
|
81106
81155
|
|
|
81107
81156
|
/***/ }),
|
|
81108
81157
|
|
|
81158
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/value_body.js":
|
|
81159
|
+
/*!*******************************************************************************!*\
|
|
81160
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/value_body.js ***!
|
|
81161
|
+
\*******************************************************************************/
|
|
81162
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
81163
|
+
|
|
81164
|
+
"use strict";
|
|
81165
|
+
|
|
81166
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
81167
|
+
exports.ValueBodyTranspiler = void 0;
|
|
81168
|
+
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
81169
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
81170
|
+
const type_name_or_infer_1 = __webpack_require__(/*! ./type_name_or_infer */ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js");
|
|
81171
|
+
const value_body_line_1 = __webpack_require__(/*! ./value_body_line */ "./node_modules/@abaplint/transpiler/build/src/expressions/value_body_line.js");
|
|
81172
|
+
const field_assignment_1 = __webpack_require__(/*! ./field_assignment */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_assignment.js");
|
|
81173
|
+
class ValueBodyTranspiler {
|
|
81174
|
+
transpile(typ, body, traversal) {
|
|
81175
|
+
if (!(typ.get() instanceof core_1.Expressions.TypeNameOrInfer)) {
|
|
81176
|
+
throw new Error("ValueBodyTranspiler, Expected TypeNameOrInfer");
|
|
81177
|
+
}
|
|
81178
|
+
const ret = new chunk_1.Chunk().appendString(new type_name_or_infer_1.TypeNameOrInfer().transpile(typ, traversal).getCode());
|
|
81179
|
+
const context = new type_name_or_infer_1.TypeNameOrInfer().findType(typ, traversal);
|
|
81180
|
+
for (const child of body.getChildren()) {
|
|
81181
|
+
if (child.get() instanceof core_1.Expressions.FieldAssignment && child instanceof core_1.Nodes.ExpressionNode) {
|
|
81182
|
+
ret.appendString(new field_assignment_1.FieldAssignmentTranspiler().transpile(child, traversal).getCode());
|
|
81183
|
+
}
|
|
81184
|
+
else if (child.get() instanceof core_1.Expressions.ValueBodyLine && child instanceof core_1.Nodes.ExpressionNode) {
|
|
81185
|
+
if (!(context instanceof core_1.BasicTypes.TableType)) {
|
|
81186
|
+
throw new Error("ValueBodyTranspiler, Expected BasicTypes");
|
|
81187
|
+
}
|
|
81188
|
+
const rowType = context.getRowType();
|
|
81189
|
+
ret.appendString(new value_body_line_1.ValueBodyLineTranspiler().transpile(rowType, child, traversal).getCode());
|
|
81190
|
+
}
|
|
81191
|
+
else {
|
|
81192
|
+
throw new Error("ValueBodyTranspiler, unknown " + child.get().constructor.name);
|
|
81193
|
+
}
|
|
81194
|
+
}
|
|
81195
|
+
return ret;
|
|
81196
|
+
}
|
|
81197
|
+
}
|
|
81198
|
+
exports.ValueBodyTranspiler = ValueBodyTranspiler;
|
|
81199
|
+
//# sourceMappingURL=value_body.js.map
|
|
81200
|
+
|
|
81201
|
+
/***/ }),
|
|
81202
|
+
|
|
81203
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/value_body_line.js":
|
|
81204
|
+
/*!************************************************************************************!*\
|
|
81205
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/value_body_line.js ***!
|
|
81206
|
+
\************************************************************************************/
|
|
81207
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
81208
|
+
|
|
81209
|
+
"use strict";
|
|
81210
|
+
|
|
81211
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
81212
|
+
exports.ValueBodyLineTranspiler = void 0;
|
|
81213
|
+
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
81214
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
81215
|
+
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
81216
|
+
const field_assignment_1 = __webpack_require__(/*! ./field_assignment */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_assignment.js");
|
|
81217
|
+
class ValueBodyLineTranspiler {
|
|
81218
|
+
transpile(rowType, line, traversal) {
|
|
81219
|
+
const ret = new chunk_1.Chunk();
|
|
81220
|
+
ret.appendString(`.appendThis(${transpile_types_1.TranspileTypes.toType(rowType)}`);
|
|
81221
|
+
for (const child of line.getChildren()) {
|
|
81222
|
+
if (child instanceof core_1.Nodes.TokenNode) {
|
|
81223
|
+
// last or first parenthesis
|
|
81224
|
+
continue;
|
|
81225
|
+
}
|
|
81226
|
+
else if (child.get() instanceof core_1.Expressions.FieldAssignment && child instanceof core_1.Nodes.ExpressionNode) {
|
|
81227
|
+
ret.appendString(new field_assignment_1.FieldAssignmentTranspiler().transpile(child, traversal).getCode());
|
|
81228
|
+
}
|
|
81229
|
+
else {
|
|
81230
|
+
throw new Error("ValueBodyLineTranspiler, unknown " + child.get().constructor.name);
|
|
81231
|
+
}
|
|
81232
|
+
}
|
|
81233
|
+
ret.appendString(`)`);
|
|
81234
|
+
return ret;
|
|
81235
|
+
}
|
|
81236
|
+
}
|
|
81237
|
+
exports.ValueBodyLineTranspiler = ValueBodyLineTranspiler;
|
|
81238
|
+
//# sourceMappingURL=value_body_line.js.map
|
|
81239
|
+
|
|
81240
|
+
/***/ }),
|
|
81241
|
+
|
|
81109
81242
|
/***/ "./node_modules/@abaplint/transpiler/build/src/feature_flags.js":
|
|
81110
81243
|
/*!**********************************************************************!*\
|
|
81111
81244
|
!*** ./node_modules/@abaplint/transpiler/build/src/feature_flags.js ***!
|
|
@@ -82452,7 +82585,8 @@ class AppendTranspiler {
|
|
|
82452
82585
|
}
|
|
82453
82586
|
else {
|
|
82454
82587
|
const options = [];
|
|
82455
|
-
const s = node.findDirectExpression(abaplint.Expressions.SimpleSource4)
|
|
82588
|
+
const s = node.findDirectExpression(abaplint.Expressions.SimpleSource4)
|
|
82589
|
+
|| node.findDirectExpression(abaplint.Expressions.Source);
|
|
82456
82590
|
if (s) {
|
|
82457
82591
|
const option = new chunk_1.Chunk().appendString("source: ");
|
|
82458
82592
|
option.appendChunk(traversal.traverse(s));
|
|
@@ -85433,14 +85567,14 @@ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/tr
|
|
|
85433
85567
|
class InsertInternalTranspiler {
|
|
85434
85568
|
transpile(node, traversal) {
|
|
85435
85569
|
const options = [];
|
|
85436
|
-
|
|
85570
|
+
const source = node.findDirectExpression(abaplint.Expressions.SimpleSource4)
|
|
85571
|
+
|| node.findDirectExpression(abaplint.Expressions.Source);
|
|
85437
85572
|
const target = node.findDirectExpression(abaplint.Expressions.Target);
|
|
85438
85573
|
const concat = node.concatTokens().toUpperCase();
|
|
85439
85574
|
if (concat.startsWith("INSERT LINES OF ")) {
|
|
85440
|
-
source = node.findDirectExpression(abaplint.Expressions.Source);
|
|
85441
85575
|
options.push("lines: true");
|
|
85442
85576
|
}
|
|
85443
|
-
if (
|
|
85577
|
+
if (concat.startsWith("INSERT INITIAL LINE ")) {
|
|
85444
85578
|
options.push("initial: true");
|
|
85445
85579
|
}
|
|
85446
85580
|
else {
|
|
@@ -86778,8 +86912,11 @@ class ReadTableTranspiler {
|
|
|
86778
86912
|
}
|
|
86779
86913
|
const rt = node.findDirectExpression(abaplint.Expressions.ReadTableTarget);
|
|
86780
86914
|
const target = rt?.findDirectExpression(abaplint.Expressions.Target);
|
|
86781
|
-
|
|
86915
|
+
let fs = rt?.findDirectExpression(abaplint.Expressions.FSTarget);
|
|
86782
86916
|
if (rt && fs) {
|
|
86917
|
+
if (fs?.getFirstChild()?.get() instanceof abaplint.Expressions.InlineFS) {
|
|
86918
|
+
fs = fs.findFirstExpression(abaplint.Expressions.TargetFieldSymbol);
|
|
86919
|
+
}
|
|
86783
86920
|
const name = new expressions_1.FieldSymbolTranspiler().transpile(fs, traversal).getCode();
|
|
86784
86921
|
extra.push("assigning: " + name);
|
|
86785
86922
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.17",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"author": "abaplint",
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@abaplint/core": "^2.113.
|
|
31
|
-
"@abaplint/transpiler": "^2.11.
|
|
30
|
+
"@abaplint/core": "^2.113.165",
|
|
31
|
+
"@abaplint/transpiler": "^2.11.17",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
33
|
"@types/node": "^24.2.1",
|
|
34
34
|
"@types/progress": "^2.0.7",
|