@abaplint/cli 2.113.200 → 2.113.202

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 +73 -5
  2. package/package.json +4 -4
package/build/cli.js CHANGED
@@ -16685,7 +16685,7 @@ const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/
16685
16685
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
16686
16686
  class Select {
16687
16687
  getMatcher() {
16688
- const union = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("UNION", (0, combi_1.optPrio)((0, combi_1.altPrio)("DISTINCT", "ALL")), expressions_1.Select));
16688
+ const union = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("UNION", (0, combi_1.optPrio)((0, combi_1.altPrio)("DISTINCT", "ALL")), expressions_1.Select), version_1.Version.OpenABAP);
16689
16689
  return (0, combi_1.seq)(expressions_1.Select, (0, combi_1.starPrio)(union));
16690
16690
  }
16691
16691
  }
@@ -29985,6 +29985,11 @@ class Append {
29985
29985
  if (sourceType instanceof basic_1.TableType) {
29986
29986
  sourceType = sourceType.getRowType();
29987
29987
  }
29988
+ else if (!(sourceType instanceof basic_1.VoidType) && !(sourceType instanceof basic_1.UnknownType)) {
29989
+ const message = "LINES OF must be a table type";
29990
+ input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
29991
+ return;
29992
+ }
29988
29993
  if (targetType instanceof basic_1.TableType) {
29989
29994
  targetType = targetType.getRowType();
29990
29995
  }
@@ -36594,14 +36599,18 @@ exports.SELECTION_EVENTS = [
36594
36599
  Statements.EndOfPage,
36595
36600
  ];
36596
36601
  exports.DECLARATION_STUFF = [
36602
+ Statements.Type,
36603
+ Statements.TypeBegin,
36604
+ Statements.TypeEnum,
36605
+ Statements.TypeEnumBegin,
36597
36606
  Statements.Data,
36598
36607
  Statements.DataBegin,
36599
36608
  Statements.Constant,
36609
+ Statements.ConstantBegin,
36600
36610
  Statements.Tables,
36601
36611
  Statements.Include, // this is not super correct, but anyhow
36602
36612
  Statements.Parameter,
36603
36613
  Statements.SelectionScreen,
36604
- Statements.ConstantBegin,
36605
36614
  Statements.Define,
36606
36615
  ];
36607
36616
  //# sourceMappingURL=selection_events.js.map
@@ -54992,7 +55001,7 @@ class Registry {
54992
55001
  }
54993
55002
  static abaplintVersion() {
54994
55003
  // magic, see build script "version.sh"
54995
- return "2.113.200";
55004
+ return "2.113.202";
54996
55005
  }
54997
55006
  getDDICReferences() {
54998
55007
  return this.ddicReferences;
@@ -57696,6 +57705,7 @@ class CheckCommentsConf extends _basic_rule_config_1.BasicRuleConfig {
57696
57705
  super(...arguments);
57697
57706
  /** Allows the use of end-of-line comments. */
57698
57707
  this.allowEndOfLine = false;
57708
+ this.maxIssuesPerFile = 10;
57699
57709
  }
57700
57710
  }
57701
57711
  exports.CheckCommentsConf = CheckCommentsConf;
@@ -57741,6 +57751,10 @@ https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#put-comment
57741
57751
  if (this.conf.allowEndOfLine === true) {
57742
57752
  return [];
57743
57753
  }
57754
+ let max = this.getConfig().maxIssuesPerFile;
57755
+ if (max === undefined || max < 1) {
57756
+ max = 10;
57757
+ }
57744
57758
  const commentRows = [];
57745
57759
  for (let i = 0; i < rows.length; i++) {
57746
57760
  const row = rows[i];
@@ -57757,6 +57771,9 @@ https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#put-comment
57757
57771
  continue;
57758
57772
  }
57759
57773
  issues.push(issue_1.Issue.atStatement(file, statement, this.getDescription(IssueType.EndOfLine), this.getMetadata().key, this.conf.severity));
57774
+ if (issues.length >= max) {
57775
+ break;
57776
+ }
57760
57777
  }
57761
57778
  }
57762
57779
  return issues;
@@ -66017,6 +66034,7 @@ class IndentationConf extends _basic_rule_config_1.BasicRuleConfig {
66017
66034
  this.globalClassSkipFirst = false;
66018
66035
  this.ignoreGlobalClassDefinition = false;
66019
66036
  this.ignoreGlobalInterface = false;
66037
+ this.maxIssuesPerFile = 10;
66020
66038
  }
66021
66039
  }
