@sasjs/lint 1.14.1 → 2.0.0

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 (47) hide show
  1. package/README.md +127 -87
  2. package/lint/shared.js +2 -2
  3. package/lint/shared.js.map +1 -1
  4. package/package.json +1 -1
  5. package/rules/file/hasDoxygenHeader.js +4 -3
  6. package/rules/file/hasDoxygenHeader.js.map +1 -1
  7. package/rules/file/hasMacroNameInMend.js +5 -4
  8. package/rules/file/hasMacroNameInMend.js.map +1 -1
  9. package/rules/file/hasMacroParentheses.js +3 -2
  10. package/rules/file/hasMacroParentheses.js.map +1 -1
  11. package/rules/file/lineEndings.js +3 -2
  12. package/rules/file/lineEndings.js.map +1 -1
  13. package/rules/file/noNestedMacros.js +2 -1
  14. package/rules/file/noNestedMacros.js.map +1 -1
  15. package/rules/file/strictMacroDefinition.js +8 -6
  16. package/rules/file/strictMacroDefinition.js.map +1 -1
  17. package/rules/line/indentationMultiple.js +2 -1
  18. package/rules/line/indentationMultiple.js.map +1 -1
  19. package/rules/line/index.d.ts +1 -1
  20. package/rules/line/index.js +3 -3
  21. package/rules/line/index.js.map +1 -1
  22. package/rules/line/maxLineLength.js +2 -1
  23. package/rules/line/maxLineLength.js.map +1 -1
  24. package/rules/line/noEncodedPasswords.js +3 -2
  25. package/rules/line/noEncodedPasswords.js.map +1 -1
  26. package/rules/line/{noTabIndentation.d.ts → noTabs.d.ts} +1 -1
  27. package/rules/line/noTabs.js +34 -0
  28. package/rules/line/noTabs.js.map +1 -0
  29. package/rules/line/noTrailingSpaces.js +3 -2
  30. package/rules/line/noTrailingSpaces.js.map +1 -1
  31. package/rules/path/lowerCaseFileNames.js +3 -2
  32. package/rules/path/lowerCaseFileNames.js.map +1 -1
  33. package/rules/path/noSpacesInFileNames.js +3 -2
  34. package/rules/path/noSpacesInFileNames.js.map +1 -1
  35. package/sasjslint-schema.json +118 -6
  36. package/types/LintConfig.d.ts +4 -0
  37. package/types/LintConfig.js +50 -2
  38. package/types/LintConfig.js.map +1 -1
  39. package/types/LintRule.d.ts +1 -1
  40. package/utils/getIndicesOf.d.ts +1 -0
  41. package/utils/getIndicesOf.js +22 -0
  42. package/utils/getIndicesOf.js.map +1 -0
  43. package/utils/index.d.ts +1 -0
  44. package/utils/index.js +1 -0
  45. package/utils/index.js.map +1 -1
  46. package/rules/line/noTabIndentation.js +0 -32
  47. package/rules/line/noTabIndentation.js.map +0 -1
@@ -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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"}
@@ -9,6 +9,7 @@ var message = 'Line has incorrect indentation';
9
9
  var test = function (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;
12
13
  var indentationMultiple = isNaN(config === null || config === void 0 ? void 0 : config.indentationMultiple)
13
14
  ? 2
14
15
  : config.indentationMultiple;
@@ -23,7 +24,7 @@ var test = function (value, lineNumber, config) {
23
24
  lineNumber: lineNumber,
24
25
  startColumnNumber: 1,
25
26
  endColumnNumber: 1,
26
- severity: Severity_1.Severity.Warning
27
+ severity: severity
27
28
  }
28
29
  ];
29
30
  };
@@ -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;AAChD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAErC,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,EAAE,mBAAQ,CAAC,OAAO;SAC3B;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,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,5 +1,5 @@
1
1
  export { indentationMultiple } from './indentationMultiple';
