@abaplint/cli 2.113.34 → 2.113.36

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 +20 -10
  2. package/package.json +6 -6
package/build/cli.js CHANGED
@@ -4949,7 +4949,7 @@ const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/co
4949
4949
  const tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
4950
4950
  class DefinitionName extends combi_1.Expression {
4951
4951
  getRunnable() {
4952
- const r = (0, combi_1.regex)(/^((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%]+)$/);
4952
+ const r = (0, combi_1.regex)(/^&|&?((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%]+)$/);
4953
4953
  return (0, combi_1.seq)(r, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.optPrio)(r))), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.DashW)));
4954
4954
  }
4955
4955
  }
@@ -8078,7 +8078,7 @@ class SQLCompare extends combi_1.Expression {
8078
8078
  const arith = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/"), _1.SQLFieldName)));
8079
8079
  const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
8080
8080
  const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleSource3, paren)));
8081
- const rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLFunction, (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLPath, _1.SQLFieldName), (0, combi_1.optPrio)(arith)), at), (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, source)), (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), nul));
8081
+ const rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLFunction, _1.ConstantString, (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLPath, _1.SQLFieldName), (0, combi_1.optPrio)(arith)), at), (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, source)), (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), nul));
8082
8082
  const exists = (0, combi_1.seq)("EXISTS", subSelect);
8083
8083
  return (0, combi_1.altPrio)(exists, _1.Dynamic, rett);
8084
8084
  }
@@ -8458,9 +8458,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
8458
8458
  exports.SQLHaving = void 0;
8459
8459
  const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
8460
8460
  const dynamic_1 = __webpack_require__(/*! ./dynamic */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js");
8461
+ const sql_aggregation_1 = __webpack_require__(/*! ./sql_aggregation */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js");
8462
+ const sql_compare_operator_1 = __webpack_require__(/*! ./sql_compare_operator */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js");
8463
+ const sql_source_1 = __webpack_require__(/*! ./sql_source */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js");
8461
8464
  class SQLHaving extends combi_1.Expression {
8462
8465
  getRunnable() {
8463
- const having = (0, combi_1.seq)("HAVING", dynamic_1.Dynamic);
8466
+ const cond = (0, combi_1.seq)(sql_aggregation_1.SQLAggregation, sql_compare_operator_1.SQLCompareOperator, sql_source_1.SQLSource);
8467
+ const having = (0, combi_1.seq)("HAVING", (0, combi_1.altPrio)(dynamic_1.Dynamic, cond));
8464
8468
  return having;
8465
8469
  }
8466
8470
  }
@@ -10487,7 +10491,8 @@ class CallFunction {
10487
10491
  const separate = (0, combi_1.str)("AS SEPARATE UNIT");
10488
10492
  const keeping = (0, combi_1.str)("KEEPING LOGICAL UNIT OF WORK");
10489
10493
  const options = (0, combi_1.per)(starting, update, background, expressions_1.Destination, calling, performing, separate, keeping);
10490
- const dynamic = (0, combi_1.seq)("PARAMETER-TABLE", expressions_1.Source, (0, combi_1.opt)((0, combi_1.seq)("EXCEPTION-TABLE", expressions_1.Source)));
10494
+ const ex = (0, combi_1.seq)("EXCEPTION-TABLE", expressions_1.Source);
10495
+ const dynamic = (0, combi_1.alt)((0, combi_1.seq)("PARAMETER-TABLE", expressions_1.Source, (0, combi_1.opt)(ex)), ex);
10491
10496
  const call = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)("FUNCTION", (0, combi_1.verNot)(version_1.Version.Cloud, "CUSTOMER-FUNCTION")), expressions_1.FunctionName, (0, combi_1.opt)(options), (0, combi_1.alt)(expressions_1.FunctionParameters, dynamic));
10492
10497
  return call;
10493
10498
  }
@@ -14963,10 +14968,12 @@ class NewPage {
14963
14968
  const keep = (0, combi_1.seq)("KEEP IN SPOOL", expressions_1.Source);
14964
14969
  const layout = (0, combi_1.seq)("LAYOUT", expressions_1.Source);
14965
14970
  const listAuth = (0, combi_1.seq)("LIST AUTHORITY", expressions_1.Source);
14971
+ const department = (0, combi_1.seq)("DEPARTMENT", expressions_1.Source);
14972
+ const receiver = (0, combi_1.seq)("RECEIVER", expressions_1.Source);
14966
14973
  const dataset = (0, combi_1.seq)("LIST DATASET", expressions_1.Source);
14967
14974
  const name = (0, combi_1.seq)("LIST NAME", expressions_1.Source);
14968
14975
  const newList = (0, combi_1.seq)("NEW LIST IDENTIFICATION", expressions_1.Source);
14969
- const ret = (0, combi_1.seq)("NEW-PAGE", (0, combi_1.opt)((0, combi_1.per)(print, (0, combi_1.alt)("NO-TITLE", "WITH-TITLE"), (0, combi_1.alt)("NO-HEADING", "WITH-HEADING"), "NO DIALOG", parameters, listAuth, immediately, dataset, coverPage, newList, keep, name, layout, destination, coverText, archive, "NEW-SECTION", lineCount, line)));
14976
+ const ret = (0, combi_1.seq)("NEW-PAGE", (0, combi_1.opt)((0, combi_1.per)(print, (0, combi_1.alt)("NO-TITLE", "WITH-TITLE"), (0, combi_1.alt)("NO-HEADING", "WITH-HEADING"), "NO DIALOG", parameters, listAuth, immediately, dataset, coverPage, newList, keep, department, name, layout, destination, receiver, coverText, archive, "NEW-SECTION", lineCount, line)));
14970
14977
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
14971
14978
  }
14972
14979
  }
@@ -16026,7 +16033,7 @@ class ScrollList {
16026
16033
  const line = (0, combi_1.seq)("LINE", expressions_1.Source);
16027
16034
  const column = (0, combi_1.seq)("TO COLUMN", expressions_1.Source);
16028
16035
  const to = (0, combi_1.seq)("TO", (0, combi_1.alt)("FIRST PAGE", "LAST PAGE", (0, combi_1.seq)("PAGE", expressions_1.Source)));
16029
- const ret = (0, combi_1.seq)("SCROLL LIST", (0, combi_1.per)(index, (0, combi_1.alt)(to, "BACKWARD", "FORWARD"), column, line));
16036
+ const ret = (0, combi_1.seq)("SCROLL LIST", (0, combi_1.per)(index, (0, combi_1.alt)(to, "BACKWARD", "FORWARD"), (0, combi_1.alt)("LEFT", "RIGHT"), column, line));
16030
16037
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
16031
16038
  }
16032
16039
  }