66022
66040
  exports.IndentationConf = IndentationConf;
@@ -66059,7 +66077,10 @@ ENDCLASS.`,
66059
66077
  }
66060
66078
  runParsed(file, obj) {
66061
66079
  var _a, _b;
66062
- const MAX_ISSUES = 100;
66080
+ let max = this.getConfig().maxIssuesPerFile;
66081
+ if (max === undefined || max < 1) {
66082
+ max = 10;
66083
+ }
66063
66084
  let skip = false;
66064
66085
  if (file.getStructure() === undefined) {
66065
66086
  return []; // syntax error in file
@@ -66131,7 +66152,7 @@ ENDCLASS.`,
66131
66152
  const message = "Indentation problem, expected " + expected + " spaces";
66132
66153
  const issue = issue_1.Issue.atPosition(file, position, message, this.getMetadata().key, this.conf.severity, fix);
66133
66154
  ret.push(issue);
66134
- if (ret.length >= MAX_ISSUES) {
66155
+ if (ret.length >= max) {
66135
66156
  break;
66136
66157
  }
66137
66158
  }
@@ -66801,6 +66822,7 @@ class KeywordCaseConf extends _basic_rule_config_1.BasicRuleConfig {
66801
66822
  this.ignoreGlobalClassBoundaries = false;
66802
66823
  /** A list of keywords to be ignored */
66803
66824
  this.ignoreKeywords = [];
66825
+ this.maxIssuesPerFile = 10;
66804
66826
  }
66805
66827
  }
66806
66828
  exports.KeywordCaseConf = KeywordCaseConf;
@@ -66911,6 +66933,10 @@ class KeywordCase extends _abap_rule_1.ABAPRule {
66911
66933
  return [];
66912
66934
  }
66913
66935
  }
66936
+ let max = this.getConfig().maxIssuesPerFile;
66937
+ if (max === undefined || max < 1) {
66938
+ max = 10;
66939
+ }
66914
66940
  const skip = new Skip(this.getConfig());
66915
66941
  let prev = undefined;
66916
66942
  for (const statement of file.getStatements()) {
@@ -66933,6 +66959,9 @@ class KeywordCase extends _abap_rule_1.ABAPRule {
66933
66959
  }
66934
66960
  prev = result[0].token;
66935
66961
  }
66962
+ if (issues.length >= max) {
66963
+ break;
66964
+ }
66936
66965
  }
66937
66966
  return issues;
66938
66967
  }
@@ -67200,6 +67229,7 @@ class LineLengthConf extends _basic_rule_config_1.BasicRuleConfig {
67200
67229
  super(...arguments);
67201
67230
  /** Maximum line length in characters, trailing whitespace ignored */
67202
67231
  this.length = 120;
67232
+ this.maxIssuesPerFile = 10;
67203
67233
  }
67204
67234
  }
67205
67235
  exports.LineLengthConf = LineLengthConf;
@@ -67228,6 +67258,10 @@ https://docs.abapopenchecks.org/checks/04/`,
67228
67258
  const issues = [];
67229
67259
  // maximum line length in abap files
67230
67260
  const maxLineLength = 255;
67261
+ let max = this.getConfig().maxIssuesPerFile;
67262
+ if (max === undefined || max < 1) {
67263
+ max = 10;
67264
+ }
67231
67265
  const array = file.getRawRows();
67232
67266
  for (let rowIndex = 0; rowIndex < array.length; rowIndex++) {
67233
67267
  const row = array[rowIndex].replace("\r", "");
@@ -67239,6 +67273,9 @@ https://docs.abapopenchecks.org/checks/04/`,
67239
67273
  const message = `Reduce line length to max ${this.conf.length}, currently ${row.length}`;
67240
67274
  issues.push(issue_1.Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity));
67241
67275
  }
67276
+ if (issues.length >= max) {
67277
+ break;
67278
+ }
67242
67279
  }
67243
67280
  return issues;
67244
67281
  }
@@ -69683,6 +69720,7 @@ class NoPrefixesConf extends _basic_rule_config_1.BasicRuleConfig {
69683
69720
  /** importing, exporting, returning and changing parameters, case insensitive regex */
69684
69721
  this.methodParameters = "^[ICER].?_";
69685
69722
  this.allowIsPrefixBoolean = true;
69723
+ this.maxIssuesPerFile = 10;
69686
69724
  // todo, public localClass: string = "";
69687
69725
  // todo, public localInterface: string = "";
69688
69726
  // todo, public functionModuleParameters: string = "";
@@ -69729,21 +69767,40 @@ https://github.com/SAP/styleguides/blob/main/clean-abap/sub-sections/AvoidEncodi
69729
69767
  // syntax error, skip
69730
69768
  return [];
69731
69769
  }
