@sasjs/lint 1.14.1 → 1.15.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.
- package/README.md +33 -4
- package/lint/shared.js +2 -2
- package/lint/shared.js.map +1 -1
- package/package.json +1 -1
- package/rules/file/hasDoxygenHeader.js +4 -3
- package/rules/file/hasDoxygenHeader.js.map +1 -1
- package/rules/file/hasMacroNameInMend.js +5 -4
- package/rules/file/hasMacroNameInMend.js.map +1 -1
- package/rules/file/hasMacroParentheses.js +3 -2
- package/rules/file/hasMacroParentheses.js.map +1 -1
- package/rules/file/lineEndings.js +3 -2
- package/rules/file/lineEndings.js.map +1 -1
- package/rules/file/noNestedMacros.js +2 -1
- package/rules/file/noNestedMacros.js.map +1 -1
- package/rules/file/strictMacroDefinition.js +8 -6
- package/rules/file/strictMacroDefinition.js.map +1 -1
- package/rules/line/indentationMultiple.js +2 -1
- package/rules/line/indentationMultiple.js.map +1 -1
- package/rules/line/maxLineLength.js +2 -1
- package/rules/line/maxLineLength.js.map +1 -1
- package/rules/line/noEncodedPasswords.js +3 -2
- package/rules/line/noEncodedPasswords.js.map +1 -1
- package/rules/line/noTabIndentation.js +3 -2
- package/rules/line/noTabIndentation.js.map +1 -1
- package/rules/line/noTrailingSpaces.js +3 -2
- package/rules/line/noTrailingSpaces.js.map +1 -1
- package/rules/path/lowerCaseFileNames.js +3 -2
- package/rules/path/lowerCaseFileNames.js.map +1 -1
- package/rules/path/noSpacesInFileNames.js +3 -2
- package/rules/path/noSpacesInFileNames.js.map +1 -1
- package/sasjslint-schema.json +109 -0
- package/types/LintConfig.d.ts +4 -0
- package/types/LintConfig.js +48 -0
- package/types/LintConfig.js.map +1 -1
- package/types/LintRule.d.ts +1 -1
package/README.md
CHANGED
|
@@ -40,9 +40,19 @@ Configuration is via a `.sasjslint` file with the following structure (these are
|
|
|
40
40
|
|
|
41
41
|
### SAS Lint Settings
|
|
42
42
|
|
|
43
|
+
Each setting can have three states:
|
|
44
|
+
|
|
45
|
+
* OFF - usually by setting the value to `false` or 0. In this case, the rule won't be executed.
|
|
46
|
+
* WARN - a warning is written to the log, but the return code will be 0
|
|
47
|
+
* ERROR - an error is written to the log, and the return code is 1
|
|
48
|
+
|
|
49
|
+
For more details, and the default state, see the description of each rule below. It is also possible to change whether a rule returns ERROR or WARN using the `severityLevels` object.
|
|
50
|
+
|
|
43
51
|
#### defaultHeader
|
|
44
52
|
|
|
45
|
-
This
|
|
53
|
+
This isn't actually a rule - but rather a formatting setting, which applies to SAS program that do NOT begin with `/**`. It can be triggered by running `sasjs lint fix` in the SASjs CLI, or by hitting "save" when using the SASjs VS Code extension (with "formatOnSave" in place)
|
|
54
|
+
|
|
55
|
+
The default header is as follows:
|
|
46
56
|
|
|
47
57
|
```sas
|
|
48
58
|
/**
|
|
@@ -51,8 +61,7 @@ This sets the default program header - applies when a SAS program does NOT begin
|
|
|
51
61
|
<h4> SAS Macros </h4>
|
|
52
62
|
**/
|
|
53
63
|
```
|
|
54
|
-
|
|
55
|
-
The default header is automatically applied when running `sasjs lint fix` in the SASjs CLI, or by hitting "save" when using the SASjs VS Code extension. If creating a new value, use `{lineEnding}` instead of `\n`, eg as follows:
|
|
64
|
+
If creating a new value, use `{lineEnding}` instead of `\n`, eg as follows:
|
|
56
65
|
|
|
57
66
|
```json
|
|
58
67
|
{
|
|
@@ -62,7 +71,7 @@ The default header is automatically applied when running `sasjs lint fix` in the
|
|
|
62
71
|
|
|
63
72
|
#### noEncodedPasswords
|
|
64
73
|
|
|
65
|
-
This will highlight any rows that contain a `{sas00X}` type password, or `{sasenc}`. These passwords (especially 001 and 002) are NOT secure, and should NEVER be pushed to source control or saved to the filesystem without special permissions applied.
|
|
74
|
+
This rule will highlight any rows that contain a `{sas00X}` type password, or `{sasenc}`. These passwords (especially 001 and 002) are NOT secure, and should NEVER be pushed to source control or saved to the filesystem without special permissions applied.
|
|
66
75
|
|
|
67
76
|
* Default: true
|
|
68
77
|
* Severity: ERROR
|
|
@@ -139,6 +148,26 @@ This will highlight lines with trailing spaces. Trailing spaces serve no useful
|
|
|
139
148
|
* Default: true
|
|
140
149
|
* severity: WARNING
|
|
141
150
|
|
|
151
|
+
### severityLevel
|
|
152
|
+
|
|
153
|
+
This setting allows the default severity to be adjusted. This is helpful when running the lint in a pipeline or git hook. Simply list the rules you would like to adjust along with the desired setting ("warn" or "error"), eg as follows:
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"noTrailingSpaces": true,
|
|
158
|
+
"hasDoxygenHeader": true,
|
|
159
|
+
"maxLineLength": 100,
|
|
160
|
+
"severityLevel": {
|
|
161
|
+
"hasDoxygenHeader": "warn",
|
|
162
|
+
"maxLineLength": "error",
|
|
163
|
+
"noTrailingSpaces": "error"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
* "warn" - show warning in the log (doesn’t affect exit code)
|
|
169
|
+
* "error" - show error in the log (exit code is 1 when triggered)
|
|
170
|
+
|
|
142
171
|
### Upcoming Linting Rules:
|
|
143
172
|
|
|
144
173
|
* `noTabs` -> does what it says on the tin
|
package/lint/shared.js
CHANGED
|
@@ -36,7 +36,7 @@ exports.processText = processText;
|
|
|
36
36
|
var processFile = function (filePath, config) {
|
|
37
37
|
var diagnostics = [];
|
|
38
38
|
config.pathLintRules.forEach(function (rule) {
|
|
39
|
-
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(filePath))));
|
|
39
|
+
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(filePath, config))));
|
|
40
40
|
});
|
|
41
41
|
return diagnostics;
|
|
42
42
|
};
|
|
@@ -44,7 +44,7 @@ exports.processFile = processFile;
|
|
|
44
44
|
var processContent = function (config, content) {
|
|
45
45
|
var diagnostics = [];
|
|
46
46
|
config.fileLintRules.forEach(function (rule) {
|
|
47
|
-
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(content))));
|
|
47
|
+
diagnostics.push.apply(diagnostics, __spreadArray([], __read(rule.test(content, config))));
|
|
48
48
|
});
|
|
49
49
|
return diagnostics;
|
|
50
50
|
};
|
package/lint/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/lint/shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,kCAAoC;AAE7B,IAAM,WAAW,GAAG,UAAC,IAAY,EAAE,MAAkB;IAC1D,IAAM,KAAK,GAAG,iBAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrC,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAC;IACjD,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;QACxB,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,mBAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAC;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AATY,QAAA,WAAW,eASvB;AAEM,IAAM,WAAW,GAAG,UACzB,QAAgB,EAChB,MAAkB;IAElB,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/lint/shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,kCAAoC;AAE7B,IAAM,WAAW,GAAG,UAAC,IAAY,EAAE,MAAkB;IAC1D,IAAM,KAAK,GAAG,iBAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrC,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAC;IACjD,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;QACxB,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,mBAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAC;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AATY,QAAA,WAAW,eASvB;AAEM,IAAM,WAAW,GAAG,UACzB,QAAgB,EAChB,MAAkB;IAElB,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAC;IAClD,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAED,IAAM,cAAc,GAAG,UAAC,MAAkB,EAAE,OAAe;IACzD,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAC;IACjD,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAEM,IAAM,WAAW,GAAG,UACzB,MAAkB,EAClB,IAAY,EACZ,UAAkB;IAElB,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,WAAW,CAAC,IAAI,OAAhB,WAAW,2BAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAC;IAC1D,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ var messageForSingleAsterisk = 'File not following Doxygen header style, use dou
|
|
|
13
13
|
var test = function (value, config) {
|
|
14
14
|
var _a;
|
|
15
15
|
var lineEnding = (config === null || config === void 0 ? void 0 : config.lineEndings) === LineEndings_1.LineEndings.CRLF ? '\r\n' : '\n';
|
|
16
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
16
17
|
try {
|
|
17
18
|
var hasFileHeader = value.trimStart().startsWith('/**');
|
|
18
19
|
if (hasFileHeader)
|
|
@@ -26,7 +27,7 @@ var test = function (value, config) {
|
|
|
26
27
|
.length + 1,
|
|
27
28
|
startColumnNumber: 1,
|
|
28
29
|
endColumnNumber: 1,
|
|
29
|
-
severity:
|
|
30
|
+
severity: severity
|
|
30
31
|
}
|
|
31
32
|
];
|
|
32
33
|
return [
|
|
@@ -35,7 +36,7 @@ var test = function (value, config) {
|
|
|
35
36
|
lineNumber: 1,
|
|
36
37
|
startColumnNumber: 1,
|
|
37
38
|
endColumnNumber: 1,
|
|
38
|
-
severity:
|
|
39
|
+
severity: severity
|
|
39
40
|
}
|
|
40
41
|
];
|
|
41
42
|
}
|
|
@@ -46,7 +47,7 @@ var test = function (value, config) {
|
|
|
46
47
|
lineNumber: 1,
|
|
47
48
|
startColumnNumber: 1,
|
|
48
49
|
endColumnNumber: 1,
|
|
49
|
-
severity:
|
|
50
|
+
severity: severity
|
|
50
51
|
}
|
|
51
52
|
];
|
|
52
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasDoxygenHeader.js","sourceRoot":"","sources":["../../../src/rules/file/hasDoxygenHeader.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AACxC,uDAAqD;AAErD,yDAAuD;AACvD,iDAA+C;AAC/C,2DAAoE;AAEpE,IAAM,IAAI,GAAG,kBAAkB,CAAA;AAC/B,IAAM,WAAW,GACf,qEAAqE,CAAA;AACvE,IAAM,OAAO,GAAG,6BAA6B,CAAA;AAC7C,IAAM,wBAAwB,GAC5B,+DAA+D,CAAA;
|
|
1
|
+
{"version":3,"file":"hasDoxygenHeader.js","sourceRoot":"","sources":["../../../src/rules/file/hasDoxygenHeader.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var test = function (value, config) {
|
|
|
13
13
|
var lineEnding = (config === null || config === void 0 ? void 0 : config.lineEndings) === LineEndings_1.LineEndings.CRLF ? '\r\n' : '\n';
|
|
14
14
|
var lines = value ? value.split(lineEnding) : [];
|
|
15
15
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
16
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
16
17
|
var diagnostics = [];
|
|
17
18
|
macros.forEach(function (macro) {
|
|
18
19
|
if (macro.startLineNumbers.length === 0 && macro.endLineNumber !== null) {
|
|
@@ -22,7 +23,7 @@ var test = function (value, config) {
|
|
|
22
23
|
lineNumber: macro.endLineNumber,
|
|
23
24
|
startColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend'),
|
|
24
25
|
endColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend') + macro.termination.length,
|
|
25
|
-
severity:
|
|
26
|
+
severity: severity
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
else if (macro.endLineNumber === null &&
|
|
@@ -32,7 +33,7 @@ var test = function (value, config) {
|
|
|
32
33
|
lineNumber: macro.startLineNumbers[0],
|
|
33
34
|
startColumnNumber: 1,
|
|
34
35
|
endColumnNumber: 1,
|
|
35
|
-
severity:
|
|
36
|
+
severity: severity
|
|
36
37
|
});
|
|
37
38
|
}
|
|
38
39
|
else if (macro.mismatchedMendMacroName) {
|
|
@@ -44,7 +45,7 @@ var test = function (value, config) {
|
|
|
44
45
|
endColumnNumber: getColumnNumber_1.getColumnNumber(endLine, macro.mismatchedMendMacroName) +
|
|
45
46
|
macro.mismatchedMendMacroName.length -
|
|
46
47
|
1,
|
|
47
|
-
severity:
|
|
48
|
+
severity: severity
|
|
48
49
|
});
|
|
49
50
|
}
|
|
50
51
|
else if (!macro.hasMacroNameInMend) {
|
|
@@ -54,7 +55,7 @@ var test = function (value, config) {
|
|
|
54
55
|
lineNumber: macro.endLineNumber,
|
|
55
56
|
startColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend'),
|
|
56
57
|
endColumnNumber: getColumnNumber_1.getColumnNumber(endLine, '%mend') + 6,
|
|
57
|
-
severity:
|
|
58
|
+
severity: severity
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasMacroNameInMend.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroNameInMend.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAE7D,uDAAqD;AACrD,uDAAqD;AAErD,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GACf,kEAAkE,CAAA;AACpE,IAAM,OAAO,GAAG,qDAAqD,CAAA;
|
|
1
|
+
{"version":3,"file":"hasMacroNameInMend.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroNameInMend.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAE7D,uDAAqD;AACrD,uDAAqD;AAErD,IAAM,IAAI,GAAG,oBAAoB,CAAA;AACjC,IAAM,WAAW,GACf,kEAAkE,CAAA;AACpE,IAAM,OAAO,GAAG,qDAAqD,CAAA;AAErE,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,IAAM,KAAK,GAAa,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5D,IAAM,MAAM,GAAG,yBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAChE,IAAM,WAAW,GAAiB,EAAE,CAAA;IAEpC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACnB,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE;YACvE,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;YAC9C,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,8BAA8B;gBACvC,UAAU,EAAE,KAAK,CAAC,aAAa;gBAC/B,iBAAiB,EAAE,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC;gBACpD,eAAe,EACb,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM;gBAC9D,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;aAAM,IACL,KAAK,CAAC,aAAa,KAAK,IAAI;YAC5B,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EACnC;YACA,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,yCAAuC,KAAK,CAAC,IAAM;gBAC5D,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAC;gBACtC,iBAAiB,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC;gBAClB,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;aAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE;YACxC,IAAM,OAAO,GAAG,KAAK,CAAE,KAAK,CAAC,aAAwB,GAAG,CAAC,CAAC,CAAA;YAC1D,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,8DACP,KAAM,CAAC,IAAI,MACV;gBACH,UAAU,EAAE,KAAK,CAAC,aAAuB;gBACzC,iBAAiB,EAAE,iCAAe,CAChC,OAAO,EACP,KAAK,CAAC,uBAAuB,CAC9B;gBACD,eAAe,EACb,iCAAe,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC;oBACvD,KAAK,CAAC,uBAAuB,CAAC,MAAM;oBACpC,CAAC;gBACH,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;aAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACpC,IAAM,OAAO,GAAG,KAAK,CAAE,KAAK,CAAC,aAAwB,GAAG,CAAC,CAAC,CAAA;YAC1D,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,6CAA2C,KAAK,CAAC,IAAM;gBAChE,UAAU,EAAE,KAAK,CAAC,aAAuB;gBACzC,iBAAiB,EAAE,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC;gBACpD,eAAe,EAAE,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;gBACtD,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,IAAM,GAAG,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC7C,IAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,IAAM,KAAK,GAAa,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5D,IAAM,MAAM,GAAG,yBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAEzC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACnB,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE;YACvE,+BAA+B;YAC/B,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;YAC9C,IAAM,iBAAiB,GAAG,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3D,IAAM,eAAe,GACnB,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAA;YAE9D,IAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAA;YAC/D,IAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACrD,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,cAAc,CAAA;SAClE;aAAM,IACL,KAAK,CAAC,aAAa,KAAK,IAAI;YAC5B,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EACnC;YACA,0BAA0B;SAC3B;aAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE;YACxC,wBAAwB;YACxB,IAAM,OAAO,GAAG,KAAK,CAAE,KAAK,CAAC,aAAwB,GAAG,CAAC,CAAC,CAAA;YAC1D,IAAM,iBAAiB,GAAG,iCAAe,CACvC,OAAO,EACP,KAAK,CAAC,uBAAuB,CAC9B,CAAA;YACD,IAAM,eAAe,GACnB,iCAAe,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC;gBACvD,KAAK,CAAC,uBAAuB,CAAC,MAAM;gBACpC,CAAC,CAAA;YAEH,IAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAA;YAC/D,IAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAErD,KAAK,CAAE,KAAK,CAAC,aAAwB,GAAG,CAAC,CAAC;gBACxC,eAAe,GAAG,KAAK,CAAC,IAAI,GAAG,cAAc,CAAA;SAChD;aAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACpC,wCAAwC;YACxC,IAAM,OAAO,GAAG,KAAK,CAAE,KAAK,CAAC,aAAwB,GAAG,CAAC,CAAC,CAAA;YAC1D,IAAM,iBAAiB,GAAG,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3D,IAAM,eAAe,GAAG,iCAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YAE7D,IAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAA;YAC/D,IAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACrD,KAAK,CAAE,KAAK,CAAC,aAAwB,GAAG,CAAC,CAAC;gBACxC,eAAe,IAAG,WAAS,KAAK,CAAC,IAAM,CAAA,GAAG,cAAc,CAAA;SAC3D;IACH,CAAC,CAAC,CAAA;IACF,IAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAE5C,OAAO,aAAa,CAAA;AACtB,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;IACJ,GAAG,KAAA;CACJ,CAAA"}
|
|
@@ -11,6 +11,7 @@ var message = 'Macro definition missing parentheses';
|
|
|
11
11
|
var test = function (value, config) {
|
|
12
12
|
var diagnostics = [];
|
|
13
13
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
14
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
14
15
|
macros.forEach(function (macro) {
|
|
15
16
|
if (!macro.name) {
|
|
16
17
|
diagnostics.push({
|
|
@@ -19,7 +20,7 @@ var test = function (value, config) {
|
|
|
19
20
|
startColumnNumber: getColumnNumber_1.getColumnNumber(macro.declarationLines[0], '%macro'),
|
|
20
21
|
endColumnNumber: getColumnNumber_1.getColumnNumber(macro.declarationLines[0], '%macro') +
|
|
21
22
|
macro.declaration.length,
|
|
22
|
-
severity:
|
|
23
|
+
severity: severity
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
26
|
else if (!macro.declarationLines.find(function (dl) { return dl.includes('('); })) {
|
|
@@ -33,7 +34,7 @@ var test = function (value, config) {
|
|
|
33
34
|
endColumnNumber: getColumnNumber_1.getColumnNumber(macro.declarationLines[macroNameLineIndex], macro.name) +
|
|
34
35
|
macro.name.length -
|
|
35
36
|
1,
|
|
36
|
-
severity:
|
|
37
|
+
severity: severity
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasMacroParentheses.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroParentheses.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAGrD,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,IAAM,OAAO,GAAG,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"hasMacroParentheses.js","sourceRoot":"","sources":["../../../src/rules/file/hasMacroParentheses.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAGrD,IAAM,IAAI,GAAG,qBAAqB,CAAA;AAClC,IAAM,WAAW,GAAG,4DAA4D,CAAA;AAChF,IAAM,OAAO,GAAG,sCAAsC,CAAA;AAEtD,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,IAAM,MAAM,GAAG,yBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAEhE,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACf,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,+BAA+B;gBACxC,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAC;gBACtC,iBAAiB,EAAE,iCAAe,CAChC,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAC,EAC1B,QAAQ,CACT;gBACD,eAAe,EACb,iCAAe,CAAC,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;oBACrD,KAAK,CAAC,WAAW,CAAC,MAAM;gBAC1B,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;aAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,EAAE;YACjE,IAAM,kBAAkB,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAC,EAAE;gBAC7D,OAAA,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAvB,CAAuB,CACxB,CAAA;YACD,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO,SAAA;gBACP,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,kBAAkB,CAAC;gBACvD,iBAAiB,EAAE,iCAAe,CAChC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAC1C,KAAK,CAAC,IAAI,CACX;gBACD,eAAe,EACb,iCAAe,CACb,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAC1C,KAAK,CAAC,IAAI,CACX;oBACD,KAAK,CAAC,IAAI,CAAC,MAAM;oBACjB,CAAC;gBACH,QAAQ,UAAA;aACT,CAAC,CAAA;SACH;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,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"}
|
|
@@ -16,6 +16,7 @@ var test = function (value, config) {
|
|
|
16
16
|
.replace(/\n/g, '{lf}')
|
|
17
17
|
.split(new RegExp("(?<=" + expectedLineEnding + ")"));
|
|
18
18
|
var diagnostics = [];
|
|
19
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
19
20
|
var indexOffset = 0;
|
|
20
21
|
lines.forEach(function (line, index) {
|
|
21
22
|
if (line.endsWith(incorrectLineEnding)) {
|
|
@@ -26,7 +27,7 @@ var test = function (value, config) {
|
|
|
26
27
|
lineNumber: index + 1 + indexOffset,
|
|
27
28
|
startColumnNumber: line.indexOf(incorrectLineEnding),
|
|
28
29
|
endColumnNumber: line.indexOf(incorrectLineEnding) + 1,
|
|
29
|
-
severity:
|
|
30
|
+
severity: severity
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
@@ -43,7 +44,7 @@ var test = function (value, config) {
|
|
|
43
44
|
lineNumber: index + i + 1,
|
|
44
45
|
startColumnNumber: l.indexOf(incorrectLineEnding),
|
|
45
46
|
endColumnNumber: l.indexOf(incorrectLineEnding) + 1,
|
|
46
|
-
severity:
|
|
47
|
+
severity: severity
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineEndings.js","sourceRoot":"","sources":["../../../src/rules/file/lineEndings.ts"],"names":[],"mappings":";;;AACA,uDAAqD;AAErD,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,aAAa,CAAA;AAC1B,IAAM,WAAW,GAAG,sDAAsD,CAAA;AAC1E,IAAM,OAAO,GAAG,wDAAwD,CAAA;
|
|
1
|
+
{"version":3,"file":"lineEndings.js","sourceRoot":"","sources":["../../../src/rules/file/lineEndings.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ var test = function (value, config) {
|
|
|
14
14
|
var lines = value ? value.split(lineEnding) : [];
|
|
15
15
|
var diagnostics = [];
|
|
16
16
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
17
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || Severity_1.Severity.Warning;
|
|
17
18
|
macros
|
|
18
19
|
.filter(function (m) { return !!m.parentMacro; })
|
|
19
20
|
.forEach(function (macro) {
|
|
@@ -26,7 +27,7 @@ var test = function (value, config) {
|
|
|
26
27
|
endColumnNumber: getColumnNumber_1.getColumnNumber(lines[macro.startLineNumbers[0] - 1], '%macro') +
|
|
27
28
|
lines[macro.startLineNumbers[0] - 1].trim().length -
|
|
28
29
|
1,
|
|
29
|
-
severity:
|
|
30
|
+
severity: severity
|
|
30
31
|
});
|
|
31
32
|
});
|
|
32
33
|
return diagnostics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noNestedMacros.js","sourceRoot":"","sources":["../../../src/rules/file/noNestedMacros.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAErD,uDAAqD;AAErD,IAAM,IAAI,GAAG,gBAAgB,CAAA;AAC7B,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,4DAA4D,CAAA;
|
|
1
|
+
{"version":3,"file":"noNestedMacros.js","sourceRoot":"","sources":["../../../src/rules/file/noNestedMacros.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAC/C,+DAA6D;AAC7D,uDAAqD;AAErD,uDAAqD;AAErD,IAAM,IAAI,GAAG,gBAAgB,CAAA;AAC7B,IAAM,WAAW,GAAG,kDAAkD,CAAA;AACtE,IAAM,OAAO,GAAG,4DAA4D,CAAA;AAE5E,IAAM,IAAI,GAAG,UAAC,KAAa,EAAE,MAAmB;IAC9C,IAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,MAAK,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,IAAM,KAAK,GAAa,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5D,IAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,IAAM,MAAM,GAAG,yBAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC,KAAI,mBAAQ,CAAC,OAAO,CAAA;IAEhE,MAAM;SACH,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,WAAW,EAAf,CAAe,CAAC;SAC9B,OAAO,CAAC,UAAC,KAAK;QACb,WAAW,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,OAAO;iBACb,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;iBAC9B,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC;YACzC,UAAU,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAW;YAChD,iBAAiB,EAAE,iCAAe,CAChC,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;YACD,eAAe,EACb,iCAAe,CACb,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,EACjD,QAAQ,CACT;gBACD,KAAK,CAAE,KAAK,CAAC,gBAAiB,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM;gBAC/D,CAAC;YACH,QAAQ,UAAA;SACT,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACJ,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,cAAc,GAAiB;IAC1C,IAAI,EAAE,2BAAY,CAAC,IAAI;IACvB,IAAI,MAAA;IACJ,WAAW,aAAA;IACX,OAAO,SAAA;IACP,IAAI,MAAA;CACL,CAAA"}
|
|
@@ -21,8 +21,9 @@ var validOptions = [
|
|
|
21
21
|
'SRC',
|
|
22
22
|
'STORE'
|
|
23
23
|
];
|
|
24
|
-
var processParams = function (content, macro, diagnostics) {
|
|
24
|
+
var processParams = function (content, macro, diagnostics, config) {
|
|
25
25
|
var declaration = macro.declaration;
|
|
26
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
|
|
26
27
|
var regExpParams = new RegExp(/(?<=\().*(?=\))/);
|
|
27
28
|
var regExpParamsResult = regExpParams.exec(declaration);
|
|
28
29
|
var _declaration = declaration;
|
|
@@ -68,7 +69,7 @@ var processParams = function (content, macro, diagnostics) {
|
|
|
68
69
|
lineNumber: paramLineNumber,
|
|
69
70
|
startColumnNumber: paramStartIndex + 1,
|
|
70
71
|
endColumnNumber: paramEndIndex,
|
|
71
|
-
severity:
|
|
72
|
+
severity: severity
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
});
|
|
@@ -76,9 +77,10 @@ var processParams = function (content, macro, diagnostics) {
|
|
|
76
77
|
}
|
|
77
78
|
return _declaration;
|
|
78
79
|
};
|
|
79
|
-
var processOptions = function (_declaration, macro, diagnostics) {
|
|
80
|
+
var processOptions = function (_declaration, macro, diagnostics, config) {
|
|
80
81
|
var _a, _b, _c;
|
|
81
82
|
var optionsPresent = (_b = (_a = _declaration.split('/')) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim();
|
|
83
|
+
var severity = (config === null || config === void 0 ? void 0 : config.severityLevel[name]) || types_1.Severity.Warning;
|
|
82
84
|
if (optionsPresent) {
|
|
83
85
|
var regex = new RegExp(/="(.*?)"/, 'g');
|
|
84
86
|
var result = regex.exec(optionsPresent);
|
|
@@ -100,7 +102,7 @@ var processOptions = function (_declaration, macro, diagnostics) {
|
|
|
100
102
|
lineNumber: macro.startLineNumbers[declarationLineIndex],
|
|
101
103
|
startColumnNumber: declarationLine.indexOf(trimmedOption) + 1,
|
|
102
104
|
endColumnNumber: declarationLine.indexOf(trimmedOption) + trimmedOption.length,
|
|
103
|
-
severity:
|
|
105
|
+
severity: severity
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
108
|
});
|
|
@@ -110,8 +112,8 @@ var test = function (value, config) {
|
|
|
110
112
|
var diagnostics = [];
|
|
111
113
|
var macros = parseMacros_1.parseMacros(value, config);
|
|
112
114
|
macros.forEach(function (macro) {
|
|
113
|
-
var _declaration = processParams(value, macro, diagnostics);
|
|
114
|
-
processOptions(_declaration, macro, diagnostics);
|
|
115
|
+
var _declaration = processParams(value, macro, diagnostics, config);
|
|
116
|
+
processOptions(_declaration, macro, diagnostics, config);
|
|
115
117
|
});
|
|
116
118
|
return diagnostics;
|
|
117
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strictMacroDefinition.js","sourceRoot":"","sources":["../../../src/rules/file/strictMacroDefinition.ts"],"names":[],"mappings":";;;AAAA,qCAAqE;AAErE,yDAAuD;AACvD,uDAAqD;AAErD,IAAM,IAAI,GAAG,uBAAuB,CAAA;AACpC,IAAM,WAAW,GAAG,oDAAoD,CAAA;AACxE,IAAM,OAAO,GAAG,mCAAmC,CAAA;AAEnD,IAAM,YAAY,GAAG;IACnB,KAAK;IACL,KAAK;IACL,cAAc;IACd,aAAa;IACb,eAAe;IACf,UAAU;IACV,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;CACR,CAAA;AAED,IAAM,aAAa,GAAG,UACpB,OAAe,EACf,KAAY,EACZ,WAAyB;
|
|
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:
|
|
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;
|
|
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"}
|
|
@@ -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:
|
|
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;
|
|
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:
|
|
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":";;;
|
|
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"}
|
|
@@ -6,7 +6,8 @@ var Severity_1 = require("../../types/Severity");
|
|
|
6
6
|
var name = 'noTabs';
|
|
7
7
|
var description = 'Disallow indenting with tabs.';
|
|
8
8
|
var message = 'Line is indented with a tab';
|
|
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
|
if (!value.startsWith('\t'))
|
|
11
12
|
return [];
|
|
12
13
|
return [
|
|
@@ -15,7 +16,7 @@ var test = function (value, lineNumber) {
|
|
|
15
16
|
lineNumber: lineNumber,
|
|
16
17
|
startColumnNumber: 1,
|
|
17
18
|
endColumnNumber: 1,
|
|
18
|
-
severity:
|
|
19
|
+
severity: severity
|
|
19
20
|
}
|
|
20
21
|
];
|
|
21
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noTabIndentation.js","sourceRoot":"","sources":["../../../src/rules/line/noTabIndentation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"noTabIndentation.js","sourceRoot":"","sources":["../../../src/rules/line/noTabIndentation.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,iDAA+C;AAE/C,IAAM,IAAI,GAAG,QAAQ,CAAA;AACrB,IAAM,WAAW,GAAG,+BAA+B,CAAA;AACnD,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,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,OAAO;QACL;YACE,OAAO,SAAA;YACP,UAAU,YAAA;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,QAAQ,UAAA;SACT;KACF,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAiB;IAC5C,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:
|
|
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":";;;
|
|
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:
|
|
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;
|
|
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:
|
|
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;
|
|
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"}
|
package/sasjslint-schema.json
CHANGED
|
@@ -159,6 +159,115 @@
|
|
|
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
|
+
"hasDoxygenHeader": "warn",
|
|
171
|
+
"maxLineLength": "warn",
|
|
172
|
+
"noTrailingSpaces": "error"
|
|
173
|
+
}, {
|
|
174
|
+
"hasDoxygenHeader": "warn",
|
|
175
|
+
"maxLineLength": "error",
|
|
176
|
+
"noTrailingSpaces": "error"
|
|
177
|
+
}],
|
|
178
|
+
"properties": {
|
|
179
|
+
"noEncodedPasswords": {
|
|
180
|
+
"$id": "#/properties/severityLevel/noEncodedPasswords",
|
|
181
|
+
"title": "noEncodedPasswords",
|
|
182
|
+
"type": "string",
|
|
183
|
+
"enum": ["error", "warn"],
|
|
184
|
+
"default": "error"
|
|
185
|
+
},
|
|
186
|
+
"hasDoxygenHeader": {
|
|
187
|
+
"$id": "#/properties/severityLevel/hasDoxygenHeader",
|
|
188
|
+
"title": "hasDoxygenHeader",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"enum": ["error", "warn"],
|
|
191
|
+
"default": "warn" },
|
|
192
|
+
"hasMacroNameInMend": {
|
|
193
|
+
"$id": "#/properties/severityLevel/hasMacroNameInMend",
|
|
194
|
+
"title": "hasMacroNameInMend",
|
|
195
|
+
"type": "string",
|
|
196
|
+
"enum": ["error", "warn"],
|
|
197
|
+
"default": "warn"
|
|
198
|
+
},
|
|
199
|
+
"hasMacroParentheses": {
|
|
200
|
+
"$id": "#/properties/severityLevel/hasMacroParentheses",
|
|
201
|
+
"title": "hasMacroParentheses",
|
|
202
|
+
"type": "string",
|
|
203
|
+
"enum": ["error", "warn"],
|
|
204
|
+
"default": "warn"
|
|
205
|
+
},
|
|
206
|
+
"indentationMultiple": {
|
|
207
|
+
"$id": "#/properties/severityLevel/indentationMultiple",
|
|
208
|
+
"title": "indentationMultiple",
|
|
209
|
+
"type": "string",
|
|
210
|
+
"enum": ["error", "warn"],
|
|
211
|
+
"default": "warn"
|
|
212
|
+
},
|
|
213
|
+
"lowerCaseFileNames": {
|
|
214
|
+
"$id": "#/properties/severityLevel/lowerCaseFileNames",
|
|
215
|
+
"title": "lowerCaseFileNames",
|
|
216
|
+
"type": "string",
|
|
217
|
+
"enum": ["error", "warn"],
|
|
218
|
+
"default": "warn"
|
|
219
|
+
},
|
|
220
|
+
"maxLineLength": {
|
|
221
|
+
"$id": "#/properties/severityLevel/maxLineLength",
|
|
222
|
+
"title": "maxLineLength",
|
|
223
|
+
"type": "string",
|
|
224
|
+
"enum": ["error", "warn"],
|
|
225
|
+
"default": "warn"
|
|
226
|
+
},
|
|
227
|
+
"noNestedMacros": {
|
|
228
|
+
"$id": "#/properties/severityLevel/noNestedMacros",
|
|
229
|
+
"title": "noNestedMacros",
|
|
230
|
+
"type": "string",
|
|
231
|
+
"enum": ["error", "warn"],
|
|
232
|
+
"default": "warn"
|
|
233
|
+
},
|
|
234
|
+
"noSpacesInFileNames": {
|
|
235
|
+
"$id": "#/properties/severityLevel/noSpacesInFileNames",
|
|
236
|
+
"title": "noSpacesInFileNames",
|
|
237
|
+
"type": "string",
|
|
238
|
+
"enum": ["error", "warn"],
|
|
239
|
+
"default": "warn"
|
|
240
|
+
},
|
|
241
|
+
"noTabIndentation": {
|
|
242
|
+
"$id": "#/properties/severityLevel/noTabIndentation",
|
|
243
|
+
"title": "noTabIndentation",
|
|
244
|
+
"type": "string",
|
|
245
|
+
"enum": ["error", "warn"],
|
|
246
|
+
"default": "warn"
|
|
247
|
+
},
|
|
248
|
+
"noTrailingSpaces": {
|
|
249
|
+
"$id": "#/properties/severityLevel/noTrailingSpaces",
|
|
250
|
+
"title": "noTrailingSpaces",
|
|
251
|
+
"type": "string",
|
|
252
|
+
"enum": ["error", "warn"],
|
|
253
|
+
"default": "warn"
|
|
254
|
+
},
|
|
255
|
+
"lineEndings": {
|
|
256
|
+
"$id": "#/properties/severityLevel/lineEndings",
|
|
257
|
+
"title": "lineEndings",
|
|
258
|
+
"type": "string",
|
|
259
|
+
"enum": ["error", "warn"],
|
|
260
|
+
"default": "warn"
|
|
261
|
+
},
|
|
262
|
+
"strictMacroDefinition": {
|
|
263
|
+
"$id": "#/properties/severityLevel/strictMacroDefinition",
|
|
264
|
+
"title": "strictMacroDefinition",
|
|
265
|
+
"type": "string",
|
|
266
|
+
"enum": ["error", "warn"],
|
|
267
|
+
"default": "warn"
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
162
271
|
}
|
|
163
272
|
}
|
|
164
273
|
}
|
package/types/LintConfig.d.ts
CHANGED
|
@@ -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
|
}
|
package/types/LintConfig.js
CHANGED
|
@@ -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) {
|
|
@@ -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
|
}());
|
package/types/LintConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LintConfig.js","sourceRoot":"","sources":["../../src/types/LintConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LintConfig.js","sourceRoot":"","sources":["../../src/types/LintConfig.ts"],"names":[],"mappings":"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"}
|
package/types/LintRule.d.ts
CHANGED