@abaplint/cli 2.113.174 → 2.113.176
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 +28 -12
- package/package.json +5 -5
package/build/cli.js
CHANGED
|
@@ -27799,8 +27799,10 @@ class Select {
|
|
|
27799
27799
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
27800
27800
|
return;
|
|
27801
27801
|
}
|
|
27802
|
+
const isSingle = node.getChildren()[1].concatTokens().toUpperCase() === "SINGLE"
|
|
27803
|
+
|| node.get() instanceof Expressions.SelectLoop;
|
|
27802
27804
|
this.checkFields(fields, dbSources, input, node);
|
|
27803
|
-
this.handleInto(node, input, fields, dbSources);
|
|
27805
|
+
this.handleInto(node, input, fields, dbSources, isSingle);
|
|
27804
27806
|
const fae = node.findDirectExpression(Expressions.SQLForAllEntries);
|
|
27805
27807
|
if (fae) {
|
|
27806
27808
|
input.scope.push(_scope_type_1.ScopeType.OpenSQL, "SELECT", token.getStart(), input.filename);
|
|
@@ -27900,7 +27902,7 @@ class Select {
|
|
|
27900
27902
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
27901
27903
|
}
|
|
27902
27904
|
}
|
|
27903
|
-
static handleInto(node, input, fields, dbSources) {
|
|
27905
|
+
static handleInto(node, input, fields, dbSources, isSingle) {
|
|
27904
27906
|
const intoTable = node.findDirectExpression(Expressions.SQLIntoTable);
|
|
27905
27907
|
if (intoTable) {
|
|
27906
27908
|
const inline = intoTable.findFirstExpression(Expressions.InlineData);
|
|
@@ -27910,9 +27912,15 @@ class Select {
|
|
|
27910
27912
|
}
|
|
27911
27913
|
const intoStructure = node.findDirectExpression(Expressions.SQLIntoStructure);
|
|
27912
27914
|
if (intoStructure) {
|
|
27913
|
-
|
|
27914
|
-
|
|
27915
|
-
inline_data_1.InlineData.runSyntax(
|
|
27915
|
+
const inlineList = intoStructure.findAllExpressions(Expressions.InlineData);
|
|
27916
|
+
if (inlineList.length === 1 && fields.length === 1 && dbSources.length === 1 && isSingle === false) {
|
|
27917
|
+
inline_data_1.InlineData.runSyntax(inlineList[0], input, this.buildTableType(fields, dbSources, input.scope));
|
|
27918
|
+
}
|
|
27919
|
+
else {
|
|
27920
|
+
for (const inline of inlineList) {
|
|
27921
|
+
// todo, for now these are voided
|
|
27922
|
+
inline_data_1.InlineData.runSyntax(inline, input, basic_1.VoidType.get("SELECT_todo1"));
|
|
27923
|
+
}
|
|
27916
27924
|
}
|
|
27917
27925
|
}
|
|
27918
27926
|
const intoList = node.findDirectExpression(Expressions.SQLIntoList);
|
|
@@ -27934,7 +27942,7 @@ class Select {
|
|
|
27934
27942
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
27935
27943
|
return;
|
|
27936
27944
|
}
|
|
27937
|
-
let type = basic_1.VoidType.get("
|
|
27945
|
+
let type = basic_1.VoidType.get("SELECT_todo2");
|
|
27938
27946
|
if (isSimple.test(field.code)) {
|
|
27939
27947
|
for (const dbSource of dbSources) {
|
|
27940
27948
|
if (dbSource === undefined) {
|
|
@@ -27986,15 +27994,15 @@ class Select {
|
|
|
27986
27994
|
}
|
|
27987
27995
|
static buildTableType(fields, dbSources, scope) {
|
|
27988
27996
|
if (dbSources.length !== 1) {
|
|
27989
|
-
return basic_1.VoidType.get("
|
|
27997
|
+
return basic_1.VoidType.get("SELECT_todo3");
|
|
27990
27998
|
}
|
|
27991
27999
|
if (dbSources[0] === undefined) {
|
|
27992
28000
|
// then its a voided table
|
|
27993
|
-
return basic_1.VoidType.get("
|
|
28001
|
+
return basic_1.VoidType.get("SELECT_todo4");
|
|
27994
28002
|
}
|
|
27995
28003
|
const dbType = dbSources[0].parseType(scope.getRegistry());
|
|
27996
28004
|
if (!(dbType instanceof basic_1.StructureType)) {
|
|
27997
|
-
return basic_1.VoidType.get("
|
|
28005
|
+
return basic_1.VoidType.get("SELECT_todo5");
|
|
27998
28006
|
}
|
|
27999
28007
|
if (fields.length === 1 && fields[0].code === "*") {
|
|
28000
28008
|
return new basic_1.TableType(dbType, { withHeader: false, keyType: basic_1.TableKeyType.default }, undefined);
|
|
@@ -28005,13 +28013,13 @@ class Select {
|
|
|
28005
28013
|
for (const field of fields) {
|
|
28006
28014
|
const type = dbType.getComponentByName(field.code);
|
|
28007
28015
|
if (type === undefined) {
|
|
28008
|
-
return basic_1.VoidType.get("
|
|
28016
|
+
return basic_1.VoidType.get("SELECT_todo6");
|
|
28009
28017
|
}
|
|
28010
28018
|
components.push({ name: field.code, type });
|
|
28011
28019
|
}
|
|
28012
28020
|
return new basic_1.TableType(new basic_1.StructureType(components), { withHeader: false, keyType: basic_1.TableKeyType.default }, undefined);
|
|
28013
28021
|
}
|
|
28014
|
-
return basic_1.VoidType.get("
|
|
28022
|
+
return basic_1.VoidType.get("SELECT_todo7");
|
|
28015
28023
|
}
|
|
28016
28024
|
static findFields(node, input) {
|
|
28017
28025
|
var _a, _b;
|
|
@@ -54851,7 +54859,7 @@ class Registry {
|
|
|
54851
54859
|
}
|
|
54852
54860
|
static abaplintVersion() {
|
|
54853
54861
|
// magic, see build script "version.sh"
|
|
54854
|
-
return "2.113.
|
|
54862
|
+
return "2.113.176";
|
|
54855
54863
|
}
|
|
54856
54864
|
getDDICReferences() {
|
|
54857
54865
|
return this.ddicReferences;
|
|
@@ -62667,6 +62675,9 @@ ${indentation} output = ${uniqueName}.\n`;
|
|
|
62667
62675
|
return false;
|
|
62668
62676
|
}
|
|
62669
62677
|
replaceXsdBool(node, lowFile, highSyntax) {
|
|
62678
|
+
if (this.lowReg.getConfig().getVersion() === version_1.Version.OpenABAP) {
|
|
62679
|
+
return undefined;
|
|
62680
|
+
}
|
|
62670
62681
|
const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());
|
|
62671
62682
|
for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {
|
|
62672
62683
|
if (r.referenceType === _reference_1.ReferenceType.BuiltinMethodReference
|
|
@@ -66230,6 +66241,7 @@ class InlineDataOldVersions extends _abap_rule_1.ABAPRule {
|
|
|
66230
66241
|
runParsed(file) {
|
|
66231
66242
|
const issues = [];
|
|
66232
66243
|
if (this.reg.getConfig().getVersion() >= version_1.Version.v740sp02
|
|
66244
|
+
|| this.reg.getConfig().getVersion() === version_1.Version.OpenABAP
|
|
66233
66245
|
|| this.reg.getConfig().getVersion() === version_1.Version.Cloud) {
|
|
66234
66246
|
return [];
|
|
66235
66247
|
}
|
|
@@ -79534,6 +79546,10 @@ function _supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {
|
|
|
79534
79546
|
return 3;
|
|
79535
79547
|
}
|
|
79536
79548
|
|
|
79549
|
+
if (env.TERM === 'wezterm') {
|
|
79550
|
+
return 3;
|
|
79551
|
+
}
|
|
79552
|
+
|
|
79537
79553
|
if ('TERM_PROGRAM' in env) {
|
|
79538
79554
|
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
|
|
79539
79555
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.176",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://abaplint.org",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@abaplint/core": "^2.113.
|
|
41
|
+
"@abaplint/core": "^2.113.176",
|
|
42
42
|
"@types/chai": "^4.3.20",
|
|
43
43
|
"@types/minimist": "^1.2.5",
|
|
44
44
|
"@types/mocha": "^10.0.10",
|
|
45
|
-
"@types/node": "^24.
|
|
45
|
+
"@types/node": "^24.3.0",
|
|
46
46
|
"@types/progress": "^2.0.7",
|
|
47
47
|
"chai": "^4.5.0",
|
|
48
48
|
"p-limit": "^3.1.0",
|
|
49
|
-
"chalk": "^5.
|
|
49
|
+
"chalk": "^5.6.0",
|
|
50
50
|
"eslint": "^9.33.0",
|
|
51
51
|
"glob": "^11.0.3",
|
|
52
52
|
"json5": "^2.2.3",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"mocha": "^11.7.1",
|
|
56
56
|
"progress": "^2.0.3",
|
|
57
57
|
"typescript": "^5.9.2",
|
|
58
|
-
"webpack": "^5.101.
|
|
58
|
+
"webpack": "^5.101.2",
|
|
59
59
|
"webpack-cli": "^6.0.1",
|
|
60
60
|
"xml-js": "^1.6.11"
|
|
61
61
|
}
|