69770
+ let max = config.maxIssuesPerFile;
69771
+ if (max === undefined || max < 1) {
69772
+ max = 10;
69773
+ }
69732
69774
  if (config.data !== undefined && config.data !== "") {
69733
69775
  ret.push(...this.checkData(structure, new RegExp(config.data, "i"), file));
69734
69776
  }
69777
+ if (ret.length >= max) {
69778
+ return ret;
69779
+ }
69735
69780
  if (config.statics !== undefined && config.statics !== "") {
69736
69781
  ret.push(...this.checkStatics(structure, new RegExp(config.statics, "i"), file));
69737
69782
  }
69783
+ if (ret.length >= max) {
69784
+ return ret;
69785
+ }
69738
69786
  if (config.fieldSymbols !== undefined && config.fieldSymbols !== "") {
69739
69787
  ret.push(...this.checkFieldSymbols(structure, new RegExp(config.fieldSymbols, "i"), file));
69740
69788
  }
69789
+ if (ret.length >= max) {
69790
+ return ret;
69791
+ }
69741
69792
  if (config.constants !== undefined && config.constants !== "") {
69742
69793
  ret.push(...this.checkConstants(structure, new RegExp(config.constants, "i"), file));
69743
69794
  }
69795
+ if (ret.length >= max) {
69796
+ return ret;
69797
+ }
69744
69798
  if (config.types !== undefined && config.types !== "") {
69745
69799
  ret.push(...this.checkTypes(structure, new RegExp(config.types, "i"), file));
69746
69800
  }
69801
+ if (ret.length >= max) {
69802
+ return ret;
69803
+ }
69747
69804
  if (config.methodParameters !== undefined && config.methodParameters !== "") {
69748
69805
  ret.push(...this.checkMethodParameters(structure, new RegExp(config.methodParameters, "i"), file));
69749
69806
  }
@@ -75669,6 +75726,10 @@ const _irule_1 = __webpack_require__(/*! ./_irule */ "./node_modules/@abaplint/c
75669
75726
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "./node_modules/@abaplint/core/build/src/edit_helper.js");
75670
75727
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
75671
75728
  class UnnecessaryChainingConf extends _basic_rule_config_1.BasicRuleConfig {
75729
+ constructor() {
75730
+ super(...arguments);
75731
+ this.maxIssuesPerFile = 10;
75732
+ }
75672
75733
  }
75673
75734
  exports.UnnecessaryChainingConf = UnnecessaryChainingConf;
75674
75735
  class UnnecessaryChaining extends _abap_rule_1.ABAPRule {
@@ -75695,6 +75756,10 @@ class UnnecessaryChaining extends _abap_rule_1.ABAPRule {
75695
75756
  }
75696
75757
  runParsed(file) {
75697
75758
  const issues = [];
75759
+ let max = this.getConfig().maxIssuesPerFile;
75760
+ if (max === undefined || max < 1) {
75761
+ max = 10;
75762
+ }
75698
75763
  const statements = file.getStatements();
75699
75764
  for (let i = 0; i < statements.length; i++) {
75700
75765
  const colon = statements[i].getColon();
@@ -75725,6 +75790,9 @@ class UnnecessaryChaining extends _abap_rule_1.ABAPRule {
75725
75790
  const message = "Unnecessary chaining";
75726
75791
  const issue = issue_1.Issue.atToken(file, colon, message, this.getMetadata().key, this.conf.severity, fix);
75727
75792
  issues.push(issue);
75793
+ if (issues.length >= max) {
75794
+ break;
75795
+ }
75728
75796
  }
75729
75797
  return issues;
75730
75798
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.113.200",
3
+ "version": "2.113.202",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,11 +38,11 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.113.200",
41
+ "@abaplint/core": "^2.113.202",
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.3.1",
45
+ "@types/node": "^24.4.0",
46
46
  "@types/progress": "^2.0.7",
47
47
  "chai": "^4.5.0",
48
48
  "p-limit": "^3.1.0",
@@ -50,7 +50,7 @@
50
50
  "eslint": "^9.35.0",
51
51
  "glob": "^11.0.3",
52
52
  "json5": "^2.2.3",
53
- "memfs": "^4.38.2",
53
+ "memfs": "^4.39.0",
54
54
  "minimist": "^1.2.8",
55
55
  "mocha": "^11.7.2",
56
56
  "progress": "^2.0.3",