@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.
Files changed (2) hide show
  1. package/build/cli.js +28 -12
  2. 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
- for (const inline of intoStructure.findAllExpressions(Expressions.InlineData)) {
27914
- // todo, for now these are voided
27915
- inline_data_1.InlineData.runSyntax(inline, input, basic_1.VoidType.get("SELECT_todo"));
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("SELECT_todo");
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("SELECT_todo");
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("SELECT_todo");
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("SELECT_todo");
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("SELECT_todo");
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("SELECT_todo");
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.174";
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.174",
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.174",
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.2.1",
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.5.0",
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.1",
58
+ "webpack": "^5.101.2",
59
59
  "webpack-cli": "^6.0.1",
60
60
  "xml-js": "^1.6.11"
61
61
  }