@abaplint/core 2.113.74 → 2.113.76
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/abaplint.d.ts +35 -4
- package/build/src/abap/2_statements/statements/call_subscreen.js +15 -0
- package/build/src/abap/2_statements/statements/field.js +14 -0
- package/build/src/abap/2_statements/statements/index.js +5 -0
- package/build/src/abap/2_statements/statements/process_after_input.js +12 -0
- package/build/src/abap/2_statements/statements/process_before_output.js +12 -0
- package/build/src/abap/2_statements/statements/process_on_value_request.js +12 -0
- package/build/src/abap/3_structures/structure_parser.js +3 -0
- package/build/src/abap/3_structures/structures/dynpro_logic.js +15 -0
- package/build/src/abap/3_structures/structures/index.js +3 -2
- package/build/src/objects/transaction.js +7 -1
- package/build/src/pretty_printer/indent.js +11 -2
- package/build/src/registry.js +1 -1
- package/package.json +2 -2
package/build/abaplint.d.ts
CHANGED
|
@@ -703,6 +703,10 @@ declare class CallSelectionScreen implements IStatement {
|
|
|
703
703
|
getMatcher(): IStatementRunnable;
|
|
704
704
|
}
|
|
705
705
|
|
|
706
|
+
declare class CallSubscreen implements IStatement {
|
|
707
|
+
getMatcher(): IStatementRunnable;
|
|
708
|
+
}
|
|
709
|
+
|
|
706
710
|
declare class CallTransaction implements IStatement {
|
|
707
711
|
getMatcher(): IStatementRunnable;
|
|
708
712
|
}
|
|
@@ -1868,6 +1872,10 @@ declare type DynproHeader = {
|
|
|
1868
1872
|
|
|
1869
1873
|
declare type DynproList = DynproHeader[];
|
|
1870
1874
|
|
|
1875
|
+
declare class DynproLogic implements IStructure {
|
|
1876
|
+
getMatcher(): IStructureRunnable;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1871
1879
|
declare class EcattTestConfiguration extends AbstractObject {
|
|
1872
1880
|
getType(): string;
|
|
1873
1881
|
getAllowedNaming(): {
|
|
@@ -2237,7 +2245,7 @@ declare namespace Expressions {
|
|
|
2237
2245
|
FieldOffset,
|
|
2238
2246
|
FieldSub,
|
|
2239
2247
|
FieldSymbol_2 as FieldSymbol,
|
|
2240
|
-
Field,
|
|
2248
|
+
Field_2 as Field,
|
|
2241
2249
|
FilterBody,
|
|
2242
2250
|
FinalMethods,
|
|
2243
2251
|
FindType,
|
|
@@ -2471,7 +2479,11 @@ declare class FetchNextCursor implements IStatement {
|
|
|
2471
2479
|
getMatcher(): IStatementRunnable;
|
|
2472
2480
|
}
|
|
2473
2481
|
|
|
2474
|
-
declare class Field
|
|
2482
|
+
declare class Field implements IStatement {
|
|
2483
|
+
getMatcher(): IStatementRunnable;
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2486
|
+
declare class Field_2 extends Expression {
|
|
2475
2487
|
getRunnable(): IStatementRunnable;
|
|
2476
2488
|
}
|
|
2477
2489
|
|
|
@@ -5230,6 +5242,18 @@ declare class PrivateSection implements IStructure {
|
|
|
5230
5242
|
getMatcher(): IStructureRunnable;
|
|
5231
5243
|
}
|
|
5232
5244
|
|
|
5245
|
+
declare class ProcessAfterInput implements IStatement {
|
|
5246
|
+
getMatcher(): IStatementRunnable;
|
|
5247
|
+
}
|
|
5248
|
+
|
|
5249
|
+
declare class ProcessBeforeOutput implements IStatement {
|
|
5250
|
+
getMatcher(): IStatementRunnable;
|
|
5251
|
+
}
|
|
5252
|
+
|
|
5253
|
+
declare class ProcessOnValueRequest implements IStatement {
|
|
5254
|
+
getMatcher(): IStatementRunnable;
|
|
5255
|
+
}
|
|
5256
|
+
|
|
5233
5257
|
declare class Program extends ABAPObject {
|
|
5234
5258
|
private parsedXML;
|
|
5235
5259
|
getType(): string;
|
|
@@ -6450,6 +6474,7 @@ declare namespace Statements {
|
|
|
6450
6474
|
Retry,
|
|
6451
6475
|
AuthorityCheck,
|
|
6452
6476
|
SetParameter,
|
|
6477
|
+
Field,
|
|
6453
6478
|
GetCursor,
|
|
6454
6479
|
CallKernel,
|
|
6455
6480
|
CallTransaction,
|
|
@@ -6459,6 +6484,9 @@ declare namespace Statements {
|
|
|
6459
6484
|
DataBegin,
|
|
6460
6485
|
DataEnd,
|
|
6461
6486
|
TypeBegin,
|
|
6487
|
+
ProcessAfterInput,
|
|
6488
|
+
ProcessBeforeOutput,
|
|
6489
|
+
ProcessOnValueRequest,
|
|
6462
6490
|
TypeEnd,
|
|
6463
6491
|
RaiseEvent,
|
|
6464
6492
|
Cleanup_2 as Cleanup,
|
|
@@ -6472,6 +6500,7 @@ declare namespace Statements {
|
|
|
6472
6500
|
DeleteMemory,
|
|
6473
6501
|
Provide_2 as Provide,
|
|
6474
6502
|
EndExec,
|
|
6503
|
+
CallSubscreen,
|
|
6475
6504
|
SortDataset,
|
|
6476
6505
|
GetPermissions,
|
|
6477
6506
|
SetLocks,
|
|
@@ -6579,9 +6608,9 @@ declare class StructureNode extends AbstractNode<StructureNode | StatementNode>
|
|
|
6579
6608
|
declare namespace Structures {
|
|
6580
6609
|
export {
|
|
6581
6610
|
Any,
|
|
6582
|
-
At,
|
|
6583
6611
|
AtFirst,
|
|
6584
6612
|
AtLast,
|
|
6613
|
+
At,
|
|
6585
6614
|
Body,
|
|
6586
6615
|
CaseType,
|
|
6587
6616
|
Case,
|
|
@@ -6596,7 +6625,7 @@ declare namespace Structures {
|
|
|
6596
6625
|
Data,
|
|
6597
6626
|
Define,
|
|
6598
6627
|
Do,
|
|
6599
|
-
|
|
6628
|
+
DynproLogic,
|
|
6600
6629
|
Else,
|
|
6601
6630
|
ElseIf,
|
|
6602
6631
|
EnhancementSection,
|
|
@@ -6624,6 +6653,7 @@ declare namespace Structures {
|
|
|
6624
6653
|
TestSeam,
|
|
6625
6654
|
Try,
|
|
6626
6655
|
TypeEnum,
|
|
6656
|
+
TypeMesh,
|
|
6627
6657
|
Types_2 as Types,
|
|
6628
6658
|
WhenType,
|
|
6629
6659
|
When,
|
|
@@ -6967,6 +6997,7 @@ declare class Transaction extends AbstractObject {
|
|
|
6967
6997
|
maxLength: number;
|
|
6968
6998
|
allowNamespace: boolean;
|
|
6969
6999
|
};
|
|
7000
|
+
getCInfo(): string | undefined;
|
|
6970
7001
|
getProgramName(): string | undefined;
|
|
6971
7002
|
getDescription(): string | undefined;
|
|
6972
7003
|
parse(): {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CallSubscreen = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const expressions_1 = require("../expressions");
|
|
6
|
+
const version_1 = require("../../../version");
|
|
7
|
+
class CallSubscreen {
|
|
8
|
+
getMatcher() {
|
|
9
|
+
const including = (0, combi_1.seq)("INCLUDING", expressions_1.Source, expressions_1.Source);
|
|
10
|
+
const ret = (0, combi_1.seq)("CALL SUBSCREEN", expressions_1.Source, (0, combi_1.optPrio)(including));
|
|
11
|
+
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.CallSubscreen = CallSubscreen;
|
|
15
|
+
//# sourceMappingURL=call_subscreen.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Field = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const expressions_1 = require("../expressions");
|
|
6
|
+
const version_1 = require("../../../version");
|
|
7
|
+
class Field {
|
|
8
|
+
getMatcher() {
|
|
9
|
+
const ret = (0, combi_1.seq)("FIELD", expressions_1.FieldSub, "MODULE", expressions_1.FormName, (0, combi_1.opt)((0, combi_1.alt)("ON INPUT", "ON REQUEST")));
|
|
10
|
+
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Field = Field;
|
|
14
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -294,6 +294,7 @@ __exportStar(require("./endfunction"), exports);
|
|
|
294
294
|
__exportStar(require("./retry"), exports);
|
|
295
295
|
__exportStar(require("./authority_check"), exports);
|
|
296
296
|
__exportStar(require("./set_parameter"), exports);
|
|
297
|
+
__exportStar(require("./field"), exports);
|
|
297
298
|
__exportStar(require("./get_cursor"), exports);
|
|
298
299
|
__exportStar(require("./call_kernel"), exports);
|
|
299
300
|
__exportStar(require("./call_transaction"), exports);
|
|
@@ -303,6 +304,9 @@ __exportStar(require("./uline"), exports);
|
|
|
303
304
|
__exportStar(require("./data_begin"), exports);
|
|
304
305
|
__exportStar(require("./data_end"), exports);
|
|
305
306
|
__exportStar(require("./type_begin"), exports);
|
|
307
|
+
__exportStar(require("./process_after_input"), exports);
|
|
308
|
+
__exportStar(require("./process_before_output"), exports);
|
|
309
|
+
__exportStar(require("./process_on_value_request"), exports);
|
|
306
310
|
__exportStar(require("./type_end"), exports);
|
|
307
311
|
__exportStar(require("./raise_event"), exports);
|
|
308
312
|
__exportStar(require("./cleanup"), exports);
|
|
@@ -316,6 +320,7 @@ __exportStar(require("./end_test_seam"), exports);
|
|
|
316
320
|
__exportStar(require("./delete_memory"), exports);
|
|
317
321
|
__exportStar(require("./provide"), exports);
|
|
318
322
|
__exportStar(require("./endexec"), exports);
|
|
323
|
+
__exportStar(require("./call_subscreen"), exports);
|
|
319
324
|
__exportStar(require("./sort_dataset"), exports);
|
|
320
325
|
__exportStar(require("./get_permissions"), exports);
|
|
321
326
|
__exportStar(require("./set_locks"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessAfterInput = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
class ProcessAfterInput {
|
|
7
|
+
getMatcher() {
|
|
8
|
+
return (0, combi_1.verNot)(version_1.Version.Cloud, "PROCESS AFTER INPUT");
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ProcessAfterInput = ProcessAfterInput;
|
|
12
|
+
//# sourceMappingURL=process_after_input.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessBeforeOutput = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
class ProcessBeforeOutput {
|
|
7
|
+
getMatcher() {
|
|
8
|
+
return (0, combi_1.verNot)(version_1.Version.Cloud, "PROCESS BEFORE OUTPUT");
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ProcessBeforeOutput = ProcessBeforeOutput;
|
|
12
|
+
//# sourceMappingURL=process_before_output.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessOnValueRequest = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
class ProcessOnValueRequest {
|
|
7
|
+
getMatcher() {
|
|
8
|
+
return (0, combi_1.verNot)(version_1.Version.Cloud, "PROCESS ON VALUE-REQUEST");
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ProcessOnValueRequest = ProcessOnValueRequest;
|
|
12
|
+
//# sourceMappingURL=process_on_value_request.js.map
|
|
@@ -29,6 +29,9 @@ class StructureParser {
|
|
|
29
29
|
else if (filename.endsWith(".intf.abap")) {
|
|
30
30
|
return new Structures.InterfaceGlobal();
|
|
31
31
|
}
|
|
32
|
+
else if (filename.match(/\.screen\_\d+\.abap$/i)) {
|
|
33
|
+
return new Structures.DynproLogic();
|
|
34
|
+
}
|
|
32
35
|
else {
|
|
33
36
|
// todo, add a special structure for TYPE-POOLS
|
|
34
37
|
return new Structures.Any();
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DynproLogic = void 0;
|
|
4
|
+
const Statements = require("../../2_statements/statements");
|
|
5
|
+
const _combi_1 = require("./_combi");
|
|
6
|
+
class DynproLogic {
|
|
7
|
+
getMatcher() {
|
|
8
|
+
const pai = (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Module), (0, _combi_1.sta)(Statements.CallSubscreen)));
|
|
9
|
+
const pbo = (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Module), (0, _combi_1.sta)(Statements.Field), (0, _combi_1.sta)(Statements.CallSubscreen)));
|
|
10
|
+
const pov = (0, _combi_1.star)((0, _combi_1.sta)(Statements.Field));
|
|
11
|
+
return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.ProcessBeforeOutput), pbo, (0, _combi_1.sta)(Statements.ProcessAfterInput), pai, (0, _combi_1.opt)((0, _combi_1.seq)((0, _combi_1.sta)(Statements.ProcessOnValueRequest), pov)));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.DynproLogic = DynproLogic;
|
|
15
|
+
//# sourceMappingURL=dynpro_logic.js.map
|
|
@@ -15,9 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./any"), exports);
|
|
18
|
-
__exportStar(require("./at"), exports);
|
|
19
18
|
__exportStar(require("./at_first"), exports);
|
|
20
19
|
__exportStar(require("./at_last"), exports);
|
|
20
|
+
__exportStar(require("./at"), exports);
|
|
21
21
|
__exportStar(require("./body"), exports);
|
|
22
22
|
__exportStar(require("./case_type"), exports);
|
|
23
23
|
__exportStar(require("./case"), exports);
|
|
@@ -32,7 +32,7 @@ __exportStar(require("./constants"), exports);
|
|
|
32
32
|
__exportStar(require("./data"), exports);
|
|
33
33
|
__exportStar(require("./define"), exports);
|
|
34
34
|
__exportStar(require("./do"), exports);
|
|
35
|
-
__exportStar(require("./
|
|
35
|
+
__exportStar(require("./dynpro_logic"), exports);
|
|
36
36
|
__exportStar(require("./else"), exports);
|
|
37
37
|
__exportStar(require("./elseif"), exports);
|
|
38
38
|
__exportStar(require("./enhancement_section"), exports);
|
|
@@ -60,6 +60,7 @@ __exportStar(require("./test_injection"), exports);
|
|
|
60
60
|
__exportStar(require("./test_seam"), exports);
|
|
61
61
|
__exportStar(require("./try"), exports);
|
|
62
62
|
__exportStar(require("./type_enum"), exports);
|
|
63
|
+
__exportStar(require("./type_mesh"), exports);
|
|
63
64
|
__exportStar(require("./types"), exports);
|
|
64
65
|
__exportStar(require("./when_type"), exports);
|
|
65
66
|
__exportStar(require("./when"), exports);
|
|
@@ -16,6 +16,11 @@ class Transaction extends _abstract_object_1.AbstractObject {
|
|
|
16
16
|
allowNamespace: true,
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
getCInfo() {
|
|
20
|
+
var _a;
|
|
21
|
+
this.parse();
|
|
22
|
+
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.cinfo;
|
|
23
|
+
}
|
|
19
24
|
getProgramName() {
|
|
20
25
|
var _a;
|
|
21
26
|
this.parse();
|
|
@@ -27,7 +32,7 @@ class Transaction extends _abstract_object_1.AbstractObject {
|
|
|
27
32
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;
|
|
28
33
|
}
|
|
29
34
|
parse() {
|
|
30
|
-
var _a, _b;
|
|
35
|
+
var _a, _b, _c;
|
|
31
36
|
if (this.parsedXML) {
|
|
32
37
|
return { updated: false, runtime: 0 };
|
|
33
38
|
}
|
|
@@ -41,6 +46,7 @@ class Transaction extends _abstract_object_1.AbstractObject {
|
|
|
41
46
|
}
|
|
42
47
|
this.parsedXML.description = (_a = parsed.abapGit["asx:abap"]["asx:values"].TSTCT) === null || _a === void 0 ? void 0 : _a.TTEXT;
|
|
43
48
|
this.parsedXML.programName = (_b = parsed.abapGit["asx:abap"]["asx:values"].TSTC) === null || _b === void 0 ? void 0 : _b.PGMNA;
|
|
49
|
+
this.parsedXML.cinfo = (_c = parsed.abapGit["asx:abap"]["asx:values"].TSTC) === null || _c === void 0 ? void 0 : _c.CINFO;
|
|
44
50
|
const end = Date.now();
|
|
45
51
|
return { updated: true, runtime: end - start };
|
|
46
52
|
}
|
|
@@ -5,6 +5,7 @@ const Statements = require("../abap/2_statements/statements");
|
|
|
5
5
|
const Expressions = require("../abap/2_statements/expressions");
|
|
6
6
|
const _statement_1 = require("../abap/2_statements/statements/_statement");
|
|
7
7
|
const virtual_position_1 = require("../virtual_position");
|
|
8
|
+
const structures_1 = require("../abap/3_structures/structures");
|
|
8
9
|
// todo, will break if there is multiple statements per line?
|
|
9
10
|
class Indent {
|
|
10
11
|
constructor(options) {
|
|
@@ -33,11 +34,13 @@ class Indent {
|
|
|
33
34
|
}
|
|
34
35
|
// returns list of expected indentation for each line/statement?
|
|
35
36
|
getExpectedIndents(file) {
|
|
37
|
+
var _a;
|
|
36
38
|
const ret = [];
|
|
37
39
|
const init = 1;
|
|
38
40
|
const stack = new Stack();
|
|
39
41
|
let indent = init;
|
|
40
42
|
let parentIsEvent = false;
|
|
43
|
+
const isDynpro = ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.get()) instanceof structures_1.DynproLogic;
|
|
41
44
|
let previousStatement = undefined;
|
|
42
45
|
for (const statement of file.getStatements()) {
|
|
43
46
|
if (statement.getFirstToken().getStart() instanceof virtual_position_1.VirtualPosition) {
|
|
@@ -75,6 +78,9 @@ class Indent {
|
|
|
75
78
|
|| type instanceof Statements.AtPF
|
|
76
79
|
|| type instanceof Statements.Initialization
|
|
77
80
|
|| type instanceof Statements.AtUserCommand
|
|
81
|
+
|| type instanceof Statements.ProcessAfterInput
|
|
82
|
+
|| type instanceof Statements.ProcessBeforeOutput
|
|
83
|
+
|| type instanceof Statements.ProcessOnValueRequest
|
|
78
84
|
|| type instanceof Statements.TopOfPage
|
|
79
85
|
|| type instanceof Statements.Get
|
|
80
86
|
|| type instanceof Statements.EndOfSelection
|
|
@@ -84,7 +90,7 @@ class Indent {
|
|
|
84
90
|
}
|
|
85
91
|
else if (type instanceof Statements.Form
|
|
86
92
|
|| (type instanceof Statements.Include && parentIsEvent)
|
|
87
|
-
|| type instanceof Statements.Module
|
|
93
|
+
|| (type instanceof Statements.Module && isDynpro === false)
|
|
88
94
|
|| type instanceof Statements.ClassImplementation
|
|
89
95
|
|| type instanceof Statements.ClassDefinition) {
|
|
90
96
|
indent = init;
|
|
@@ -129,7 +135,7 @@ class Indent {
|
|
|
129
135
|
ret.push(indent);
|
|
130
136
|
if (type instanceof Statements.If
|
|
131
137
|
|| type instanceof Statements.While
|
|
132
|
-
|| type instanceof Statements.Module
|
|
138
|
+
|| (type instanceof Statements.Module && isDynpro === false)
|
|
133
139
|
|| type instanceof Statements.SelectLoop
|
|
134
140
|
|| type instanceof Statements.FunctionModule
|
|
135
141
|
|| type instanceof Statements.Interface
|
|
@@ -139,6 +145,9 @@ class Indent {
|
|
|
139
145
|
|| type instanceof Statements.AtLast
|
|
140
146
|
|| type instanceof Statements.ExecSQL
|
|
141
147
|
|| type instanceof Statements.Catch
|
|
148
|
+
|| type instanceof Statements.ProcessAfterInput
|
|
149
|
+
|| type instanceof Statements.ProcessBeforeOutput
|
|
150
|
+
|| type instanceof Statements.ProcessOnValueRequest
|
|
142
151
|
|| type instanceof Statements.Define
|
|
143
152
|
|| type instanceof Statements.When
|
|
144
153
|
|| type instanceof Statements.WhenType
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.76",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
58
|
"eslint": "^9.16.0",
|
|
59
59
|
"mocha": "^11.0.1",
|
|
60
|
-
"c8": "^10.1.
|
|
60
|
+
"c8": "^10.1.3",
|
|
61
61
|
"source-map-support": "^0.5.21",
|
|
62
62
|
"ts-json-schema-generator": "^2.3.0",
|
|
63
63
|
"typescript": "^5.7.2"
|