2
2
  export { maxLineLength } from './maxLineLength';
3
3
  export { noEncodedPasswords } from './noEncodedPasswords';
4
- export { noTabIndentation } from './noTabIndentation';
4
+ export { noTabs } from './noTabs';
5
5
  export { noTrailingSpaces } from './noTrailingSpaces';
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noTrailingSpaces = exports.noTabIndentation = exports.noEncodedPasswords = exports.maxLineLength = exports.indentationMultiple = void 0;
3
+ exports.noTrailingSpaces = exports.noTabs = exports.noEncodedPasswords = exports.maxLineLength = exports.indentationMultiple = void 0;
4
4
  var indentationMultiple_1 = require("./indentationMultiple");
5
5
  Object.defineProperty(exports, "indentationMultiple", { enumerable: true, get: function () { return indentationMultiple_1.indentationMultiple; } });
6
6
  var maxLineLength_1 = require("./maxLineLength");
7
7
  Object.defineProperty(exports, "maxLineLength", { enumerable: true, get: function () { return maxLineLength_1.maxLineLength; } });
8
8
  var noEncodedPasswords_1 = require("./noEncodedPasswords");
9
9
  Object.defineProperty(exports, "noEncodedPasswords", { enumerable: true, get: function () { return noEncodedPasswords_1.noEncodedPasswords; } });
10
- var noTabIndentation_1 = require("./noTabIndentation");
11
- Object.defineProperty(exports, "noTabIndentation", { enumerable: true, get: function () { return noTabIndentation_1.noTabIndentation; } });
10
+ var noTabs_1 = require("./noTabs");
11
+ Object.defineProperty(exports, "noTabs", { enumerable: true, get: function () { return noTabs_1.noTabs; } });
12
12
  var noTrailingSpaces_1 = require("./noTrailingSpaces");
13
13
  Object.defineProperty(exports, "noTrailingSpaces", { enumerable: true, get: function () { return noTrailingSpaces_1.noTrailingSpaces; } });
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/line/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAC5B,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/line/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAC5B,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA"}
@@ -7,6 +7,7 @@ var name = 'maxLineLength';
7
7
  var description = 'Restrict lines to the specified length.';
8
8
  var message = 'Line exceeds maximum length';
9
9
  var test = function (value, lineNumber, config) {
10
+ var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
10
11
  var maxLineLength = (config === null || config === void 0 ? void 0 : config.maxLineLength) || 80;
11
12
  if (value.length <= maxLineLength)
12
13
  return [];
@@ -16,7 +17,7 @@ var test = function (value, lineNumber, config) {
16
17
  lineNumber: lineNumber,
17
18
  startColumnNumber: 1,
18
19
  endColumnNumber: 1,
19
- severity: Severity_1.Severity.Warning
20
+ severity: severity
20
21
  }
21
22
  ];
22
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"maxLineLength.js","sourceRoot":"","sources":["../../../src/rules/line/maxLineLength.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,eAAe,CAAA;AAC5B,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,6BAA6B,CAAA;AAC7C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAM,aAAa,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,KAAI,EAAE,CAAA;IACjD,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,EAAE,mBAAQ,CAAC,OAAO;SAC3B;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,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,eAAe,CAAA;AAC5B,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,6BAA6B,CAAA;AAE7C,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,aAAa,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,KAAI,EAAE,CAAA;IACjD,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"}
@@ -6,7 +6,8 @@ var Severity_1 = require("../../types/Severity");
6
6
  var name = 'noEncodedPasswords';
7
7
  var description = 'Disallow encoded passwords in SAS code.';
8
8
  var message = 'Line contains encoded password';
