@sasjs/lint 2.4.0 → 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 (103) hide show
  1. package/.all-contributorsrc +11 -1
  2. package/.github/dependabot.yml +1 -1
  3. package/.github/reviewer-lottery.yml +0 -2
  4. package/.github/workflows/assign-reviewer.yml +2 -2
  5. package/README.md +41 -37
  6. package/format/formatFile.d.ts +1 -1
  7. package/format/formatFile.js +24 -72
  8. package/format/formatFile.js.map +1 -1
  9. package/format/formatFolder.d.ts +1 -1
  10. package/format/formatFolder.js +36 -104
  11. package/format/formatFolder.js.map +1 -1
  12. package/format/formatProject.js +10 -45
  13. package/format/formatProject.js.map +1 -1
  14. package/format/formatText.d.ts +1 -1
  15. package/format/formatText.js +6 -46
  16. package/format/formatText.js.map +1 -1
  17. package/format/index.js +5 -1
  18. package/format/index.js.map +1 -1
  19. package/format/shared.js +16 -16
  20. package/format/shared.js.map +1 -1
  21. package/formatExample.js +10 -6
  22. package/formatExample.js.map +1 -1
  23. package/index.js +5 -1
  24. package/index.js.map +1 -1
  25. package/lint/index.js +5 -1
  26. package/lint/index.js.map +1 -1
  27. package/lint/lintFile.d.ts +1 -1
  28. package/lint/lintFile.js +12 -76
  29. package/lint/lintFile.js.map +1 -1
  30. package/lint/lintFolder.d.ts +1 -1
  31. package/lint/lintFolder.js +23 -114
  32. package/lint/lintFolder.js.map +1 -1
  33. package/lint/lintProject.js +10 -45
  34. package/lint/lintProject.js.map +1 -1
  35. package/lint/lintText.js +6 -40
  36. package/lint/lintText.js.map +1 -1
  37. package/lint/shared.js +24 -45
  38. package/lint/shared.js.map +1 -1
  39. package/lintExample.js +45 -5
  40. package/lintExample.js.map +1 -1
  41. package/package.json +3 -3
  42. package/rules/file/hasDoxygenHeader.js +29 -29
  43. package/rules/file/hasDoxygenHeader.js.map +1 -1
  44. package/rules/file/hasMacroNameInMend.js +59 -59
  45. package/rules/file/hasMacroNameInMend.js.map +1 -1
  46. package/rules/file/hasMacroParentheses.js +25 -27
  47. package/rules/file/hasMacroParentheses.js.map +1 -1
  48. package/rules/file/hasRequiredMacroOptions.js +20 -20
  49. package/rules/file/hasRequiredMacroOptions.js.map +1 -1
  50. package/rules/file/lineEndings.js +27 -27
  51. package/rules/file/lineEndings.js.map +1 -1
  52. package/rules/file/noNestedMacros.js +23 -23
  53. package/rules/file/noNestedMacros.js.map +1 -1
  54. package/rules/file/strictMacroDefinition.js +52 -57
  55. package/rules/file/strictMacroDefinition.js.map +1 -1
  56. package/rules/line/indentationMultiple.js +16 -16
  57. package/rules/line/indentationMultiple.js.map +1 -1
  58. package/rules/line/maxLineLength.js +16 -16
  59. package/rules/line/maxLineLength.js.map +1 -1
  60. package/rules/line/noEncodedPasswords.js +18 -18
  61. package/rules/line/noEncodedPasswords.js.map +1 -1
  62. package/rules/line/noGremlins.js +29 -69
  63. package/rules/line/noGremlins.js.map +1 -1
  64. package/rules/line/noTabs.js +19 -19
  65. package/rules/line/noTabs.js.map +1 -1
  66. package/rules/line/noTrailingSpaces.js +16 -16
  67. package/rules/line/noTrailingSpaces.js.map +1 -1
  68. package/rules/path/lowerCaseFileNames.js +15 -15
  69. package/rules/path/lowerCaseFileNames.js.map +1 -1
  70. package/rules/path/noSpacesInFileNames.js +15 -15
  71. package/rules/path/noSpacesInFileNames.js.map +1 -1
  72. package/types/LintConfig.js +28 -68
  73. package/types/LintConfig.js.map +1 -1
  74. package/types/index.js +5 -1
  75. package/types/index.js.map +1 -1
  76. package/utils/asyncForEach.js +4 -46
  77. package/utils/asyncForEach.js.map +1 -1
  78. package/utils/getColumnNumber.js +3 -3
  79. package/utils/getColumnNumber.js.map +1 -1
  80. package/utils/getDataSectionsDetail.js +16 -38
  81. package/utils/getDataSectionsDetail.js.map +1 -1
  82. package/utils/getHeaderLinesCount.js +8 -30
  83. package/utils/getHeaderLinesCount.js.map +1 -1
  84. package/utils/getIndicesOf.js +3 -4
  85. package/utils/getIndicesOf.js.map +1 -1
  86. package/utils/getLintConfig.js +14 -52
  87. package/utils/getLintConfig.js.map +1 -1
  88. package/utils/getProjectRoot.js +22 -59
  89. package/utils/getProjectRoot.js.map +1 -1
  90. package/utils/index.js +5 -1
  91. package/utils/index.js.map +1 -1
  92. package/utils/isIgnored.d.ts +1 -1
  93. package/utils/isIgnored.js +20 -67
  94. package/utils/isIgnored.js.map +1 -1
  95. package/utils/listSasFiles.js +5 -39
  96. package/utils/listSasFiles.js.map +1 -1
  97. package/utils/parseMacros.d.ts +1 -1
  98. package/utils/parseMacros.js +29 -50
  99. package/utils/parseMacros.js.map +1 -1
  100. package/utils/splitText.js +4 -4
  101. package/utils/splitText.js.map +1 -1
  102. package/utils/trimComments.js +8 -10
  103. package/utils/trimComments.js.map +1 -1
