@sasjs/lint 2.4.1 → 2.4.2

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 (101) hide show
  1. package/.github/dependabot.yml +1 -1
  2. package/.github/reviewer-lottery.yml +0 -2
  3. package/.github/workflows/assign-reviewer.yml +2 -2
  4. package/format/formatFile.d.ts +1 -1
  5. package/format/formatFile.js +24 -72
  6. package/format/formatFile.js.map +1 -1
  7. package/format/formatFolder.d.ts +1 -1
  8. package/format/formatFolder.js +36 -104
  9. package/format/formatFolder.js.map +1 -1
  10. package/format/formatProject.js +10 -45
  11. package/format/formatProject.js.map +1 -1
  12. package/format/formatText.d.ts +1 -1
  13. package/format/formatText.js +6 -46
  14. package/format/formatText.js.map +1 -1
  15. package/format/index.js +5 -1
  16. package/format/index.js.map +1 -1
  17. package/format/shared.js +16 -16
  18. package/format/shared.js.map +1 -1
  19. package/formatExample.js +10 -6
  20. package/formatExample.js.map +1 -1
  21. package/index.js +5 -1
  22. package/index.js.map +1 -1
  23. package/lint/index.js +5 -1
  24. package/lint/index.js.map +1 -1
  25. package/lint/lintFile.d.ts +1 -1
  26. package/lint/lintFile.js +12 -76
  27. package/lint/lintFile.js.map +1 -1
  28. package/lint/lintFolder.d.ts +1 -1
  29. package/lint/lintFolder.js +23 -114
  30. package/lint/lintFolder.js.map +1 -1
  31. package/lint/lintProject.js +10 -45
  32. package/lint/lintProject.js.map +1 -1
  33. package/lint/lintText.js +6 -40
  34. package/lint/lintText.js.map +1 -1
  35. package/lint/shared.js +24 -45
  36. package/lint/shared.js.map +1 -1
  37. package/lintExample.js +45 -5
  38. package/lintExample.js.map +1 -1
  39. package/package.json +3 -3
  40. package/rules/file/hasDoxygenHeader.js +29 -29
  41. package/rules/file/hasDoxygenHeader.js.map +1 -1
  42. package/rules/file/hasMacroNameInMend.js +59 -59
  43. package/rules/file/hasMacroNameInMend.js.map +1 -1
  44. package/rules/file/hasMacroParentheses.js +25 -27
  45. package/rules/file/hasMacroParentheses.js.map +1 -1
  46. package/rules/file/hasRequiredMacroOptions.js +20 -20
  47. package/rules/file/hasRequiredMacroOptions.js.map +1 -1
  48. package/rules/file/lineEndings.js +27 -27
  49. package/rules/file/lineEndings.js.map +1 -1
  50. package/rules/file/noNestedMacros.js +23 -23
  51. package/rules/file/noNestedMacros.js.map +1 -1
  52. package/rules/file/strictMacroDefinition.js +52 -57
  53. package/rules/file/strictMacroDefinition.js.map +1 -1
  54. package/rules/line/indentationMultiple.js +16 -16
  55. package/rules/line/indentationMultiple.js.map +1 -1
  56. package/rules/line/maxLineLength.js +16 -16
  57. package/rules/line/maxLineLength.js.map +1 -1
  58. package/rules/line/noEncodedPasswords.js +18 -18
  59. package/rules/line/noEncodedPasswords.js.map +1 -1
  60. package/rules/line/noGremlins.js +29 -69
  61. package/rules/line/noGremlins.js.map +1 -1
  62. package/rules/line/noTabs.js +19 -19
  63. package/rules/line/noTabs.js.map +1 -1
  64. package/rules/line/noTrailingSpaces.js +16 -16
  65. package/rules/line/noTrailingSpaces.js.map +1 -1
  66. package/rules/path/lowerCaseFileNames.js +15 -15
  67. package/rules/path/lowerCaseFileNames.js.map +1 -1
  68. package/rules/path/noSpacesInFileNames.js +15 -15
  69. package/rules/path/noSpacesInFileNames.js.map +1 -1
  70. package/types/LintConfig.js +28 -68
  71. package/types/LintConfig.js.map +1 -1
  72. package/types/index.js +5 -1
  73. package/types/index.js.map +1 -1
  74. package/utils/asyncForEach.js +4 -46
  75. package/utils/asyncForEach.js.map +1 -1
  76. package/utils/getColumnNumber.js +3 -3
  77. package/utils/getColumnNumber.js.map +1 -1
  78. package/utils/getDataSectionsDetail.js +16 -38
  79. package/utils/getDataSectionsDetail.js.map +1 -1
  80. package/utils/getHeaderLinesCount.js +8 -30
  81. package/utils/getHeaderLinesCount.js.map +1 -1
  82. package/utils/getIndicesOf.js +3 -4
  83. package/utils/getIndicesOf.js.map +1 -1
  84. package/utils/getLintConfig.js +14 -52
  85. package/utils/getLintConfig.js.map +1 -1
  86. package/utils/getProjectRoot.js +22 -59
  87. package/utils/getProjectRoot.js.map +1 -1
  88. package/utils/index.js +5 -1
  89. package/utils/index.js.map +1 -1
  90. package/utils/isIgnored.d.ts +1 -1
  91. package/utils/isIgnored.js +20 -67
  92. package/utils/isIgnored.js.map +1 -1
  93. package/utils/listSasFiles.js +5 -39
  94. package/utils/listSasFiles.js.map +1 -1
  95. package/utils/parseMacros.d.ts +1 -1
  96. package/utils/parseMacros.js +29 -50
  97. package/utils/parseMacros.js.map +1 -1
  98. package/utils/splitText.js +4 -4
  99. package/utils/splitText.js.map +1 -1
  100. package/utils/trimComments.js +8 -10
  101. package/utils/trimComments.js.map +1 -1