9
- var test = function (value, lineNumber) {
9
+ var test = function (value, lineNumber, config) {
10
+ var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Error;
10
11
  var regex = new RegExp(/{sas(\d{2,4}|enc)}[^;"'\s]*/, 'gi');
11
12
  var matches = value.match(regex);
12
13
  if (!matches || !matches.length)
@@ -16,7 +17,7 @@ var test = function (value, lineNumber) {
16
17
  lineNumber: lineNumber,
17
18
  startColumnNumber: value.indexOf(match) + 1,
18
19
  endColumnNumber: value.indexOf(match) + match.length + 1,
19
- severity: Severity_1.Severity.Error
20
+ severity: severity
20
21
  }); });
21
22
  };
22
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"noEncodedPasswords.js","sourceRoot":"","sources":["../../../src/rules/line/noEncodedPasswords.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GAAG,yCAAyC,CAAA;AAC7D,IAAM,OAAO,GAAG,gCAAgC,CAAA;AAChD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB;IAC7C,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,EAAE,mBAAQ,CAAC,KAAK;KACzB,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,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"}
@@ -2,4 +2,4 @@ import { LineLintRule } from '../../types/LintRule';
2
2
  /**
3
3
  * Lint rule that checks if a given line of text is indented with a tab.
4
4
  */
5
- export declare const noTabIndentation: LineLintRule;
5
+ export declare const noTabs: LineLintRule;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noTabs = 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 = 'noTabs';
8
+ var alias = 'noTabIndentation';
9
+ var description = 'Disallow indenting with tabs.';
10
+ var message = 'Line contains tab indentation';
11
+ var test = function (value, lineNumber, config) {
12
+ var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) ||
13
+ (config === null || config === void 0 ? void 0 : config.severityLevel[alias]) ||
14
+ Severity_1.Severity.Warning;
15
+ var indices = utils_1.getIndicesOf('\t', value);
16
+ return indices.map(function (index) { return ({
17
+ message: message,
18
+ lineNumber: lineNumber,
19
+ startColumnNumber: index + 1,
20
+ endColumnNumber: index + 2,
21
+ severity: severity
22
+ }); });
23
+ };
24
+ /**
25
+ * Lint rule that checks if a given line of text is indented with a tab.
26
+ */
27
+ exports.noTabs = {
28
+ type: LintRuleType_1.LintRuleType.Line,
29
+ name: name,
30
+ description: description,
31
+ message: message,
32
+ test: test
33
+ };
34
+ //# sourceMappingURL=noTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noTabs.js","sourceRoot":"","sources":["../../../src/rules/line/noTabs.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,qCAA0C;AAE1C,IAAM,IAAI,GAAG,QAAQ,CAAA;AACrB,IAAM,KAAK,GAAG,kBAAkB,CAAA;AAChC,IAAM,WAAW,GAAG,+BAA+B,CAAA;AACnD,IAAM,OAAO,GAAG,+BAA+B,CAAA;AAE/C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB,EAAE,MAAmB;IAClE,IAAM,QAAQ,GACZ,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC;SAC3B,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,KAAK,CAAC,CAAA;QAC5B,mBAAQ,CAAC,OAAO,CAAA;IAElB,IAAM,OAAO,GAAG,oBAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAEzC,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;QAC7B,OAAO,SAAA;QACP,UAAU,YAAA;QACV,iBAAiB,EAAE,KAAK,GAAG,CAAC;QAC5B,eAAe,EAAE,KAAK,GAAG,CAAC;QAC1B,QAAQ,UAAA;KACT,CAAC,EAN4B,CAM5B,CAAC,CAAA;AACL,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,MAAM,GAAiB;IAClC,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
@@ -6,7 +6,8 @@ var Severity_1 = require("../../types/Severity");
6
6
  var name = 'noTrailingSpaces';
7
7
  var description = 'Disallow trailing spaces on lines.';
8
8
  var message = 'Line contains trailing spaces';