@@ -8,53 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
11
  Object.defineProperty(exports, "__esModule", { value: true });
39
12
  exports.formatText = void 0;
40
- var utils_1 = require("../utils");
41
- var shared_1 = require("./shared");
42
- var formatText = function (text, configuration) { return __awaiter(void 0, void 0, void 0, function () {
43
- var config, _a;
44
- return __generator(this, function (_b) {
45
- switch (_b.label) {
46
- case 0:
47
- _a = configuration;
48
- if (_a) return [3 /*break*/, 2];
49
- return [4 /*yield*/, utils_1.getLintConfig()];
50
- case 1:
51
- _a = (_b.sent());
52
- _b.label = 2;
53
- case 2:
54
- config = _a;
55
- return [2 /*return*/, shared_1.processText(text, config)];
56
- }
57
- });
58
- }); };
13
+ const utils_1 = require("../utils");
14
+ const shared_1 = require("./shared");
15
+ const formatText = (text, configuration) => __awaiter(void 0, void 0, void 0, function* () {
16
+ const config = configuration || (yield (0, utils_1.getLintConfig)());
17
+ return (0, shared_1.processText)(text, config);
18
+ });
59
19
  exports.formatText = formatText;
60
20
  //# sourceMappingURL=formatText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatText.js","sourceRoot":"","sources":["../../src/format/formatText.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kCAAwC;AACxC,mCAAsC;AAE/B,IAAM,UAAU,GAAG,UAAO,IAAY,EAAE,aAA0B;;;;;gBACxD,KAAA,aAAa,CAAA;wBAAb,wBAAa;gBAAK,qBAAM,qBAAa,EAAE,EAAA;;gBAAtB,KAAA,CAAC,SAAqB,CAAC,CAAA;;;gBAAjD,MAAM,KAA2C;gBACvD,sBAAO,oBAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;;KACjC,CAAA;AAHY,QAAA,UAAU,cAGtB"}