@@ -1,33 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.noNestedMacros = void 0;
4
- var LintRuleType_1 = require("../../types/LintRuleType");
5
- var Severity_1 = require("../../types/Severity");
6
- var getColumnNumber_1 = require("../../utils/getColumnNumber");
7
- var parseMacros_1 = require("../../utils/parseMacros");
8
- var LineEndings_1 = require("../../types/LineEndings");
9
- var name = 'noNestedMacros';
10
- var description = 'Enfoces the absence of nested macro definitions.';
11
- var message = "Macro definition for '{macro}' present in macro '{parent}'";
12
- var test = function (value, config) {
13
- var lineEnding = (config === null || config === void 0 ? void 0 : config.lineEndings) === LineEndings_1.LineEndings.CRLF ? '\r\n' : '\n';
14
- var lines = value ? value.split(lineEnding) : [];
15
- var diagnostics = [];
16
- var macros = parseMacros_1.parseMacros(value, config);
17
- var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
4
+ const LintRuleType_1 = require("../../types/LintRuleType");
5
+ const Severity_1 = require("../../types/Severity");
6
+ const getColumnNumber_1 = require("../../utils/getColumnNumber");
7
+ const parseMacros_1 = require("../../utils/parseMacros");
8
+ const LineEndings_1 = require("../../types/LineEndings");
9
+ const name = 'noNestedMacros';
10
+ const description = 'Enfoces the absence of nested macro definitions.';
11
+ const message = `Macro definition for '{macro}' present in macro '{parent}'`;
12
+ const test = (value, config) => {
13
+ const lineEnding = (config === null || config === void 0 ? void 0 : config.lineEndings) === LineEndings_1.LineEndings.CRLF ? '\r\n' : '\n';
14
+ const lines = value ? value.split(lineEnding) : [];
15
+ const diagnostics = [];
16
+ const macros = (0, parseMacros_1.parseMacros)(value, config);
17
+ const severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
18
18
  macros
19
- .filter(function (m) { return !!m.parentMacro; })
20
- .forEach(function (macro) {
19
+ .filter((m) => !!m.parentMacro)
20
+ .forEach((macro) => {
21
21
  diagnostics.push({
22
22
  message: message
23
23
  .replace('{macro}', macro.name)
24
24
  .replace('{parent}', macro.parentMacro),
25
25
  lineNumber: macro.startLineNumbers[0],
26
- startColumnNumber: getColumnNumber_1.getColumnNumber(lines[macro.startLineNumbers[0] - 1], '%macro'),
27
- endColumnNumber: getColumnNumber_1.getColumnNumber(lines[macro.startLineNumbers[0] - 1], '%macro') +
26
+ startColumnNumber: (0, getColumnNumber_1.getColumnNumber)(lines[macro.startLineNumbers[0] - 1], '%macro'),
27
+ endColumnNumber: (0, getColumnNumber_1.getColumnNumber)(lines[macro.startLineNumbers[0] - 1], '%macro') +
28
28
  lines[macro.startLineNumbers[0] - 1].trim().length -
29
29
  1,
30
- severity: severity
30
+ severity
31
31
  });
32
32
  });
33
33
  return diagnostics;
@@ -37,9 +37,9 @@ var test = function (value, config) {
37
37
  */
38
38
  exports.noNestedMacros = {
39
39
  type: LintRuleType_1.LintRuleType.File,
40
- name: name,
41
- description: description,
42
- message: message,
43
- test: test
40
+ name,
41
+ description,
42
+ message,
43
+ test
44
44
  };
45
45
  //# sourceMappingURL=noNestedMacros.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"noNestedMacros.js","sourceRoot":"","sources":["../../../src/rules/file/noNestedMacros.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAErD,uDAAqD;AAErD,IAAM,IAAI,GAAG,gBAAgB,CAAA;AAC7B,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,4DAA4D,CAAA;AAE5E,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,IAAM,KAAK,GAAa,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5D,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,IAAM,MAAM,GAAG,yBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAEhE,MAAM;SACH,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,WAAW,EAAf,CAAe,CAAC;SAC9B,OAAO,CAAC,UAAC,KAAK;QACb,WAAW,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,OAAO;iBACb,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;iBAC9B,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC;YACzC,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAW;YAChD,iBAAiB,EAAE,iCAAe,CAChC,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;YACD,eAAe,EACb,iCAAe,CACb,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;gBACD,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM;gBAC/D,CAAC;YACH,QAAQ,UAAA;SACT,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACJ,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,cAAc,GAAiB;IAC1C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
1
+ {"version":3,"file":"noNestedMacros.js","sourceRoot":"","sources":["../../../src/rules/file/noNestedMacros.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,mDAA+C;AAC/C,iEAA6D;AAC7D,yDAAqD;AAErD,yDAAqD;AAErD,MAAM,IAAI,GAAG,gBAAgB,CAAA;AAC7B,MAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,MAAM,OAAO,GAAG,4DAA4D,CAAA;AAE5E,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,MAAmB,EAAE,EAAE;IAClD,MAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,MAAM,KAAK,GAAa,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5D,MAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAEhE,MAAM;SACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;SAC9B,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,WAAW,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,OAAO;iBACb,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;iBAC9B,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC;YACzC,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAW;YAChD,iBAAiB,EAAE,IAAA,iCAAe,EAChC,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;YACD,eAAe,EACb,IAAA,iCAAe,EACb,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;gBACD,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM;gBAC/D,CAAC;YACH,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACJ,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,cAAc,GAAiB;IAC1C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;IACP,IAAI;CACL,CAAA"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.strictMacroDefinition = void 0;
4
- var types_1 = require("../../types");
5
- var LintRuleType_1 = require("../../types/LintRuleType");
6
- var parseMacros_1 = require("../../utils/parseMacros");
7
- var name = 'strictMacroDefinition';
8
- var description = 'Enforce strictly rules of macro definition syntax.';
9
- var message = 'Incorrent Macro Definition Syntax';
10
- var validOptions = [
4
+ const types_1 = require("../../types");
5
+ const LintRuleType_1 = require("../../types/LintRuleType");
6
+ const parseMacros_1 = require("../../utils/parseMacros");
7
+ const name = 'strictMacroDefinition';
8
+ const description = 'Enforce strictly rules of macro definition syntax.';
9
+ const message = 'Incorrent Macro Definition Syntax';
10
+ const validOptions = [
11
11
  'CMD',
12
12
  'DES',
13
13
  'MINDELIMITER',
@@ -21,43 +21,38 @@ var validOptions = [
21
21
  'SRC',
22
22
  'STORE'
23
23
  ];
24
- var processParams = function (content, macro, diagnostics, config) {
25
- var declaration = macro.declaration;
26
- var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
27
- var regExpParams = new RegExp(/(?<=\().*(?=\))/);
28
- var regExpParamsResult = regExpParams.exec(declaration);
29
- var _declaration = declaration;
24
+ const processParams = (content, macro, diagnostics, config) => {
25
+ const declaration = macro.declaration;
26
+ const severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
27
+ const regExpParams = new RegExp(/(?<=\().*(?=\))/);
28
+ const regExpParamsResult = regExpParams.exec(declaration);
29
+ let _declaration = declaration;
30
30
  if (regExpParamsResult) {
31
- var paramsPresent = regExpParamsResult[0];
32
- var params = paramsPresent.trim().split(',');
33
- params.forEach(function (param) {
34
- var trimedParam = param.split('=')[0].trim();
35
- var paramLineNumber = 1, paramStartIndex = 1, paramEndIndex = content.length;
36
- if (macro.declarationLines.findIndex(function (dl) { return dl.indexOf(trimedParam) !== -1; }) === -1) {
37
- var comment = '/\\*(.*?)\\*/';
38
- var _loop_1 = function (i) {
39
- var paramWithComment = trimedParam.slice(0, i) + comment + trimedParam.slice(i);
40
- var regEx = new RegExp(paramWithComment);
41
- var declarationLineIndex = macro.declarationLines.findIndex(function (dl) { return !!regEx.exec(dl); });
31
+ const paramsPresent = regExpParamsResult[0];
32
+ const params = paramsPresent.trim().split(',');
33
+ params.forEach((param) => {
34
+ const trimedParam = param.split('=')[0].trim();
35
+ let paramLineNumber = 1, paramStartIndex = 1, paramEndIndex = content.length;
36
+ if (macro.declarationLines.findIndex((dl) => dl.indexOf(trimedParam) !== -1) === -1) {
37
+ const comment = '/\\*(.*?)\\*/';
38
+ for (let i = 1; i < trimedParam.length; i++) {
39
+ const paramWithComment = trimedParam.slice(0, i) + comment + trimedParam.slice(i);
40
+ const regEx = new RegExp(paramWithComment);
41
+ const declarationLineIndex = macro.declarationLines.findIndex((dl) => !!regEx.exec(dl));
42
42
  if (declarationLineIndex !== -1) {
43
- var declarationLine = macro.declarationLines[declarationLineIndex];
44
- var partFound = regEx.exec(declarationLine)[0];
43
+ const declarationLine = macro.declarationLines[declarationLineIndex];
44
+ const partFound = regEx.exec(declarationLine)[0];
45
45
  paramLineNumber = macro.startLineNumbers[declarationLineIndex];
46
46
  paramStartIndex = declarationLine.indexOf(partFound);
47
47
  paramEndIndex =
48
48
  declarationLine.indexOf(partFound) + partFound.length;
49
- return "break";
50
- }
51
- };
52
- for (var i = 1; i < trimedParam.length; i++) {
53
- var state_1 = _loop_1(i);
54
- if (state_1 === "break")
55
49
  break;
50
+ }
56
51
  }
57
52
  }
58
53
  else {
59
- var declarationLineIndex = macro.declarationLines.findIndex(function (dl) { return dl.indexOf(trimedParam) !== -1; });
60
- var declarationLine = macro.declarationLines[declarationLineIndex];
54
+ const declarationLineIndex = macro.declarationLines.findIndex((dl) => dl.indexOf(trimedParam) !== -1);
55
+ const declarationLine = macro.declarationLines[declarationLineIndex];
61
56
  paramLineNumber = macro.startLineNumbers[declarationLineIndex];
62
57
  paramStartIndex = declarationLine.indexOf(trimedParam);
63
58
  paramEndIndex =
@@ -65,25 +60,25 @@ var processParams = function (content, macro, diagnostics, config) {
65
60
  }
66
61
  if (trimedParam.includes(' ')) {
67
62
  diagnostics.push({
68
- message: "Param '" + trimedParam + "' cannot have space",
63
+ message: `Param '${trimedParam}' cannot have space`,
69
64
  lineNumber: paramLineNumber,
70
65
  startColumnNumber: paramStartIndex + 1,
71
66
  endColumnNumber: paramEndIndex,
72
- severity: severity
67
+ severity
73
68
  });
74
69
  }
75
70
  });
76
- _declaration = declaration.split("(" + paramsPresent + ")")[1];
71
+ _declaration = declaration.split(`(${paramsPresent})`)[1];
77
72
  }
78
73
  return _declaration;
79
74
  };
80
- var processOptions = function (_declaration, macro, diagnostics, config) {
75
+ const processOptions = (_declaration, macro, diagnostics, config) => {
81
76
  var _a, _b, _c;
82
- var optionsPresent = (_b = (_a = _declaration.split('/')) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim();
83
- var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
77
+ let optionsPresent = (_b = (_a = _declaration.split('/')) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim();
78
+ const severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
84
79
  if (optionsPresent) {
85
- var regex = new RegExp(/=["|'](.*?)["|']/, 'g');
86
- var result = regex.exec(optionsPresent);
80
+ const regex = new RegExp(/=["|'](.*?)["|']/, 'g');
81
+ let result = regex.exec(optionsPresent);
87
82
  // removing Option's `="..."` part, e.g. des="..."
88
83
  while (result) {
89
84
  optionsPresent =
@@ -92,27 +87,27 @@ var processOptions = function (_declaration, macro, diagnostics, config) {
92
87
  result = regex.exec(optionsPresent);
93
88
  }
94
89
  (_c = optionsPresent
95
- .split(' ')) === null || _c === void 0 ? void 0 : _c.filter(function (o) { return !!o; }).forEach(function (option) {
96
- var trimmedOption = option.trim();
90
+ .split(' ')) === null || _c === void 0 ? void 0 : _c.filter((o) => !!o).forEach((option) => {
91
+ const trimmedOption = option.trim();
97
92
  if (!validOptions.includes(trimmedOption.toUpperCase())) {
98
- var declarationLineIndex = macro.declarationLines.findIndex(function (dl) { return dl.indexOf(trimmedOption) !== -1; });
99
- var declarationLine = macro.declarationLines[declarationLineIndex];
93
+ const declarationLineIndex = macro.declarationLines.findIndex((dl) => dl.indexOf(trimmedOption) !== -1);
94
+ const declarationLine = macro.declarationLines[declarationLineIndex];
100
95
  diagnostics.push({
101
- message: "Option '" + trimmedOption + "' is not valid",
96
+ message: `Option '${trimmedOption}' is not valid`,
102
97
  lineNumber: macro.startLineNumbers[declarationLineIndex],
103
98
  startColumnNumber: declarationLine.indexOf(trimmedOption) + 1,
104
99
  endColumnNumber: declarationLine.indexOf(trimmedOption) + trimmedOption.length,
105
- severity: severity
100
+ severity
106
101
  });
107
102
  }
108
103
  });
109
104
  }
110
105
  };
111
- var test = function (value, config) {
112
- var diagnostics = [];
113
- var macros = parseMacros_1.parseMacros(value, config);
114
- macros.forEach(function (macro) {
115
- var _declaration = processParams(value, macro, diagnostics, config);
106
+ const test = (value, config) => {
107
+ const diagnostics = [];
108
+ const macros = (0, parseMacros_1.parseMacros)(value, config);
109
+ macros.forEach((macro) => {
110
+ const _declaration = processParams(value, macro, diagnostics, config);
116
111
  processOptions(_declaration, macro, diagnostics, config);
117
112
  });
118
113
  return diagnostics;
@@ -122,9 +117,9 @@ var test = function (value, config) {
122
117
  */
123
118
  exports.strictMacroDefinition = {
124
119
  type: LintRuleType_1.LintRuleType.File,
125
- name: name,
126
- description: description,
127
- message: message,
128
- test: test
120
+ name,
121
+ description,
122
+ message,
123
+ test
129
124
  };
130
125
  //# sourceMappingURL=strictMacroDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strictMacroDefinition.js","sourceRoot":"","sources":["../../../src/rules/file/strictMacroDefinition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strictMacroDefinition.js","sourceRoot":"","sources":["../../../src/rules/file/strictMacroDefinition.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.indentationMultiple = void 0;
4
- var LintRuleType_1 = require("../../types/LintRuleType");
5
- var Severity_1 = require("../../types/Severity");
6
- var name = 'indentationMultiple';
7
- var description = 'Ensure indentation by a multiple of the configured number.';
8
- var message = 'Line has incorrect indentation';
9
- var test = function (value, lineNumber, config) {
4
+ const LintRuleType_1 = require("../../types/LintRuleType");
5
+ const Severity_1 = require("../../types/Severity");
6
+ const name = 'indentationMultiple';
7
+ const description = 'Ensure indentation by a multiple of the configured number.';
8
+ const message = 'Line has incorrect indentation';
9
+ const test = (value, lineNumber, config) => {
10
10
  if (!value.startsWith(' '))
11
11
  return [];
12
- var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
13
- var indentationMultiple = isNaN(config === null || config === void 0 ? void 0 : config.indentationMultiple)
12
+ const severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
13
+ const indentationMultiple = isNaN(config === null || config === void 0 ? void 0 : config.indentationMultiple)
14
14
  ? 2
15
15
  : config.indentationMultiple;
16
16
  if (indentationMultiple === 0)
17
17
  return [];
18
- var numberOfSpaces = value.search(/\S|$/);
18
+ const numberOfSpaces = value.search(/\S|$/);
19
19
  if (numberOfSpaces % indentationMultiple === 0)
20
20
  return [];
21
21
  return [
22
22
  {
23
- message: message + " - " + numberOfSpaces + " " + (numberOfSpaces === 1 ? 'space' : 'spaces'),
24
- lineNumber: lineNumber,
23
+ message: `${message} - ${numberOfSpaces} ${numberOfSpaces === 1 ? 'space' : 'spaces'}`,
24
+ lineNumber,
25
25
  startColumnNumber: 1,
26
26
  endColumnNumber: 1,
27
- severity: severity
27
+ severity
28
28
  }
29
29
  ];
30
30
  };
@@ -33,9 +33,9 @@ var test = function (value, lineNumber, config) {
33
33
  */
34
34
  exports.indentationMultiple = {
35
35
  type: LintRuleType_1.LintRuleType.Line,
36
- name: name,
37
- description: description,
38
- message: message,
39
- test: test
36
+ name,
37
+ description,
38
+ message,
39
+ test
40
40
  };
41
41
  //# sourceMappingURL=indentationMultiple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indentationMultiple.js","sourceRoot":"","sources":["../../../src/rules/line/indentationMultiple.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,IAAM,OAAO,GAAG,gCAAgC,CAAA;AAEhD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAErC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAA6B,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAO,CAAC,mBAAmB,CAAA;IAE/B,IAAI,mBAAmB,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACxC,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,cAAc,GAAG,mBAAoB,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC1D,OAAO;QACL;YACE,OAAO,EAAK,OAAO,WAAM,cAAc,UACrC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CACzC;YACF,UAAU,YAAA;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAiB;IAC/C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
1
+ {"version":3,"file":"indentationMultiple.js","sourceRoot":"","sources":["../../../src/rules/line/indentationMultiple.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,mDAA+C;AAE/C,MAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,MAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,MAAM,OAAO,GAAG,gCAAgC,CAAA;AAEhD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB,EAAE,EAAE;IACtE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAErC,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAA6B,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAO,CAAC,mBAAmB,CAAA;IAE/B,IAAI,mBAAmB,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACxC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,cAAc,GAAG,mBAAoB,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC1D,OAAO;QACL;YACE,OAAO,EAAE,GAAG,OAAO,MAAM,cAAc,IACrC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QACnC,EAAE;YACF,UAAU;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,mBAAmB,GAAiB;IAC/C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;IACP,IAAI;CACL,CAAA"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.maxLineLength = void 0;
4
- var LintRuleType_1 = require("../../types/LintRuleType");
5
- var Severity_1 = require("../../types/Severity");
6
- var utils_1 = require("../../utils");
7
- var name = 'maxLineLength';
8
- var description = 'Restrict lines to the specified length.';
9
- var message = 'Line exceeds maximum length';
10
- var test = function (value, lineNumber, config, options) {
11
- var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
12
- var maxLineLength = utils_1.DefaultLintConfiguration.maxLineLength;
4
+ const LintRuleType_1 = require("../../types/LintRuleType");
5
+ const Severity_1 = require("../../types/Severity");
6
+ const utils_1 = require("../../utils");
7
+ const name = 'maxLineLength';
8
+ const description = 'Restrict lines to the specified length.';
9
+ const message = 'Line exceeds maximum length';
10
+ const test = (value, lineNumber, config, options) => {
11
+ const severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
12
+ let maxLineLength = utils_1.DefaultLintConfiguration.maxLineLength;
13
13
  if (config) {
14
14
  if (options === null || options === void 0 ? void 0 : options.isHeaderLine) {
15
15
  maxLineLength = Math.max(config.maxLineLength, config.maxHeaderLineLength);
@@ -25,11 +25,11 @@ var test = function (value, lineNumber, config, options) {
25
25
  return [];
26
26
  return [
27
27
  {
28
- message: message + " by " + (value.length - maxLineLength) + " characters",
29
- lineNumber: lineNumber,
28
+ message: `${message} by ${value.length - maxLineLength} characters`,
29
+ lineNumber,
30
30
  startColumnNumber: 1,
31
31
  endColumnNumber: 1,
32
- severity: severity
32
+ severity
33
33
  }
34
34
  ];
35
35
  };
@@ -38,9 +38,9 @@ var test = function (value, lineNumber, config, options) {
38
38
  */
39
39
  exports.maxLineLength = {
40
40
  type: LintRuleType_1.LintRuleType.Line,
41
- name: name,
42
- description: description,
43
- message: message,
44
- test: test
41
+ name,
42
+ description,
43
+ message,
44
+ test
45
45
  };
46
46
  //# sourceMappingURL=maxLineLength.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maxLineLength.js","sourceRoot":"","sources":["../../../src/rules/line/maxLineLength.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,qCAAsD;AAEtD,IAAM,IAAI,GAAG,eAAe,CAAA;AAC5B,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,6BAA6B,CAAA;AAE7C,IAAM,IAAI,GAAG,UACX,KAAa,EACb,UAAkB,EAClB,MAAmB,EACnB,OAA6B;IAE7B,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAI,aAAa,GAAG,gCAAwB,CAAC,aAAa,CAAA;IAE1D,IAAI,MAAM,EAAE;QACV,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;YACzB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;SAC3E;aAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;YAC9B,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;SACzE;aAAM;YACL,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;SACrC;KACF;IAED,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa;QAAE,OAAO,EAAE,CAAA;IAC5C,OAAO;QACL;YACE,OAAO,EAAK,OAAO,aAAO,KAAK,CAAC,MAAM,GAAG,aAAa,iBAAa;YACnE,UAAU,YAAA;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,aAAa,GAAiB;IACzC,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
1
+ {"version":3,"file":"maxLineLength.js","sourceRoot":"","sources":["../../../src/rules/line/maxLineLength.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,mDAA+C;AAC/C,uCAAsD;AAEtD,MAAM,IAAI,GAAG,eAAe,CAAA;AAC5B,MAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,MAAM,OAAO,GAAG,6BAA6B,CAAA;AAE7C,MAAM,IAAI,GAAG,CACX,KAAa,EACb,UAAkB,EAClB,MAAmB,EACnB,OAA6B,EAC7B,EAAE;IACF,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAI,aAAa,GAAG,gCAAwB,CAAC,aAAa,CAAA;IAE1D,IAAI,MAAM,EAAE;QACV,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;YACzB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;SAC3E;aAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;YAC9B,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;SACzE;aAAM;YACL,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;SACrC;KACF;IAED,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa;QAAE,OAAO,EAAE,CAAA;IAC5C,OAAO;QACL;YACE,OAAO,EAAE,GAAG,OAAO,OAAO,KAAK,CAAC,MAAM,GAAG,aAAa,aAAa;YACnE,UAAU;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,aAAa,GAAiB;IACzC,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;IACP,IAAI;CACL,CAAA"}
@@ -1,33 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.noEncodedPasswords = void 0;
4
- var LintRuleType_1 = require("../../types/LintRuleType");
5
- var Severity_1 = require("../../types/Severity");
6
- var name = 'noEncodedPasswords';
7
- var description = 'Disallow encoded passwords in SAS code.';
8
- var message = 'Line contains encoded password';
9
- var test = function (value, lineNumber, config) {
10
- var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Error;
11
- var regex = new RegExp(/{sas(\d{2,4}|enc)}[^;"'\s]*/, 'gi');
12
- var matches = value.match(regex);
4
+ const LintRuleType_1 = require("../../types/LintRuleType");
5
+ const Severity_1 = require("../../types/Severity");
6
+ const name = 'noEncodedPasswords';
7
+ const description = 'Disallow encoded passwords in SAS code.';
8
+ const message = 'Line contains encoded password';
9
+ const test = (value, lineNumber, config) => {
10
+ const severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Error;
11
+ const regex = new RegExp(/{sas(\d{2,4}|enc)}[^;"'\s]*/, 'gi');
12
+ const matches = value.match(regex);
13
13
  if (!matches || !matches.length)
14
14
  return [];
15
- return matches.map(function (match) { return ({
16
- message: message,
17
- lineNumber: lineNumber,
15
+ return matches.map((match) => ({
16
+ message,
17
+ lineNumber,
18
18
  startColumnNumber: value.indexOf(match) + 1,
19
19
  endColumnNumber: value.indexOf(match) + match.length + 1,
20
- severity: severity
21
- }); });
20
+ severity
21
+ }));
22
22
  };
23
23
  /**
24
24
  * Lint rule that checks for the presence of encoded password(s) in a given line of text.
25
25
  */
26
26
  exports.noEncodedPasswords = {
27
27
  type: LintRuleType_1.LintRuleType.Line,
28
- name: name,
29
- description: description,
30
- message: message,
31
- test: test
28
+ name,
29
+ description,
30
+ message,
31
+ test
32
32
  };
33
33
  //# sourceMappingURL=noEncodedPasswords.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"noEncodedPasswords.js","sourceRoot":"","sources":["../../../src/rules/line/noEncodedPasswords.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,gCAAgC,CAAA;AAEhD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,KAAK,CAAA;IAC9D,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAA;IAC7D,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;QAC7B,OAAO,SAAA;QACP,UAAU,YAAA;QACV,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3C,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QACxD,QAAQ,UAAA;KACT,CAAC,EAN4B,CAM5B,CAAC,CAAA;AACL,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
1
+ {"version":3,"file":"noEncodedPasswords.js","sourceRoot":"","sources":["../../../src/rules/line/noEncodedPasswords.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,mDAA+C;AAE/C,MAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,MAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,MAAM,OAAO,GAAG,gCAAgC,CAAA;AAEhD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,KAAK,CAAA;IAC9D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO;QACP,UAAU;QACV,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3C,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QACxD,QAAQ;KACT,CAAC,CAAC,CAAA;AACL,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;IACP,IAAI;CACL,CAAA"}
@@ -1,75 +1,37 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
2
  Object.defineProperty(exports, "__esModule", { value: true });
30
3
  exports.charFromHex = exports.noGremlins = void 0;
31
- var LintRuleType_1 = require("../../types/LintRuleType");
32
- var Severity_1 = require("../../types/Severity");
33
- var utils_1 = require("../../utils");
34
- var name = 'noGremlins';
35
- var description = 'Disallow characters specified in gremlins array';
36
- var message = 'Line contains a gremlin';
37
- var test = function (value, lineNumber, config) {
38
- var e_1, _a;
39
- var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
40
- var allowedGremlins = (config === null || config === void 0 ? void 0 : config.allowedGremlins) || [];
41
- var diagnostics = [];
42
- var gremlins = {};
43
- try {
44
- for (var _b = __values(Object.entries(utils_1.gremlinCharacters)), _c = _b.next(); !_c.done; _c = _b.next()) {
45
- var _d = __read(_c.value, 2), hexCode = _d[0], gremlinConfig = _d[1];
46
- if (!allowedGremlins.includes(hexCode)) {
47
- gremlins[exports.charFromHex(hexCode)] = Object.assign({}, gremlinConfig, {
48
- hexCode: hexCode
49
- });
50
- }
51
- }
52
- }
53
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
- finally {
55
- try {
56
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
4
+ const LintRuleType_1 = require("../../types/LintRuleType");
5
+ const Severity_1 = require("../../types/Severity");
6
+ const utils_1 = require("../../utils");
7
+ const name = 'noGremlins';
8
+ const description = 'Disallow characters specified in gremlins array';
9
+ const message = 'Line contains a gremlin';
10
+ const test = (value, lineNumber, config) => {
11
+ const severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
12
+ const allowedGremlins = (config === null || config === void 0 ? void 0 : config.allowedGremlins) || [];
13
+ const diagnostics = [];
14
+ const gremlins = {};
15
+ for (const [hexCode, gremlinConfig] of Object.entries(utils_1.gremlinCharacters)) {
16
+ if (!allowedGremlins.includes(hexCode)) {
17
+ gremlins[(0, exports.charFromHex)(hexCode)] = Object.assign({}, gremlinConfig, {
18
+ hexCode
19
+ });
57
20
  }
58
- finally { if (e_1) throw e_1.error; }
59
21
  }
60
- var regexpWithAllChars = new RegExp(Object.keys(gremlins)
61
- .map(function (char) { return char + "+"; })
22
+ const regexpWithAllChars = new RegExp(Object.keys(gremlins)
23
+ .map((char) => `${char}+`)
62
24
  .join('|'), 'g');
63
- var match;
25
+ let match;
64
26
  while ((match = regexpWithAllChars.exec(value))) {
65
- var matchedCharacter = match[0][0];
66
- var gremlin = gremlins[matchedCharacter];
27
+ const matchedCharacter = match[0][0];
28
+ const gremlin = gremlins[matchedCharacter];
67
29
  diagnostics.push({
68
- message: message + ": " + gremlin.description + ", hexCode(" + gremlin.hexCode + ")",
69
- lineNumber: lineNumber,
30
+ message: `${message}: ${gremlin.description}, hexCode(${gremlin.hexCode})`,
31
+ lineNumber,
70
32
  startColumnNumber: match.index + 1,
71
33
  endColumnNumber: match.index + 1 + match[0].length,
72
- severity: severity
34
+ severity
73
35
  });
74
36
  }
75
37
  return diagnostics;
@@ -79,13 +41,11 @@ var test = function (value, lineNumber, config) {
79
41
  */
80
42
  exports.noGremlins = {
81
43
  type: LintRuleType_1.LintRuleType.Line,
82
- name: name,
83
- description: description,
84
- message: message,
85
- test: test
86
- };
87
- var charFromHex = function (hexCode) {
88
- return String.fromCodePoint(parseInt(hexCode));
44
+ name,
45
+ description,
46
+ message,
47
+ test
89
48
  };
49
+ const charFromHex = (hexCode) => String.fromCodePoint(parseInt(hexCode));
90
50
  exports.charFromHex = charFromHex;
91
51
  //# sourceMappingURL=noGremlins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"noGremlins.js","sourceRoot":"","sources":["../../../src/rules/line/noGremlins.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,qCAA+C;AAE/C,IAAM,IAAI,GAAG,YAAY,CAAA;AACzB,IAAM,WAAW,GAAG,iDAAiD,CAAA;AACrE,IAAM,OAAO,GAAG,yBAAyB,CAAA;AAEzC,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;;IAClE,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,eAAe,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,KAAI,EAAE,CAAA;IAErD,IAAM,WAAW,GAAiB,EAAE,CAAA;IAEpC,IAAM,QAAQ,GAAQ,EAAE,CAAA;;QAExB,KAAuC,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,yBAAiB,CAAC,CAAA,gBAAA,4BAAE;YAA/D,IAAA,KAAA,mBAAwB,EAAvB,OAAO,QAAA,EAAE,aAAa,QAAA;YAChC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACtC,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE;oBAChE,OAAO,SAAA;iBACR,CAAC,CAAA;aACH;SACF;;;;;;;;;IAED,IAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SAClB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAG,IAAI,MAAG,EAAV,CAAU,CAAC;SACzB,IAAI,CAAC,GAAG,CAAC,EACZ,GAAG,CACJ,CAAA;IAED,IAAI,KAAK,CAAA;IACT,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/C,IAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,IAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE1C,WAAW,CAAC,IAAI,CAAC;YACf,OAAO,EAAK,OAAO,UAAK,OAAO,CAAC,WAAW,kBAAa,OAAO,CAAC,OAAO,MAAG;YAC1E,UAAU,YAAA;YACV,iBAAiB,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;YAClC,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;YAClD,QAAQ,UAAA;SACT,CAAC,CAAA;KACH;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,UAAU,GAAiB;IACtC,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA;AAEM,IAAM,WAAW,GAAG,UAAC,OAAe;IACzC,OAAA,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAAvC,CAAuC,CAAA;AAD5B,QAAA,WAAW,eACiB"}
1
+ {"version":3,"file":"noGremlins.js","sourceRoot":"","sources":["../../../src/rules/line/noGremlins.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,mDAA+C;AAC/C,uCAA+C;AAE/C,MAAM,IAAI,GAAG,YAAY,CAAA;AACzB,MAAM,WAAW,GAAG,iDAAiD,CAAA;AACrE,MAAM,OAAO,GAAG,yBAAyB,CAAA;AAEzC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,MAAM,eAAe,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,KAAI,EAAE,CAAA;IAErD,MAAM,WAAW,GAAiB,EAAE,CAAA;IAEpC,MAAM,QAAQ,GAAQ,EAAE,CAAA;IAExB,KAAK,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAiB,CAAC,EAAE;QACxE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACtC,QAAQ,CAAC,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE;gBAChE,OAAO;aACR,CAAC,CAAA;SACH;KACF;IAED,MAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;SACzB,IAAI,CAAC,GAAG,CAAC,EACZ,GAAG,CACJ,CAAA;IAED,IAAI,KAAK,CAAA;IACT,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE1C,WAAW,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,GAAG,OAAO,KAAK,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,OAAO,GAAG;YAC1E,UAAU;YACV,iBAAiB,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;YAClC,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;YAClD,QAAQ;SACT,CAAC,CAAA;KACH;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,UAAU,GAAiB;IACtC,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;IACP,IAAI;CACL,CAAA;AAEM,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAC7C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;AAD5B,QAAA,WAAW,eACiB"}