@@ -40533,7 +40540,9 @@ class CDSFunction extends combi_1.Expression {
40533
40540
  const abap_system_timezone = (0, combi_1.seq)("ABAP_SYSTEM_TIMEZONE", "(", input, ",", input, ")");
40534
40541
  const abap_user_timezone = (0, combi_1.seq)("ABAP_USER_TIMEZONE", "(", input, ",", input, ",", input, ")");
40535
40542
  const mod = (0, combi_1.seq)("MOD", "(", input, ",", input, ")");
40536
- return (0, combi_1.altPrio)(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims, concat_with_space, dats_is_valid, dats_days_between, tstmp_add_seconds, tstmp_seconds_between, tstmp_current_utctimestamp, tstmp_is_valid, abap_system_timezone, abap_user_timezone, bintohex, hextobin, dats_add_days, dats_add_months, tstmp_to_dst, dats_tims_to_tstmp, mod);
40543
+ const left = (0, combi_1.seq)("LEFT", "(", input, ",", input, ")");
40544
+ const right = (0, combi_1.seq)("RIGHT", "(", input, ",", input, ")");
40545
+ return (0, combi_1.altPrio)(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims, concat_with_space, dats_is_valid, dats_days_between, tstmp_add_seconds, tstmp_seconds_between, tstmp_current_utctimestamp, tstmp_is_valid, abap_system_timezone, abap_user_timezone, bintohex, hextobin, dats_add_days, dats_add_months, tstmp_to_dst, dats_tims_to_tstmp, mod, left, right);
40537
40546
  }
40538
40547
  }
40539
40548
  exports.CDSFunction = CDSFunction;
@@ -40830,7 +40839,8 @@ exports.CDSString = void 0;
40830
40839
  const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
40831
40840
  class CDSString extends combi_1.Expression {
40832
40841
  getRunnable() {
40833
- return (0, combi_1.regex)(/^'[\w: -_]*'$/);
40842
+ // https://stackoverflow.com/a/57754227
40843
+ return (0, combi_1.regex)(/^'[A-Za-zÀ-ž\u0370-\u03FF\u0400-\u04FF: -_]*'$/);
40834
40844
  }
40835
40845
  }
40836
40846
  exports.CDSString = CDSString;
@@ -52950,7 +52960,7 @@ class Registry {
52950
52960
  }
52951
52961
  static abaplintVersion() {
52952
52962
  // magic, see build script "version.sh"
52953
- return "2.113.34";
52963
+ return "2.113.36";
52954
52964
  }
52955
52965
  getDDICReferences() {
52956
52966
  return this.ddicReferences;
@@ -89748,7 +89758,7 @@ var lib = JSON5;
89748
89758
  /******/
89749
89759
  /************************************************************************/
89750
89760
  var __webpack_exports__ = {};
89751
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
89761
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
89752
89762
  (() => {
89753
89763
  "use strict";
89754
89764
  var exports = __webpack_exports__;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.113.34",
3
+ "version": "2.113.36",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,24 +38,24 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.113.34",
41
+ "@abaplint/core": "^2.113.36",
42
42
  "@types/chai": "^4.3.20",
43
43
  "@types/glob": "^8.1.0",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mocha": "^10.0.9",
46
- "@types/node": "^22.8.4",
46
+ "@types/node": "^22.8.7",
47
47
  "@types/progress": "^2.0.7",
48
48
  "chai": "^4.5.0",
49
49
  "chalk": "^5.3.0",
50
- "eslint": "^9.13.0",
50
+ "eslint": "^9.14.0",
51
51
  "glob": "^7.2.3",
52
52
  "json5": "^2.2.3",
53
53
  "memfs": "^4.14.0",
54
54
  "minimist": "^1.2.8",
55
- "mocha": "^10.8.1",
55
+ "mocha": "^10.8.2",
56
56
  "progress": "^2.0.3",
57
57
  "typescript": "^5.6.3",
58
- "webpack": "^5.95.0",
58
+ "webpack": "^5.96.1",
59
59
  "webpack-cli": "^5.1.4",
60
60
  "xml-js": "^1.6.11"
61
61
  },