1
+ {"version":3,"file":"formatText.js","sourceRoot":"","sources":["../../src/format/formatText.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oCAAwC;AACxC,qCAAsC;AAE/B,MAAM,UAAU,GAAG,CAAO,IAAY,EAAE,aAA0B,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,aAAa,IAAI,CAAC,MAAM,IAAA,qBAAa,GAAE,CAAC,CAAA;IACvD,OAAO,IAAA,oBAAW,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAClC,CAAC,CAAA,CAAA;AAHY,QAAA,UAAU,cAGtB"}
package/format/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,iDAA8B;AAC9B,kDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,iDAA8B;AAC9B,kDAA+B"}
package/format/shared.js CHANGED
@@ -1,32 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.processLine = exports.processText = void 0;
4
- var LineEndings_1 = require("../types/LineEndings");
5
- var splitText_1 = require("../utils/splitText");
6
- var processText = function (text, config) {
7
- var processedText = processContent(config, text);
8
- var lines = splitText_1.splitText(processedText, config);
9
- var formattedLines = lines.map(function (line) {
10
- return exports.processLine(config, line);
4
+ const LineEndings_1 = require("../types/LineEndings");
5
+ const splitText_1 = require("../utils/splitText");
6
+ const processText = (text, config) => {
7
+ const processedText = processContent(config, text);
8
+ const lines = (0, splitText_1.splitText)(processedText, config);
9
+ const formattedLines = lines.map((line) => {
10
+ return (0, exports.processLine)(config, line);
11
11
  });
12
- var configuredLineEnding = config.lineEndings === LineEndings_1.LineEndings.LF ? '\n' : '\r\n';
12
+ const configuredLineEnding = config.lineEndings === LineEndings_1.LineEndings.LF ? '\n' : '\r\n';
13
13
  return formattedLines.join(configuredLineEnding);
14
14
  };
15
15
  exports.processText = processText;
16
- var processContent = function (config, content) {
17
- var processedContent = content;
16
+ const processContent = (config, content) => {
17
+ let processedContent = content;
18
18
  config.fileLintRules
19
- .filter(function (r) { return !!r.fix; })
20
- .forEach(function (rule) {
19
+ .filter((r) => !!r.fix)
20
+ .forEach((rule) => {
21
21
  processedContent = rule.fix(processedContent, config);
22
22
  });
23
23
  return processedContent;
24
24
  };
25
- var processLine = function (config, line) {
26
- var processedLine = line;
25
+ const processLine = (config, line) => {
26
+ let processedLine = line;
27
27
  config.lineLintRules
28
- .filter(function (r) { return !!r.fix; })
29
- .forEach(function (rule) {
28
+ .filter((r) => !!r.fix)
29
+ .forEach((rule) => {
30
30
  processedLine = rule.fix(processedLine, config);
31
31
  });
32
32
  return processedLine;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/format/shared.ts"],"names":[],"mappings":";;;AACA,oDAAkD;AAClD,gDAA8C;AAEvC,IAAM,WAAW,GAAG,UAAC,IAAY,EAAE,MAAkB;IAC1D,IAAM,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClD,IAAM,KAAK,GAAG,qBAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC9C,IAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;QACpC,OAAO,mBAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,IAAM,oBAAoB,GACxB,MAAM,CAAC,WAAW,KAAK,yBAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACvD,OAAO,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;AAClD,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAED,IAAM,cAAc,GAAG,UAAC,MAAkB,EAAE,OAAe;IACzD,IAAI,gBAAgB,GAAG,OAAO,CAAA;IAC9B,MAAM,CAAC,aAAa;SACjB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,GAAG,EAAP,CAAO,CAAC;SACtB,OAAO,CAAC,UAAC,IAAI;QACZ,gBAAgB,GAAG,IAAI,CAAC,GAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEJ,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAEM,IAAM,WAAW,GAAG,UAAC,MAAkB,EAAE,IAAY;IAC1D,IAAI,aAAa,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,aAAa;SACjB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,GAAG,EAAP,CAAO,CAAC;SACtB,OAAO,CAAC,UAAC,IAAI;QACZ,aAAa,GAAG,IAAI,CAAC,GAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEJ,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AATY,QAAA,WAAW,eASvB"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/format/shared.ts"],"names":[],"mappings":";;;AACA,sDAAkD;AAClD,kDAA8C;AAEvC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAkB,EAAE,EAAE;IAC9D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,IAAA,qBAAS,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,OAAO,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,oBAAoB,GACxB,MAAM,CAAC,WAAW,KAAK,yBAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACvD,OAAO,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;AAClD,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAED,MAAM,cAAc,GAAG,CAAC,MAAkB,EAAE,OAAe,EAAU,EAAE;IACrE,IAAI,gBAAgB,GAAG,OAAO,CAAA;IAC9B,MAAM,CAAC,aAAa;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SACtB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,gBAAgB,GAAG,IAAI,CAAC,GAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEJ,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAEM,MAAM,WAAW,GAAG,CAAC,MAAkB,EAAE,IAAY,EAAU,EAAE;IACtE,IAAI,aAAa,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,aAAa;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SACtB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,aAAa,GAAG,IAAI,CAAC,GAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEJ,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AATY,QAAA,WAAW,eASvB"}
package/formatExample.js CHANGED
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var formatText_1 = require("./format/formatText");
4
- var lint_1 = require("./lint");
5
- var content = "%put 'Hello'; \n%put 'World'; \n%macro somemacro()\n %put 'test';\n%mend;\r\n";
3
+ const formatText_1 = require("./format/formatText");
4
+ const lint_1 = require("./lint");
5
+ const content = `%put 'Hello';
6
+ %put 'World';
7
+ %macro somemacro()
8
+ %put 'test';
9
+ %mend;\r\n`;
6
10
  console.log(content);
7
- lint_1.lintText(content).then(function (diagnostics) {
11
+ (0, lint_1.lintText)(content).then((diagnostics) => {
8
12
  console.log('Before Formatting:');
9
13
  console.table(diagnostics);
10
- formatText_1.formatText(content).then(function (formattedText) {
11
- lint_1.lintText(formattedText).then(function (newDiagnostics) {
14
+ (0, formatText_1.formatText)(content).then((formattedText) => {
15
+ (0, lint_1.lintText)(formattedText).then((newDiagnostics) => {
12
16
  console.log('After Formatting:');
13
17
  console.log(formattedText);
14
18
  console.table(newDiagnostics);
@@ -1 +1 @@
1
- {"version":3,"file":"formatExample.js","sourceRoot":"","sources":["../src/formatExample.ts"],"names":[],"mappings":";;AAAA,kDAAgD;AAChD,+BAAiC;AAEjC,IAAM,OAAO,GAAG,kFAIL,CAAA;AAEX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACpB,eAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;IACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACjC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC1B,uBAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;QACrC,eAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;YAC1C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC1B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"formatExample.js","sourceRoot":"","sources":["../src/formatExample.ts"],"names":[],"mappings":";;AAAA,oDAAgD;AAChD,iCAAiC;AAEjC,MAAM,OAAO,GAAG;;;;WAIL,CAAA;AAEX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACpB,IAAA,eAAQ,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;IACrC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACjC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC1B,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;QACzC,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC1B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwB;AACxB,yCAAsB;AACtB,0CAAuB;AACvB,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,yCAAsB;AACtB,0CAAuB;AACvB,0CAAuB"}
package/lint/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/lint/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lint/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,gDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lint/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,gDAA6B"}
@@ -5,4 +5,4 @@ import { Diagnostic, LintConfig } from '../types';
5
5
  * @param {LintConfig} configuration - an optional configuration. When not passed in, this is read from the .sasjslint file.
6
6
  * @returns {Promise<Diagnostic[]>} array of diagnostic objects, each containing a warning, line number and column number.
7
7
  */
8
- export declare const lintFile: (filePath: string, configuration?: LintConfig | undefined) => Promise<Diagnostic[]>;
8
+ export declare const lintFile: (filePath: string, configuration?: LintConfig) => Promise<Diagnostic[]>;
package/lint/lintFile.js CHANGED
@@ -8,89 +8,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
55
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
56
- to[j] = from[i];
57
- return to;
58
- };
59
11
  Object.defineProperty(exports, "__esModule", { value: true });
60
12
  exports.lintFile = void 0;
61
- var file_1 = require("@sasjs/utils/file");
62
- var utils_1 = require("../utils");
63
- var shared_1 = require("./shared");
13
+ const file_1 = require("@sasjs/utils/file");
14
+ const utils_1 = require("../utils");
15
+ const shared_1 = require("./shared");
64
16
  /**
65
17
  * Analyses and produces a set of diagnostics for the file at the given path.
66
18
  * @param {string} filePath - the path to the file to be linted.
67
19
  * @param {LintConfig} configuration - an optional configuration. When not passed in, this is read from the .sasjslint file.
68
20
  * @returns {Promise<Diagnostic[]>} array of diagnostic objects, each containing a warning, line number and column number.
69
21
  */
70
- var lintFile = function (filePath, configuration) { return __awaiter(void 0, void 0, void 0, function () {
71
- var config, _a, text, fileDiagnostics, textDiagnostics;
72
- return __generator(this, function (_b) {
73
- switch (_b.label) {
74
- case 0: return [4 /*yield*/, utils_1.isIgnored(filePath, configuration)];
75
- case 1:
76
- if (_b.sent())
77
- return [2 /*return*/, []];
78
- _a = configuration;
79
- if (_a) return [3 /*break*/, 3];
80
- return [4 /*yield*/, utils_1.getLintConfig()];
81
- case 2:
82
- _a = (_b.sent());
83
- _b.label = 3;
84
- case 3:
85
- config = _a;
86
- return [4 /*yield*/, file_1.readFile(filePath)];
87
- case 4:
88
- text = _b.sent();
89
- fileDiagnostics = shared_1.processFile(filePath, config);
90
- textDiagnostics = shared_1.processText(text, config);
91
- return [2 /*return*/, __spreadArray(__spreadArray([], __read(fileDiagnostics)), __read(textDiagnostics))];
92
- }
93
- });
94
- }); };
22
+ const lintFile = (filePath, configuration) => __awaiter(void 0, void 0, void 0, function* () {
23
+ if (yield (0, utils_1.isIgnored)(filePath, configuration))
24
+ return [];
25
+ const config = configuration || (yield (0, utils_1.getLintConfig)());
26
+ const text = yield (0, file_1.readFile)(filePath);
27
+ const fileDiagnostics = (0, shared_1.processFile)(filePath, config);
28
+ const textDiagnostics = (0, shared_1.processText)(text, config);
29
+ return [...fileDiagnostics, ...textDiagnostics];
30
+ });
95
31
  exports.lintFile = lintFile;
96
32
  //# sourceMappingURL=lintFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lintFile.js","sourceRoot":"","sources":["../../src/lint/lintFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4C;AAE5C,kCAAmD;AACnD,mCAAmD;AAEnD;;;;;GAKG;AACI,IAAM,QAAQ,GAAG,UACtB,QAAgB,EAChB,aAA0B;;;;oBAEtB,qBAAM,iBAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAA;;gBAA5C,IAAI,SAAwC;oBAAE,sBAAO,EAAE,EAAA;gBAExC,KAAA,aAAa,CAAA;wBAAb,wBAAa;gBAAK,qBAAM,qBAAa,EAAE,EAAA;;gBAAtB,KAAA,CAAC,SAAqB,CAAC,CAAA;;;gBAAjD,MAAM,KAA2C;gBAC1C,qBAAM,eAAQ,CAAC,QAAQ,CAAC,EAAA;;gBAA/B,IAAI,GAAG,SAAwB;gBAE/B,eAAe,GAAG,oBAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAC/C,eAAe,GAAG,oBAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBAEjD,6DAAW,eAAe,WAAK,eAAe,IAAC;;;KAChD,CAAA;AAbY,QAAA,QAAQ,YAapB"}
1
+ {"version":3,"file":"lintFile.js","sourceRoot":"","sources":["../../src/lint/lintFile.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4C;AAE5C,oCAAmD;AACnD,qCAAmD;AAEnD;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,aAA0B,EACH,EAAE;IACzB,IAAI,MAAM,IAAA,iBAAS,EAAC,QAAQ,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,CAAA;IAEvD,MAAM,MAAM,GAAG,aAAa,IAAI,CAAC,MAAM,IAAA,qBAAa,GAAE,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,QAAQ,CAAC,CAAA;IAErC,MAAM,eAAe,GAAG,IAAA,oBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,IAAA,oBAAW,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAEjD,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,CAAA;AACjD,CAAC,CAAA,CAAA;AAbY,QAAA,QAAQ,YAapB"}
@@ -5,4 +5,4 @@ import { Diagnostic, LintConfig } from '../types';
5
5
  * @param {LintConfig} configuration - an optional configuration. When not passed in, this is read from the .sasjslint file.
6
6
  * @returns {Promise<Map<string, Diagnostic[]>>} Resolves with a map with array of diagnostic objects, each containing a warning, line number and column number, and grouped by file path.
7
7
  */
8
- export declare const lintFolder: (folderPath: string, configuration?: LintConfig | undefined) => Promise<Map<string, Diagnostic[]>>;
8
+ export declare const lintFolder: (folderPath: string, configuration?: LintConfig) => Promise<Map<string, Diagnostic[]>>;
@@ -8,64 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
55
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
56
- to[j] = from[i];
57
- return to;
58
- };
59
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
60
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
61
13
  };
62
14
  Object.defineProperty(exports, "__esModule", { value: true });
63
15
  exports.lintFolder = void 0;
64
- var file_1 = require("@sasjs/utils/file");
65
- var path_1 = __importDefault(require("path"));
66
- var utils_1 = require("../utils");
67
- var lintFile_1 = require("./lintFile");
68
- var excludeFolders = [
16
+ const file_1 = require("@sasjs/utils/file");
17
+ const path_1 = __importDefault(require("path"));
18
+ const utils_1 = require("../utils");
19
+ const lintFile_1 = require("./lintFile");
20
+ const excludeFolders = [
69
21
  '.git',
70
22
  '.github',
71
23
  '.vscode',
@@ -79,66 +31,23 @@ var excludeFolders = [
79
31
  * @param {LintConfig} configuration - an optional configuration. When not passed in, this is read from the .sasjslint file.
80
32
  * @returns {Promise<Map<string, Diagnostic[]>>} Resolves with a map with array of diagnostic objects, each containing a warning, line number and column number, and grouped by file path.
81
33
  */
82
- var lintFolder = function (folderPath, configuration) { return __awaiter(void 0, void 0, void 0, function () {
83
- var config, _a, diagnostics, fileNames, subFolders;
84
- return __generator(this, function (_b) {
85
- switch (_b.label) {
86
- case 0:
87
- _a = configuration;
88
- if (_a) return [3 /*break*/, 2];
89
- return [4 /*yield*/, utils_1.getLintConfig()];
90
- case 1:
91
- _a = (_b.sent());
92
- _b.label = 2;
93
- case 2:
94
- config = _a;
95
- diagnostics = new Map();
96
- return [4 /*yield*/, utils_1.isIgnored(folderPath, config)];
97
- case 3:
98
- if (_b.sent())
99
- return [2 /*return*/, diagnostics];
100
- return [4 /*yield*/, utils_1.listSasFiles(folderPath)];
101
- case 4:
102
- fileNames = _b.sent();
103
- return [4 /*yield*/, utils_1.asyncForEach(fileNames, function (fileName) { return __awaiter(void 0, void 0, void 0, function () {
104
- var filePath, _a, _b, _c;
105
- return __generator(this, function (_d) {
106
- switch (_d.label) {
107
- case 0:
108
- filePath = path_1.default.join(folderPath, fileName);
109
- _b = (_a = diagnostics).set;
110
- _c = [filePath];
111
- return [4 /*yield*/, lintFile_1.lintFile(filePath, config)];
112
- case 1:
113
- _b.apply(_a, _c.concat([_d.sent()]));
114
- return [2 /*return*/];
115
- }
116
- });
117
- }); })];
118
- case 5:
119
- _b.sent();
120
- return [4 /*yield*/, file_1.listSubFoldersInFolder(folderPath)];
121
- case 6:
122
- subFolders = (_b.sent()).filter(function (f) { return !excludeFolders.includes(f); });
123
- return [4 /*yield*/, utils_1.asyncForEach(subFolders, function (subFolder) { return __awaiter(void 0, void 0, void 0, function () {
124
- var subFolderPath, subFolderDiagnostics;
125
- return __generator(this, function (_a) {
126
- switch (_a.label) {
127
- case 0:
128
- subFolderPath = path_1.default.join(folderPath, subFolder);
129
- return [4 /*yield*/, exports.lintFolder(subFolderPath, config)];
130
- case 1:
131
- subFolderDiagnostics = _a.sent();
132
- diagnostics = new Map(__spreadArray(__spreadArray([], __read(diagnostics)), __read(subFolderDiagnostics)));
133
- return [2 /*return*/];
134
- }
135
- });
136
- }); })];
137
- case 7:
138
- _b.sent();
139
- return [2 /*return*/, diagnostics];
140
- }
141
- });
142
- }); };
34
+ const lintFolder = (folderPath, configuration) => __awaiter(void 0, void 0, void 0, function* () {
35
+ const config = configuration || (yield (0, utils_1.getLintConfig)());
36
+ let diagnostics = new Map();
37
+ if (yield (0, utils_1.isIgnored)(folderPath, config))
38
+ return diagnostics;
39
+ const fileNames = yield (0, utils_1.listSasFiles)(folderPath);
40
+ yield (0, utils_1.asyncForEach)(fileNames, (fileName) => __awaiter(void 0, void 0, void 0, function* () {
41
+ const filePath = path_1.default.join(folderPath, fileName);
42
+ diagnostics.set(filePath, yield (0, lintFile_1.lintFile)(filePath, config));
43
+ }));
44
+ const subFolders = (yield (0, file_1.listSubFoldersInFolder)(folderPath)).filter((f) => !excludeFolders.includes(f));
45
+ yield (0, utils_1.asyncForEach)(subFolders, (subFolder) => __awaiter(void 0, void 0, void 0, function* () {
46
+ const subFolderPath = path_1.default.join(folderPath, subFolder);
47
+ const subFolderDiagnostics = yield (0, exports.lintFolder)(subFolderPath, config);
48
+ diagnostics = new Map([...diagnostics, ...subFolderDiagnostics]);
49
+ }));
50
+ return diagnostics;
51
+ });
143
52
  exports.lintFolder = lintFolder;
144
53
  //# sourceMappingURL=lintFolder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lintFolder.js","sourceRoot":"","sources":["../../src/lint/lintFolder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA0D;AAC1D,8CAAuB;AAEvB,kCAA+E;AAC/E,uCAAqC;AAErC,IAAM,cAAc,GAAG;IACrB,MAAM;IACN,SAAS;IACT,SAAS;IACT,cAAc;IACd,YAAY;IACZ,cAAc;CACf,CAAA;AAED;;;;;GAKG;AACI,IAAM,UAAU,GAAG,UACxB,UAAkB,EAClB,aAA0B;;;;;gBAEX,KAAA,aAAa,CAAA;wBAAb,wBAAa;gBAAK,qBAAM,qBAAa,EAAE,EAAA;;gBAAtB,KAAA,CAAC,SAAqB,CAAC,CAAA;;;gBAAjD,MAAM,KAA2C;gBACnD,WAAW,GAA8B,IAAI,GAAG,EAAwB,CAAA;gBAExE,qBAAM,iBAAS,CAAC,UAAU,EAAE,MAAM,CAAC,EAAA;;gBAAvC,IAAI,SAAmC;oBAAE,sBAAO,WAAW,EAAA;gBAEzC,qBAAM,oBAAY,CAAC,UAAU,CAAC,EAAA;;gBAA1C,SAAS,GAAG,SAA8B;gBAChD,qBAAM,oBAAY,CAAC,SAAS,EAAE,UAAO,QAAQ;;;;;oCACrC,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;oCAChD,KAAA,CAAA,KAAA,WAAW,CAAA,CAAC,GAAG,CAAA;0CAAC,QAAQ;oCAAE,qBAAM,mBAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAA;;oCAA1D,wBAA0B,SAAgC,GAAC,CAAA;;;;yBAC5D,CAAC,EAAA;;gBAHF,SAGE,CAAA;gBAEkB,qBAAM,6BAAsB,CAAC,UAAU,CAAC,EAAA;;gBAAtD,UAAU,GAAG,CAAC,SAAwC,CAAC,CAAC,MAAM,CAClE,UAAC,CAAS,IAAK,OAAA,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAA3B,CAA2B,CAC3C;gBAED,qBAAM,oBAAY,CAAC,UAAU,EAAE,UAAO,SAAS;;;;;oCACvC,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;oCACzB,qBAAM,kBAAU,CAAC,aAAa,EAAE,MAAM,CAAC,EAAA;;oCAA9D,oBAAoB,GAAG,SAAuC;oCACpE,WAAW,GAAG,IAAI,GAAG,wCAAK,WAAW,WAAK,oBAAoB,GAAE,CAAA;;;;yBACjE,CAAC,EAAA;;gBAJF,SAIE,CAAA;gBAEF,sBAAO,WAAW,EAAA;;;KACnB,CAAA;AA1BY,QAAA,UAAU,cA0BtB"}
1
+ {"version":3,"file":"lintFolder.js","sourceRoot":"","sources":["../../src/lint/lintFolder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA0D;AAC1D,gDAAuB;AAEvB,oCAA+E;AAC/E,yCAAqC;AAErC,MAAM,cAAc,GAAG;IACrB,MAAM;IACN,SAAS;IACT,SAAS;IACT,cAAc;IACd,YAAY;IACZ,cAAc;CACf,CAAA;AAED;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CACxB,UAAkB,EAClB,aAA0B,EAC1B,EAAE;IACF,MAAM,MAAM,GAAG,aAAa,IAAI,CAAC,MAAM,IAAA,qBAAa,GAAE,CAAC,CAAA;IACvD,IAAI,WAAW,GAA8B,IAAI,GAAG,EAAwB,CAAA;IAE5E,IAAI,MAAM,IAAA,iBAAS,EAAC,UAAU,EAAE,MAAM,CAAC;QAAE,OAAO,WAAW,CAAA;IAE3D,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,UAAU,CAAC,CAAA;IAChD,MAAM,IAAA,oBAAY,EAAC,SAAS,EAAE,CAAO,QAAQ,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAChD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAA,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,CAAC,MAAM,IAAA,6BAAsB,EAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAClE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC3C,CAAA;IAED,MAAM,IAAA,oBAAY,EAAC,UAAU,EAAE,CAAO,SAAS,EAAE,EAAE;QACjD,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QACtD,MAAM,oBAAoB,GAAG,MAAM,IAAA,kBAAU,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACpE,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAA;IAClE,CAAC,CAAA,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA,CAAA;AA1BY,QAAA,UAAU,cA0BtB"}
@@ -8,56 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
11
  Object.defineProperty(exports, "__esModule", { value: true });
39
12
  exports.lintProject = void 0;
40
- var getProjectRoot_1 = require("../utils/getProjectRoot");
41
- var lintFolder_1 = require("./lintFolder");
13
+ const getProjectRoot_1 = require("../utils/getProjectRoot");
14
+ const lintFolder_1 = require("./lintFolder");
42
15
  /**
43
16
  * Analyses and produces a set of diagnostics for the current project.
44
17
  * @returns {Promise<Map<string, Diagnostic[]>>} Resolves with a map with array of diagnostic objects, each containing a warning, line number and column number, and grouped by file path.
45
18
  */
46
- var lintProject = function () { return __awaiter(void 0, void 0, void 0, function () {
47
- var projectRoot;
48
- return __generator(this, function (_a) {
49
- switch (_a.label) {
50
- case 0: return [4 /*yield*/, getProjectRoot_1.getProjectRoot()];
51
- case 1:
52
- projectRoot = (_a.sent()) || process.currentDir;
53
- if (!projectRoot) {
54
- throw new Error('SASjs Project Root was not found.');
55
- }
56
- console.info("Linting all .sas files under " + projectRoot);
57
- return [4 /*yield*/, lintFolder_1.lintFolder(projectRoot)];
58
- case 2: return [2 /*return*/, _a.sent()];
59
- }
60
- });
61
- }); };
19
+ const lintProject = () => __awaiter(void 0, void 0, void 0, function* () {
20
+ const projectRoot = (yield (0, getProjectRoot_1.getProjectRoot)()) || process.currentDir;
21
+ if (!projectRoot) {
22
+ throw new Error('SASjs Project Root was not found.');
23
+ }
24
+ console.info(`Linting all .sas files under ${projectRoot}`);
25
+ return yield (0, lintFolder_1.lintFolder)(projectRoot);
26
+ });
62
27
  exports.lintProject = lintProject;
63
28
  //# sourceMappingURL=lintProject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/lint/lintProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAwD;AACxD,2CAAyC;AAEzC;;;GAGG;AACI,IAAM,WAAW,GAAG;;;;oBACJ,qBAAM,+BAAc,EAAE,EAAA;;gBAArC,WAAW,GAAG,CAAC,SAAsB,CAAC,IAAI,OAAO,CAAC,UAAU;gBAClE,IAAI,CAAC,WAAW,EAAE;oBAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;iBACrD;gBAED,OAAO,CAAC,IAAI,CAAC,kCAAgC,WAAa,CAAC,CAAA;gBAEpD,qBAAM,uBAAU,CAAC,WAAW,CAAC,EAAA;oBAApC,sBAAO,SAA6B,EAAA;;;KACrC,CAAA;AATY,QAAA,WAAW,eASvB"}
1
+ {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/lint/lintProject.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAwD;AACxD,6CAAyC;AAEzC;;;GAGG;AACI,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,MAAM,WAAW,GAAG,CAAC,MAAM,IAAA,+BAAc,GAAE,CAAC,IAAI,OAAO,CAAC,UAAU,CAAA;IAClE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;KACrD;IAED,OAAO,CAAC,IAAI,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAA;IAE3D,OAAO,MAAM,IAAA,uBAAU,EAAC,WAAW,CAAC,CAAA;AACtC,CAAC,CAAA,CAAA;AATY,QAAA,WAAW,eASvB"}