9
- var test = function (value, lineNumber) {
9
+ var test = function (value, lineNumber, config) {
10
+ var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
10
11
  return value.trimEnd() === value
11
12
  ? []
12
13
  : [
@@ -15,7 +16,7 @@ var test = function (value, lineNumber) {
15
16
  lineNumber: lineNumber,
16
17
  startColumnNumber: value.trimEnd().length + 1,
17
18
  endColumnNumber: value.length,
18
- severity: Severity_1.Severity.Warning
19
+ severity: severity
19
20
  }
20
21
  ];
21
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"noTrailingSpaces.js","sourceRoot":"","sources":["../../../src/rules/line/noTrailingSpaces.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,kBAAkB,CAAA;AAC/B,IAAM,WAAW,GAAG,oCAAoC,CAAA;AACxD,IAAM,OAAO,GAAG,+BAA+B,CAAA;AAC/C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,UAAkB;IAC7C,OAAA,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,OAAO,SAAA;gBACP,UAAU,YAAA;gBACV,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC;gBAC7C,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC7B,QAAQ,EAAE,mBAAQ,CAAC,OAAO;aAC3B;SACF;AAVL,CAUK,CAAA;AACP,IAAM,GAAG,GAAG,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,OAAO,EAAE,EAAf,CAAe,CAAA;AAE9C;;GAEG;AACU,QAAA,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;IACJ,GAAG,KAAA;CACJ,CAAA"}
1
+ {"version":3,"file":"noTrailingSpaces.js","sourceRoot":"","sources":["../../../src/rules/line/noTrailingSpaces.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,kBAAkB,CAAA;AAC/B,IAAM,WAAW,GAAG,oCAAoC,CAAA;AACxD,IAAM,OAAO,GAAG,+BAA+B,CAAA;AAE/C,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;IAEhE,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,OAAO,SAAA;gBACP,UAAU,YAAA;gBACV,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC;gBAC7C,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC7B,QAAQ,UAAA;aACT;SACF,CAAA;AACP,CAAC,CAAA;AAED,IAAM,GAAG,GAAG,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,OAAO,EAAE,EAAf,CAAe,CAAA;AAE9C;;GAEG;AACU,QAAA,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;IACJ,GAAG,KAAA;CACJ,CAAA"}
@@ -10,7 +10,8 @@ var path_1 = __importDefault(require("path"));
10
10
  var name = 'lowerCaseFileNames';
11
11
  var description = 'Enforce the use of lower case file names.';
12
12
  var message = 'File name contains uppercase characters';
13
- var test = function (value) {
13
+ var test = function (value, config) {
14
+ var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
14
15
  var fileName = path_1.default.basename(value);
15
16
  if (fileName.toLocaleLowerCase() === fileName)
16
17
  return [];
@@ -20,7 +21,7 @@ var test = function (value) {
20
21
  lineNumber: 1,
21
22
  startColumnNumber: 1,
22
23
  endColumnNumber: 1,
23
- severity: Severity_1.Severity.Warning
24
+ severity: severity
24
25
  }
25
26
  ];
26
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lowerCaseFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/lowerCaseFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;AAEvB,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GAAG,2CAA2C,CAAA;AAC/D,IAAM,OAAO,GAAG,yCAAyC,CAAA;AACzD,IAAM,IAAI,GAAG,UAAC,KAAa;IACzB,IAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,QAAQ,CAAC,iBAAiB,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IACxD,OAAO;QACL;YACE,OAAO,SAAA;YACP,UAAU,EAAE,CAAC;YACb,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,mBAAQ,CAAC,OAAO;SAC3B;KACF,CAAA;AACH,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":"lowerCaseFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/lowerCaseFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;AAGvB,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GAAG,2CAA2C,CAAA;AAC/D,IAAM,OAAO,GAAG,yCAAyC,CAAA;AAEzD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAErC,IAAI,QAAQ,CAAC,iBAAiB,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IAExD,OAAO;QACL;YACE,OAAO,SAAA;YACP,UAAU,EAAE,CAAC;YACb,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,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"}
@@ -10,7 +10,8 @@ var path_1 = __importDefault(require("path"));
10
10
  var name = 'noSpacesInFileNames';
11
11
  var description = 'Enforce the absence of spaces within file names.';
12
12
  var message = 'File name contains spaces';
13
- var test = function (value) {
13
+ var test = function (value, config) {
14
+ var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
14
15
  var fileName = path_1.default.basename(value);
15
16
  if (fileName.includes(' ')) {
16
17
  return [
@@ -19,7 +20,7 @@ var test = function (value) {
19
20
  lineNumber: 1,
20
21
  startColumnNumber: 1,
21
22
  endColumnNumber: 1,
22
- severity: Severity_1.Severity.Warning
23
+ severity: severity
23
24
  }
24
25
  ];
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"noSpacesInFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/noSpacesInFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;AAEvB,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,2BAA2B,CAAA;AAC3C,IAAM,IAAI,GAAG,UAAC,KAAa;IACzB,IAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAO;YACL;gBACE,OAAO,SAAA;gBACP,UAAU,EAAE,CAAC;gBACb,iBAAiB,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC;gBAClB,QAAQ,EAAE,mBAAQ,CAAC,OAAO;aAC3B;SACF,CAAA;KACF;IACD,OAAO,EAAE,CAAA;AACX,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":"noSpacesInFileNames.js","sourceRoot":"","sources":["../../../src/rules/path/noSpacesInFileNames.ts"],"names":[],"mappings":";;;;;;AACA,yDAAuD;AACvD,iDAA+C;AAC/C,8CAAuB;AAGvB,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,2BAA2B,CAAA;AAE3C,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAErC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAO;YACL;gBACE,OAAO,SAAA;gBACP,UAAU,EAAE,CAAC;gBACb,iBAAiB,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC;gBAClB,QAAQ,UAAA;aACT;SACF,CAAA;KACF;IACD,OAAO,EAAE,CAAA;AACX,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"}
@@ -15,7 +15,7 @@
15
15
  "maxLineLength": 80,
16
16
  "noNestedMacros": true,
17
17
  "noSpacesInFileNames": true,
18
- "noTabIndentation": true,
18
+ "noTabs": true,
19
19
  "noTrailingSpaces": true,
20
20
  "lineEndings": "lf",
21
21
  "strictMacroDefinition": true,
@@ -29,7 +29,7 @@
29
29
  "noSpacesInFileNames": true,
30
30
  "lowerCaseFileNames": true,
31
31
  "maxLineLength": 80,
32
- "noTabIndentation": true,
32
+ "noTabs": true,
33
33
  "indentationMultiple": 4,
34
34
  "hasMacroNameInMend": true,
35
35
  "noNestedMacros": true,
@@ -120,11 +120,11 @@
120
120
  "default": true,
121
121
  "examples": [true, false]
122
122
  },
123
- "noTabIndentation": {
124
- "$id": "#/properties/noTabIndentation",
123
+ "noTabs": {
124
+ "$id": "#/properties/noTabs",
125
125
  "type": "boolean",
126
- "title": "noTabIndentation",
127
- "description": "Enforces no indentation using tabs. Shows a warning when a line starts with a tab.",
126
+ "title": "noTabs",
127
+ "description": "Enforces no indentation using tabs. Shows a warning when a line contains a tab.",
128
128
  "default": true,
129
129
  "examples": [true, false]
130
130
  },
@@ -159,6 +159,118 @@
159
159
  "description": "An array of paths or path patterns to ignore when linting. Any files or matching patterns in the .gitignore file will also be ignored.",
160
160
  "default": ["sasjsbuild/", "sasjsresults/"],
161
161
  "examples": ["sasjs/tests", "tmp/scratch.sas"]
162
+ },
163
+ "severityLevel": {
164
+ "$id": "#/properties/severityLevel",
165
+ "type": "object",
166
+ "title": "severityLevel",
167
+ "description": "An object which specifies the severity level of each rule.",
168
+ "default": {},
169
+ "examples": [
170
+ {
171
+ "hasDoxygenHeader": "warn",
172
+ "maxLineLength": "warn",
173
+ "noTrailingSpaces": "error"
174
+ },
175
+ {
176
+ "hasDoxygenHeader": "warn",
177
+ "maxLineLength": "error",
178
+ "noTrailingSpaces": "error"
179
+ }
180
+ ],
181
+ "properties": {
182
+ "noEncodedPasswords": {
183
+ "$id": "#/properties/severityLevel/noEncodedPasswords",
184
+ "title": "noEncodedPasswords",
185
+ "type": "string",
186
+ "enum": ["error", "warn"],
187
+ "default": "error"
188
+ },
189
+ "hasDoxygenHeader": {
190
+ "$id": "#/properties/severityLevel/hasDoxygenHeader",
191
+ "title": "hasDoxygenHeader",
192
+ "type": "string",
193
+ "enum": ["error", "warn"],
194
+ "default": "warn"
195
+ },
196
+ "hasMacroNameInMend": {
197
+ "$id": "#/properties/severityLevel/hasMacroNameInMend",
198
+ "title": "hasMacroNameInMend",
199
+ "type": "string",
200
+ "enum": ["error", "warn"],
201
+ "default": "warn"
202
+ },
203
+ "hasMacroParentheses": {
204
+ "$id": "#/properties/severityLevel/hasMacroParentheses",
205
+ "title": "hasMacroParentheses",
206
+ "type": "string",
207
+ "enum": ["error", "warn"],
208
+ "default": "warn"
209
+ },
210
+ "indentationMultiple": {
211
+ "$id": "#/properties/severityLevel/indentationMultiple",
212
+ "title": "indentationMultiple",
213
+ "type": "string",
214
+ "enum": ["error", "warn"],
215
+ "default": "warn"
216
+ },
217
+ "lowerCaseFileNames": {
218
+ "$id": "#/properties/severityLevel/lowerCaseFileNames",
219
+ "title": "lowerCaseFileNames",
220
+ "type": "string",
221
+ "enum": ["error", "warn"],
222
+ "default": "warn"
223
+ },
224
+ "maxLineLength": {
225
+ "$id": "#/properties/severityLevel/maxLineLength",
226
+ "title": "maxLineLength",
227
+ "type": "string",
228
+ "enum": ["error", "warn"],
229
+ "default": "warn"
230
+ },
231
+ "noNestedMacros": {
232
+ "$id": "#/properties/severityLevel/noNestedMacros",
233
+ "title": "noNestedMacros",
234
+ "type": "string",
235
+ "enum": ["error", "warn"],
236
+ "default": "warn"
237
+ },
238
+ "noSpacesInFileNames": {
239
+ "$id": "#/properties/severityLevel/noSpacesInFileNames",
240
+ "title": "noSpacesInFileNames",
241
+ "type": "string",
242
+ "enum": ["error", "warn"],
243
+ "default": "warn"
244
+ },
245
+ "noTabs": {
246
+ "$id": "#/properties/severityLevel/noTabs",
247
+ "title": "noTabs",
248
+ "type": "string",
249
+ "enum": ["error", "warn"],
250
+ "default": "warn"
251
+ },
252
+ "noTrailingSpaces": {
253
+ "$id": "#/properties/severityLevel/noTrailingSpaces",
254
+ "title": "noTrailingSpaces",
255
+ "type": "string",
256
+ "enum": ["error", "warn"],
257
+ "default": "warn"
258
+ },
259
+ "lineEndings": {
260
+ "$id": "#/properties/severityLevel/lineEndings",
261
+ "title": "lineEndings",
262
+ "type": "string",
263
+ "enum": ["error", "warn"],
264
+ "default": "warn"
265
+ },
266
+ "strictMacroDefinition": {
267
+ "$id": "#/properties/severityLevel/strictMacroDefinition",
268
+ "title": "strictMacroDefinition",
269
+ "type": "string",
270
+ "enum": ["error", "warn"],
271
+ "default": "warn"
272
+ }
273
+ }
162
274
  }
163
275
  }
164
276
  }
@@ -1,5 +1,6 @@
1
1
  import { LineEndings } from './LineEndings';
2
2
  import { FileLintRule, LineLintRule, PathLintRule } from './LintRule';
3
+ import { Severity } from './Severity';
3
4
  /**
4
5
  * LintConfig is the logical representation of the .sasjslint file.
5
6
  * It exposes two sets of rules - one to be run against each line in a file,
@@ -16,5 +17,8 @@ export declare class LintConfig {
16
17
  readonly indentationMultiple: number;
17
18
  readonly lineEndings: LineEndings;
18
19
  readonly defaultHeader: string;
20
+ readonly severityLevel: {
21
+ [key: string]: Severity;
22
+ };
19
23
  constructor(json?: any);
20
24
  }
@@ -1,4 +1,31 @@
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
+ };
2
29
  Object.defineProperty(exports, "__esModule", { value: true });
3
30
  exports.LintConfig = void 0;
4
31
  var file_1 = require("../rules/file");
@@ -6,6 +33,7 @@ var line_1 = require("../rules/line");
6
33
  var path_1 = require("../rules/path");
7
34
  var LineEndings_1 = require("./LineEndings");
8
35
  var utils_1 = require("../utils");
36
+ var Severity_1 = require("./Severity");
9
37
  /**
10
38
  * LintConfig is the logical representation of the .sasjslint file.
11
39
  * It exposes two sets of rules - one to be run against each line in a file,
@@ -15,6 +43,7 @@ var utils_1 = require("../utils");
15
43
  */
16
44
  var LintConfig = /** @class */ (function () {
17
45
  function LintConfig(json) {
46
+ var e_1, _a;
18
47
  var _this = this;
19
48
  this.ignoreList = [];
20
49
  this.lineLintRules = [];
@@ -24,6 +53,7 @@ var LintConfig = /** @class */ (function () {
24
53
  this.indentationMultiple = 2;
25
54
  this.lineEndings = LineEndings_1.LineEndings.LF;
26
55
  this.defaultHeader = utils_1.getDefaultHeader();
56
+ this.severityLevel = {};
27
57
  if (json === null || json === void 0 ? void 0 : json.ignoreList) {
28
58
  if (Array.isArray(json.ignoreList)) {
29
59
  json.ignoreList.forEach(function (item) {
@@ -43,8 +73,8 @@ var LintConfig = /** @class */ (function () {
43
73
  if (json === null || json === void 0 ? void 0 : json.noEncodedPasswords) {
44
74
  this.lineLintRules.push(line_1.noEncodedPasswords);
45
75
  }
46
- if (json === null || json === void 0 ? void 0 : json.noTabIndentation) {
47
- this.lineLintRules.push(line_1.noTabIndentation);
76
+ if ((json === null || json === void 0 ? void 0 : json.noTabs) || (json === null || json === void 0 ? void 0 : json.noTabIndentation)) {
77
+ this.lineLintRules.push(line_1.noTabs);
48
78
  }
49
79
  if (json === null || json === void 0 ? void 0 : json.maxLineLength) {
50
80
  this.maxLineLength = json.maxLineLength;
@@ -86,6 +116,24 @@ var LintConfig = /** @class */ (function () {
86
116
  if (json === null || json === void 0 ? void 0 : json.strictMacroDefinition) {
87
117
  this.fileLintRules.push(file_1.strictMacroDefinition);
88
118
  }
119
+ if (json === null || json === void 0 ? void 0 : json.severityLevel) {
120
+ try {
121
+ for (var _b = __values(Object.entries(json.severityLevel)), _c = _b.next(); !_c.done; _c = _b.next()) {
122
+ var _d = __read(_c.value, 2), rule = _d[0], severity = _d[1];
123
+ if (severity === 'warn')
124
+ this.severityLevel[rule] = Severity_1.Severity.Warning;
125
+ if (severity === 'error')
126
+ this.severityLevel[rule] = Severity_1.Severity.Error;
127
+ }
128
+ }
129
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
130
+ finally {
131
+ try {
132
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
133
+ }
134
+ finally { if (e_1) throw e_1.error; }
135
+ }
136
+ }
89
137
  }
90
138
  return LintConfig;
91
139
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"LintConfig.js","sourceRoot":"","sources":["../../src/types/LintConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LintConfig.js","sourceRoot":"","sources":["../../src/types/LintConfig.ts"],"names":[],"mappings":"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"}
@@ -32,5 +32,5 @@ export interface FileLintRule extends LintRule {
32
32
  */
33
33
  export interface PathLintRule extends LintRule {
34
34
  type: LintRuleType.Path;
35
- test: (value: string) => Diagnostic[];
35
+ test: (value: string, config?: LintConfig) => Diagnostic[];
36
36
  }
@@ -0,0 +1 @@
1
+ export declare const getIndicesOf: (searchStr: string, str: string, caseSensitive?: boolean) => number[];
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIndicesOf = void 0;
4
+ var getIndicesOf = function (searchStr, str, caseSensitive) {
5
+ if (caseSensitive === void 0) { caseSensitive = true; }
6
+ var searchStrLen = searchStr.length;
7
+ if (searchStrLen === 0) {
8
+ return [];
9
+ }
10
+ var startIndex = 0, index, indices = [];
11
+ if (!caseSensitive) {
12
+ str = str.toLowerCase();
13
+ searchStr = searchStr.toLowerCase();
14
+ }
15
+ while ((index = str.indexOf(searchStr, startIndex)) > -1) {
16
+ indices.push(index);
17
+ startIndex = index + searchStrLen;
18
+ }
19
+ return indices;
20
+ };
21
+ exports.getIndicesOf = getIndicesOf;
22
+ //# sourceMappingURL=getIndicesOf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIndicesOf.js","sourceRoot":"","sources":["../../src/utils/getIndicesOf.ts"],"names":[],"mappings":";;;AAAO,IAAM,YAAY,GAAG,UAC1B,SAAiB,EACjB,GAAW,EACX,aAA6B;IAA7B,8BAAA,EAAA,oBAA6B;IAE7B,IAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAA;IACrC,IAAI,YAAY,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,CAAA;KACV;IAED,IAAI,UAAU,GAAG,CAAC,EAChB,KAAK,EACL,OAAO,GAAG,EAAE,CAAA;IAEd,IAAI,CAAC,aAAa,EAAE;QAClB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QACvB,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;KACpC;IAED,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QACxD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,UAAU,GAAG,KAAK,GAAG,YAAY,CAAA;KAClC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAzBY,QAAA,YAAY,gBAyBxB"}
package/utils/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export * from './getProjectRoot';
4
4
  export * from './isIgnored';
5
5
  export * from './listSasFiles';
6
6
  export * from './splitText';
7
+ export * from './getIndicesOf';
package/utils/index.js CHANGED
@@ -16,4 +16,5 @@ __exportStar(require("./getProjectRoot"), exports);
16
16
  __exportStar(require("./isIgnored"), exports);
17
17
  __exportStar(require("./listSasFiles"), exports);
18
18
  __exportStar(require("./splitText"), exports);
19
+ __exportStar(require("./getIndicesOf"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA8B;AAC9B,kDAA+B;AAC/B,mDAAgC;AAChC,8CAA2B;AAC3B,iDAA8B;AAC9B,8CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA8B;AAC9B,kDAA+B;AAC/B,mDAAgC;AAChC,8CAA2B;AAC3B,iDAA8B;AAC9B,8CAA2B;AAC3B,iDAA8B"}