@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.
- package/.github/dependabot.yml +1 -1
- package/.github/reviewer-lottery.yml +0 -2
- package/.github/workflows/assign-reviewer.yml +2 -2
- package/format/formatFile.d.ts +1 -1
- package/format/formatFile.js +24 -72
- package/format/formatFile.js.map +1 -1
- package/format/formatFolder.d.ts +1 -1
- package/format/formatFolder.js +36 -104
- package/format/formatFolder.js.map +1 -1
- package/format/formatProject.js +10 -45
- package/format/formatProject.js.map +1 -1
- package/format/formatText.d.ts +1 -1
- package/format/formatText.js +6 -46
- package/format/formatText.js.map +1 -1
- package/format/index.js +5 -1
- package/format/index.js.map +1 -1
- package/format/shared.js +16 -16
- package/format/shared.js.map +1 -1
- package/formatExample.js +10 -6
- package/formatExample.js.map +1 -1
- package/index.js +5 -1
- package/index.js.map +1 -1
- package/lint/index.js +5 -1
- package/lint/index.js.map +1 -1
- package/lint/lintFile.d.ts +1 -1
- package/lint/lintFile.js +12 -76
- package/lint/lintFile.js.map +1 -1
- package/lint/lintFolder.d.ts +1 -1
- package/lint/lintFolder.js +23 -114
- package/lint/lintFolder.js.map +1 -1
- package/lint/lintProject.js +10 -45
- package/lint/lintProject.js.map +1 -1
- package/lint/lintText.js +6 -40
- package/lint/lintText.js.map +1 -1
- package/lint/shared.js +24 -45
- package/lint/shared.js.map +1 -1
- package/lintExample.js +45 -5
- package/lintExample.js.map +1 -1
- package/package.json +3 -3
- package/rules/file/hasDoxygenHeader.js +29 -29
- package/rules/file/hasDoxygenHeader.js.map +1 -1
- package/rules/file/hasMacroNameInMend.js +59 -59
- package/rules/file/hasMacroNameInMend.js.map +1 -1
- package/rules/file/hasMacroParentheses.js +25 -27
- package/rules/file/hasMacroParentheses.js.map +1 -1
- package/rules/file/hasRequiredMacroOptions.js +20 -20
- package/rules/file/hasRequiredMacroOptions.js.map +1 -1
- package/rules/file/lineEndings.js +27 -27
- package/rules/file/lineEndings.js.map +1 -1
- package/rules/file/noNestedMacros.js +23 -23
- package/rules/file/noNestedMacros.js.map +1 -1
- package/rules/file/strictMacroDefinition.js +52 -57
- package/rules/file/strictMacroDefinition.js.map +1 -1
- package/rules/line/indentationMultiple.js +16 -16
- package/rules/line/indentationMultiple.js.map +1 -1
- package/rules/line/maxLineLength.js +16 -16
- package/rules/line/maxLineLength.js.map +1 -1
- package/rules/line/noEncodedPasswords.js +18 -18
- package/rules/line/noEncodedPasswords.js.map +1 -1
- package/rules/line/noGremlins.js +29 -69
- package/rules/line/noGremlins.js.map +1 -1
- package/rules/line/noTabs.js +19 -19
- package/rules/line/noTabs.js.map +1 -1
- package/rules/line/noTrailingSpaces.js +16 -16
- package/rules/line/noTrailingSpaces.js.map +1 -1
- package/rules/path/lowerCaseFileNames.js +15 -15
- package/rules/path/lowerCaseFileNames.js.map +1 -1
- package/rules/path/noSpacesInFileNames.js +15 -15
- package/rules/path/noSpacesInFileNames.js.map +1 -1
- package/types/LintConfig.js +28 -68
- package/types/LintConfig.js.map +1 -1
- package/types/index.js +5 -1
- package/types/index.js.map +1 -1
- package/utils/asyncForEach.js +4 -46
- package/utils/asyncForEach.js.map +1 -1
- package/utils/getColumnNumber.js +3 -3
- package/utils/getColumnNumber.js.map +1 -1
- package/utils/getDataSectionsDetail.js +16 -38
- package/utils/getDataSectionsDetail.js.map +1 -1
- package/utils/getHeaderLinesCount.js +8 -30
- package/utils/getHeaderLinesCount.js.map +1 -1
- package/utils/getIndicesOf.js +3 -4
- package/utils/getIndicesOf.js.map +1 -1
- package/utils/getLintConfig.js +14 -52
- package/utils/getLintConfig.js.map +1 -1
- package/utils/getProjectRoot.js +22 -59
- package/utils/getProjectRoot.js.map +1 -1
- package/utils/index.js +5 -1
- package/utils/index.js.map +1 -1
- package/utils/isIgnored.d.ts +1 -1
- package/utils/isIgnored.js +20 -67
- package/utils/isIgnored.js.map +1 -1
- package/utils/listSasFiles.js +5 -39
- package/utils/listSasFiles.js.map +1 -1
- package/utils/parseMacros.d.ts +1 -1
- package/utils/parseMacros.js +29 -50
- package/utils/parseMacros.js.map +1 -1
- package/utils/splitText.js +4 -4
- package/utils/splitText.js.map +1 -1
- package/utils/trimComments.js +8 -10
- package/utils/trimComments.js.map +1 -1
package/utils/parseMacros.js
CHANGED
|
@@ -1,59 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
19
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
20
|
-
to[j] = from[i];
|
|
21
|
-
return to;
|
|
22
|
-
};
|
|
23
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
3
|
exports.parseMacros = void 0;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
lines.forEach(
|
|
39
|
-
|
|
4
|
+
const LineEndings_1 = require("../types/LineEndings");
|
|
5
|
+
const trimComments_1 = require("./trimComments");
|
|
6
|
+
const parseMacros = (text, config) => {
|
|
7
|
+
const lineEnding = (config === null || config === void 0 ? void 0 : config.lineEndings) === LineEndings_1.LineEndings.CRLF ? '\r\n' : '\n';
|
|
8
|
+
const lines = text ? text.split(lineEnding) : [];
|
|
9
|
+
const macros = [];
|
|
10
|
+
let isCommentStarted = false;
|
|
11
|
+
let macroStack = [];
|
|
12
|
+
let isReadingMacroDefinition = false;
|
|
13
|
+
let isStatementContinues = true;
|
|
14
|
+
let tempMacroDeclaration = '';
|
|
15
|
+
let tempMacroDeclarationLines = [];
|
|
16
|
+
let tempStartLineNumbers = [];
|
|
17
|
+
lines.forEach((line, lineIndex) => {
|
|
18
|
+
const { statement: trimmedLine, commentStarted } = (0, trimComments_1.trimComments)(line, isCommentStarted);
|
|
40
19
|
isCommentStarted = commentStarted;
|
|
41
20
|
isStatementContinues = !trimmedLine.endsWith(';');
|
|
42
|
-
|
|
21
|
+
const statements = trimmedLine.split(';');
|
|
43
22
|
if (isReadingMacroDefinition) {
|
|
44
23
|
// checking if code is split into statements based on `;` is a part of HTML Encoded Character
|
|
45
24
|
// if it happened, merges two statements into one
|
|
46
|
-
statements.forEach(
|
|
25
|
+
statements.forEach((statement, statementIndex) => {
|
|
47
26
|
if (/&[^\s]{1,5}$/.test(statement)) {
|
|
48
|
-
|
|
49
|
-
|
|
27
|
+
const next = statements[statementIndex];
|
|
28
|
+
const updatedStatement = `${statement};${statements[statementIndex + 1]}`;
|
|
50
29
|
statements.splice(statementIndex, 1, updatedStatement);
|
|
51
30
|
statements.splice(statementIndex + 1, 1);
|
|
52
31
|
}
|
|
53
32
|
});
|
|
54
33
|
}
|
|
55
|
-
statements.forEach(
|
|
56
|
-
|
|
34
|
+
statements.forEach((statement, statementIndex) => {
|
|
35
|
+
const { statement: trimmedStatement, commentStarted } = (0, trimComments_1.trimComments)(statement, isCommentStarted);
|
|
57
36
|
isCommentStarted = commentStarted;
|
|
58
37
|
if (isReadingMacroDefinition) {
|
|
59
38
|
tempMacroDeclaration =
|
|
@@ -63,14 +42,14 @@ var parseMacros = function (text, config) {
|
|
|
63
42
|
tempStartLineNumbers.push(lineIndex + 1);
|
|
64
43
|
if (!Object.is(statements.length - 1, statementIndex)) {
|
|
65
44
|
isReadingMacroDefinition = false;
|
|
66
|
-
|
|
45
|
+
const name = tempMacroDeclaration
|
|
67
46
|
.slice(7, tempMacroDeclaration.length)
|
|
68
47
|
.trim()
|
|
69
48
|
.split('/')[0]
|
|
70
49
|
.split('(')[0]
|
|
71
50
|
.trim();
|
|
72
51
|
macroStack.push({
|
|
73
|
-
name
|
|
52
|
+
name,
|
|
74
53
|
startLineNumbers: tempStartLineNumbers,
|
|
75
54
|
endLineNumber: null,
|
|
76
55
|
parentMacro: macroStack.length
|
|
@@ -86,7 +65,7 @@ var parseMacros = function (text, config) {
|
|
|
86
65
|
}
|
|
87
66
|
}
|
|
88
67
|
if (trimmedStatement.startsWith('%macro')) {
|
|
89
|
-
|
|
68
|
+
const startLineNumber = lineIndex + 1;
|
|
90
69
|
if (isStatementContinues &&
|
|
91
70
|
Object.is(statements.length - 1, statementIndex)) {
|
|
92
71
|
tempMacroDeclaration = trimmedStatement;
|
|
@@ -95,14 +74,14 @@ var parseMacros = function (text, config) {
|
|
|
95
74
|
isReadingMacroDefinition = true;
|
|
96
75
|
return;
|
|
97
76
|
}
|
|
98
|
-
|
|
77
|
+
const name = trimmedStatement
|
|
99
78
|
.slice(7, trimmedStatement.length)
|
|
100
79
|
.trim()
|
|
101
80
|
.split('/')[0]
|
|
102
81
|
.split('(')[0]
|
|
103
82
|
.trim();
|
|
104
83
|
macroStack.push({
|
|
105
|
-
name
|
|
84
|
+
name,
|
|
106
85
|
startLineNumbers: [startLineNumber],
|
|
107
86
|
endLineNumber: null,
|
|
108
87
|
parentMacro: macroStack.length
|
|
@@ -118,8 +97,8 @@ var parseMacros = function (text, config) {
|
|
|
118
97
|
}
|
|
119
98
|
else if (trimmedStatement.startsWith('%mend')) {
|
|
120
99
|
if (macroStack.length) {
|
|
121
|
-
|
|
122
|
-
|
|
100
|
+
const macro = macroStack.pop();
|
|
101
|
+
const mendMacroName = trimmedStatement.split(' ').filter((s) => !!s)[1] || '';
|
|
123
102
|
macro.endLineNumber = lineIndex + 1;
|
|
124
103
|
macro.hasMacroNameInMend = mendMacroName === macro.name;
|
|
125
104
|
macro.mismatchedMendMacroName = macro.hasMacroNameInMend
|
|
@@ -146,7 +125,7 @@ var parseMacros = function (text, config) {
|
|
|
146
125
|
}
|
|
147
126
|
});
|
|
148
127
|
});
|
|
149
|
-
macros.push
|
|
128
|
+
macros.push(...macroStack);
|
|
150
129
|
return macros;
|
|
151
130
|
};
|
|
152
131
|
exports.parseMacros = parseMacros;
|
package/utils/parseMacros.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseMacros.js","sourceRoot":"","sources":["../../src/utils/parseMacros.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseMacros.js","sourceRoot":"","sources":["../../src/utils/parseMacros.ts"],"names":[],"mappings":"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"}
|
package/utils/splitText.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.splitText = void 0;
|
|
4
|
-
|
|
4
|
+
const LineEndings_1 = require("../types/LineEndings");
|
|
5
5
|
/**
|
|
6
6
|
* Splits the given content into a list of lines, regardless of CRLF or LF line endings.
|
|
7
7
|
* @param {string} text - the text content to be split into lines.
|
|
8
8
|
* @returns {string[]} an array of lines from the given text
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
const splitText = (text, config) => {
|
|
11
11
|
if (!text)
|
|
12
12
|
return [];
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const expectedLineEndings = config.lineEndings === LineEndings_1.LineEndings.LF ? '\n' : '\r\n';
|
|
14
|
+
const incorrectLineEndings = expectedLineEndings === '\n' ? '\r\n' : '\n';
|
|
15
15
|
text = text.replace(new RegExp(incorrectLineEndings, 'g'), expectedLineEndings);
|
|
16
16
|
// splitting text on '\r\n' was causing some problem
|
|
17
17
|
// as it was retaining carriage return at the end of each line
|
package/utils/splitText.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitText.js","sourceRoot":"","sources":["../../src/utils/splitText.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"splitText.js","sourceRoot":"","sources":["../../src/utils/splitText.ts"],"names":[],"mappings":";;;AACA,sDAAkD;AAElD;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,MAAkB,EAAY,EAAE;IACtE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IAEpB,MAAM,mBAAmB,GACvB,MAAM,CAAC,WAAW,KAAK,yBAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAEvD,MAAM,oBAAoB,GAAG,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzE,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,EACrC,mBAAmB,CACpB,CAAA;IAED,oDAAoD;IACpD,8DAA8D;IAC9D,4EAA4E;IAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAjBY,QAAA,SAAS,aAiBrB"}
|
package/utils/trimComments.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.trimComments = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (trimEnd === void 0) { trimEnd = false; }
|
|
7
|
-
var trimmed = trimEnd ? (statement || '').trimEnd() : (statement || '').trim();
|
|
4
|
+
const trimComments = (statement, commentStarted = false, trimEnd = false) => {
|
|
5
|
+
let trimmed = trimEnd ? (statement || '').trimEnd() : (statement || '').trim();
|
|
8
6
|
if (commentStarted || trimmed.startsWith('/*')) {
|
|
9
|
-
|
|
7
|
+
const parts = trimmed.startsWith('/*')
|
|
10
8
|
? trimmed.slice(2).split('*/')
|
|
11
9
|
: trimmed.split('*/');
|
|
12
10
|
if (parts.length === 2) {
|
|
@@ -17,18 +15,18 @@ var trimComments = function (statement, commentStarted, trimEnd) {
|
|
|
17
15
|
}
|
|
18
16
|
else if (parts.length > 2) {
|
|
19
17
|
parts.shift();
|
|
20
|
-
return exports.trimComments(parts.join('*/'), false);
|
|
18
|
+
return (0, exports.trimComments)(parts.join('*/'), false);
|
|
21
19
|
}
|
|
22
20
|
else {
|
|
23
21
|
return { statement: '', commentStarted: true };
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
24
|
else if (trimmed.includes('/*')) {
|
|
27
|
-
|
|
25
|
+
const statementBeforeCommentStarts = trimmed.slice(0, trimmed.indexOf('/*'));
|
|
28
26
|
trimmed = trimmed.slice(trimmed.indexOf('/*') + 2);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
const remainingStatement = trimmed.slice(trimmed.indexOf('*/') + 2);
|
|
28
|
+
const result = (0, exports.trimComments)(remainingStatement, false, true);
|
|
29
|
+
const completeStatement = statementBeforeCommentStarts + result.statement;
|
|
32
30
|
return {
|
|
33
31
|
statement: trimEnd
|
|
34
32
|
? completeStatement.trimEnd()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trimComments.js","sourceRoot":"","sources":["../../src/utils/trimComments.ts"],"names":[],"mappings":";;;AAAO,
|
|
1
|
+
{"version":3,"file":"trimComments.js","sourceRoot":"","sources":["../../src/utils/trimComments.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,iBAA0B,KAAK,EAC/B,UAAmB,KAAK,EACwB,EAAE;IAClD,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAE9E,IAAI,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO;gBACL,SAAS,EAAG,KAAK,CAAC,GAAG,EAAa,CAAC,IAAI,EAAE;gBACzC,cAAc,EAAE,KAAK;aACtB,CAAA;SACF;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,OAAO,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;SAC7C;aAAM;YACL,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;SAC/C;KACF;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,4BAA4B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5E,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAClD,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAEnE,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,iBAAiB,GAAG,4BAA4B,GAAG,MAAM,CAAC,SAAS,CAAA;QACzE,OAAO;YACL,SAAS,EAAE,OAAO;gBAChB,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE;gBAC7B,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAC5B,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAA;KACF;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AACtD,CAAC,CAAA;AArCY,QAAA,YAAY,gBAqCxB"}
|